@jbrowse/plugin-grid-bookmark 1.6.9 → 1.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.
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _mobxReact = require("mobx-react");
13
+
14
+ var _core = require("@material-ui/core");
15
+
16
+ var useStyles = (0, _core.makeStyles)(function () {
17
+ return {
18
+ container: {
19
+ display: 'flex',
20
+ flexDirection: 'row',
21
+ margin: 5
22
+ },
23
+ selectText: {
24
+ marginRight: 8,
25
+ marginTop: 10
26
+ },
27
+ flexItem: {
28
+ marginRight: 8
29
+ }
30
+ };
31
+ });
32
+
33
+ function AssemblySelector(_ref) {
34
+ var model = _ref.model;
35
+ var classes = useStyles();
36
+ var assemblies = model.assemblies,
37
+ selectedAssembly = model.selectedAssembly,
38
+ setSelectedAssembly = model.setSelectedAssembly;
39
+ var noAssemblies = assemblies.length === 0 ? true : false;
40
+
41
+ var determineCurrentValue = function determineCurrentValue(selectedAssembly) {
42
+ if (selectedAssembly === 'all') {
43
+ return 'all';
44
+ } else {
45
+ if (assemblies.includes(selectedAssembly)) {
46
+ return selectedAssembly;
47
+ }
48
+ }
49
+
50
+ return 'none';
51
+ };
52
+
53
+ return /*#__PURE__*/_react["default"].createElement("div", {
54
+ className: classes.container
55
+ }, /*#__PURE__*/_react["default"].createElement(_core.Typography, {
56
+ className: classes.selectText
57
+ }, "Select assembly:"), /*#__PURE__*/_react["default"].createElement(_core.FormControl, {
58
+ className: classes.flexItem,
59
+ disabled: noAssemblies
60
+ }, /*#__PURE__*/_react["default"].createElement(_core.Select, {
61
+ value: determineCurrentValue(selectedAssembly),
62
+ onChange: function onChange(event) {
63
+ return setSelectedAssembly(event.target.value);
64
+ }
65
+ }, /*#__PURE__*/_react["default"].createElement(_core.MenuItem, {
66
+ value: "none",
67
+ key: "no-assembly"
68
+ }, "none"), /*#__PURE__*/_react["default"].createElement(_core.MenuItem, {
69
+ value: "all",
70
+ key: "all-assemblies"
71
+ }, "all"), assemblies.map(function (assembly) {
72
+ return /*#__PURE__*/_react["default"].createElement(_core.MenuItem, {
73
+ value: assembly,
74
+ key: assembly
75
+ }, assembly);
76
+ }))));
77
+ }
78
+
79
+ var _default = (0, _mobxReact.observer)(AssemblySelector);
80
+
81
+ exports["default"] = _default;
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _mobxReact = require("mobx-react");
17
+
18
+ var _core = require("@material-ui/core");
19
+
20
+ var _ClearAll = _interopRequireDefault(require("@material-ui/icons/ClearAll"));
21
+
22
+ var _Close = _interopRequireDefault(require("@material-ui/icons/Close"));
23
+
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+
26
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+
28
+ var useStyles = (0, _core.makeStyles)(function () {
29
+ return {
30
+ closeDialog: {
31
+ position: 'absolute',
32
+ right: 0,
33
+ top: 0
34
+ },
35
+ dialogContainer: {
36
+ margin: 15
37
+ }
38
+ };
39
+ });
40
+
41
+ function ClearBookmarks(_ref) {
42
+ var model = _ref.model;
43
+ var classes = useStyles();
44
+
45
+ var _useState = (0, _react.useState)(false),
46
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
47
+ dialogOpen = _useState2[0],
48
+ setDialogOpen = _useState2[1];
49
+
50
+ var clearAllBookmarks = model.clearAllBookmarks;
51
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_core.Button, {
52
+ startIcon: /*#__PURE__*/_react["default"].createElement(_ClearAll["default"], null),
53
+ "aria-label": "clear bookmarks",
54
+ onClick: function onClick() {
55
+ return setDialogOpen(true);
56
+ }
57
+ }, "Clear"), /*#__PURE__*/_react["default"].createElement(_core.Dialog, {
58
+ open: dialogOpen,
59
+ onClose: function onClose() {
60
+ return setDialogOpen(false);
61
+ }
62
+ }, /*#__PURE__*/_react["default"].createElement(_core.DialogTitle, null, "Clear bookmarks", /*#__PURE__*/_react["default"].createElement(_core.IconButton, {
63
+ className: classes.closeDialog,
64
+ "aria-label": "close-dialog",
65
+ onClick: function onClick() {
66
+ return setDialogOpen(false);
67
+ }
68
+ }, /*#__PURE__*/_react["default"].createElement(_Close["default"], null))), /*#__PURE__*/_react["default"].createElement(_core.DialogContent, null, /*#__PURE__*/_react["default"].createElement(_core.Typography, null, "Clear all bookmarks? Note this will clear bookmarks for all assemblies")), /*#__PURE__*/_react["default"].createElement(_core.DialogActions, null, /*#__PURE__*/_react["default"].createElement(_core.Button, {
69
+ variant: "contained",
70
+ color: "secondary",
71
+ onClick: function onClick() {
72
+ setDialogOpen(false);
73
+ }
74
+ }, "Cancel"), /*#__PURE__*/_react["default"].createElement(_core.Button, {
75
+ variant: "contained",
76
+ color: "primary",
77
+ onClick: function onClick() {
78
+ clearAllBookmarks();
79
+ setDialogOpen(false);
80
+ }
81
+ }, "Confirm"))));
82
+ }
83
+
84
+ var _default = (0, _mobxReact.observer)(ClearBookmarks);
85
+
86
+ exports["default"] = _default;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _mobxReact = require("mobx-react");
13
+
14
+ var _util = require("@jbrowse/core/util");
15
+
16
+ var _core = require("@material-ui/core");
17
+
18
+ var _Close = _interopRequireDefault(require("@material-ui/icons/Close"));
19
+
20
+ var useStyles = (0, _core.makeStyles)(function () {
21
+ return {
22
+ closeDialog: {
23
+ position: 'absolute',
24
+ right: 0,
25
+ top: 0
26
+ },
27
+ dialogContainer: {
28
+ margin: 15
29
+ }
30
+ };
31
+ });
32
+
33
+ function DeleteBookmarkDialog(_ref) {
34
+ var rowNumber = _ref.rowNumber,
35
+ model = _ref.model,
36
+ onClose = _ref.onClose;
37
+ var classes = useStyles();
38
+ var removeBookmark = model.removeBookmark;
39
+ return /*#__PURE__*/_react["default"].createElement(_core.Dialog, {
40
+ open: rowNumber !== undefined,
41
+ onClose: onClose
42
+ }, /*#__PURE__*/_react["default"].createElement(_core.DialogTitle, null, "Delete bookmark", /*#__PURE__*/_react["default"].createElement(_core.IconButton, {
43
+ className: classes.closeDialog,
44
+ "aria-label": "close-dialog",
45
+ onClick: onClose
46
+ }, /*#__PURE__*/_react["default"].createElement(_Close["default"], null))), /*#__PURE__*/_react["default"].createElement(_core.DialogContent, null, /*#__PURE__*/_react["default"].createElement(_core.Typography, null, "Remove", ' ', /*#__PURE__*/_react["default"].createElement("code", null, rowNumber !== undefined ? (0, _util.assembleLocString)(model.bookmarkedRegions[rowNumber]) : ''), ' ', "?")), /*#__PURE__*/_react["default"].createElement(_core.DialogActions, null, /*#__PURE__*/_react["default"].createElement(_core.Button, {
47
+ variant: "contained",
48
+ color: "secondary",
49
+ onClick: function onClick() {
50
+ onClose();
51
+ }
52
+ }, "Cancel"), /*#__PURE__*/_react["default"].createElement(_core.Button, {
53
+ variant: "contained",
54
+ color: "primary",
55
+ onClick: function onClick() {
56
+ if (rowNumber !== undefined) {
57
+ removeBookmark(rowNumber);
58
+ onClose();
59
+ }
60
+ }
61
+ }, "Confirm")));
62
+ }
63
+
64
+ var _default = (0, _mobxReact.observer)(DeleteBookmarkDialog);
65
+
66
+ exports["default"] = _default;
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _mobxReact = require("mobx-react");
17
+
18
+ var _core = require("@material-ui/core");
19
+
20
+ var _Close = _interopRequireDefault(require("@material-ui/icons/Close"));
21
+
22
+ var _GetApp = _interopRequireDefault(require("@material-ui/icons/GetApp"));
23
+
24
+ var _utils = require("../utils");
25
+
26
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
+
28
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
+
30
+ var useStyles = (0, _core.makeStyles)(function () {
31
+ return {
32
+ closeDialog: {
33
+ position: 'absolute',
34
+ right: 0,
35
+ top: 0
36
+ },
37
+ dialogContainer: {
38
+ margin: 15
39
+ },
40
+ flexItem: {
41
+ margin: 5
42
+ },
43
+ flexContainer: {
44
+ display: 'flex',
45
+ justifyContent: 'space-evenly',
46
+ width: 200
47
+ }
48
+ };
49
+ });
50
+
51
+ function DownloadBookmarks(_ref) {
52
+ var model = _ref.model;
53
+ var classes = useStyles();
54
+
55
+ var _useState = (0, _react.useState)(false),
56
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
57
+ dialogOpen = _useState2[0],
58
+ setDialogOpen = _useState2[1];
59
+
60
+ var _useState3 = (0, _react.useState)('BED'),
61
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
62
+ fileType = _useState4[0],
63
+ setFileType = _useState4[1];
64
+
65
+ var bookmarkedRegions = model.bookmarkedRegions;
66
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_core.Button, {
67
+ startIcon: /*#__PURE__*/_react["default"].createElement(_GetApp["default"], null),
68
+ onClick: function onClick() {
69
+ return setDialogOpen(true);
70
+ }
71
+ }, "Download"), /*#__PURE__*/_react["default"].createElement(_core.Dialog, {
72
+ open: dialogOpen,
73
+ onClose: function onClose() {
74
+ return setDialogOpen(false);
75
+ }
76
+ }, /*#__PURE__*/_react["default"].createElement(_core.DialogTitle, null, /*#__PURE__*/_react["default"].createElement(_core.IconButton, {
77
+ className: classes.closeDialog,
78
+ "aria-label": "close-dialog",
79
+ onClick: function onClick() {
80
+ return setDialogOpen(false);
81
+ }
82
+ }, /*#__PURE__*/_react["default"].createElement(_Close["default"], null))), /*#__PURE__*/_react["default"].createElement(_core.DialogContent, null, /*#__PURE__*/_react["default"].createElement(_core.Typography, null, "Format to download"), /*#__PURE__*/_react["default"].createElement(_core.Select, {
83
+ className: classes.flexItem,
84
+ "data-testid": "selectFileType",
85
+ value: fileType,
86
+ onChange: function onChange(event) {
87
+ return setFileType(event.target.value);
88
+ }
89
+ }, /*#__PURE__*/_react["default"].createElement(_core.MenuItem, {
90
+ value: "BED"
91
+ }, "BED"), /*#__PURE__*/_react["default"].createElement(_core.MenuItem, {
92
+ value: "TSV"
93
+ }, "TSV"))), /*#__PURE__*/_react["default"].createElement(_core.DialogActions, null, /*#__PURE__*/_react["default"].createElement(_core.Button, {
94
+ variant: "contained",
95
+ color: "secondary",
96
+ onClick: function onClick() {
97
+ return setDialogOpen(false);
98
+ }
99
+ }, "Cancel"), /*#__PURE__*/_react["default"].createElement(_core.Button, {
100
+ className: classes.flexItem,
101
+ "data-testid": "dialogDownload",
102
+ variant: "contained",
103
+ color: "primary",
104
+ startIcon: /*#__PURE__*/_react["default"].createElement(_GetApp["default"], null),
105
+ onClick: function onClick() {
106
+ (0, _utils.downloadBookmarkFile)(bookmarkedRegions, fileType, model);
107
+ setDialogOpen(false);
108
+ }
109
+ }, "Download"))));
110
+ }
111
+
112
+ var _default = (0, _mobxReact.observer)(DownloadBookmarks);
113
+
114
+ exports["default"] = _default;
@@ -0,0 +1,195 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+
16
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
+
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
+
20
+ var _react = _interopRequireWildcard(require("react"));
21
+
22
+ var _mobxReact = require("mobx-react");
23
+
24
+ var _core = require("@material-ui/core");
25
+
26
+ var _xDataGrid = require("@mui/x-data-grid");
27
+
28
+ var _util = require("@jbrowse/core/util");
29
+
30
+ var _Delete = _interopRequireDefault(require("@material-ui/icons/Delete"));
31
+
32
+ var _ViewCompact = _interopRequireDefault(require("@material-ui/icons/ViewCompact"));
33
+
34
+ var _AssemblySelector = _interopRequireDefault(require("./AssemblySelector"));
35
+
36
+ var _DeleteBookmark = _interopRequireDefault(require("./DeleteBookmark"));
37
+
38
+ var _DownloadBookmarks = _interopRequireDefault(require("./DownloadBookmarks"));
39
+
40
+ var _ImportBookmarks = _interopRequireDefault(require("./ImportBookmarks"));
41
+
42
+ var _ClearBookmarks = _interopRequireDefault(require("./ClearBookmarks"));
43
+
44
+ var _utils = require("../utils");
45
+
46
+ var _excluded = ["assemblyName"];
47
+
48
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
49
+
50
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
51
+
52
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
53
+
54
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
55
+
56
+ var useStyles = (0, _core.makeStyles)(function () {
57
+ return {
58
+ link: {
59
+ cursor: 'pointer'
60
+ }
61
+ };
62
+ }); // creates a coarse measurement of column width, similar to code in
63
+ // BaseFeatureDetails
64
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
65
+
66
+ var measure = function measure(row, col) {
67
+ return Math.min(Math.max((0, _util.measureText)(String(row[col]), 14) + 20, 80), 1000);
68
+ };
69
+
70
+ var BookmarkGrid = (0, _mobxReact.observer)(function (_ref) {
71
+ var compact = _ref.compact,
72
+ model = _ref.model;
73
+ var classes = useStyles();
74
+
75
+ var _useState = (0, _react.useState)(),
76
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
77
+ dialogRowNumber = _useState2[0],
78
+ setDialogRowNumber = _useState2[1];
79
+
80
+ var bookmarkedRegions = model.bookmarkedRegions,
81
+ selectedAssembly = model.selectedAssembly;
82
+
83
+ var _getSession = (0, _util.getSession)(model),
84
+ views = _getSession.views;
85
+
86
+ var bookmarkRows = bookmarkedRegions.toJS().filter(function (region) {
87
+ return selectedAssembly === 'all' || region.assemblyName === selectedAssembly;
88
+ }).map(function (region, index) {
89
+ var assemblyName = region.assemblyName,
90
+ rest = (0, _objectWithoutProperties2["default"])(region, _excluded);
91
+ return _objectSpread(_objectSpread({}, region), {}, {
92
+ id: index,
93
+ "delete": index,
94
+ locString: (0, _util.assembleLocString)(selectedAssembly === 'all' ? region : rest)
95
+ });
96
+ });
97
+ var columns = [{
98
+ field: 'locString',
99
+ headerName: 'bookmark link',
100
+ width: Math.max.apply(Math, (0, _toConsumableArray2["default"])(bookmarkRows.map(function (row) {
101
+ return measure(row, 'locString');
102
+ }))),
103
+ renderCell: function renderCell(params) {
104
+ var value = params.value;
105
+ return /*#__PURE__*/_react["default"].createElement(_core.Link, {
106
+ className: classes.link,
107
+ onClick: function onClick(event) {
108
+ (0, _utils.navToBookmark)(value, views, model);
109
+ event.preventDefault();
110
+ }
111
+ }, value);
112
+ }
113
+ }, {
114
+ field: 'label',
115
+ width: Math.max(100, Math.max.apply(Math, (0, _toConsumableArray2["default"])(bookmarkRows.map(function (row) {
116
+ return measure(row, 'label');
117
+ })))),
118
+ editable: true
119
+ }, {
120
+ field: 'delete',
121
+ width: 30,
122
+ renderCell: function renderCell(params) {
123
+ var value = params.value;
124
+ return /*#__PURE__*/_react["default"].createElement(_core.IconButton, {
125
+ "data-testid": "deleteBookmark",
126
+ "aria-label": "delete",
127
+ onClick: function onClick() {
128
+ if (value !== null && value !== undefined) {
129
+ setDialogRowNumber(+value);
130
+ }
131
+ }
132
+ }, /*#__PURE__*/_react["default"].createElement(_Delete["default"], null));
133
+ }
134
+ }];
135
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_xDataGrid.DataGrid, {
136
+ rows: bookmarkRows,
137
+ rowHeight: compact ? 25 : undefined,
138
+ headerHeight: compact ? 25 : undefined,
139
+ columns: columns,
140
+ onCellEditCommit: function onCellEditCommit(args) {
141
+ var value = args.value,
142
+ id = args.id;
143
+ model.updateBookmarkLabel(id, value);
144
+ },
145
+ disableSelectionOnClick: true
146
+ }), /*#__PURE__*/_react["default"].createElement(_DeleteBookmark["default"], {
147
+ rowNumber: dialogRowNumber,
148
+ model: model,
149
+ onClose: function onClose() {
150
+ return setDialogRowNumber(undefined);
151
+ }
152
+ }));
153
+ });
154
+
155
+ function GridBookmarkWidget(_ref2) {
156
+ var model = _ref2.model;
157
+ var selectedAssembly = model.selectedAssembly;
158
+
159
+ var _useState3 = (0, _react.useState)(false),
160
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
161
+ compact = _useState4[0],
162
+ setCompact = _useState4[1];
163
+
164
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_AssemblySelector["default"], {
165
+ model: model
166
+ }), /*#__PURE__*/_react["default"].createElement(_DownloadBookmarks["default"], {
167
+ model: model
168
+ }), /*#__PURE__*/_react["default"].createElement(_ImportBookmarks["default"], {
169
+ model: model,
170
+ assemblyName: selectedAssembly
171
+ }), /*#__PURE__*/_react["default"].createElement(_ClearBookmarks["default"], {
172
+ model: model
173
+ }), /*#__PURE__*/_react["default"].createElement(_core.Button, {
174
+ startIcon: /*#__PURE__*/_react["default"].createElement(_ViewCompact["default"], null),
175
+ onClick: function onClick() {
176
+ return setCompact(!compact);
177
+ }
178
+ }, "Compact"), /*#__PURE__*/_react["default"].createElement("div", {
179
+ style: {
180
+ margin: 12
181
+ }
182
+ }, /*#__PURE__*/_react["default"].createElement(_core.Typography, null, "Note: you can double click the ", /*#__PURE__*/_react["default"].createElement("code", null, "label"), " field to add your own custom notes")), /*#__PURE__*/_react["default"].createElement("div", {
183
+ style: {
184
+ height: 750,
185
+ width: '100%'
186
+ }
187
+ }, /*#__PURE__*/_react["default"].createElement(BookmarkGrid, {
188
+ model: model,
189
+ compact: compact
190
+ })));
191
+ }
192
+
193
+ var _default = (0, _mobxReact.observer)(GridBookmarkWidget);
194
+
195
+ exports["default"] = _default;