@jbrowse/plugin-grid-bookmark 2.3.3 → 2.4.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/dist/GridBookmarkWidget/components/ClearBookmarks.js +4 -20
- package/dist/GridBookmarkWidget/components/ClearBookmarks.js.map +1 -1
- package/dist/GridBookmarkWidget/components/DeleteBookmark.js +4 -23
- package/dist/GridBookmarkWidget/components/DeleteBookmark.js.map +1 -1
- package/dist/GridBookmarkWidget/components/DownloadBookmarks.js +2 -18
- package/dist/GridBookmarkWidget/components/DownloadBookmarks.js.map +1 -1
- package/dist/GridBookmarkWidget/components/ImportBookmarks.js +3 -11
- package/dist/GridBookmarkWidget/components/ImportBookmarks.js.map +1 -1
- package/esm/GridBookmarkWidget/components/ClearBookmarks.js +5 -21
- package/esm/GridBookmarkWidget/components/ClearBookmarks.js.map +1 -1
- package/esm/GridBookmarkWidget/components/DeleteBookmark.js +5 -24
- package/esm/GridBookmarkWidget/components/DeleteBookmark.js.map +1 -1
- package/esm/GridBookmarkWidget/components/DownloadBookmarks.js +3 -19
- package/esm/GridBookmarkWidget/components/DownloadBookmarks.js.map +1 -1
- package/esm/GridBookmarkWidget/components/ImportBookmarks.js +4 -12
- package/esm/GridBookmarkWidget/components/ImportBookmarks.js.map +1 -1
- package/package.json +2 -2
- package/src/GridBookmarkWidget/components/ClearBookmarks.tsx +10 -38
- package/src/GridBookmarkWidget/components/DeleteBookmark.tsx +10 -47
- package/src/GridBookmarkWidget/components/DownloadBookmarks.tsx +7 -28
- package/src/GridBookmarkWidget/components/ImportBookmarks.tsx +7 -25
|
@@ -29,30 +29,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
29
29
|
const react_1 = __importStar(require("react"));
|
|
30
30
|
const mobx_react_1 = require("mobx-react");
|
|
31
31
|
const material_1 = require("@mui/material");
|
|
32
|
-
const
|
|
32
|
+
const ui_1 = require("@jbrowse/core/ui");
|
|
33
|
+
// icons
|
|
33
34
|
const ClearAll_1 = __importDefault(require("@mui/icons-material/ClearAll"));
|
|
34
|
-
const Close_1 = __importDefault(require("@mui/icons-material/Close"));
|
|
35
|
-
const useStyles = (0, mui_1.makeStyles)()(() => ({
|
|
36
|
-
closeDialog: {
|
|
37
|
-
position: 'absolute',
|
|
38
|
-
right: 0,
|
|
39
|
-
top: 0,
|
|
40
|
-
},
|
|
41
|
-
dialogContainer: {
|
|
42
|
-
margin: 15,
|
|
43
|
-
},
|
|
44
|
-
}));
|
|
45
35
|
function ClearBookmarks({ model }) {
|
|
46
|
-
const { classes } = useStyles();
|
|
47
36
|
const [dialogOpen, setDialogOpen] = (0, react_1.useState)(false);
|
|
48
|
-
const { clearAllBookmarks } = model;
|
|
49
37
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
50
38
|
react_1.default.createElement(material_1.Button, { startIcon: react_1.default.createElement(ClearAll_1.default, null), "aria-label": "clear bookmarks", onClick: () => setDialogOpen(true) }, "Clear"),
|
|
51
|
-
react_1.default.createElement(
|
|
52
|
-
react_1.default.createElement(material_1.DialogTitle, null,
|
|
53
|
-
"Clear bookmarks",
|
|
54
|
-
react_1.default.createElement(material_1.IconButton, { className: classes.closeDialog, "aria-label": "close-dialog", onClick: () => setDialogOpen(false) },
|
|
55
|
-
react_1.default.createElement(Close_1.default, null))),
|
|
39
|
+
react_1.default.createElement(ui_1.Dialog, { open: dialogOpen, onClose: () => setDialogOpen(false), title: "Clear bookmarks" },
|
|
56
40
|
react_1.default.createElement(material_1.DialogContent, null,
|
|
57
41
|
react_1.default.createElement(material_1.Typography, null, "Clear all bookmarks? Note this will clear bookmarks for all assemblies")),
|
|
58
42
|
react_1.default.createElement(material_1.DialogActions, null,
|
|
@@ -60,7 +44,7 @@ function ClearBookmarks({ model }) {
|
|
|
60
44
|
setDialogOpen(false);
|
|
61
45
|
} }, "Cancel"),
|
|
62
46
|
react_1.default.createElement(material_1.Button, { variant: "contained", color: "primary", onClick: () => {
|
|
63
|
-
clearAllBookmarks();
|
|
47
|
+
model.clearAllBookmarks();
|
|
64
48
|
setDialogOpen(false);
|
|
65
49
|
} }, "Confirm")))));
|
|
66
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClearBookmarks.js","sourceRoot":"","sources":["../../../src/GridBookmarkWidget/components/ClearBookmarks.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAuC;AACvC,2CAAqC;
|
|
1
|
+
{"version":3,"file":"ClearBookmarks.js","sourceRoot":"","sources":["../../../src/GridBookmarkWidget/components/ClearBookmarks.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAuC;AACvC,2CAAqC;AACrC,4CAAgF;AAChF,yCAAyC;AAEzC,QAAQ;AACR,4EAAuD;AAKvD,SAAS,cAAc,CAAC,EAAE,KAAK,EAAgC;IAC7D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IACnD,OAAO,CACL;QACE,8BAAC,iBAAM,IACL,SAAS,EAAE,8BAAC,kBAAY,OAAG,gBAChB,iBAAiB,EAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,YAG3B;QACT,8BAAC,WAAM,IACL,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EACnC,KAAK,EAAC,iBAAiB;YAEvB,8BAAC,wBAAa;gBACZ,8BAAC,qBAAU,iFAGE,CACC;YAChB,8BAAC,wBAAa;gBACZ,8BAAC,iBAAM,IACL,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,WAAW,EACjB,OAAO,EAAE,GAAG,EAAE;wBACZ,aAAa,CAAC,KAAK,CAAC,CAAA;oBACtB,CAAC,aAGM;gBACT,8BAAC,iBAAM,IACL,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,iBAAiB,EAAE,CAAA;wBACzB,aAAa,CAAC,KAAK,CAAC,CAAA;oBACtB,CAAC,cAGM,CACK,CACT,CACR,CACJ,CAAA;AACH,CAAC;AAED,kBAAe,IAAA,qBAAQ,EAAC,cAAc,CAAC,CAAA"}
|
|
@@ -6,27 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const react_1 = __importDefault(require("react"));
|
|
7
7
|
const mobx_react_1 = require("mobx-react");
|
|
8
8
|
const util_1 = require("@jbrowse/core/util");
|
|
9
|
+
const ui_1 = require("@jbrowse/core/ui");
|
|
9
10
|
const material_1 = require("@mui/material");
|
|
10
|
-
const mui_1 = require("tss-react/mui");
|
|
11
|
-
const Close_1 = __importDefault(require("@mui/icons-material/Close"));
|
|
12
|
-
const useStyles = (0, mui_1.makeStyles)()(() => ({
|
|
13
|
-
closeDialog: {
|
|
14
|
-
position: 'absolute',
|
|
15
|
-
right: 0,
|
|
16
|
-
top: 0,
|
|
17
|
-
},
|
|
18
|
-
dialogContainer: {
|
|
19
|
-
margin: 15,
|
|
20
|
-
},
|
|
21
|
-
}));
|
|
22
11
|
function DeleteBookmarkDialog({ rowNumber, model, onClose, }) {
|
|
23
|
-
|
|
24
|
-
const { removeBookmark } = model;
|
|
25
|
-
return (react_1.default.createElement(material_1.Dialog, { open: rowNumber !== undefined, onClose: onClose },
|
|
26
|
-
react_1.default.createElement(material_1.DialogTitle, null,
|
|
27
|
-
"Delete bookmark",
|
|
28
|
-
react_1.default.createElement(material_1.IconButton, { className: classes.closeDialog, "aria-label": "close-dialog", onClick: onClose },
|
|
29
|
-
react_1.default.createElement(Close_1.default, null))),
|
|
12
|
+
return (react_1.default.createElement(ui_1.Dialog, { open: rowNumber !== undefined, onClose: onClose, title: "Delete bookmark" },
|
|
30
13
|
react_1.default.createElement(material_1.DialogContent, null,
|
|
31
14
|
react_1.default.createElement(material_1.Typography, null,
|
|
32
15
|
"Remove",
|
|
@@ -37,12 +20,10 @@ function DeleteBookmarkDialog({ rowNumber, model, onClose, }) {
|
|
|
37
20
|
' ',
|
|
38
21
|
"?")),
|
|
39
22
|
react_1.default.createElement(material_1.DialogActions, null,
|
|
40
|
-
react_1.default.createElement(material_1.Button, { variant: "contained", color: "secondary", onClick: () =>
|
|
41
|
-
onClose();
|
|
42
|
-
} }, "Cancel"),
|
|
23
|
+
react_1.default.createElement(material_1.Button, { variant: "contained", color: "secondary", onClick: () => onClose() }, "Cancel"),
|
|
43
24
|
react_1.default.createElement(material_1.Button, { variant: "contained", color: "primary", onClick: () => {
|
|
44
25
|
if (rowNumber !== undefined) {
|
|
45
|
-
removeBookmark(rowNumber);
|
|
26
|
+
model.removeBookmark(rowNumber);
|
|
46
27
|
onClose();
|
|
47
28
|
}
|
|
48
29
|
} }, "Confirm"))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteBookmark.js","sourceRoot":"","sources":["../../../src/GridBookmarkWidget/components/DeleteBookmark.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AACzB,2CAAqC;
|
|
1
|
+
{"version":3,"file":"DeleteBookmark.js","sourceRoot":"","sources":["../../../src/GridBookmarkWidget/components/DeleteBookmark.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AACzB,2CAAqC;AACrC,6CAAsD;AACtD,yCAAyC;AACzC,4CAAgF;AAKhF,SAAS,oBAAoB,CAAC,EAC5B,SAAS,EACT,KAAK,EACL,OAAO,GAKR;IACC,OAAO,CACL,8BAAC,WAAM,IACL,IAAI,EAAE,SAAS,KAAK,SAAS,EAC7B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAC,iBAAiB;QAEvB,8BAAC,wBAAa;YACZ,8BAAC,qBAAU;;gBACF,GAAG;gBACV,4CACG,SAAS,KAAK,SAAS;oBACtB,CAAC,CAAC,IAAA,wBAAiB,EAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBACvD,CAAC,CAAC,EAAE,CACD;gBAAC,GAAG;oBAEA,CACC;QAChB,8BAAC,wBAAa;YACZ,8BAAC,iBAAM,IAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,WAAW,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,aAE7D;YAET,8BAAC,iBAAM,IACL,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,SAAS,KAAK,SAAS,EAAE;wBAC3B,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;wBAC/B,OAAO,EAAE,CAAA;qBACV;gBACH,CAAC,cAGM,CACK,CACT,CACV,CAAA;AACH,CAAC;AAED,kBAAe,IAAA,qBAAQ,EAAC,oBAAoB,CAAC,CAAA"}
|
|
@@ -29,27 +29,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
29
29
|
const react_1 = __importStar(require("react"));
|
|
30
30
|
const mobx_react_1 = require("mobx-react");
|
|
31
31
|
const material_1 = require("@mui/material");
|
|
32
|
+
const ui_1 = require("@jbrowse/core/ui");
|
|
32
33
|
const mui_1 = require("tss-react/mui");
|
|
33
|
-
const Close_1 = __importDefault(require("@mui/icons-material/Close"));
|
|
34
34
|
const GetApp_1 = __importDefault(require("@mui/icons-material/GetApp"));
|
|
35
35
|
const utils_1 = require("../utils");
|
|
36
36
|
const useStyles = (0, mui_1.makeStyles)()(() => ({
|
|
37
|
-
closeDialog: {
|
|
38
|
-
position: 'absolute',
|
|
39
|
-
right: 0,
|
|
40
|
-
top: 0,
|
|
41
|
-
},
|
|
42
|
-
dialogContainer: {
|
|
43
|
-
margin: 15,
|
|
44
|
-
},
|
|
45
37
|
flexItem: {
|
|
46
38
|
margin: 5,
|
|
47
39
|
},
|
|
48
|
-
flexContainer: {
|
|
49
|
-
display: 'flex',
|
|
50
|
-
justifyContent: 'space-evenly',
|
|
51
|
-
width: 200,
|
|
52
|
-
},
|
|
53
40
|
}));
|
|
54
41
|
function DownloadBookmarks({ model }) {
|
|
55
42
|
const { classes } = useStyles();
|
|
@@ -58,10 +45,7 @@ function DownloadBookmarks({ model }) {
|
|
|
58
45
|
const { bookmarkedRegions } = model;
|
|
59
46
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
60
47
|
react_1.default.createElement(material_1.Button, { startIcon: react_1.default.createElement(GetApp_1.default, null), onClick: () => setDialogOpen(true) }, "Download"),
|
|
61
|
-
react_1.default.createElement(
|
|
62
|
-
react_1.default.createElement(material_1.DialogTitle, null,
|
|
63
|
-
react_1.default.createElement(material_1.IconButton, { className: classes.closeDialog, "aria-label": "close-dialog", onClick: () => setDialogOpen(false) },
|
|
64
|
-
react_1.default.createElement(Close_1.default, null))),
|
|
48
|
+
react_1.default.createElement(ui_1.Dialog, { open: dialogOpen, onClose: () => setDialogOpen(false), title: "Download bookmarks" },
|
|
65
49
|
react_1.default.createElement(material_1.DialogContent, null,
|
|
66
50
|
react_1.default.createElement(material_1.Typography, null, "Format to download"),
|
|
67
51
|
react_1.default.createElement(material_1.Select, { className: classes.flexItem, "data-testid": "selectFileType", value: fileType, onChange: event => setFileType(event.target.value) },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DownloadBookmarks.js","sourceRoot":"","sources":["../../../src/GridBookmarkWidget/components/DownloadBookmarks.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAuC;AACvC,2CAAqC;AAErC,
|
|
1
|
+
{"version":3,"file":"DownloadBookmarks.js","sourceRoot":"","sources":["../../../src/GridBookmarkWidget/components/DownloadBookmarks.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAuC;AACvC,2CAAqC;AAErC,4CAOsB;AACtB,yCAAyC;AACzC,uCAA0C;AAC1C,wEAAmD;AAGnD,oCAA+C;AAE/C,MAAM,SAAS,GAAG,IAAA,gBAAU,GAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACpC,QAAQ,EAAE;QACR,MAAM,EAAE,CAAC;KACV;CACF,CAAC,CAAC,CAAA;AAEH,SAAS,iBAAiB,CAAC,EAAE,KAAK,EAAgC;IAChE,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IACnD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IAC/C,MAAM,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAA;IAEnC,OAAO,CACL;QACE,8BAAC,iBAAM,IAAC,SAAS,EAAE,8BAAC,gBAAU,OAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,eAE5D;QACT,8BAAC,WAAM,IACL,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EACnC,KAAK,EAAC,oBAAoB;YAE1B,8BAAC,wBAAa;gBACZ,8BAAC,qBAAU,6BAAgC;gBAC3C,8BAAC,iBAAM,IACL,SAAS,EAAE,OAAO,CAAC,QAAQ,iBACf,gBAAgB,EAC5B,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;oBAElD,8BAAC,mBAAQ,IAAC,KAAK,EAAC,KAAK,UAAe;oBACpC,8BAAC,mBAAQ,IAAC,KAAK,EAAC,KAAK,UAAe,CAC7B,CACK;YAChB,8BAAC,wBAAa;gBACZ,8BAAC,iBAAM,IACL,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,WAAW,EACjB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,aAG5B;gBACT,8BAAC,iBAAM,IACL,SAAS,EAAE,OAAO,CAAC,QAAQ,iBACf,gBAAgB,EAC5B,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,SAAS,EACf,SAAS,EAAE,8BAAC,gBAAU,OAAG,EACzB,OAAO,EAAE,GAAG,EAAE;wBACZ,IAAA,4BAAoB,EAAC,iBAAiB,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;wBACxD,aAAa,CAAC,KAAK,CAAC,CAAA;oBACtB,CAAC,eAGM,CACK,CACT,CACR,CACJ,CAAA;AACH,CAAC;AAED,kBAAe,IAAA,qBAAQ,EAAC,iBAAiB,CAAC,CAAA"}
|
|
@@ -33,15 +33,11 @@ const AssemblySelector_1 = __importDefault(require("@jbrowse/core/ui/AssemblySel
|
|
|
33
33
|
const ui_1 = require("@jbrowse/core/ui");
|
|
34
34
|
const io_1 = require("@jbrowse/core/util/io");
|
|
35
35
|
const material_1 = require("@mui/material");
|
|
36
|
+
const ui_2 = require("@jbrowse/core/ui");
|
|
36
37
|
const mui_1 = require("tss-react/mui");
|
|
37
|
-
|
|
38
|
+
// icons
|
|
38
39
|
const Publish_1 = __importDefault(require("@mui/icons-material/Publish"));
|
|
39
40
|
const useStyles = (0, mui_1.makeStyles)()(() => ({
|
|
40
|
-
closeDialog: {
|
|
41
|
-
position: 'absolute',
|
|
42
|
-
right: 0,
|
|
43
|
-
top: 0,
|
|
44
|
-
},
|
|
45
41
|
dialogContainer: {
|
|
46
42
|
margin: 15,
|
|
47
43
|
},
|
|
@@ -59,11 +55,7 @@ function ImportBookmarks({ model, assemblyName, }) {
|
|
|
59
55
|
const [selectedAsm, setSelectedAsm] = (0, react_1.useState)(assemblyName || assemblyNames[0]);
|
|
60
56
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
61
57
|
react_1.default.createElement(material_1.Button, { startIcon: react_1.default.createElement(Publish_1.default, null), onClick: () => setDialogOpen(true) }, "Import"),
|
|
62
|
-
react_1.default.createElement(
|
|
63
|
-
react_1.default.createElement(material_1.DialogTitle, null,
|
|
64
|
-
"Import bookmarks",
|
|
65
|
-
react_1.default.createElement(material_1.IconButton, { className: classes.closeDialog, "aria-label": "close-dialog", onClick: () => setDialogOpen(false) },
|
|
66
|
-
react_1.default.createElement(Close_1.default, null))),
|
|
58
|
+
react_1.default.createElement(ui_2.Dialog, { open: dialogOpen, onClose: () => setDialogOpen(false), maxWidth: "xl", title: "Import bookmarks" },
|
|
67
59
|
react_1.default.createElement(material_1.DialogContent, null,
|
|
68
60
|
react_1.default.createElement(material_1.Typography, null, "Choose a BED format file to import. The first 4 columns will be used"),
|
|
69
61
|
react_1.default.createElement(ui_1.FileSelector, { location: location, setLocation: setLocation, name: "File" }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImportBookmarks.js","sourceRoot":"","sources":["../../../src/GridBookmarkWidget/components/ImportBookmarks.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAuC;AACvC,2CAAqC;AACrC,6CAA+C;AAC/C,yFAAgE;AAEhE,yCAA+C;AAC/C,8CAAoD;AACpD,
|
|
1
|
+
{"version":3,"file":"ImportBookmarks.js","sourceRoot":"","sources":["../../../src/GridBookmarkWidget/components/ImportBookmarks.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,14 @@
|
|
|
1
1
|
import React, { useState } from 'react';
|
|
2
2
|
import { observer } from 'mobx-react';
|
|
3
|
-
import { Button,
|
|
4
|
-
import {
|
|
3
|
+
import { Button, DialogContent, DialogActions, Typography } from '@mui/material';
|
|
4
|
+
import { Dialog } from '@jbrowse/core/ui';
|
|
5
|
+
// icons
|
|
5
6
|
import ClearAllIcon from '@mui/icons-material/ClearAll';
|
|
6
|
-
import CloseIcon from '@mui/icons-material/Close';
|
|
7
|
-
const useStyles = makeStyles()(() => ({
|
|
8
|
-
closeDialog: {
|
|
9
|
-
position: 'absolute',
|
|
10
|
-
right: 0,
|
|
11
|
-
top: 0,
|
|
12
|
-
},
|
|
13
|
-
dialogContainer: {
|
|
14
|
-
margin: 15,
|
|
15
|
-
},
|
|
16
|
-
}));
|
|
17
7
|
function ClearBookmarks({ model }) {
|
|
18
|
-
const { classes } = useStyles();
|
|
19
8
|
const [dialogOpen, setDialogOpen] = useState(false);
|
|
20
|
-
const { clearAllBookmarks } = model;
|
|
21
9
|
return (React.createElement(React.Fragment, null,
|
|
22
10
|
React.createElement(Button, { startIcon: React.createElement(ClearAllIcon, null), "aria-label": "clear bookmarks", onClick: () => setDialogOpen(true) }, "Clear"),
|
|
23
|
-
React.createElement(Dialog, { open: dialogOpen, onClose: () => setDialogOpen(false) },
|
|
24
|
-
React.createElement(DialogTitle, null,
|
|
25
|
-
"Clear bookmarks",
|
|
26
|
-
React.createElement(IconButton, { className: classes.closeDialog, "aria-label": "close-dialog", onClick: () => setDialogOpen(false) },
|
|
27
|
-
React.createElement(CloseIcon, null))),
|
|
11
|
+
React.createElement(Dialog, { open: dialogOpen, onClose: () => setDialogOpen(false), title: "Clear bookmarks" },
|
|
28
12
|
React.createElement(DialogContent, null,
|
|
29
13
|
React.createElement(Typography, null, "Clear all bookmarks? Note this will clear bookmarks for all assemblies")),
|
|
30
14
|
React.createElement(DialogActions, null,
|
|
@@ -32,7 +16,7 @@ function ClearBookmarks({ model }) {
|
|
|
32
16
|
setDialogOpen(false);
|
|
33
17
|
} }, "Cancel"),
|
|
34
18
|
React.createElement(Button, { variant: "contained", color: "primary", onClick: () => {
|
|
35
|
-
clearAllBookmarks();
|
|
19
|
+
model.clearAllBookmarks();
|
|
36
20
|
setDialogOpen(false);
|
|
37
21
|
} }, "Confirm")))));
|
|
38
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClearBookmarks.js","sourceRoot":"","sources":["../../../src/GridBookmarkWidget/components/ClearBookmarks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"ClearBookmarks.js","sourceRoot":"","sources":["../../../src/GridBookmarkWidget/components/ClearBookmarks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAEzC,QAAQ;AACR,OAAO,YAAY,MAAM,8BAA8B,CAAA;AAKvD,SAAS,cAAc,CAAC,EAAE,KAAK,EAAgC;IAC7D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnD,OAAO,CACL;QACE,oBAAC,MAAM,IACL,SAAS,EAAE,oBAAC,YAAY,OAAG,gBAChB,iBAAiB,EAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,YAG3B;QACT,oBAAC,MAAM,IACL,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EACnC,KAAK,EAAC,iBAAiB;YAEvB,oBAAC,aAAa;gBACZ,oBAAC,UAAU,iFAGE,CACC;YAChB,oBAAC,aAAa;gBACZ,oBAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,WAAW,EACjB,OAAO,EAAE,GAAG,EAAE;wBACZ,aAAa,CAAC,KAAK,CAAC,CAAA;oBACtB,CAAC,aAGM;gBACT,oBAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,CAAC,iBAAiB,EAAE,CAAA;wBACzB,aAAa,CAAC,KAAK,CAAC,CAAA;oBACtB,CAAC,cAGM,CACK,CACT,CACR,CACJ,CAAA;AACH,CAAC;AAED,eAAe,QAAQ,CAAC,cAAc,CAAC,CAAA"}
|
|
@@ -1,27 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { observer } from 'mobx-react';
|
|
3
3
|
import { assembleLocString } from '@jbrowse/core/util';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import CloseIcon from '@mui/icons-material/Close';
|
|
7
|
-
const useStyles = makeStyles()(() => ({
|
|
8
|
-
closeDialog: {
|
|
9
|
-
position: 'absolute',
|
|
10
|
-
right: 0,
|
|
11
|
-
top: 0,
|
|
12
|
-
},
|
|
13
|
-
dialogContainer: {
|
|
14
|
-
margin: 15,
|
|
15
|
-
},
|
|
16
|
-
}));
|
|
4
|
+
import { Dialog } from '@jbrowse/core/ui';
|
|
5
|
+
import { Button, DialogContent, DialogActions, Typography } from '@mui/material';
|
|
17
6
|
function DeleteBookmarkDialog({ rowNumber, model, onClose, }) {
|
|
18
|
-
|
|
19
|
-
const { removeBookmark } = model;
|
|
20
|
-
return (React.createElement(Dialog, { open: rowNumber !== undefined, onClose: onClose },
|
|
21
|
-
React.createElement(DialogTitle, null,
|
|
22
|
-
"Delete bookmark",
|
|
23
|
-
React.createElement(IconButton, { className: classes.closeDialog, "aria-label": "close-dialog", onClick: onClose },
|
|
24
|
-
React.createElement(CloseIcon, null))),
|
|
7
|
+
return (React.createElement(Dialog, { open: rowNumber !== undefined, onClose: onClose, title: "Delete bookmark" },
|
|
25
8
|
React.createElement(DialogContent, null,
|
|
26
9
|
React.createElement(Typography, null,
|
|
27
10
|
"Remove",
|
|
@@ -32,12 +15,10 @@ function DeleteBookmarkDialog({ rowNumber, model, onClose, }) {
|
|
|
32
15
|
' ',
|
|
33
16
|
"?")),
|
|
34
17
|
React.createElement(DialogActions, null,
|
|
35
|
-
React.createElement(Button, { variant: "contained", color: "secondary", onClick: () =>
|
|
36
|
-
onClose();
|
|
37
|
-
} }, "Cancel"),
|
|
18
|
+
React.createElement(Button, { variant: "contained", color: "secondary", onClick: () => onClose() }, "Cancel"),
|
|
38
19
|
React.createElement(Button, { variant: "contained", color: "primary", onClick: () => {
|
|
39
20
|
if (rowNumber !== undefined) {
|
|
40
|
-
removeBookmark(rowNumber);
|
|
21
|
+
model.removeBookmark(rowNumber);
|
|
41
22
|
onClose();
|
|
42
23
|
}
|
|
43
24
|
} }, "Confirm"))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteBookmark.js","sourceRoot":"","sources":["../../../src/GridBookmarkWidget/components/DeleteBookmark.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"DeleteBookmark.js","sourceRoot":"","sources":["../../../src/GridBookmarkWidget/components/DeleteBookmark.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAKhF,SAAS,oBAAoB,CAAC,EAC5B,SAAS,EACT,KAAK,EACL,OAAO,GAKR;IACC,OAAO,CACL,oBAAC,MAAM,IACL,IAAI,EAAE,SAAS,KAAK,SAAS,EAC7B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAC,iBAAiB;QAEvB,oBAAC,aAAa;YACZ,oBAAC,UAAU;;gBACF,GAAG;gBACV,kCACG,SAAS,KAAK,SAAS;oBACtB,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBACvD,CAAC,CAAC,EAAE,CACD;gBAAC,GAAG;oBAEA,CACC;QAChB,oBAAC,aAAa;YACZ,oBAAC,MAAM,IAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,WAAW,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,aAE7D;YAET,oBAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,SAAS,KAAK,SAAS,EAAE;wBAC3B,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;wBAC/B,OAAO,EAAE,CAAA;qBACV;gBACH,CAAC,cAGM,CACK,CACT,CACV,CAAA;AACH,CAAC;AAED,eAAe,QAAQ,CAAC,oBAAoB,CAAC,CAAA"}
|
|
@@ -1,27 +1,14 @@
|
|
|
1
1
|
import React, { useState } from 'react';
|
|
2
2
|
import { observer } from 'mobx-react';
|
|
3
|
-
import {
|
|
3
|
+
import { Button, DialogContent, DialogActions, MenuItem, Select, Typography, } from '@mui/material';
|
|
4
|
+
import { Dialog } from '@jbrowse/core/ui';
|
|
4
5
|
import { makeStyles } from 'tss-react/mui';
|
|
5
|
-
import CloseIcon from '@mui/icons-material/Close';
|
|
6
6
|
import GetAppIcon from '@mui/icons-material/GetApp';
|
|
7
7
|
import { downloadBookmarkFile } from '../utils';
|
|
8
8
|
const useStyles = makeStyles()(() => ({
|
|
9
|
-
closeDialog: {
|
|
10
|
-
position: 'absolute',
|
|
11
|
-
right: 0,
|
|
12
|
-
top: 0,
|
|
13
|
-
},
|
|
14
|
-
dialogContainer: {
|
|
15
|
-
margin: 15,
|
|
16
|
-
},
|
|
17
9
|
flexItem: {
|
|
18
10
|
margin: 5,
|
|
19
11
|
},
|
|
20
|
-
flexContainer: {
|
|
21
|
-
display: 'flex',
|
|
22
|
-
justifyContent: 'space-evenly',
|
|
23
|
-
width: 200,
|
|
24
|
-
},
|
|
25
12
|
}));
|
|
26
13
|
function DownloadBookmarks({ model }) {
|
|
27
14
|
const { classes } = useStyles();
|
|
@@ -30,10 +17,7 @@ function DownloadBookmarks({ model }) {
|
|
|
30
17
|
const { bookmarkedRegions } = model;
|
|
31
18
|
return (React.createElement(React.Fragment, null,
|
|
32
19
|
React.createElement(Button, { startIcon: React.createElement(GetAppIcon, null), onClick: () => setDialogOpen(true) }, "Download"),
|
|
33
|
-
React.createElement(Dialog, { open: dialogOpen, onClose: () => setDialogOpen(false) },
|
|
34
|
-
React.createElement(DialogTitle, null,
|
|
35
|
-
React.createElement(IconButton, { className: classes.closeDialog, "aria-label": "close-dialog", onClick: () => setDialogOpen(false) },
|
|
36
|
-
React.createElement(CloseIcon, null))),
|
|
20
|
+
React.createElement(Dialog, { open: dialogOpen, onClose: () => setDialogOpen(false), title: "Download bookmarks" },
|
|
37
21
|
React.createElement(DialogContent, null,
|
|
38
22
|
React.createElement(Typography, null, "Format to download"),
|
|
39
23
|
React.createElement(Select, { className: classes.flexItem, "data-testid": "selectFileType", value: fileType, onChange: event => setFileType(event.target.value) },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DownloadBookmarks.js","sourceRoot":"","sources":["../../../src/GridBookmarkWidget/components/DownloadBookmarks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"DownloadBookmarks.js","sourceRoot":"","sources":["../../../src/GridBookmarkWidget/components/DownloadBookmarks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EACL,MAAM,EACN,aAAa,EACb,aAAa,EACb,QAAQ,EACR,MAAM,EACN,UAAU,GACX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,UAAU,MAAM,4BAA4B,CAAA;AAGnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAE/C,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACpC,QAAQ,EAAE;QACR,MAAM,EAAE,CAAC;KACV;CACF,CAAC,CAAC,CAAA;AAEH,SAAS,iBAAiB,CAAC,EAAE,KAAK,EAAgC;IAChE,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC/C,MAAM,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAA;IAEnC,OAAO,CACL;QACE,oBAAC,MAAM,IAAC,SAAS,EAAE,oBAAC,UAAU,OAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,eAE5D;QACT,oBAAC,MAAM,IACL,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EACnC,KAAK,EAAC,oBAAoB;YAE1B,oBAAC,aAAa;gBACZ,oBAAC,UAAU,6BAAgC;gBAC3C,oBAAC,MAAM,IACL,SAAS,EAAE,OAAO,CAAC,QAAQ,iBACf,gBAAgB,EAC5B,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;oBAElD,oBAAC,QAAQ,IAAC,KAAK,EAAC,KAAK,UAAe;oBACpC,oBAAC,QAAQ,IAAC,KAAK,EAAC,KAAK,UAAe,CAC7B,CACK;YAChB,oBAAC,aAAa;gBACZ,oBAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,WAAW,EACjB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,aAG5B;gBACT,oBAAC,MAAM,IACL,SAAS,EAAE,OAAO,CAAC,QAAQ,iBACf,gBAAgB,EAC5B,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,SAAS,EACf,SAAS,EAAE,oBAAC,UAAU,OAAG,EACzB,OAAO,EAAE,GAAG,EAAE;wBACZ,oBAAoB,CAAC,iBAAiB,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;wBACxD,aAAa,CAAC,KAAK,CAAC,CAAA;oBACtB,CAAC,eAGM,CACK,CACT,CACR,CACJ,CAAA;AACH,CAAC;AAED,eAAe,QAAQ,CAAC,iBAAiB,CAAC,CAAA"}
|
|
@@ -4,16 +4,12 @@ import { getSession } from '@jbrowse/core/util';
|
|
|
4
4
|
import AssemblySelector from '@jbrowse/core/ui/AssemblySelector';
|
|
5
5
|
import { FileSelector } from '@jbrowse/core/ui';
|
|
6
6
|
import { openLocation } from '@jbrowse/core/util/io';
|
|
7
|
-
import {
|
|
7
|
+
import { Button, DialogContent, DialogActions, Typography } from '@mui/material';
|
|
8
|
+
import { Dialog } from '@jbrowse/core/ui';
|
|
8
9
|
import { makeStyles } from 'tss-react/mui';
|
|
9
|
-
|
|
10
|
+
// icons
|
|
10
11
|
import ImportIcon from '@mui/icons-material/Publish';
|
|
11
12
|
const useStyles = makeStyles()(() => ({
|
|
12
|
-
closeDialog: {
|
|
13
|
-
position: 'absolute',
|
|
14
|
-
right: 0,
|
|
15
|
-
top: 0,
|
|
16
|
-
},
|
|
17
13
|
dialogContainer: {
|
|
18
14
|
margin: 15,
|
|
19
15
|
},
|
|
@@ -31,11 +27,7 @@ function ImportBookmarks({ model, assemblyName, }) {
|
|
|
31
27
|
const [selectedAsm, setSelectedAsm] = useState(assemblyName || assemblyNames[0]);
|
|
32
28
|
return (React.createElement(React.Fragment, null,
|
|
33
29
|
React.createElement(Button, { startIcon: React.createElement(ImportIcon, null), onClick: () => setDialogOpen(true) }, "Import"),
|
|
34
|
-
React.createElement(Dialog, { open: dialogOpen, onClose: () => setDialogOpen(false), maxWidth: "xl" },
|
|
35
|
-
React.createElement(DialogTitle, null,
|
|
36
|
-
"Import bookmarks",
|
|
37
|
-
React.createElement(IconButton, { className: classes.closeDialog, "aria-label": "close-dialog", onClick: () => setDialogOpen(false) },
|
|
38
|
-
React.createElement(CloseIcon, null))),
|
|
30
|
+
React.createElement(Dialog, { open: dialogOpen, onClose: () => setDialogOpen(false), maxWidth: "xl", title: "Import bookmarks" },
|
|
39
31
|
React.createElement(DialogContent, null,
|
|
40
32
|
React.createElement(Typography, null, "Choose a BED format file to import. The first 4 columns will be used"),
|
|
41
33
|
React.createElement(FileSelector, { location: location, setLocation: setLocation, name: "File" }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImportBookmarks.js","sourceRoot":"","sources":["../../../src/GridBookmarkWidget/components/ImportBookmarks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,gBAAgB,MAAM,mCAAmC,CAAA;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"ImportBookmarks.js","sourceRoot":"","sources":["../../../src/GridBookmarkWidget/components/ImportBookmarks.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jbrowse/plugin-grid-bookmark",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.0",
|
|
4
4
|
"description": "JBrowse 2 grid bookmark widget",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jbrowse",
|
|
@@ -59,5 +59,5 @@
|
|
|
59
59
|
"distModule": "esm/index.js",
|
|
60
60
|
"srcModule": "src/index.ts",
|
|
61
61
|
"module": "esm/index.js",
|
|
62
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "78707a2bc3ba8489f26a590ef83f62ede945d048"
|
|
63
63
|
}
|
|
@@ -1,38 +1,16 @@
|
|
|
1
1
|
import React, { useState } from 'react'
|
|
2
2
|
import { observer } from 'mobx-react'
|
|
3
|
+
import { Button, DialogContent, DialogActions, Typography } from '@mui/material'
|
|
4
|
+
import { Dialog } from '@jbrowse/core/ui'
|
|
3
5
|
|
|
4
|
-
|
|
5
|
-
Button,
|
|
6
|
-
IconButton,
|
|
7
|
-
Dialog,
|
|
8
|
-
DialogTitle,
|
|
9
|
-
DialogContent,
|
|
10
|
-
DialogActions,
|
|
11
|
-
Typography,
|
|
12
|
-
} from '@mui/material'
|
|
13
|
-
import { makeStyles } from 'tss-react/mui'
|
|
6
|
+
// icons
|
|
14
7
|
import ClearAllIcon from '@mui/icons-material/ClearAll'
|
|
15
|
-
import CloseIcon from '@mui/icons-material/Close'
|
|
16
8
|
|
|
9
|
+
// locals
|
|
17
10
|
import { GridBookmarkModel } from '../model'
|
|
18
11
|
|
|
19
|
-
const useStyles = makeStyles()(() => ({
|
|
20
|
-
closeDialog: {
|
|
21
|
-
position: 'absolute',
|
|
22
|
-
right: 0,
|
|
23
|
-
top: 0,
|
|
24
|
-
},
|
|
25
|
-
dialogContainer: {
|
|
26
|
-
margin: 15,
|
|
27
|
-
},
|
|
28
|
-
}))
|
|
29
|
-
|
|
30
12
|
function ClearBookmarks({ model }: { model: GridBookmarkModel }) {
|
|
31
|
-
const { classes } = useStyles()
|
|
32
13
|
const [dialogOpen, setDialogOpen] = useState(false)
|
|
33
|
-
|
|
34
|
-
const { clearAllBookmarks } = model
|
|
35
|
-
|
|
36
14
|
return (
|
|
37
15
|
<>
|
|
38
16
|
<Button
|
|
@@ -42,17 +20,11 @@ function ClearBookmarks({ model }: { model: GridBookmarkModel }) {
|
|
|
42
20
|
>
|
|
43
21
|
Clear
|
|
44
22
|
</Button>
|
|
45
|
-
<Dialog
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
aria-label="close-dialog"
|
|
51
|
-
onClick={() => setDialogOpen(false)}
|
|
52
|
-
>
|
|
53
|
-
<CloseIcon />
|
|
54
|
-
</IconButton>
|
|
55
|
-
</DialogTitle>
|
|
23
|
+
<Dialog
|
|
24
|
+
open={dialogOpen}
|
|
25
|
+
onClose={() => setDialogOpen(false)}
|
|
26
|
+
title="Clear bookmarks"
|
|
27
|
+
>
|
|
56
28
|
<DialogContent>
|
|
57
29
|
<Typography>
|
|
58
30
|
Clear all bookmarks? Note this will clear bookmarks for all
|
|
@@ -73,7 +45,7 @@ function ClearBookmarks({ model }: { model: GridBookmarkModel }) {
|
|
|
73
45
|
variant="contained"
|
|
74
46
|
color="primary"
|
|
75
47
|
onClick={() => {
|
|
76
|
-
clearAllBookmarks()
|
|
48
|
+
model.clearAllBookmarks()
|
|
77
49
|
setDialogOpen(false)
|
|
78
50
|
}}
|
|
79
51
|
>
|
|
@@ -1,33 +1,12 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
2
|
import { observer } from 'mobx-react'
|
|
3
|
-
|
|
4
3
|
import { assembleLocString } from '@jbrowse/core/util'
|
|
4
|
+
import { Dialog } from '@jbrowse/core/ui'
|
|
5
|
+
import { Button, DialogContent, DialogActions, Typography } from '@mui/material'
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
IconButton,
|
|
8
|
-
Button,
|
|
9
|
-
Dialog,
|
|
10
|
-
DialogTitle,
|
|
11
|
-
DialogContent,
|
|
12
|
-
DialogActions,
|
|
13
|
-
Typography,
|
|
14
|
-
} from '@mui/material'
|
|
15
|
-
import { makeStyles } from 'tss-react/mui'
|
|
16
|
-
import CloseIcon from '@mui/icons-material/Close'
|
|
17
|
-
|
|
7
|
+
// locals
|
|
18
8
|
import { GridBookmarkModel } from '../model'
|
|
19
9
|
|
|
20
|
-
const useStyles = makeStyles()(() => ({
|
|
21
|
-
closeDialog: {
|
|
22
|
-
position: 'absolute',
|
|
23
|
-
right: 0,
|
|
24
|
-
top: 0,
|
|
25
|
-
},
|
|
26
|
-
dialogContainer: {
|
|
27
|
-
margin: 15,
|
|
28
|
-
},
|
|
29
|
-
}))
|
|
30
|
-
|
|
31
10
|
function DeleteBookmarkDialog({
|
|
32
11
|
rowNumber,
|
|
33
12
|
model,
|
|
@@ -37,22 +16,12 @@ function DeleteBookmarkDialog({
|
|
|
37
16
|
model: GridBookmarkModel
|
|
38
17
|
onClose: () => void
|
|
39
18
|
}) {
|
|
40
|
-
const { classes } = useStyles()
|
|
41
|
-
|
|
42
|
-
const { removeBookmark } = model
|
|
43
|
-
|
|
44
19
|
return (
|
|
45
|
-
<Dialog
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
aria-label="close-dialog"
|
|
51
|
-
onClick={onClose}
|
|
52
|
-
>
|
|
53
|
-
<CloseIcon />
|
|
54
|
-
</IconButton>
|
|
55
|
-
</DialogTitle>
|
|
20
|
+
<Dialog
|
|
21
|
+
open={rowNumber !== undefined}
|
|
22
|
+
onClose={onClose}
|
|
23
|
+
title="Delete bookmark"
|
|
24
|
+
>
|
|
56
25
|
<DialogContent>
|
|
57
26
|
<Typography>
|
|
58
27
|
Remove{' '}
|
|
@@ -65,13 +34,7 @@ function DeleteBookmarkDialog({
|
|
|
65
34
|
</Typography>
|
|
66
35
|
</DialogContent>
|
|
67
36
|
<DialogActions>
|
|
68
|
-
<Button
|
|
69
|
-
variant="contained"
|
|
70
|
-
color="secondary"
|
|
71
|
-
onClick={() => {
|
|
72
|
-
onClose()
|
|
73
|
-
}}
|
|
74
|
-
>
|
|
37
|
+
<Button variant="contained" color="secondary" onClick={() => onClose()}>
|
|
75
38
|
Cancel
|
|
76
39
|
</Button>
|
|
77
40
|
|
|
@@ -80,7 +43,7 @@ function DeleteBookmarkDialog({
|
|
|
80
43
|
color="primary"
|
|
81
44
|
onClick={() => {
|
|
82
45
|
if (rowNumber !== undefined) {
|
|
83
|
-
removeBookmark(rowNumber)
|
|
46
|
+
model.removeBookmark(rowNumber)
|
|
84
47
|
onClose()
|
|
85
48
|
}
|
|
86
49
|
}}
|
|
@@ -2,40 +2,24 @@ import React, { useState } from 'react'
|
|
|
2
2
|
import { observer } from 'mobx-react'
|
|
3
3
|
|
|
4
4
|
import {
|
|
5
|
-
IconButton,
|
|
6
5
|
Button,
|
|
7
|
-
Dialog,
|
|
8
|
-
DialogTitle,
|
|
9
6
|
DialogContent,
|
|
10
7
|
DialogActions,
|
|
11
8
|
MenuItem,
|
|
12
9
|
Select,
|
|
13
10
|
Typography,
|
|
14
11
|
} from '@mui/material'
|
|
12
|
+
import { Dialog } from '@jbrowse/core/ui'
|
|
15
13
|
import { makeStyles } from 'tss-react/mui'
|
|
16
|
-
import CloseIcon from '@mui/icons-material/Close'
|
|
17
14
|
import GetAppIcon from '@mui/icons-material/GetApp'
|
|
18
15
|
|
|
19
16
|
import { GridBookmarkModel } from '../model'
|
|
20
17
|
import { downloadBookmarkFile } from '../utils'
|
|
21
18
|
|
|
22
19
|
const useStyles = makeStyles()(() => ({
|
|
23
|
-
closeDialog: {
|
|
24
|
-
position: 'absolute',
|
|
25
|
-
right: 0,
|
|
26
|
-
top: 0,
|
|
27
|
-
},
|
|
28
|
-
dialogContainer: {
|
|
29
|
-
margin: 15,
|
|
30
|
-
},
|
|
31
20
|
flexItem: {
|
|
32
21
|
margin: 5,
|
|
33
22
|
},
|
|
34
|
-
flexContainer: {
|
|
35
|
-
display: 'flex',
|
|
36
|
-
justifyContent: 'space-evenly',
|
|
37
|
-
width: 200,
|
|
38
|
-
},
|
|
39
23
|
}))
|
|
40
24
|
|
|
41
25
|
function DownloadBookmarks({ model }: { model: GridBookmarkModel }) {
|
|
@@ -49,23 +33,18 @@ function DownloadBookmarks({ model }: { model: GridBookmarkModel }) {
|
|
|
49
33
|
<Button startIcon={<GetAppIcon />} onClick={() => setDialogOpen(true)}>
|
|
50
34
|
Download
|
|
51
35
|
</Button>
|
|
52
|
-
<Dialog
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
onClick={() => setDialogOpen(false)}
|
|
58
|
-
>
|
|
59
|
-
<CloseIcon />
|
|
60
|
-
</IconButton>
|
|
61
|
-
</DialogTitle>
|
|
36
|
+
<Dialog
|
|
37
|
+
open={dialogOpen}
|
|
38
|
+
onClose={() => setDialogOpen(false)}
|
|
39
|
+
title="Download bookmarks"
|
|
40
|
+
>
|
|
62
41
|
<DialogContent>
|
|
63
42
|
<Typography>Format to download</Typography>
|
|
64
43
|
<Select
|
|
65
44
|
className={classes.flexItem}
|
|
66
45
|
data-testid="selectFileType"
|
|
67
46
|
value={fileType}
|
|
68
|
-
onChange={event => setFileType(event.target.value
|
|
47
|
+
onChange={event => setFileType(event.target.value)}
|
|
69
48
|
>
|
|
70
49
|
<MenuItem value="BED">BED</MenuItem>
|
|
71
50
|
<MenuItem value="TSV">TSV</MenuItem>
|
|
@@ -5,26 +5,17 @@ import AssemblySelector from '@jbrowse/core/ui/AssemblySelector'
|
|
|
5
5
|
import { FileLocation } from '@jbrowse/core/util/types'
|
|
6
6
|
import { FileSelector } from '@jbrowse/core/ui'
|
|
7
7
|
import { openLocation } from '@jbrowse/core/util/io'
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
Button,
|
|
11
|
-
Dialog,
|
|
12
|
-
DialogTitle,
|
|
13
|
-
DialogContent,
|
|
14
|
-
DialogActions,
|
|
15
|
-
Typography,
|
|
16
|
-
} from '@mui/material'
|
|
8
|
+
import { Button, DialogContent, DialogActions, Typography } from '@mui/material'
|
|
9
|
+
import { Dialog } from '@jbrowse/core/ui'
|
|
17
10
|
import { makeStyles } from 'tss-react/mui'
|
|
18
|
-
|
|
11
|
+
|
|
12
|
+
// icons
|
|
19
13
|
import ImportIcon from '@mui/icons-material/Publish'
|
|
14
|
+
|
|
15
|
+
// locals
|
|
20
16
|
import { GridBookmarkModel } from '../model'
|
|
21
17
|
|
|
22
18
|
const useStyles = makeStyles()(() => ({
|
|
23
|
-
closeDialog: {
|
|
24
|
-
position: 'absolute',
|
|
25
|
-
right: 0,
|
|
26
|
-
top: 0,
|
|
27
|
-
},
|
|
28
19
|
dialogContainer: {
|
|
29
20
|
margin: 15,
|
|
30
21
|
},
|
|
@@ -59,17 +50,8 @@ function ImportBookmarks({
|
|
|
59
50
|
open={dialogOpen}
|
|
60
51
|
onClose={() => setDialogOpen(false)}
|
|
61
52
|
maxWidth="xl"
|
|
53
|
+
title="Import bookmarks"
|
|
62
54
|
>
|
|
63
|
-
<DialogTitle>
|
|
64
|
-
Import bookmarks
|
|
65
|
-
<IconButton
|
|
66
|
-
className={classes.closeDialog}
|
|
67
|
-
aria-label="close-dialog"
|
|
68
|
-
onClick={() => setDialogOpen(false)}
|
|
69
|
-
>
|
|
70
|
-
<CloseIcon />
|
|
71
|
-
</IconButton>
|
|
72
|
-
</DialogTitle>
|
|
73
55
|
<DialogContent>
|
|
74
56
|
<Typography>
|
|
75
57
|
Choose a BED format file to import. The first 4 columns will be used
|