react-msaview 4.1.1 → 4.3.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 (91) hide show
  1. package/bundle/index.js +104 -213
  2. package/bundle/index.js.LICENSE.txt +173 -0
  3. package/bundle/index.js.map +1 -0
  4. package/dist/components/TextTrack.d.ts +2 -1
  5. package/dist/components/TextTrack.js.map +1 -1
  6. package/dist/components/Track.js.map +1 -1
  7. package/dist/components/header/Header.js +10 -3
  8. package/dist/components/header/Header.js.map +1 -1
  9. package/dist/components/header/HeaderMenu.js +199 -11
  10. package/dist/components/header/HeaderMenu.js.map +1 -1
  11. package/dist/components/header/MultiAlignmentSelector.js +3 -3
  12. package/dist/components/header/MultiAlignmentSelector.js.map +1 -1
  13. package/dist/components/header/{HeaderMenuExtra.d.ts → SettingsMenu.d.ts} +2 -2
  14. package/dist/components/header/SettingsMenu.js +141 -0
  15. package/dist/components/header/SettingsMenu.js.map +1 -0
  16. package/dist/components/header/ZoomControls.d.ts +1 -1
  17. package/dist/components/header/ZoomControls.js +1 -46
  18. package/dist/components/header/ZoomControls.js.map +1 -1
  19. package/dist/components/header/ZoomMenu.d.ts +6 -0
  20. package/dist/components/header/ZoomMenu.js +33 -0
  21. package/dist/components/header/ZoomMenu.js.map +1 -0
  22. package/dist/components/header/ZoomStar.d.ts +6 -0
  23. package/dist/components/header/ZoomStar.js +40 -0
  24. package/dist/components/header/ZoomStar.js.map +1 -0
  25. package/dist/components/tree/renderTreeCanvas.js +6 -3
  26. package/dist/components/tree/renderTreeCanvas.js.map +1 -1
  27. package/dist/flatToTree.d.ts +17 -0
  28. package/dist/flatToTree.js +41 -0
  29. package/dist/flatToTree.js.map +1 -0
  30. package/dist/model.d.ts +21 -28
  31. package/dist/model.js +47 -32
  32. package/dist/model.js.map +1 -1
  33. package/dist/parseAsn1.d.ts +34 -0
  34. package/dist/parseAsn1.js +385 -0
  35. package/dist/parseAsn1.js.map +1 -0
  36. package/dist/parseAsn1.test.d.ts +1 -0
  37. package/dist/parseAsn1.test.js +8 -0
  38. package/dist/parseAsn1.test.js.map +1 -0
  39. package/dist/parsers/ClustalMSA.d.ts +1 -1
  40. package/dist/parsers/ClustalMSA.js.map +1 -1
  41. package/dist/parsers/EmfMSA.d.ts +1 -1
  42. package/dist/parsers/FastaMSA.d.ts +1 -1
  43. package/dist/parsers/StockholmMSA.d.ts +1 -1
  44. package/dist/parsers/StockholmMSA.js.map +1 -1
  45. package/dist/renderToSvg.d.ts +3 -2
  46. package/dist/renderToSvg.js.map +1 -1
  47. package/dist/reparseTree.d.ts +1 -1
  48. package/dist/reparseTree.js +2 -0
  49. package/dist/reparseTree.js.map +1 -1
  50. package/dist/types.d.ts +38 -0
  51. package/dist/types.js +2 -0
  52. package/dist/types.js.map +1 -0
  53. package/dist/util.d.ts +6 -20
  54. package/dist/util.js +19 -0
  55. package/dist/util.js.map +1 -1
  56. package/dist/version.d.ts +1 -1
  57. package/dist/version.js +1 -1
  58. package/dist/webpack.d.ts +5 -0
  59. package/dist/webpack.js +7 -0
  60. package/dist/webpack.js.map +1 -0
  61. package/package.json +4 -3
  62. package/src/__snapshots__/parseAsn1.test.ts.snap +2400 -0
  63. package/src/components/TextTrack.tsx +2 -1
  64. package/src/components/Track.tsx +0 -2
  65. package/src/components/header/Header.tsx +11 -3
  66. package/src/components/header/HeaderMenu.tsx +215 -11
  67. package/src/components/header/MultiAlignmentSelector.tsx +7 -6
  68. package/src/components/header/SettingsMenu.tsx +169 -0
  69. package/src/components/header/ZoomControls.tsx +1 -52
  70. package/src/components/header/ZoomMenu.tsx +42 -0
  71. package/src/components/header/ZoomStar.tsx +74 -0
  72. package/src/components/msa/renderBoxFeatureCanvasBlock.ts +1 -1
  73. package/src/components/msa/renderMSABlock.ts +1 -1
  74. package/src/components/tree/renderTreeCanvas.ts +13 -3
  75. package/src/flatToTree.ts +57 -0
  76. package/src/model.ts +75 -61
  77. package/src/parseAsn1.test.ts +11 -0
  78. package/src/parseAsn1.ts +494 -0
  79. package/src/parsers/ClustalMSA.ts +2 -1
  80. package/src/parsers/EmfMSA.ts +1 -1
  81. package/src/parsers/FastaMSA.ts +1 -1
  82. package/src/parsers/StockholmMSA.ts +4 -1
  83. package/src/renderToSvg.tsx +6 -4
  84. package/src/reparseTree.ts +3 -1
  85. package/src/types.ts +44 -0
  86. package/src/util.ts +26 -22
  87. package/src/version.ts +1 -1
  88. package/src/webpack.ts +9 -0
  89. package/dist/components/header/HeaderMenuExtra.js +0 -122
  90. package/dist/components/header/HeaderMenuExtra.js.map +0 -1
  91. package/src/components/header/HeaderMenuExtra.tsx +0 -135
@@ -1,122 +0,0 @@
1
- import React, { lazy } from 'react';
2
- import CascadingMenuButton from '@jbrowse/core/ui/CascadingMenuButton';
3
- import Assignment from '@mui/icons-material/Assignment';
4
- import FilterAlt from '@mui/icons-material/FilterAlt';
5
- import FolderOpen from '@mui/icons-material/FolderOpen';
6
- import List from '@mui/icons-material/List';
7
- import MoreVert from '@mui/icons-material/Menu';
8
- import PhotoCamera from '@mui/icons-material/PhotoCamera';
9
- import Search from '@mui/icons-material/Search';
10
- import Settings from '@mui/icons-material/Settings';
11
- import Sort from '@mui/icons-material/Sort';
12
- import Visibility from '@mui/icons-material/Visibility';
13
- import { observer } from 'mobx-react';
14
- // lazies
15
- const SettingsDialog = lazy(() => import('../dialogs/SettingsDialog'));
16
- const MetadataDialog = lazy(() => import('../dialogs/MetadataDialog'));
17
- const TracklistDialog = lazy(() => import('../dialogs/TracklistDialog'));
18
- const ExportSVGDialog = lazy(() => import('../dialogs/ExportSVGDialog'));
19
- const FeatureFilterDialog = lazy(() => import('../dialogs/FeatureDialog'));
20
- const UserProvidedDomainsDialog = lazy(() => import('../dialogs/UserProvidedDomainsDialog'));
21
- const InterProScanDialog = lazy(() => import('../dialogs/InterProScanDialog'));
22
- const HeaderMenuExtra = observer(({ model }) => {
23
- const { showDomains, actuallyShowDomains, subFeatureRows, noDomains } = model;
24
- return (React.createElement(CascadingMenuButton, { menuItems: [
25
- {
26
- label: 'Return to import form',
27
- icon: FolderOpen,
28
- onClick: () => {
29
- model.reset();
30
- },
31
- },
32
- {
33
- label: 'Settings',
34
- onClick: () => {
35
- model.queueDialog(onClose => [SettingsDialog, { model, onClose }]);
36
- },
37
- icon: Settings,
38
- },
39
- {
40
- label: 'Metadata',
41
- onClick: () => {
42
- model.queueDialog(onClose => [MetadataDialog, { model, onClose }]);
43
- },
44
- icon: Assignment,
45
- },
46
- {
47
- label: 'Extra tracks',
48
- onClick: () => {
49
- model.queueDialog(onClose => [TracklistDialog, { model, onClose }]);
50
- },
51
- icon: List,
52
- },
53
- {
54
- label: 'Export SVG',
55
- icon: PhotoCamera,
56
- onClick: () => {
57
- model.queueDialog(onClose => [ExportSVGDialog, { onClose, model }]);
58
- },
59
- },
60
- {
61
- label: 'Features/protein domains',
62
- type: 'subMenu',
63
- subMenu: [
64
- {
65
- label: 'Open domains...',
66
- icon: FolderOpen,
67
- onClick: () => {
68
- model.queueDialog(handleClose => [
69
- UserProvidedDomainsDialog,
70
- { handleClose, model },
71
- ]);
72
- },
73
- },
74
- {
75
- label: 'Query InterProScan for domains...',
76
- icon: Search,
77
- onClick: () => {
78
- model.queueDialog(handleClose => [
79
- InterProScanDialog,
80
- { handleClose, model },
81
- ]);
82
- },
83
- },
84
- {
85
- label: `Show domains${noDomains ? ' (no domains loaded)' : ''}`,
86
- disabled: noDomains,
87
- icon: Visibility,
88
- checked: actuallyShowDomains ? showDomains : false,
89
- type: 'checkbox',
90
- onClick: () => {
91
- model.setShowDomains(!showDomains);
92
- },
93
- },
94
- {
95
- label: `Use sub-row layout${noDomains ? ' (no domains loaded)' : ''}`,
96
- disabled: noDomains,
97
- checked: actuallyShowDomains ? subFeatureRows : false,
98
- icon: Sort,
99
- type: 'checkbox',
100
- onClick: () => {
101
- model.setSubFeatureRows(!subFeatureRows);
102
- },
103
- },
104
- {
105
- label: `Filter domains${noDomains ? ' (no domains loaded)' : ''}`,
106
- icon: FilterAlt,
107
- disabled: noDomains,
108
- onClick: () => {
109
- model.queueDialog(onClose => [
110
- FeatureFilterDialog,
111
- { onClose, model },
112
- ]);
113
- },
114
- },
115
- ],
116
- },
117
- ...model.extraViewMenuItems(),
118
- ] },
119
- React.createElement(MoreVert, null)));
120
- });
121
- export default HeaderMenuExtra;
122
- //# sourceMappingURL=HeaderMenuExtra.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HeaderMenuExtra.js","sourceRoot":"","sources":["../../../src/components/header/HeaderMenuExtra.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,SAAS,MAAM,+BAA+B,CAAA;AACrD,OAAO,UAAU,MAAM,gCAAgC,CAAA;AACvD,OAAO,IAAI,MAAM,0BAA0B,CAAA;AAC3C,OAAO,QAAQ,MAAM,0BAA0B,CAAA;AAC/C,OAAO,WAAW,MAAM,iCAAiC,CAAA;AACzD,OAAO,MAAM,MAAM,4BAA4B,CAAA;AAC/C,OAAO,QAAQ,MAAM,8BAA8B,CAAA;AACnD,OAAO,IAAI,MAAM,0BAA0B,CAAA;AAC3C,OAAO,UAAU,MAAM,gCAAgC,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAIrC,SAAS;AACT,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAA;AACtE,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAA;AACtE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAA;AACxE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAA;AACxE,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAA;AAC1E,MAAM,yBAAyB,GAAG,IAAI,CACpC,GAAG,EAAE,CAAC,MAAM,CAAC,sCAAsC,CAAC,CACrD,CAAA;AACD,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAA;AAE9E,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,EAAE,KAAK,EAA2B,EAAE,EAAE;IACtE,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IAC7E,OAAO,CACL,oBAAC,mBAAmB,IAClB,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,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;gBACpE,CAAC;gBACD,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;gBACpE,CAAC;gBACD,IAAI,EAAE,UAAU;aACjB;YACD;gBACE,KAAK,EAAE,cAAc;gBACrB,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;gBACrE,CAAC;gBACD,IAAI,EAAE,IAAI;aACX;YAED;gBACE,KAAK,EAAE,YAAY;gBACnB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;gBACrE,CAAC;aACF;YACD;gBACE,KAAK,EAAE,0BAA0B;gBACjC,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE;oBACP;wBACE,KAAK,EAAE,iBAAiB;wBACxB,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,GAAG,EAAE;4BACZ,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;gCAC/B,yBAAyB;gCACzB,EAAE,WAAW,EAAE,KAAK,EAAE;6BACvB,CAAC,CAAA;wBACJ,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,mCAAmC;wBAC1C,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,GAAG,EAAE;4BACZ,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;gCAC/B,kBAAkB;gCAClB,EAAE,WAAW,EAAE,KAAK,EAAE;6BACvB,CAAC,CAAA;wBACJ,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,eAAe,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC/D,QAAQ,EAAE,SAAS;wBACnB,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK;wBAClD,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,GAAG,EAAE;4BACZ,KAAK,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,CAAA;wBACpC,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,qBAAqB,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,EAAE;wBACrE,QAAQ,EAAE,SAAS;wBACnB,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK;wBACrD,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,GAAG,EAAE;4BACZ,KAAK,CAAC,iBAAiB,CAAC,CAAC,cAAc,CAAC,CAAA;wBAC1C,CAAC;qBACF;oBACD;wBACE,KAAK,EAAE,iBAAiB,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,EAAE;wBACjE,IAAI,EAAE,SAAS;wBACf,QAAQ,EAAE,SAAS;wBACnB,OAAO,EAAE,GAAG,EAAE;4BACZ,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gCAC3B,mBAAmB;gCACnB,EAAE,OAAO,EAAE,KAAK,EAAE;6BACnB,CAAC,CAAA;wBACJ,CAAC;qBACF;iBACF;aACF;YACD,GAAG,KAAK,CAAC,kBAAkB,EAAE;SAC9B;QAED,oBAAC,QAAQ,OAAG,CACQ,CACvB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,eAAe,CAAA"}
@@ -1,135 +0,0 @@
1
- import React, { lazy } from 'react'
2
-
3
- import CascadingMenuButton from '@jbrowse/core/ui/CascadingMenuButton'
4
- import Assignment from '@mui/icons-material/Assignment'
5
- import FilterAlt from '@mui/icons-material/FilterAlt'
6
- import FolderOpen from '@mui/icons-material/FolderOpen'
7
- import List from '@mui/icons-material/List'
8
- import MoreVert from '@mui/icons-material/Menu'
9
- import PhotoCamera from '@mui/icons-material/PhotoCamera'
10
- import Search from '@mui/icons-material/Search'
11
- import Settings from '@mui/icons-material/Settings'
12
- import Sort from '@mui/icons-material/Sort'
13
- import Visibility from '@mui/icons-material/Visibility'
14
- import { observer } from 'mobx-react'
15
-
16
- import type { MsaViewModel } from '../../model'
17
-
18
- // lazies
19
- const SettingsDialog = lazy(() => import('../dialogs/SettingsDialog'))
20
- const MetadataDialog = lazy(() => import('../dialogs/MetadataDialog'))
21
- const TracklistDialog = lazy(() => import('../dialogs/TracklistDialog'))
22
- const ExportSVGDialog = lazy(() => import('../dialogs/ExportSVGDialog'))
23
- const FeatureFilterDialog = lazy(() => import('../dialogs/FeatureDialog'))
24
- const UserProvidedDomainsDialog = lazy(
25
- () => import('../dialogs/UserProvidedDomainsDialog'),
26
- )
27
- const InterProScanDialog = lazy(() => import('../dialogs/InterProScanDialog'))
28
-
29
- const HeaderMenuExtra = observer(({ model }: { model: MsaViewModel }) => {
30
- const { showDomains, actuallyShowDomains, subFeatureRows, noDomains } = model
31
- return (
32
- <CascadingMenuButton
33
- menuItems={[
34
- {
35
- label: 'Return to import form',
36
- icon: FolderOpen,
37
- onClick: () => {
38
- model.reset()
39
- },
40
- },
41
- {
42
- label: 'Settings',
43
- onClick: () => {
44
- model.queueDialog(onClose => [SettingsDialog, { model, onClose }])
45
- },
46
- icon: Settings,
47
- },
48
- {
49
- label: 'Metadata',
50
- onClick: () => {
51
- model.queueDialog(onClose => [MetadataDialog, { model, onClose }])
52
- },
53
- icon: Assignment,
54
- },
55
- {
56
- label: 'Extra tracks',
57
- onClick: () => {
58
- model.queueDialog(onClose => [TracklistDialog, { model, onClose }])
59
- },
60
- icon: List,
61
- },
62
-
63
- {
64
- label: 'Export SVG',
65
- icon: PhotoCamera,
66
- onClick: () => {
67
- model.queueDialog(onClose => [ExportSVGDialog, { onClose, model }])
68
- },
69
- },
70
- {
71
- label: 'Features/protein domains',
72
- type: 'subMenu',
73
- subMenu: [
74
- {
75
- label: 'Open domains...',
76
- icon: FolderOpen,
77
- onClick: () => {
78
- model.queueDialog(handleClose => [
79
- UserProvidedDomainsDialog,
80
- { handleClose, model },
81
- ])
82
- },
83
- },
84
- {
85
- label: 'Query InterProScan for domains...',
86
- icon: Search,
87
- onClick: () => {
88
- model.queueDialog(handleClose => [
89
- InterProScanDialog,
90
- { handleClose, model },
91
- ])
92
- },
93
- },
94
- {
95
- label: `Show domains${noDomains ? ' (no domains loaded)' : ''}`,
96
- disabled: noDomains,
97
- icon: Visibility,
98
- checked: actuallyShowDomains ? showDomains : false,
99
- type: 'checkbox',
100
- onClick: () => {
101
- model.setShowDomains(!showDomains)
102
- },
103
- },
104
- {
105
- label: `Use sub-row layout${noDomains ? ' (no domains loaded)' : ''}`,
106
- disabled: noDomains,
107
- checked: actuallyShowDomains ? subFeatureRows : false,
108
- icon: Sort,
109
- type: 'checkbox',
110
- onClick: () => {
111
- model.setSubFeatureRows(!subFeatureRows)
112
- },
113
- },
114
- {
115
- label: `Filter domains${noDomains ? ' (no domains loaded)' : ''}`,
116
- icon: FilterAlt,
117
- disabled: noDomains,
118
- onClick: () => {
119
- model.queueDialog(onClose => [
120
- FeatureFilterDialog,
121
- { onClose, model },
122
- ])
123
- },
124
- },
125
- ],
126
- },
127
- ...model.extraViewMenuItems(),
128
- ]}
129
- >
130
- <MoreVert />
131
- </CascadingMenuButton>
132
- )
133
- })
134
-
135
- export default HeaderMenuExtra