@jbrowse/plugin-grid-bookmark 2.6.3 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/GridBookmarkWidget/components/AssemblySelector.d.ts +3 -4
  2. package/dist/GridBookmarkWidget/components/AssemblySelector.js +27 -37
  3. package/dist/GridBookmarkWidget/components/BookmarkGrid.d.ts +6 -0
  4. package/dist/GridBookmarkWidget/components/BookmarkGrid.js +120 -0
  5. package/dist/GridBookmarkWidget/components/{ClearBookmarks.d.ts → DeleteBookmarks.d.ts} +2 -3
  6. package/dist/GridBookmarkWidget/components/DeleteBookmarks.js +41 -0
  7. package/dist/GridBookmarkWidget/components/DeleteBookmarksDialog.d.ts +7 -0
  8. package/dist/GridBookmarkWidget/components/DeleteBookmarksDialog.js +29 -0
  9. package/dist/GridBookmarkWidget/components/EditBookmarkLabelDialog.d.ts +8 -0
  10. package/dist/GridBookmarkWidget/components/EditBookmarkLabelDialog.js +50 -0
  11. package/dist/GridBookmarkWidget/components/ExportBookmarks.d.ts +6 -0
  12. package/dist/GridBookmarkWidget/components/{ClearBookmarks.js → ExportBookmarks.js} +9 -19
  13. package/dist/GridBookmarkWidget/components/ExportBookmarksDialog.d.ts +7 -0
  14. package/dist/GridBookmarkWidget/components/{DownloadBookmarks.js → ExportBookmarksDialog.js} +22 -20
  15. package/dist/GridBookmarkWidget/components/GridBookmarkWidget.d.ts +3 -4
  16. package/dist/GridBookmarkWidget/components/GridBookmarkWidget.js +28 -102
  17. package/dist/GridBookmarkWidget/components/ImportBookmarks.d.ts +3 -5
  18. package/dist/GridBookmarkWidget/components/ImportBookmarks.js +8 -64
  19. package/dist/GridBookmarkWidget/components/ImportBookmarksDialog.d.ts +7 -0
  20. package/dist/GridBookmarkWidget/components/ImportBookmarksDialog.js +129 -0
  21. package/{esm/GridBookmarkWidget/components/ClearBookmarks.d.ts → dist/GridBookmarkWidget/components/ShareBookmarks.d.ts} +2 -3
  22. package/dist/GridBookmarkWidget/components/ShareBookmarks.js +37 -0
  23. package/dist/GridBookmarkWidget/components/ShareBookmarksDialog.d.ts +7 -0
  24. package/dist/GridBookmarkWidget/components/ShareBookmarksDialog.js +106 -0
  25. package/dist/GridBookmarkWidget/model.d.ts +178 -11
  26. package/dist/GridBookmarkWidget/model.js +105 -27
  27. package/dist/GridBookmarkWidget/sessionSharing.d.ts +6 -0
  28. package/dist/GridBookmarkWidget/sessionSharing.js +96 -0
  29. package/dist/GridBookmarkWidget/utils.d.ts +19 -3
  30. package/dist/GridBookmarkWidget/utils.js +132 -40
  31. package/dist/index.d.ts +1 -1
  32. package/dist/index.js +100 -75
  33. package/esm/GridBookmarkWidget/components/AssemblySelector.d.ts +3 -4
  34. package/esm/GridBookmarkWidget/components/AssemblySelector.js +28 -38
  35. package/esm/GridBookmarkWidget/components/BookmarkGrid.d.ts +6 -0
  36. package/esm/GridBookmarkWidget/components/BookmarkGrid.js +92 -0
  37. package/{dist/GridBookmarkWidget/components/DownloadBookmarks.d.ts → esm/GridBookmarkWidget/components/DeleteBookmarks.d.ts} +2 -3
  38. package/esm/GridBookmarkWidget/components/DeleteBookmarks.js +13 -0
  39. package/esm/GridBookmarkWidget/components/DeleteBookmarksDialog.d.ts +7 -0
  40. package/esm/GridBookmarkWidget/components/DeleteBookmarksDialog.js +24 -0
  41. package/esm/GridBookmarkWidget/components/EditBookmarkLabelDialog.d.ts +8 -0
  42. package/esm/GridBookmarkWidget/components/EditBookmarkLabelDialog.js +25 -0
  43. package/esm/GridBookmarkWidget/components/ExportBookmarks.d.ts +6 -0
  44. package/esm/GridBookmarkWidget/components/ExportBookmarks.js +13 -0
  45. package/esm/GridBookmarkWidget/components/ExportBookmarksDialog.d.ts +7 -0
  46. package/esm/GridBookmarkWidget/components/ExportBookmarksDialog.js +35 -0
  47. package/esm/GridBookmarkWidget/components/GridBookmarkWidget.d.ts +3 -4
  48. package/esm/GridBookmarkWidget/components/GridBookmarkWidget.js +28 -79
  49. package/esm/GridBookmarkWidget/components/ImportBookmarks.d.ts +3 -5
  50. package/esm/GridBookmarkWidget/components/ImportBookmarks.js +10 -66
  51. package/esm/GridBookmarkWidget/components/ImportBookmarksDialog.d.ts +7 -0
  52. package/esm/GridBookmarkWidget/components/ImportBookmarksDialog.js +101 -0
  53. package/esm/GridBookmarkWidget/components/{DownloadBookmarks.d.ts → ShareBookmarks.d.ts} +2 -3
  54. package/esm/GridBookmarkWidget/components/ShareBookmarks.js +12 -0
  55. package/esm/GridBookmarkWidget/components/ShareBookmarksDialog.d.ts +7 -0
  56. package/esm/GridBookmarkWidget/components/ShareBookmarksDialog.js +78 -0
  57. package/esm/GridBookmarkWidget/model.d.ts +178 -11
  58. package/esm/GridBookmarkWidget/model.js +106 -28
  59. package/esm/GridBookmarkWidget/sessionSharing.d.ts +6 -0
  60. package/esm/GridBookmarkWidget/sessionSharing.js +68 -0
  61. package/esm/GridBookmarkWidget/utils.d.ts +19 -3
  62. package/esm/GridBookmarkWidget/utils.js +105 -39
  63. package/esm/index.d.ts +1 -1
  64. package/esm/index.js +101 -76
  65. package/package.json +4 -3
  66. package/dist/GridBookmarkWidget/components/DeleteBookmark.d.ts +0 -9
  67. package/dist/GridBookmarkWidget/components/DeleteBookmark.js +0 -31
  68. package/esm/GridBookmarkWidget/components/ClearBookmarks.js +0 -23
  69. package/esm/GridBookmarkWidget/components/DeleteBookmark.d.ts +0 -9
  70. package/esm/GridBookmarkWidget/components/DeleteBookmark.js +0 -26
  71. package/esm/GridBookmarkWidget/components/DownloadBookmarks.js +0 -33
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/plugin-grid-bookmark",
3
- "version": "2.6.3",
3
+ "version": "2.7.0",
4
4
  "description": "JBrowse 2 grid bookmark widget",
5
5
  "keywords": [
6
6
  "jbrowse",
@@ -38,6 +38,7 @@
38
38
  "dependencies": {
39
39
  "@mui/icons-material": "^5.0.1",
40
40
  "@types/file-saver": "^2.0.1",
41
+ "copy-to-clipboard": "^3.3.1",
41
42
  "file-saver": "^2.0.0"
42
43
  },
43
44
  "peerDependencies": {
@@ -47,7 +48,7 @@
47
48
  "@mui/material": "^5.0.0",
48
49
  "@mui/x-data-grid": "^6.0.1",
49
50
  "mobx": "^6.0.0",
50
- "mobx-react": "^7.0.0",
51
+ "mobx-react": "^9.0.0",
51
52
  "mobx-state-tree": "^5.0.0",
52
53
  "react": ">=16.8.0",
53
54
  "tss-react": "^4.0.0"
@@ -58,5 +59,5 @@
58
59
  "distModule": "esm/index.js",
59
60
  "srcModule": "src/index.ts",
60
61
  "module": "esm/index.js",
61
- "gitHead": "ed402c87efb0904858d602c363bd1757d5742129"
62
+ "gitHead": "dbe7fb1af01fc89f833d2744635eb44a17365b41"
62
63
  }
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
- import { GridBookmarkModel } from '../model';
3
- declare function DeleteBookmarkDialog({ rowNumber, model, onClose, }: {
4
- rowNumber: number | undefined;
5
- model: GridBookmarkModel;
6
- onClose: () => void;
7
- }): React.JSX.Element;
8
- declare const _default: typeof DeleteBookmarkDialog;
9
- export default _default;
@@ -1,31 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const mobx_react_1 = require("mobx-react");
8
- const util_1 = require("@jbrowse/core/util");
9
- const ui_1 = require("@jbrowse/core/ui");
10
- const material_1 = require("@mui/material");
11
- function DeleteBookmarkDialog({ rowNumber, model, onClose, }) {
12
- return (react_1.default.createElement(ui_1.Dialog, { open: rowNumber !== undefined, onClose: onClose, title: "Delete bookmark" },
13
- react_1.default.createElement(material_1.DialogContent, null,
14
- react_1.default.createElement(material_1.Typography, null,
15
- "Remove",
16
- ' ',
17
- react_1.default.createElement("code", null, rowNumber !== undefined
18
- ? (0, util_1.assembleLocString)(model.bookmarkedRegions[rowNumber])
19
- : ''),
20
- ' ',
21
- "?")),
22
- react_1.default.createElement(material_1.DialogActions, null,
23
- react_1.default.createElement(material_1.Button, { variant: "contained", color: "secondary", onClick: () => onClose() }, "Cancel"),
24
- react_1.default.createElement(material_1.Button, { variant: "contained", color: "primary", onClick: () => {
25
- if (rowNumber !== undefined) {
26
- model.removeBookmark(rowNumber);
27
- onClose();
28
- }
29
- } }, "Confirm"))));
30
- }
31
- exports.default = (0, mobx_react_1.observer)(DeleteBookmarkDialog);
@@ -1,23 +0,0 @@
1
- import React, { useState } from 'react';
2
- import { observer } from 'mobx-react';
3
- import { Button, DialogContent, DialogActions, Typography } from '@mui/material';
4
- import { Dialog } from '@jbrowse/core/ui';
5
- // icons
6
- import ClearAllIcon from '@mui/icons-material/ClearAll';
7
- function ClearBookmarks({ model }) {
8
- const [dialogOpen, setDialogOpen] = useState(false);
9
- return (React.createElement(React.Fragment, null,
10
- React.createElement(Button, { startIcon: React.createElement(ClearAllIcon, null), "aria-label": "clear bookmarks", onClick: () => setDialogOpen(true) }, "Clear"),
11
- React.createElement(Dialog, { open: dialogOpen, onClose: () => setDialogOpen(false), title: "Clear bookmarks" },
12
- React.createElement(DialogContent, null,
13
- React.createElement(Typography, null, "Clear all bookmarks? Note this will clear bookmarks for all assemblies")),
14
- React.createElement(DialogActions, null,
15
- React.createElement(Button, { variant: "contained", color: "secondary", onClick: () => {
16
- setDialogOpen(false);
17
- } }, "Cancel"),
18
- React.createElement(Button, { variant: "contained", color: "primary", onClick: () => {
19
- model.clearAllBookmarks();
20
- setDialogOpen(false);
21
- } }, "Confirm")))));
22
- }
23
- export default observer(ClearBookmarks);
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
- import { GridBookmarkModel } from '../model';
3
- declare function DeleteBookmarkDialog({ rowNumber, model, onClose, }: {
4
- rowNumber: number | undefined;
5
- model: GridBookmarkModel;
6
- onClose: () => void;
7
- }): React.JSX.Element;
8
- declare const _default: typeof DeleteBookmarkDialog;
9
- export default _default;
@@ -1,26 +0,0 @@
1
- import React from 'react';
2
- import { observer } from 'mobx-react';
3
- import { assembleLocString } from '@jbrowse/core/util';
4
- import { Dialog } from '@jbrowse/core/ui';
5
- import { Button, DialogContent, DialogActions, Typography } from '@mui/material';
6
- function DeleteBookmarkDialog({ rowNumber, model, onClose, }) {
7
- return (React.createElement(Dialog, { open: rowNumber !== undefined, onClose: onClose, title: "Delete bookmark" },
8
- React.createElement(DialogContent, null,
9
- React.createElement(Typography, null,
10
- "Remove",
11
- ' ',
12
- React.createElement("code", null, rowNumber !== undefined
13
- ? assembleLocString(model.bookmarkedRegions[rowNumber])
14
- : ''),
15
- ' ',
16
- "?")),
17
- React.createElement(DialogActions, null,
18
- React.createElement(Button, { variant: "contained", color: "secondary", onClick: () => onClose() }, "Cancel"),
19
- React.createElement(Button, { variant: "contained", color: "primary", onClick: () => {
20
- if (rowNumber !== undefined) {
21
- model.removeBookmark(rowNumber);
22
- onClose();
23
- }
24
- } }, "Confirm"))));
25
- }
26
- export default observer(DeleteBookmarkDialog);
@@ -1,33 +0,0 @@
1
- import React, { useState } from 'react';
2
- import { observer } from 'mobx-react';
3
- import { Button, DialogContent, DialogActions, MenuItem, Select, Typography, } from '@mui/material';
4
- import { Dialog } from '@jbrowse/core/ui';
5
- import { makeStyles } from 'tss-react/mui';
6
- import GetAppIcon from '@mui/icons-material/GetApp';
7
- import { downloadBookmarkFile } from '../utils';
8
- const useStyles = makeStyles()(() => ({
9
- flexItem: {
10
- margin: 5,
11
- },
12
- }));
13
- function DownloadBookmarks({ model }) {
14
- const { classes } = useStyles();
15
- const [dialogOpen, setDialogOpen] = useState(false);
16
- const [fileType, setFileType] = useState('BED');
17
- const { bookmarkedRegions } = model;
18
- return (React.createElement(React.Fragment, null,
19
- React.createElement(Button, { startIcon: React.createElement(GetAppIcon, null), onClick: () => setDialogOpen(true) }, "Download"),
20
- React.createElement(Dialog, { open: dialogOpen, onClose: () => setDialogOpen(false), title: "Download bookmarks" },
21
- React.createElement(DialogContent, null,
22
- React.createElement(Typography, null, "Format to download"),
23
- React.createElement(Select, { className: classes.flexItem, "data-testid": "selectFileType", value: fileType, onChange: event => setFileType(event.target.value) },
24
- React.createElement(MenuItem, { value: "BED" }, "BED"),
25
- React.createElement(MenuItem, { value: "TSV" }, "TSV"))),
26
- React.createElement(DialogActions, null,
27
- React.createElement(Button, { variant: "contained", color: "secondary", onClick: () => setDialogOpen(false) }, "Cancel"),
28
- React.createElement(Button, { className: classes.flexItem, "data-testid": "dialogDownload", variant: "contained", color: "primary", startIcon: React.createElement(GetAppIcon, null), onClick: () => {
29
- downloadBookmarkFile(bookmarkedRegions, fileType, model);
30
- setDialogOpen(false);
31
- } }, "Download")))));
32
- }
33
- export default observer(DownloadBookmarks);