@jbrowse/plugin-data-management 2.6.1 → 2.6.3

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 (336) hide show
  1. package/dist/AddConnectionWidget/components/AddConnectionWidget.js +0 -1
  2. package/dist/AddConnectionWidget/components/ConfigureConnection.js +0 -1
  3. package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js +0 -1
  4. package/dist/AddConnectionWidget/index.js +0 -1
  5. package/dist/AddConnectionWidget/model.js +0 -1
  6. package/dist/AddTrackWidget/components/AddTrackWidget.js +0 -1
  7. package/dist/AddTrackWidget/components/ConfirmTrack.js +0 -1
  8. package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.js +0 -1
  9. package/dist/AddTrackWidget/components/PasteConfigWorkflow.js +0 -1
  10. package/dist/AddTrackWidget/components/TextIndexingConfig.js +0 -1
  11. package/dist/AddTrackWidget/components/TrackAdapterSelector.js +0 -1
  12. package/dist/AddTrackWidget/components/TrackSourceSelect.js +0 -1
  13. package/dist/AddTrackWidget/components/TrackTypeSelector.js +0 -1
  14. package/dist/AddTrackWidget/index.js +0 -1
  15. package/dist/AddTrackWidget/model.js +0 -1
  16. package/dist/AssemblyManager/AssemblyAddForm.js +0 -1
  17. package/dist/AssemblyManager/AssemblyEditor.js +0 -1
  18. package/dist/AssemblyManager/AssemblyManager.js +0 -1
  19. package/dist/AssemblyManager/AssemblyTable.js +0 -1
  20. package/dist/AssemblyManager/index.js +0 -1
  21. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalFab.js +0 -1
  22. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +0 -1
  23. package/dist/HierarchicalTrackSelectorWidget/components/ShoppingCart.js +0 -1
  24. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.js +0 -1
  25. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.js +0 -1
  26. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.js +0 -1
  27. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.js +0 -1
  28. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js +0 -1
  29. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.js +0 -1
  30. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js +0 -1
  31. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js +4 -6
  32. package/dist/HierarchicalTrackSelectorWidget/components/faceted/util.js +0 -1
  33. package/dist/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js +35 -20
  34. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js +10 -7
  35. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.d.ts +2 -1
  36. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js +0 -1
  37. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js +22 -1
  38. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js +1 -2
  39. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.js +0 -1
  40. package/dist/HierarchicalTrackSelectorWidget/components/util.d.ts +2 -1
  41. package/dist/HierarchicalTrackSelectorWidget/components/util.js +0 -1
  42. package/dist/HierarchicalTrackSelectorWidget/configSchema.js +0 -1
  43. package/dist/HierarchicalTrackSelectorWidget/filterTracks.d.ts +12 -0
  44. package/dist/HierarchicalTrackSelectorWidget/filterTracks.js +32 -0
  45. package/dist/HierarchicalTrackSelectorWidget/generateHierarchy.d.ts +21 -0
  46. package/dist/HierarchicalTrackSelectorWidget/generateHierarchy.js +98 -0
  47. package/dist/HierarchicalTrackSelectorWidget/index.js +0 -1
  48. package/dist/HierarchicalTrackSelectorWidget/model.d.ts +68 -28
  49. package/dist/HierarchicalTrackSelectorWidget/model.js +149 -118
  50. package/dist/HierarchicalTrackSelectorWidget/util.d.ts +12 -0
  51. package/dist/HierarchicalTrackSelectorWidget/util.js +53 -0
  52. package/dist/PluginStoreWidget/components/AddCustomPluginDialog.d.ts +7 -0
  53. package/dist/PluginStoreWidget/components/{CustomPluginForm.js → AddCustomPluginDialog.js} +12 -22
  54. package/dist/PluginStoreWidget/components/DeletePluginDialog.d.ts +5 -0
  55. package/dist/PluginStoreWidget/components/DeletePluginDialog.js +28 -0
  56. package/dist/PluginStoreWidget/components/InstalledPlugin.d.ts +2 -5
  57. package/dist/PluginStoreWidget/components/InstalledPlugin.js +19 -51
  58. package/dist/PluginStoreWidget/components/InstalledPluginsList.d.ts +2 -3
  59. package/dist/PluginStoreWidget/components/InstalledPluginsList.js +6 -10
  60. package/dist/PluginStoreWidget/components/PluginCard.js +3 -6
  61. package/dist/PluginStoreWidget/components/PluginStoreWidget.js +11 -40
  62. package/dist/PluginStoreWidget/components/util.d.ts +5 -0
  63. package/dist/PluginStoreWidget/components/util.js +29 -0
  64. package/dist/PluginStoreWidget/index.js +0 -1
  65. package/dist/PluginStoreWidget/model.d.ts +2 -2
  66. package/dist/PluginStoreWidget/model.js +2 -3
  67. package/dist/SetDefaultSession/SetDefaultSession.js +0 -1
  68. package/dist/SetDefaultSession/index.js +0 -1
  69. package/dist/index.js +0 -1
  70. package/dist/ucsc-trackhub/configSchema.js +0 -1
  71. package/dist/ucsc-trackhub/index.js +0 -1
  72. package/dist/ucsc-trackhub/model.js +0 -1
  73. package/dist/ucsc-trackhub/ucscAssemblies.js +0 -1
  74. package/dist/ucsc-trackhub/ucscTrackHub.js +0 -1
  75. package/esm/AddConnectionWidget/components/AddConnectionWidget.js +0 -1
  76. package/esm/AddConnectionWidget/components/ConfigureConnection.js +0 -1
  77. package/esm/AddConnectionWidget/components/ConnectionTypeSelect.js +0 -1
  78. package/esm/AddConnectionWidget/index.js +0 -1
  79. package/esm/AddConnectionWidget/model.js +0 -1
  80. package/esm/AddTrackWidget/components/AddTrackWidget.js +0 -1
  81. package/esm/AddTrackWidget/components/ConfirmTrack.js +0 -1
  82. package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.js +0 -1
  83. package/esm/AddTrackWidget/components/PasteConfigWorkflow.js +0 -1
  84. package/esm/AddTrackWidget/components/TextIndexingConfig.js +0 -1
  85. package/esm/AddTrackWidget/components/TrackAdapterSelector.js +0 -1
  86. package/esm/AddTrackWidget/components/TrackSourceSelect.js +0 -1
  87. package/esm/AddTrackWidget/components/TrackTypeSelector.js +0 -1
  88. package/esm/AddTrackWidget/index.js +0 -1
  89. package/esm/AddTrackWidget/model.js +0 -1
  90. package/esm/AssemblyManager/AssemblyAddForm.js +0 -1
  91. package/esm/AssemblyManager/AssemblyEditor.js +0 -1
  92. package/esm/AssemblyManager/AssemblyManager.js +0 -1
  93. package/esm/AssemblyManager/AssemblyTable.js +0 -1
  94. package/esm/AssemblyManager/index.js +0 -1
  95. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalFab.js +0 -1
  96. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +0 -1
  97. package/esm/HierarchicalTrackSelectorWidget/components/ShoppingCart.js +0 -1
  98. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.js +0 -1
  99. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.js +0 -1
  100. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.js +0 -1
  101. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.js +0 -1
  102. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js +0 -1
  103. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.js +0 -1
  104. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js +0 -1
  105. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js +1 -3
  106. package/esm/HierarchicalTrackSelectorWidget/components/faceted/util.js +0 -1
  107. package/esm/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js +34 -19
  108. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js +10 -7
  109. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.d.ts +2 -1
  110. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js +0 -1
  111. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js +22 -1
  112. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js +1 -2
  113. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.js +0 -1
  114. package/esm/HierarchicalTrackSelectorWidget/components/util.d.ts +2 -1
  115. package/esm/HierarchicalTrackSelectorWidget/components/util.js +0 -1
  116. package/esm/HierarchicalTrackSelectorWidget/configSchema.js +0 -1
  117. package/esm/HierarchicalTrackSelectorWidget/filterTracks.d.ts +12 -0
  118. package/esm/HierarchicalTrackSelectorWidget/filterTracks.js +28 -0
  119. package/esm/HierarchicalTrackSelectorWidget/generateHierarchy.d.ts +21 -0
  120. package/esm/HierarchicalTrackSelectorWidget/generateHierarchy.js +94 -0
  121. package/esm/HierarchicalTrackSelectorWidget/index.js +0 -1
  122. package/esm/HierarchicalTrackSelectorWidget/model.d.ts +68 -28
  123. package/esm/HierarchicalTrackSelectorWidget/model.js +151 -117
  124. package/esm/HierarchicalTrackSelectorWidget/util.d.ts +12 -0
  125. package/esm/HierarchicalTrackSelectorWidget/util.js +45 -0
  126. package/esm/PluginStoreWidget/components/AddCustomPluginDialog.d.ts +7 -0
  127. package/esm/PluginStoreWidget/components/{CustomPluginForm.js → AddCustomPluginDialog.js} +12 -22
  128. package/esm/PluginStoreWidget/components/DeletePluginDialog.d.ts +5 -0
  129. package/esm/PluginStoreWidget/components/DeletePluginDialog.js +22 -0
  130. package/esm/PluginStoreWidget/components/InstalledPlugin.d.ts +2 -5
  131. package/esm/PluginStoreWidget/components/InstalledPlugin.js +22 -54
  132. package/esm/PluginStoreWidget/components/InstalledPluginsList.d.ts +2 -3
  133. package/esm/PluginStoreWidget/components/InstalledPluginsList.js +6 -10
  134. package/esm/PluginStoreWidget/components/PluginCard.js +3 -6
  135. package/esm/PluginStoreWidget/components/PluginStoreWidget.js +12 -41
  136. package/esm/PluginStoreWidget/components/util.d.ts +5 -0
  137. package/esm/PluginStoreWidget/components/util.js +25 -0
  138. package/esm/PluginStoreWidget/index.js +0 -1
  139. package/esm/PluginStoreWidget/model.d.ts +2 -2
  140. package/esm/PluginStoreWidget/model.js +1 -2
  141. package/esm/SetDefaultSession/SetDefaultSession.js +0 -1
  142. package/esm/SetDefaultSession/index.js +0 -1
  143. package/esm/index.js +0 -1
  144. package/esm/ucsc-trackhub/configSchema.js +0 -1
  145. package/esm/ucsc-trackhub/index.js +0 -1
  146. package/esm/ucsc-trackhub/model.js +0 -1
  147. package/esm/ucsc-trackhub/ucscAssemblies.js +0 -1
  148. package/esm/ucsc-trackhub/ucscTrackHub.js +0 -1
  149. package/package.json +3 -4
  150. package/dist/AddConnectionWidget/components/AddConnectionWidget.js.map +0 -1
  151. package/dist/AddConnectionWidget/components/ConfigureConnection.js.map +0 -1
  152. package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js.map +0 -1
  153. package/dist/AddConnectionWidget/index.js.map +0 -1
  154. package/dist/AddConnectionWidget/model.js.map +0 -1
  155. package/dist/AddTrackWidget/components/AddTrackWidget.js.map +0 -1
  156. package/dist/AddTrackWidget/components/ConfirmTrack.js.map +0 -1
  157. package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.js.map +0 -1
  158. package/dist/AddTrackWidget/components/PasteConfigWorkflow.js.map +0 -1
  159. package/dist/AddTrackWidget/components/TextIndexingConfig.js.map +0 -1
  160. package/dist/AddTrackWidget/components/TrackAdapterSelector.js.map +0 -1
  161. package/dist/AddTrackWidget/components/TrackSourceSelect.js.map +0 -1
  162. package/dist/AddTrackWidget/components/TrackTypeSelector.js.map +0 -1
  163. package/dist/AddTrackWidget/index.js.map +0 -1
  164. package/dist/AddTrackWidget/model.js.map +0 -1
  165. package/dist/AssemblyManager/AssemblyAddForm.js.map +0 -1
  166. package/dist/AssemblyManager/AssemblyEditor.js.map +0 -1
  167. package/dist/AssemblyManager/AssemblyManager.js.map +0 -1
  168. package/dist/AssemblyManager/AssemblyTable.js.map +0 -1
  169. package/dist/AssemblyManager/index.js.map +0 -1
  170. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalFab.js.map +0 -1
  171. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js.map +0 -1
  172. package/dist/HierarchicalTrackSelectorWidget/components/ShoppingCart.js.map +0 -1
  173. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.js.map +0 -1
  174. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.js.map +0 -1
  175. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.js.map +0 -1
  176. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.js.map +0 -1
  177. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js.map +0 -1
  178. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.js.map +0 -1
  179. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js.map +0 -1
  180. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js.map +0 -1
  181. package/dist/HierarchicalTrackSelectorWidget/components/faceted/util.js.map +0 -1
  182. package/dist/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js.map +0 -1
  183. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js.map +0 -1
  184. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js.map +0 -1
  185. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js.map +0 -1
  186. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js.map +0 -1
  187. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.js.map +0 -1
  188. package/dist/HierarchicalTrackSelectorWidget/components/util.js.map +0 -1
  189. package/dist/HierarchicalTrackSelectorWidget/configSchema.js.map +0 -1
  190. package/dist/HierarchicalTrackSelectorWidget/index.js.map +0 -1
  191. package/dist/HierarchicalTrackSelectorWidget/model.js.map +0 -1
  192. package/dist/PluginStoreWidget/components/CustomPluginForm.d.ts +0 -9
  193. package/dist/PluginStoreWidget/components/CustomPluginForm.js.map +0 -1
  194. package/dist/PluginStoreWidget/components/InstalledPlugin.js.map +0 -1
  195. package/dist/PluginStoreWidget/components/InstalledPluginsList.js.map +0 -1
  196. package/dist/PluginStoreWidget/components/PluginCard.js.map +0 -1
  197. package/dist/PluginStoreWidget/components/PluginStoreWidget.js.map +0 -1
  198. package/dist/PluginStoreWidget/index.js.map +0 -1
  199. package/dist/PluginStoreWidget/model.js.map +0 -1
  200. package/dist/SetDefaultSession/SetDefaultSession.js.map +0 -1
  201. package/dist/SetDefaultSession/index.js.map +0 -1
  202. package/dist/index.js.map +0 -1
  203. package/dist/ucsc-trackhub/configSchema.js.map +0 -1
  204. package/dist/ucsc-trackhub/index.js.map +0 -1
  205. package/dist/ucsc-trackhub/model.js.map +0 -1
  206. package/dist/ucsc-trackhub/ucscAssemblies.js.map +0 -1
  207. package/dist/ucsc-trackhub/ucscTrackHub.js.map +0 -1
  208. package/esm/AddConnectionWidget/components/AddConnectionWidget.js.map +0 -1
  209. package/esm/AddConnectionWidget/components/ConfigureConnection.js.map +0 -1
  210. package/esm/AddConnectionWidget/components/ConnectionTypeSelect.js.map +0 -1
  211. package/esm/AddConnectionWidget/index.js.map +0 -1
  212. package/esm/AddConnectionWidget/model.js.map +0 -1
  213. package/esm/AddTrackWidget/components/AddTrackWidget.js.map +0 -1
  214. package/esm/AddTrackWidget/components/ConfirmTrack.js.map +0 -1
  215. package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.js.map +0 -1
  216. package/esm/AddTrackWidget/components/PasteConfigWorkflow.js.map +0 -1
  217. package/esm/AddTrackWidget/components/TextIndexingConfig.js.map +0 -1
  218. package/esm/AddTrackWidget/components/TrackAdapterSelector.js.map +0 -1
  219. package/esm/AddTrackWidget/components/TrackSourceSelect.js.map +0 -1
  220. package/esm/AddTrackWidget/components/TrackTypeSelector.js.map +0 -1
  221. package/esm/AddTrackWidget/index.js.map +0 -1
  222. package/esm/AddTrackWidget/model.js.map +0 -1
  223. package/esm/AssemblyManager/AssemblyAddForm.js.map +0 -1
  224. package/esm/AssemblyManager/AssemblyEditor.js.map +0 -1
  225. package/esm/AssemblyManager/AssemblyManager.js.map +0 -1
  226. package/esm/AssemblyManager/AssemblyTable.js.map +0 -1
  227. package/esm/AssemblyManager/index.js.map +0 -1
  228. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalFab.js.map +0 -1
  229. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js.map +0 -1
  230. package/esm/HierarchicalTrackSelectorWidget/components/ShoppingCart.js.map +0 -1
  231. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.js.map +0 -1
  232. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.js.map +0 -1
  233. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.js.map +0 -1
  234. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.js.map +0 -1
  235. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js.map +0 -1
  236. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.js.map +0 -1
  237. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js.map +0 -1
  238. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js.map +0 -1
  239. package/esm/HierarchicalTrackSelectorWidget/components/faceted/util.js.map +0 -1
  240. package/esm/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js.map +0 -1
  241. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js.map +0 -1
  242. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js.map +0 -1
  243. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js.map +0 -1
  244. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js.map +0 -1
  245. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.js.map +0 -1
  246. package/esm/HierarchicalTrackSelectorWidget/components/util.js.map +0 -1
  247. package/esm/HierarchicalTrackSelectorWidget/configSchema.js.map +0 -1
  248. package/esm/HierarchicalTrackSelectorWidget/index.js.map +0 -1
  249. package/esm/HierarchicalTrackSelectorWidget/model.js.map +0 -1
  250. package/esm/PluginStoreWidget/components/CustomPluginForm.d.ts +0 -9
  251. package/esm/PluginStoreWidget/components/CustomPluginForm.js.map +0 -1
  252. package/esm/PluginStoreWidget/components/InstalledPlugin.js.map +0 -1
  253. package/esm/PluginStoreWidget/components/InstalledPluginsList.js.map +0 -1
  254. package/esm/PluginStoreWidget/components/PluginCard.js.map +0 -1
  255. package/esm/PluginStoreWidget/components/PluginStoreWidget.js.map +0 -1
  256. package/esm/PluginStoreWidget/index.js.map +0 -1
  257. package/esm/PluginStoreWidget/model.js.map +0 -1
  258. package/esm/SetDefaultSession/SetDefaultSession.js.map +0 -1
  259. package/esm/SetDefaultSession/index.js.map +0 -1
  260. package/esm/index.js.map +0 -1
  261. package/esm/ucsc-trackhub/configSchema.js.map +0 -1
  262. package/esm/ucsc-trackhub/index.js.map +0 -1
  263. package/esm/ucsc-trackhub/model.js.map +0 -1
  264. package/esm/ucsc-trackhub/ucscAssemblies.js.map +0 -1
  265. package/esm/ucsc-trackhub/ucscTrackHub.js.map +0 -1
  266. package/src/AddConnectionWidget/components/AddConnectionWidget.test.tsx +0 -139
  267. package/src/AddConnectionWidget/components/AddConnectionWidget.tsx +0 -114
  268. package/src/AddConnectionWidget/components/ConfigureConnection.tsx +0 -26
  269. package/src/AddConnectionWidget/components/ConnectionTypeSelect.tsx +0 -64
  270. package/src/AddConnectionWidget/components/__snapshots__/AddConnectionWidget.test.tsx.snap +0 -236
  271. package/src/AddConnectionWidget/index.ts +0 -19
  272. package/src/AddConnectionWidget/model.ts +0 -7
  273. package/src/AddTrackWidget/components/AddTrackWidget.test.tsx +0 -118
  274. package/src/AddTrackWidget/components/AddTrackWidget.tsx +0 -43
  275. package/src/AddTrackWidget/components/ConfirmTrack.tsx +0 -189
  276. package/src/AddTrackWidget/components/DefaultAddTrackWorkflow.tsx +0 -201
  277. package/src/AddTrackWidget/components/PasteConfigWorkflow.tsx +0 -65
  278. package/src/AddTrackWidget/components/TextIndexingConfig.tsx +0 -132
  279. package/src/AddTrackWidget/components/TrackAdapterSelector.tsx +0 -73
  280. package/src/AddTrackWidget/components/TrackSourceSelect.tsx +0 -48
  281. package/src/AddTrackWidget/components/TrackTypeSelector.tsx +0 -46
  282. package/src/AddTrackWidget/index.test.tsx +0 -247
  283. package/src/AddTrackWidget/index.ts +0 -19
  284. package/src/AddTrackWidget/model.ts +0 -179
  285. package/src/AssemblyManager/AssemblyAddForm.tsx +0 -250
  286. package/src/AssemblyManager/AssemblyEditor.tsx +0 -20
  287. package/src/AssemblyManager/AssemblyManager.test.tsx +0 -93
  288. package/src/AssemblyManager/AssemblyManager.tsx +0 -84
  289. package/src/AssemblyManager/AssemblyTable.tsx +0 -88
  290. package/src/AssemblyManager/index.ts +0 -1
  291. package/src/HierarchicalTrackSelectorWidget/components/HierarchicalFab.tsx +0 -94
  292. package/src/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.test.tsx +0 -148
  293. package/src/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.tsx +0 -87
  294. package/src/HierarchicalTrackSelectorWidget/components/ShoppingCart.tsx +0 -73
  295. package/src/HierarchicalTrackSelectorWidget/components/__snapshots__/HierarchicalTrackSelector.test.tsx.snap +0 -265
  296. package/src/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.tsx +0 -65
  297. package/src/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.tsx +0 -53
  298. package/src/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.tsx +0 -84
  299. package/src/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.tsx +0 -127
  300. package/src/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.tsx +0 -138
  301. package/src/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.tsx +0 -29
  302. package/src/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.tsx +0 -96
  303. package/src/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.tsx +0 -342
  304. package/src/HierarchicalTrackSelectorWidget/components/faceted/util.ts +0 -5
  305. package/src/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.tsx +0 -190
  306. package/src/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.tsx +0 -83
  307. package/src/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.tsx +0 -101
  308. package/src/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.tsx +0 -92
  309. package/src/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.tsx +0 -106
  310. package/src/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.tsx +0 -84
  311. package/src/HierarchicalTrackSelectorWidget/components/util.ts +0 -41
  312. package/src/HierarchicalTrackSelectorWidget/configSchema.ts +0 -3
  313. package/src/HierarchicalTrackSelectorWidget/index.ts +0 -25
  314. package/src/HierarchicalTrackSelectorWidget/model.test.js +0 -24
  315. package/src/HierarchicalTrackSelectorWidget/model.ts +0 -339
  316. package/src/PluginStoreWidget/components/CustomPluginForm.tsx +0 -165
  317. package/src/PluginStoreWidget/components/InstalledPlugin.tsx +0 -167
  318. package/src/PluginStoreWidget/components/InstalledPluginsList.tsx +0 -49
  319. package/src/PluginStoreWidget/components/PluginCard.tsx +0 -106
  320. package/src/PluginStoreWidget/components/PluginStoreWidget.test.tsx +0 -132
  321. package/src/PluginStoreWidget/components/PluginStoreWidget.tsx +0 -181
  322. package/src/PluginStoreWidget/components/__snapshots__/PluginStoreWidget.test.tsx.snap +0 -869
  323. package/src/PluginStoreWidget/index.ts +0 -19
  324. package/src/PluginStoreWidget/model.test.tsx +0 -15
  325. package/src/PluginStoreWidget/model.ts +0 -26
  326. package/src/SetDefaultSession/SetDefaultSession.test.tsx +0 -59
  327. package/src/SetDefaultSession/SetDefaultSession.tsx +0 -76
  328. package/src/SetDefaultSession/index.ts +0 -1
  329. package/src/__snapshots__/index.test.ts.snap +0 -9
  330. package/src/index.test.ts +0 -54
  331. package/src/index.ts +0 -37
  332. package/src/ucsc-trackhub/configSchema.ts +0 -41
  333. package/src/ucsc-trackhub/index.ts +0 -19
  334. package/src/ucsc-trackhub/model.ts +0 -111
  335. package/src/ucsc-trackhub/ucscAssemblies.ts +0 -201
  336. package/src/ucsc-trackhub/ucscTrackHub.ts +0 -325
@@ -1,19 +0,0 @@
1
- import { ConfigurationSchema } from '@jbrowse/core/configuration'
2
- import { WidgetType } from '@jbrowse/core/pluggableElementTypes'
3
- import PluginManager from '@jbrowse/core/PluginManager'
4
- import { lazy } from 'react'
5
-
6
- import stateModel from './model'
7
- const configSchema = ConfigurationSchema('AddConnectionWidget', {})
8
-
9
- export default (pluginManager: PluginManager) => {
10
- pluginManager.addWidgetType(() => {
11
- return new WidgetType({
12
- name: 'AddConnectionWidget',
13
- heading: 'Add a connection',
14
- configSchema,
15
- stateModel,
16
- ReactComponent: lazy(() => import('./components/AddConnectionWidget')),
17
- })
18
- })
19
- }
@@ -1,7 +0,0 @@
1
- import { types } from 'mobx-state-tree'
2
- import { ElementId } from '@jbrowse/core/util/types/mst'
3
-
4
- export default types.model('AddConnectionModel', {
5
- id: ElementId,
6
- type: types.literal('AddConnectionWidget'),
7
- })
@@ -1,118 +0,0 @@
1
- import React from 'react'
2
- import { render, fireEvent } from '@testing-library/react'
3
- import { createTestSession } from '@jbrowse/web/src/rootModel'
4
- import AddTrackWidget from './AddTrackWidget'
5
- jest.mock('@jbrowse/web/src/makeWorkerInstance', () => () => {})
6
-
7
- function getSession() {
8
- const session = createTestSession()
9
- session.addAssemblyConf({
10
- name: 'volMyt1',
11
- sequence: {
12
- trackId: 'ref0',
13
- type: 'ReferenceSequenceTrack',
14
- adapter: {
15
- type: 'FromConfigSequenceAdapter',
16
- features: [
17
- {
18
- refName: 'ctgA',
19
- uniqueId: 'firstId',
20
- start: 0,
21
- end: 1000,
22
- seq: 'cattgttgcggagttgaacaACGGCATTAGGAACACTTCCGTCTCtcacttttatacgattatgattggttctttagccttggtttagattggtagtagtagcggcgctaatgctacctgaattgagaactcgagcgggggctaggcaaattctgattcagcctgacttctcttggaaccctgcccataaatcaaagggttagtgcggccaaaacgttggacaacggtattagaagaccaacctgaccaccaaaccgtcaattaaccggtatcttctcggaaacggcggttctctcctagatagcgatctgtggtctcaccatgcaatttaaacaggtgagtaaagattgctacaaatacgagactagctgtcaccagatgctgttcatctgttggctccttggtcgctccgttgtacccaggctactttgaaagagcgcagaatacttagacggtatcgatcatggtagcatagcattctgataacatgtatggagttcgaacatccgtctggggccggacggtccgtttgaggttggttgatctgggtgatagtcagcaagatagacgttagataacaaattaaaggattttaccttagattgcgactagtacaacggtacatcggtgattcgcgctctactagatcacgctatgggtaccataaacaaacggtggaccttctcaagctggttgacgcctcagcaacataggcttcctcctccacgcatctcagcataaaaggcttataaactgcttctttgtgccagagcaactcaattaagcccttggtaccgtgggcacgcattctgtcacggtgaccaactgttcatcctgaatcgccgaatgggactatttggtacaggaatcaagcggatggcactactgcagcttatttacgacggtattcttaaagtttttaagacaatgtatttcatgggtagttcggtttgttttattgctacacaggctcttgtagacgacctacttagcactacgg',
23
- },
24
- ],
25
- },
26
- },
27
- })
28
- session.addTrackConf({
29
- trackId: 'i3jUPmrgMOS',
30
- type: 'FeatureTrack',
31
- name: 'Filter Test',
32
- assemblyNames: ['volMyt1'],
33
- adapter: {
34
- type: 'FromConfigAdapter',
35
- features: [
36
- {
37
- uniqueId: 'one',
38
- refName: 'ctgA',
39
- start: 100,
40
- end: 101,
41
- type: 'foo',
42
- name: 'Boris',
43
- note: 'note for boris',
44
- },
45
- {
46
- uniqueId: 'two',
47
- refName: 'ctgA',
48
- start: 110,
49
- end: 111,
50
- type: 'bar',
51
- name: 'Theresa',
52
- note: 'note for theresa',
53
- },
54
- {
55
- uniqueId: 'three',
56
- refName: 'ctgA',
57
- start: 120,
58
- end: 121,
59
- type: 'baz',
60
- name: 'Nigel',
61
- note: 'note for nigel',
62
- },
63
- {
64
- uniqueId: 'four',
65
- refName: 'ctgA',
66
- start: 130,
67
- end: 131,
68
- type: 'quux',
69
- name: 'Geoffray',
70
- note: 'note for geoffray',
71
- },
72
- ],
73
- },
74
- filterAttributes: ['type', 'start', 'end'],
75
- })
76
-
77
- const view = session.addView('LinearGenomeView', {
78
- displayedRegions: [
79
- {
80
- assemblyName: 'volMyt1',
81
- refName: 'ctgA',
82
- start: 0,
83
- end: 1000,
84
- },
85
- ],
86
- })
87
-
88
- const model = session.addWidget('AddTrackWidget', 'addTrackWidget', {
89
- view: view.id,
90
- })
91
- return { session, model }
92
- }
93
-
94
- describe('<AddTrackWidget />', () => {
95
- it('adds a track', async () => {
96
- const { session, model } = getSession()
97
- const { getByTestId, getAllByTestId, findByText, findAllByText } = render(
98
- <AddTrackWidget model={model} />,
99
- )
100
- expect(session.sessionTracks.length).toBe(1)
101
- fireEvent.change(getAllByTestId('urlInput')[0], {
102
- target: { value: 'test.txt' },
103
- })
104
- fireEvent.click(getAllByTestId('addTrackNextButton')[0])
105
- fireEvent.mouseDown(getByTestId('adapterTypeSelect'))
106
- const bamAdapter = await findByText('BAM adapter')
107
- fireEvent.click(bamAdapter)
108
- fireEvent.change(getByTestId('trackNameInput'), {
109
- target: { value: 'Test track name' },
110
- })
111
- fireEvent.mouseDown(getByTestId('trackTypeSelect'))
112
- fireEvent.click(await findByText('Feature track'))
113
- fireEvent.mouseDown(getByTestId('assemblyNameSelect'))
114
- fireEvent.click((await findAllByText('volMyt1'))[1])
115
- fireEvent.click(getAllByTestId('addTrackNextButton')[0])
116
- expect(session.sessionTracks.length).toBe(2)
117
- })
118
- })
@@ -1,43 +0,0 @@
1
- import React, { useState } from 'react'
2
- import { observer } from 'mobx-react'
3
- import { FormControl, FormHelperText, Select, MenuItem } from '@mui/material'
4
- import { getEnv } from '@jbrowse/core/util'
5
-
6
- // locals
7
- import { AddTrackModel } from '../model'
8
- import DefaultAddTrackWorkflow from './DefaultAddTrackWorkflow'
9
- import PasteConfigWorkflow from './PasteConfigWorkflow'
10
-
11
- function AddTrackSelector({ model }: { model: AddTrackModel }) {
12
- const [val, setVal] = useState('Default add track workflow')
13
- const { pluginManager } = getEnv(model)
14
- const widgets = pluginManager.getAddTrackWorkflowElements()
15
- const ComponentMap = {
16
- 'Default add track workflow': DefaultAddTrackWorkflow,
17
- 'Add track JSON': PasteConfigWorkflow,
18
- ...Object.fromEntries(widgets.map(w => [w.name, w.ReactComponent])),
19
- } as { [key: string]: React.FC<{ model: AddTrackModel }> }
20
-
21
- // make sure the selected value is in the list
22
- const val2 = ComponentMap[val] ? val : 'Default add track workflow'
23
- const Component = ComponentMap[val2]
24
- return (
25
- <>
26
- <FormControl>
27
- <Select value={val2} onChange={event => setVal(event.target.value)}>
28
- {Object.keys(ComponentMap).map(e => (
29
- <MenuItem key={e} value={e}>
30
- {e}
31
- </MenuItem>
32
- ))}
33
- </Select>
34
- <FormHelperText>Type of add track workflow</FormHelperText>
35
- </FormControl>
36
-
37
- <br />
38
- <Component model={model} />
39
- </>
40
- )
41
- }
42
-
43
- export default observer(AddTrackSelector)
@@ -1,189 +0,0 @@
1
- import React, { useEffect, useState } from 'react'
2
- import {
3
- Checkbox,
4
- FormControl,
5
- FormControlLabel,
6
- Link,
7
- TextField,
8
- Typography,
9
- } from '@mui/material'
10
- import { makeStyles } from 'tss-react/mui'
11
- import {
12
- supportedIndexingAdapters,
13
- getSession,
14
- isElectron,
15
- } from '@jbrowse/core/util'
16
- import { observer } from 'mobx-react'
17
- import { UNKNOWN } from '@jbrowse/core/util/tracks'
18
- import { AssemblySelector } from '@jbrowse/core/ui'
19
-
20
- // locals
21
- import { AddTrackModel } from '../model'
22
- import TextIndexingConfig from './TextIndexingConfig'
23
- import TrackTypeSelector from './TrackTypeSelector'
24
- import TrackAdapterSelector from './TrackAdapterSelector'
25
-
26
- const useStyles = makeStyles()(theme => ({
27
- spacing: {
28
- marginBottom: theme.spacing(3),
29
- },
30
- }))
31
-
32
- function StatusMessage({
33
- trackAdapter,
34
- trackType,
35
- }: {
36
- trackAdapter: { type: string; subadapter?: { type: string } }
37
- trackType: string
38
- }) {
39
- const { classes } = useStyles()
40
- const { type, subadapter } = trackAdapter
41
- return type === 'SNPCoverageAdapter' ? (
42
- <Typography className={classes.spacing}>
43
- Selected <code>{trackType}</code>. Using adapter <code>{type}</code> with
44
- subadapter <code>{subadapter?.type}</code>. Please enter a track name and,
45
- if necessary, update the track type.
46
- </Typography>
47
- ) : (
48
- <Typography className={classes.spacing}>
49
- Using adapter <code>{type}</code> and guessing track type{' '}
50
- <code>{trackType}</code>. Please enter a track name and, if necessary,
51
- update the track type.
52
- </Typography>
53
- )
54
- }
55
-
56
- function UnknownAdapterPrompt({ model }: { model: AddTrackModel }) {
57
- const { classes } = useStyles()
58
- return (
59
- <>
60
- <Typography className={classes.spacing}>
61
- JBrowse was not able to guess the adapter type for this data, but it may
62
- be in the list below. If not, you can{' '}
63
- <Link
64
- href="https://github.com/GMOD/jbrowse-components/releases"
65
- target="_blank"
66
- rel="noopener noreferrer"
67
- >
68
- check for new releases
69
- </Link>{' '}
70
- of JBrowse to see if they support this data type or{' '}
71
- <Link
72
- href="https://github.com/GMOD/jbrowse-components/issues/new"
73
- target="_blank"
74
- rel="noopener noreferrer"
75
- >
76
- file an issue
77
- </Link>{' '}
78
- and add a feature request for this data type.
79
- </Typography>
80
- <TrackAdapterSelector model={model} />
81
- </>
82
- )
83
- }
84
-
85
- export default observer(function ConfirmTrack({
86
- model,
87
- }: {
88
- model: AddTrackModel
89
- }) {
90
- const { classes } = useStyles()
91
- const [check, setCheck] = useState(true)
92
- const session = getSession(model)
93
- const { trackName, trackAdapter, trackType, warningMessage, adapterHint } =
94
- model
95
-
96
- useEffect(() => {
97
- if (adapterHint === '' && trackAdapter) {
98
- model.setAdapterHint(trackAdapter.type)
99
- }
100
- }, [adapterHint, trackAdapter, trackAdapter?.type, model])
101
-
102
- if (model.unsupported) {
103
- return (
104
- <Typography className={classes.spacing}>
105
- This version of JBrowse cannot display data of this type. It is
106
- possible, however, that there is a newer version that can display them.
107
- You can{' '}
108
- <Link
109
- href="https://github.com/GMOD/jbrowse-components/releases"
110
- target="_blank"
111
- rel="noopener noreferrer"
112
- >
113
- check for new releases
114
- </Link>{' '}
115
- of JBrowse or{' '}
116
- <Link
117
- href="https://github.com/GMOD/jbrowse-components/issues/new"
118
- target="_blank"
119
- rel="noopener noreferrer"
120
- >
121
- file an issue
122
- </Link>{' '}
123
- and add a feature request for this data type.
124
- </Typography>
125
- )
126
- }
127
- if (trackAdapter?.type === UNKNOWN) {
128
- return <UnknownAdapterPrompt model={model} />
129
- }
130
-
131
- if (!trackAdapter?.type) {
132
- return <Typography>Could not recognize this data type.</Typography>
133
- }
134
-
135
- const supportedForIndexing = supportedIndexingAdapters(trackAdapter?.type)
136
- return (
137
- <div>
138
- {trackAdapter ? (
139
- <StatusMessage trackAdapter={trackAdapter} trackType={trackType} />
140
- ) : null}
141
- {warningMessage ? (
142
- <Typography style={{ color: 'orange' }}>{warningMessage}</Typography>
143
- ) : null}
144
- <TextField
145
- className={classes.spacing}
146
- label="trackName"
147
- helperText="A name for this track"
148
- fullWidth
149
- value={trackName}
150
- onChange={event => model.setTrackName(event.target.value)}
151
- inputProps={{ 'data-testid': 'trackNameInput' }}
152
- />
153
- <TrackAdapterSelector model={model} />
154
- <TrackTypeSelector model={model} />
155
- <AssemblySelector
156
- session={session}
157
- helperText="Select assembly to add track to"
158
- selected={model.assembly}
159
- onChange={asm => model.setAssembly(asm)}
160
- TextFieldProps={{
161
- fullWidth: true,
162
- SelectProps: {
163
- // @ts-expect-error
164
- SelectDisplayProps: { 'data-testid': 'assemblyNameSelect' },
165
- },
166
- }}
167
- />
168
- {isElectron && supportedForIndexing && (
169
- <FormControl>
170
- <FormControlLabel
171
- label={'Index track for text searching?'}
172
- control={
173
- <Checkbox
174
- checked={check}
175
- onChange={e => {
176
- setCheck(e.target.checked)
177
- model.setTextIndexTrack(e.target.checked)
178
- }}
179
- />
180
- }
181
- />
182
- </FormControl>
183
- )}
184
- {isElectron && check && supportedForIndexing ? (
185
- <TextIndexingConfig model={model} />
186
- ) : null}
187
- </div>
188
- )
189
- })
@@ -1,201 +0,0 @@
1
- import React, { useState } from 'react'
2
- import {
3
- Alert,
4
- Button,
5
- Step,
6
- StepContent,
7
- StepLabel,
8
- Stepper,
9
- Typography,
10
- } from '@mui/material'
11
- import { makeStyles } from 'tss-react/mui'
12
- import { getRoot } from 'mobx-state-tree'
13
-
14
- import {
15
- getSession,
16
- isElectron,
17
- supportedIndexingAdapters,
18
- } from '@jbrowse/core/util'
19
- import { getConf } from '@jbrowse/core/configuration'
20
- import { observer } from 'mobx-react'
21
-
22
- // locals
23
- import ConfirmTrack from './ConfirmTrack'
24
- import TrackSourceSelect from './TrackSourceSelect'
25
- import { AddTrackModel } from '../model'
26
-
27
- const useStyles = makeStyles()(theme => ({
28
- root: {
29
- marginTop: theme.spacing(1),
30
- },
31
- stepper: {
32
- backgroundColor: theme.palette.background.default,
33
- },
34
- button: {
35
- marginRight: theme.spacing(1),
36
- },
37
- actionsContainer: {
38
- marginTop: theme.spacing(10),
39
- marginBottom: theme.spacing(2),
40
- },
41
- alertContainer: {
42
- padding: `${theme.spacing(2)}px 0px ${theme.spacing(2)}px 0px`,
43
- },
44
- }))
45
-
46
- const steps = ['Enter track data', 'Confirm track type']
47
-
48
- function AddTrackWorkflow({ model }: { model: AddTrackModel }) {
49
- const [activeStep, setActiveStep] = useState(0)
50
- const { classes } = useStyles()
51
-
52
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
53
- const { jobsManager } = getRoot<any>(model)
54
- const session = getSession(model)
55
- const {
56
- assembly,
57
- trackAdapter,
58
- trackData,
59
- trackName,
60
- trackType,
61
- textIndexTrack,
62
- textIndexingConf,
63
- } = model
64
- const [trackErrorMessage, setTrackErrorMessage] = useState<string>()
65
-
66
- function getStepContent(step: number) {
67
- switch (step) {
68
- case 0:
69
- return <TrackSourceSelect model={model} />
70
- case 1:
71
- return <ConfirmTrack model={model} />
72
- default:
73
- return <Typography>Unknown step</Typography>
74
- }
75
- }
76
-
77
- async function handleNext() {
78
- if (activeStep !== steps.length - 1) {
79
- setActiveStep(activeStep + 1)
80
- return
81
- }
82
-
83
- const trackId = [
84
- `${trackName.toLowerCase().replaceAll(' ', '_')}-${Date.now()}`,
85
- `${session.adminMode ? '' : '-sessionTrack'}`,
86
- ].join('')
87
-
88
- const assemblyInstance = session.assemblyManager.get(assembly)
89
-
90
- if (assemblyInstance && trackAdapter && trackAdapter.type !== 'UNKNOWN') {
91
- session.addTrackConf({
92
- trackId,
93
- type: trackType,
94
- name: trackName,
95
- assemblyNames: [assembly],
96
- adapter: {
97
- ...trackAdapter,
98
- sequenceAdapter: getConf(assemblyInstance, ['sequence', 'adapter']),
99
- },
100
- })
101
- if (model.view) {
102
- model.view.showTrack(trackId)
103
- if (
104
- isElectron &&
105
- textIndexTrack &&
106
- supportedIndexingAdapters(trackAdapter.type)
107
- ) {
108
- const attr = textIndexingConf || {
109
- attributes: ['Name', 'ID'],
110
- exclude: ['CDS', 'exon'],
111
- }
112
- const indexName = trackName + '-index'
113
- const newEntry = {
114
- indexingParams: {
115
- ...attr,
116
- assemblies: [assembly],
117
- tracks: [trackId],
118
- indexType: 'perTrack',
119
- name: indexName,
120
- timestamp: new Date().toISOString(),
121
- },
122
- name: indexName,
123
- cancelCallback: () => jobsManager.abortJob(),
124
- }
125
- jobsManager.queueJob(newEntry)
126
- }
127
- } else {
128
- session.notify(
129
- 'Open a new view, or use the track selector in an existing view, to view this track',
130
- 'info',
131
- )
132
- }
133
- model.clearData()
134
- session.hideWidget(model)
135
- } else {
136
- setTrackErrorMessage(
137
- 'Failed to add track.\nThe configuration of this file is not currently supported.',
138
- )
139
- }
140
- }
141
-
142
- function handleBack() {
143
- setTrackErrorMessage(undefined)
144
- setActiveStep(activeStep - 1)
145
- }
146
-
147
- function isNextDisabled() {
148
- switch (activeStep) {
149
- case 0:
150
- return !trackData
151
- case 1:
152
- return !(trackName && trackType && trackAdapter?.type && assembly)
153
- default:
154
- return true
155
- }
156
- }
157
-
158
- return (
159
- <div className={classes.root}>
160
- <Stepper
161
- className={classes.stepper}
162
- activeStep={activeStep}
163
- orientation="vertical"
164
- >
165
- {steps.map((label, idx) => (
166
- <Step key={label}>
167
- <StepLabel>{label}</StepLabel>
168
- <StepContent>
169
- {getStepContent(idx)}
170
- <div className={classes.actionsContainer}>
171
- <Button
172
- disabled={activeStep === 0}
173
- onClick={handleBack}
174
- className={classes.button}
175
- >
176
- Back
177
- </Button>
178
- <Button
179
- disabled={isNextDisabled()}
180
- variant="contained"
181
- color="primary"
182
- onClick={handleNext}
183
- className={classes.button}
184
- data-testid="addTrackNextButton"
185
- >
186
- {activeStep === steps.length - 1 ? 'Add' : 'Next'}
187
- </Button>
188
- </div>
189
- {trackErrorMessage ? (
190
- <div className={classes.alertContainer}>
191
- <Alert severity="error">{trackErrorMessage}</Alert>
192
- </div>
193
- ) : null}
194
- </StepContent>
195
- </Step>
196
- ))}
197
- </Stepper>
198
- </div>
199
- )
200
- }
201
- export default observer(AddTrackWorkflow)
@@ -1,65 +0,0 @@
1
- import React, { useState } from 'react'
2
- import { Button, TextField } from '@mui/material'
3
- import { ErrorMessage } from '@jbrowse/core/ui'
4
- import { makeStyles } from 'tss-react/mui'
5
- import { getSession } from '@jbrowse/core/util'
6
- import { observer } from 'mobx-react'
7
-
8
- // locals
9
- import { AddTrackModel } from '../model'
10
-
11
- const useStyles = makeStyles()({
12
- textbox: {
13
- width: '100%',
14
- },
15
- submit: {
16
- marginTop: 25,
17
- marginBottom: 100,
18
- display: 'block',
19
- },
20
- })
21
-
22
- function AddTrackWorkflow({ model }: { model: AddTrackModel }) {
23
- const { classes } = useStyles()
24
- const [val, setVal] = useState('')
25
- const [error, setError] = useState<unknown>()
26
-
27
- return (
28
- <div>
29
- {error ? <ErrorMessage error={error} /> : null}
30
- <TextField
31
- multiline
32
- rows={10}
33
- value={val}
34
- onChange={event => setVal(event.target.value)}
35
- placeholder={
36
- 'Paste track config or array of track configs in JSON format'
37
- }
38
- variant="outlined"
39
- className={classes.textbox}
40
- />
41
- <Button
42
- variant="contained"
43
- className={classes.submit}
44
- onClick={() => {
45
- try {
46
- setError(undefined)
47
- const session = getSession(model)
48
- const conf = JSON.parse(val)
49
- const confs = Array.isArray(conf) ? conf : [conf]
50
- confs.forEach(c => session.addTrackConf(c))
51
- confs.forEach(c => c.trackId)
52
- model.clearData()
53
- session.hideWidget(model)
54
- } catch (e) {
55
- console.error(e)
56
- setError(e)
57
- }
58
- }}
59
- >
60
- Submit
61
- </Button>
62
- </div>
63
- )
64
- }
65
- export default observer(AddTrackWorkflow)