react-msaview 3.1.12 → 3.2.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.
- package/bundle/index.js +32 -31
- package/dist/colorSchemes.d.ts +2 -2
- package/dist/colorSchemes.js +5 -6
- package/dist/colorSchemes.js.map +1 -1
- package/dist/components/Loading.d.ts +1 -1
- package/dist/components/Loading.js +7 -5
- package/dist/components/Loading.js.map +1 -1
- package/dist/components/MSAView.d.ts +1 -1
- package/dist/components/MSAView.js +13 -9
- package/dist/components/MSAView.js.map +1 -1
- package/dist/components/ResizeHandles.d.ts +1 -1
- package/dist/components/ResizeHandles.js +8 -4
- package/dist/components/ResizeHandles.js.map +1 -1
- package/dist/components/SequenceTextArea.js +9 -3
- package/dist/components/SequenceTextArea.js.map +1 -1
- package/dist/components/TextTrack.d.ts +1 -1
- package/dist/components/TextTrack.js +1 -1
- package/dist/components/TextTrack.js.map +1 -1
- package/dist/components/Track.d.ts +1 -1
- package/dist/components/Track.js +6 -2
- package/dist/components/Track.js.map +1 -1
- package/dist/components/VerticalScrollbar.d.ts +6 -0
- package/dist/components/VerticalScrollbar.js +69 -0
- package/dist/components/VerticalScrollbar.js.map +1 -0
- package/dist/components/dialogs/AboutDialog.js +3 -1
- package/dist/components/dialogs/AboutDialog.js.map +1 -1
- package/dist/components/dialogs/AddTrackDialog.d.ts +3 -3
- package/dist/components/dialogs/AddTrackDialog.js +8 -3
- package/dist/components/dialogs/AddTrackDialog.js.map +1 -1
- package/dist/components/dialogs/DomainDialog.d.ts +1 -1
- package/dist/components/dialogs/DomainDialog.js +8 -4
- package/dist/components/dialogs/DomainDialog.js.map +1 -1
- package/dist/components/dialogs/ExportSVGDialog.d.ts +1 -1
- package/dist/components/dialogs/ExportSVGDialog.js +29 -17
- package/dist/components/dialogs/ExportSVGDialog.js.map +1 -1
- package/dist/components/dialogs/FeatureDialog.d.ts +1 -1
- package/dist/components/dialogs/FeatureDialog.js +8 -4
- package/dist/components/dialogs/FeatureDialog.js.map +1 -1
- package/dist/components/dialogs/{InterProScanPanel.d.ts → InterProScanDialog.d.ts} +1 -1
- package/dist/components/dialogs/{InterProScanPanel.js → InterProScanDialog.js} +26 -11
- package/dist/components/dialogs/InterProScanDialog.js.map +1 -0
- package/dist/components/dialogs/MetadataDialog.d.ts +1 -1
- package/dist/components/dialogs/MetadataDialog.js +3 -1
- package/dist/components/dialogs/MetadataDialog.js.map +1 -1
- package/dist/components/dialogs/SettingsDialog.d.ts +1 -1
- package/dist/components/dialogs/SettingsDialog.js +62 -15
- package/dist/components/dialogs/SettingsDialog.js.map +1 -1
- package/dist/components/dialogs/TracklistDialog.d.ts +3 -3
- package/dist/components/dialogs/TracklistDialog.js +8 -3
- package/dist/components/dialogs/TracklistDialog.js.map +1 -1
- package/dist/components/dialogs/UserProvidedDomainsDialog.d.ts +7 -0
- package/dist/components/dialogs/UserProvidedDomainsDialog.js +64 -0
- package/dist/components/dialogs/UserProvidedDomainsDialog.js.map +1 -0
- package/dist/components/header/Header.d.ts +1 -1
- package/dist/components/header/Header.js +11 -4
- package/dist/components/header/Header.js.map +1 -1
- package/dist/components/header/HeaderInfoArea.d.ts +1 -1
- package/dist/components/header/HeaderInfoArea.js +5 -2
- package/dist/components/header/HeaderInfoArea.js.map +1 -1
- package/dist/components/header/HeaderMenu.d.ts +1 -1
- package/dist/components/header/HeaderMenu.js +12 -4
- package/dist/components/header/HeaderMenu.js.map +1 -1
- package/dist/components/header/HeaderMenuExtra.d.ts +1 -1
- package/dist/components/header/HeaderMenuExtra.js +55 -35
- package/dist/components/header/HeaderMenuExtra.js.map +1 -1
- package/dist/components/header/HeaderStatusArea.d.ts +2 -2
- package/dist/components/header/HeaderStatusArea.js +1 -1
- package/dist/components/header/HeaderStatusArea.js.map +1 -1
- package/dist/components/header/MultiAlignmentSelector.d.ts +1 -1
- package/dist/components/header/ZoomControls.js +45 -3
- package/dist/components/header/ZoomControls.js.map +1 -1
- package/dist/components/import/ImportForm.d.ts +3 -3
- package/dist/components/import/ImportForm.js +15 -2
- package/dist/components/import/ImportForm.js.map +1 -1
- package/dist/components/import/ImportFormExamples.d.ts +1 -1
- package/dist/components/import/ImportFormExamples.js +53 -38
- package/dist/components/import/ImportFormExamples.js.map +1 -1
- package/dist/components/import/util.d.ts +2 -2
- package/dist/components/minimap/Minimap.d.ts +1 -1
- package/dist/components/minimap/Minimap.js +24 -17
- package/dist/components/minimap/Minimap.js.map +1 -1
- package/dist/components/minimap/MinimapSVG.d.ts +1 -1
- package/dist/components/minimap/MinimapSVG.js +1 -1
- package/dist/components/minimap/MinimapSVG.js.map +1 -1
- package/dist/components/msa/MSACanvas.d.ts +1 -1
- package/dist/components/msa/MSACanvas.js +3 -3
- package/dist/components/msa/MSACanvas.js.map +1 -1
- package/dist/components/msa/MSACanvasBlock.d.ts +3 -3
- package/dist/components/msa/MSACanvasBlock.js +9 -6
- package/dist/components/msa/MSACanvasBlock.js.map +1 -1
- package/dist/components/msa/MSAMouseoverCanvas.d.ts +1 -1
- package/dist/components/msa/MSAPanel.d.ts +1 -1
- package/dist/components/msa/renderBoxFeatureCanvasBlock.d.ts +1 -1
- package/dist/components/msa/renderBoxFeatureCanvasBlock.js +3 -4
- package/dist/components/msa/renderBoxFeatureCanvasBlock.js.map +1 -1
- package/dist/components/msa/renderMSABlock.d.ts +2 -2
- package/dist/components/msa/renderMSABlock.js +16 -16
- package/dist/components/msa/renderMSABlock.js.map +1 -1
- package/dist/components/msa/renderMSAMouseover.d.ts +1 -1
- package/dist/components/msa/renderMSAMouseover.js +3 -3
- package/dist/components/msa/renderMSAMouseover.js.map +1 -1
- package/dist/components/tree/TreeBranchMenu.d.ts +1 -1
- package/dist/components/tree/TreeBranchMenu.js +6 -3
- package/dist/components/tree/TreeBranchMenu.js.map +1 -1
- package/dist/components/tree/TreeCanvas.d.ts +1 -1
- package/dist/components/tree/TreeCanvas.js +13 -12
- package/dist/components/tree/TreeCanvas.js.map +1 -1
- package/dist/components/tree/TreeCanvasBlock.d.ts +1 -1
- package/dist/components/tree/TreeCanvasBlock.js +13 -5
- package/dist/components/tree/TreeCanvasBlock.js.map +1 -1
- package/dist/components/tree/TreeNodeMenu.d.ts +1 -1
- package/dist/components/tree/TreeNodeMenu.js +3 -3
- package/dist/components/tree/TreeNodeMenu.js.map +1 -1
- package/dist/components/tree/TreePanel.d.ts +1 -1
- package/dist/components/tree/TreeRuler.d.ts +1 -1
- package/dist/components/tree/dialogs/TreeNodeInfoDialog.d.ts +3 -3
- package/dist/components/tree/dialogs/TreeNodeInfoDialog.js +5 -2
- package/dist/components/tree/dialogs/TreeNodeInfoDialog.js.map +1 -1
- package/dist/components/tree/renderTreeCanvas.d.ts +3 -3
- package/dist/components/tree/renderTreeCanvas.js +25 -9
- package/dist/components/tree/renderTreeCanvas.js.map +1 -1
- package/dist/components/util.js +1 -4
- package/dist/components/util.js.map +1 -1
- package/dist/ggplotPalettes.js.map +1 -1
- package/dist/launchInterProScan.d.ts +1 -1
- package/dist/launchInterProScan.js +11 -13
- package/dist/launchInterProScan.js.map +1 -1
- package/dist/model/DataModel.d.ts +5 -1
- package/dist/model/DataModel.js +10 -1
- package/dist/model/DataModel.js.map +1 -1
- package/dist/model/DialogQueue.d.ts +1 -1
- package/dist/model/DialogQueue.js +0 -1
- package/dist/model/DialogQueue.js.map +1 -1
- package/dist/model.d.ts +187 -35
- package/dist/model.js +317 -94
- package/dist/model.js.map +1 -1
- package/dist/parseGFF.js +8 -6
- package/dist/parseGFF.js.map +1 -1
- package/dist/parseNewick.js +1 -2
- package/dist/parseNewick.js.map +1 -1
- package/dist/parsers/ClustalMSA.d.ts +2 -2
- package/dist/parsers/ClustalMSA.js.map +1 -1
- package/dist/parsers/FastaMSA.d.ts +1 -1
- package/dist/parsers/FastaMSA.js +3 -3
- package/dist/parsers/FastaMSA.js.map +1 -1
- package/dist/parsers/StockholmMSA.d.ts +7 -7
- package/dist/parsers/StockholmMSA.js +4 -4
- package/dist/parsers/StockholmMSA.js.map +1 -1
- package/dist/renderToSvg.d.ts +2 -2
- package/dist/renderToSvg.js +6 -11
- package/dist/renderToSvg.js.map +1 -1
- package/dist/reparseTree.d.ts +1 -1
- package/dist/rowCoordinateCalculations.d.ts +2 -0
- package/dist/rowCoordinateCalculations.js +26 -0
- package/dist/rowCoordinateCalculations.js.map +1 -0
- package/dist/rowCoordinateCalculations.test.d.ts +1 -0
- package/dist/rowCoordinateCalculations.test.js +18 -0
- package/dist/rowCoordinateCalculations.test.js.map +1 -0
- package/dist/util.d.ts +2 -2
- package/dist/util.js +0 -2
- package/dist/util.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +10 -3
- package/src/colorSchemes.ts +7 -6
- package/src/components/Checkbox2.tsx +1 -1
- package/src/components/Loading.tsx +18 -6
- package/src/components/MSAView.tsx +27 -18
- package/src/components/ResizeHandles.tsx +9 -5
- package/src/components/SequenceTextArea.tsx +10 -4
- package/src/components/TextTrack.tsx +3 -3
- package/src/components/Track.tsx +9 -5
- package/src/components/VerticalScrollbar.tsx +89 -0
- package/src/components/dialogs/AboutDialog.tsx +7 -1
- package/src/components/dialogs/AddTrackDialog.tsx +15 -5
- package/src/components/dialogs/DomainDialog.tsx +12 -5
- package/src/components/dialogs/ExportSVGDialog.tsx +37 -18
- package/src/components/dialogs/FeatureDialog.tsx +10 -8
- package/src/components/dialogs/{InterProScanPanel.tsx → InterProScanDialog.tsx} +30 -13
- package/src/components/dialogs/MetadataDialog.tsx +9 -2
- package/src/components/dialogs/SettingsDialog.tsx +98 -19
- package/src/components/dialogs/TracklistDialog.tsx +18 -4
- package/src/components/dialogs/UserProvidedDomainsDialog.tsx +139 -0
- package/src/components/header/Header.tsx +12 -5
- package/src/components/header/HeaderInfoArea.tsx +4 -3
- package/src/components/header/HeaderMenu.tsx +13 -8
- package/src/components/header/HeaderMenuExtra.tsx +59 -43
- package/src/components/header/HeaderStatusArea.tsx +2 -6
- package/src/components/header/MultiAlignmentSelector.tsx +1 -1
- package/src/components/header/ZoomControls.tsx +52 -2
- package/src/components/import/ImportForm.tsx +16 -4
- package/src/components/import/ImportFormExamples.tsx +77 -64
- package/src/components/import/util.ts +2 -2
- package/src/components/minimap/Minimap.tsx +34 -29
- package/src/components/minimap/MinimapSVG.tsx +2 -2
- package/src/components/msa/MSACanvas.tsx +11 -4
- package/src/components/msa/MSACanvasBlock.tsx +10 -7
- package/src/components/msa/MSAMouseoverCanvas.tsx +1 -1
- package/src/components/msa/MSAPanel.tsx +1 -1
- package/src/components/msa/renderBoxFeatureCanvasBlock.ts +8 -9
- package/src/components/msa/renderMSABlock.ts +44 -24
- package/src/components/msa/renderMSAMouseover.ts +4 -4
- package/src/components/tree/TreeBranchMenu.tsx +6 -4
- package/src/components/tree/TreeCanvas.tsx +15 -16
- package/src/components/tree/TreeCanvasBlock.tsx +14 -6
- package/src/components/tree/TreeNodeMenu.tsx +4 -4
- package/src/components/tree/TreePanel.tsx +1 -1
- package/src/components/tree/TreeRuler.tsx +1 -1
- package/src/components/tree/dialogs/TreeNodeInfoDialog.tsx +12 -3
- package/src/components/tree/renderTreeCanvas.ts +32 -12
- package/src/components/util.ts +2 -5
- package/src/ggplotPalettes.ts +1 -1
- package/src/launchInterProScan.ts +13 -15
- package/src/model/DataModel.ts +10 -0
- package/src/model/DialogQueue.ts +1 -2
- package/src/model.ts +355 -112
- package/src/parseGFF.ts +13 -11
- package/src/parseNewick.ts +4 -4
- package/src/parsers/ClustalMSA.ts +3 -3
- package/src/parsers/FastaMSA.ts +5 -5
- package/src/parsers/StockholmMSA.ts +11 -11
- package/src/renderToSvg.tsx +7 -8
- package/src/reparseTree.ts +1 -1
- package/src/rowCoordinateCalculations.test.ts +19 -0
- package/src/rowCoordinateCalculations.ts +26 -0
- package/src/util.ts +2 -4
- package/src/version.ts +1 -1
- package/dist/components/dialogs/InterProScanPanel.js.map +0 -1
- package/dist/components/dialogs/UserProvidedResultPanel.d.ts +0 -7
- package/dist/components/dialogs/UserProvidedResultPanel.js +0 -56
- package/dist/components/dialogs/UserProvidedResultPanel.js.map +0 -1
- package/src/components/dialogs/UserProvidedResultPanel.tsx +0 -119
|
@@ -7,32 +7,44 @@ export default function ExportSVGDialog({ model, onClose, }) {
|
|
|
7
7
|
const [exportType, setExportType] = useState('viewport');
|
|
8
8
|
const [error, setError] = useState();
|
|
9
9
|
const theme = useTheme();
|
|
10
|
-
return (React.createElement(Dialog, { onClose: () =>
|
|
10
|
+
return (React.createElement(Dialog, { onClose: () => {
|
|
11
|
+
onClose();
|
|
12
|
+
}, open: true, title: "Export SVG" },
|
|
11
13
|
React.createElement(DialogContent, null,
|
|
12
14
|
error ? React.createElement(ErrorMessage, { error: error }) : null,
|
|
13
15
|
React.createElement(Typography, null, "Settings:"),
|
|
14
|
-
React.createElement(Checkbox2, { label: "Include minimap?", disabled: exportType === 'entire', checked: includeMinimap, onChange: () =>
|
|
16
|
+
React.createElement(Checkbox2, { label: "Include minimap?", disabled: exportType === 'entire', checked: includeMinimap, onChange: () => {
|
|
17
|
+
setIncludeMinimap(!includeMinimap);
|
|
18
|
+
} }),
|
|
15
19
|
React.createElement("div", null,
|
|
16
20
|
React.createElement(FormControl, null,
|
|
17
21
|
React.createElement(FormLabel, null, "Export type"),
|
|
18
|
-
React.createElement(RadioGroup, { value: exportType, onChange: event =>
|
|
22
|
+
React.createElement(RadioGroup, { value: exportType, onChange: event => {
|
|
23
|
+
setExportType(event.target.value);
|
|
24
|
+
} },
|
|
19
25
|
React.createElement(FormControlLabel, { value: "entire", control: React.createElement(Radio, null), label: "Entire MSA" }),
|
|
20
26
|
React.createElement(FormControlLabel, { value: "viewport", control: React.createElement(Radio, null), label: "Current viewport only" }))))),
|
|
21
27
|
React.createElement(DialogActions, null,
|
|
22
|
-
React.createElement(Button, { variant: "contained", color: "primary", onClick:
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
28
|
+
React.createElement(Button, { variant: "contained", color: "primary", onClick: () => {
|
|
29
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
30
|
+
;
|
|
31
|
+
(async () => {
|
|
32
|
+
try {
|
|
33
|
+
await model.exportSVG({
|
|
34
|
+
theme,
|
|
35
|
+
includeMinimap: exportType === 'entire' ? false : includeMinimap,
|
|
36
|
+
exportType,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
catch (e) {
|
|
40
|
+
console.error(e);
|
|
41
|
+
setError(e);
|
|
42
|
+
}
|
|
43
|
+
onClose();
|
|
44
|
+
})();
|
|
35
45
|
} }, "Submit"),
|
|
36
|
-
React.createElement(Button, { variant: "contained", color: "secondary", onClick: () =>
|
|
46
|
+
React.createElement(Button, { variant: "contained", color: "secondary", onClick: () => {
|
|
47
|
+
onClose();
|
|
48
|
+
} }, "Cancel"))));
|
|
37
49
|
}
|
|
38
50
|
//# sourceMappingURL=ExportSVGDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExportSVGDialog.js","sourceRoot":"","sources":["../../../src/components/dialogs/ExportSVGDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EACL,MAAM,EACN,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,UAAU,EACV,KAAK,EACL,UAAU,EACV,QAAQ,GACT,MAAM,eAAe,CAAA;AAGtB,OAAO,SAAS,MAAM,cAAc,CAAA;AAEpC,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,KAAK,EACL,OAAO,GAIR;IACC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC1D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAA;IACxD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAW,CAAA;IAC7C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,OAAO,CACL,oBAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"ExportSVGDialog.js","sourceRoot":"","sources":["../../../src/components/dialogs/ExportSVGDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EACL,MAAM,EACN,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,UAAU,EACV,KAAK,EACL,UAAU,EACV,QAAQ,GACT,MAAM,eAAe,CAAA;AAGtB,OAAO,SAAS,MAAM,cAAc,CAAA;AAEpC,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,KAAK,EACL,OAAO,GAIR;IACC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC1D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAA;IACxD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAW,CAAA;IAC7C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,OAAO,CACL,oBAAC,MAAM,IACL,OAAO,EAAE,GAAG,EAAE;YACZ,OAAO,EAAE,CAAA;QACX,CAAC,EACD,IAAI,QACJ,KAAK,EAAC,YAAY;QAElB,oBAAC,aAAa;YACX,KAAK,CAAC,CAAC,CAAC,oBAAC,YAAY,IAAC,KAAK,EAAE,KAAK,GAAI,CAAC,CAAC,CAAC,IAAI;YAC9C,oBAAC,UAAU,oBAAuB;YAClC,oBAAC,SAAS,IACR,KAAK,EAAC,kBAAkB,EACxB,QAAQ,EAAE,UAAU,KAAK,QAAQ,EACjC,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,GAAG,EAAE;oBACb,iBAAiB,CAAC,CAAC,cAAc,CAAC,CAAA;gBACpC,CAAC,GACD;YACF;gBACE,oBAAC,WAAW;oBACV,oBAAC,SAAS,sBAAwB;oBAClC,oBAAC,UAAU,IACT,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,KAAK,CAAC,EAAE;4BAChB,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;wBACnC,CAAC;wBAED,oBAAC,gBAAgB,IACf,KAAK,EAAC,QAAQ,EACd,OAAO,EAAE,oBAAC,KAAK,OAAG,EAClB,KAAK,EAAC,YAAY,GAClB;wBACF,oBAAC,gBAAgB,IACf,KAAK,EAAC,UAAU,EAChB,OAAO,EAAE,oBAAC,KAAK,OAAG,EAClB,KAAK,EAAC,uBAAuB,GAC7B,CACS,CACD,CACV,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,KAAK,CAAC,SAAS,CAAC;gCACpB,KAAK;gCACL,cAAc,EACZ,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc;gCAClD,UAAU;6BACX,CAAC,CAAA;wBACJ,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;4BAChB,QAAQ,CAAC,CAAC,CAAC,CAAA;wBACb,CAAC;wBACD,OAAO,EAAE,CAAA;oBACX,CAAC,CAAC,EAAE,CAAA;gBACN,CAAC,aAGM;YACT,oBAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,WAAW,EACjB,OAAO,EAAE,GAAG,EAAE;oBACZ,OAAO,EAAE,CAAA;gBACX,CAAC,aAGM,CACK,CACT,CACV,CAAA;AACH,CAAC"}
|
|
@@ -18,8 +18,8 @@ const Toggles = observer(function ({ model }) {
|
|
|
18
18
|
} }, "Toggle all off")));
|
|
19
19
|
});
|
|
20
20
|
const Table = observer(function ({ model }) {
|
|
21
|
-
const {
|
|
22
|
-
const values = [...
|
|
21
|
+
const { tidyInterProAnnotationTypes, featureFilters } = model;
|
|
22
|
+
const values = [...tidyInterProAnnotationTypes.values()];
|
|
23
23
|
const palette = getPalette(values.length - 1);
|
|
24
24
|
return (React.createElement(React.Fragment, null,
|
|
25
25
|
React.createElement(Toggles, { model: model }),
|
|
@@ -32,7 +32,9 @@ const Table = observer(function ({ model }) {
|
|
|
32
32
|
React.createElement("td", null, "description"))),
|
|
33
33
|
React.createElement("tbody", null, values.map(({ accession, name, description }, idx) => (React.createElement("tr", { key: accession },
|
|
34
34
|
React.createElement("td", null,
|
|
35
|
-
React.createElement("input", { type: "checkbox", checked: featureFilters.get(accession) ?? false, onChange: () =>
|
|
35
|
+
React.createElement("input", { type: "checkbox", checked: featureFilters.get(accession) ?? false, onChange: () => {
|
|
36
|
+
model.setFilter(accession, !model.featureFilters.get(accession));
|
|
37
|
+
} })),
|
|
36
38
|
React.createElement("td", null, accession),
|
|
37
39
|
React.createElement("td", null, name),
|
|
38
40
|
React.createElement("td", null, description),
|
|
@@ -44,7 +46,9 @@ const Table = observer(function ({ model }) {
|
|
|
44
46
|
} })))))))));
|
|
45
47
|
});
|
|
46
48
|
const FeatureTypeDialog = observer(function ({ onClose, model, }) {
|
|
47
|
-
return (React.createElement(Dialog, { onClose: () =>
|
|
49
|
+
return (React.createElement(Dialog, { onClose: () => {
|
|
50
|
+
onClose();
|
|
51
|
+
}, open: true, title: "Feature filters", maxWidth: "xl" },
|
|
48
52
|
React.createElement(DialogContent, null,
|
|
49
53
|
React.createElement(Table, { model: model }))));
|
|
50
54
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureDialog.js","sourceRoot":"","sources":["../../../src/components/dialogs/FeatureDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAIrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,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,KAAK,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,EAA2B;IACjE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"FeatureDialog.js","sourceRoot":"","sources":["../../../src/components/dialogs/FeatureDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { observer } from 'mobx-react';
|
|
|
3
3
|
import { Button, DialogActions, DialogContent, Typography } from '@mui/material';
|
|
4
4
|
import { getSession } from '@jbrowse/core/util';
|
|
5
5
|
import { launchInterProScan } from '../../launchInterProScan';
|
|
6
|
+
import { Dialog } from '@jbrowse/core/ui';
|
|
6
7
|
const InterProScanDialog = observer(function ({ handleClose, model, }) {
|
|
7
8
|
const [vals, setVals] = useState([
|
|
8
9
|
{
|
|
@@ -132,29 +133,41 @@ const InterProScanDialog = observer(function ({ handleClose, model, }) {
|
|
|
132
133
|
]);
|
|
133
134
|
const programs = vals.filter(e => e.checked).map(e => e.name);
|
|
134
135
|
const [show, setShow] = useState(false);
|
|
135
|
-
return (React.createElement(
|
|
136
|
+
return (React.createElement(Dialog, { maxWidth: "xl", title: "Query InterProScan API for domains", onClose: () => {
|
|
137
|
+
handleClose();
|
|
138
|
+
}, open: true },
|
|
136
139
|
React.createElement(DialogContent, null,
|
|
137
|
-
React.createElement(Typography, null, "This will run InterProScan on all rows of the current MSA"),
|
|
138
|
-
React.createElement(Button, { onClick: () =>
|
|
140
|
+
React.createElement(Typography, null, "This will run InterProScan via the InterProScan API on all rows of the current MSA"),
|
|
141
|
+
React.createElement(Button, { onClick: () => {
|
|
142
|
+
setShow(!show);
|
|
143
|
+
} },
|
|
139
144
|
show ? 'Hide' : 'Show',
|
|
140
145
|
" advanced options"),
|
|
141
146
|
show ? (React.createElement("div", null,
|
|
142
147
|
React.createElement(Typography, null, "Select algorithms for InterProScan to run"),
|
|
143
148
|
React.createElement("div", null,
|
|
144
|
-
React.createElement(Button, { variant: "contained", color: "secondary", onClick: () =>
|
|
145
|
-
|
|
149
|
+
React.createElement(Button, { variant: "contained", color: "secondary", onClick: () => {
|
|
150
|
+
setVals(vals.map(v => ({ ...v, checked: false })));
|
|
151
|
+
} }, "Select none"),
|
|
152
|
+
React.createElement(Button, { variant: "contained", color: "primary", onClick: () => {
|
|
153
|
+
setVals(vals.map(v => ({ ...v, checked: true })));
|
|
154
|
+
} }, "Select all")),
|
|
146
155
|
React.createElement("table", null,
|
|
147
156
|
React.createElement("tbody", null, vals
|
|
148
157
|
.sort((a, b) => a.category.localeCompare(b.category))
|
|
149
158
|
.map(({ name, checked, category }) => (React.createElement("tr", { key: name },
|
|
150
159
|
React.createElement("td", null,
|
|
151
|
-
React.createElement("input", { type: "checkbox", key: name, checked: checked, onChange: () =>
|
|
152
|
-
|
|
153
|
-
|
|
160
|
+
React.createElement("input", { type: "checkbox", key: name, checked: checked, onChange: () => {
|
|
161
|
+
setVals(vals.map(e => e.name === name
|
|
162
|
+
? { ...e, checked: !e.checked }
|
|
163
|
+
: e));
|
|
164
|
+
} })),
|
|
154
165
|
React.createElement("td", null, name),
|
|
155
166
|
React.createElement("td", null, category)))))))) : null),
|
|
156
167
|
React.createElement(DialogActions, null,
|
|
157
|
-
React.createElement(Button, { variant: "contained", color: "secondary", onClick: () =>
|
|
168
|
+
React.createElement(Button, { variant: "contained", color: "secondary", onClick: () => {
|
|
169
|
+
handleClose();
|
|
170
|
+
} }, "Cancel"),
|
|
158
171
|
React.createElement(Button, { variant: "contained", color: "primary", onClick: () => {
|
|
159
172
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
160
173
|
;
|
|
@@ -172,7 +185,9 @@ const InterProScanDialog = observer(function ({ handleClose, model, }) {
|
|
|
172
185
|
.filter(f => !!f[1])
|
|
173
186
|
.map(row => `>${row[0]}\n${row[1]}`)
|
|
174
187
|
.join('\n'),
|
|
175
|
-
onProgress: arg =>
|
|
188
|
+
onProgress: arg => {
|
|
189
|
+
model.setStatus(arg);
|
|
190
|
+
},
|
|
176
191
|
model,
|
|
177
192
|
});
|
|
178
193
|
}
|
|
@@ -188,4 +203,4 @@ const InterProScanDialog = observer(function ({ handleClose, model, }) {
|
|
|
188
203
|
} }, "Send sequences to InterProScan"))));
|
|
189
204
|
});
|
|
190
205
|
export default InterProScanDialog;
|
|
191
|
-
//# sourceMappingURL=
|
|
206
|
+
//# sourceMappingURL=InterProScanDialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InterProScanDialog.js","sourceRoot":"","sources":["../../../src/components/dialogs/InterProScanDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,9 @@ import { Attributes, BaseCard, } from '@jbrowse/core/BaseFeatureWidget/BaseFeatu
|
|
|
6
6
|
import SequenceTextArea from '../SequenceTextArea';
|
|
7
7
|
const MetadataDialog = observer(function ({ model, onClose, }) {
|
|
8
8
|
const { header } = model;
|
|
9
|
-
return (React.createElement(Dialog, { onClose: () =>
|
|
9
|
+
return (React.createElement(Dialog, { onClose: () => {
|
|
10
|
+
onClose();
|
|
11
|
+
}, open: true, title: "Metadata", maxWidth: "xl" },
|
|
10
12
|
React.createElement(DialogContent, null,
|
|
11
13
|
React.createElement(Attributes, { attributes: header }),
|
|
12
14
|
React.createElement(BaseCard, { title: "sequence" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetadataDialog.js","sourceRoot":"","sources":["../../../src/components/dialogs/MetadataDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EACL,UAAU,EACV,QAAQ,GACT,MAAM,mDAAmD,CAAA;AAI1D,OAAO,gBAAgB,MAAM,qBAAqB,CAAA;AAElD,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,EACxC,KAAK,EACL,OAAO,GAIR;IACC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IAExB,OAAO,CACL,oBAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"MetadataDialog.js","sourceRoot":"","sources":["../../../src/components/dialogs/MetadataDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EACL,UAAU,EACV,QAAQ,GACT,MAAM,mDAAmD,CAAA;AAI1D,OAAO,gBAAgB,MAAM,qBAAqB,CAAA;AAElD,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,EACxC,KAAK,EACL,OAAO,GAIR;IACC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IAExB,OAAO,CACL,oBAAC,MAAM,IACL,OAAO,EAAE,GAAG,EAAE;YACZ,OAAO,EAAE,CAAA;QACX,CAAC,EACD,IAAI,QACJ,KAAK,EAAC,UAAU,EAChB,QAAQ,EAAC,IAAI;QAEb,oBAAC,aAAa;YACZ,oBAAC,UAAU,IAAC,UAAU,EAAE,MAAM,GAAI;YAClC,oBAAC,QAAQ,IAAC,KAAK,EAAC,UAAU;gBACxB,oBAAC,gBAAgB,IAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAI,CAC5B,CACG,CACT,CACV,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,cAAc,CAAA"}
|
|
@@ -12,6 +12,9 @@ const useStyles = makeStyles()(theme => ({
|
|
|
12
12
|
flex: {
|
|
13
13
|
display: 'flex',
|
|
14
14
|
},
|
|
15
|
+
minw: {
|
|
16
|
+
width: '80em',
|
|
17
|
+
},
|
|
15
18
|
}));
|
|
16
19
|
const SettingsContent = observer(function ({ model }) {
|
|
17
20
|
return (React.createElement(React.Fragment, null,
|
|
@@ -23,46 +26,90 @@ const TreeSettings = observer(function TreeSettings({ model, }) {
|
|
|
23
26
|
const { drawTree, drawLabels, drawNodeBubbles, labelsAlignRight, noTree, showBranchLen, treeWidthMatchesArea, treeWidth, } = model;
|
|
24
27
|
return (React.createElement("div", null,
|
|
25
28
|
React.createElement("h1", null, "Tree options"),
|
|
26
|
-
React.createElement(Checkbox2, { checked: showBranchLen, onChange: () =>
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
React.createElement(Checkbox2, { checked:
|
|
30
|
-
|
|
29
|
+
React.createElement(Checkbox2, { checked: showBranchLen, onChange: () => {
|
|
30
|
+
model.setShowBranchLen(!showBranchLen);
|
|
31
|
+
}, label: "Show branch length?" }),
|
|
32
|
+
React.createElement(Checkbox2, { checked: drawNodeBubbles, onChange: () => {
|
|
33
|
+
model.setDrawNodeBubbles(!drawNodeBubbles);
|
|
34
|
+
}, label: "Draw clickable bubbles on tree branches?" }),
|
|
35
|
+
React.createElement(Checkbox2, { checked: drawTree, onChange: () => {
|
|
36
|
+
model.setDrawTree(!drawTree);
|
|
37
|
+
}, label: "Show tree?" }),
|
|
38
|
+
React.createElement(Checkbox2, { checked: labelsAlignRight, onChange: () => {
|
|
39
|
+
model.setLabelsAlignRight(!labelsAlignRight);
|
|
40
|
+
}, label: "Tree labels align right?" }),
|
|
41
|
+
React.createElement(Checkbox2, { checked: drawLabels, onChange: () => {
|
|
42
|
+
model.setDrawLabels(!drawLabels);
|
|
43
|
+
}, label: "Draw labels" }),
|
|
31
44
|
noTree ? null : (React.createElement("div", null,
|
|
32
|
-
React.createElement(Checkbox2, { checked: treeWidthMatchesArea, onChange: () =>
|
|
45
|
+
React.createElement(Checkbox2, { checked: treeWidthMatchesArea, onChange: () => {
|
|
46
|
+
model.setTreeWidthMatchesArea(!treeWidthMatchesArea);
|
|
47
|
+
}, label: "Make tree width fit to tree area?" }),
|
|
33
48
|
treeWidthMatchesArea ? null : (React.createElement("div", { className: classes.flex },
|
|
34
49
|
React.createElement(Typography, null,
|
|
35
50
|
"Tree width (",
|
|
36
51
|
treeWidth,
|
|
37
52
|
"px)"),
|
|
38
|
-
React.createElement(Slider, { className: classes.field, min: 50, max: 600, value: treeWidth, onChange: (_, val) =>
|
|
53
|
+
React.createElement(Slider, { className: classes.field, min: 50, max: 600, value: treeWidth, onChange: (_, val) => {
|
|
54
|
+
model.setTreeWidth(val);
|
|
55
|
+
} })))))));
|
|
39
56
|
});
|
|
40
57
|
const MSASettings = observer(function MSASettings({ model, }) {
|
|
41
58
|
const { classes } = useStyles();
|
|
42
|
-
const { bgColor, colWidth, colorSchemeName, rowHeight } = model;
|
|
59
|
+
const { bgColor, contrastLettering, colWidth, allowedGappyness, drawMsaLetters, colorSchemeName, hideGaps, rowHeight, } = model;
|
|
43
60
|
return (React.createElement("div", null,
|
|
44
61
|
React.createElement("h1", null, "MSA options"),
|
|
45
|
-
React.createElement(Checkbox2, { checked:
|
|
62
|
+
React.createElement(Checkbox2, { checked: drawMsaLetters, onChange: () => {
|
|
63
|
+
model.setDrawMsaLetters(!drawMsaLetters);
|
|
64
|
+
}, label: "Draw letters" }),
|
|
65
|
+
React.createElement(Checkbox2, { checked: bgColor, onChange: () => {
|
|
66
|
+
model.setBgColor(!bgColor);
|
|
67
|
+
}, label: "Color background tiles of MSA?" }),
|
|
68
|
+
React.createElement(Checkbox2, { checked: contrastLettering, onChange: () => {
|
|
69
|
+
model.setContrastLettering(!contrastLettering);
|
|
70
|
+
}, label: "Use contrast lettering" }),
|
|
71
|
+
React.createElement(Checkbox2, { checked: hideGaps, onChange: () => {
|
|
72
|
+
model.setHideGaps(!hideGaps);
|
|
73
|
+
}, label: `Hide columns that are ${allowedGappyness}% gaps` }),
|
|
74
|
+
hideGaps ? (React.createElement("div", { className: classes.flex },
|
|
75
|
+
React.createElement(Typography, null,
|
|
76
|
+
"Allowed gappyness (",
|
|
77
|
+
100 - allowedGappyness,
|
|
78
|
+
"%)"),
|
|
79
|
+
React.createElement(Slider, { className: classes.field, min: 1, max: 100, value: allowedGappyness, onChange: (_, val) => {
|
|
80
|
+
model.setAllowedGappyness(val);
|
|
81
|
+
} }))) : null,
|
|
46
82
|
React.createElement("div", { className: classes.flex },
|
|
47
83
|
React.createElement(Typography, null,
|
|
48
84
|
"Column width (",
|
|
49
85
|
colWidth,
|
|
50
86
|
"px)"),
|
|
51
|
-
React.createElement(Slider, { className: classes.field, min: 1, max: 50, value: colWidth, onChange: (_, val) =>
|
|
87
|
+
React.createElement(Slider, { className: classes.field, min: 1, max: 50, value: colWidth, onChange: (_, val) => {
|
|
88
|
+
model.setColWidth(val);
|
|
89
|
+
} })),
|
|
52
90
|
React.createElement("div", { className: classes.flex },
|
|
53
91
|
React.createElement(Typography, null,
|
|
54
92
|
"Row height (",
|
|
55
93
|
rowHeight,
|
|
56
94
|
"px)"),
|
|
57
|
-
React.createElement(Slider, { className: classes.field, min: 1, max: 50, value: rowHeight, onChange: (_, val) =>
|
|
58
|
-
|
|
95
|
+
React.createElement(Slider, { className: classes.field, min: 1, max: 50, value: rowHeight, onChange: (_, val) => {
|
|
96
|
+
model.setRowHeight(val);
|
|
97
|
+
} })),
|
|
98
|
+
React.createElement(TextField, { select: true, label: "Color scheme", value: colorSchemeName, onChange: event => {
|
|
99
|
+
model.setColorSchemeName(event.target.value);
|
|
100
|
+
} }, Object.keys(colorSchemes).map(option => (React.createElement(MenuItem, { key: option, value: option }, option))))));
|
|
59
101
|
});
|
|
60
102
|
const SettingsDialog = observer(function ({ model, onClose, }) {
|
|
61
|
-
|
|
62
|
-
|
|
103
|
+
const { classes } = useStyles();
|
|
104
|
+
return (React.createElement(Dialog, { open: true, onClose: () => {
|
|
105
|
+
onClose();
|
|
106
|
+
}, title: "Settings", maxWidth: "xl" },
|
|
107
|
+
React.createElement(DialogContent, { className: classes.minw },
|
|
63
108
|
React.createElement(SettingsContent, { model: model }),
|
|
64
109
|
React.createElement(DialogActions, null,
|
|
65
|
-
React.createElement(Button, { onClick: () =>
|
|
110
|
+
React.createElement(Button, { onClick: () => {
|
|
111
|
+
onClose();
|
|
112
|
+
}, variant: "contained", color: "primary" }, "Submit")))));
|
|
66
113
|
});
|
|
67
114
|
export default SettingsDialog;
|
|
68
115
|
//# sourceMappingURL=SettingsDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsDialog.js","sourceRoot":"","sources":["../../../src/components/dialogs/SettingsDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EACL,MAAM,EACN,aAAa,EACb,aAAa,EACb,QAAQ,EACR,MAAM,EACN,SAAS,EACT,UAAU,GACX,MAAM,eAAe,CAAA;AAGtB,OAAO,YAAY,MAAM,oBAAoB,CAAA;AAC7C,OAAO,SAAS,MAAM,cAAc,CAAA;AAEpC,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvC,KAAK,EAAE;QACL,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;KACzB;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM;KAChB;CACF,CAAC,CAAC,CAAA;AAEH,MAAM,eAAe,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,EAA2B;IAC3E,OAAO,CACL;QACE,oBAAC,YAAY,IAAC,KAAK,EAAE,KAAK,GAAI;QAC9B,oBAAC,WAAW,IAAC,KAAK,EAAE,KAAK,GAAI,CAC5B,CACJ,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,YAAY,CAAC,EAClD,KAAK,GAGN;IACC,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,MAAM,EACJ,QAAQ,EACR,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,MAAM,EACN,aAAa,EACb,oBAAoB,EACpB,SAAS,GACV,GAAG,KAAK,CAAA;IAET,OAAO,CACL;QACE,+CAAqB;QACrB,oBAAC,SAAS,IACR,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"SettingsDialog.js","sourceRoot":"","sources":["../../../src/components/dialogs/SettingsDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { MsaViewModel } from '../../model';
|
|
3
|
-
declare const
|
|
2
|
+
import type { MsaViewModel } from '../../model';
|
|
3
|
+
declare const TracklistDialog: ({ model, onClose, }: {
|
|
4
4
|
model: MsaViewModel;
|
|
5
5
|
onClose: () => void;
|
|
6
6
|
}) => React.JSX.Element;
|
|
7
|
-
export default
|
|
7
|
+
export default TracklistDialog;
|
|
@@ -2,9 +2,11 @@ import React from 'react';
|
|
|
2
2
|
import { Dialog } from '@jbrowse/core/ui';
|
|
3
3
|
import { DialogContent, FormControlLabel, FormGroup, Checkbox, DialogActions, Button, Typography, } from '@mui/material';
|
|
4
4
|
import { observer } from 'mobx-react';
|
|
5
|
-
|
|
5
|
+
const TracklistDialog = observer(function ({ model, onClose, }) {
|
|
6
6
|
const { tracks } = model;
|
|
7
|
-
return (React.createElement(Dialog, { onClose: () =>
|
|
7
|
+
return (React.createElement(Dialog, { onClose: () => {
|
|
8
|
+
onClose();
|
|
9
|
+
}, open: true, title: "Add track" },
|
|
8
10
|
React.createElement(DialogContent, null,
|
|
9
11
|
React.createElement(Typography, null, "Open relevant per-alignment tracks e.g. protein domains"),
|
|
10
12
|
React.createElement(FormGroup, null, tracks.map(track => {
|
|
@@ -13,6 +15,9 @@ export default observer(function ({ model, onClose, }) {
|
|
|
13
15
|
} }), label: track.model.name }));
|
|
14
16
|
})),
|
|
15
17
|
React.createElement(DialogActions, null,
|
|
16
|
-
React.createElement(Button, { onClick: () =>
|
|
18
|
+
React.createElement(Button, { onClick: () => {
|
|
19
|
+
onClose();
|
|
20
|
+
}, variant: "contained", color: "primary" }, "Close")))));
|
|
17
21
|
});
|
|
22
|
+
export default TracklistDialog;
|
|
18
23
|
//# sourceMappingURL=TracklistDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TracklistDialog.js","sourceRoot":"","sources":["../../../src/components/dialogs/TracklistDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,aAAa,EACb,MAAM,EACN,UAAU,GACX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAKrC,eAAe,QAAQ,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"TracklistDialog.js","sourceRoot":"","sources":["../../../src/components/dialogs/TracklistDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,aAAa,EACb,MAAM,EACN,UAAU,GACX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAKrC,MAAM,eAAe,GAAG,QAAQ,CAAC,UAAU,EACzC,KAAK,EACL,OAAO,GAIR;IACC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IAExB,OAAO,CACL,oBAAC,MAAM,IACL,OAAO,EAAE,GAAG,EAAE;YACZ,OAAO,EAAE,CAAA;QACX,CAAC,EACD,IAAI,QACJ,KAAK,EAAC,WAAW;QAEjB,oBAAC,aAAa;YACZ,oBAAC,UAAU,kEAEE;YAEb,oBAAC,SAAS,QACP,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBAClB,OAAO,CACL,oBAAC,gBAAgB,IACf,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EACnB,OAAO,EACL,oBAAC,QAAQ,IACP,OAAO,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EACnD,QAAQ,EAAE,GAAG,EAAE;4BACb,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;wBACnC,CAAC,GACD,EAEJ,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,GACvB,CACH,CAAA;YACH,CAAC,CAAC,CACQ;YACZ,oBAAC,aAAa;gBACZ,oBAAC,MAAM,IACL,OAAO,EAAE,GAAG,EAAE;wBACZ,OAAO,EAAE,CAAA;oBACX,CAAC,EACD,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,SAAS,YAGR,CACK,CACF,CACT,CACV,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,eAAe,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { MsaViewModel } from '../../model';
|
|
3
|
+
declare const UserProvidedDomainsDialog: ({ handleClose, model, }: {
|
|
4
|
+
handleClose: () => void;
|
|
5
|
+
model: MsaViewModel;
|
|
6
|
+
}) => React.JSX.Element;
|
|
7
|
+
export default UserProvidedDomainsDialog;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import { observer } from 'mobx-react';
|
|
3
|
+
import { Button, DialogActions, DialogContent, FormControlLabel, FormControl, Radio, RadioGroup, TextField, Typography, } from '@mui/material';
|
|
4
|
+
import { getSession } from '@jbrowse/core/util';
|
|
5
|
+
import { Dialog } from '@jbrowse/core/ui';
|
|
6
|
+
import { jsonfetch } from '../../fetchUtils';
|
|
7
|
+
const UserProvidedDomainsDialog = observer(function ({ handleClose, model, }) {
|
|
8
|
+
const [file, setFile] = useState();
|
|
9
|
+
const [choice, setChoice] = useState('file');
|
|
10
|
+
const [interProURL, setInterProURL] = useState('');
|
|
11
|
+
return (React.createElement(Dialog, { maxWidth: "xl", title: "Open protein domains from file", onClose: () => {
|
|
12
|
+
handleClose();
|
|
13
|
+
}, open: true },
|
|
14
|
+
React.createElement(DialogContent, null,
|
|
15
|
+
React.createElement("div", null,
|
|
16
|
+
React.createElement(Typography, null, "Open a JSON file of InterProScan results that you run remotely on EBI servers or locally"),
|
|
17
|
+
React.createElement("div", { style: { display: 'flex', margin: 30 } },
|
|
18
|
+
React.createElement(FormControl, { component: "fieldset" },
|
|
19
|
+
React.createElement(RadioGroup, { value: choice, onChange: event => {
|
|
20
|
+
setChoice(event.target.value);
|
|
21
|
+
} },
|
|
22
|
+
React.createElement(FormControlLabel, { value: "url", control: React.createElement(Radio, null), label: "URL" }),
|
|
23
|
+
React.createElement(FormControlLabel, { value: "file", control: React.createElement(Radio, null), label: "File" }))),
|
|
24
|
+
choice === 'url' ? (React.createElement("div", null,
|
|
25
|
+
React.createElement(Typography, null, "Open a InterProScan JSON file remote URL"),
|
|
26
|
+
React.createElement(TextField, { label: "URL", value: interProURL, onChange: event => {
|
|
27
|
+
setInterProURL(event.target.value);
|
|
28
|
+
} }))) : null,
|
|
29
|
+
choice === 'file' ? (React.createElement("div", { style: { paddingTop: 20 } },
|
|
30
|
+
React.createElement(Typography, null, "Open a InterProScan JSON file file from your local drive"),
|
|
31
|
+
React.createElement(Button, { variant: "outlined", component: "label" },
|
|
32
|
+
"Choose File",
|
|
33
|
+
React.createElement("input", { type: "file", hidden: true, onChange: ({ target }) => {
|
|
34
|
+
const file = target.files?.[0];
|
|
35
|
+
if (file) {
|
|
36
|
+
setFile(file);
|
|
37
|
+
}
|
|
38
|
+
} })))) : null))),
|
|
39
|
+
React.createElement(DialogActions, null,
|
|
40
|
+
React.createElement(Button, { variant: "contained", color: "primary", onClick: () => {
|
|
41
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
42
|
+
;
|
|
43
|
+
(async () => {
|
|
44
|
+
try {
|
|
45
|
+
const ret = file
|
|
46
|
+
? JSON.parse(await file.text())
|
|
47
|
+
: await jsonfetch(interProURL);
|
|
48
|
+
model.setInterProAnnotations(Object.fromEntries(ret.results.map(r => [r.xref[0].id, r])));
|
|
49
|
+
model.setShowDomains(true);
|
|
50
|
+
getSession(model).notify('Loaded interproscan results', 'success');
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
console.error(e);
|
|
54
|
+
getSession(model).notifyError(`${e}`, e);
|
|
55
|
+
}
|
|
56
|
+
finally {
|
|
57
|
+
model.setStatus();
|
|
58
|
+
}
|
|
59
|
+
})();
|
|
60
|
+
handleClose();
|
|
61
|
+
} }, "Open results"))));
|
|
62
|
+
});
|
|
63
|
+
export default UserProvidedDomainsDialog;
|
|
64
|
+
//# sourceMappingURL=UserProvidedDomainsDialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserProvidedDomainsDialog.js","sourceRoot":"","sources":["../../../src/components/dialogs/UserProvidedDomainsDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import React, { lazy } from 'react';
|
|
1
|
+
import React, { lazy, useEffect } from 'react';
|
|
2
2
|
import { IconButton } from '@mui/material';
|
|
3
3
|
import { observer } from 'mobx-react';
|
|
4
|
+
import useMeasure from '@jbrowse/core/util/useMeasure';
|
|
4
5
|
// icons
|
|
5
6
|
import Help from '@mui/icons-material/Help';
|
|
6
7
|
// locals
|
|
@@ -11,14 +12,20 @@ import HeaderStatusArea from './HeaderStatusArea';
|
|
|
11
12
|
import HeaderMenuExtra from './HeaderMenuExtra';
|
|
12
13
|
const AboutDialog = lazy(() => import('../dialogs/AboutDialog'));
|
|
13
14
|
const Header = observer(function ({ model }) {
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
const [ref, { height }] = useMeasure();
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
model.setHeaderHeight(height || 0);
|
|
18
|
+
}, [model, height]);
|
|
19
|
+
return (React.createElement("div", { ref: ref, style: { display: 'flex' } },
|
|
16
20
|
React.createElement(HeaderMenuExtra, { model: model }),
|
|
21
|
+
React.createElement(ZoomControls, { model: model }),
|
|
17
22
|
React.createElement(MultiAlignmentSelector, { model: model }),
|
|
18
23
|
React.createElement(HeaderInfoArea, { model: model }),
|
|
19
24
|
React.createElement(Spacer, null),
|
|
20
25
|
React.createElement(HeaderStatusArea, { model: model }),
|
|
21
|
-
React.createElement(IconButton, { onClick: () =>
|
|
26
|
+
React.createElement(IconButton, { onClick: () => {
|
|
27
|
+
model.queueDialog(onClose => [AboutDialog, { onClose }]);
|
|
28
|
+
} },
|
|
22
29
|
React.createElement(Help, null))));
|
|
23
30
|
});
|
|
24
31
|
function Spacer() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/components/header/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/components/header/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,UAAU,MAAM,+BAA+B,CAAA;AAKtD,QAAQ;AACR,OAAO,IAAI,MAAM,0BAA0B,CAAA;AAE3C,SAAS;AACT,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,sBAAsB,MAAM,0BAA0B,CAAA;AAC7D,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAC7C,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AACjD,OAAO,eAAe,MAAM,mBAAmB,CAAA;AAE/C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAA;AAEhE,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,EAA2B;IAClE,MAAM,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,UAAU,EAAE,CAAA;IACtC,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,CAAC,CAAA;IACpC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;IACnB,OAAO,CACL,6BAAK,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;QACvC,oBAAC,eAAe,IAAC,KAAK,EAAE,KAAK,GAAI;QACjC,oBAAC,YAAY,IAAC,KAAK,EAAE,KAAK,GAAI;QAC9B,oBAAC,sBAAsB,IAAC,KAAK,EAAE,KAAK,GAAI;QACxC,oBAAC,cAAc,IAAC,KAAK,EAAE,KAAK,GAAI;QAChC,oBAAC,MAAM,OAAG;QACV,oBAAC,gBAAgB,IAAC,KAAK,EAAE,KAAK,GAAI;QAClC,oBAAC,UAAU,IACT,OAAO,EAAE,GAAG,EAAE;gBACZ,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;YAC1D,CAAC;YAED,oBAAC,IAAI,OAAG,CACG,CACT,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,SAAS,MAAM;IACb,OAAO,6BAAK,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAI,CAAA;AACpC,CAAC;AAED,eAAe,MAAM,CAAA"}
|