drugflow-molstar 0.3.77 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/build/drugflow-molstar-0.4.1.css +1 -0
  2. package/build/drugflow-molstar-component-0.4.1.js +25 -0
  3. package/build/drugflow-molstar-plugin-0.4.1.js +2 -0
  4. package/build/drugflow-molstar-plugin-0.4.1.js.LICENSE.txt +64 -0
  5. package/lib/alphafold-transparency.js +58 -125
  6. package/lib/contact.d.ts +15 -6
  7. package/lib/contact.js +71 -66
  8. package/lib/custom-events.js +16 -16
  9. package/lib/domain-annotations/behavior.js +20 -24
  10. package/lib/domain-annotations/color.d.ts +1 -1
  11. package/lib/domain-annotations/color.js +23 -22
  12. package/lib/domain-annotations/prop.d.ts +3 -3
  13. package/lib/domain-annotations/prop.js +54 -76
  14. package/lib/drugflow-molstar-component-build-0.3.78.js +2 -0
  15. package/lib/drugflow-molstar-component-build-0.4.1.js +2 -0
  16. package/lib/helpers.d.ts +4 -4
  17. package/lib/helpers.js +94 -99
  18. package/lib/index.js +1785 -2608
  19. package/lib/labels.d.ts +1 -1
  20. package/lib/labels.js +20 -23
  21. package/lib/loci-details.d.ts +2 -2
  22. package/lib/loci-details.js +26 -29
  23. package/lib/sifts-mapping.js +30 -34
  24. package/lib/sifts-mappings-behaviour.js +26 -30
  25. package/lib/spec.d.ts +1 -1
  26. package/lib/spec.js +50 -38
  27. package/lib/structure_contact3d.d.ts +13 -4
  28. package/lib/structure_contact3d.js +25 -46
  29. package/lib/subscribe-events.js +17 -17
  30. package/lib/superposition-export.js +100 -144
  31. package/lib/superposition-focus-representation.d.ts +1 -1
  32. package/lib/superposition-focus-representation.js +74 -112
  33. package/lib/superposition-sifts-mapping.d.ts +1 -1
  34. package/lib/superposition-sifts-mapping.js +56 -62
  35. package/lib/superposition.d.ts +2 -2
  36. package/lib/superposition.js +490 -726
  37. package/lib/ui/alphafold-superposition.d.ts +8 -9
  38. package/lib/ui/alphafold-superposition.js +96 -120
  39. package/lib/ui/alphafold-tranparency.d.ts +1 -2
  40. package/lib/ui/alphafold-tranparency.js +27 -43
  41. package/lib/ui/annotation-controls.d.ts +2 -3
  42. package/lib/ui/annotation-controls.js +81 -87
  43. package/lib/ui/export-superposition.js +33 -51
  44. package/lib/ui/pdbe-left-panel.d.ts +3 -3
  45. package/lib/ui/pdbe-left-panel.js +82 -106
  46. package/lib/ui/pdbe-screenshot-controls.d.ts +1 -1
  47. package/lib/ui/pdbe-screenshot-controls.js +54 -83
  48. package/lib/ui/pdbe-structure-controls.d.ts +4 -5
  49. package/lib/ui/pdbe-structure-controls.js +34 -57
  50. package/lib/ui/pdbe-viewport-controls.d.ts +1 -2
  51. package/lib/ui/pdbe-viewport-controls.js +23 -29
  52. package/lib/ui/segment-tree.d.ts +1 -2
  53. package/lib/ui/segment-tree.js +438 -590
  54. package/lib/ui/superposition-components.d.ts +1 -2
  55. package/lib/ui/superposition-components.js +196 -266
  56. package/lib/ui/superposition-viewport.d.ts +1 -2
  57. package/lib/ui/superposition-viewport.js +11 -18
  58. package/package.json +7 -4
  59. package/build/drugflow-molstar-0.3.62.css +0 -1
  60. package/build/drugflow-molstar-0.3.77.css +0 -1
  61. package/build/drugflow-molstar-component-0.3.62.js +0 -25
  62. package/build/drugflow-molstar-component-0.3.77.js +0 -25
  63. package/build/drugflow-molstar-light.css +0 -1
  64. package/build/drugflow-molstar-plugin-0.3.62.js +0 -2
  65. package/build/drugflow-molstar-plugin-0.3.62.js.LICENSE.txt +0 -39
  66. package/build/drugflow-molstar-plugin-0.3.77.js +0 -2
  67. package/build/drugflow-molstar-plugin-0.3.77.js.LICENSE.txt +0 -39
  68. package/lib/drugflow-molstar-component-build-0.1.2.js +0 -4268
  69. package/lib/drugflow-molstar-component-build-0.1.2.js.map +0 -1
  70. package/lib/drugflow-molstar-component-build-0.1.3.js +0 -2
  71. package/lib/drugflow-molstar-component-build-0.1.4.js +0 -2
  72. package/lib/drugflow-molstar-component-build-0.1.4.js.LICENSE.txt +0 -24
  73. package/lib/drugflow-molstar-component-build-0.1.5.js +0 -2
  74. package/lib/drugflow-molstar-component-build-0.1.5.js.LICENSE.txt +0 -24
  75. package/lib/drugflow-molstar-component-build-0.1.6.js +0 -2
  76. package/lib/drugflow-molstar-component-build-0.1.6.js.LICENSE.txt +0 -24
  77. package/lib/drugflow-molstar-component-build-0.2.10.js +0 -2
  78. package/lib/drugflow-molstar-component-build-0.2.10.js.LICENSE.txt +0 -24
  79. package/lib/drugflow-molstar-component-build-0.2.2.js +0 -2
  80. package/lib/drugflow-molstar-component-build-0.2.2.js.LICENSE.txt +0 -24
  81. package/lib/drugflow-molstar-component-build-0.2.3.js +0 -2
  82. package/lib/drugflow-molstar-component-build-0.2.3.js.LICENSE.txt +0 -24
  83. package/lib/drugflow-molstar-component-build-0.2.4.js +0 -2
  84. package/lib/drugflow-molstar-component-build-0.2.4.js.LICENSE.txt +0 -24
  85. package/lib/drugflow-molstar-component-build-0.2.5.js +0 -2
  86. package/lib/drugflow-molstar-component-build-0.2.5.js.LICENSE.txt +0 -24
  87. package/lib/drugflow-molstar-component-build-0.2.6.js +0 -2
  88. package/lib/drugflow-molstar-component-build-0.2.6.js.LICENSE.txt +0 -24
  89. package/lib/drugflow-molstar-component-build-0.2.7.js +0 -2
  90. package/lib/drugflow-molstar-component-build-0.2.7.js.LICENSE.txt +0 -24
  91. package/lib/drugflow-molstar-component-build-0.2.9.js +0 -2
  92. package/lib/drugflow-molstar-component-build-0.2.9.js.LICENSE.txt +0 -24
  93. package/lib/drugflow-molstar-component-build-0.3.1.js +0 -2
  94. package/lib/drugflow-molstar-component-build-0.3.1.js.LICENSE.txt +0 -24
  95. package/lib/drugflow-molstar-component-build-0.3.10.js +0 -2
  96. package/lib/drugflow-molstar-component-build-0.3.10.js.LICENSE.txt +0 -24
  97. package/lib/drugflow-molstar-component-build-0.3.11.js +0 -2
  98. package/lib/drugflow-molstar-component-build-0.3.11.js.LICENSE.txt +0 -24
  99. package/lib/drugflow-molstar-component-build-0.3.12.js +0 -2
  100. package/lib/drugflow-molstar-component-build-0.3.12.js.LICENSE.txt +0 -24
  101. package/lib/drugflow-molstar-component-build-0.3.13.js +0 -2
  102. package/lib/drugflow-molstar-component-build-0.3.13.js.LICENSE.txt +0 -24
  103. package/lib/drugflow-molstar-component-build-0.3.14.js +0 -2
  104. package/lib/drugflow-molstar-component-build-0.3.14.js.LICENSE.txt +0 -24
  105. package/lib/drugflow-molstar-component-build-0.3.15.js +0 -2
  106. package/lib/drugflow-molstar-component-build-0.3.15.js.LICENSE.txt +0 -24
  107. package/lib/drugflow-molstar-component-build-0.3.16.js +0 -2
  108. package/lib/drugflow-molstar-component-build-0.3.16.js.LICENSE.txt +0 -24
  109. package/lib/drugflow-molstar-component-build-0.3.17.js +0 -2
  110. package/lib/drugflow-molstar-component-build-0.3.17.js.LICENSE.txt +0 -24
  111. package/lib/drugflow-molstar-component-build-0.3.18.js +0 -2
  112. package/lib/drugflow-molstar-component-build-0.3.18.js.LICENSE.txt +0 -24
  113. package/lib/drugflow-molstar-component-build-0.3.19.js +0 -2
  114. package/lib/drugflow-molstar-component-build-0.3.19.js.LICENSE.txt +0 -24
  115. package/lib/drugflow-molstar-component-build-0.3.2.js +0 -2
  116. package/lib/drugflow-molstar-component-build-0.3.2.js.LICENSE.txt +0 -24
  117. package/lib/drugflow-molstar-component-build-0.3.20.js +0 -2
  118. package/lib/drugflow-molstar-component-build-0.3.20.js.LICENSE.txt +0 -24
  119. package/lib/drugflow-molstar-component-build-0.3.21.js +0 -2
  120. package/lib/drugflow-molstar-component-build-0.3.21.js.LICENSE.txt +0 -24
  121. package/lib/drugflow-molstar-component-build-0.3.22.js +0 -2
  122. package/lib/drugflow-molstar-component-build-0.3.22.js.LICENSE.txt +0 -24
  123. package/lib/drugflow-molstar-component-build-0.3.23.js +0 -2
  124. package/lib/drugflow-molstar-component-build-0.3.23.js.LICENSE.txt +0 -24
  125. package/lib/drugflow-molstar-component-build-0.3.24.js +0 -2
  126. package/lib/drugflow-molstar-component-build-0.3.24.js.LICENSE.txt +0 -24
  127. package/lib/drugflow-molstar-component-build-0.3.25.js +0 -2
  128. package/lib/drugflow-molstar-component-build-0.3.25.js.LICENSE.txt +0 -24
  129. package/lib/drugflow-molstar-component-build-0.3.26.js +0 -2
  130. package/lib/drugflow-molstar-component-build-0.3.26.js.LICENSE.txt +0 -24
  131. package/lib/drugflow-molstar-component-build-0.3.27.js +0 -2
  132. package/lib/drugflow-molstar-component-build-0.3.27.js.LICENSE.txt +0 -24
  133. package/lib/drugflow-molstar-component-build-0.3.28.js +0 -2
  134. package/lib/drugflow-molstar-component-build-0.3.28.js.LICENSE.txt +0 -24
  135. package/lib/drugflow-molstar-component-build-0.3.29.js +0 -2
  136. package/lib/drugflow-molstar-component-build-0.3.29.js.LICENSE.txt +0 -24
  137. package/lib/drugflow-molstar-component-build-0.3.3.js +0 -2
  138. package/lib/drugflow-molstar-component-build-0.3.3.js.LICENSE.txt +0 -24
  139. package/lib/drugflow-molstar-component-build-0.3.30.js +0 -2
  140. package/lib/drugflow-molstar-component-build-0.3.30.js.LICENSE.txt +0 -24
  141. package/lib/drugflow-molstar-component-build-0.3.31.js +0 -2
  142. package/lib/drugflow-molstar-component-build-0.3.31.js.LICENSE.txt +0 -24
  143. package/lib/drugflow-molstar-component-build-0.3.32.js +0 -2
  144. package/lib/drugflow-molstar-component-build-0.3.32.js.LICENSE.txt +0 -24
  145. package/lib/drugflow-molstar-component-build-0.3.33.js +0 -2
  146. package/lib/drugflow-molstar-component-build-0.3.33.js.LICENSE.txt +0 -24
  147. package/lib/drugflow-molstar-component-build-0.3.34.js +0 -2
  148. package/lib/drugflow-molstar-component-build-0.3.34.js.LICENSE.txt +0 -24
  149. package/lib/drugflow-molstar-component-build-0.3.35.js +0 -2
  150. package/lib/drugflow-molstar-component-build-0.3.35.js.LICENSE.txt +0 -24
  151. package/lib/drugflow-molstar-component-build-0.3.36.js +0 -2
  152. package/lib/drugflow-molstar-component-build-0.3.36.js.LICENSE.txt +0 -24
  153. package/lib/drugflow-molstar-component-build-0.3.37.js +0 -2
  154. package/lib/drugflow-molstar-component-build-0.3.37.js.LICENSE.txt +0 -24
  155. package/lib/drugflow-molstar-component-build-0.3.38.js +0 -2
  156. package/lib/drugflow-molstar-component-build-0.3.38.js.LICENSE.txt +0 -24
  157. package/lib/drugflow-molstar-component-build-0.3.39.js +0 -2
  158. package/lib/drugflow-molstar-component-build-0.3.39.js.LICENSE.txt +0 -24
  159. package/lib/drugflow-molstar-component-build-0.3.4.js +0 -2
  160. package/lib/drugflow-molstar-component-build-0.3.4.js.LICENSE.txt +0 -24
  161. package/lib/drugflow-molstar-component-build-0.3.40.js +0 -2
  162. package/lib/drugflow-molstar-component-build-0.3.40.js.LICENSE.txt +0 -24
  163. package/lib/drugflow-molstar-component-build-0.3.41.js +0 -2
  164. package/lib/drugflow-molstar-component-build-0.3.41.js.LICENSE.txt +0 -24
  165. package/lib/drugflow-molstar-component-build-0.3.42.js +0 -2
  166. package/lib/drugflow-molstar-component-build-0.3.42.js.LICENSE.txt +0 -24
  167. package/lib/drugflow-molstar-component-build-0.3.43.js +0 -2
  168. package/lib/drugflow-molstar-component-build-0.3.43.js.LICENSE.txt +0 -24
  169. package/lib/drugflow-molstar-component-build-0.3.44.js +0 -2
  170. package/lib/drugflow-molstar-component-build-0.3.44.js.LICENSE.txt +0 -24
  171. package/lib/drugflow-molstar-component-build-0.3.46.js +0 -2
  172. package/lib/drugflow-molstar-component-build-0.3.46.js.LICENSE.txt +0 -24
  173. package/lib/drugflow-molstar-component-build-0.3.47.js +0 -2
  174. package/lib/drugflow-molstar-component-build-0.3.47.js.LICENSE.txt +0 -24
  175. package/lib/drugflow-molstar-component-build-0.3.48.js +0 -2
  176. package/lib/drugflow-molstar-component-build-0.3.48.js.LICENSE.txt +0 -24
  177. package/lib/drugflow-molstar-component-build-0.3.49.js +0 -2
  178. package/lib/drugflow-molstar-component-build-0.3.49.js.LICENSE.txt +0 -24
  179. package/lib/drugflow-molstar-component-build-0.3.5.js +0 -2
  180. package/lib/drugflow-molstar-component-build-0.3.5.js.LICENSE.txt +0 -24
  181. package/lib/drugflow-molstar-component-build-0.3.50.js +0 -2
  182. package/lib/drugflow-molstar-component-build-0.3.50.js.LICENSE.txt +0 -24
  183. package/lib/drugflow-molstar-component-build-0.3.51.js +0 -2
  184. package/lib/drugflow-molstar-component-build-0.3.51.js.LICENSE.txt +0 -24
  185. package/lib/drugflow-molstar-component-build-0.3.52.js +0 -2
  186. package/lib/drugflow-molstar-component-build-0.3.52.js.LICENSE.txt +0 -24
  187. package/lib/drugflow-molstar-component-build-0.3.53.js +0 -2
  188. package/lib/drugflow-molstar-component-build-0.3.53.js.LICENSE.txt +0 -24
  189. package/lib/drugflow-molstar-component-build-0.3.54.js +0 -2
  190. package/lib/drugflow-molstar-component-build-0.3.54.js.LICENSE.txt +0 -24
  191. package/lib/drugflow-molstar-component-build-0.3.55.js +0 -2
  192. package/lib/drugflow-molstar-component-build-0.3.55.js.LICENSE.txt +0 -24
  193. package/lib/drugflow-molstar-component-build-0.3.56.js +0 -2
  194. package/lib/drugflow-molstar-component-build-0.3.56.js.LICENSE.txt +0 -24
  195. package/lib/drugflow-molstar-component-build-0.3.57.js +0 -2
  196. package/lib/drugflow-molstar-component-build-0.3.57.js.LICENSE.txt +0 -24
  197. package/lib/drugflow-molstar-component-build-0.3.58.js +0 -2
  198. package/lib/drugflow-molstar-component-build-0.3.58.js.LICENSE.txt +0 -24
  199. package/lib/drugflow-molstar-component-build-0.3.59.js +0 -2
  200. package/lib/drugflow-molstar-component-build-0.3.59.js.LICENSE.txt +0 -24
  201. package/lib/drugflow-molstar-component-build-0.3.6.js +0 -2
  202. package/lib/drugflow-molstar-component-build-0.3.6.js.LICENSE.txt +0 -24
  203. package/lib/drugflow-molstar-component-build-0.3.60.js +0 -2
  204. package/lib/drugflow-molstar-component-build-0.3.60.js.LICENSE.txt +0 -24
  205. package/lib/drugflow-molstar-component-build-0.3.61.js +0 -2
  206. package/lib/drugflow-molstar-component-build-0.3.61.js.LICENSE.txt +0 -24
  207. package/lib/drugflow-molstar-component-build-0.3.62.js +0 -2
  208. package/lib/drugflow-molstar-component-build-0.3.62.js.LICENSE.txt +0 -24
  209. package/lib/drugflow-molstar-component-build-0.3.63.js +0 -2
  210. package/lib/drugflow-molstar-component-build-0.3.63.js.LICENSE.txt +0 -24
  211. package/lib/drugflow-molstar-component-build-0.3.64.js +0 -2
  212. package/lib/drugflow-molstar-component-build-0.3.64.js.LICENSE.txt +0 -24
  213. package/lib/drugflow-molstar-component-build-0.3.65.js +0 -2
  214. package/lib/drugflow-molstar-component-build-0.3.65.js.LICENSE.txt +0 -24
  215. package/lib/drugflow-molstar-component-build-0.3.66.js +0 -2
  216. package/lib/drugflow-molstar-component-build-0.3.66.js.LICENSE.txt +0 -24
  217. package/lib/drugflow-molstar-component-build-0.3.67.js +0 -2
  218. package/lib/drugflow-molstar-component-build-0.3.67.js.LICENSE.txt +0 -24
  219. package/lib/drugflow-molstar-component-build-0.3.68.js +0 -2
  220. package/lib/drugflow-molstar-component-build-0.3.68.js.LICENSE.txt +0 -24
  221. package/lib/drugflow-molstar-component-build-0.3.69.js +0 -2
  222. package/lib/drugflow-molstar-component-build-0.3.69.js.LICENSE.txt +0 -24
  223. package/lib/drugflow-molstar-component-build-0.3.7.js +0 -2
  224. package/lib/drugflow-molstar-component-build-0.3.7.js.LICENSE.txt +0 -24
  225. package/lib/drugflow-molstar-component-build-0.3.70.js +0 -2
  226. package/lib/drugflow-molstar-component-build-0.3.70.js.LICENSE.txt +0 -24
  227. package/lib/drugflow-molstar-component-build-0.3.71.js +0 -2
  228. package/lib/drugflow-molstar-component-build-0.3.71.js.LICENSE.txt +0 -24
  229. package/lib/drugflow-molstar-component-build-0.3.72.js +0 -2
  230. package/lib/drugflow-molstar-component-build-0.3.72.js.LICENSE.txt +0 -24
  231. package/lib/drugflow-molstar-component-build-0.3.73.js +0 -2
  232. package/lib/drugflow-molstar-component-build-0.3.73.js.LICENSE.txt +0 -24
  233. package/lib/drugflow-molstar-component-build-0.3.74.js +0 -2
  234. package/lib/drugflow-molstar-component-build-0.3.74.js.LICENSE.txt +0 -24
  235. package/lib/drugflow-molstar-component-build-0.3.75.js +0 -2
  236. package/lib/drugflow-molstar-component-build-0.3.75.js.LICENSE.txt +0 -24
  237. package/lib/drugflow-molstar-component-build-0.3.76.js +0 -2
  238. package/lib/drugflow-molstar-component-build-0.3.76.js.LICENSE.txt +0 -24
  239. package/lib/drugflow-molstar-component-build-0.3.77.js +0 -2
  240. package/lib/drugflow-molstar-component-build-0.3.77.js.LICENSE.txt +0 -24
  241. package/lib/drugflow-molstar-component-build-0.3.8.js +0 -2
  242. package/lib/drugflow-molstar-component-build-0.3.8.js.LICENSE.txt +0 -24
  243. package/lib/drugflow-molstar-component-build-0.3.9.js +0 -2
  244. package/lib/drugflow-molstar-component-build-0.3.9.js.LICENSE.txt +0 -24
  245. package/lib/index2.d.ts +0 -1
  246. package/lib/index2.js +0 -1369
  247. package/lib/pdbe-molstar-component-build-3.1.2.js +0 -2
  248. package/lib/pdbe-molstar-component-build-3.1.2.js.LICENSE.txt +0 -24
  249. /package/lib/{drugflow-molstar-component-build-0.1.2.js.LICENSE.txt → drugflow-molstar-component-build-0.3.78.js.LICENSE.txt} +0 -0
  250. /package/lib/{drugflow-molstar-component-build-0.1.3.js.LICENSE.txt → drugflow-molstar-component-build-0.4.1.js.LICENSE.txt} +0 -0
@@ -1,61 +1,59 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AnnotationsComponentControls = exports.TextsmsOutlinedSvg = void 0;
4
- var tslib_1 = require("tslib");
5
- var jsx_runtime_1 = require("react/jsx-runtime");
6
- var common_1 = require("Molstar/mol-plugin-ui/controls/common");
7
- var base_1 = require("Molstar/mol-plugin-ui/base");
8
- var color_1 = require("Molstar/extensions/pdbe/structure-quality-report/color");
9
- var mol_state_1 = require("Molstar/mol-state");
10
- var parameters_1 = require("Molstar/mol-plugin-ui/controls/parameters");
11
- var color_2 = require("../domain-annotations/color");
12
- var behavior_1 = require("Molstar/extensions/pdbe/structure-quality-report/behavior");
13
- var behavior_2 = require("../domain-annotations/behavior");
14
- var icons_1 = require("Molstar/mol-plugin-ui/controls/icons");
15
- var hierarchy_1 = require("Molstar/mol-plugin-state/manager/structure/hierarchy");
16
- var _TextsmsOutlined = (0, jsx_runtime_1.jsxs)("svg", tslib_1.__assign({ width: '24px', height: '24px', viewBox: '0 0 24 24' }, { children: [(0, jsx_runtime_1.jsx)("path", { fill: "none", d: "M0 0h24v24H0V0z" }), (0, jsx_runtime_1.jsxs)("g", { children: [(0, jsx_runtime_1.jsx)("path", { d: "M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H6l-2 2V4h16v12z" }), (0, jsx_runtime_1.jsx)("path", { d: "M7 9h2v2H7zM11 9h2v2h-2zM15 9h2v2h-2z" })] })] }));
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const common_1 = require("Molstar/mol-plugin-ui/controls/common");
6
+ const base_1 = require("Molstar/mol-plugin-ui/base");
7
+ const color_1 = require("Molstar/extensions/pdbe/structure-quality-report/color");
8
+ const mol_state_1 = require("Molstar/mol-state");
9
+ const parameters_1 = require("Molstar/mol-plugin-ui/controls/parameters");
10
+ const color_2 = require("../domain-annotations/color");
11
+ const behavior_1 = require("Molstar/extensions/pdbe/structure-quality-report/behavior");
12
+ const behavior_2 = require("../domain-annotations/behavior");
13
+ const icons_1 = require("Molstar/mol-plugin-ui/controls/icons");
14
+ const hierarchy_1 = require("Molstar/mol-plugin-state/manager/structure/hierarchy");
15
+ const _TextsmsOutlined = (0, jsx_runtime_1.jsxs)("svg", { width: '24px', height: '24px', viewBox: '0 0 24 24', children: [(0, jsx_runtime_1.jsx)("path", { fill: "none", d: "M0 0h24v24H0V0z" }), (0, jsx_runtime_1.jsxs)("g", { children: [(0, jsx_runtime_1.jsx)("path", { d: "M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H6l-2 2V4h16v12z" }), (0, jsx_runtime_1.jsx)("path", { d: "M7 9h2v2H7zM11 9h2v2h-2zM15 9h2v2h-2z" })] })] });
17
16
  function TextsmsOutlinedSvg() { return _TextsmsOutlined; }
18
17
  exports.TextsmsOutlinedSvg = TextsmsOutlinedSvg;
19
- var AnnotationsComponentControls = /** @class */ (function (_super) {
20
- tslib_1.__extends(AnnotationsComponentControls, _super);
21
- function AnnotationsComponentControls() {
22
- var _this = _super !== null && _super.apply(this, arguments) || this;
23
- _this.state = {
18
+ class AnnotationsComponentControls extends base_1.PurePluginUIComponent {
19
+ constructor() {
20
+ super(...arguments);
21
+ this.state = {
24
22
  isCollapsed: false,
25
23
  validationApplied: false,
26
24
  domainAtnApplied: false,
27
25
  validationOptions: false,
28
26
  domainAtnOptions: false
29
27
  };
30
- _this.getOptionParams = function () {
31
- var validationAnnotationCtrl = false;
32
- var domainAnnotationCtrl = false;
33
- var customState = _this.plugin.customState;
28
+ this.getOptionParams = () => {
29
+ let validationAnnotationCtrl = false;
30
+ let domainAnnotationCtrl = false;
31
+ const customState = this.plugin.customState;
34
32
  if (customState && customState.initParams) {
35
33
  if (customState.initParams.validationAnnotation)
36
34
  validationAnnotationCtrl = true;
37
35
  if (customState.initParams.domainAnnotation)
38
36
  domainAnnotationCtrl = true;
39
37
  }
40
- if ((validationAnnotationCtrl && !_this.state.validationParams) || (domainAnnotationCtrl && !_this.state.domainAtnParams)) {
41
- var groupRef = mol_state_1.StateSelection.findTagInSubtree(_this.plugin.state.data.tree, mol_state_1.StateTransform.RootRef, 'structure-component-static-polymer');
38
+ if ((validationAnnotationCtrl && !this.state.validationParams) || (domainAnnotationCtrl && !this.state.domainAtnParams)) {
39
+ const groupRef = mol_state_1.StateSelection.findTagInSubtree(this.plugin.state.data.tree, mol_state_1.StateTransform.RootRef, 'structure-component-static-polymer');
42
40
  if (groupRef) {
43
- var struct = _this.plugin.state.data.select(groupRef)[0].obj;
41
+ const struct = this.plugin.state.data.select(groupRef)[0].obj;
44
42
  if (struct) {
45
- var themeDataCtx = { structure: struct.data };
46
- if (validationAnnotationCtrl && !_this.state.validationParams) {
47
- var validationActionsParams = color_1.StructureQualityReportColorThemeProvider.getParams(themeDataCtx);
43
+ const themeDataCtx = { structure: struct.data };
44
+ if (validationAnnotationCtrl && !this.state.validationParams) {
45
+ const validationActionsParams = color_1.StructureQualityReportColorThemeProvider.getParams(themeDataCtx);
48
46
  if (validationActionsParams) {
49
- _this.setState({ validationParams: {
47
+ this.setState({ validationParams: {
50
48
  params: validationActionsParams,
51
49
  values: { type: validationActionsParams.type.defaultValue }
52
50
  } });
53
51
  }
54
52
  }
55
- if (domainAnnotationCtrl && !_this.state.domainAtnParams) {
56
- var domainActionsParams = color_2.DomainAnnotationsColorThemeProvider.getParams(themeDataCtx);
53
+ if (domainAnnotationCtrl && !this.state.domainAtnParams) {
54
+ const domainActionsParams = color_2.DomainAnnotationsColorThemeProvider.getParams(themeDataCtx);
57
55
  if (domainActionsParams) {
58
- _this.setState({ domainAtnParams: {
56
+ this.setState({ domainAtnParams: {
59
57
  params: domainActionsParams,
60
58
  values: { type: domainActionsParams.type.defaultValue }
61
59
  } });
@@ -65,102 +63,98 @@ var AnnotationsComponentControls = /** @class */ (function (_super) {
65
63
  }
66
64
  }
67
65
  };
68
- _this.toggleCollapsed = function () {
69
- _this.setState({ isCollapsed: !_this.state.isCollapsed });
66
+ this.toggleCollapsed = () => {
67
+ this.setState({ isCollapsed: !this.state.isCollapsed });
70
68
  };
71
- _this.toggleOptions = function (type) {
69
+ this.toggleOptions = (type) => {
72
70
  if (type === 0)
73
- _this.setState({ validationOptions: !_this.state.validationOptions });
71
+ this.setState({ validationOptions: !this.state.validationOptions });
74
72
  if (type === 1)
75
- _this.setState({ domainAtnOptions: !_this.state.domainAtnOptions });
73
+ this.setState({ domainAtnOptions: !this.state.domainAtnOptions });
76
74
  };
77
- _this.applyAnnotation = function (type, visibleState, params) {
75
+ this.applyAnnotation = (type, visibleState, params) => {
78
76
  // Defaults
79
- var themeName = 'polymer-id';
80
- var themePropsToAdd = behavior_1.PDBeStructureQualityReport;
81
- var themePropsToRemove = _this.state.domainAtnParams ? behavior_2.PDBeDomainAnnotations : void 0;
77
+ let themeName = 'polymer-id';
78
+ let themePropsToAdd = behavior_1.PDBeStructureQualityReport;
79
+ let themePropsToRemove = this.state.domainAtnParams ? behavior_2.PDBeDomainAnnotations : void 0;
82
80
  // Set Theme Params
83
81
  if (type === 0) {
84
82
  if (visibleState) {
85
83
  themeName = 'pdbe-structure-quality-report';
86
84
  }
87
- _this.setState({ validationApplied: visibleState });
88
- _this.setState({ domainAtnApplied: false });
85
+ this.setState({ validationApplied: visibleState });
86
+ this.setState({ domainAtnApplied: false });
89
87
  }
90
88
  else {
91
89
  themePropsToAdd = behavior_2.PDBeDomainAnnotations;
92
- themePropsToRemove = _this.state.validationParams ? behavior_1.PDBeStructureQualityReport : void 0;
90
+ themePropsToRemove = this.state.validationParams ? behavior_1.PDBeStructureQualityReport : void 0;
93
91
  if (visibleState)
94
92
  themeName = 'pdbe-domain-annotations';
95
- _this.setState({ domainAtnApplied: visibleState });
96
- _this.setState({ validationApplied: false });
93
+ this.setState({ domainAtnApplied: visibleState });
94
+ this.setState({ validationApplied: false });
97
95
  }
98
96
  // Update Tooltip
99
97
  if (visibleState && themeName !== 'polymer-id') {
100
- var addTooltipUpdate = _this.plugin.state.behaviors.build().to(themePropsToAdd.id).update(themePropsToAdd, function (old) { old.showTooltip = true; });
101
- _this.plugin.runTask(_this.plugin.state.behaviors.updateTree(addTooltipUpdate));
98
+ const addTooltipUpdate = this.plugin.state.behaviors.build().to(themePropsToAdd.id).update(themePropsToAdd, (old) => { old.showTooltip = true; });
99
+ this.plugin.runTask(this.plugin.state.behaviors.updateTree(addTooltipUpdate));
102
100
  if (themePropsToRemove) {
103
- var removeTooltipUpdate = _this.plugin.state.behaviors.build().to(themePropsToRemove.id).update(themePropsToRemove, function (old) { old.showTooltip = false; });
104
- _this.plugin.runTask(_this.plugin.state.behaviors.updateTree(removeTooltipUpdate));
101
+ const removeTooltipUpdate = this.plugin.state.behaviors.build().to(themePropsToRemove.id).update(themePropsToRemove, (old) => { old.showTooltip = false; });
102
+ this.plugin.runTask(this.plugin.state.behaviors.updateTree(removeTooltipUpdate));
105
103
  }
106
104
  }
107
- var polymerGroup;
108
- var componentGroups = _this.plugin.managers.structure.hierarchy.currentComponentGroups;
109
- componentGroups.forEach(function (compGrp) {
105
+ let polymerGroup;
106
+ const componentGroups = this.plugin.managers.structure.hierarchy.currentComponentGroups;
107
+ componentGroups.forEach((compGrp) => {
110
108
  if (compGrp[0].key === 'structure-component-static-polymer')
111
109
  polymerGroup = compGrp;
112
110
  });
113
111
  if (polymerGroup) {
114
- _this.plugin.managers.structure.component.updateRepresentationsTheme(polymerGroup, { color: themeName, colorParams: params ? params : void 0 });
112
+ this.plugin.managers.structure.component.updateRepresentationsTheme(polymerGroup, { color: themeName, colorParams: params ? params : void 0 });
115
113
  }
116
114
  };
117
- _this.initApplyAnnotation = function (type) {
115
+ this.initApplyAnnotation = (type) => {
118
116
  if (type === 0)
119
- _this.applyAnnotation(0, !_this.state.validationApplied, _this.state.validationParams.values);
117
+ this.applyAnnotation(0, !this.state.validationApplied, this.state.validationParams.values);
120
118
  if (type === 1)
121
- _this.applyAnnotation(1, !_this.state.domainAtnApplied, _this.state.domainAtnParams.values);
119
+ this.applyAnnotation(1, !this.state.domainAtnApplied, this.state.domainAtnParams.values);
122
120
  };
123
- _this.updateValidationParams = function (val) {
124
- var updatedParams = tslib_1.__assign({}, _this.state.validationParams);
121
+ this.updateValidationParams = (val) => {
122
+ const updatedParams = { ...this.state.validationParams };
125
123
  updatedParams.values = val;
126
- _this.setState({ validationParams: updatedParams });
127
- if (_this.state.validationApplied)
128
- _this.applyAnnotation(0, _this.state.validationApplied, val);
124
+ this.setState({ validationParams: updatedParams });
125
+ if (this.state.validationApplied)
126
+ this.applyAnnotation(0, this.state.validationApplied, val);
129
127
  };
130
- _this.updateDomainAtnParams = function (val) {
131
- var updatedParams = tslib_1.__assign({}, _this.state.domainAtnParams);
128
+ this.updateDomainAtnParams = (val) => {
129
+ const updatedParams = { ...this.state.domainAtnParams };
132
130
  updatedParams.values = val;
133
- _this.setState({ domainAtnParams: updatedParams });
134
- if (_this.state.domainAtnApplied)
135
- _this.applyAnnotation(1, _this.state.domainAtnApplied, val);
131
+ this.setState({ domainAtnParams: updatedParams });
132
+ if (this.state.domainAtnApplied)
133
+ this.applyAnnotation(1, this.state.domainAtnApplied, val);
136
134
  };
137
- return _this;
138
135
  }
139
- AnnotationsComponentControls.prototype.componentDidMount = function () {
140
- var _this = this;
141
- this.subscribe(this.plugin.managers.structure.hierarchy.behaviors.selection, function () {
142
- _this.getOptionParams();
143
- _this.forceUpdate();
136
+ componentDidMount() {
137
+ this.subscribe(this.plugin.managers.structure.hierarchy.behaviors.selection, () => {
138
+ this.getOptionParams();
139
+ this.forceUpdate();
144
140
  });
145
- this.subscribe(this.plugin.managers.structure.hierarchy.behaviors.selection, function (c) { return _this.setState({
146
- description: hierarchy_1.StructureHierarchyManager.getSelectedStructuresDescription(_this.plugin)
147
- }); });
148
- };
149
- AnnotationsComponentControls.prototype.render = function () {
150
- var _this = this;
141
+ this.subscribe(this.plugin.managers.structure.hierarchy.behaviors.selection, c => this.setState({
142
+ description: hierarchy_1.StructureHierarchyManager.getSelectedStructuresDescription(this.plugin)
143
+ }));
144
+ }
145
+ render() {
151
146
  if (!this.state.validationParams && !this.state.domainAtnParams)
152
147
  return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
153
- var brand = {
148
+ const brand = {
154
149
  accent: 'green',
155
150
  svg: TextsmsOutlinedSvg
156
151
  };
157
- var wrapClass = this.state.isCollapsed
152
+ const wrapClass = this.state.isCollapsed
158
153
  ? 'msp-transform-wrapper msp-transform-wrapper-collapsed'
159
154
  : 'msp-transform-wrapper';
160
- return (0, jsx_runtime_1.jsxs)("div", tslib_1.__assign({ className: wrapClass }, { children: [(0, jsx_runtime_1.jsx)("div", tslib_1.__assign({ className: 'msp-transform-header' }, { children: (0, jsx_runtime_1.jsxs)(common_1.Button, tslib_1.__assign({ icon: brand ? void 0 : this.state.isCollapsed ? icons_1.ArrowRightSvg : icons_1.ArrowDropDownSvg, noOverflow: true, onClick: this.toggleCollapsed, className: brand ? "msp-transform-header-brand msp-transform-header-brand-".concat(brand.accent) : void 0, title: "Click to ".concat(this.state.isCollapsed ? 'expand' : 'collapse') }, { children: [(0, jsx_runtime_1.jsx)(icons_1.Icon, { svg: brand === null || brand === void 0 ? void 0 : brand.svg, inline: true }), "Annotations", (0, jsx_runtime_1.jsx)("small", tslib_1.__assign({ style: { margin: '0 6px' } }, { children: this.state.isCollapsed ? '' : this.state.description }))] })) })), !this.state.isCollapsed && this.state.validationParams &&
161
- (0, jsx_runtime_1.jsxs)("div", tslib_1.__assign({ className: 'msp-flex-row' }, { children: [(0, jsx_runtime_1.jsx)(common_1.Button, tslib_1.__assign({ noOverflow: true, className: 'msp-control-button-label', title: "Validation Report Annotations.", style: { textAlign: 'left' } }, { children: "Validation Report" })), (0, jsx_runtime_1.jsx)(common_1.IconButton, { onClick: function () { return _this.initApplyAnnotation(0); }, toggleState: false, svg: !this.state.validationApplied ? icons_1.VisibilityOffOutlinedSvg : icons_1.VisibilityOutlinedSvg, title: "Click to ".concat(this.state.validationApplied ? 'Hide' : 'Show', " Validation Report Annotation"), small: true, className: 'msp-form-control', flex: true }), (0, jsx_runtime_1.jsx)(common_1.IconButton, { onClick: function () { return _this.toggleOptions(0); }, svg: icons_1.MoreHorizSvg, title: 'Actions', toggleState: this.state.validationOptions, className: 'msp-form-control', flex: true })] })), !this.state.isCollapsed && this.state.validationParams && this.state.validationOptions && (0, jsx_runtime_1.jsx)("div", tslib_1.__assign({ style: { marginBottom: '6px' } }, { children: (0, jsx_runtime_1.jsx)("div", tslib_1.__assign({ className: "msp-accent-offset" }, { children: (0, jsx_runtime_1.jsx)("div", tslib_1.__assign({ className: 'msp-representation-entry' }, { children: (0, jsx_runtime_1.jsx)(parameters_1.ParameterControls, { params: this.state.validationParams.params, values: this.state.validationParams.values, onChangeValues: this.updateValidationParams }) })) })) })), !this.state.isCollapsed && this.state.domainAtnParams &&
162
- (0, jsx_runtime_1.jsxs)("div", tslib_1.__assign({ className: 'msp-flex-row' }, { children: [(0, jsx_runtime_1.jsx)(common_1.Button, tslib_1.__assign({ noOverflow: true, className: 'msp-control-button-label', title: "Domain Annotations.", style: { textAlign: 'left' } }, { children: "Domains" })), (0, jsx_runtime_1.jsx)(common_1.IconButton, { onClick: function () { return _this.initApplyAnnotation(1); }, toggleState: false, svg: !this.state.domainAtnApplied ? icons_1.VisibilityOffOutlinedSvg : icons_1.VisibilityOutlinedSvg, title: "Click to ".concat(this.state.domainAtnApplied ? 'Hide' : 'Show', " Domain Annotation"), small: true, className: 'msp-form-control', flex: true }), (0, jsx_runtime_1.jsx)(common_1.IconButton, { onClick: function () { return _this.toggleOptions(1); }, svg: icons_1.MoreHorizSvg, title: 'Actions', toggleState: this.state.domainAtnOptions, className: 'msp-form-control', flex: true })] })), !this.state.isCollapsed && this.state.domainAtnParams && this.state.domainAtnOptions && (0, jsx_runtime_1.jsx)("div", tslib_1.__assign({ style: { marginBottom: '6px' } }, { children: (0, jsx_runtime_1.jsx)("div", tslib_1.__assign({ className: "msp-accent-offset" }, { children: (0, jsx_runtime_1.jsx)("div", tslib_1.__assign({ className: 'msp-representation-entry' }, { children: (0, jsx_runtime_1.jsx)(parameters_1.ParameterControls, { params: this.state.domainAtnParams.params, values: this.state.domainAtnParams.values, onChangeValues: this.updateDomainAtnParams }) })) })) }))] }));
163
- };
164
- return AnnotationsComponentControls;
165
- }(base_1.PurePluginUIComponent));
155
+ return (0, jsx_runtime_1.jsxs)("div", { className: wrapClass, children: [(0, jsx_runtime_1.jsx)("div", { className: 'msp-transform-header', children: (0, jsx_runtime_1.jsxs)(common_1.Button, { icon: brand ? void 0 : this.state.isCollapsed ? icons_1.ArrowRightSvg : icons_1.ArrowDropDownSvg, noOverflow: true, onClick: this.toggleCollapsed, className: brand ? `msp-transform-header-brand msp-transform-header-brand-${brand.accent}` : void 0, title: `Click to ${this.state.isCollapsed ? 'expand' : 'collapse'}`, children: [(0, jsx_runtime_1.jsx)(icons_1.Icon, { svg: brand?.svg, inline: true }), "Annotations", (0, jsx_runtime_1.jsx)("small", { style: { margin: '0 6px' }, children: this.state.isCollapsed ? '' : this.state.description })] }) }), !this.state.isCollapsed && this.state.validationParams &&
156
+ (0, jsx_runtime_1.jsxs)("div", { className: 'msp-flex-row', children: [(0, jsx_runtime_1.jsx)(common_1.Button, { noOverflow: true, className: 'msp-control-button-label', title: `Validation Report Annotations.`, style: { textAlign: 'left' }, children: "Validation Report" }), (0, jsx_runtime_1.jsx)(common_1.IconButton, { onClick: () => this.initApplyAnnotation(0), toggleState: false, svg: !this.state.validationApplied ? icons_1.VisibilityOffOutlinedSvg : icons_1.VisibilityOutlinedSvg, title: `Click to ${this.state.validationApplied ? 'Hide' : 'Show'} Validation Report Annotation`, small: true, className: 'msp-form-control', flex: true }), (0, jsx_runtime_1.jsx)(common_1.IconButton, { onClick: () => this.toggleOptions(0), svg: icons_1.MoreHorizSvg, title: 'Actions', toggleState: this.state.validationOptions, className: 'msp-form-control', flex: true })] }), !this.state.isCollapsed && this.state.validationParams && this.state.validationOptions && (0, jsx_runtime_1.jsx)("div", { style: { marginBottom: '6px' }, children: (0, jsx_runtime_1.jsx)("div", { className: "msp-accent-offset", children: (0, jsx_runtime_1.jsx)("div", { className: 'msp-representation-entry', children: (0, jsx_runtime_1.jsx)(parameters_1.ParameterControls, { params: this.state.validationParams.params, values: this.state.validationParams.values, onChangeValues: this.updateValidationParams }) }) }) }), !this.state.isCollapsed && this.state.domainAtnParams &&
157
+ (0, jsx_runtime_1.jsxs)("div", { className: 'msp-flex-row', children: [(0, jsx_runtime_1.jsx)(common_1.Button, { noOverflow: true, className: 'msp-control-button-label', title: `Domain Annotations.`, style: { textAlign: 'left' }, children: "Domains" }), (0, jsx_runtime_1.jsx)(common_1.IconButton, { onClick: () => this.initApplyAnnotation(1), toggleState: false, svg: !this.state.domainAtnApplied ? icons_1.VisibilityOffOutlinedSvg : icons_1.VisibilityOutlinedSvg, title: `Click to ${this.state.domainAtnApplied ? 'Hide' : 'Show'} Domain Annotation`, small: true, className: 'msp-form-control', flex: true }), (0, jsx_runtime_1.jsx)(common_1.IconButton, { onClick: () => this.toggleOptions(1), svg: icons_1.MoreHorizSvg, title: 'Actions', toggleState: this.state.domainAtnOptions, className: 'msp-form-control', flex: true })] }), !this.state.isCollapsed && this.state.domainAtnParams && this.state.domainAtnOptions && (0, jsx_runtime_1.jsx)("div", { style: { marginBottom: '6px' }, children: (0, jsx_runtime_1.jsx)("div", { className: "msp-accent-offset", children: (0, jsx_runtime_1.jsx)("div", { className: 'msp-representation-entry', children: (0, jsx_runtime_1.jsx)(parameters_1.ParameterControls, { params: this.state.domainAtnParams.params, values: this.state.domainAtnParams.values, onChangeValues: this.updateDomainAtnParams }) }) }) })] });
158
+ }
159
+ }
166
160
  exports.AnnotationsComponentControls = AnnotationsComponentControls;
@@ -1,71 +1,53 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SuperpositionModelExportUI = void 0;
4
- var tslib_1 = require("tslib");
5
- var jsx_runtime_1 = require("react/jsx-runtime");
6
- var react_1 = require("react");
7
- var base_1 = require("Molstar/mol-plugin-ui/base");
8
- var common_1 = require("Molstar/mol-plugin-ui/controls/common");
9
- var icons_1 = require("Molstar/mol-plugin-ui/controls/icons");
10
- var parameters_1 = require("Molstar/mol-plugin-ui/controls/parameters");
11
- var use_behavior_1 = require("Molstar/mol-plugin-ui/hooks/use-behavior");
12
- var param_definition_1 = require("Molstar/mol-util/param-definition");
13
- var superposition_export_1 = require("../superposition-export");
14
- var SuperpositionModelExportUI = /** @class */ (function (_super) {
15
- tslib_1.__extends(SuperpositionModelExportUI, _super);
16
- function SuperpositionModelExportUI() {
17
- return _super !== null && _super.apply(this, arguments) || this;
18
- }
19
- SuperpositionModelExportUI.prototype.defaultState = function () {
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const base_1 = require("Molstar/mol-plugin-ui/base");
7
+ const common_1 = require("Molstar/mol-plugin-ui/controls/common");
8
+ const icons_1 = require("Molstar/mol-plugin-ui/controls/icons");
9
+ const parameters_1 = require("Molstar/mol-plugin-ui/controls/parameters");
10
+ const use_behavior_1 = require("Molstar/mol-plugin-ui/hooks/use-behavior");
11
+ const param_definition_1 = require("Molstar/mol-util/param-definition");
12
+ const superposition_export_1 = require("../superposition-export");
13
+ class SuperpositionModelExportUI extends base_1.CollapsableControls {
14
+ defaultState() {
20
15
  return {
21
16
  header: 'Export Models',
22
17
  isCollapsed: true,
23
18
  brand: { accent: 'cyan', svg: icons_1.GetAppSvg }
24
19
  };
25
- };
26
- SuperpositionModelExportUI.prototype.renderControls = function () {
20
+ }
21
+ renderControls() {
27
22
  return (0, jsx_runtime_1.jsx)(SuperpositionExportControls, { plugin: this.plugin });
28
- };
29
- return SuperpositionModelExportUI;
30
- }(base_1.CollapsableControls));
23
+ }
24
+ }
31
25
  exports.SuperpositionModelExportUI = SuperpositionModelExportUI;
32
- var Params = {
26
+ const Params = {
33
27
  format: param_definition_1.ParamDefinition.Select('cif', [['cif', 'mmCIF'], ['bcif', 'Binary mmCIF']])
34
28
  };
35
- var DefaultParams = param_definition_1.ParamDefinition.getDefaultValues(Params);
36
- function SuperpositionExportControls(_a) {
37
- var _this = this;
38
- var plugin = _a.plugin;
39
- var _b = (0, react_1.useState)(DefaultParams), params = _b[0], setParams = _b[1];
40
- var _c = (0, react_1.useState)(false), exporting = _c[0], setExporting = _c[1];
29
+ const DefaultParams = param_definition_1.ParamDefinition.getDefaultValues(Params);
30
+ function SuperpositionExportControls({ plugin }) {
31
+ const [params, setParams] = (0, react_1.useState)(DefaultParams);
32
+ const [exporting, setExporting] = (0, react_1.useState)(false);
41
33
  (0, use_behavior_1.useBehavior)(plugin.managers.structure.hierarchy.behaviors.selection); // triggers UI update
42
- var isBusy = (0, use_behavior_1.useBehavior)(plugin.behaviors.state.isBusy);
43
- var hierarchy = plugin.managers.structure.hierarchy.current;
44
- var label = 'Nothing to Export';
34
+ const isBusy = (0, use_behavior_1.useBehavior)(plugin.behaviors.state.isBusy);
35
+ const hierarchy = plugin.managers.structure.hierarchy.current;
36
+ let label = 'Nothing to Export';
45
37
  if (hierarchy.structures.length === 1) {
46
38
  label = 'Export';
47
39
  }
48
40
  if (hierarchy.structures.length > 1) {
49
41
  label = 'Export (as ZIP)';
50
42
  }
51
- var onExport = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
52
- return tslib_1.__generator(this, function (_a) {
53
- switch (_a.label) {
54
- case 0:
55
- setExporting(true);
56
- _a.label = 1;
57
- case 1:
58
- _a.trys.push([1, , 3, 4]);
59
- return [4 /*yield*/, (0, superposition_export_1.superpositionExportHierarchy)(plugin, { format: params.format })];
60
- case 2:
61
- _a.sent();
62
- return [3 /*break*/, 4];
63
- case 3:
64
- setExporting(false);
65
- return [7 /*endfinally*/];
66
- case 4: return [2 /*return*/];
67
- }
68
- });
69
- }); };
70
- return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(parameters_1.ParameterControls, { params: Params, values: params, onChangeValues: setParams, isDisabled: isBusy || exporting }), (0, jsx_runtime_1.jsx)(common_1.Button, tslib_1.__assign({ onClick: onExport, style: { marginTop: 1 }, disabled: isBusy || hierarchy.structures.length === 0 || exporting, commit: hierarchy.structures.length ? 'on' : 'off' }, { children: label }))] });
43
+ const onExport = async () => {
44
+ setExporting(true);
45
+ try {
46
+ await (0, superposition_export_1.superpositionExportHierarchy)(plugin, { format: params.format });
47
+ }
48
+ finally {
49
+ setExporting(false);
50
+ }
51
+ };
52
+ return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(parameters_1.ParameterControls, { params: Params, values: params, onChangeValues: setParams, isDisabled: isBusy || exporting }), (0, jsx_runtime_1.jsx)(common_1.Button, { onClick: onExport, style: { marginTop: 1 }, disabled: isBusy || hierarchy.structures.length === 0 || exporting, commit: hierarchy.structures.length ? 'on' : 'off', children: label })] });
71
53
  }
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { PluginUIComponent } from 'Molstar/mol-plugin-ui/base';
3
- export declare function WavesIconSvg(): JSX.Element;
4
- declare type LeftPanelTabName = 'none' | 'root' | 'data' | 'states' | 'settings' | 'help' | 'segments';
3
+ export declare function WavesIconSvg(): import("react/jsx-runtime").JSX.Element;
4
+ type LeftPanelTabName = 'none' | 'root' | 'data' | 'states' | 'settings' | 'help' | 'segments';
5
5
  export declare class LeftPanelControls extends PluginUIComponent<{}, {
6
6
  tab: LeftPanelTabName;
7
7
  }> {
@@ -13,6 +13,6 @@ export declare class LeftPanelControls extends PluginUIComponent<{}, {
13
13
  tabs: {
14
14
  [K in LeftPanelTabName]: JSX.Element;
15
15
  };
16
- render(): JSX.Element;
16
+ render(): import("react/jsx-runtime").JSX.Element;
17
17
  }
18
18
  export {};