@jbrowse/plugin-grid-bookmark 2.16.1 → 2.18.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 (75) hide show
  1. package/dist/GridBookmarkWidget/components/AssemblySelector.d.ts +1 -1
  2. package/dist/GridBookmarkWidget/components/AssemblySelector.js +1 -2
  3. package/dist/GridBookmarkWidget/components/BookmarkGrid.d.ts +1 -1
  4. package/dist/GridBookmarkWidget/components/BookmarkGrid.js +53 -82
  5. package/dist/GridBookmarkWidget/components/GridBookmarkWidget.d.ts +1 -1
  6. package/dist/GridBookmarkWidget/components/GridBookmarkWidget.js +9 -12
  7. package/dist/GridBookmarkWidget/components/Highlight/Highlight.d.ts +1 -1
  8. package/dist/GridBookmarkWidget/components/Highlight/Highlight.js +14 -11
  9. package/dist/GridBookmarkWidget/components/Highlight/OverviewHighlight.d.ts +2 -2
  10. package/dist/GridBookmarkWidget/components/Highlight/OverviewHighlight.js +5 -5
  11. package/dist/GridBookmarkWidget/components/Highlight/index.d.ts +1 -1
  12. package/dist/GridBookmarkWidget/components/Highlight/index.js +2 -7
  13. package/dist/GridBookmarkWidget/components/dialogs/DeleteBookmarksDialog.d.ts +1 -1
  14. package/dist/GridBookmarkWidget/components/dialogs/DeleteBookmarksDialog.js +2 -2
  15. package/dist/GridBookmarkWidget/components/dialogs/EditHighlightColorDialog.d.ts +1 -1
  16. package/dist/GridBookmarkWidget/components/dialogs/EditHighlightColorDialog.js +2 -2
  17. package/dist/GridBookmarkWidget/components/dialogs/ExportBookmarksDialog.d.ts +2 -2
  18. package/dist/GridBookmarkWidget/components/dialogs/ExportBookmarksDialog.js +8 -7
  19. package/dist/GridBookmarkWidget/components/dialogs/HighlightSettingsDialog.d.ts +1 -1
  20. package/dist/GridBookmarkWidget/components/dialogs/HighlightSettingsDialog.js +4 -4
  21. package/dist/GridBookmarkWidget/components/dialogs/ImportBookmarksDialog.d.ts +1 -1
  22. package/dist/GridBookmarkWidget/components/dialogs/ImportBookmarksDialog.js +8 -11
  23. package/dist/GridBookmarkWidget/components/dialogs/ShareBookmarksDialog.d.ts +1 -1
  24. package/dist/GridBookmarkWidget/components/dialogs/ShareBookmarksDialog.js +5 -7
  25. package/dist/GridBookmarkWidget/index.d.ts +1 -1
  26. package/dist/GridBookmarkWidget/index.js +1 -2
  27. package/dist/GridBookmarkWidget/model.d.ts +10 -86
  28. package/dist/GridBookmarkWidget/model.js +18 -94
  29. package/dist/GridBookmarkWidget/sessionSharing.d.ts +1 -1
  30. package/dist/GridBookmarkWidget/sessionSharing.js +3 -9
  31. package/dist/GridBookmarkWidget/types.d.ts +1 -1
  32. package/dist/GridBookmarkWidget/utils.d.ts +2 -16
  33. package/dist/GridBookmarkWidget/utils.js +2 -23
  34. package/dist/index.d.ts +1 -1
  35. package/dist/index.js +10 -29
  36. package/esm/GridBookmarkWidget/components/AssemblySelector.d.ts +1 -1
  37. package/esm/GridBookmarkWidget/components/AssemblySelector.js +1 -2
  38. package/esm/GridBookmarkWidget/components/BookmarkGrid.d.ts +1 -1
  39. package/esm/GridBookmarkWidget/components/BookmarkGrid.js +53 -59
  40. package/esm/GridBookmarkWidget/components/GridBookmarkWidget.d.ts +1 -1
  41. package/esm/GridBookmarkWidget/components/GridBookmarkWidget.js +9 -12
  42. package/esm/GridBookmarkWidget/components/Highlight/Highlight.d.ts +1 -1
  43. package/esm/GridBookmarkWidget/components/Highlight/Highlight.js +14 -11
  44. package/esm/GridBookmarkWidget/components/Highlight/OverviewHighlight.d.ts +2 -2
  45. package/esm/GridBookmarkWidget/components/Highlight/OverviewHighlight.js +5 -5
  46. package/esm/GridBookmarkWidget/components/Highlight/index.d.ts +1 -1
  47. package/esm/GridBookmarkWidget/components/Highlight/index.js +2 -7
  48. package/esm/GridBookmarkWidget/components/dialogs/DeleteBookmarksDialog.d.ts +1 -1
  49. package/esm/GridBookmarkWidget/components/dialogs/DeleteBookmarksDialog.js +2 -2
  50. package/esm/GridBookmarkWidget/components/dialogs/EditHighlightColorDialog.d.ts +1 -1
  51. package/esm/GridBookmarkWidget/components/dialogs/EditHighlightColorDialog.js +2 -2
  52. package/esm/GridBookmarkWidget/components/dialogs/ExportBookmarksDialog.d.ts +2 -2
  53. package/esm/GridBookmarkWidget/components/dialogs/ExportBookmarksDialog.js +8 -7
  54. package/esm/GridBookmarkWidget/components/dialogs/HighlightSettingsDialog.d.ts +1 -1
  55. package/esm/GridBookmarkWidget/components/dialogs/HighlightSettingsDialog.js +4 -4
  56. package/esm/GridBookmarkWidget/components/dialogs/ImportBookmarksDialog.d.ts +1 -1
  57. package/esm/GridBookmarkWidget/components/dialogs/ImportBookmarksDialog.js +7 -10
  58. package/esm/GridBookmarkWidget/components/dialogs/ShareBookmarksDialog.d.ts +1 -1
  59. package/esm/GridBookmarkWidget/components/dialogs/ShareBookmarksDialog.js +5 -7
  60. package/esm/GridBookmarkWidget/index.d.ts +1 -1
  61. package/esm/GridBookmarkWidget/index.js +1 -2
  62. package/esm/GridBookmarkWidget/model.d.ts +10 -86
  63. package/esm/GridBookmarkWidget/model.js +18 -94
  64. package/esm/GridBookmarkWidget/sessionSharing.d.ts +1 -1
  65. package/esm/GridBookmarkWidget/sessionSharing.js +3 -9
  66. package/esm/GridBookmarkWidget/types.d.ts +1 -1
  67. package/esm/GridBookmarkWidget/utils.d.ts +2 -16
  68. package/esm/GridBookmarkWidget/utils.js +2 -23
  69. package/esm/index.d.ts +1 -1
  70. package/esm/index.js +10 -29
  71. package/package.json +2 -2
  72. package/dist/GridBookmarkWidget/components/dialogs/EditBookmarkLabelDialog.d.ts +0 -8
  73. package/dist/GridBookmarkWidget/components/dialogs/EditBookmarkLabelDialog.js +0 -52
  74. package/esm/GridBookmarkWidget/components/dialogs/EditBookmarkLabelDialog.d.ts +0 -8
  75. package/esm/GridBookmarkWidget/components/dialogs/EditBookmarkLabelDialog.js +0 -27
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { GridBookmarkModel } from '../model';
2
+ import type { GridBookmarkModel } from '../model';
3
3
  declare const AssemblySelector: ({ model, }: {
4
4
  model: GridBookmarkModel;
5
5
  }) => React.JSX.Element;
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
- const mobx_react_1 = require("mobx-react");
8
7
  const material_1 = require("@mui/material");
8
+ const mobx_react_1 = require("mobx-react");
9
9
  const AssemblySelector = (0, mobx_react_1.observer)(function ({ model, }) {
10
10
  const { validAssemblies, selectedAssemblies } = model;
11
11
  const noAssemblies = validAssemblies.size === 0;
@@ -19,7 +19,6 @@ const AssemblySelector = (0, mobx_react_1.observer)(function ({ model, }) {
19
19
  model.setSelectedAssemblies([...event.target.value]);
20
20
  }, input: react_1.default.createElement(material_1.OutlinedInput, { label: label }), renderValue: selected => selected.join(', ') },
21
21
  react_1.default.createElement(material_1.MenuItem, { onClickCapture: event => {
22
- // onClickCapture allows us to avoid the parent Select onChange from triggering
23
22
  if (isAllSelected) {
24
23
  model.setSelectedAssemblies([]);
25
24
  }
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { GridBookmarkModel } from '../model';
2
+ import type { GridBookmarkModel } from '../model';
3
3
  declare const BookmarkGrid: ({ model, }: {
4
4
  model: GridBookmarkModel;
5
5
  }) => React.JSX.Element;
@@ -1,41 +1,16 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
4
  };
28
5
  Object.defineProperty(exports, "__esModule", { value: true });
29
- const react_1 = __importStar(require("react"));
30
- const mobx_react_1 = require("mobx-react");
6
+ const react_1 = __importDefault(require("react"));
7
+ const ColorPicker_1 = __importDefault(require("@jbrowse/core/ui/ColorPicker"));
8
+ const util_1 = require("@jbrowse/core/util");
31
9
  const material_1 = require("@mui/material");
32
- const mui_1 = require("tss-react/mui");
33
10
  const x_data_grid_1 = require("@mui/x-data-grid");
34
- const util_1 = require("@jbrowse/core/util");
35
- const ColorPicker_1 = __importDefault(require("@jbrowse/core/ui/ColorPicker"));
36
- // locals
11
+ const mobx_react_1 = require("mobx-react");
12
+ const mui_1 = require("tss-react/mui");
37
13
  const utils_1 = require("../utils");
38
- const EditBookmarkLabelDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./dialogs/EditBookmarkLabelDialog'))));
39
14
  const useStyles = (0, mui_1.makeStyles)()(() => ({
40
15
  cell: {
41
16
  whiteSpace: 'nowrap',
@@ -67,57 +42,53 @@ const BookmarkGrid = (0, mobx_react_1.observer)(function ({ model, }) {
67
42
  Math.max((0, util_1.measureText)('Assembly', 12) + 30, (0, util_1.measureGridWidth)(rows.map(row => row.assemblyName))),
68
43
  100,
69
44
  ];
70
- return (react_1.default.createElement(x_data_grid_1.DataGrid, { autoHeight: true, density: "compact", rows: rows, columns: [
71
- {
72
- ...x_data_grid_1.GRID_CHECKBOX_SELECTION_COL_DEF,
73
- width: widths[0],
74
- },
75
- {
76
- field: 'locString',
77
- headerName: 'Bookmark link',
78
- width: widths[1],
79
- renderCell: ({ value, row }) => (react_1.default.createElement(material_1.Link, { className: classes.cell, href: "#", onClick: async (event) => {
80
- event.preventDefault();
81
- const { views } = session;
82
- await (0, utils_1.navToBookmark)(value, row.assemblyName, views, model);
83
- } }, value)),
84
- },
85
- {
86
- field: 'label',
87
- headerName: 'Label',
88
- width: widths[2],
89
- editable: true,
90
- },
91
- {
92
- field: 'assemblyName',
93
- headerName: 'Assembly',
94
- width: widths[3],
95
- },
96
- {
97
- field: 'highlight',
98
- headerName: 'Highlight',
99
- width: widths[4],
100
- renderCell: ({ value, row }) => (react_1.default.createElement(ColorPicker_1.default, { color: value || 'black', onChange: event => {
101
- model.updateBookmarkHighlight(row, event);
102
- } })),
103
- },
104
- ], onCellDoubleClick: ({ row }) => {
105
- (0, util_1.getSession)(model).queueDialog(onClose => [
106
- EditBookmarkLabelDialog,
107
- { onClose, model, dialogRow: row },
108
- ]);
109
- }, processRowUpdate: row => {
110
- const target = rows[row.id];
111
- model.updateBookmarkLabel(target, row.label);
112
- return row;
113
- }, onProcessRowUpdateError: e => {
114
- session.notifyError(`${e}`, e);
115
- }, checkboxSelection: true, onRowSelectionModelChange: newRowSelectionModel => {
116
- if (bookmarksWithValidAssemblies.length > 0) {
117
- model.setSelectedBookmarks(newRowSelectionModel.map(value => ({
118
- ...rows[value],
119
- })));
120
- }
121
- }, rowSelectionModel: selectedBookmarks.map(r => r.id), disableRowSelectionOnClick: true }));
45
+ return (react_1.default.createElement("div", { style: { display: 'flex', flexDirection: 'column' } },
46
+ react_1.default.createElement(x_data_grid_1.DataGrid, { density: "compact", rows: rows, columns: [
47
+ {
48
+ ...x_data_grid_1.GRID_CHECKBOX_SELECTION_COL_DEF,
49
+ width: widths[0],
50
+ },
51
+ {
52
+ field: 'locString',
53
+ headerName: 'Bookmark link',
54
+ width: widths[1],
55
+ renderCell: ({ value, row }) => (react_1.default.createElement(material_1.Link, { className: classes.cell, href: "#", onClick: async (event) => {
56
+ event.preventDefault();
57
+ const { views } = session;
58
+ await (0, utils_1.navToBookmark)(value, row.assemblyName, views, model);
59
+ } }, value)),
60
+ },
61
+ {
62
+ field: 'label',
63
+ headerName: 'Label',
64
+ width: widths[2],
65
+ editable: true,
66
+ },
67
+ {
68
+ field: 'assemblyName',
69
+ headerName: 'Assembly',
70
+ width: widths[3],
71
+ },
72
+ {
73
+ field: 'highlight',
74
+ headerName: 'Highlight',
75
+ width: widths[4],
76
+ renderCell: ({ value, row }) => (react_1.default.createElement(ColorPicker_1.default, { color: value || 'black', onChange: event => {
77
+ model.updateBookmarkHighlight(row, event);
78
+ } })),
79
+ },
80
+ ], processRowUpdate: row => {
81
+ const target = rows[row.id];
82
+ model.updateBookmarkLabel(target, row.label);
83
+ return row;
84
+ }, onProcessRowUpdateError: e => {
85
+ session.notifyError(`${e}`, e);
86
+ }, checkboxSelection: true, onRowSelectionModelChange: newRowSelectionModel => {
87
+ if (bookmarksWithValidAssemblies.length > 0) {
88
+ model.setSelectedBookmarks(newRowSelectionModel.map(value => ({
89
+ ...rows[value],
90
+ })));
91
+ }
92
+ }, rowSelectionModel: selectedBookmarks.map(r => r.id), disableRowSelectionOnClick: true })));
122
93
  });
123
94
  exports.default = BookmarkGrid;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { GridBookmarkModel } from '../model';
2
+ import type { GridBookmarkModel } from '../model';
3
3
  declare const GridBookmarkWidget: ({ model, }: {
4
4
  model: GridBookmarkModel;
5
5
  }) => React.JSX.Element;
@@ -27,23 +27,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const react_1 = __importStar(require("react"));
30
- const mobx_react_1 = require("mobx-react");
31
- const mui_1 = require("tss-react/mui");
32
- const util_1 = require("@jbrowse/core/util");
33
- const material_1 = require("@mui/material");
34
30
  const CascadingMenuButton_1 = __importDefault(require("@jbrowse/core/ui/CascadingMenuButton"));
35
- // locals
36
- const BookmarkGrid_1 = __importDefault(require("./BookmarkGrid"));
37
- const AssemblySelector_1 = __importDefault(require("./AssemblySelector"));
38
- // icons
39
- const Menu_1 = __importDefault(require("@mui/icons-material/Menu"));
31
+ const util_1 = require("@jbrowse/core/util");
32
+ const Delete_1 = __importDefault(require("@mui/icons-material/Delete"));
40
33
  const GetApp_1 = __importDefault(require("@mui/icons-material/GetApp"));
34
+ const Menu_1 = __importDefault(require("@mui/icons-material/Menu"));
35
+ const Palette_1 = __importDefault(require("@mui/icons-material/Palette"));
41
36
  const Publish_1 = __importDefault(require("@mui/icons-material/Publish"));
42
37
  const Settings_1 = __importDefault(require("@mui/icons-material/Settings"));
43
- const Palette_1 = __importDefault(require("@mui/icons-material/Palette"));
44
38
  const Share_1 = __importDefault(require("@mui/icons-material/Share"));
45
- const Delete_1 = __importDefault(require("@mui/icons-material/Delete"));
46
- // lazies
39
+ const material_1 = require("@mui/material");
40
+ const mobx_react_1 = require("mobx-react");
41
+ const mui_1 = require("tss-react/mui");
42
+ const AssemblySelector_1 = __importDefault(require("./AssemblySelector"));
43
+ const BookmarkGrid_1 = __importDefault(require("./BookmarkGrid"));
47
44
  const ExportBookmarksDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./dialogs/ExportBookmarksDialog'))));
48
45
  const ImportBookmarksDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./dialogs/ImportBookmarksDialog'))));
49
46
  const ShareBookmarksDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./dialogs/ShareBookmarksDialog'))));
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { IExtendedLGV } from '../../model';
2
+ import type { IExtendedLGV } from '../../model';
3
3
  type LGV = IExtendedLGV;
4
4
  declare const Highlight: ({ model }: {
5
5
  model: LGV;
@@ -27,14 +27,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const react_1 = __importStar(require("react"));
30
- const mobx_react_1 = require("mobx-react");
31
- const mui_1 = require("tss-react/mui");
30
+ const CascadingMenuButton_1 = __importDefault(require("@jbrowse/core/ui/CascadingMenuButton"));
32
31
  const util_1 = require("@jbrowse/core/util");
33
32
  const colord_1 = require("@jbrowse/core/util/colord");
34
- const material_1 = require("@mui/material");
35
- const CascadingMenuButton_1 = __importDefault(require("@jbrowse/core/ui/CascadingMenuButton"));
36
- // icons
37
33
  const Bookmark_1 = __importDefault(require("@mui/icons-material/Bookmark"));
34
+ const material_1 = require("@mui/material");
35
+ const mobx_react_1 = require("mobx-react");
36
+ const mui_1 = require("tss-react/mui");
38
37
  const useStyles = (0, mui_1.makeStyles)()({
39
38
  bookmarkButton: {
40
39
  overflow: 'hidden',
@@ -51,7 +50,7 @@ const Highlight = (0, mobx_react_1.observer)(function Highlight({ model }) {
51
50
  const { classes } = useStyles();
52
51
  const session = (0, util_1.getSession)(model);
53
52
  const { assemblyManager } = session;
54
- const { showBookmarkHighlights, showBookmarkLabels } = model;
53
+ const { bookmarkHighlightsVisible, bookmarkLabelsVisible } = model;
55
54
  const bookmarkWidget = session.widgets.get('GridBookmark');
56
55
  (0, react_1.useEffect)(() => {
57
56
  if (!bookmarkWidget) {
@@ -59,7 +58,7 @@ const Highlight = (0, mobx_react_1.observer)(function Highlight({ model }) {
59
58
  }
60
59
  }, [session, bookmarkWidget]);
61
60
  const set = new Set(model.assemblyNames);
62
- return showBookmarkHighlights && (bookmarkWidget === null || bookmarkWidget === void 0 ? void 0 : bookmarkWidget.bookmarks)
61
+ return bookmarkHighlightsVisible && (bookmarkWidget === null || bookmarkWidget === void 0 ? void 0 : bookmarkWidget.bookmarks)
63
62
  ? bookmarkWidget.bookmarks
64
63
  .filter(value => set.has(value.assemblyName))
65
64
  .map(r => {
@@ -79,15 +78,13 @@ const Highlight = (0, mobx_react_1.observer)(function Highlight({ model }) {
79
78
  : undefined;
80
79
  })
81
80
  .filter(util_1.notEmpty)
82
- .map(({ left, width, highlight, label, bookmark }, idx) => (
83
- /* biome-ignore lint/suspicious/noArrayIndexKey: */
84
- react_1.default.createElement(react_1.default.Fragment, { key: `${left}_${width}_${idx}` },
81
+ .map(({ left, width, highlight, label, bookmark }, idx) => (react_1.default.createElement(react_1.default.Fragment, { key: `${left}_${width}_${idx}` },
85
82
  react_1.default.createElement("div", { className: classes.highlight, id: "highlight", style: {
86
83
  left,
87
84
  width,
88
85
  background: highlight,
89
86
  } }),
90
- showBookmarkLabels && width > 20 ? (react_1.default.createElement("div", { className: classes.bookmarkButton, style: { left } },
87
+ bookmarkLabelsVisible && width > 20 ? (react_1.default.createElement("div", { className: classes.bookmarkButton, style: { left } },
91
88
  react_1.default.createElement(CascadingMenuButton_1.default, { menuItems: [
92
89
  {
93
90
  label: 'Open bookmark widget',
@@ -95,6 +92,12 @@ const Highlight = (0, mobx_react_1.observer)(function Highlight({ model }) {
95
92
  session.showWidget(bookmarkWidget);
96
93
  },
97
94
  },
95
+ {
96
+ label: 'Turn off highlights',
97
+ onClick: () => {
98
+ bookmarkWidget.setBookmarkHighlightsVisible(false);
99
+ },
100
+ },
98
101
  {
99
102
  label: 'Remove bookmark',
100
103
  onClick: () => {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { Base1DViewModel } from '@jbrowse/core/util/Base1DViewModel';
3
- import { IExtendedLGV } from '../../model';
2
+ import type { IExtendedLGV } from '../../model';
3
+ import type { Base1DViewModel } from '@jbrowse/core/util/Base1DViewModel';
4
4
  type LGV = IExtendedLGV;
5
5
  declare const OverviewHighlight: ({ model, overview, }: {
6
6
  model: LGV;
@@ -24,10 +24,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  const react_1 = __importStar(require("react"));
27
- const mobx_react_1 = require("mobx-react");
28
- const mui_1 = require("tss-react/mui");
29
27
  const util_1 = require("@jbrowse/core/util");
30
28
  const material_1 = require("@mui/material");
29
+ const mobx_react_1 = require("mobx-react");
30
+ const mui_1 = require("tss-react/mui");
31
31
  const useStyles = (0, mui_1.makeStyles)()({
32
32
  highlight: {
33
33
  height: '100%',
@@ -39,7 +39,7 @@ const OverviewHighlight = (0, mobx_react_1.observer)(function OverviewHighlight(
39
39
  const session = (0, util_1.getSession)(model);
40
40
  const { classes } = useStyles();
41
41
  const { assemblyManager } = session;
42
- const { showBookmarkHighlights, showBookmarkLabels } = model;
42
+ const { bookmarkHighlightsVisible, bookmarkLabelsVisible } = model;
43
43
  const bookmarkWidget = session.widgets.get('GridBookmark');
44
44
  (0, react_1.useEffect)(() => {
45
45
  if (!bookmarkWidget) {
@@ -47,7 +47,7 @@ const OverviewHighlight = (0, mobx_react_1.observer)(function OverviewHighlight(
47
47
  }
48
48
  }, [session, bookmarkWidget]);
49
49
  const assemblyNames = new Set(model.assemblyNames);
50
- return showBookmarkHighlights && (bookmarkWidget === null || bookmarkWidget === void 0 ? void 0 : bookmarkWidget.bookmarks)
50
+ return bookmarkHighlightsVisible && (bookmarkWidget === null || bookmarkWidget === void 0 ? void 0 : bookmarkWidget.bookmarks)
51
51
  ? bookmarkWidget.bookmarks
52
52
  .filter(r => assemblyNames.has(r.assemblyName))
53
53
  .map(r => {
@@ -69,7 +69,7 @@ const OverviewHighlight = (0, mobx_react_1.observer)(function OverviewHighlight(
69
69
  .filter(util_1.notEmpty)
70
70
  .map((obj, idx) => {
71
71
  const { left, width, highlight, label } = obj;
72
- return (react_1.default.createElement(material_1.Tooltip, { key: `${JSON.stringify(obj)}-${idx}`, title: showBookmarkLabels ? label : '', arrow: true },
72
+ return (react_1.default.createElement(material_1.Tooltip, { key: `${JSON.stringify(obj)}-${idx}`, title: bookmarkLabelsVisible ? label : '', arrow: true },
73
73
  react_1.default.createElement("div", { className: classes.highlight, style: {
74
74
  left,
75
75
  width,
@@ -1,2 +1,2 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  export default function AddHighlightModelF(pluginManager: PluginManager): void;
@@ -5,21 +5,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.default = AddHighlightModelF;
7
7
  const react_1 = __importDefault(require("react"));
8
- // locals
9
8
  const Highlight_1 = __importDefault(require("./Highlight"));
10
9
  const OverviewHighlight_1 = __importDefault(require("./OverviewHighlight"));
11
10
  function AddHighlightModelF(pluginManager) {
12
- pluginManager.addToExtensionPoint('LinearGenomeView-TracksContainerComponent',
13
- // @ts-expect-error
14
- (rest, { model }) => {
11
+ pluginManager.addToExtensionPoint('LinearGenomeView-TracksContainerComponent', (rest, { model }) => {
15
12
  return [
16
13
  ...(rest || []),
17
14
  react_1.default.createElement(Highlight_1.default, { key: "highlight_grid_bookmark", model: model }),
18
15
  ];
19
16
  });
20
- pluginManager.addToExtensionPoint('LinearGenomeView-OverviewScalebarComponent',
21
- // @ts-expect-error
22
- (rest, { model, overview }) => {
17
+ pluginManager.addToExtensionPoint('LinearGenomeView-OverviewScalebarComponent', (rest, { model, overview }) => {
23
18
  return [
24
19
  ...(rest || []),
25
20
  react_1.default.createElement(OverviewHighlight_1.default, { key: "overview_highlight_grid_bookmark", model: model, overview: overview }),
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { GridBookmarkModel } from '../../model';
2
+ import type { GridBookmarkModel } from '../../model';
3
3
  declare const DeleteBookmarksDialog: ({ onClose, model, }: {
4
4
  onClose: () => void;
5
5
  model: GridBookmarkModel;
@@ -4,9 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
- const mobx_react_1 = require("mobx-react");
8
- const material_1 = require("@mui/material");
9
7
  const ui_1 = require("@jbrowse/core/ui");
8
+ const material_1 = require("@mui/material");
9
+ const mobx_react_1 = require("mobx-react");
10
10
  const DeleteBookmarksDialog = (0, mobx_react_1.observer)(function ({ onClose, model, }) {
11
11
  const { selectedBookmarks } = model;
12
12
  const deleteAll = selectedBookmarks.length === 0;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { GridBookmarkModel } from '../../model';
2
+ import type { GridBookmarkModel } from '../../model';
3
3
  declare const EditHighlightColorDialog: ({ onClose, model, }: {
4
4
  onClose: () => void;
5
5
  model: GridBookmarkModel;
@@ -24,10 +24,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  const react_1 = __importStar(require("react"));
27
- const mobx_react_1 = require("mobx-react");
28
- const material_1 = require("@mui/material");
29
27
  const ui_1 = require("@jbrowse/core/ui");
30
28
  const ColorPicker_1 = require("@jbrowse/core/ui/ColorPicker");
29
+ const material_1 = require("@mui/material");
30
+ const mobx_react_1 = require("mobx-react");
31
31
  const EditHighlightColorDialog = (0, mobx_react_1.observer)(function ({ onClose, model, }) {
32
32
  var _a, _b;
33
33
  const { selectedBookmarks } = model;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { GridBookmarkModel } from '../../model';
2
+ import type { GridBookmarkModel } from '../../model';
3
3
  declare const ExportBookmarksDialog: ({ model, onClose, }: {
4
4
  model: GridBookmarkModel;
5
- onClose: (arg: boolean) => void;
5
+ onClose: () => void;
6
6
  }) => React.JSX.Element;
7
7
  export default ExportBookmarksDialog;
@@ -27,12 +27,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const react_1 = __importStar(require("react"));
30
- const mobx_react_1 = require("mobx-react");
31
- const material_1 = require("@mui/material");
32
- const mui_1 = require("tss-react/mui");
33
30
  const ui_1 = require("@jbrowse/core/ui");
34
- // Icons
35
31
  const GetApp_1 = __importDefault(require("@mui/icons-material/GetApp"));
32
+ const material_1 = require("@mui/material");
33
+ const mobx_react_1 = require("mobx-react");
34
+ const mui_1 = require("tss-react/mui");
36
35
  const utils_1 = require("../../utils");
37
36
  const useStyles = (0, mui_1.makeStyles)()({
38
37
  flexItem: {
@@ -46,12 +45,14 @@ const useStyles = (0, mui_1.makeStyles)()({
46
45
  gap: '5px',
47
46
  },
48
47
  });
49
- const ExportBookmarksDialog = (0, mobx_react_1.observer)(function ExportBookmarksDialog({ model, onClose, }) {
48
+ const ExportBookmarksDialog = (0, mobx_react_1.observer)(function ({ model, onClose, }) {
50
49
  const { classes } = useStyles();
51
50
  const [fileType, setFileType] = (0, react_1.useState)('BED');
52
51
  const { selectedBookmarks } = model;
53
52
  const exportAll = selectedBookmarks.length === 0;
54
- return (react_1.default.createElement(ui_1.Dialog, { open: true, onClose: onClose, title: "Export bookmarks" },
53
+ return (react_1.default.createElement(ui_1.Dialog, { open: true, onClose: () => {
54
+ onClose();
55
+ }, title: "Export bookmarks" },
55
56
  react_1.default.createElement(material_1.DialogContent, { className: classes.container },
56
57
  react_1.default.createElement(material_1.Alert, { severity: "info" }, exportAll ? (react_1.default.createElement(react_1.default.Fragment, null,
57
58
  react_1.default.createElement("span", null, "All bookmarks will be exported."),
@@ -67,7 +68,7 @@ const ExportBookmarksDialog = (0, mobx_react_1.observer)(function ExportBookmark
67
68
  react_1.default.createElement(material_1.DialogActions, null,
68
69
  react_1.default.createElement(material_1.Button, { variant: "contained", color: "primary", startIcon: react_1.default.createElement(GetApp_1.default, null), onClick: () => {
69
70
  (0, utils_1.downloadBookmarkFile)(fileType, model);
70
- onClose(false);
71
+ onClose();
71
72
  } }, "Download"))));
72
73
  });
73
74
  exports.default = ExportBookmarksDialog;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { GridBookmarkModel } from '../../model';
2
+ import type { GridBookmarkModel } from '../../model';
3
3
  declare const HighlightSettingsDialog: ({ onClose, model, }: {
4
4
  onClose: () => void;
5
5
  model: GridBookmarkModel;
@@ -4,21 +4,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
- const mobx_react_1 = require("mobx-react");
8
- const material_1 = require("@mui/material");
9
7
  const ui_1 = require("@jbrowse/core/ui");
8
+ const material_1 = require("@mui/material");
9
+ const mobx_react_1 = require("mobx-react");
10
10
  const HighlightSettingsDialog = (0, mobx_react_1.observer)(function ({ onClose, model, }) {
11
11
  return (react_1.default.createElement(ui_1.Dialog, { open: true, onClose: onClose, title: "Highlight bookmarks" },
12
12
  react_1.default.createElement(material_1.DialogContent, null,
13
13
  react_1.default.createElement(material_1.Typography, { variant: "h6" }, "Highlight toggles"),
14
14
  react_1.default.createElement(material_1.Stack, { direction: "row", alignItems: "center" },
15
15
  react_1.default.createElement(material_1.Switch, { "data-testid": "toggle_highlight_all_switch", checked: model.areBookmarksHighlightedOnAllOpenViews, onChange: () => {
16
- model.setHighlightToggle(!model.areBookmarksHighlightedOnAllOpenViews);
16
+ model.setBookmarkHighlightsVisible(!model.areBookmarksHighlightedOnAllOpenViews);
17
17
  } }),
18
18
  react_1.default.createElement(material_1.Typography, null, "Toggle bookmark highlights on all open views")),
19
19
  react_1.default.createElement(material_1.Stack, { direction: "row", alignItems: "center" },
20
20
  react_1.default.createElement(material_1.Switch, { "data-testid": "toggle_highlight_label_all_switch", checked: model.areBookmarksHighlightLabelsOnAllOpenViews, onChange: () => {
21
- model.setLabelToggle(!model.areBookmarksHighlightLabelsOnAllOpenViews);
21
+ model.setBookmarkLabelsVisible(!model.areBookmarksHighlightLabelsOnAllOpenViews);
22
22
  } }),
23
23
  react_1.default.createElement(material_1.Typography, null, "Toggle 'bookmark' icon on LGV tracks"))),
24
24
  react_1.default.createElement(material_1.DialogActions, null,
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { GridBookmarkModel } from '../../model';
2
+ import type { GridBookmarkModel } from '../../model';
3
3
  declare const ImportBookmarksDialog: ({ onClose, model, }: {
4
4
  onClose: () => void;
5
5
  model: GridBookmarkModel;
@@ -27,19 +27,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const react_1 = __importStar(require("react"));
30
- const mobx_react_1 = require("mobx-react");
30
+ const ui_1 = require("@jbrowse/core/ui");
31
31
  const util_1 = require("@jbrowse/core/util");
32
+ const io_1 = require("@jbrowse/core/util/io");
32
33
  const types_1 = require("@jbrowse/core/util/types");
33
- const ui_1 = require("@jbrowse/core/ui");
34
+ const ExpandMore_1 = __importDefault(require("@mui/icons-material/ExpandMore"));
35
+ const Publish_1 = __importDefault(require("@mui/icons-material/Publish"));
34
36
  const material_1 = require("@mui/material");
35
- const io_1 = require("@jbrowse/core/util/io");
36
- const ui_2 = require("@jbrowse/core/ui");
37
+ const mobx_react_1 = require("mobx-react");
37
38
  const mui_1 = require("tss-react/mui");
38
- // icons
39
- const Publish_1 = __importDefault(require("@mui/icons-material/Publish"));
40
- const ExpandMore_1 = __importDefault(require("@mui/icons-material/ExpandMore"));
41
- const utils_1 = require("../../utils");
42
39
  const sessionSharing_1 = require("../../sessionSharing");
40
+ const utils_1 = require("../../utils");
43
41
  const useStyles = (0, mui_1.makeStyles)()(theme => ({
44
42
  expandIcon: {
45
43
  color: theme.palette.tertiary.contrastText || '#fff',
@@ -102,7 +100,7 @@ const ImportBookmarksDialog = (0, mobx_react_1.observer)(function ({ onClose, mo
102
100
  const { assemblyNames } = session;
103
101
  const [selectedAsm, setSelectedAsm] = (0, react_1.useState)(assemblyNames[0]);
104
102
  const [expanded, setExpanded] = (0, react_1.useState)('shareLinkAccordion');
105
- return (react_1.default.createElement(ui_2.Dialog, { open: true, onClose: onClose, maxWidth: "xl", title: "Import bookmarks" },
103
+ return (react_1.default.createElement(ui_1.Dialog, { open: true, onClose: onClose, maxWidth: "xl", title: "Import bookmarks" },
106
104
  react_1.default.createElement(material_1.DialogContent, { className: classes.minWidth },
107
105
  react_1.default.createElement(material_1.Accordion, { expanded: expanded === 'shareLinkAccordion', onChange: () => {
108
106
  setExpanded('shareLinkAccordion');
@@ -121,7 +119,7 @@ const ImportBookmarksDialog = (0, mobx_react_1.observer)(function ({ onClose, mo
121
119
  react_1.default.createElement(material_1.Typography, null, "Import from file")),
122
120
  react_1.default.createElement(material_1.AccordionDetails, null,
123
121
  react_1.default.createElement(ui_1.FileSelector, { location: location, setLocation: setLocation, name: "File", description: `Choose a BED or TSV format file to import. Required TSV column headers are "chrom, start, end, label, assembly_name".` }),
124
- react_1.default.createElement(ui_2.AssemblySelector, { onChange: val => {
122
+ react_1.default.createElement(ui_1.AssemblySelector, { onChange: val => {
125
123
  setSelectedAsm(val);
126
124
  }, helperText: 'Select the assembly for BED file.', session: session, selected: selectedAsm }))),
127
125
  error ? react_1.default.createElement(ui_1.ErrorMessage, { error: error }) : null),
@@ -137,7 +135,6 @@ const ImportBookmarksDialog = (0, mobx_react_1.observer)(function ({ onClose, mo
137
135
  model.importBookmarks(await getBookmarksFromBEDFile(lines, selectedAsm));
138
136
  }
139
137
  else {
140
- // TSV
141
138
  model.importBookmarks(await getBookmarksFromTSVFile(lines));
142
139
  }
143
140
  }
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { GridBookmarkModel } from '../../model';
2
+ import type { GridBookmarkModel } from '../../model';
3
3
  declare const ShareBookmarksDialog: ({ onClose, model, }: {
4
4
  onClose: () => void;
5
5
  model: GridBookmarkModel;
@@ -27,15 +27,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const react_1 = __importStar(require("react"));
30
+ const ui_1 = require("@jbrowse/core/ui");
31
+ const Icons_1 = require("@jbrowse/core/ui/Icons");
32
+ const util_1 = require("@jbrowse/core/util");
33
+ const material_1 = require("@mui/material");
34
+ const copy_to_clipboard_1 = __importDefault(require("copy-to-clipboard"));
30
35
  const mobx_react_1 = require("mobx-react");
31
36
  const mobx_state_tree_1 = require("mobx-state-tree");
32
- const material_1 = require("@mui/material");
33
37
  const mui_1 = require("tss-react/mui");
34
- const copy_to_clipboard_1 = __importDefault(require("copy-to-clipboard"));
35
- const util_1 = require("@jbrowse/core/util");
36
- const ui_1 = require("@jbrowse/core/ui");
37
- const Icons_1 = require("@jbrowse/core/ui/Icons");
38
- // locals
39
38
  const sessionSharing_1 = require("../../sessionSharing");
40
39
  const useStyles = (0, mui_1.makeStyles)()(() => ({
41
40
  flexItem: {
@@ -59,7 +58,6 @@ const ShareBookmarksDialog = (0, mobx_react_1.observer)(function ({ onClose, mod
59
58
  ? model.allBookmarksModel
60
59
  : model.sharedBookmarksModel;
61
60
  (0, react_1.useEffect)(() => {
62
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
63
61
  ;
64
62
  (async () => {
65
63
  try {
@@ -1,2 +1,2 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  export default function GridBookmarkWidgetF(pluginManager: PluginManager): void;