@jbrowse/plugin-grid-bookmark 2.17.0 → 3.0.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/AssemblySelector.d.ts +2 -3
- package/dist/GridBookmarkWidget/components/AssemblySelector.js +10 -25
- package/dist/GridBookmarkWidget/components/BookmarkGrid.d.ts +2 -3
- package/dist/GridBookmarkWidget/components/BookmarkGrid.js +52 -82
- package/dist/GridBookmarkWidget/components/GridBookmarkWidget.d.ts +2 -3
- package/dist/GridBookmarkWidget/components/GridBookmarkWidget.js +90 -93
- package/dist/GridBookmarkWidget/components/Highlight/Highlight.d.ts +2 -3
- package/dist/GridBookmarkWidget/components/Highlight/Highlight.js +34 -58
- package/dist/GridBookmarkWidget/components/Highlight/OverviewHighlight.d.ts +3 -4
- package/dist/GridBookmarkWidget/components/Highlight/OverviewHighlight.js +8 -31
- package/dist/GridBookmarkWidget/components/Highlight/index.d.ts +1 -1
- package/dist/GridBookmarkWidget/components/Highlight/index.js +5 -10
- package/dist/GridBookmarkWidget/components/dialogs/DeleteBookmarksDialog.d.ts +2 -3
- package/dist/GridBookmarkWidget/components/dialogs/DeleteBookmarksDialog.js +12 -23
- package/dist/GridBookmarkWidget/components/dialogs/EditHighlightColorDialog.d.ts +2 -3
- package/dist/GridBookmarkWidget/components/dialogs/EditHighlightColorDialog.js +12 -41
- package/dist/GridBookmarkWidget/components/dialogs/ExportBookmarksDialog.d.ts +3 -4
- package/dist/GridBookmarkWidget/components/dialogs/ExportBookmarksDialog.js +14 -47
- package/dist/GridBookmarkWidget/components/dialogs/HighlightSettingsDialog.d.ts +2 -3
- package/dist/GridBookmarkWidget/components/dialogs/HighlightSettingsDialog.js +10 -23
- package/dist/GridBookmarkWidget/components/dialogs/ImportBookmarksDialog.d.ts +2 -3
- package/dist/GridBookmarkWidget/components/dialogs/ImportBookmarksDialog.js +39 -81
- package/dist/GridBookmarkWidget/components/dialogs/ShareBookmarksDialog.d.ts +2 -3
- package/dist/GridBookmarkWidget/components/dialogs/ShareBookmarksDialog.js +19 -53
- package/dist/GridBookmarkWidget/index.d.ts +1 -1
- package/dist/GridBookmarkWidget/index.js +18 -9
- package/dist/GridBookmarkWidget/model.d.ts +10 -86
- package/dist/GridBookmarkWidget/model.js +18 -94
- package/dist/GridBookmarkWidget/sessionSharing.d.ts +1 -1
- package/dist/GridBookmarkWidget/sessionSharing.js +20 -16
- package/dist/GridBookmarkWidget/types.d.ts +1 -1
- package/dist/GridBookmarkWidget/utils.d.ts +2 -16
- package/dist/GridBookmarkWidget/utils.js +19 -30
- package/dist/index.d.ts +1 -1
- package/dist/index.js +10 -29
- package/esm/GridBookmarkWidget/components/AssemblySelector.d.ts +2 -3
- package/esm/GridBookmarkWidget/components/AssemblySelector.js +10 -22
- package/esm/GridBookmarkWidget/components/BookmarkGrid.d.ts +2 -3
- package/esm/GridBookmarkWidget/components/BookmarkGrid.js +52 -59
- package/esm/GridBookmarkWidget/components/GridBookmarkWidget.d.ts +2 -3
- package/esm/GridBookmarkWidget/components/GridBookmarkWidget.js +73 -86
- package/esm/GridBookmarkWidget/components/Highlight/Highlight.d.ts +2 -3
- package/esm/GridBookmarkWidget/components/Highlight/Highlight.js +34 -35
- package/esm/GridBookmarkWidget/components/Highlight/OverviewHighlight.d.ts +3 -4
- package/esm/GridBookmarkWidget/components/Highlight/OverviewHighlight.js +8 -8
- package/esm/GridBookmarkWidget/components/Highlight/index.d.ts +1 -1
- package/esm/GridBookmarkWidget/components/Highlight/index.js +5 -10
- package/esm/GridBookmarkWidget/components/dialogs/DeleteBookmarksDialog.d.ts +2 -3
- package/esm/GridBookmarkWidget/components/dialogs/DeleteBookmarksDialog.js +12 -20
- package/esm/GridBookmarkWidget/components/dialogs/EditHighlightColorDialog.d.ts +2 -3
- package/esm/GridBookmarkWidget/components/dialogs/EditHighlightColorDialog.js +12 -18
- package/esm/GridBookmarkWidget/components/dialogs/ExportBookmarksDialog.d.ts +3 -4
- package/esm/GridBookmarkWidget/components/dialogs/ExportBookmarksDialog.js +14 -24
- package/esm/GridBookmarkWidget/components/dialogs/HighlightSettingsDialog.d.ts +2 -3
- package/esm/GridBookmarkWidget/components/dialogs/HighlightSettingsDialog.js +10 -20
- package/esm/GridBookmarkWidget/components/dialogs/ImportBookmarksDialog.d.ts +2 -3
- package/esm/GridBookmarkWidget/components/dialogs/ImportBookmarksDialog.js +40 -59
- package/esm/GridBookmarkWidget/components/dialogs/ShareBookmarksDialog.d.ts +2 -3
- package/esm/GridBookmarkWidget/components/dialogs/ShareBookmarksDialog.js +19 -30
- package/esm/GridBookmarkWidget/index.d.ts +1 -1
- package/esm/GridBookmarkWidget/index.js +1 -2
- package/esm/GridBookmarkWidget/model.d.ts +10 -86
- package/esm/GridBookmarkWidget/model.js +18 -94
- package/esm/GridBookmarkWidget/sessionSharing.d.ts +1 -1
- package/esm/GridBookmarkWidget/sessionSharing.js +3 -9
- package/esm/GridBookmarkWidget/types.d.ts +1 -1
- package/esm/GridBookmarkWidget/utils.d.ts +2 -16
- package/esm/GridBookmarkWidget/utils.js +2 -23
- package/esm/index.d.ts +1 -1
- package/esm/index.js +10 -29
- package/package.json +2 -2
- package/dist/GridBookmarkWidget/components/dialogs/EditBookmarkLabelDialog.d.ts +0 -8
- package/dist/GridBookmarkWidget/components/dialogs/EditBookmarkLabelDialog.js +0 -54
- package/esm/GridBookmarkWidget/components/dialogs/EditBookmarkLabelDialog.d.ts +0 -8
- package/esm/GridBookmarkWidget/components/dialogs/EditBookmarkLabelDialog.js +0 -29
package/esm/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import Plugin from '@jbrowse/core/Plugin';
|
|
2
2
|
import { getSession, isAbstractMenuManager, isSessionModelWithWidgets, } from '@jbrowse/core/util';
|
|
3
|
-
// icons
|
|
4
3
|
import BookmarkIcon from '@mui/icons-material/Bookmark';
|
|
5
4
|
import BookmarksIcon from '@mui/icons-material/Bookmarks';
|
|
6
5
|
import HighlightIcon from '@mui/icons-material/Highlight';
|
|
@@ -19,31 +18,15 @@ export default class GridBookmarkPlugin extends Plugin {
|
|
|
19
18
|
const lgv = stateModel;
|
|
20
19
|
const newStateModel = lgv
|
|
21
20
|
.props({
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
* show the bookmark highlights on this track
|
|
25
|
-
*/
|
|
26
|
-
showBookmarkHighlights: true,
|
|
27
|
-
/**
|
|
28
|
-
* #property
|
|
29
|
-
* show the bookmark labels on this track
|
|
30
|
-
*/
|
|
31
|
-
showBookmarkLabels: true,
|
|
21
|
+
bookmarkHighlightsVisible: true,
|
|
22
|
+
bookmarkLabelsVisible: true,
|
|
32
23
|
})
|
|
33
24
|
.actions(self => ({
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
*/
|
|
37
|
-
toggleShowBookmarkHighlights(toggle) {
|
|
38
|
-
self.showBookmarkHighlights =
|
|
39
|
-
toggle !== undefined ? toggle : !self.showBookmarkHighlights;
|
|
25
|
+
setBookmarkHighlightsVisible(arg) {
|
|
26
|
+
self.bookmarkHighlightsVisible = arg;
|
|
40
27
|
},
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
*/
|
|
44
|
-
toggleShowBookmarkLabels(toggle) {
|
|
45
|
-
self.showBookmarkLabels =
|
|
46
|
-
toggle !== undefined ? toggle : !self.showBookmarkLabels;
|
|
28
|
+
setBookmarkLabelsVisible(arg) {
|
|
29
|
+
self.bookmarkLabelsVisible = arg;
|
|
47
30
|
},
|
|
48
31
|
activateBookmarkWidget() {
|
|
49
32
|
const session = getSession(self);
|
|
@@ -110,18 +93,18 @@ export default class GridBookmarkPlugin extends Plugin {
|
|
|
110
93
|
label: 'Toggle bookmark highlights',
|
|
111
94
|
icon: HighlightIcon,
|
|
112
95
|
type: 'checkbox',
|
|
113
|
-
checked: self.
|
|
96
|
+
checked: self.bookmarkHighlightsVisible,
|
|
114
97
|
onClick: () => {
|
|
115
|
-
self.
|
|
98
|
+
self.setBookmarkHighlightsVisible(!self.bookmarkHighlightsVisible);
|
|
116
99
|
},
|
|
117
100
|
},
|
|
118
101
|
{
|
|
119
102
|
label: 'Toggle bookmark labels',
|
|
120
103
|
icon: LabelIcon,
|
|
121
104
|
type: 'checkbox',
|
|
122
|
-
checked: self.
|
|
105
|
+
checked: self.bookmarkLabelsVisible,
|
|
123
106
|
onClick: () => {
|
|
124
|
-
self.
|
|
107
|
+
self.setBookmarkLabelsVisible(!self.bookmarkLabelsVisible);
|
|
125
108
|
},
|
|
126
109
|
},
|
|
127
110
|
],
|
|
@@ -154,14 +137,12 @@ export default class GridBookmarkPlugin extends Plugin {
|
|
|
154
137
|
afterCreate() {
|
|
155
138
|
document.addEventListener('keydown', e => {
|
|
156
139
|
const activationSequence = (e.ctrlKey || e.metaKey) && e.shiftKey;
|
|
157
|
-
// ctrl+shift+d or cmd+shift+d
|
|
158
140
|
if (activationSequence && e.code === 'KeyD') {
|
|
159
141
|
e.preventDefault();
|
|
160
142
|
self.activateBookmarkWidget();
|
|
161
143
|
self.bookmarkCurrentRegion();
|
|
162
144
|
getSession(self).notify('Bookmark created.', 'success');
|
|
163
145
|
}
|
|
164
|
-
// ctrl+shift+m or cmd+shift+m
|
|
165
146
|
if (activationSequence && e.code === 'KeyM') {
|
|
166
147
|
e.preventDefault();
|
|
167
148
|
self.navigateNewestBookmark();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jbrowse/plugin-grid-bookmark",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.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": "2c6897f1fa732b1db5b094d1dca197e333e95319"
|
|
63
63
|
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { GridBookmarkModel, IExtendedLabeledRegionModel } from '../../model';
|
|
3
|
-
declare const EditBookmarkLabelDialog: ({ model, onClose, dialogRow, }: {
|
|
4
|
-
model: GridBookmarkModel;
|
|
5
|
-
dialogRow: IExtendedLabeledRegionModel;
|
|
6
|
-
onClose: () => void;
|
|
7
|
-
}) => React.JSX.Element;
|
|
8
|
-
export default EditBookmarkLabelDialog;
|
|
@@ -1,54 +0,0 @@
|
|
|
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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
const react_1 = __importStar(require("react"));
|
|
27
|
-
const material_1 = require("@mui/material");
|
|
28
|
-
const ui_1 = require("@jbrowse/core/ui");
|
|
29
|
-
const mobx_react_1 = require("mobx-react");
|
|
30
|
-
const util_1 = require("@jbrowse/core/util");
|
|
31
|
-
const EditBookmarkLabelDialog = (0, mobx_react_1.observer)(function ({ model, onClose, dialogRow, }) {
|
|
32
|
-
const [newLabel, setNewLabel] = (0, react_1.useState)(dialogRow.label || '');
|
|
33
|
-
return (react_1.default.createElement(ui_1.Dialog, { open: true, onClose: onClose, title: "Edit bookmark label" },
|
|
34
|
-
react_1.default.createElement(material_1.DialogContent, null,
|
|
35
|
-
react_1.default.createElement(material_1.Alert, null,
|
|
36
|
-
"Editing label for bookmark",
|
|
37
|
-
' ',
|
|
38
|
-
react_1.default.createElement("strong", null, (0, util_1.assembleLocString)(dialogRow.correspondingObj)),
|
|
39
|
-
":"),
|
|
40
|
-
react_1.default.createElement(material_1.TextField, { fullWidth: true, variant: "outlined", value: newLabel, onChange: e => {
|
|
41
|
-
setNewLabel(e.target.value);
|
|
42
|
-
}, autoFocus: true, slotProps: {
|
|
43
|
-
htmlInput: { 'data-testid': 'edit-bookmark-label-field' },
|
|
44
|
-
} })),
|
|
45
|
-
react_1.default.createElement(material_1.DialogActions, null,
|
|
46
|
-
react_1.default.createElement(material_1.Button, { variant: "contained", color: "primary", onClick: () => {
|
|
47
|
-
if (newLabel) {
|
|
48
|
-
model.updateBookmarkLabel(dialogRow, newLabel);
|
|
49
|
-
}
|
|
50
|
-
setNewLabel('');
|
|
51
|
-
onClose();
|
|
52
|
-
} }, "Confirm"))));
|
|
53
|
-
});
|
|
54
|
-
exports.default = EditBookmarkLabelDialog;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { GridBookmarkModel, IExtendedLabeledRegionModel } from '../../model';
|
|
3
|
-
declare const EditBookmarkLabelDialog: ({ model, onClose, dialogRow, }: {
|
|
4
|
-
model: GridBookmarkModel;
|
|
5
|
-
dialogRow: IExtendedLabeledRegionModel;
|
|
6
|
-
onClose: () => void;
|
|
7
|
-
}) => React.JSX.Element;
|
|
8
|
-
export default EditBookmarkLabelDialog;
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import React, { useState } from 'react';
|
|
2
|
-
import { Alert, DialogContent, DialogActions, Button, TextField, } from '@mui/material';
|
|
3
|
-
import { Dialog } from '@jbrowse/core/ui';
|
|
4
|
-
import { observer } from 'mobx-react';
|
|
5
|
-
import { assembleLocString } from '@jbrowse/core/util';
|
|
6
|
-
const EditBookmarkLabelDialog = observer(function ({ model, onClose, dialogRow, }) {
|
|
7
|
-
const [newLabel, setNewLabel] = useState(dialogRow.label || '');
|
|
8
|
-
return (React.createElement(Dialog, { open: true, onClose: onClose, title: "Edit bookmark label" },
|
|
9
|
-
React.createElement(DialogContent, null,
|
|
10
|
-
React.createElement(Alert, null,
|
|
11
|
-
"Editing label for bookmark",
|
|
12
|
-
' ',
|
|
13
|
-
React.createElement("strong", null, assembleLocString(dialogRow.correspondingObj)),
|
|
14
|
-
":"),
|
|
15
|
-
React.createElement(TextField, { fullWidth: true, variant: "outlined", value: newLabel, onChange: e => {
|
|
16
|
-
setNewLabel(e.target.value);
|
|
17
|
-
}, autoFocus: true, slotProps: {
|
|
18
|
-
htmlInput: { 'data-testid': 'edit-bookmark-label-field' },
|
|
19
|
-
} })),
|
|
20
|
-
React.createElement(DialogActions, null,
|
|
21
|
-
React.createElement(Button, { variant: "contained", color: "primary", onClick: () => {
|
|
22
|
-
if (newLabel) {
|
|
23
|
-
model.updateBookmarkLabel(dialogRow, newLabel);
|
|
24
|
-
}
|
|
25
|
-
setNewLabel('');
|
|
26
|
-
onClose();
|
|
27
|
-
} }, "Confirm"))));
|
|
28
|
-
});
|
|
29
|
-
export default EditBookmarkLabelDialog;
|