@jbrowse/plugin-data-management 2.0.0 → 2.1.2

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 (140) hide show
  1. package/dist/AddConnectionWidget/components/AddConnectionWidget.js +23 -40
  2. package/dist/AddConnectionWidget/components/AddConnectionWidget.js.map +1 -1
  3. package/dist/AddConnectionWidget/components/ConfigureConnection.js +6 -6
  4. package/dist/AddConnectionWidget/components/ConfigureConnection.js.map +1 -1
  5. package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js +7 -9
  6. package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js.map +1 -1
  7. package/dist/AddConnectionWidget/index.js +1 -1
  8. package/dist/AddConnectionWidget/index.js.map +1 -1
  9. package/dist/AddConnectionWidget/model.js +2 -2
  10. package/dist/AddConnectionWidget/model.js.map +1 -1
  11. package/dist/AddTrackWidget/components/AddTrackWidget.d.ts +2 -2
  12. package/dist/AddTrackWidget/components/AddTrackWidget.js +24 -220
  13. package/dist/AddTrackWidget/components/AddTrackWidget.js.map +1 -1
  14. package/dist/AddTrackWidget/components/ConfirmTrack.js +72 -99
  15. package/dist/AddTrackWidget/components/ConfirmTrack.js.map +1 -1
  16. package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.d.ts +7 -0
  17. package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.js +162 -0
  18. package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.js.map +1 -0
  19. package/dist/AddTrackWidget/components/TrackSourceSelect.js +11 -12
  20. package/dist/AddTrackWidget/components/TrackSourceSelect.js.map +1 -1
  21. package/dist/AddTrackWidget/index.js +1 -1
  22. package/dist/AddTrackWidget/index.js.map +1 -1
  23. package/dist/AddTrackWidget/model.js +34 -30
  24. package/dist/AddTrackWidget/model.js.map +1 -1
  25. package/dist/AssemblyManager/AssemblyAddForm.js +42 -61
  26. package/dist/AssemblyManager/AssemblyAddForm.js.map +1 -1
  27. package/dist/AssemblyManager/AssemblyEditor.js +4 -5
  28. package/dist/AssemblyManager/AssemblyEditor.js.map +1 -1
  29. package/dist/AssemblyManager/AssemblyManager.js +24 -41
  30. package/dist/AssemblyManager/AssemblyManager.js.map +1 -1
  31. package/dist/AssemblyManager/AssemblyTable.js +17 -18
  32. package/dist/AssemblyManager/AssemblyTable.js.map +1 -1
  33. package/dist/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.js +9 -29
  34. package/dist/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.js.map +1 -1
  35. package/dist/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.js +7 -8
  36. package/dist/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.js.map +1 -1
  37. package/dist/HierarchicalTrackSelectorWidget/components/Header.d.ts +10 -0
  38. package/dist/HierarchicalTrackSelectorWidget/components/Header.js +177 -0
  39. package/dist/HierarchicalTrackSelectorWidget/components/Header.js.map +1 -0
  40. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +79 -365
  41. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js.map +1 -1
  42. package/dist/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.js +17 -18
  43. package/dist/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.js.map +1 -1
  44. package/dist/HierarchicalTrackSelectorWidget/components/Node.d.ts +29 -0
  45. package/dist/HierarchicalTrackSelectorWidget/components/Node.js +173 -0
  46. package/dist/HierarchicalTrackSelectorWidget/components/Node.js.map +1 -0
  47. package/dist/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.js +19 -20
  48. package/dist/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.js.map +1 -1
  49. package/dist/HierarchicalTrackSelectorWidget/components/util.d.ts +3 -0
  50. package/dist/HierarchicalTrackSelectorWidget/components/util.js +9 -0
  51. package/dist/HierarchicalTrackSelectorWidget/components/util.js.map +1 -0
  52. package/dist/HierarchicalTrackSelectorWidget/configSchema.d.ts +2 -0
  53. package/dist/HierarchicalTrackSelectorWidget/configSchema.js +6 -0
  54. package/dist/HierarchicalTrackSelectorWidget/configSchema.js.map +1 -0
  55. package/dist/HierarchicalTrackSelectorWidget/index.d.ts +4 -2
  56. package/dist/HierarchicalTrackSelectorWidget/index.js +4 -4
  57. package/dist/HierarchicalTrackSelectorWidget/index.js.map +1 -1
  58. package/dist/HierarchicalTrackSelectorWidget/model.d.ts +10 -2
  59. package/dist/HierarchicalTrackSelectorWidget/model.js +102 -153
  60. package/dist/HierarchicalTrackSelectorWidget/model.js.map +1 -1
  61. package/dist/PluginStoreWidget/components/CustomPluginForm.js +25 -43
  62. package/dist/PluginStoreWidget/components/CustomPluginForm.js.map +1 -1
  63. package/dist/PluginStoreWidget/components/InstalledPlugin.js +29 -47
  64. package/dist/PluginStoreWidget/components/InstalledPlugin.js.map +1 -1
  65. package/dist/PluginStoreWidget/components/InstalledPluginsList.js +12 -15
  66. package/dist/PluginStoreWidget/components/InstalledPluginsList.js.map +1 -1
  67. package/dist/PluginStoreWidget/components/PluginCard.js +23 -40
  68. package/dist/PluginStoreWidget/components/PluginCard.js.map +1 -1
  69. package/dist/PluginStoreWidget/components/PluginStoreWidget.js +49 -117
  70. package/dist/PluginStoreWidget/components/PluginStoreWidget.js.map +1 -1
  71. package/dist/PluginStoreWidget/index.js +1 -1
  72. package/dist/PluginStoreWidget/index.js.map +1 -1
  73. package/dist/PluginStoreWidget/model.js +6 -6
  74. package/dist/PluginStoreWidget/model.js.map +1 -1
  75. package/dist/SetDefaultSession/SetDefaultSession.js +9 -10
  76. package/dist/SetDefaultSession/SetDefaultSession.js.map +1 -1
  77. package/dist/index.d.ts +4 -1
  78. package/dist/index.js +38 -60
  79. package/dist/index.js.map +1 -1
  80. package/dist/ucsc-trackhub/configSchema.js +2 -2
  81. package/dist/ucsc-trackhub/configSchema.js.map +1 -1
  82. package/dist/ucsc-trackhub/model.js +33 -97
  83. package/dist/ucsc-trackhub/model.js.map +1 -1
  84. package/dist/ucsc-trackhub/ucscAssemblies.js +197 -1
  85. package/dist/ucsc-trackhub/ucscAssemblies.js.map +1 -1
  86. package/dist/ucsc-trackhub/ucscTrackHub.js +43 -132
  87. package/dist/ucsc-trackhub/ucscTrackHub.js.map +1 -1
  88. package/esm/AddTrackWidget/components/AddTrackWidget.d.ts +2 -2
  89. package/esm/AddTrackWidget/components/AddTrackWidget.js +22 -135
  90. package/esm/AddTrackWidget/components/AddTrackWidget.js.map +1 -1
  91. package/esm/AddTrackWidget/components/ConfirmTrack.js +5 -6
  92. package/esm/AddTrackWidget/components/ConfirmTrack.js.map +1 -1
  93. package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.d.ts +7 -0
  94. package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.js +134 -0
  95. package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.js.map +1 -0
  96. package/esm/HierarchicalTrackSelectorWidget/components/Header.d.ts +10 -0
  97. package/esm/HierarchicalTrackSelectorWidget/components/Header.js +149 -0
  98. package/esm/HierarchicalTrackSelectorWidget/components/Header.js.map +1 -0
  99. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +24 -223
  100. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js.map +1 -1
  101. package/esm/HierarchicalTrackSelectorWidget/components/Node.d.ts +29 -0
  102. package/esm/HierarchicalTrackSelectorWidget/components/Node.js +144 -0
  103. package/esm/HierarchicalTrackSelectorWidget/components/Node.js.map +1 -0
  104. package/esm/HierarchicalTrackSelectorWidget/components/util.d.ts +3 -0
  105. package/esm/HierarchicalTrackSelectorWidget/components/util.js +5 -0
  106. package/esm/HierarchicalTrackSelectorWidget/components/util.js.map +1 -0
  107. package/esm/HierarchicalTrackSelectorWidget/configSchema.d.ts +2 -0
  108. package/esm/HierarchicalTrackSelectorWidget/configSchema.js +4 -0
  109. package/esm/HierarchicalTrackSelectorWidget/configSchema.js.map +1 -0
  110. package/esm/HierarchicalTrackSelectorWidget/index.d.ts +4 -2
  111. package/esm/HierarchicalTrackSelectorWidget/index.js +3 -3
  112. package/esm/HierarchicalTrackSelectorWidget/index.js.map +1 -1
  113. package/esm/HierarchicalTrackSelectorWidget/model.d.ts +10 -2
  114. package/esm/HierarchicalTrackSelectorWidget/model.js +36 -32
  115. package/esm/HierarchicalTrackSelectorWidget/model.js.map +1 -1
  116. package/esm/PluginStoreWidget/components/PluginStoreWidget.js +1 -2
  117. package/esm/PluginStoreWidget/components/PluginStoreWidget.js.map +1 -1
  118. package/esm/index.d.ts +4 -1
  119. package/esm/index.js +1 -1
  120. package/esm/index.js.map +1 -1
  121. package/package.json +4 -5
  122. package/src/AddConnectionWidget/components/__snapshots__/AddConnectionWidget.test.js.snap +7 -7
  123. package/src/AddTrackWidget/components/{AddTrackWidget.test.js → AddTrackWidget.test.tsx} +17 -32
  124. package/src/AddTrackWidget/components/AddTrackWidget.tsx +36 -200
  125. package/src/AddTrackWidget/components/ConfirmTrack.tsx +10 -10
  126. package/src/AddTrackWidget/components/DefaultAddTrackWorkflow.tsx +205 -0
  127. package/src/HierarchicalTrackSelectorWidget/components/Header.tsx +287 -0
  128. package/src/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.test.js +5 -4
  129. package/src/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.tsx +19 -438
  130. package/src/HierarchicalTrackSelectorWidget/components/Node.tsx +282 -0
  131. package/src/HierarchicalTrackSelectorWidget/components/__snapshots__/HierarchicalTrackSelector.test.js.snap +24 -48
  132. package/src/HierarchicalTrackSelectorWidget/components/util.ts +11 -0
  133. package/src/HierarchicalTrackSelectorWidget/configSchema.ts +3 -0
  134. package/src/HierarchicalTrackSelectorWidget/index.ts +4 -6
  135. package/src/HierarchicalTrackSelectorWidget/model.ts +45 -41
  136. package/src/PluginStoreWidget/components/PluginStoreWidget.test.js +16 -4
  137. package/src/PluginStoreWidget/components/PluginStoreWidget.tsx +1 -2
  138. package/src/PluginStoreWidget/components/__snapshots__/PluginStoreWidget.test.js.snap +111 -123
  139. package/src/index.ts +4 -1
  140. package/src/AddTrackWidget/components/__snapshots__/AddTrackWidget.test.js.snap +0 -331
@@ -1,15 +1,4 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
3
  if (k2 === undefined) k2 = k;
15
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -33,240 +22,77 @@ var __importStar = (this && this.__importStar) || function (mod) {
33
22
  __setModuleDefault(result, mod);
34
23
  return result;
35
24
  };
36
- var __generator = (this && this.__generator) || function (thisArg, body) {
37
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
38
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
39
- function verb(n) { return function (v) { return step([n, v]); }; }
40
- function step(op) {
41
- if (f) throw new TypeError("Generator is already executing.");
42
- while (_) try {
43
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
44
- if (y = 0, t) op = [op[0] & 2, t.value];
45
- switch (op[0]) {
46
- case 0: case 1: t = op; break;
47
- case 4: _.label++; return { value: op[1], done: false };
48
- case 5: _.label++; y = op[1]; op = [0]; continue;
49
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
50
- default:
51
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
52
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
53
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
54
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
55
- if (t[2]) _.ops.pop();
56
- _.trys.pop(); continue;
57
- }
58
- op = body.call(thisArg, _);
59
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
60
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
61
- }
62
- };
63
- var __read = (this && this.__read) || function (o, n) {
64
- var m = typeof Symbol === "function" && o[Symbol.iterator];
65
- if (!m) return o;
66
- var i = m.call(o), r, ar = [], e;
67
- try {
68
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
69
- }
70
- catch (error) { e = { error: error }; }
71
- finally {
72
- try {
73
- if (r && !r.done && (m = i["return"])) m.call(i);
74
- }
75
- finally { if (e) throw e.error; }
76
- }
77
- return ar;
78
- };
79
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
80
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
81
- if (ar || !(i in from)) {
82
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
83
- ar[i] = from[i];
84
- }
85
- }
86
- return to.concat(ar || Array.prototype.slice.call(from));
87
- };
88
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
89
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
90
27
  };
91
28
  Object.defineProperty(exports, "__esModule", { value: true });
92
- var react_1 = __importStar(require("react"));
93
- var material_1 = require("@mui/material");
94
- var mui_1 = require("tss-react/mui");
29
+ const react_1 = __importStar(require("react"));
30
+ const material_1 = require("@mui/material");
31
+ const mui_1 = require("tss-react/mui");
95
32
  // icons
96
- var Clear_1 = __importDefault(require("@mui/icons-material/Clear"));
97
- var Add_1 = __importDefault(require("@mui/icons-material/Add"));
98
- var ArrowDropDown_1 = __importDefault(require("@mui/icons-material/ArrowDropDown"));
99
- var ArrowRight_1 = __importDefault(require("@mui/icons-material/ArrowRight"));
100
- var Menu_1 = __importDefault(require("@mui/icons-material/Menu"));
101
- var MoreHoriz_1 = __importDefault(require("@mui/icons-material/MoreHoriz"));
102
- var Icons_1 = require("@jbrowse/core/ui/Icons");
33
+ const Add_1 = __importDefault(require("@mui/icons-material/Add"));
103
34
  // other
104
- var react_virtualized_auto_sizer_1 = __importDefault(require("react-virtualized-auto-sizer"));
105
- var Menu_2 = __importDefault(require("@jbrowse/core/ui/Menu"));
106
- var util_1 = require("@jbrowse/core/util");
107
- var configuration_1 = require("@jbrowse/core/configuration");
108
- var mobx_react_1 = require("mobx-react");
109
- var react_vtree_1 = require("react-vtree");
110
- // lazy components
111
- var CloseConnectionDialog = (0, react_1.lazy)(function () { return Promise.resolve().then(function () { return __importStar(require('./CloseConnectionDialog')); }); });
112
- var DeleteConnectionDialog = (0, react_1.lazy)(function () { return Promise.resolve().then(function () { return __importStar(require('./DeleteConnectionDialog')); }); });
113
- var ManageConnectionsDialog = (0, react_1.lazy)(function () { return Promise.resolve().then(function () { return __importStar(require('./ManageConnectionsDialog')); }); });
114
- var ToggleConnectionsDialog = (0, react_1.lazy)(function () { return Promise.resolve().then(function () { return __importStar(require('./ToggleConnectionsDialog')); }); });
115
- var useStyles = (0, mui_1.makeStyles)()(function (theme) {
116
- var _a, _b;
117
- return ({
118
- searchBox: {
119
- margin: theme.spacing(2),
120
- },
121
- menuIcon: {
122
- marginRight: theme.spacing(1),
123
- marginBottom: 0,
124
- },
125
- fab: {
126
- position: 'absolute',
127
- bottom: theme.spacing(6),
128
- right: theme.spacing(6),
129
- },
130
- compactCheckbox: {
131
- padding: 0,
132
- },
133
- checkboxLabel: {
134
- marginRight: 0,
135
- '&:hover': {
136
- backgroundColor: '#eee',
137
- },
138
- },
139
- // this accordionBase element's small padding is used to give a margin to
140
- // accordionColor it a "margin" because the virtualized elements can't really
141
- // use margin in a conventional way (it doesn't affect layout)
142
- accordionBase: {
143
- display: 'flex',
144
- },
145
- accordionCard: {
146
- padding: 3,
147
- cursor: 'pointer',
148
- display: 'flex',
149
- },
150
- nestingLevelMarker: {
151
- position: 'absolute',
152
- borderLeft: '1.5px solid #555',
153
- },
154
- // accordionColor set's display:flex so that the child accordionText use
155
- // vertically centered text
156
- accordionColor: {
157
- // @ts-ignore
158
- background: (_a = theme.palette.tertiary) === null || _a === void 0 ? void 0 : _a.main,
159
- // @ts-ignore
160
- color: (_b = theme.palette.tertiary) === null || _b === void 0 ? void 0 : _b.contrastText,
161
- width: '100%',
162
- display: 'flex',
163
- paddingLeft: 5,
164
- },
165
- // margin:auto 0 to center text vertically
166
- accordionText: {
167
- margin: 'auto 0',
168
- },
169
- });
170
- });
171
- // An individual node in the track selector. Note: manually sets cursor:
172
- // pointer improves usability for what can be clicked
173
- function Node(props) {
174
- var data = props.data, isOpen = props.isOpen, style = props.style, setOpen = props.setOpen;
175
- var isLeaf = data.isLeaf, nestingLevel = data.nestingLevel, checked = data.checked, id = data.id, name = data.name, onChange = data.onChange, toggleCollapse = data.toggleCollapse, conf = data.conf, onMoreInfo = data.onMoreInfo, drawerPosition = data.drawerPosition;
176
- var classes = useStyles().classes;
177
- var width = 10;
178
- var marginLeft = nestingLevel * width + (isLeaf ? width : 0);
179
- var unsupported = (name === null || name === void 0 ? void 0 : name.endsWith('(Unsupported)')) || (name === null || name === void 0 ? void 0 : name.endsWith('(Unknown)'));
180
- var description = (conf && (0, configuration_1.readConfObject)(conf, ['description'])) || '';
181
- return (react_1.default.createElement("div", { style: style, className: !isLeaf ? classes.accordionBase : undefined },
182
- new Array(nestingLevel).fill(0).map(function (_, idx) { return (react_1.default.createElement("div", { key: "mark-".concat(idx), style: { left: idx * width + 4, height: style === null || style === void 0 ? void 0 : style.height }, className: classes.nestingLevelMarker })); }),
183
- react_1.default.createElement("div", { className: !isLeaf ? classes.accordionCard : undefined, onClick: function () {
184
- toggleCollapse(id);
185
- setOpen(!isOpen);
186
- }, style: {
187
- marginLeft: marginLeft,
188
- whiteSpace: 'nowrap',
189
- width: '100%',
190
- } },
191
- react_1.default.createElement("div", { className: !isLeaf ? classes.accordionColor : undefined }, !isLeaf ? (react_1.default.createElement("div", { className: classes.accordionText },
192
- react_1.default.createElement(material_1.Typography, null,
193
- isOpen ? react_1.default.createElement(ArrowDropDown_1.default, null) : react_1.default.createElement(ArrowRight_1.default, null),
194
- name))) : (react_1.default.createElement(react_1.default.Fragment, null,
195
- react_1.default.createElement(material_1.Tooltip, { title: description, placement: drawerPosition === 'left' ? 'right' : 'left' },
196
- react_1.default.createElement(material_1.FormControlLabel, { className: classes.checkboxLabel, control: react_1.default.createElement(material_1.Checkbox, { className: classes.compactCheckbox, checked: checked, onChange: function () { return onChange(id); }, color: "primary", disabled: unsupported, inputProps: {
197
- // @ts-ignore
198
- 'data-testid': "htsTrackEntry-".concat(id),
199
- } }), label: name })),
200
- react_1.default.createElement(material_1.IconButton, { onClick: function (e) { return onMoreInfo({ target: e.currentTarget, id: id, conf: conf }); }, style: { padding: 0 }, color: "secondary", "data-testid": "htsTrackEntryMenu-".concat(id) },
201
- react_1.default.createElement(MoreHoriz_1.default, null))))))));
202
- }
203
- function getNodeData(node, nestingLevel, extra) {
204
- var isLeaf = !!node.conf;
35
+ const react_virtualized_auto_sizer_1 = __importDefault(require("react-virtualized-auto-sizer"));
36
+ const util_1 = require("@jbrowse/core/util");
37
+ const mobx_react_1 = require("mobx-react");
38
+ const react_vtree_1 = require("react-vtree");
39
+ const Header_1 = __importDefault(require("./Header"));
40
+ const Node_1 = __importDefault(require("./Node"));
41
+ const useStyles = (0, mui_1.makeStyles)()(theme => ({
42
+ fab: {
43
+ position: 'absolute',
44
+ bottom: theme.spacing(6),
45
+ right: theme.spacing(6),
46
+ },
47
+ }));
48
+ function getNodeData(node, nestingLevel, extra, selection) {
49
+ const isLeaf = !!node.conf;
50
+ const selected = !!selection[node.id];
205
51
  return {
206
- data: __assign(__assign({ defaultHeight: isLeaf ? 22 : 40, isLeaf: isLeaf, isOpenByDefault: true, nestingLevel: nestingLevel }, node), extra),
207
- nestingLevel: nestingLevel,
208
- node: node,
52
+ data: {
53
+ defaultHeight: isLeaf ? 22 : 40,
54
+ isLeaf,
55
+ isOpenByDefault: true,
56
+ nestingLevel,
57
+ selected,
58
+ ...node,
59
+ ...extra,
60
+ },
61
+ nestingLevel,
62
+ node,
209
63
  };
210
64
  }
211
65
  // this is the main tree component for the hierarchical track selector in note:
212
66
  // in jbrowse-web the toolbar is position="sticky" which means the autosizer
213
67
  // includes the height of the toolbar, so we subtract the given offsets
214
- var HierarchicalTree = (0, mobx_react_1.observer)(function (_a) {
215
- var _b;
216
- var height = _a.height, tree = _a.tree, model = _a.model;
217
- var filterText = model.filterText, view = model.view;
218
- var treeRef = (0, react_1.useRef)(null);
219
- var _c = __read((0, react_1.useState)(), 2), info = _c[0], setMoreInfo = _c[1];
220
- var session = (0, util_1.getSession)(model);
221
- var drawerPosition = session.drawerPosition;
222
- var extra = (0, react_1.useMemo)(function () { return ({
223
- onChange: function (trackId) { return view.toggleTrack(trackId); },
224
- toggleCollapse: function (pathName) { return model.toggleCategory(pathName); },
225
- onMoreInfo: setMoreInfo,
226
- drawerPosition: drawerPosition,
227
- }); }, [view, model, drawerPosition]);
228
- var treeWalker = (0, react_1.useCallback)(function treeWalker() {
229
- var i, r, parentMeta, i, curr;
230
- return __generator(this, function (_a) {
231
- switch (_a.label) {
232
- case 0:
233
- i = 0;
234
- _a.label = 1;
235
- case 1:
236
- if (!(i < tree.children.length)) return [3 /*break*/, 4];
237
- r = tree.children[i];
238
- return [4 /*yield*/, getNodeData(r, 0, extra)];
239
- case 2:
240
- _a.sent();
241
- _a.label = 3;
242
- case 3:
243
- i++;
244
- return [3 /*break*/, 1];
245
- case 4:
246
- if (!true) return [3 /*break*/, 10];
247
- return [4 /*yield*/];
248
- case 5:
249
- parentMeta = _a.sent();
250
- i = 0;
251
- _a.label = 6;
252
- case 6:
253
- if (!(i < parentMeta.node.children.length)) return [3 /*break*/, 9];
254
- curr = parentMeta.node.children[i];
255
- return [4 /*yield*/, getNodeData(curr, parentMeta.nestingLevel + 1, extra)];
256
- case 7:
257
- _a.sent();
258
- _a.label = 8;
259
- case 8:
260
- i++;
261
- return [3 /*break*/, 6];
262
- case 9: return [3 /*break*/, 4];
263
- case 10: return [2 /*return*/];
68
+ const HierarchicalTree = (0, mobx_react_1.observer)(({ height, tree, model, }) => {
69
+ const { filterText, selection, view } = model;
70
+ const treeRef = (0, react_1.useRef)(null);
71
+ const session = (0, util_1.getSession)(model);
72
+ const { drawerPosition } = session;
73
+ const obj = (0, react_1.useMemo)(() => Object.fromEntries(selection.map(s => [s.trackId, s])), [selection]);
74
+ const extra = (0, react_1.useMemo)(() => ({
75
+ onChange: (trackId) => view.toggleTrack(trackId),
76
+ toggleCollapse: (pathName) => model.toggleCategory(pathName),
77
+ tree,
78
+ model,
79
+ drawerPosition,
80
+ }), [view, model, drawerPosition, tree]);
81
+ const treeWalker = (0, react_1.useCallback)(function* treeWalker() {
82
+ for (let i = 0; i < tree.children.length; i++) {
83
+ const r = tree.children[i];
84
+ yield getNodeData(r, 0, extra, obj);
85
+ }
86
+ while (true) {
87
+ // @ts-ignore
88
+ const parentMeta = yield;
89
+ for (let i = 0; i < parentMeta.node.children.length; i++) {
90
+ const curr = parentMeta.node.children[i];
91
+ yield getNodeData(curr, parentMeta.nestingLevel + 1, extra, obj);
264
92
  }
265
- });
266
- }, [tree, extra]);
267
- var conf = info === null || info === void 0 ? void 0 : info.conf;
268
- var menuItems = (conf && ((_b = session.getTrackActionMenuItems) === null || _b === void 0 ? void 0 : _b.call(session, conf))) || [];
269
- (0, react_1.useEffect)(function () {
93
+ }
94
+ }, [tree, extra, obj]);
95
+ (0, react_1.useEffect)(() => {
270
96
  // @ts-ignore
271
97
  treeRef.current.recomputeTree({
272
98
  refreshNodes: true,
@@ -274,48 +100,40 @@ var HierarchicalTree = (0, mobx_react_1.observer)(function (_a) {
274
100
  });
275
101
  }, [tree, filterText]);
276
102
  return (react_1.default.createElement(react_1.default.Fragment, null,
277
- react_1.default.createElement(react_vtree_1.VariableSizeTree, { ref: treeRef, treeWalker: treeWalker, height: height }, Node),
278
- react_1.default.createElement(Menu_2.default, { anchorEl: info === null || info === void 0 ? void 0 : info.target, menuItems: menuItems, onMenuItemClick: function (_event, callback) {
279
- callback();
280
- setMoreInfo(undefined);
281
- }, open: Boolean(info), onClose: function () { return setMoreInfo(undefined); } })));
103
+ react_1.default.createElement(react_vtree_1.VariableSizeTree, { ref: treeRef, treeWalker: treeWalker, height: height }, Node_1.default)));
282
104
  });
283
105
  // Don't use autosizer in jest and instead hardcode a height, otherwise fails
284
106
  // jest tests
285
- var AutoSizedHierarchicalTree = function (_a) {
286
- var tree = _a.tree, model = _a.model, offset = _a.offset;
287
- return typeof jest === 'undefined' ? (react_1.default.createElement(react_virtualized_auto_sizer_1.default, { disableWidth: true }, function (_a) {
288
- var height = _a.height;
107
+ const AutoSizedHierarchicalTree = ({ tree, model, offset, }) => {
108
+ return typeof jest === 'undefined' ? (react_1.default.createElement(react_virtualized_auto_sizer_1.default, { disableWidth: true }, ({ height }) => {
289
109
  return (react_1.default.createElement(HierarchicalTree, { height: height - offset, model: model, tree: tree }));
290
110
  })) : (react_1.default.createElement(HierarchicalTree, { height: 9000, model: model, tree: tree }));
291
111
  };
292
- var Wrapper = function (_a) {
293
- var overrideDimensions = _a.overrideDimensions, children = _a.children;
294
- return overrideDimensions ? (react_1.default.createElement("div", { style: __assign({}, overrideDimensions) }, children)) : (react_1.default.createElement(react_1.default.Fragment, null, children));
112
+ const Wrapper = ({ overrideDimensions, children, }) => {
113
+ return overrideDimensions ? (react_1.default.createElement("div", { style: { ...overrideDimensions } }, children)) : (react_1.default.createElement(react_1.default.Fragment, null, children));
295
114
  };
296
- var HierarchicalTrackSelectorContainer = (0, mobx_react_1.observer)(function (_a) {
297
- var model = _a.model, toolbarHeight = _a.toolbarHeight, overrideDimensions = _a.overrideDimensions;
298
- var classes = useStyles().classes;
299
- var session = (0, util_1.getSession)(model);
300
- var _b = __read((0, react_1.useState)(null), 2), anchorEl = _b[0], setAnchorEl = _b[1];
115
+ const HierarchicalTrackSelectorContainer = (0, mobx_react_1.observer)(({ model, toolbarHeight, overrideDimensions, }) => {
116
+ const { classes } = useStyles();
117
+ const session = (0, util_1.getSession)(model);
118
+ const [anchorEl, setAnchorEl] = (0, react_1.useState)(null);
301
119
  function handleFabClose() {
302
120
  setAnchorEl(null);
303
121
  }
304
- var hasConnections = (0, util_1.isSessionModelWithConnections)(session);
305
- var hasAddTrack = (0, util_1.isSessionWithAddTracks)(session);
122
+ const hasConnections = (0, util_1.isSessionModelWithConnections)(session);
123
+ const hasAddTrack = (0, util_1.isSessionWithAddTracks)(session);
306
124
  return (react_1.default.createElement(Wrapper, { overrideDimensions: overrideDimensions },
307
125
  react_1.default.createElement(HierarchicalTrackSelector, { model: model, toolbarHeight: toolbarHeight }),
308
126
  hasAddTrack || hasConnections ? (react_1.default.createElement(react_1.default.Fragment, null,
309
- react_1.default.createElement(material_1.Fab, { color: "secondary", className: classes.fab, onClick: function (event) { return setAnchorEl(event.currentTarget); } },
127
+ react_1.default.createElement(material_1.Fab, { color: "secondary", className: classes.fab, onClick: event => setAnchorEl(event.currentTarget) },
310
128
  react_1.default.createElement(Add_1.default, null)),
311
- react_1.default.createElement(material_1.Menu, { anchorEl: anchorEl, open: Boolean(anchorEl), onClose: function () { return setAnchorEl(null); } },
312
- hasConnections ? (react_1.default.createElement(material_1.MenuItem, { onClick: function () {
129
+ react_1.default.createElement(material_1.Menu, { anchorEl: anchorEl, open: Boolean(anchorEl), onClose: () => setAnchorEl(null) },
130
+ hasConnections ? (react_1.default.createElement(material_1.MenuItem, { onClick: () => {
313
131
  handleFabClose();
314
132
  if ((0, util_1.isSessionModelWithWidgets)(session)) {
315
133
  session.showWidget(session.addWidget('AddConnectionWidget', 'addConnectionWidget'));
316
134
  }
317
135
  } }, "Add connection")) : null,
318
- hasAddTrack ? (react_1.default.createElement(material_1.MenuItem, { onClick: function () {
136
+ hasAddTrack ? (react_1.default.createElement(material_1.MenuItem, { onClick: () => {
319
137
  handleFabClose();
320
138
  if ((0, util_1.isSessionModelWithWidgets)(session)) {
321
139
  session.showWidget(session.addWidget('AddTrackWidget', 'addTrackWidget', {
@@ -324,117 +142,13 @@ var HierarchicalTrackSelectorContainer = (0, mobx_react_1.observer)(function (_a
324
142
  }
325
143
  } }, "Add track")) : null))) : null));
326
144
  });
327
- var HierarchicalTrackSelectorHeader = (0, mobx_react_1.observer)(function (_a) {
328
- var model = _a.model, setHeaderHeight = _a.setHeaderHeight, setAssemblyIdx = _a.setAssemblyIdx, assemblyIdx = _a.assemblyIdx;
329
- var classes = useStyles().classes;
330
- var session = (0, util_1.getSession)(model);
331
- var _b = __read((0, react_1.useState)(), 2), connectionAnchorEl = _b[0], setConnectionAnchorEl = _b[1];
332
- var _c = __read((0, react_1.useState)(), 2), menuAnchorEl = _c[0], setMenuAnchorEl = _c[1];
333
- var _d = __read((0, react_1.useState)(), 2), modalInfo = _d[0], setModalInfo = _d[1];
334
- var _e = __read((0, react_1.useState)(), 2), deleteDialogDetails = _e[0], setDeleteDialogDetails = _e[1];
335
- var _f = __read((0, react_1.useState)(false), 2), connectionManagerOpen = _f[0], setConnectionManagerOpen = _f[1];
336
- var _g = __read((0, react_1.useState)(false), 2), connectionToggleOpen = _g[0], setConnectionToggleOpen = _g[1];
337
- var assemblyNames = model.assemblyNames;
338
- var assemblyName = assemblyNames[assemblyIdx];
339
- function breakConnection(connectionConf, deletingConnection) {
340
- var name = (0, configuration_1.readConfObject)(connectionConf, 'name');
341
- // @ts-ignore
342
- var result = session.prepareToBreakConnection(connectionConf);
343
- if (result) {
344
- var _a = __read(result, 2), safelyBreakConnection = _a[0], dereferenceTypeCount = _a[1];
345
- if (Object.keys(dereferenceTypeCount).length > 0) {
346
- setModalInfo({
347
- connectionConf: connectionConf,
348
- safelyBreakConnection: safelyBreakConnection,
349
- dereferenceTypeCount: dereferenceTypeCount,
350
- name: name,
351
- });
352
- }
353
- else {
354
- safelyBreakConnection();
355
- }
356
- }
357
- if (deletingConnection) {
358
- setDeleteDialogDetails({ name: name, connectionConf: connectionConf });
359
- }
360
- }
361
- var connectionMenuItems = [
362
- {
363
- label: 'Turn on/off connections...',
364
- onClick: function () { return setConnectionToggleOpen(true); },
365
- },
366
- ];
367
- if ((0, util_1.isSessionModelWithConnections)(session)) {
368
- connectionMenuItems.unshift({
369
- label: 'Add connection',
370
- onClick: function () {
371
- if ((0, util_1.isSessionModelWithWidgets)(session)) {
372
- var widget = session.addWidget('AddConnectionWidget', 'addConnectionWidget');
373
- session.showWidget(widget);
374
- }
375
- },
376
- });
377
- connectionMenuItems.push({
378
- label: 'Delete connections...',
379
- onClick: function () { return setConnectionManagerOpen(true); },
380
- });
381
- }
382
- var assemblyMenuItems = assemblyNames.length > 1
383
- ? [
384
- {
385
- label: 'Select assembly...',
386
- subMenu: assemblyNames.map(function (name, idx) { return ({
387
- label: name,
388
- onClick: function () { return setAssemblyIdx(idx); },
389
- }); }),
390
- },
391
- ]
392
- : [];
393
- var menuItems = __spreadArray([
394
- {
395
- label: 'Add track...',
396
- onClick: function () {
397
- if ((0, util_1.isSessionModelWithWidgets)(session)) {
398
- var widget = session.addWidget('AddTrackWidget', 'addTrackWidget', {
399
- view: model.view.id,
400
- });
401
- session.showWidget(widget);
402
- }
403
- },
404
- }
405
- ], __read(assemblyMenuItems), false);
406
- return (react_1.default.createElement("div", { ref: function (ref) { return setHeaderHeight((ref === null || ref === void 0 ? void 0 : ref.getBoundingClientRect().height) || 0); }, "data-testid": "hierarchical_track_selector" },
407
- react_1.default.createElement("div", { style: { display: 'flex' } },
408
- (0, util_1.isSessionWithAddTracks)(session) && (react_1.default.createElement(material_1.IconButton, { className: classes.menuIcon, onClick: function (event) { return setMenuAnchorEl(event.currentTarget); } },
409
- react_1.default.createElement(Menu_1.default, null))),
410
- session.makeConnection && (react_1.default.createElement(material_1.IconButton, { className: classes.menuIcon, onClick: function (event) { return setConnectionAnchorEl(event.currentTarget); } },
411
- react_1.default.createElement(Icons_1.Cable, null))),
412
- react_1.default.createElement(material_1.TextField, { className: classes.searchBox, label: "Filter tracks", value: model.filterText, onChange: function (event) { return model.setFilterText(event.target.value); }, fullWidth: true, InputProps: {
413
- endAdornment: (react_1.default.createElement(material_1.InputAdornment, { position: "end" },
414
- react_1.default.createElement(material_1.IconButton, { color: "secondary", onClick: model.clearFilterText },
415
- react_1.default.createElement(Clear_1.default, null)))),
416
- } })),
417
- react_1.default.createElement(Menu_2.default, { anchorEl: connectionAnchorEl, open: Boolean(connectionAnchorEl), onMenuItemClick: function (_, callback) {
418
- callback();
419
- setConnectionAnchorEl(undefined);
420
- }, onClose: function () { return setConnectionAnchorEl(undefined); }, menuItems: connectionMenuItems }),
421
- react_1.default.createElement(Menu_2.default, { anchorEl: menuAnchorEl, open: Boolean(menuAnchorEl), onMenuItemClick: function (_, callback) {
422
- callback();
423
- setMenuAnchorEl(undefined);
424
- }, onClose: function () { return setMenuAnchorEl(undefined); }, menuItems: menuItems }),
425
- react_1.default.createElement(react_1.Suspense, { fallback: react_1.default.createElement("div", null) },
426
- modalInfo ? (react_1.default.createElement(CloseConnectionDialog, { modalInfo: modalInfo, setModalInfo: setModalInfo })) : deleteDialogDetails ? (react_1.default.createElement(DeleteConnectionDialog, { handleClose: function () { return setDeleteDialogDetails(undefined); }, deleteDialogDetails: deleteDialogDetails, session: session })) : null,
427
- connectionManagerOpen ? (react_1.default.createElement(ManageConnectionsDialog, { handleClose: function () { return setConnectionManagerOpen(false); }, breakConnection: breakConnection, session: session })) : null,
428
- connectionToggleOpen ? (react_1.default.createElement(ToggleConnectionsDialog, { handleClose: function () { return setConnectionToggleOpen(false); }, session: session, breakConnection: breakConnection, assemblyName: assemblyName })) : null)));
429
- });
430
- var HierarchicalTrackSelector = (0, mobx_react_1.observer)(function (_a) {
431
- var model = _a.model, _b = _a.toolbarHeight, toolbarHeight = _b === void 0 ? 0 : _b;
432
- var _c = __read((0, react_1.useState)(0), 2), assemblyIdx = _c[0], setAssemblyIdx = _c[1];
433
- var _d = __read((0, react_1.useState)(0), 2), headerHeight = _d[0], setHeaderHeight = _d[1];
434
- var assemblyNames = model.assemblyNames;
435
- var assemblyName = assemblyNames[assemblyIdx];
145
+ const HierarchicalTrackSelector = (0, mobx_react_1.observer)(({ model, toolbarHeight = 0, }) => {
146
+ const [assemblyIdx, setAssemblyIdx] = (0, react_1.useState)(0);
147
+ const [headerHeight, setHeaderHeight] = (0, react_1.useState)(0);
148
+ const { assemblyNames } = model;
149
+ const assemblyName = assemblyNames[assemblyIdx];
436
150
  return assemblyName ? (react_1.default.createElement(react_1.default.Fragment, null,
437
- react_1.default.createElement(HierarchicalTrackSelectorHeader, { model: model, setHeaderHeight: setHeaderHeight, setAssemblyIdx: setAssemblyIdx, assemblyIdx: assemblyIdx }),
151
+ react_1.default.createElement(Header_1.default, { model: model, setHeaderHeight: setHeaderHeight, setAssemblyIdx: setAssemblyIdx, assemblyIdx: assemblyIdx }),
438
152
  react_1.default.createElement(AutoSizedHierarchicalTree, { tree: model.hierarchy(assemblyName), model: model, offset: toolbarHeight + headerHeight }))) : null;
439
153
  });
440
154
  exports.default = HierarchicalTrackSelectorContainer;
@@ -1 +1 @@
1
- {"version":3,"file":"HierarchicalTrackSelector.js","sourceRoot":"","sources":["../../../src/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HierarchicalTrackSelector.js","sourceRoot":"","sources":["../../../src/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.tsx"],"names":[],"mappings":"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"}
@@ -3,13 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- var react_1 = __importDefault(require("react"));
7
- var material_1 = require("@mui/material");
8
- var mui_1 = require("tss-react/mui");
9
- var Close_1 = __importDefault(require("@mui/icons-material/Close"));
10
- var mobx_react_1 = require("mobx-react");
11
- var configuration_1 = require("@jbrowse/core/configuration");
12
- var useStyles = (0, mui_1.makeStyles)()(function (theme) { return ({
6
+ const react_1 = __importDefault(require("react"));
7
+ const material_1 = require("@mui/material");
8
+ const mui_1 = require("tss-react/mui");
9
+ const Close_1 = __importDefault(require("@mui/icons-material/Close"));
10
+ const mobx_react_1 = require("mobx-react");
11
+ const configuration_1 = require("@jbrowse/core/configuration");
12
+ const useStyles = (0, mui_1.makeStyles)()(theme => ({
13
13
  closeButton: {
14
14
  position: 'absolute',
15
15
  right: theme.spacing(1),
@@ -20,24 +20,23 @@ var useStyles = (0, mui_1.makeStyles)()(function (theme) { return ({
20
20
  margin: theme.spacing(4),
21
21
  width: 500,
22
22
  },
23
- }); });
24
- function ManageConnectionsDlg(_a) {
25
- var session = _a.session, handleClose = _a.handleClose, breakConnection = _a.breakConnection;
26
- var classes = useStyles().classes;
27
- var adminMode = session.adminMode, connections = session.connections, sessionConnections = session.sessionConnections;
23
+ }));
24
+ function ManageConnectionsDlg({ session, handleClose, breakConnection, }) {
25
+ const { classes } = useStyles();
26
+ const { adminMode, connections, sessionConnections } = session;
28
27
  return (react_1.default.createElement(material_1.Dialog, { open: true, onClose: handleClose, maxWidth: "lg" },
29
28
  react_1.default.createElement(material_1.DialogTitle, null,
30
29
  "Delete connections",
31
- react_1.default.createElement(material_1.IconButton, { className: classes.closeButton, onClick: function () { return handleClose(); } },
30
+ react_1.default.createElement(material_1.IconButton, { className: classes.closeButton, onClick: () => handleClose() },
32
31
  react_1.default.createElement(Close_1.default, null))),
33
32
  react_1.default.createElement(material_1.DialogContent, null,
34
33
  react_1.default.createElement(material_1.Typography, null, "Click the X icon to delete the connection from your config completely"),
35
34
  react_1.default.createElement("div", { className: classes.connectionContainer },
36
- connections.map(function (conf) {
37
- var name = (0, configuration_1.readConfObject)(conf, 'name');
38
- return (react_1.default.createElement("div", { key: "conn-".concat(name) },
35
+ connections.map(conf => {
36
+ const name = (0, configuration_1.readConfObject)(conf, 'name');
37
+ return (react_1.default.createElement("div", { key: `conn-${name}` },
39
38
  react_1.default.createElement(material_1.Typography, null,
40
- adminMode || (sessionConnections === null || sessionConnections === void 0 ? void 0 : sessionConnections.includes(conf)) ? (react_1.default.createElement(material_1.IconButton, { onClick: function () { return breakConnection(conf, true); } },
39
+ adminMode || (sessionConnections === null || sessionConnections === void 0 ? void 0 : sessionConnections.includes(conf)) ? (react_1.default.createElement(material_1.IconButton, { onClick: () => breakConnection(conf, true) },
41
40
  react_1.default.createElement(Close_1.default, { color: "error" }))) : (react_1.default.createElement(material_1.Tooltip, { title: "Unable to delete connection in config file as non-admin user" },
42
41
  react_1.default.createElement(material_1.IconButton, null,
43
42
  react_1.default.createElement(Close_1.default, { color: "disabled" })))),
@@ -45,7 +44,7 @@ function ManageConnectionsDlg(_a) {
45
44
  }),
46
45
  !connections.length ? (react_1.default.createElement(material_1.Typography, null, "No connections found")) : null)),
47
46
  react_1.default.createElement(material_1.DialogActions, null,
48
- react_1.default.createElement(material_1.Button, { onClick: function () { return handleClose(); }, variant: "contained", color: "primary" }, "Close"))));
47
+ react_1.default.createElement(material_1.Button, { onClick: () => handleClose(), variant: "contained", color: "primary" }, "Close"))));
49
48
  }
50
49
  exports.default = (0, mobx_react_1.observer)(ManageConnectionsDlg);
51
50
  //# sourceMappingURL=ManageConnectionsDialog.js.map