@jbrowse/plugin-data-management 1.7.11 → 2.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.
Files changed (226) hide show
  1. package/dist/AddConnectionWidget/components/AddConnectionWidget.js +115 -162
  2. package/dist/AddConnectionWidget/components/AddConnectionWidget.js.map +1 -0
  3. package/dist/AddConnectionWidget/components/ConfigureConnection.js +33 -32
  4. package/dist/AddConnectionWidget/components/ConfigureConnection.js.map +1 -0
  5. package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js +48 -64
  6. package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js.map +1 -0
  7. package/dist/AddConnectionWidget/index.js +10 -20
  8. package/dist/AddConnectionWidget/index.js.map +1 -0
  9. package/dist/AddConnectionWidget/model.js +7 -15
  10. package/dist/AddConnectionWidget/model.js.map +1 -0
  11. package/dist/AddTrackWidget/components/AddTrackWidget.js +206 -230
  12. package/dist/AddTrackWidget/components/AddTrackWidget.js.map +1 -0
  13. package/dist/AddTrackWidget/components/ConfirmTrack.js +268 -385
  14. package/dist/AddTrackWidget/components/ConfirmTrack.js.map +1 -0
  15. package/dist/AddTrackWidget/components/TrackSourceSelect.js +28 -55
  16. package/dist/AddTrackWidget/components/TrackSourceSelect.js.map +1 -0
  17. package/dist/AddTrackWidget/index.js +10 -20
  18. package/dist/AddTrackWidget/index.js.map +1 -0
  19. package/dist/AddTrackWidget/model.js +150 -174
  20. package/dist/AddTrackWidget/model.js.map +1 -0
  21. package/dist/AssemblyManager/AssemblyAddForm.js +162 -282
  22. package/dist/AssemblyManager/AssemblyAddForm.js.map +1 -0
  23. package/dist/AssemblyManager/AssemblyEditor.js +12 -23
  24. package/dist/AssemblyManager/AssemblyEditor.js.map +1 -0
  25. package/dist/AssemblyManager/AssemblyManager.js +102 -132
  26. package/dist/AssemblyManager/AssemblyManager.js.map +1 -0
  27. package/dist/AssemblyManager/AssemblyTable.d.ts +1 -1
  28. package/dist/AssemblyManager/AssemblyTable.js +60 -84
  29. package/dist/AssemblyManager/AssemblyTable.js.map +1 -0
  30. package/dist/AssemblyManager/index.js +8 -14
  31. package/dist/AssemblyManager/index.js.map +1 -0
  32. package/dist/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.js +49 -50
  33. package/dist/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.js.map +1 -0
  34. package/dist/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.js +28 -44
  35. package/dist/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.js.map +1 -0
  36. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.d.ts +1 -0
  37. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +416 -639
  38. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js.map +1 -0
  39. package/dist/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.js +45 -74
  40. package/dist/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.js.map +1 -0
  41. package/dist/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.js +57 -91
  42. package/dist/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.js.map +1 -0
  43. package/dist/HierarchicalTrackSelectorWidget/index.js +10 -20
  44. package/dist/HierarchicalTrackSelectorWidget/index.js.map +1 -0
  45. package/dist/HierarchicalTrackSelectorWidget/model.d.ts +3 -1
  46. package/dist/HierarchicalTrackSelectorWidget/model.js +247 -285
  47. package/dist/HierarchicalTrackSelectorWidget/model.js.map +1 -0
  48. package/dist/PluginStoreWidget/components/CustomPluginForm.js +140 -202
  49. package/dist/PluginStoreWidget/components/CustomPluginForm.js.map +1 -0
  50. package/dist/PluginStoreWidget/components/InstalledPlugin.js +112 -127
  51. package/dist/PluginStoreWidget/components/InstalledPlugin.js.map +1 -0
  52. package/dist/PluginStoreWidget/components/InstalledPluginsList.js +22 -45
  53. package/dist/PluginStoreWidget/components/InstalledPluginsList.js.map +1 -0
  54. package/dist/PluginStoreWidget/components/PluginCard.js +95 -110
  55. package/dist/PluginStoreWidget/components/PluginCard.js.map +1 -0
  56. package/dist/PluginStoreWidget/components/PluginStoreWidget.js +188 -227
  57. package/dist/PluginStoreWidget/components/PluginStoreWidget.js.map +1 -0
  58. package/dist/PluginStoreWidget/index.d.ts +0 -1
  59. package/dist/PluginStoreWidget/index.js +10 -28
  60. package/dist/PluginStoreWidget/index.js.map +1 -0
  61. package/dist/PluginStoreWidget/model.js +21 -26
  62. package/dist/PluginStoreWidget/model.js.map +1 -0
  63. package/dist/SetDefaultSession/SetDefaultSession.js +34 -58
  64. package/dist/SetDefaultSession/SetDefaultSession.js.map +1 -0
  65. package/dist/SetDefaultSession/index.js +8 -14
  66. package/dist/SetDefaultSession/index.js.map +1 -0
  67. package/dist/index.js +109 -147
  68. package/dist/index.js.map +1 -0
  69. package/dist/ucsc-trackhub/configSchema.js +18 -28
  70. package/dist/ucsc-trackhub/configSchema.js.map +1 -0
  71. package/dist/ucsc-trackhub/index.js +10 -22
  72. package/dist/ucsc-trackhub/index.js.map +1 -0
  73. package/dist/ucsc-trackhub/model.js +150 -128
  74. package/dist/ucsc-trackhub/model.js.map +1 -0
  75. package/dist/ucsc-trackhub/ucscAssemblies.js +3 -9
  76. package/dist/ucsc-trackhub/ucscAssemblies.js.map +1 -0
  77. package/dist/ucsc-trackhub/ucscTrackHub.js +458 -491
  78. package/dist/ucsc-trackhub/ucscTrackHub.js.map +1 -0
  79. package/esm/AddConnectionWidget/components/AddConnectionWidget.d.ts +9 -0
  80. package/esm/AddConnectionWidget/components/AddConnectionWidget.js +86 -0
  81. package/esm/AddConnectionWidget/components/AddConnectionWidget.js.map +1 -0
  82. package/esm/AddConnectionWidget/components/ConfigureConnection.d.ts +2 -0
  83. package/esm/AddConnectionWidget/components/ConfigureConnection.js +11 -0
  84. package/esm/AddConnectionWidget/components/ConfigureConnection.js.map +1 -0
  85. package/esm/AddConnectionWidget/components/ConnectionTypeSelect.d.ts +8 -0
  86. package/esm/AddConnectionWidget/components/ConnectionTypeSelect.js +24 -0
  87. package/esm/AddConnectionWidget/components/ConnectionTypeSelect.js.map +1 -0
  88. package/esm/AddConnectionWidget/index.d.ts +2 -0
  89. package/esm/AddConnectionWidget/index.js +4 -0
  90. package/esm/AddConnectionWidget/index.js.map +1 -0
  91. package/esm/AddConnectionWidget/model.d.ts +5 -0
  92. package/esm/AddConnectionWidget/model.js +7 -0
  93. package/esm/AddConnectionWidget/model.js.map +1 -0
  94. package/esm/AddTrackWidget/components/AddTrackWidget.d.ts +7 -0
  95. package/esm/AddTrackWidget/components/AddTrackWidget.js +139 -0
  96. package/esm/AddTrackWidget/components/AddTrackWidget.js.map +1 -0
  97. package/esm/AddTrackWidget/components/ConfirmTrack.d.ts +7 -0
  98. package/esm/AddTrackWidget/components/ConfirmTrack.js +247 -0
  99. package/esm/AddTrackWidget/components/ConfirmTrack.js.map +1 -0
  100. package/esm/AddTrackWidget/components/TrackSourceSelect.d.ts +7 -0
  101. package/esm/AddTrackWidget/components/TrackSourceSelect.js +27 -0
  102. package/esm/AddTrackWidget/components/TrackSourceSelect.js.map +1 -0
  103. package/esm/AddTrackWidget/index.d.ts +2 -0
  104. package/esm/AddTrackWidget/index.js +4 -0
  105. package/esm/AddTrackWidget/index.js.map +1 -0
  106. package/esm/AddTrackWidget/model.d.ts +51 -0
  107. package/esm/AddTrackWidget/model.js +154 -0
  108. package/esm/AddTrackWidget/model.js.map +1 -0
  109. package/esm/AssemblyManager/AssemblyAddForm.d.ts +6 -0
  110. package/esm/AssemblyManager/AssemblyAddForm.js +132 -0
  111. package/esm/AssemblyManager/AssemblyAddForm.js.map +1 -0
  112. package/esm/AssemblyManager/AssemblyEditor.d.ts +5 -0
  113. package/esm/AssemblyManager/AssemblyEditor.js +8 -0
  114. package/esm/AssemblyManager/AssemblyEditor.js.map +1 -0
  115. package/esm/AssemblyManager/AssemblyManager.d.ts +6 -0
  116. package/esm/AssemblyManager/AssemblyManager.js +69 -0
  117. package/esm/AssemblyManager/AssemblyManager.js.map +1 -0
  118. package/esm/AssemblyManager/AssemblyTable.d.ts +13 -0
  119. package/esm/AssemblyManager/AssemblyTable.js +62 -0
  120. package/esm/AssemblyManager/AssemblyTable.js.map +1 -0
  121. package/esm/AssemblyManager/index.d.ts +1 -0
  122. package/esm/AssemblyManager/index.js +2 -0
  123. package/esm/AssemblyManager/index.js.map +1 -0
  124. package/esm/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.d.ts +13 -0
  125. package/esm/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.js +26 -0
  126. package/esm/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.js.map +1 -0
  127. package/esm/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.d.ts +13 -0
  128. package/esm/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.js +24 -0
  129. package/esm/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.js.map +1 -0
  130. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.d.ts +11 -0
  131. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +326 -0
  132. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js.map +1 -0
  133. package/esm/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.d.ts +10 -0
  134. package/esm/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.js +45 -0
  135. package/esm/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.js.map +1 -0
  136. package/esm/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.d.ts +11 -0
  137. package/esm/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.js +57 -0
  138. package/esm/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.js.map +1 -0
  139. package/esm/HierarchicalTrackSelectorWidget/index.d.ts +2 -0
  140. package/esm/HierarchicalTrackSelectorWidget/index.js +4 -0
  141. package/esm/HierarchicalTrackSelectorWidget/index.js.map +1 -0
  142. package/esm/HierarchicalTrackSelectorWidget/model.d.ts +61 -0
  143. package/esm/HierarchicalTrackSelectorWidget/model.js +200 -0
  144. package/esm/HierarchicalTrackSelectorWidget/model.js.map +1 -0
  145. package/esm/PluginStoreWidget/components/CustomPluginForm.d.ts +9 -0
  146. package/esm/PluginStoreWidget/components/CustomPluginForm.js +109 -0
  147. package/esm/PluginStoreWidget/components/CustomPluginForm.js.map +1 -0
  148. package/esm/PluginStoreWidget/components/InstalledPlugin.d.ts +11 -0
  149. package/esm/PluginStoreWidget/components/InstalledPlugin.js +77 -0
  150. package/esm/PluginStoreWidget/components/InstalledPlugin.js.map +1 -0
  151. package/esm/PluginStoreWidget/components/InstalledPluginsList.d.ts +9 -0
  152. package/esm/PluginStoreWidget/components/InstalledPluginsList.js +16 -0
  153. package/esm/PluginStoreWidget/components/InstalledPluginsList.js.map +1 -0
  154. package/esm/PluginStoreWidget/components/PluginCard.d.ts +10 -0
  155. package/esm/PluginStoreWidget/components/PluginCard.js +61 -0
  156. package/esm/PluginStoreWidget/components/PluginCard.js.map +1 -0
  157. package/esm/PluginStoreWidget/components/PluginStoreWidget.d.ts +7 -0
  158. package/esm/PluginStoreWidget/components/PluginStoreWidget.js +106 -0
  159. package/esm/PluginStoreWidget/components/PluginStoreWidget.js.map +1 -0
  160. package/esm/PluginStoreWidget/index.d.ts +2 -0
  161. package/esm/PluginStoreWidget/index.js +4 -0
  162. package/esm/PluginStoreWidget/index.js.map +1 -0
  163. package/esm/PluginStoreWidget/model.d.ts +13 -0
  164. package/esm/PluginStoreWidget/model.js +20 -0
  165. package/esm/PluginStoreWidget/model.js.map +1 -0
  166. package/esm/SetDefaultSession/SetDefaultSession.d.ts +6 -0
  167. package/esm/SetDefaultSession/SetDefaultSession.js +34 -0
  168. package/esm/SetDefaultSession/SetDefaultSession.js.map +1 -0
  169. package/esm/SetDefaultSession/index.d.ts +1 -0
  170. package/esm/SetDefaultSession/index.js +2 -0
  171. package/esm/SetDefaultSession/index.js.map +1 -0
  172. package/esm/index.d.ts +27 -0
  173. package/esm/index.js +70 -0
  174. package/esm/index.js.map +1 -0
  175. package/esm/ucsc-trackhub/configSchema.d.ts +2 -0
  176. package/esm/ucsc-trackhub/configSchema.js +18 -0
  177. package/esm/ucsc-trackhub/configSchema.js.map +1 -0
  178. package/esm/ucsc-trackhub/index.d.ts +2 -0
  179. package/esm/ucsc-trackhub/index.js +3 -0
  180. package/esm/ucsc-trackhub/index.js.map +1 -0
  181. package/esm/ucsc-trackhub/model.d.ts +15 -0
  182. package/esm/ucsc-trackhub/model.js +82 -0
  183. package/esm/ucsc-trackhub/model.js.map +1 -0
  184. package/esm/ucsc-trackhub/ucscAssemblies.d.ts +2 -0
  185. package/esm/ucsc-trackhub/ucscAssemblies.js +201 -0
  186. package/esm/ucsc-trackhub/ucscAssemblies.js.map +1 -0
  187. package/esm/ucsc-trackhub/ucscTrackHub.d.ts +6 -0
  188. package/esm/ucsc-trackhub/ucscTrackHub.js +348 -0
  189. package/esm/ucsc-trackhub/ucscTrackHub.js.map +1 -0
  190. package/package.json +19 -11
  191. package/src/AddConnectionWidget/components/AddConnectionWidget.js +14 -10
  192. package/src/AddConnectionWidget/components/ConnectionTypeSelect.tsx +2 -4
  193. package/src/AddConnectionWidget/components/__snapshots__/AddConnectionWidget.test.js.snap +63 -67
  194. package/src/AddTrackWidget/components/AddTrackWidget.test.js +4 -4
  195. package/src/AddTrackWidget/components/AddTrackWidget.tsx +5 -5
  196. package/src/AddTrackWidget/components/ConfirmTrack.tsx +22 -22
  197. package/src/AddTrackWidget/components/TrackSourceSelect.tsx +9 -5
  198. package/src/AddTrackWidget/components/__snapshots__/AddTrackWidget.test.js.snap +76 -95
  199. package/src/AssemblyManager/AssemblyAddForm.tsx +5 -11
  200. package/src/AssemblyManager/AssemblyManager.tsx +8 -8
  201. package/src/AssemblyManager/AssemblyTable.tsx +10 -10
  202. package/src/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.tsx +1 -1
  203. package/src/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.tsx +1 -1
  204. package/src/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.test.js +1 -1
  205. package/src/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.tsx +15 -13
  206. package/src/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.tsx +6 -6
  207. package/src/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.tsx +7 -7
  208. package/src/HierarchicalTrackSelectorWidget/components/__snapshots__/HierarchicalTrackSelector.test.js.snap +122 -115
  209. package/src/PluginStoreWidget/components/CustomPluginForm.tsx +11 -14
  210. package/src/PluginStoreWidget/components/InstalledPlugin.tsx +9 -8
  211. package/src/PluginStoreWidget/components/InstalledPluginsList.tsx +1 -1
  212. package/src/PluginStoreWidget/components/PluginCard.tsx +10 -11
  213. package/src/PluginStoreWidget/components/PluginStoreWidget.tsx +9 -9
  214. package/src/PluginStoreWidget/components/__snapshots__/PluginStoreWidget.test.js.snap +267 -217
  215. package/src/PluginStoreWidget/index.js +0 -1
  216. package/src/SetDefaultSession/SetDefaultSession.tsx +1 -1
  217. package/dist/AddConnectionWidget/components/AddConnectionWidget.test.js +0 -279
  218. package/dist/AddTrackWidget/components/AddTrackWidget.test.js +0 -218
  219. package/dist/AddTrackWidget/index.test.js +0 -292
  220. package/dist/AssemblyManager/AssemblyManager.test.js +0 -113
  221. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.test.js +0 -191
  222. package/dist/HierarchicalTrackSelectorWidget/model.test.js +0 -28
  223. package/dist/PluginStoreWidget/components/PluginStoreWidget.test.js +0 -201
  224. package/dist/PluginStoreWidget/model.test.js +0 -17
  225. package/dist/SetDefaultSession/SetDefaultSession.test.js +0 -75
  226. package/dist/index.test.js +0 -56
@@ -1,664 +1,441 @@
1
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 _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
-
18
- var _react = _interopRequireWildcard(require("react"));
19
-
20
- var _core = require("@material-ui/core");
21
-
22
- var _Clear = _interopRequireDefault(require("@material-ui/icons/Clear"));
23
-
24
- var _Add = _interopRequireDefault(require("@material-ui/icons/Add"));
25
-
26
- var _ArrowDropDown = _interopRequireDefault(require("@material-ui/icons/ArrowDropDown"));
27
-
28
- var _ArrowRight = _interopRequireDefault(require("@material-ui/icons/ArrowRight"));
29
-
30
- var _Menu = _interopRequireDefault(require("@material-ui/icons/Menu"));
31
-
32
- var _MoreHoriz = _interopRequireDefault(require("@material-ui/icons/MoreHoriz"));
33
-
34
- var _Icons = require("@jbrowse/core/ui/Icons");
35
-
36
- var _reactVirtualizedAutoSizer = _interopRequireDefault(require("react-virtualized-auto-sizer"));
37
-
38
- var _Menu2 = _interopRequireDefault(require("@jbrowse/core/ui/Menu"));
39
-
40
- var _util = require("@jbrowse/core/util");
41
-
42
- var _configuration = require("@jbrowse/core/configuration");
43
-
44
- var _mobxReact = require("mobx-react");
45
-
46
- var _reactVtree = require("react-vtree");
47
-
48
- 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; }
49
-
50
- 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; }
51
-
52
- 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); }
53
-
54
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || (0, _typeof2.default)(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; }
55
-
56
- // lazy components
57
- var CloseConnectionDialog = /*#__PURE__*/(0, _react.lazy)(function () {
58
- return Promise.resolve().then(function () {
59
- return _interopRequireWildcard(require('./CloseConnectionDialog'));
60
- });
61
- });
62
- var DeleteConnectionDialog = /*#__PURE__*/(0, _react.lazy)(function () {
63
- return Promise.resolve().then(function () {
64
- return _interopRequireWildcard(require('./DeleteConnectionDialog'));
65
- });
66
- });
67
- var ManageConnectionsDialog = /*#__PURE__*/(0, _react.lazy)(function () {
68
- return Promise.resolve().then(function () {
69
- return _interopRequireWildcard(require('./ManageConnectionsDialog'));
70
- });
71
- });
72
- var ToggleConnectionsDialog = /*#__PURE__*/(0, _react.lazy)(function () {
73
- return Promise.resolve().then(function () {
74
- return _interopRequireWildcard(require('./ToggleConnectionsDialog'));
75
- });
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
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
76
28
  });
77
- var useStyles = (0, _core.makeStyles)(function (theme) {
78
- var _theme$palette$tertia, _theme$palette$tertia2;
79
-
80
- return {
81
- searchBox: {
82
- margin: theme.spacing(2)
83
- },
84
- menuIcon: {
85
- marginRight: theme.spacing(1),
86
- marginBottom: 0
87
- },
88
- fab: {
89
- position: 'absolute',
90
- bottom: theme.spacing(6),
91
- right: theme.spacing(6)
92
- },
93
- compactCheckbox: {
94
- padding: 0
95
- },
96
- checkboxLabel: {
97
- marginRight: 0,
98
- '&:hover': {
99
- backgroundColor: '#eee'
100
- }
101
- },
102
- // this accordionBase element's small padding is used to give a margin to
103
- // accordionColor it a "margin" because the virtualized elements can't really
104
- // use margin in a conventional way (it doesn't affect layout)
105
- accordionBase: {
106
- display: 'flex'
107
- },
108
- accordionCard: {
109
- padding: 3,
110
- cursor: 'pointer',
111
- display: 'flex'
112
- },
113
- nestingLevelMarker: {
114
- position: 'absolute',
115
- borderLeft: '1.5px solid #555'
116
- },
117
- // accordionColor set's display:flex so that the child accordionText use
118
- // vertically centered text
119
- accordionColor: {
120
- background: (_theme$palette$tertia = theme.palette.tertiary) === null || _theme$palette$tertia === void 0 ? void 0 : _theme$palette$tertia.main,
121
- color: (_theme$palette$tertia2 = theme.palette.tertiary) === null || _theme$palette$tertia2 === void 0 ? void 0 : _theme$palette$tertia2.contrastText,
122
- width: '100%',
123
- display: 'flex',
124
- paddingLeft: 5
125
- },
126
- // margin:auto 0 to center text vertically
127
- accordionText: {
128
- margin: 'auto 0'
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
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; }
129
76
  }
130
- };
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
89
+ return (mod && mod.__esModule) ? mod : { "default": mod };
90
+ };
91
+ 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");
95
+ // 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");
103
+ // 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
+ });
131
170
  });
132
-
133
171
  // An individual node in the track selector. Note: manually sets cursor:
134
172
  // pointer improves usability for what can be clicked
135
173
  function Node(props) {
136
- var data = props.data,
137
- isOpen = props.isOpen,
138
- style = props.style,
139
- setOpen = props.setOpen;
140
- var isLeaf = data.isLeaf,
141
- nestingLevel = data.nestingLevel,
142
- checked = data.checked,
143
- id = data.id,
144
- name = data.name,
145
- _onChange = data.onChange,
146
- toggleCollapse = data.toggleCollapse,
147
- conf = data.conf,
148
- onMoreInfo = data.onMoreInfo,
149
- drawerPosition = data.drawerPosition;
150
- var classes = useStyles();
151
- var width = 10;
152
- var marginLeft = nestingLevel * width + (isLeaf ? width : 0);
153
- var unsupported = (name === null || name === void 0 ? void 0 : name.endsWith('(Unsupported)')) || (name === null || name === void 0 ? void 0 : name.endsWith('(Unknown)'));
154
- var description = conf && (0, _configuration.readConfObject)(conf, ['description']) || '';
155
- return /*#__PURE__*/_react.default.createElement("div", {
156
- style: style,
157
- className: !isLeaf ? classes.accordionBase : undefined
158
- }, new Array(nestingLevel).fill(0).map(function (_, idx) {
159
- return /*#__PURE__*/_react.default.createElement("div", {
160
- key: "mark-".concat(idx),
161
- style: {
162
- left: idx * width + 4,
163
- height: style === null || style === void 0 ? void 0 : style.height
164
- },
165
- className: classes.nestingLevelMarker
166
- });
167
- }), /*#__PURE__*/_react.default.createElement("div", {
168
- className: !isLeaf ? classes.accordionCard : undefined,
169
- onClick: function onClick() {
170
- toggleCollapse(id);
171
- setOpen(!isOpen);
172
- },
173
- style: {
174
- marginLeft: marginLeft,
175
- whiteSpace: 'nowrap',
176
- width: '100%'
177
- }
178
- }, /*#__PURE__*/_react.default.createElement("div", {
179
- className: !isLeaf ? classes.accordionColor : undefined
180
- }, !isLeaf ? /*#__PURE__*/_react.default.createElement("div", {
181
- className: classes.accordionText
182
- }, /*#__PURE__*/_react.default.createElement(_core.Typography, null, isOpen ? /*#__PURE__*/_react.default.createElement(_ArrowDropDown.default, null) : /*#__PURE__*/_react.default.createElement(_ArrowRight.default, null), name)) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_core.Tooltip, {
183
- title: description,
184
- placement: drawerPosition === 'left' ? 'right' : 'left'
185
- }, /*#__PURE__*/_react.default.createElement(_core.FormControlLabel, {
186
- className: classes.checkboxLabel,
187
- control: /*#__PURE__*/_react.default.createElement(_core.Checkbox, {
188
- className: classes.compactCheckbox,
189
- checked: checked,
190
- onChange: function onChange() {
191
- return _onChange(id);
192
- },
193
- color: "primary",
194
- disabled: unsupported,
195
- inputProps: {
196
- // @ts-ignore
197
- 'data-testid': "htsTrackEntry-".concat(id)
198
- }
199
- }),
200
- label: name
201
- })), /*#__PURE__*/_react.default.createElement(_core.IconButton, {
202
- onClick: function onClick(e) {
203
- return onMoreInfo({
204
- target: e.currentTarget,
205
- id: id,
206
- conf: conf
207
- });
208
- },
209
- color: "secondary",
210
- "data-testid": "htsTrackEntryMenu-".concat(id)
211
- }, /*#__PURE__*/_react.default.createElement(_MoreHoriz.default, null))))));
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))))))));
212
202
  }
213
-
214
203
  function getNodeData(node, nestingLevel, extra) {
215
- var isLeaf = !!node.conf;
216
- return {
217
- data: _objectSpread(_objectSpread({
218
- defaultHeight: isLeaf ? 22 : 40,
219
- isLeaf: isLeaf,
220
- isOpenByDefault: true,
221
- nestingLevel: nestingLevel
222
- }, node), extra),
223
- nestingLevel: nestingLevel,
224
- node: node
225
- };
204
+ var isLeaf = !!node.conf;
205
+ return {
206
+ data: __assign(__assign({ defaultHeight: isLeaf ? 22 : 40, isLeaf: isLeaf, isOpenByDefault: true, nestingLevel: nestingLevel }, node), extra),
207
+ nestingLevel: nestingLevel,
208
+ node: node,
209
+ };
226
210
  }
227
-
228
211
  // this is the main tree component for the hierarchical track selector in note:
229
212
  // in jbrowse-web the toolbar is position="sticky" which means the autosizer
230
213
  // includes the height of the toolbar, so we subtract the given offsets
231
- var HierarchicalTree = (0, _mobxReact.observer)(function (_ref) {
232
- var _session$getTrackActi;
233
-
234
- var height = _ref.height,
235
- tree = _ref.tree,
236
- model = _ref.model;
237
- var filterText = model.filterText,
238
- view = model.view;
239
- var treeRef = (0, _react.useRef)(null);
240
-
241
- var _useState = (0, _react.useState)(),
242
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
243
- info = _useState2[0],
244
- setMoreInfo = _useState2[1];
245
-
246
- var session = (0, _util.getSession)(model);
247
- var drawerPosition = session.drawerPosition;
248
- var extra = (0, _react.useMemo)(function () {
249
- return {
250
- onChange: function onChange(trackId) {
251
- return view.toggleTrack(trackId);
252
- },
253
- toggleCollapse: function toggleCollapse(pathName) {
254
- return model.toggleCategory(pathName);
255
- },
256
- onMoreInfo: setMoreInfo,
257
- drawerPosition: drawerPosition
258
- };
259
- }, [view, model, drawerPosition]);
260
- var treeWalker = (0, _react.useCallback)( /*#__PURE__*/_regenerator.default.mark(function treeWalker() {
261
- var i, r, parentMeta, _i, curr;
262
-
263
- return _regenerator.default.wrap(function treeWalker$(_context) {
264
- while (1) {
265
- switch (_context.prev = _context.next) {
266
- case 0:
267
- i = 0;
268
-
269
- case 1:
270
- if (!(i < tree.children.length)) {
271
- _context.next = 8;
272
- break;
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*/];
273
264
  }
274
-
275
- r = tree.children[i];
276
- _context.next = 5;
277
- return getNodeData(r, 0, extra);
278
-
279
- case 5:
280
- i++;
281
- _context.next = 1;
282
- break;
283
-
284
- case 8:
285
- if (!true) {
286
- _context.next = 22;
287
- break;
288
- }
289
-
290
- _context.next = 11;
291
- return;
292
-
293
- case 11:
294
- parentMeta = _context.sent;
295
- _i = 0;
296
-
297
- case 13:
298
- if (!(_i < parentMeta.node.children.length)) {
299
- _context.next = 20;
300
- break;
301
- }
302
-
303
- curr = parentMeta.node.children[_i];
304
- _context.next = 17;
305
- return getNodeData(curr, parentMeta.nestingLevel + 1, extra);
306
-
307
- case 17:
308
- _i++;
309
- _context.next = 13;
310
- break;
311
-
312
- case 20:
313
- _context.next = 8;
314
- break;
315
-
316
- case 22:
317
- case "end":
318
- return _context.stop();
319
- }
320
- }
321
- }, treeWalker);
322
- }), [tree, extra]);
323
- var conf = info === null || info === void 0 ? void 0 : info.conf;
324
- var menuItems = conf && ((_session$getTrackActi = session.getTrackActionMenuItems) === null || _session$getTrackActi === void 0 ? void 0 : _session$getTrackActi.call(session, conf)) || [];
325
- (0, _react.useEffect)(function () {
326
- // @ts-ignore
327
- treeRef.current.recomputeTree({
328
- refreshNodes: true,
329
- useDefaultHeight: true
330
- });
331
- }, [tree, filterText]);
332
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactVtree.VariableSizeTree, {
333
- ref: treeRef,
334
- treeWalker: treeWalker,
335
- height: height
336
- }, Node), /*#__PURE__*/_react.default.createElement(_Menu2.default, {
337
- anchorEl: info === null || info === void 0 ? void 0 : info.target,
338
- menuItems: menuItems,
339
- onMenuItemClick: function onMenuItemClick(_event, callback) {
340
- callback();
341
- setMoreInfo(undefined);
342
- },
343
- open: Boolean(info),
344
- onClose: function onClose() {
345
- return setMoreInfo(undefined);
346
- }
347
- }));
348
- }); // Don't use autosizer in jest and instead hardcode a height, otherwise fails
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 () {
270
+ // @ts-ignore
271
+ treeRef.current.recomputeTree({
272
+ refreshNodes: true,
273
+ useDefaultHeight: true,
274
+ });
275
+ }, [tree, filterText]);
276
+ 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); } })));
282
+ });
283
+ // Don't use autosizer in jest and instead hardcode a height, otherwise fails
349
284
  // jest tests
350
-
351
- var AutoSizedHierarchicalTree = function AutoSizedHierarchicalTree(_ref2) {
352
- var tree = _ref2.tree,
353
- model = _ref2.model,
354
- offset = _ref2.offset;
355
- return typeof jest === 'undefined' ? /*#__PURE__*/_react.default.createElement(_reactVirtualizedAutoSizer.default, {
356
- disableWidth: true
357
- }, function (_ref3) {
358
- var height = _ref3.height;
359
- return /*#__PURE__*/_react.default.createElement(HierarchicalTree, {
360
- height: height - offset,
361
- model: model,
362
- tree: tree
363
- });
364
- }) : /*#__PURE__*/_react.default.createElement(HierarchicalTree, {
365
- height: 9000,
366
- model: model,
367
- tree: tree
368
- });
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;
289
+ return (react_1.default.createElement(HierarchicalTree, { height: height - offset, model: model, tree: tree }));
290
+ })) : (react_1.default.createElement(HierarchicalTree, { height: 9000, model: model, tree: tree }));
369
291
  };
370
-
371
- var Wrapper = function Wrapper(_ref4) {
372
- var overrideDimensions = _ref4.overrideDimensions,
373
- children = _ref4.children;
374
- return overrideDimensions ? /*#__PURE__*/_react.default.createElement("div", {
375
- style: _objectSpread({}, overrideDimensions)
376
- }, children) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children);
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));
377
295
  };
378
-
379
- var HierarchicalTrackSelectorContainer = (0, _mobxReact.observer)(function (_ref5) {
380
- var model = _ref5.model,
381
- toolbarHeight = _ref5.toolbarHeight,
382
- overrideDimensions = _ref5.overrideDimensions;
383
- var classes = useStyles();
384
- var session = (0, _util.getSession)(model);
385
-
386
- var _useState3 = (0, _react.useState)(null),
387
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
388
- anchorEl = _useState4[0],
389
- setAnchorEl = _useState4[1];
390
-
391
- function handleFabClose() {
392
- setAnchorEl(null);
393
- }
394
-
395
- var hasConnections = (0, _util.isSessionModelWithConnections)(session);
396
- var hasAddTrack = (0, _util.isSessionWithAddTracks)(session);
397
- return /*#__PURE__*/_react.default.createElement(Wrapper, {
398
- overrideDimensions: overrideDimensions
399
- }, /*#__PURE__*/_react.default.createElement(HierarchicalTrackSelector, {
400
- model: model,
401
- toolbarHeight: toolbarHeight
402
- }), hasAddTrack || hasConnections ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_core.Fab, {
403
- color: "secondary",
404
- className: classes.fab,
405
- onClick: function onClick(event) {
406
- return setAnchorEl(event.currentTarget);
407
- }
408
- }, /*#__PURE__*/_react.default.createElement(_Add.default, null)), /*#__PURE__*/_react.default.createElement(_core.Menu, {
409
- anchorEl: anchorEl,
410
- open: Boolean(anchorEl),
411
- onClose: function onClose() {
412
- return setAnchorEl(null);
413
- }
414
- }, hasConnections ? /*#__PURE__*/_react.default.createElement(_core.MenuItem, {
415
- onClick: function onClick() {
416
- handleFabClose();
417
-
418
- if ((0, _util.isSessionModelWithWidgets)(session)) {
419
- session.showWidget(session.addWidget('AddConnectionWidget', 'addConnectionWidget'));
420
- }
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];
301
+ function handleFabClose() {
302
+ setAnchorEl(null);
421
303
  }
422
- }, "Add connection") : null, hasAddTrack ? /*#__PURE__*/_react.default.createElement(_core.MenuItem, {
423
- onClick: function onClick() {
424
- handleFabClose();
425
-
426
- if ((0, _util.isSessionModelWithWidgets)(session)) {
427
- session.showWidget(session.addWidget('AddTrackWidget', 'addTrackWidget', {
428
- view: model.view.id
429
- }));
430
- }
431
- }
432
- }, "Add track") : null)) : null);
304
+ var hasConnections = (0, util_1.isSessionModelWithConnections)(session);
305
+ var hasAddTrack = (0, util_1.isSessionWithAddTracks)(session);
306
+ return (react_1.default.createElement(Wrapper, { overrideDimensions: overrideDimensions },
307
+ react_1.default.createElement(HierarchicalTrackSelector, { model: model, toolbarHeight: toolbarHeight }),
308
+ 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); } },
310
+ 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 () {
313
+ handleFabClose();
314
+ if ((0, util_1.isSessionModelWithWidgets)(session)) {
315
+ session.showWidget(session.addWidget('AddConnectionWidget', 'addConnectionWidget'));
316
+ }
317
+ } }, "Add connection")) : null,
318
+ hasAddTrack ? (react_1.default.createElement(material_1.MenuItem, { onClick: function () {
319
+ handleFabClose();
320
+ if ((0, util_1.isSessionModelWithWidgets)(session)) {
321
+ session.showWidget(session.addWidget('AddTrackWidget', 'addTrackWidget', {
322
+ view: model.view.id,
323
+ }));
324
+ }
325
+ } }, "Add track")) : null))) : null));
433
326
  });
434
- var HierarchicalTrackSelectorHeader = (0, _mobxReact.observer)(function (_ref6) {
435
- var model = _ref6.model,
436
- setHeaderHeight = _ref6.setHeaderHeight,
437
- setAssemblyIdx = _ref6.setAssemblyIdx,
438
- assemblyIdx = _ref6.assemblyIdx;
439
- var classes = useStyles();
440
- var session = (0, _util.getSession)(model);
441
-
442
- var _useState5 = (0, _react.useState)(),
443
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
444
- connectionAnchorEl = _useState6[0],
445
- setConnectionAnchorEl = _useState6[1];
446
-
447
- var _useState7 = (0, _react.useState)(),
448
- _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
449
- menuAnchorEl = _useState8[0],
450
- setMenuAnchorEl = _useState8[1];
451
-
452
- var _useState9 = (0, _react.useState)(),
453
- _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
454
- modalInfo = _useState10[0],
455
- setModalInfo = _useState10[1];
456
-
457
- var _useState11 = (0, _react.useState)(),
458
- _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
459
- deleteDialogDetails = _useState12[0],
460
- setDeleteDialogDetails = _useState12[1];
461
-
462
- var _useState13 = (0, _react.useState)(false),
463
- _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
464
- connectionManagerOpen = _useState14[0],
465
- setConnectionManagerOpen = _useState14[1];
466
-
467
- var _useState15 = (0, _react.useState)(false),
468
- _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
469
- connectionToggleOpen = _useState16[0],
470
- setConnectionToggleOpen = _useState16[1];
471
-
472
- var assemblyNames = model.assemblyNames;
473
- var assemblyName = assemblyNames[assemblyIdx];
474
-
475
- function breakConnection(connectionConf, deletingConnection) {
476
- var name = (0, _configuration.readConfObject)(connectionConf, 'name'); // @ts-ignore
477
-
478
- var result = session.prepareToBreakConnection(connectionConf);
479
-
480
- if (result) {
481
- var _result = (0, _slicedToArray2.default)(result, 2),
482
- safelyBreakConnection = _result[0],
483
- dereferenceTypeCount = _result[1];
484
-
485
- if (Object.keys(dereferenceTypeCount).length > 0) {
486
- setModalInfo({
487
- connectionConf: connectionConf,
488
- safelyBreakConnection: safelyBreakConnection,
489
- dereferenceTypeCount: dereferenceTypeCount,
490
- name: name
491
- });
492
- } else {
493
- safelyBreakConnection();
494
- }
495
- }
496
-
497
- if (deletingConnection) {
498
- setDeleteDialogDetails({
499
- name: name,
500
- connectionConf: connectionConf
501
- });
502
- }
503
- }
504
-
505
- var connectionMenuItems = [{
506
- label: 'Turn on/off connections...',
507
- onClick: function onClick() {
508
- return setConnectionToggleOpen(true);
509
- }
510
- }];
511
-
512
- if ((0, _util.isSessionModelWithConnections)(session)) {
513
- connectionMenuItems.unshift({
514
- label: 'Add connection',
515
- onClick: function onClick() {
516
- if ((0, _util.isSessionModelWithWidgets)(session)) {
517
- var widget = session.addWidget('AddConnectionWidget', 'addConnectionWidget');
518
- session.showWidget(widget);
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
+ }
519
356
  }
520
- }
521
- });
522
- connectionMenuItems.push({
523
- label: 'Delete connections...',
524
- onClick: function onClick() {
525
- return setConnectionManagerOpen(true);
526
- }
527
- });
528
- }
529
-
530
- var assemblyMenuItems = assemblyNames.length > 1 ? [{
531
- label: 'Select assembly...',
532
- subMenu: assemblyNames.map(function (name, idx) {
533
- return {
534
- label: name,
535
- onClick: function onClick() {
536
- return setAssemblyIdx(idx);
357
+ if (deletingConnection) {
358
+ setDeleteDialogDetails({ name: name, connectionConf: connectionConf });
537
359
  }
538
- };
539
- })
540
- }] : [];
541
- var menuItems = [{
542
- label: 'Add track...',
543
- onClick: function onClick() {
544
- if ((0, _util.isSessionModelWithWidgets)(session)) {
545
- var widget = session.addWidget('AddTrackWidget', 'addTrackWidget', {
546
- view: model.view.id
547
- });
548
- session.showWidget(widget);
549
- }
550
- }
551
- }].concat(assemblyMenuItems);
552
- return /*#__PURE__*/_react.default.createElement("div", {
553
- ref: function ref(_ref7) {
554
- return setHeaderHeight((_ref7 === null || _ref7 === void 0 ? void 0 : _ref7.getBoundingClientRect().height) || 0);
555
- },
556
- "data-testid": "hierarchical_track_selector"
557
- }, /*#__PURE__*/_react.default.createElement("div", {
558
- style: {
559
- display: 'flex'
560
- }
561
- }, (0, _util.isSessionWithAddTracks)(session) && /*#__PURE__*/_react.default.createElement(_core.IconButton, {
562
- className: classes.menuIcon,
563
- onClick: function onClick(event) {
564
- return setMenuAnchorEl(event.currentTarget);
565
- }
566
- }, /*#__PURE__*/_react.default.createElement(_Menu.default, null)), session.makeConnection && /*#__PURE__*/_react.default.createElement(_core.IconButton, {
567
- className: classes.menuIcon,
568
- onClick: function onClick(event) {
569
- return setConnectionAnchorEl(event.currentTarget);
570
360
  }
571
- }, /*#__PURE__*/_react.default.createElement(_Icons.Cable, null)), /*#__PURE__*/_react.default.createElement(_core.TextField, {
572
- className: classes.searchBox,
573
- label: "Filter tracks",
574
- value: model.filterText,
575
- onChange: function onChange(event) {
576
- return model.setFilterText(event.target.value);
577
- },
578
- fullWidth: true,
579
- InputProps: {
580
- endAdornment: /*#__PURE__*/_react.default.createElement(_core.InputAdornment, {
581
- position: "end"
582
- }, /*#__PURE__*/_react.default.createElement(_core.IconButton, {
583
- color: "secondary",
584
- onClick: model.clearFilterText
585
- }, /*#__PURE__*/_react.default.createElement(_Clear.default, null)))
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
+ });
586
381
  }
587
- })), /*#__PURE__*/_react.default.createElement(_Menu2.default, {
588
- anchorEl: connectionAnchorEl,
589
- open: Boolean(connectionAnchorEl),
590
- onMenuItemClick: function onMenuItemClick(_, callback) {
591
- callback();
592
- setConnectionAnchorEl(undefined);
593
- },
594
- onClose: function onClose() {
595
- return setConnectionAnchorEl(undefined);
596
- },
597
- menuItems: connectionMenuItems
598
- }), /*#__PURE__*/_react.default.createElement(_Menu2.default, {
599
- anchorEl: menuAnchorEl,
600
- open: Boolean(menuAnchorEl),
601
- onMenuItemClick: function onMenuItemClick(_, callback) {
602
- callback();
603
- setMenuAnchorEl(undefined);
604
- },
605
- onClose: function onClose() {
606
- return setMenuAnchorEl(undefined);
607
- },
608
- menuItems: menuItems
609
- }), /*#__PURE__*/_react.default.createElement(_react.Suspense, {
610
- fallback: /*#__PURE__*/_react.default.createElement("div", null)
611
- }, modalInfo ? /*#__PURE__*/_react.default.createElement(CloseConnectionDialog, {
612
- modalInfo: modalInfo,
613
- setModalInfo: setModalInfo
614
- }) : deleteDialogDetails ? /*#__PURE__*/_react.default.createElement(DeleteConnectionDialog, {
615
- handleClose: function handleClose() {
616
- return setDeleteDialogDetails(undefined);
617
- },
618
- deleteDialogDetails: deleteDialogDetails,
619
- session: session
620
- }) : null, connectionManagerOpen ? /*#__PURE__*/_react.default.createElement(ManageConnectionsDialog, {
621
- handleClose: function handleClose() {
622
- return setConnectionManagerOpen(false);
623
- },
624
- breakConnection: breakConnection,
625
- session: session
626
- }) : null, connectionToggleOpen ? /*#__PURE__*/_react.default.createElement(ToggleConnectionsDialog, {
627
- handleClose: function handleClose() {
628
- return setConnectionToggleOpen(false);
629
- },
630
- session: session,
631
- breakConnection: breakConnection,
632
- assemblyName: assemblyName
633
- }) : null));
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)));
634
429
  });
635
- var HierarchicalTrackSelector = (0, _mobxReact.observer)(function (_ref8) {
636
- var model = _ref8.model,
637
- _ref8$toolbarHeight = _ref8.toolbarHeight,
638
- toolbarHeight = _ref8$toolbarHeight === void 0 ? 0 : _ref8$toolbarHeight;
639
-
640
- var _useState17 = (0, _react.useState)(0),
641
- _useState18 = (0, _slicedToArray2.default)(_useState17, 2),
642
- assemblyIdx = _useState18[0],
643
- setAssemblyIdx = _useState18[1];
644
-
645
- var _useState19 = (0, _react.useState)(0),
646
- _useState20 = (0, _slicedToArray2.default)(_useState19, 2),
647
- headerHeight = _useState20[0],
648
- setHeaderHeight = _useState20[1];
649
-
650
- var assemblyNames = model.assemblyNames;
651
- var assemblyName = assemblyNames[assemblyIdx];
652
- return assemblyName ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(HierarchicalTrackSelectorHeader, {
653
- model: model,
654
- setHeaderHeight: setHeaderHeight,
655
- setAssemblyIdx: setAssemblyIdx,
656
- assemblyIdx: assemblyIdx
657
- }), /*#__PURE__*/_react.default.createElement(AutoSizedHierarchicalTree, {
658
- tree: model.hierarchy(assemblyName),
659
- model: model,
660
- offset: toolbarHeight + headerHeight
661
- })) : null;
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];
436
+ 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 }),
438
+ react_1.default.createElement(AutoSizedHierarchicalTree, { tree: model.hierarchy(assemblyName), model: model, offset: toolbarHeight + headerHeight }))) : null;
662
439
  });
663
- var _default = HierarchicalTrackSelectorContainer;
664
- exports.default = _default;
440
+ exports.default = HierarchicalTrackSelectorContainer;
441
+ //# sourceMappingURL=HierarchicalTrackSelector.js.map