react-msaview 5.9.0 → 6.0.0

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 (196) hide show
  1. package/bundle/index.js +99 -99
  2. package/bundle/index.js.map +4 -4
  3. package/dist/clustalX.js +22 -22
  4. package/dist/clustalX.js.map +1 -1
  5. package/dist/components/ConservationTrack.js +21 -16
  6. package/dist/components/ConservationTrack.js.map +1 -1
  7. package/dist/components/CopyButton.d.ts +9 -0
  8. package/dist/components/CopyButton.js +23 -0
  9. package/dist/components/CopyButton.js.map +1 -0
  10. package/dist/components/Loading.js +2 -2
  11. package/dist/components/Loading.js.map +1 -1
  12. package/dist/components/MSAView.js +18 -24
  13. package/dist/components/MSAView.js.map +1 -1
  14. package/dist/components/ResizeHandles.js +24 -40
  15. package/dist/components/ResizeHandles.js.map +1 -1
  16. package/dist/components/ScrollbarThumb.d.ts +14 -0
  17. package/dist/components/ScrollbarThumb.js +28 -0
  18. package/dist/components/ScrollbarThumb.js.map +1 -0
  19. package/dist/components/SequenceTextArea.js +3 -10
  20. package/dist/components/SequenceTextArea.js.map +1 -1
  21. package/dist/components/TextTrack.js +26 -21
  22. package/dist/components/TextTrack.js.map +1 -1
  23. package/dist/components/VerticalScrollbar.js +11 -25
  24. package/dist/components/VerticalScrollbar.js.map +1 -1
  25. package/dist/components/dialogs/FeatureDialog.js +3 -3
  26. package/dist/components/dialogs/FeatureDialog.js.map +1 -1
  27. package/dist/components/dialogs/{UserProvidedDomainsDialog.d.ts → InterProScanFileDialog.d.ts} +2 -2
  28. package/dist/components/dialogs/{UserProvidedDomainsDialog.js → InterProScanFileDialog.js} +6 -10
  29. package/dist/components/dialogs/InterProScanFileDialog.js.map +1 -0
  30. package/dist/components/dialogs/TrackInfoDialog.d.ts +2 -4
  31. package/dist/components/dialogs/TrackInfoDialog.js +8 -14
  32. package/dist/components/dialogs/TrackInfoDialog.js.map +1 -1
  33. package/dist/components/header/FileMenu.js +3 -3
  34. package/dist/components/header/FileMenu.js.map +1 -1
  35. package/dist/components/header/GappynessSlider.js +1 -1
  36. package/dist/components/header/GappynessSlider.js.map +1 -1
  37. package/dist/components/header/{getDomainsMenu.d.ts → getAnnotationsMenu.d.ts} +1 -1
  38. package/dist/components/header/{getDomainsMenu.js → getAnnotationsMenu.js} +10 -9
  39. package/dist/components/header/getAnnotationsMenu.js.map +1 -0
  40. package/dist/components/header/settingsMenuItems.js +39 -72
  41. package/dist/components/header/settingsMenuItems.js.map +1 -1
  42. package/dist/components/import/ImportForm.js +1 -1
  43. package/dist/components/import/ImportForm.js.map +1 -1
  44. package/dist/components/import/ImportFormExamples.js +66 -57
  45. package/dist/components/import/ImportFormExamples.js.map +1 -1
  46. package/dist/components/minimap/Minimap.js +11 -22
  47. package/dist/components/minimap/Minimap.js.map +1 -1
  48. package/dist/components/minimap/MinimapSVG.d.ts +2 -1
  49. package/dist/components/minimap/MinimapSVG.js +3 -4
  50. package/dist/components/minimap/MinimapSVG.js.map +1 -1
  51. package/dist/components/minimap/minimapLayout.d.ts +10 -1
  52. package/dist/components/minimap/minimapLayout.js +15 -10
  53. package/dist/components/minimap/minimapLayout.js.map +1 -1
  54. package/dist/components/msa/{DomainLegend.d.ts → AnnotationLegend.d.ts} +2 -2
  55. package/dist/components/msa/{DomainLegend.js → AnnotationLegend.js} +4 -4
  56. package/dist/components/msa/AnnotationLegend.js.map +1 -0
  57. package/dist/components/msa/MSACanvas.js +2 -2
  58. package/dist/components/msa/MSACanvas.js.map +1 -1
  59. package/dist/components/msa/MSACanvasBlock.js +19 -16
  60. package/dist/components/msa/MSACanvasBlock.js.map +1 -1
  61. package/dist/components/msa/MSAMouseoverCanvas.js +14 -8
  62. package/dist/components/msa/MSAMouseoverCanvas.js.map +1 -1
  63. package/dist/components/msa/MSAPanel.js +2 -2
  64. package/dist/components/msa/MSAPanel.js.map +1 -1
  65. package/dist/components/msa/domainBandCursor.d.ts +17 -0
  66. package/dist/components/msa/domainBandCursor.js +39 -0
  67. package/dist/components/msa/domainBandCursor.js.map +1 -0
  68. package/dist/components/msa/renderBoxFeatureCanvasBlock.js +9 -6
  69. package/dist/components/msa/renderBoxFeatureCanvasBlock.js.map +1 -1
  70. package/dist/components/msa/renderMSABlock.js +14 -20
  71. package/dist/components/msa/renderMSABlock.js.map +1 -1
  72. package/dist/components/msa/renderMSAMouseover.js +32 -33
  73. package/dist/components/msa/renderMSAMouseover.js.map +1 -1
  74. package/dist/components/overlayColors.d.ts +2 -0
  75. package/dist/components/overlayColors.js +5 -0
  76. package/dist/components/overlayColors.js.map +1 -1
  77. package/dist/components/tree/TreeCanvas.js +29 -24
  78. package/dist/components/tree/TreeCanvas.js.map +1 -1
  79. package/dist/components/tree/TreeCanvasBlock.js +19 -12
  80. package/dist/components/tree/TreeCanvasBlock.js.map +1 -1
  81. package/dist/components/tree/TreeRuler.js +5 -2
  82. package/dist/components/tree/TreeRuler.js.map +1 -1
  83. package/dist/components/tree/renderTreeCanvas.d.ts +0 -38
  84. package/dist/components/tree/renderTreeCanvas.js +17 -17
  85. package/dist/components/tree/renderTreeCanvas.js.map +1 -1
  86. package/dist/ggplotPalettes.d.ts +0 -1
  87. package/dist/ggplotPalettes.js +0 -3
  88. package/dist/ggplotPalettes.js.map +1 -1
  89. package/dist/hierarchy.d.ts +2 -6
  90. package/dist/hierarchy.js +4 -6
  91. package/dist/hierarchy.js.map +1 -1
  92. package/dist/index.d.ts +2 -2
  93. package/dist/launchInterProScan.d.ts +0 -23
  94. package/dist/launchInterProScan.js +2 -5
  95. package/dist/launchInterProScan.js.map +1 -1
  96. package/dist/measureTextCanvas.js +21 -6
  97. package/dist/measureTextCanvas.js.map +1 -1
  98. package/dist/model.d.ts +50 -100
  99. package/dist/model.js +209 -219
  100. package/dist/model.js.map +1 -1
  101. package/dist/neighborJoining.js +12 -19
  102. package/dist/neighborJoining.js.map +1 -1
  103. package/dist/parseAsn1.js +32 -43
  104. package/dist/parseAsn1.js.map +1 -1
  105. package/dist/renderToSvg.js +5 -2
  106. package/dist/renderToSvg.js.map +1 -1
  107. package/dist/rowCoordinateCalculations.d.ts +13 -17
  108. package/dist/rowCoordinateCalculations.js +45 -39
  109. package/dist/rowCoordinateCalculations.js.map +1 -1
  110. package/dist/seqPosToGlobalCol.d.ts +6 -19
  111. package/dist/seqPosToGlobalCol.js +6 -33
  112. package/dist/seqPosToGlobalCol.js.map +1 -1
  113. package/dist/types.d.ts +4 -11
  114. package/dist/useCanvasAutorun.d.ts +23 -1
  115. package/dist/useCanvasAutorun.js +20 -8
  116. package/dist/useCanvasAutorun.js.map +1 -1
  117. package/dist/version.d.ts +1 -1
  118. package/dist/version.js +1 -1
  119. package/package.json +5 -5
  120. package/src/clustalX.ts +22 -22
  121. package/src/colSpace.test.ts +27 -0
  122. package/src/components/ConservationTrack.tsx +7 -5
  123. package/src/components/CopyButton.tsx +44 -0
  124. package/src/components/Loading.tsx +10 -1
  125. package/src/components/MSAView.tsx +25 -32
  126. package/src/components/ResizeHandles.tsx +60 -69
  127. package/src/components/ScrollbarThumb.tsx +48 -0
  128. package/src/components/SequenceTextArea.tsx +3 -16
  129. package/src/components/TextTrack.tsx +7 -12
  130. package/src/components/VerticalScrollbar.tsx +19 -33
  131. package/src/components/dialogs/FeatureDialog.tsx +3 -4
  132. package/src/components/dialogs/{UserProvidedDomainsDialog.tsx → InterProScanFileDialog.tsx} +6 -14
  133. package/src/components/dialogs/TrackInfoDialog.tsx +18 -20
  134. package/src/components/header/FileMenu.tsx +3 -3
  135. package/src/components/header/GappynessSlider.tsx +4 -1
  136. package/src/components/header/{getDomainsMenu.ts → getAnnotationsMenu.ts} +10 -9
  137. package/src/components/header/settingsMenuItems.ts +40 -72
  138. package/src/components/import/ImportForm.tsx +1 -1
  139. package/src/components/import/ImportFormExamples.tsx +82 -133
  140. package/src/components/minimap/Minimap.tsx +23 -31
  141. package/src/components/minimap/MinimapSVG.tsx +32 -31
  142. package/src/components/minimap/minimapLayout.test.ts +60 -0
  143. package/src/components/minimap/minimapLayout.ts +15 -10
  144. package/src/components/msa/{DomainLegend.tsx → AnnotationLegend.tsx} +7 -3
  145. package/src/components/msa/MSACanvas.tsx +3 -10
  146. package/src/components/msa/MSACanvasBlock.tsx +16 -21
  147. package/src/components/msa/MSAMouseoverCanvas.tsx +11 -9
  148. package/src/components/msa/MSAPanel.tsx +2 -2
  149. package/src/components/msa/domainBandCursor.ts +41 -0
  150. package/src/components/msa/renderBoxFeatureCanvasBlock.test.ts +51 -0
  151. package/src/components/msa/renderBoxFeatureCanvasBlock.ts +13 -8
  152. package/src/components/msa/renderMSABlock.ts +19 -23
  153. package/src/components/msa/renderMSAMouseover.ts +38 -35
  154. package/src/components/overlayColors.ts +6 -0
  155. package/src/components/tree/TreeCanvas.tsx +6 -4
  156. package/src/components/tree/TreeCanvasBlock.tsx +11 -12
  157. package/src/components/tree/TreeRuler.tsx +7 -2
  158. package/src/components/tree/renderTreeCanvas.test.ts +15 -7
  159. package/src/components/tree/renderTreeCanvas.ts +20 -17
  160. package/src/domainBands.test.ts +24 -0
  161. package/src/domainLetterColor.test.ts +80 -0
  162. package/src/ggplotPalettes.ts +0 -4
  163. package/src/hierarchy.test.ts +7 -7
  164. package/src/hierarchy.ts +6 -9
  165. package/src/index.ts +4 -1
  166. package/src/largeTree.test.ts +23 -2
  167. package/src/launchInterProScan.ts +3 -30
  168. package/src/loadErrorDisplay.test.tsx +102 -0
  169. package/src/measureTextCanvas.ts +22 -6
  170. package/src/model.ts +233 -244
  171. package/src/modelFilehandleLoaders.test.ts +137 -0
  172. package/src/neighborJoining.test.ts +12 -0
  173. package/src/neighborJoining.ts +12 -20
  174. package/src/parseAsn1.ts +32 -40
  175. package/src/{renderDomainLegendSvg.test.tsx → renderDomainsSvg.test.tsx} +44 -20
  176. package/src/renderMinimapSvg.test.tsx +109 -0
  177. package/src/renderToSvg.tsx +5 -2
  178. package/src/rowCoordinateCalculations.ts +48 -44
  179. package/src/seqPosToGlobalCol.test.ts +39 -51
  180. package/src/seqPosToGlobalCol.ts +6 -41
  181. package/src/types.ts +10 -15
  182. package/src/useCanvasAutorun.test.tsx +98 -0
  183. package/src/useCanvasAutorun.ts +30 -11
  184. package/src/version.ts +1 -1
  185. package/src/viewChrome.test.tsx +134 -0
  186. package/dist/components/dialogs/DomainDialog.d.ts +0 -6
  187. package/dist/components/dialogs/DomainDialog.js +0 -19
  188. package/dist/components/dialogs/DomainDialog.js.map +0 -1
  189. package/dist/components/dialogs/UserProvidedDomainsDialog.js.map +0 -1
  190. package/dist/components/header/SettingsMenu.d.ts +0 -6
  191. package/dist/components/header/SettingsMenu.js +0 -40
  192. package/dist/components/header/SettingsMenu.js.map +0 -1
  193. package/dist/components/header/getDomainsMenu.js.map +0 -1
  194. package/dist/components/msa/DomainLegend.js.map +0 -1
  195. package/src/components/dialogs/DomainDialog.tsx +0 -45
  196. package/src/components/header/SettingsMenu.tsx +0 -57
@@ -1,43 +1,29 @@
1
- import React, { useCallback, useState } from 'react';
2
- import { clamp } from '@jbrowse/core/util';
1
+ import React, { useCallback } from 'react';
3
2
  import { observer } from 'mobx-react';
4
- import { useDragScroll } from '../useDragScroll.js';
3
+ import ScrollbarThumb from './ScrollbarThumb.js';
4
+ const width = 20;
5
5
  const VerticalScrollbar = observer(({ model }) => {
6
6
  const { msaAreaHeight, scrollY, totalHeight } = model;
7
- const [hovered, setHovered] = useState(false);
8
- const fill = 'rgba(66, 119, 127, 0.3)';
9
7
  const unit = msaAreaHeight / totalHeight;
10
- const top = -scrollY;
11
- const bottom = top + msaAreaHeight;
12
- const t = top * unit;
13
- const b = bottom * unit;
14
- const { startDrag } = useDragScroll('y', useCallback((delta, startScroll) => {
15
- model.setScrollY(clamp(startScroll - delta / unit, model.maxScrollY, 0));
16
- }, [model, unit]));
8
+ const t = -scrollY * unit;
9
+ const b = (-scrollY + msaAreaHeight) * unit;
10
+ const onDrag = useCallback((delta, startScroll) => {
11
+ model.setScrollY(startScroll - delta / unit);
12
+ }, [model, unit]);
17
13
  return (React.createElement("div", { style: {
18
14
  position: 'relative',
19
- width: 20,
15
+ width,
20
16
  height: msaAreaHeight,
21
17
  borderLeft: '1px solid #555',
22
18
  borderTop: '1px solid #555',
23
19
  boxSizing: 'border-box',
24
20
  } },
25
- React.createElement("div", { style: {
26
- position: 'absolute',
21
+ React.createElement(ScrollbarThumb, { axis: "y", getStart: () => model.scrollY, onDrag: onDrag, style: {
27
22
  top: Math.max(0, t),
28
23
  left: 0,
29
- background: hovered ? 'rgba(66,119,127,0.6)' : fill,
30
- cursor: 'pointer',
31
24
  boxSizing: 'border-box',
32
- width: 20,
25
+ width,
33
26
  height: Math.max(b - t, 20),
34
- zIndex: 100,
35
- }, onMouseOver: () => {
36
- setHovered(true);
37
- }, onMouseOut: () => {
38
- setHovered(false);
39
- }, onMouseDown: event => {
40
- startDrag(event, model.scrollY);
41
27
  } })));
42
28
  });
43
29
  export default VerticalScrollbar;
@@ -1 +1 @@
1
- {"version":3,"file":"VerticalScrollbar.js","sourceRoot":"","sources":["../../src/components/VerticalScrollbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAInD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,CAAC,EAAE,KAAK,EAA2B,EAAE,EAAE;IACxE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,KAAK,CAAA;IACrD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,IAAI,GAAG,yBAAyB,CAAA;IACtC,MAAM,IAAI,GAAG,aAAa,GAAG,WAAW,CAAA;IACxC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAA;IACpB,MAAM,MAAM,GAAG,GAAG,GAAG,aAAa,CAAA;IAClC,MAAM,CAAC,GAAG,GAAG,GAAG,IAAI,CAAA;IACpB,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAAA;IACvB,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CACjC,GAAG,EACH,WAAW,CACT,CAAC,KAAa,EAAE,WAAmB,EAAE,EAAE;QACrC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAA;IAC1E,CAAC,EACD,CAAC,KAAK,EAAE,IAAI,CAAC,CACd,CACF,CAAA;IACD,OAAO,CACL,6BACE,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,aAAa;YACrB,UAAU,EAAE,gBAAgB;YAC5B,SAAS,EAAE,gBAAgB;YAC3B,SAAS,EAAE,YAAY;SACxB;QAED,6BACE,KAAK,EAAE;gBACL,QAAQ,EAAE,UAAU;gBACpB,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnB,IAAI,EAAE,CAAC;gBACP,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI;gBACnD,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,YAAY;gBACvB,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBAC3B,MAAM,EAAE,GAAG;aACZ,EACD,WAAW,EAAE,GAAG,EAAE;gBAChB,UAAU,CAAC,IAAI,CAAC,CAAA;YAClB,CAAC,EACD,UAAU,EAAE,GAAG,EAAE;gBACf,UAAU,CAAC,KAAK,CAAC,CAAA;YACnB,CAAC,EACD,WAAW,EAAE,KAAK,CAAC,EAAE;gBACnB,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;YACjC,CAAC,GACD,CACE,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AACF,eAAe,iBAAiB,CAAA"}
1
+ {"version":3,"file":"VerticalScrollbar.js","sourceRoot":"","sources":["../../src/components/VerticalScrollbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,cAAc,MAAM,qBAAsB,CAAA;AAIjD,MAAM,KAAK,GAAG,EAAE,CAAA;AAEhB,MAAM,iBAAiB,GAAG,QAAQ,CAAC,CAAC,EAAE,KAAK,EAA2B,EAAE,EAAE;IACxE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,KAAK,CAAA;IACrD,MAAM,IAAI,GAAG,aAAa,GAAG,WAAW,CAAA;IACxC,MAAM,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAA;IACzB,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,aAAa,CAAC,GAAG,IAAI,CAAA;IAE3C,MAAM,MAAM,GAAG,WAAW,CACxB,CAAC,KAAa,EAAE,WAAmB,EAAE,EAAE;QACrC,KAAK,CAAC,UAAU,CAAC,WAAW,GAAG,KAAK,GAAG,IAAI,CAAC,CAAA;IAC9C,CAAC,EACD,CAAC,KAAK,EAAE,IAAI,CAAC,CACd,CAAA;IAED,OAAO,CACL,6BACE,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,KAAK;YACL,MAAM,EAAE,aAAa;YACrB,UAAU,EAAE,gBAAgB;YAC5B,SAAS,EAAE,gBAAgB;YAC3B,SAAS,EAAE,YAAY;SACxB;QAED,oBAAC,cAAc,IACb,IAAI,EAAC,GAAG,EACR,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAC7B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE;gBACL,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnB,IAAI,EAAE,CAAC;gBACP,SAAS,EAAE,YAAY;gBACvB,KAAK;gBACL,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;aAC5B,GACD,CACE,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AACF,eAAe,iBAAiB,CAAA"}
@@ -17,9 +17,9 @@ const Toggles = observer(function ({ model }) {
17
17
  } }, "Toggle all off")));
18
18
  });
19
19
  const FeatureTable = observer(function ({ model }) {
20
- const { tidyInterProAnnotationTypes, tidyInterProAnnotations, fillPalette } = model;
20
+ const { annotationTypes, annotations, fillPalette } = model;
21
21
  const counts = new Map();
22
- for (const annot of tidyInterProAnnotations) {
22
+ for (const annot of annotations) {
23
23
  counts.set(annot.accession, (counts.get(annot.accession) ?? 0) + 1);
24
24
  }
25
25
  return (React.createElement(React.Fragment, null,
@@ -33,7 +33,7 @@ const FeatureTable = observer(function ({ model }) {
33
33
  React.createElement(TableCell, null, "name"),
34
34
  React.createElement(TableCell, null, "count"),
35
35
  React.createElement(TableCell, null, "description"))),
36
- React.createElement(TableBody, null, [...tidyInterProAnnotationTypes.values()].map(({ accession, name, description }) => (React.createElement(TableRow, { key: accession },
36
+ React.createElement(TableBody, null, [...annotationTypes.values()].map(({ accession, name, description }) => (React.createElement(TableRow, { key: accession },
37
37
  React.createElement(TableCell, { padding: "checkbox" },
38
38
  React.createElement(Checkbox, { checked: model.featureFilters.get(accession) ?? false, onChange: () => {
39
39
  model.setFilter(accession, !model.featureFilters.get(accession));
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureDialog.js","sourceRoot":"","sources":["../../../src/components/dialogs/FeatureDialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FeatureDialog.js","sourceRoot":"","sources":["../../../src/components/dialogs/FeatureDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EACL,MAAM,EACN,QAAQ,EACR,aAAa,EACb,KAAK,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,QAAQ,GACT,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAIrC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,EAA2B;IACnE,MAAM,EAAE,cAAc,EAAE,GAAG,KAAK,CAAA;IAChC,OAAO,CACL;QACE,oBAAC,MAAM,IACL,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;oBACxC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;gBAC5B,CAAC;YACH,CAAC,oBAGM;QAET,oBAAC,MAAM,IACL,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;oBACxC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;gBAC7B,CAAC;YACH,CAAC,qBAGM,CACL,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,EAA2B;IACxE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,KAAK,CAAA;IAC3D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;IACxC,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IACrE,CAAC;IACD,OAAO,CACL;QACE,oBAAC,OAAO,IAAC,KAAK,EAAE,KAAK,GAAI;QACzB,oBAAC,KAAK,IAAC,IAAI,EAAC,OAAO;YACjB,oBAAC,SAAS;gBACR,oBAAC,QAAQ;oBACP,oBAAC,SAAS,IAAC,OAAO,EAAC,UAAU,GAAG;oBAChC,oBAAC,SAAS,gBAAkB;oBAC5B,oBAAC,SAAS,oBAAsB;oBAChC,oBAAC,SAAS,eAAiB;oBAC3B,oBAAC,SAAS,gBAAkB;oBAC5B,oBAAC,SAAS,sBAAwB,CACzB,CACD;YACZ,oBAAC,SAAS,QACP,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAChC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CACpC,oBAAC,QAAQ,IAAC,GAAG,EAAE,SAAS;gBACtB,oBAAC,SAAS,IAAC,OAAO,EAAC,UAAU;oBAC3B,oBAAC,QAAQ,IACP,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,EACrD,QAAQ,EAAE,GAAG,EAAE;4BACb,KAAK,CAAC,SAAS,CACb,SAAS,EACT,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CACrC,CAAA;wBACH,CAAC,GACD,CACQ;gBACZ,oBAAC,SAAS;oBACR,6BACE,KAAK,EAAE;4BACL,KAAK,EAAE,EAAE;4BACT,MAAM,EAAE,EAAE;4BACV,UAAU,EAAE,WAAW,CAAC,SAAS,CAAC;yBACnC,GACD,CACQ;gBACZ,oBAAC,SAAS,QAAE,SAAS,CAAa;gBAClC,oBAAC,SAAS,QAAE,IAAI,CAAa;gBAC7B,oBAAC,SAAS,QAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAa;gBAC9C,oBAAC,SAAS,QAAE,WAAW,CAAa,CAC3B,CACZ,CACF,CACS,CACN,CACP,CACJ,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,iBAAiB,GAAG,QAAQ,CAAC,UAAU,EAC3C,OAAO,EACP,KAAK,GAIN;IACC,OAAO,CACL,oBAAC,MAAM,IACL,OAAO,EAAE,GAAG,EAAE;YACZ,OAAO,EAAE,CAAA;QACX,CAAC,EACD,IAAI,QACJ,KAAK,EAAC,iBAAiB,EACvB,QAAQ,EAAC,IAAI;QAEb,oBAAC,aAAa;YACZ,oBAAC,YAAY,IAAC,KAAK,EAAE,KAAK,GAAI,CAChB,CACT,CACV,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,iBAAiB,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { MsaViewModel } from '../../model.ts';
3
- declare const UserProvidedDomainsDialog: ({ handleClose, model, }: {
3
+ declare const InterProScanFileDialog: ({ handleClose, model, }: {
4
4
  handleClose: () => void;
5
5
  model: MsaViewModel;
6
6
  }) => React.JSX.Element;
7
- export default UserProvidedDomainsDialog;
7
+ export default InterProScanFileDialog;
@@ -3,12 +3,13 @@ import { Dialog } from '@jbrowse/core/ui';
3
3
  import { getSession } from '@jbrowse/core/util';
4
4
  import { Button, DialogActions, DialogContent, FormControl, FormControlLabel, Radio, RadioGroup, TextField, Typography, } from '@mui/material';
5
5
  import { observer } from 'mobx-react';
6
+ import { interProScanResponseToAnnotations } from 'msa-parsers';
6
7
  import { jsonfetch } from '../../fetchUtils.js';
7
- const UserProvidedDomainsDialog = observer(function ({ handleClose, model, }) {
8
+ const InterProScanFileDialog = observer(function ({ handleClose, model, }) {
8
9
  const [file, setFile] = useState();
9
10
  const [choice, setChoice] = useState('file');
10
11
  const [interProURL, setInterProURL] = useState('');
11
- return (React.createElement(Dialog, { maxWidth: "xl", title: "Open protein domains from file", onClose: () => {
12
+ return (React.createElement(Dialog, { maxWidth: "xl", title: "Open InterProScan results", onClose: () => {
12
13
  handleClose();
13
14
  }, open: true },
14
15
  React.createElement(DialogContent, null,
@@ -45,12 +46,7 @@ const UserProvidedDomainsDialog = observer(function ({ handleClose, model, }) {
45
46
  const ret = file
46
47
  ? JSON.parse(await file.text())
47
48
  : await jsonfetch(interProURL);
48
- // key each result by its xref id; a result without one has no
49
- // row to attach to, and keying it `undefined` would draw a
50
- // phantom row's worth of domains
51
- model.setDomains(Object.fromEntries(ret.results
52
- .map(r => [r.xref[0]?.id, r])
53
- .filter(e => e[0] !== undefined)));
49
+ model.setAnnotations(interProScanResponseToAnnotations(ret));
54
50
  getSession(model).notify('Loaded interproscan results', 'success');
55
51
  }
56
52
  catch (e) {
@@ -64,5 +60,5 @@ const UserProvidedDomainsDialog = observer(function ({ handleClose, model, }) {
64
60
  handleClose();
65
61
  } }, "Open results"))));
66
62
  });
67
- export default UserProvidedDomainsDialog;
68
- //# sourceMappingURL=UserProvidedDomainsDialog.js.map
63
+ export default InterProScanFileDialog;
64
+ //# sourceMappingURL=InterProScanFileDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InterProScanFileDialog.js","sourceRoot":"","sources":["../../../src/components/dialogs/InterProScanFileDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EACL,MAAM,EACN,aAAa,EACb,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,KAAK,EACL,UAAU,EACV,SAAS,EACT,UAAU,GACX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,iCAAiC,EAAE,MAAM,aAAa,CAAA;AAE/D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAK/C,MAAM,sBAAsB,GAAG,QAAQ,CAAC,UAAU,EAChD,WAAW,EACX,KAAK,GAIN;IACC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,EAAQ,CAAA;IACxC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC5C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAElD,OAAO,CACL,oBAAC,MAAM,IACL,QAAQ,EAAC,IAAI,EACb,KAAK,EAAC,2BAA2B,EACjC,OAAO,EAAE,GAAG,EAAE;YACZ,WAAW,EAAE,CAAA;QACf,CAAC,EACD,IAAI;QAEJ,oBAAC,aAAa;YACZ;gBACE,oBAAC,UAAU,mGAGE;gBAEb,6BAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;oBACzC,oBAAC,WAAW,IAAC,SAAS,EAAC,UAAU;wBAC/B,oBAAC,UAAU,IACT,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,KAAK,CAAC,EAAE;gCAChB,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;4BAC/B,CAAC;4BAED,oBAAC,gBAAgB,IAAC,KAAK,EAAC,KAAK,EAAC,OAAO,EAAE,oBAAC,KAAK,OAAG,EAAE,KAAK,EAAC,KAAK,GAAG;4BAChE,oBAAC,gBAAgB,IACf,KAAK,EAAC,MAAM,EACZ,OAAO,EAAE,oBAAC,KAAK,OAAG,EAClB,KAAK,EAAC,MAAM,GACZ,CACS,CACD;oBACb,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAClB;wBACE,oBAAC,UAAU,mDAEE;wBACb,oBAAC,SAAS,IACR,KAAK,EAAC,KAAK,EACX,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,KAAK,CAAC,EAAE;gCAChB,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;4BACpC,CAAC,GACD,CACE,CACP,CAAC,CAAC,CAAC,IAAI;oBACP,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CACnB,6BAAK,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;wBAC5B,oBAAC,UAAU,mEAEE;wBACb,oBAAC,MAAM,IAAC,OAAO,EAAC,UAAU,EAAC,SAAS,EAAC,OAAO;;4BAE1C,+BACE,IAAI,EAAC,MAAM,EACX,MAAM,QACN,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;oCACvB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;oCAC9B,IAAI,IAAI,EAAE,CAAC;wCACT,OAAO,CAAC,IAAI,CAAC,CAAA;oCACf,CAAC;gCACH,CAAC,GACD,CACK,CACL,CACP,CAAC,CAAC,CAAC,IAAI,CACJ,CACF,CACQ;QAChB,oBAAC,aAAa;YACZ,oBAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,GAAG,EAAE;oBACZ,mEAAmE;oBACnE,CAAC;oBAAA,CAAC,KAAK,IAAI,EAAE;wBACX,IAAI,CAAC;4BACH,MAAM,GAAG,GAAyB,IAAI;gCACpC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gCAC/B,CAAC,CAAC,MAAM,SAAS,CAAC,WAAW,CAAC,CAAA;4BAEhC,KAAK,CAAC,cAAc,CAAC,iCAAiC,CAAC,GAAG,CAAC,CAAC,CAAA;4BAC5D,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CACtB,6BAA6B,EAC7B,SAAS,CACV,CAAA;wBACH,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;4BAChB,UAAU,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;wBAC1C,CAAC;gCAAS,CAAC;4BACT,KAAK,CAAC,SAAS,EAAE,CAAA;wBACnB,CAAC;oBACH,CAAC,CAAC,EAAE,CAAA;oBACJ,WAAW,EAAE,CAAA;gBACf,CAAC,mBAGM,CACK,CACT,CACV,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,sBAAsB,CAAA"}
@@ -1,9 +1,7 @@
1
1
  import React from 'react';
2
+ import type { BasicTrack } from '../../types.ts';
2
3
  declare const TrackInfoDialog: ({ model, onClose, }: {
3
- model: {
4
- name: string;
5
- data: string;
6
- };
4
+ model: BasicTrack['model'];
7
5
  onClose: () => void;
8
6
  }) => React.JSX.Element;
9
7
  export default TrackInfoDialog;
@@ -1,9 +1,9 @@
1
- import React, { useState } from 'react';
1
+ import React from 'react';
2
2
  import { Dialog } from '@jbrowse/core/ui';
3
3
  import { makeStyles } from '@jbrowse/core/util/tss-react';
4
- import { Button, DialogActions, DialogContent } from '@mui/material';
4
+ import { Button, DialogActions, DialogContent, Typography } from '@mui/material';
5
5
  import { observer } from 'mobx-react';
6
- import copy from '../../vendor/copyToClipboard.js';
6
+ import CopyButton from '../CopyButton.js';
7
7
  const useStyles = makeStyles()(theme => ({
8
8
  textArea: {
9
9
  padding: theme.spacing(2),
@@ -13,18 +13,12 @@ const useStyles = makeStyles()(theme => ({
13
13
  },
14
14
  }));
15
15
  const TrackInfoDialog = observer(function ({ model, onClose, }) {
16
- const [label, setLabel] = useState('Copy to clipboard');
16
+ const { name, data } = model;
17
17
  const { classes } = useStyles();
18
- return (React.createElement(Dialog, { open: true, onClose: onClose, fullWidth: true, maxWidth: "lg", title: `Track info - ${model.name}` },
19
- React.createElement(DialogContent, null,
20
- React.createElement(Button, { variant: "contained", color: "primary", onClick: () => {
21
- copy(model.data);
22
- setLabel('Copied!');
23
- setTimeout(() => {
24
- setLabel('Copy to clipboard');
25
- }, 300);
26
- } }, label),
27
- React.createElement("pre", { className: classes.textArea }, model.data)),
18
+ return (React.createElement(Dialog, { open: true, onClose: onClose, fullWidth: true, maxWidth: "lg", title: `Track info - ${name}` },
19
+ React.createElement(DialogContent, null, data === undefined ? (React.createElement(Typography, null, "This track has no text data.")) : (React.createElement(React.Fragment, null,
20
+ React.createElement(CopyButton, { text: data }),
21
+ React.createElement("pre", { className: classes.textArea }, data)))),
28
22
  React.createElement(DialogActions, null,
29
23
  React.createElement(Button, { variant: "contained", onClick: onClose, color: "secondary" }, "Close"))));
30
24
  });
@@ -1 +1 @@
1
- {"version":3,"file":"TrackInfoDialog.js","sourceRoot":"","sources":["../../../src/components/dialogs/TrackInfoDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,IAAI,MAAM,iCAAiC,CAAA;AAElD,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvC,QAAQ,EAAE;QACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACzB,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,YAAY;KACxB;CACF,CAAC,CAAC,CAAA;AAEH,MAAM,eAAe,GAAG,QAAQ,CAAC,UAAU,EACzC,KAAK,EACL,OAAO,GAIR;IACC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAA;IACvD,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,OAAO,CACL,oBAAC,MAAM,IACL,IAAI,QACJ,OAAO,EAAE,OAAO,EAChB,SAAS,QACT,QAAQ,EAAC,IAAI,EACb,KAAK,EAAE,gBAAgB,KAAK,CAAC,IAAI,EAAE;QAEnC,oBAAC,aAAa;YACZ,oBAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oBAChB,QAAQ,CAAC,SAAS,CAAC,CAAA;oBACnB,UAAU,CAAC,GAAG,EAAE;wBACd,QAAQ,CAAC,mBAAmB,CAAC,CAAA;oBAC/B,CAAC,EAAE,GAAG,CAAC,CAAA;gBACT,CAAC,IAEA,KAAK,CACC;YACT,6BAAK,SAAS,EAAE,OAAO,CAAC,QAAQ,IAAG,KAAK,CAAC,IAAI,CAAO,CACtC;QAChB,oBAAC,aAAa;YACZ,oBAAC,MAAM,IAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAC,WAAW,YAEtD,CACK,CACT,CACV,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"TrackInfoDialog.js","sourceRoot":"","sources":["../../../src/components/dialogs/TrackInfoDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,UAAU,MAAM,kBAAmB,CAAA;AAI1C,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvC,QAAQ,EAAE;QACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACzB,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,YAAY;KACxB;CACF,CAAC,CAAC,CAAA;AAEH,MAAM,eAAe,GAAG,QAAQ,CAAC,UAAU,EACzC,KAAK,EACL,OAAO,GAIR;IACC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IAC5B,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,OAAO,CACL,oBAAC,MAAM,IACL,IAAI,QACJ,OAAO,EAAE,OAAO,EAChB,SAAS,QACT,QAAQ,EAAC,IAAI,EACb,KAAK,EAAE,gBAAgB,IAAI,EAAE;QAE7B,oBAAC,aAAa,QAGX,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CACpB,oBAAC,UAAU,uCAA0C,CACtD,CAAC,CAAC,CAAC,CACF;YACE,oBAAC,UAAU,IAAC,IAAI,EAAE,IAAI,GAAI;YAC1B,6BAAK,SAAS,EAAE,OAAO,CAAC,QAAQ,IAAG,IAAI,CAAO,CAC7C,CACJ,CACa;QAChB,oBAAC,aAAa;YACZ,oBAAC,MAAM,IAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAC,WAAW,YAEtD,CACK,CACT,CACV,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,eAAe,CAAA"}
@@ -5,7 +5,7 @@ import FolderOpen from '@mui/icons-material/FolderOpen';
5
5
  import Menu from '@mui/icons-material/Menu';
6
6
  import PhotoCamera from '@mui/icons-material/PhotoCamera';
7
7
  import { observer } from 'mobx-react';
8
- import { getDomainMenu } from './getDomainsMenu.js';
8
+ import { getAnnotationsMenu } from './getAnnotationsMenu.js';
9
9
  const MetadataDialog = lazy(() => import('../dialogs/MetadataDialog.js'));
10
10
  const ExportSVGDialog = lazy(() => import('../dialogs/ExportSVGDialog.js'));
11
11
  const FileMenu = observer(({ model }) => {
@@ -31,9 +31,9 @@ const FileMenu = observer(({ model }) => {
31
31
  },
32
32
  },
33
33
  {
34
- label: 'Domain settings',
34
+ label: 'Annotations',
35
35
  type: 'subMenu',
36
- subMenu: getDomainMenu({
36
+ subMenu: getAnnotationsMenu({
37
37
  model,
38
38
  }),
39
39
  },
@@ -1 +1 @@
1
- {"version":3,"file":"FileMenu.js","sourceRoot":"","sources":["../../../src/components/header/FileMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAEnC,OAAO,mBAAmB,MAAM,sCAAsC,CAAA;AACtE,OAAO,UAAU,MAAM,gCAAgC,CAAA;AACvD,OAAO,UAAU,MAAM,gCAAgC,CAAA;AACvD,OAAO,IAAI,MAAM,0BAA0B,CAAA;AAC3C,OAAO,WAAW,MAAM,iCAAiC,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAInD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,8BAA+B,CAAC,CAAC,CAAA;AAC1E,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,+BAAgC,CAAC,CAAC,CAAA;AAE5E,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,EAAE,KAAK,EAA2B,EAAE,EAAE;IAC/D,OAAO,CACL,oBAAC,mBAAmB,mBACN,WAAW,EACvB,OAAO,EAAC,MAAM,EACd,SAAS,EAAE;YACT;gBACE,KAAK,EAAE,uBAAuB;gBAC9B,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,CAAC,KAAK,EAAE,CAAA;gBACf,CAAC;aACF;YACD;gBACE,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC3B,cAAc;wBACd;4BACE,KAAK;4BACL,OAAO;yBACR;qBACF,CAAC,CAAA;gBACJ,CAAC;aACF;YACD;gBACE,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,aAAa,CAAC;oBACrB,KAAK;iBACN,CAAC;aACH;YACD;gBACE,KAAK,EAAE,YAAY;gBACnB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC3B,eAAe;wBACf;4BACE,OAAO;4BACP,KAAK;yBACN;qBACF,CAAC,CAAA;gBACJ,CAAC;aACF;SACF,EACD,YAAY,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,EACxD,eAAe,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE;QAExD,oBAAC,IAAI,OAAG,CACY,CACvB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,QAAQ,CAAA"}
1
+ {"version":3,"file":"FileMenu.js","sourceRoot":"","sources":["../../../src/components/header/FileMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAEnC,OAAO,mBAAmB,MAAM,sCAAsC,CAAA;AACtE,OAAO,UAAU,MAAM,gCAAgC,CAAA;AACvD,OAAO,UAAU,MAAM,gCAAgC,CAAA;AACvD,OAAO,IAAI,MAAM,0BAA0B,CAAA;AAC3C,OAAO,WAAW,MAAM,iCAAiC,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAI5D,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,8BAA+B,CAAC,CAAC,CAAA;AAC1E,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,+BAAgC,CAAC,CAAC,CAAA;AAE5E,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,EAAE,KAAK,EAA2B,EAAE,EAAE;IAC/D,OAAO,CACL,oBAAC,mBAAmB,mBACN,WAAW,EACvB,OAAO,EAAC,MAAM,EACd,SAAS,EAAE;YACT;gBACE,KAAK,EAAE,uBAAuB;gBAC9B,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,CAAC,KAAK,EAAE,CAAA;gBACf,CAAC;aACF;YACD;gBACE,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC3B,cAAc;wBACd;4BACE,KAAK;4BACL,OAAO;yBACR;qBACF,CAAC,CAAA;gBACJ,CAAC;aACF;YACD;gBACE,KAAK,EAAE,aAAa;gBACpB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,kBAAkB,CAAC;oBAC1B,KAAK;iBACN,CAAC;aACH;YACD;gBACE,KAAK,EAAE,YAAY;gBACnB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC3B,eAAe;wBACf;4BACE,OAAO;4BACP,KAAK;yBACN;qBACF,CAAC,CAAA;gBACJ,CAAC;aACF;SACF,EACD,YAAY,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,EACxD,eAAe,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE;QAExD,oBAAC,IAAI,OAAG,CACY,CACvB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,QAAQ,CAAA"}
@@ -8,7 +8,7 @@ const GappynessSlider = observer(function GappynessSlider({ model, }) {
8
8
  }
9
9
  return (React.createElement("div", { style: { display: 'flex', alignItems: 'center', gap: 8 } },
10
10
  React.createElement(Typography, { style: { whiteSpace: 'nowrap' } },
11
- "Hide columns w/ >",
11
+ "Hide columns w/ \u2265",
12
12
  allowedGappyness,
13
13
  "% gaps"),
14
14
  React.createElement(Slider
@@ -1 +1 @@
1
- {"version":3,"file":"GappynessSlider.js","sourceRoot":"","sources":["../../../src/components/header/GappynessSlider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAIrC,MAAM,eAAe,GAAG,QAAQ,CAAC,SAAS,eAAe,CAAC,EACxD,KAAK,GAGN;IACC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAA;IAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,CACL,6BAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE;QAC3D,oBAAC,UAAU,IAAC,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE;;YACpB,gBAAgB;qBAC1B;QACb,oBAAC,MAAM;QACL,wEAAwE;QACxE,wEAAwE;QACxE,yEAAyE;QACzE,wEAAwE;QACxE,oEAAoE;QACpE,yEAAyE;QACzE,sEAAsE;QACtE,kDAAkD;QAClD,EAAE;QACF,wEAAwE;QACxE,8DAA8D;QAC9D,oEAAoE;2BACxD,kBAAkB,EAC9B,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EACrB,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;gBACnB,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAA;YAChC,CAAC,GACD,CACE,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"GappynessSlider.js","sourceRoot":"","sources":["../../../src/components/header/GappynessSlider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAIrC,MAAM,eAAe,GAAG,QAAQ,CAAC,SAAS,eAAe,CAAC,EACxD,KAAK,GAGN;IACC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAA;IAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,CACL,6BAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE;QAI3D,oBAAC,UAAU,IAAC,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE;;YACpB,gBAAgB;qBAC1B;QACb,oBAAC,MAAM;QACL,wEAAwE;QACxE,wEAAwE;QACxE,yEAAyE;QACzE,wEAAwE;QACxE,oEAAoE;QACpE,yEAAyE;QACzE,sEAAsE;QACtE,kDAAkD;QAClD,EAAE;QACF,wEAAwE;QACxE,8DAA8D;QAC9D,oEAAoE;2BACxD,kBAAkB,EAC9B,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EACrB,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;gBACnB,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAA;YAChC,CAAC,GACD,CACE,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,eAAe,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import type { MsaViewModel } from '../../model.ts';
2
- export declare function getDomainMenu({ model }: {
2
+ export declare function getAnnotationsMenu({ model }: {
3
3
  model: MsaViewModel;
4
4
  }): ({
5
5
  label: string;
@@ -5,17 +5,18 @@ import Search from '@mui/icons-material/Search';
5
5
  import Sort from '@mui/icons-material/Sort';
6
6
  import Visibility from '@mui/icons-material/Visibility';
7
7
  const FeatureFilterDialog = lazy(() => import('../dialogs/FeatureDialog.js'));
8
- const UserProvidedDomainsDialog = lazy(() => import('../dialogs/UserProvidedDomainsDialog.js'));
8
+ const InterProScanFileDialog = lazy(() => import('../dialogs/InterProScanFileDialog.js'));
9
9
  const InterProScanDialog = lazy(() => import('../dialogs/InterProScanDialog.js'));
10
- export function getDomainMenu({ model }) {
10
+ export function getAnnotationsMenu({ model }) {
11
11
  const { showDomains, actuallyShowDomains, subFeatureRows, noDomains } = model;
12
+ const noneLoaded = noDomains ? ' (none loaded)' : '';
12
13
  return [
13
14
  {
14
- label: 'Open domains...',
15
+ label: 'Open InterProScan results...',
15
16
  icon: FolderOpen,
16
17
  onClick: () => {
17
18
  model.queueDialog(handleClose => [
18
- UserProvidedDomainsDialog,
19
+ InterProScanFileDialog,
19
20
  {
20
21
  handleClose,
21
22
  model,
@@ -24,7 +25,7 @@ export function getDomainMenu({ model }) {
24
25
  },
25
26
  },
26
27
  {
27
- label: 'Query InterProScan for domains...',
28
+ label: 'Query InterProScan...',
28
29
  icon: Search,
29
30
  onClick: () => {
30
31
  model.queueDialog(handleClose => [
@@ -37,7 +38,7 @@ export function getDomainMenu({ model }) {
37
38
  },
38
39
  },
39
40
  {
40
- label: `Show domains${noDomains ? ' (no domains loaded)' : ''}`,
41
+ label: `Show annotations${noneLoaded}`,
41
42
  disabled: noDomains,
42
43
  icon: Visibility,
43
44
  checked: actuallyShowDomains,
@@ -47,7 +48,7 @@ export function getDomainMenu({ model }) {
47
48
  },
48
49
  },
49
50
  {
50
- label: `Use sub-row layout${noDomains ? ' (no domains loaded)' : ''}`,
51
+ label: `Use sub-row layout${noneLoaded}`,
51
52
  disabled: noDomains,
52
53
  checked: actuallyShowDomains ? subFeatureRows : false,
53
54
  icon: Sort,
@@ -57,7 +58,7 @@ export function getDomainMenu({ model }) {
57
58
  },
58
59
  },
59
60
  {
60
- label: `Filter domains${noDomains ? ' (no domains loaded)' : ''}`,
61
+ label: `Filter annotations${noneLoaded}`,
61
62
  icon: FilterAlt,
62
63
  disabled: noDomains,
63
64
  onClick: () => {
@@ -72,4 +73,4 @@ export function getDomainMenu({ model }) {
72
73
  },
73
74
  ];
74
75
  }
75
- //# sourceMappingURL=getDomainsMenu.js.map
76
+ //# sourceMappingURL=getAnnotationsMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAnnotationsMenu.js","sourceRoot":"","sources":["../../../src/components/header/getAnnotationsMenu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAE5B,OAAO,SAAS,MAAM,+BAA+B,CAAA;AACrD,OAAO,UAAU,MAAM,gCAAgC,CAAA;AACvD,OAAO,MAAM,MAAM,4BAA4B,CAAA;AAC/C,OAAO,IAAI,MAAM,0BAA0B,CAAA;AAC3C,OAAO,UAAU,MAAM,gCAAgC,CAAA;AAIvD,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,6BAA8B,CAAC,CAAC,CAAA;AAC9E,MAAM,sBAAsB,GAAG,IAAI,CACjC,GAAG,EAAE,CAAC,MAAM,CAAC,sCAAuC,CAAC,CACtD,CAAA;AACD,MAAM,kBAAkB,GAAG,IAAI,CAC7B,GAAG,EAAE,CAAC,MAAM,CAAC,kCAAmC,CAAC,CAClD,CAAA;AAED,MAAM,UAAU,kBAAkB,CAAC,EAAE,KAAK,EAA2B;IACnE,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IAC7E,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAA;IACpD,OAAO;QACL;YACE,KAAK,EAAE,8BAA8B;YACrC,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC/B,sBAAsB;oBACtB;wBACE,WAAW;wBACX,KAAK;qBACN;iBACF,CAAC,CAAA;YACJ,CAAC;SACF;QACD;YACE,KAAK,EAAE,uBAAuB;YAC9B,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC/B,kBAAkB;oBAClB;wBACE,WAAW;wBACX,KAAK;qBACN;iBACF,CAAC,CAAA;YACJ,CAAC;SACF;QACD;YACE,KAAK,EAAE,mBAAmB,UAAU,EAAE;YACtC,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,mBAAmB;YAC5B,IAAI,EAAE,UAAmB;YACzB,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,CAAA;YACpC,CAAC;SACF;QACD;YACE,KAAK,EAAE,qBAAqB,UAAU,EAAE;YACxC,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK;YACrD,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,UAAmB;YACzB,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,iBAAiB,CAAC,CAAC,cAAc,CAAC,CAAA;YAC1C,CAAC;SACF;QACD;YACE,KAAK,EAAE,qBAAqB,UAAU,EAAE;YACxC,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3B,mBAAmB;oBACnB;wBACE,OAAO;wBACP,KAAK;qBACN;iBACF,CAAC,CAAA;YACJ,CAAC;SACF;KACF,CAAA;AACH,CAAC"}
@@ -1,83 +1,50 @@
1
+ function toggle(label, checked, set) {
2
+ return {
3
+ label,
4
+ type: 'checkbox',
5
+ checked,
6
+ onClick: () => {
7
+ set(!checked);
8
+ },
9
+ };
10
+ }
1
11
  export function msaSettingsMenuItems(model) {
2
12
  const { drawMsaLetters, hideGaps, bgColor, showColumnStats } = model;
3
13
  return [
4
- {
5
- label: 'Show column statistics on hover',
6
- type: 'checkbox',
7
- checked: showColumnStats,
8
- onClick: () => {
9
- model.setShowColumnStats(!showColumnStats);
10
- },
11
- },
12
- {
13
- label: 'Draw letters',
14
- type: 'checkbox',
15
- checked: drawMsaLetters,
16
- onClick: () => {
17
- model.setDrawMsaLetters(!drawMsaLetters);
18
- },
19
- },
20
- {
21
- label: 'Color letters instead of background of tiles',
22
- type: 'checkbox',
23
- checked: !bgColor,
24
- onClick: () => {
25
- model.setBgColor(!bgColor);
26
- },
27
- },
28
- {
29
- label: 'Enable hiding gappy columns?',
30
- type: 'checkbox',
31
- checked: hideGaps,
32
- onClick: () => {
33
- model.setHideGaps(!hideGaps);
34
- },
35
- },
14
+ toggle('Show column statistics on hover', showColumnStats, arg => {
15
+ model.setShowColumnStats(arg);
16
+ }),
17
+ toggle('Draw letters', drawMsaLetters, arg => {
18
+ model.setDrawMsaLetters(arg);
19
+ }),
20
+ // the checkbox reads as the inverse of the property it sets: bgColor draws
21
+ // the tile, and turning it off is what leaves the letter itself colored
22
+ toggle('Color letters instead of background of tiles', !bgColor, arg => {
23
+ model.setBgColor(!arg);
24
+ }),
25
+ toggle('Enable hiding gappy columns?', hideGaps, arg => {
26
+ model.setHideGaps(arg);
27
+ }),
36
28
  ];
37
29
  }
38
30
  export function treeSettingsMenuItems(model) {
39
31
  const { drawTree, showBranchLen, labelsAlignRight, drawNodeBubbles, drawLabels, } = model;
40
32
  return [
41
- {
42
- label: 'Show branch length',
43
- type: 'checkbox',
44
- checked: showBranchLen,
45
- onClick: () => {
46
- model.setShowBranchLen(!showBranchLen);
47
- },
48
- },
49
- {
50
- label: 'Show tree',
51
- type: 'checkbox',
52
- checked: drawTree,
53
- onClick: () => {
54
- model.setDrawTree(!drawTree);
55
- },
56
- },
57
- {
58
- label: 'Draw clickable bubbles on tree branches',
59
- type: 'checkbox',
60
- checked: drawNodeBubbles,
61
- onClick: () => {
62
- model.setDrawNodeBubbles(!drawNodeBubbles);
63
- },
64
- },
65
- {
66
- label: 'Tree labels align right',
67
- type: 'checkbox',
68
- checked: labelsAlignRight,
69
- onClick: () => {
70
- model.setLabelsAlignRight(!labelsAlignRight);
71
- },
72
- },
73
- {
74
- label: 'Draw labels',
75
- type: 'checkbox',
76
- checked: drawLabels,
77
- onClick: () => {
78
- model.setDrawLabels(!drawLabels);
79
- },
80
- },
33
+ toggle('Show branch length', showBranchLen, arg => {
34
+ model.setShowBranchLen(arg);
35
+ }),
36
+ toggle('Show tree', drawTree, arg => {
37
+ model.setDrawTree(arg);
38
+ }),
39
+ toggle('Draw clickable bubbles on tree branches', drawNodeBubbles, arg => {
40
+ model.setDrawNodeBubbles(arg);
41
+ }),
42
+ toggle('Tree labels align right', labelsAlignRight, arg => {
43
+ model.setLabelsAlignRight(arg);
44
+ }),
45
+ toggle('Draw labels', drawLabels, arg => {
46
+ model.setDrawLabels(arg);
47
+ }),
81
48
  ];
82
49
  }
83
50
  //# sourceMappingURL=settingsMenuItems.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settingsMenuItems.js","sourceRoot":"","sources":["../../../src/components/header/settingsMenuItems.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,oBAAoB,CAAC,KAAmB;IACtD,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,KAAK,CAAA;IACpE,OAAO;QACL;YACE,KAAK,EAAE,iCAAiC;YACxC,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAA;YAC5C,CAAC;SACF;QACD;YACE,KAAK,EAAE,cAAc;YACrB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,cAAc;YACvB,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,iBAAiB,CAAC,CAAC,cAAc,CAAC,CAAA;YAC1C,CAAC;SACF;QACD;YACE,KAAK,EAAE,8CAA8C;YACrD,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,CAAC,OAAO;YACjB,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAA;YAC5B,CAAC;SACF;QACD;YACE,KAAK,EAAE,8BAA8B;YACrC,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAA;YAC9B,CAAC;SACF;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAmB;IACvD,MAAM,EACJ,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,UAAU,GACX,GAAG,KAAK,CAAA;IACT,OAAO;QACL;YACE,KAAK,EAAE,oBAAoB;YAC3B,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,aAAa;YACtB,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,gBAAgB,CAAC,CAAC,aAAa,CAAC,CAAA;YACxC,CAAC;SACF;QACD;YACE,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAA;YAC9B,CAAC;SACF;QACD;YACE,KAAK,EAAE,yCAAyC;YAChD,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAA;YAC5C,CAAC;SACF;QACD;YACE,KAAK,EAAE,yBAAyB;YAChC,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,gBAAgB;YACzB,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,mBAAmB,CAAC,CAAC,gBAAgB,CAAC,CAAA;YAC9C,CAAC;SACF;QACD;YACE,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,CAAA;YAClC,CAAC;SACF;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"settingsMenuItems.js","sourceRoot":"","sources":["../../../src/components/header/settingsMenuItems.ts"],"names":[],"mappings":"AAGA,SAAS,MAAM,CAAC,KAAa,EAAE,OAAgB,EAAE,GAA2B;IAC1E,OAAO;QACL,KAAK;QACL,IAAI,EAAE,UAAmB;QACzB,OAAO;QACP,OAAO,EAAE,GAAG,EAAE;YACZ,GAAG,CAAC,CAAC,OAAO,CAAC,CAAA;QACf,CAAC;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAmB;IACtD,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,KAAK,CAAA;IACpE,OAAO;QACL,MAAM,CAAC,iCAAiC,EAAE,eAAe,EAAE,GAAG,CAAC,EAAE;YAC/D,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;QAC/B,CAAC,CAAC;QACF,MAAM,CAAC,cAAc,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE;YAC3C,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAA;QAC9B,CAAC,CAAC;QACF,2EAA2E;QAC3E,wEAAwE;QACxE,MAAM,CAAC,8CAA8C,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YACrE,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC,CAAC;QACF,MAAM,CAAC,8BAA8B,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE;YACrD,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC,CAAC;KACH,CAAA;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAmB;IACvD,MAAM,EACJ,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,UAAU,GACX,GAAG,KAAK,CAAA;IACT,OAAO;QACL,MAAM,CAAC,oBAAoB,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE;YAChD,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;QAC7B,CAAC,CAAC;QACF,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE;YAClC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC,CAAC;QACF,MAAM,CAAC,yCAAyC,EAAE,eAAe,EAAE,GAAG,CAAC,EAAE;YACvE,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;QAC/B,CAAC,CAAC;QACF,MAAM,CAAC,yBAAyB,EAAE,gBAAgB,EAAE,GAAG,CAAC,EAAE;YACxD,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAA;QAChC,CAAC,CAAC;QACF,MAAM,CAAC,aAAa,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE;YACtC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QAC1B,CAAC,CAAC;KACH,CAAA;AACH,CAAC"}
@@ -28,7 +28,7 @@ const ImportForm = observer(function ({ model }) {
28
28
  React.createElement(Typography, null, "Tree file or URL"),
29
29
  React.createElement(FileSelector, { location: treeFile, setLocation: setTreeFile })),
30
30
  React.createElement("div", null,
31
- React.createElement(Typography, null, "InterProScan GFF file or URL (optional)"),
31
+ React.createElement(Typography, null, "Annotation GFF file or URL (optional)"),
32
32
  React.createElement(FileSelector, { location: gffFile, setLocation: setGffFile }))),
33
33
  React.createElement("div", null,
34
34
  React.createElement(Button, { onClick: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"ImportForm.js","sourceRoot":"","sources":["../../../src/components/import/ImportForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEvC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,kBAAkB,MAAM,yBAA0B,CAAA;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAKhC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,EAA2B;IACtE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAgB,CAAA;IACtD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAgB,CAAA;IACxD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAgB,CAAA;IACtD,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IAEvB,OAAO,CACL,oBAAC,SAAS;QACR,6BAAK,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;YACzB,KAAK,CAAC,CAAC,CAAC,oBAAC,YAAY,IAAC,KAAK,EAAE,KAAK,GAAI,CAAC,CAAC,CAAC,IAAI;YAC9C,oBAAC,UAAU,6FAGE;YACb,oBAAC,UAAU,IAAC,KAAK,EAAC,OAAO,mNAKZ,CACT;QAEN,6BACE,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,cAAc,EAAE,QAAQ;gBACxB,UAAU,EAAE,QAAQ;gBACpB,GAAG,EAAE,EAAE;aACR;YAED;gBACE;oBACE,oBAAC,UAAU,0BAA6B;oBACxC,oBAAC,YAAY,IAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,GAAI,CACxD;gBACN;oBACE,oBAAC,UAAU,2BAA8B;oBACzC,oBAAC,YAAY,IAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,GAAI,CAC1D;gBACN;oBACE,oBAAC,UAAU,kDAAqD;oBAChE,oBAAC,YAAY,IAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,GAAI,CACxD,CACF;YACN;gBACE,oBAAC,MAAM,IACL,OAAO,EAAE,GAAG,EAAE;wBACZ,IAAI,CAAC;4BACH,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;wBACzC,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;4BAChB,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;wBACnB,CAAC;oBACH,CAAC,EACD,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,SAAS,EACf,QAAQ,EAAE,CAAC,OAAO,IAAI,CAAC,QAAQ,WAGxB,CACL;YAEN;gBACE,oBAAC,UAAU,mBAAsB;gBACjC,oBAAC,kBAAkB,IAAC,KAAK,EAAE,KAAK,GAAI,CAChC,CACF,CACI,CACb,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"ImportForm.js","sourceRoot":"","sources":["../../../src/components/import/ImportForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEvC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,kBAAkB,MAAM,yBAA0B,CAAA;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAKhC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,EAA2B;IACtE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAgB,CAAA;IACtD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAgB,CAAA;IACxD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAgB,CAAA;IACtD,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IAEvB,OAAO,CACL,oBAAC,SAAS;QACR,6BAAK,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;YACzB,KAAK,CAAC,CAAC,CAAC,oBAAC,YAAY,IAAC,KAAK,EAAE,KAAK,GAAI,CAAC,CAAC,CAAC,IAAI;YAC9C,oBAAC,UAAU,6FAGE;YACb,oBAAC,UAAU,IAAC,KAAK,EAAC,OAAO,mNAKZ,CACT;QAEN,6BACE,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,cAAc,EAAE,QAAQ;gBACxB,UAAU,EAAE,QAAQ;gBACpB,GAAG,EAAE,EAAE;aACR;YAED;gBACE;oBACE,oBAAC,UAAU,0BAA6B;oBACxC,oBAAC,YAAY,IAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,GAAI,CACxD;gBACN;oBACE,oBAAC,UAAU,2BAA8B;oBACzC,oBAAC,YAAY,IAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,GAAI,CAC1D;gBACN;oBACE,oBAAC,UAAU,gDAAmD;oBAC9D,oBAAC,YAAY,IAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,GAAI,CACxD,CACF;YACN;gBACE,oBAAC,MAAM,IACL,OAAO,EAAE,GAAG,EAAE;wBACZ,IAAI,CAAC;4BACH,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;wBACzC,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;4BAChB,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;wBACnB,CAAC;oBACH,CAAC,EACD,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,SAAS,EACf,QAAQ,EAAE,CAAC,OAAO,IAAI,CAAC,QAAQ,WAGxB,CACL;YAEN;gBACE,oBAAC,UAAU,mBAAsB;gBACjC,oBAAC,kBAAkB,IAAC,KAAK,EAAE,KAAK,GAAI,CAChC,CACF,CACI,CACb,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,UAAU,CAAA"}