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.
- package/bundle/index.js +104 -213
- package/bundle/index.js.LICENSE.txt +173 -0
- package/bundle/index.js.map +1 -0
- package/dist/components/TextTrack.d.ts +2 -1
- package/dist/components/TextTrack.js.map +1 -1
- package/dist/components/Track.js.map +1 -1
- package/dist/components/header/Header.js +10 -3
- package/dist/components/header/Header.js.map +1 -1
- package/dist/components/header/HeaderMenu.js +199 -11
- package/dist/components/header/HeaderMenu.js.map +1 -1
- package/dist/components/header/MultiAlignmentSelector.js +3 -3
- package/dist/components/header/MultiAlignmentSelector.js.map +1 -1
- package/dist/components/header/{HeaderMenuExtra.d.ts → SettingsMenu.d.ts} +2 -2
- package/dist/components/header/SettingsMenu.js +141 -0
- package/dist/components/header/SettingsMenu.js.map +1 -0
- package/dist/components/header/ZoomControls.d.ts +1 -1
- package/dist/components/header/ZoomControls.js +1 -46
- package/dist/components/header/ZoomControls.js.map +1 -1
- package/dist/components/header/ZoomMenu.d.ts +6 -0
- package/dist/components/header/ZoomMenu.js +33 -0
- package/dist/components/header/ZoomMenu.js.map +1 -0
- package/dist/components/header/ZoomStar.d.ts +6 -0
- package/dist/components/header/ZoomStar.js +40 -0
- package/dist/components/header/ZoomStar.js.map +1 -0
- package/dist/components/tree/renderTreeCanvas.js +6 -3
- package/dist/components/tree/renderTreeCanvas.js.map +1 -1
- package/dist/flatToTree.d.ts +17 -0
- package/dist/flatToTree.js +41 -0
- package/dist/flatToTree.js.map +1 -0
- package/dist/model.d.ts +21 -28
- package/dist/model.js +47 -32
- package/dist/model.js.map +1 -1
- package/dist/parseAsn1.d.ts +34 -0
- package/dist/parseAsn1.js +385 -0
- package/dist/parseAsn1.js.map +1 -0
- package/dist/parseAsn1.test.d.ts +1 -0
- package/dist/parseAsn1.test.js +8 -0
- package/dist/parseAsn1.test.js.map +1 -0
- package/dist/parsers/ClustalMSA.d.ts +1 -1
- package/dist/parsers/ClustalMSA.js.map +1 -1
- package/dist/parsers/EmfMSA.d.ts +1 -1
- package/dist/parsers/FastaMSA.d.ts +1 -1
- package/dist/parsers/StockholmMSA.d.ts +1 -1
- package/dist/parsers/StockholmMSA.js.map +1 -1
- package/dist/renderToSvg.d.ts +3 -2
- package/dist/renderToSvg.js.map +1 -1
- package/dist/reparseTree.d.ts +1 -1
- package/dist/reparseTree.js +2 -0
- package/dist/reparseTree.js.map +1 -1
- package/dist/types.d.ts +38 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/util.d.ts +6 -20
- package/dist/util.js +19 -0
- package/dist/util.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/webpack.d.ts +5 -0
- package/dist/webpack.js +7 -0
- package/dist/webpack.js.map +1 -0
- package/package.json +4 -3
- package/src/__snapshots__/parseAsn1.test.ts.snap +2400 -0
- package/src/components/TextTrack.tsx +2 -1
- package/src/components/Track.tsx +0 -2
- package/src/components/header/Header.tsx +11 -3
- package/src/components/header/HeaderMenu.tsx +215 -11
- package/src/components/header/MultiAlignmentSelector.tsx +7 -6
- package/src/components/header/SettingsMenu.tsx +169 -0
- package/src/components/header/ZoomControls.tsx +1 -52
- package/src/components/header/ZoomMenu.tsx +42 -0
- package/src/components/header/ZoomStar.tsx +74 -0
- package/src/components/msa/renderBoxFeatureCanvasBlock.ts +1 -1
- package/src/components/msa/renderMSABlock.ts +1 -1
- package/src/components/tree/renderTreeCanvas.ts +13 -3
- package/src/flatToTree.ts +57 -0
- package/src/model.ts +75 -61
- package/src/parseAsn1.test.ts +11 -0
- package/src/parseAsn1.ts +494 -0
- package/src/parsers/ClustalMSA.ts +2 -1
- package/src/parsers/EmfMSA.ts +1 -1
- package/src/parsers/FastaMSA.ts +1 -1
- package/src/parsers/StockholmMSA.ts +4 -1
- package/src/renderToSvg.tsx +6 -4
- package/src/reparseTree.ts +3 -1
- package/src/types.ts +44 -0
- package/src/util.ts +26 -22
- package/src/version.ts +1 -1
- package/src/webpack.ts +9 -0
- package/dist/components/header/HeaderMenuExtra.js +0 -122
- package/dist/components/header/HeaderMenuExtra.js.map +0 -1
- 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":"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"}
|
|
@@ -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
|