@jbrowse/plugin-data-management 2.17.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/dist/AddConnectionWidget/components/AddConnectionWidget.d.ts +1 -2
  2. package/dist/AddConnectionWidget/components/AddConnectionWidget.js +31 -62
  3. package/dist/AddConnectionWidget/components/ConfigureConnection.d.ts +4 -5
  4. package/dist/AddConnectionWidget/components/ConfigureConnection.js +5 -28
  5. package/dist/AddConnectionWidget/components/ConnectionTypeSelect.d.ts +2 -3
  6. package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js +6 -32
  7. package/dist/AddConnectionWidget/index.d.ts +1 -1
  8. package/dist/AddConnectionWidget/index.js +18 -8
  9. package/dist/AddConnectionWidget/model.js +1 -1
  10. package/dist/AddTrackWidget/components/AddTrackStatusMessage.d.ts +9 -0
  11. package/dist/AddTrackWidget/components/AddTrackStatusMessage.js +16 -0
  12. package/dist/AddTrackWidget/components/AddTrackUnknownAdapterPrompt.d.ts +4 -0
  13. package/dist/AddTrackWidget/components/AddTrackUnknownAdapterPrompt.js +19 -0
  14. package/dist/AddTrackWidget/components/AddTrackWidget.d.ts +2 -3
  15. package/dist/AddTrackWidget/components/AddTrackWidget.js +7 -35
  16. package/dist/AddTrackWidget/components/ConfirmTrack.d.ts +2 -3
  17. package/dist/AddTrackWidget/components/ConfirmTrack.js +38 -97
  18. package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.d.ts +2 -3
  19. package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.js +24 -107
  20. package/dist/AddTrackWidget/components/PasteConfigWorkflow.d.ts +2 -3
  21. package/dist/AddTrackWidget/components/PasteConfigWorkflow.js +31 -51
  22. package/dist/AddTrackWidget/components/TextIndexingConfig.d.ts +2 -3
  23. package/dist/AddTrackWidget/components/TextIndexingConfig.js +38 -76
  24. package/dist/AddTrackWidget/components/TrackAdapterSelector.d.ts +2 -3
  25. package/dist/AddTrackWidget/components/TrackAdapterSelector.js +13 -40
  26. package/dist/AddTrackWidget/components/TrackSourceSelect.d.ts +2 -3
  27. package/dist/AddTrackWidget/components/TrackSourceSelect.js +4 -10
  28. package/dist/AddTrackWidget/components/TrackTypeSelector.d.ts +3 -4
  29. package/dist/AddTrackWidget/components/TrackTypeSelector.js +8 -17
  30. package/dist/AddTrackWidget/components/Unsupported.d.ts +1 -0
  31. package/dist/AddTrackWidget/components/Unsupported.js +15 -0
  32. package/dist/AddTrackWidget/components/doSubmit.d.ts +4 -0
  33. package/dist/AddTrackWidget/components/doSubmit.js +50 -0
  34. package/dist/AddTrackWidget/components/util.d.ts +2 -0
  35. package/dist/AddTrackWidget/components/util.js +15 -0
  36. package/dist/AddTrackWidget/index.d.ts +1 -1
  37. package/dist/AddTrackWidget/index.js +18 -8
  38. package/dist/AddTrackWidget/model.d.ts +16 -84
  39. package/dist/AddTrackWidget/model.js +46 -94
  40. package/dist/AssemblyManager/AssemblyAddForm.d.ts +5 -6
  41. package/dist/AssemblyManager/AssemblyAddForm.js +82 -128
  42. package/dist/AssemblyManager/AssemblyEditor.d.ts +4 -4
  43. package/dist/AssemblyManager/AssemblyEditor.js +7 -7
  44. package/dist/AssemblyManager/AssemblyManager.d.ts +5 -5
  45. package/dist/AssemblyManager/AssemblyManager.js +19 -55
  46. package/dist/AssemblyManager/AssemblyTable.d.ts +8 -12
  47. package/dist/AssemblyManager/AssemblyTable.js +42 -35
  48. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalFab.d.ts +2 -3
  49. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalFab.js +22 -50
  50. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.d.ts +2 -3
  51. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +7 -35
  52. package/dist/HierarchicalTrackSelectorWidget/components/ShoppingCart.d.ts +2 -3
  53. package/dist/HierarchicalTrackSelectorWidget/components/ShoppingCart.js +21 -11
  54. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.d.ts +1 -2
  55. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.js +8 -19
  56. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.d.ts +3 -4
  57. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.js +9 -17
  58. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.d.ts +3 -4
  59. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.js +14 -27
  60. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.d.ts +3 -4
  61. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.js +10 -19
  62. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.d.ts +2 -3
  63. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.js +21 -58
  64. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.d.ts +3 -4
  65. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js +22 -26
  66. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedDataGrid.d.ts +9 -0
  67. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedDataGrid.js +71 -0
  68. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.d.ts +2 -3
  69. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.js +3 -5
  70. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.d.ts +2 -3
  71. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js +47 -82
  72. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.d.ts +3 -4
  73. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js +17 -112
  74. package/dist/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.d.ts +4 -5
  75. package/dist/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.js +7 -32
  76. package/dist/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.d.ts +2 -3
  77. package/dist/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.js +5 -9
  78. package/dist/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.d.ts +2 -3
  79. package/dist/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js +124 -124
  80. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.d.ts +2 -3
  81. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js +8 -17
  82. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.d.ts +3 -4
  83. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js +5 -40
  84. package/dist/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.d.ts +2 -3
  85. package/dist/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.js +6 -10
  86. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.d.ts +2 -3
  87. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js +46 -78
  88. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.d.ts +3 -4
  89. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js +19 -15
  90. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabelMenu.d.ts +3 -4
  91. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabelMenu.js +6 -8
  92. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.d.ts +2 -3
  93. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.js +6 -19
  94. package/dist/HierarchicalTrackSelectorWidget/components/util.d.ts +4 -4
  95. package/dist/HierarchicalTrackSelectorWidget/components/util.js +1 -4
  96. package/dist/HierarchicalTrackSelectorWidget/facetedModel.d.ts +2 -61
  97. package/dist/HierarchicalTrackSelectorWidget/facetedModel.js +14 -76
  98. package/dist/HierarchicalTrackSelectorWidget/filterTracks.d.ts +1 -1
  99. package/dist/HierarchicalTrackSelectorWidget/generateHierarchy.d.ts +2 -2
  100. package/dist/HierarchicalTrackSelectorWidget/generateHierarchy.js +0 -13
  101. package/dist/HierarchicalTrackSelectorWidget/index.d.ts +1 -1
  102. package/dist/HierarchicalTrackSelectorWidget/index.js +20 -10
  103. package/dist/HierarchicalTrackSelectorWidget/model.d.ts +3 -177
  104. package/dist/HierarchicalTrackSelectorWidget/model.js +3 -183
  105. package/dist/HierarchicalTrackSelectorWidget/util.d.ts +2 -2
  106. package/dist/HierarchicalTrackSelectorWidget/util.js +0 -3
  107. package/dist/PluginStoreWidget/components/AddCustomPluginDialog.d.ts +2 -3
  108. package/dist/PluginStoreWidget/components/AddCustomPluginDialog.js +19 -59
  109. package/dist/PluginStoreWidget/components/DeletePluginDialog.d.ts +1 -2
  110. package/dist/PluginStoreWidget/components/DeletePluginDialog.js +10 -23
  111. package/dist/PluginStoreWidget/components/InstalledPlugin.d.ts +3 -4
  112. package/dist/PluginStoreWidget/components/InstalledPlugin.js +45 -37
  113. package/dist/PluginStoreWidget/components/InstalledPluginsList.d.ts +3 -4
  114. package/dist/PluginStoreWidget/components/InstalledPluginsList.js +5 -5
  115. package/dist/PluginStoreWidget/components/PluginCard.d.ts +4 -6
  116. package/dist/PluginStoreWidget/components/PluginCard.js +25 -55
  117. package/dist/PluginStoreWidget/components/PluginStoreWidget.d.ts +2 -3
  118. package/dist/PluginStoreWidget/components/PluginStoreWidget.js +53 -61
  119. package/dist/PluginStoreWidget/components/util.d.ts +1 -1
  120. package/dist/PluginStoreWidget/components/util.js +0 -1
  121. package/dist/PluginStoreWidget/index.d.ts +1 -1
  122. package/dist/PluginStoreWidget/index.js +18 -8
  123. package/dist/PluginStoreWidget/model.d.ts +2 -8
  124. package/dist/PluginStoreWidget/model.js +1 -19
  125. package/dist/{ucsc-trackhub → UCSCTrackHub}/configSchema.d.ts +0 -6
  126. package/dist/{ucsc-trackhub → UCSCTrackHub}/configSchema.js +2 -14
  127. package/{esm/ucsc-trackhub → dist/UCSCTrackHub}/doConnect.d.ts +1 -1
  128. package/dist/{ucsc-trackhub → UCSCTrackHub}/doConnect.js +19 -15
  129. package/dist/{ucsc-trackhub → UCSCTrackHub}/index.d.ts +1 -1
  130. package/dist/{ucsc-trackhub → UCSCTrackHub}/index.js +11 -9
  131. package/dist/{ucsc-trackhub → UCSCTrackHub}/model.d.ts +1 -14
  132. package/dist/{ucsc-trackhub → UCSCTrackHub}/model.js +18 -23
  133. package/dist/{ucsc-trackhub → UCSCTrackHub}/ucscAssemblies.js +0 -3
  134. package/dist/{ucsc-trackhub → UCSCTrackHub}/ucscTrackHub.d.ts +54 -37
  135. package/dist/UCSCTrackHub/ucscTrackHub.js +170 -0
  136. package/dist/UCSCTrackHub/util.d.ts +22 -0
  137. package/dist/UCSCTrackHub/util.js +41 -0
  138. package/dist/index.d.ts +11 -11
  139. package/dist/index.js +21 -11
  140. package/esm/AddConnectionWidget/components/AddConnectionWidget.d.ts +1 -2
  141. package/esm/AddConnectionWidget/components/AddConnectionWidget.js +31 -39
  142. package/esm/AddConnectionWidget/components/ConfigureConnection.d.ts +4 -5
  143. package/esm/AddConnectionWidget/components/ConfigureConnection.js +5 -5
  144. package/esm/AddConnectionWidget/components/ConnectionTypeSelect.d.ts +2 -3
  145. package/esm/AddConnectionWidget/components/ConnectionTypeSelect.js +6 -9
  146. package/esm/AddConnectionWidget/index.d.ts +1 -1
  147. package/esm/AddConnectionWidget/index.js +1 -1
  148. package/esm/AddConnectionWidget/model.js +1 -1
  149. package/esm/AddTrackWidget/components/AddTrackStatusMessage.d.ts +9 -0
  150. package/esm/AddTrackWidget/components/AddTrackStatusMessage.js +13 -0
  151. package/esm/AddTrackWidget/components/AddTrackUnknownAdapterPrompt.d.ts +4 -0
  152. package/esm/AddTrackWidget/components/AddTrackUnknownAdapterPrompt.js +13 -0
  153. package/esm/AddTrackWidget/components/AddTrackWidget.d.ts +2 -3
  154. package/esm/AddTrackWidget/components/AddTrackWidget.js +7 -12
  155. package/esm/AddTrackWidget/components/ConfirmTrack.d.ts +2 -3
  156. package/esm/AddTrackWidget/components/ConfirmTrack.js +39 -75
  157. package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.d.ts +2 -3
  158. package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.js +25 -85
  159. package/esm/AddTrackWidget/components/PasteConfigWorkflow.d.ts +2 -3
  160. package/esm/AddTrackWidget/components/PasteConfigWorkflow.js +31 -28
  161. package/esm/AddTrackWidget/components/TextIndexingConfig.d.ts +2 -3
  162. package/esm/AddTrackWidget/components/TextIndexingConfig.js +39 -54
  163. package/esm/AddTrackWidget/components/TrackAdapterSelector.d.ts +2 -3
  164. package/esm/AddTrackWidget/components/TrackAdapterSelector.js +13 -37
  165. package/esm/AddTrackWidget/components/TrackSourceSelect.d.ts +2 -3
  166. package/esm/AddTrackWidget/components/TrackSourceSelect.js +4 -7
  167. package/esm/AddTrackWidget/components/TrackTypeSelector.d.ts +3 -4
  168. package/esm/AddTrackWidget/components/TrackTypeSelector.js +8 -14
  169. package/esm/AddTrackWidget/components/Unsupported.d.ts +1 -0
  170. package/esm/AddTrackWidget/components/Unsupported.js +12 -0
  171. package/esm/AddTrackWidget/components/doSubmit.d.ts +4 -0
  172. package/esm/AddTrackWidget/components/doSubmit.js +47 -0
  173. package/esm/AddTrackWidget/components/util.d.ts +2 -0
  174. package/esm/AddTrackWidget/components/util.js +12 -0
  175. package/esm/AddTrackWidget/index.d.ts +1 -1
  176. package/esm/AddTrackWidget/index.js +1 -1
  177. package/esm/AddTrackWidget/model.d.ts +16 -84
  178. package/esm/AddTrackWidget/model.js +43 -94
  179. package/esm/AssemblyManager/AssemblyAddForm.d.ts +5 -6
  180. package/esm/AssemblyManager/AssemblyAddForm.js +82 -102
  181. package/esm/AssemblyManager/AssemblyEditor.d.ts +4 -4
  182. package/esm/AssemblyManager/AssemblyEditor.js +7 -4
  183. package/esm/AssemblyManager/AssemblyManager.d.ts +5 -5
  184. package/esm/AssemblyManager/AssemblyManager.js +19 -32
  185. package/esm/AssemblyManager/AssemblyTable.d.ts +8 -12
  186. package/esm/AssemblyManager/AssemblyTable.js +43 -36
  187. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalFab.d.ts +2 -3
  188. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalFab.js +22 -27
  189. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.d.ts +2 -3
  190. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +7 -12
  191. package/esm/HierarchicalTrackSelectorWidget/components/ShoppingCart.d.ts +2 -3
  192. package/esm/HierarchicalTrackSelectorWidget/components/ShoppingCart.js +21 -11
  193. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.d.ts +1 -2
  194. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.js +8 -16
  195. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.d.ts +3 -4
  196. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.js +9 -14
  197. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.d.ts +3 -4
  198. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.js +14 -27
  199. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.d.ts +3 -4
  200. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.js +10 -16
  201. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.d.ts +2 -3
  202. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.js +21 -35
  203. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.d.ts +3 -4
  204. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js +22 -26
  205. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedDataGrid.d.ts +9 -0
  206. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedDataGrid.js +69 -0
  207. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.d.ts +2 -3
  208. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.js +3 -5
  209. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.d.ts +2 -3
  210. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js +47 -59
  211. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.d.ts +3 -4
  212. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js +17 -89
  213. package/esm/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.d.ts +4 -5
  214. package/esm/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.js +7 -9
  215. package/esm/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.d.ts +2 -3
  216. package/esm/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.js +5 -9
  217. package/esm/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.d.ts +2 -3
  218. package/esm/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js +108 -118
  219. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.d.ts +2 -3
  220. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js +8 -17
  221. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.d.ts +3 -4
  222. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js +5 -17
  223. package/esm/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.d.ts +2 -3
  224. package/esm/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.js +6 -10
  225. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.d.ts +2 -3
  226. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js +46 -55
  227. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.d.ts +3 -4
  228. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js +19 -15
  229. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabelMenu.d.ts +3 -4
  230. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabelMenu.js +6 -8
  231. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.d.ts +2 -3
  232. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.js +6 -19
  233. package/esm/HierarchicalTrackSelectorWidget/components/util.d.ts +4 -4
  234. package/esm/HierarchicalTrackSelectorWidget/components/util.js +1 -4
  235. package/esm/HierarchicalTrackSelectorWidget/facetedModel.d.ts +2 -61
  236. package/esm/HierarchicalTrackSelectorWidget/facetedModel.js +12 -74
  237. package/esm/HierarchicalTrackSelectorWidget/filterTracks.d.ts +1 -1
  238. package/esm/HierarchicalTrackSelectorWidget/filterTracks.js +1 -1
  239. package/esm/HierarchicalTrackSelectorWidget/generateHierarchy.d.ts +2 -2
  240. package/esm/HierarchicalTrackSelectorWidget/generateHierarchy.js +1 -14
  241. package/esm/HierarchicalTrackSelectorWidget/index.d.ts +1 -1
  242. package/esm/HierarchicalTrackSelectorWidget/index.js +3 -3
  243. package/esm/HierarchicalTrackSelectorWidget/model.d.ts +3 -177
  244. package/esm/HierarchicalTrackSelectorWidget/model.js +4 -184
  245. package/esm/HierarchicalTrackSelectorWidget/util.d.ts +2 -2
  246. package/esm/HierarchicalTrackSelectorWidget/util.js +1 -4
  247. package/esm/PluginStoreWidget/components/AddCustomPluginDialog.d.ts +2 -3
  248. package/esm/PluginStoreWidget/components/AddCustomPluginDialog.js +19 -36
  249. package/esm/PluginStoreWidget/components/DeletePluginDialog.d.ts +1 -2
  250. package/esm/PluginStoreWidget/components/DeletePluginDialog.js +10 -20
  251. package/esm/PluginStoreWidget/components/InstalledPlugin.d.ts +3 -4
  252. package/esm/PluginStoreWidget/components/InstalledPlugin.js +28 -30
  253. package/esm/PluginStoreWidget/components/InstalledPluginsList.d.ts +3 -4
  254. package/esm/PluginStoreWidget/components/InstalledPluginsList.js +5 -5
  255. package/esm/PluginStoreWidget/components/PluginCard.d.ts +4 -6
  256. package/esm/PluginStoreWidget/components/PluginCard.js +27 -34
  257. package/esm/PluginStoreWidget/components/PluginStoreWidget.d.ts +2 -3
  258. package/esm/PluginStoreWidget/components/PluginStoreWidget.js +36 -54
  259. package/esm/PluginStoreWidget/components/util.d.ts +1 -1
  260. package/esm/PluginStoreWidget/components/util.js +1 -2
  261. package/esm/PluginStoreWidget/index.d.ts +1 -1
  262. package/esm/PluginStoreWidget/index.js +1 -1
  263. package/esm/PluginStoreWidget/model.d.ts +2 -8
  264. package/esm/PluginStoreWidget/model.js +1 -19
  265. package/esm/{ucsc-trackhub → UCSCTrackHub}/configSchema.d.ts +0 -6
  266. package/esm/{ucsc-trackhub → UCSCTrackHub}/configSchema.js +2 -14
  267. package/{dist/ucsc-trackhub → esm/UCSCTrackHub}/doConnect.d.ts +1 -1
  268. package/esm/{ucsc-trackhub → UCSCTrackHub}/doConnect.js +12 -8
  269. package/esm/{ucsc-trackhub → UCSCTrackHub}/index.d.ts +1 -1
  270. package/esm/UCSCTrackHub/index.js +15 -0
  271. package/esm/{ucsc-trackhub → UCSCTrackHub}/model.d.ts +1 -14
  272. package/esm/{ucsc-trackhub → UCSCTrackHub}/model.js +1 -16
  273. package/esm/{ucsc-trackhub → UCSCTrackHub}/ucscAssemblies.js +0 -3
  274. package/esm/{ucsc-trackhub → UCSCTrackHub}/ucscTrackHub.d.ts +54 -37
  275. package/esm/UCSCTrackHub/ucscTrackHub.js +162 -0
  276. package/esm/UCSCTrackHub/util.d.ts +22 -0
  277. package/esm/UCSCTrackHub/util.js +33 -0
  278. package/esm/index.d.ts +11 -11
  279. package/esm/index.js +3 -3
  280. package/package.json +4 -3
  281. package/dist/ucsc-trackhub/ucscTrackHub.js +0 -208
  282. package/esm/ucsc-trackhub/index.js +0 -13
  283. package/esm/ucsc-trackhub/ucscTrackHub.js +0 -195
  284. /package/dist/{ucsc-trackhub → UCSCTrackHub}/ucscAssemblies.d.ts +0 -0
  285. /package/esm/{ucsc-trackhub → UCSCTrackHub}/ucscAssemblies.d.ts +0 -0
@@ -1,13 +1,12 @@
1
- import React, { useState } from 'react';
2
- import { Alert, Button, Step, StepContent, StepLabel, Stepper, Typography, } from '@mui/material';
3
- import { makeStyles } from 'tss-react/mui';
4
- import { getRoot } from 'mobx-state-tree';
5
- import { getSession, isElectron, isSessionModelWithWidgets, isSessionWithAddTracks, isSupportedIndexingAdapter, } from '@jbrowse/core/util';
6
- import { getConf } from '@jbrowse/core/configuration';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { getSession } from '@jbrowse/core/util';
4
+ import { Button, Step, StepContent, StepLabel, Stepper, Typography, } from '@mui/material';
7
5
  import { observer } from 'mobx-react';
8
- // locals
6
+ import { makeStyles } from 'tss-react/mui';
9
7
  import ConfirmTrack from './ConfirmTrack';
10
8
  import TrackSourceSelect from './TrackSourceSelect';
9
+ import { doSubmit } from './doSubmit';
11
10
  const useStyles = makeStyles()(theme => ({
12
11
  root: {
13
12
  marginTop: theme.spacing(1),
@@ -30,76 +29,15 @@ const steps = ['Enter track data', 'Confirm track type'];
30
29
  const DefaultAddTrackWorkflow = observer(function ({ model, }) {
31
30
  const [activeStep, setActiveStep] = useState(0);
32
31
  const { classes } = useStyles();
33
- const { jobsManager } = getRoot(model);
34
- const session = getSession(model);
35
- const { assembly, trackAdapter, trackData, trackName, trackType, textIndexTrack, textIndexingConf, } = model;
36
- const [trackErrorMessage, setTrackErrorMessage] = useState();
32
+ const { assembly, trackAdapter, trackData, trackName, trackType } = model;
37
33
  function getStepContent(step) {
38
34
  switch (step) {
39
35
  case 0:
40
- return React.createElement(TrackSourceSelect, { model: model });
36
+ return _jsx(TrackSourceSelect, { model: model });
41
37
  case 1:
42
- return React.createElement(ConfirmTrack, { model: model });
38
+ return _jsx(ConfirmTrack, { model: model });
43
39
  default:
44
- return React.createElement(Typography, null, "Unknown step");
45
- }
46
- }
47
- async function handleNext() {
48
- var _a, _b;
49
- if (activeStep !== steps.length - 1) {
50
- setActiveStep(activeStep + 1);
51
- return;
52
- }
53
- const trackId = [
54
- `${trackName.toLowerCase().replaceAll(' ', '_')}-${Date.now()}`,
55
- session.adminMode ? '' : '-sessionTrack',
56
- ].join('');
57
- const assemblyInstance = session.assemblyManager.get(assembly);
58
- if (!isSessionWithAddTracks(session)) {
59
- setTrackErrorMessage('Unable to add tracks to this model');
60
- return;
61
- }
62
- if (assemblyInstance && trackAdapter && trackAdapter.type !== 'UNKNOWN') {
63
- session.addTrackConf({
64
- trackId,
65
- type: trackType,
66
- name: trackName,
67
- assemblyNames: [assembly],
68
- adapter: {
69
- ...trackAdapter,
70
- sequenceAdapter: getConf(assemblyInstance, ['sequence', 'adapter']),
71
- },
72
- });
73
- (_b = (_a = model.view).showTrack) === null || _b === void 0 ? void 0 : _b.call(_a, trackId);
74
- if (isElectron &&
75
- textIndexTrack &&
76
- isSupportedIndexingAdapter(trackAdapter.type)) {
77
- const attr = textIndexingConf || {
78
- attributes: ['Name', 'ID'],
79
- exclude: ['CDS', 'exon'],
80
- };
81
- const indexName = `${trackName}-index`;
82
- const newEntry = {
83
- indexingParams: {
84
- ...attr,
85
- assemblies: [assembly],
86
- tracks: [trackId],
87
- indexType: 'perTrack',
88
- name: indexName,
89
- timestamp: new Date().toISOString(),
90
- },
91
- name: indexName,
92
- cancelCallback: () => jobsManager.abortJob(),
93
- };
94
- jobsManager.queueJob(newEntry);
95
- }
96
- model.clearData();
97
- if (isSessionModelWithWidgets(session)) {
98
- session.hideWidget(model);
99
- }
100
- }
101
- else {
102
- setTrackErrorMessage('Failed to add track.\nThe configuration of this file is not currently supported.');
40
+ return _jsx(Typography, { children: "Unknown step" });
103
41
  }
104
42
  }
105
43
  function isNextDisabled() {
@@ -112,18 +50,20 @@ const DefaultAddTrackWorkflow = observer(function ({ model, }) {
112
50
  return true;
113
51
  }
114
52
  }
115
- return (React.createElement("div", { className: classes.root },
116
- React.createElement(Stepper, { className: classes.stepper, activeStep: activeStep, orientation: "vertical" }, steps.map((label, idx) => (React.createElement(Step, { key: label },
117
- React.createElement(StepLabel, null, label),
118
- React.createElement(StepContent, null,
119
- getStepContent(idx),
120
- React.createElement("div", { className: classes.actionsContainer },
121
- React.createElement(Button, { disabled: activeStep === 0, onClick: () => {
122
- setTrackErrorMessage(undefined);
123
- setActiveStep(activeStep - 1);
124
- }, className: classes.button }, "Back"),
125
- React.createElement(Button, { disabled: isNextDisabled(), variant: "contained", color: "primary", onClick: handleNext, className: classes.button, "data-testid": "addTrackNextButton" }, activeStep === steps.length - 1 ? 'Add' : 'Next')),
126
- trackErrorMessage ? (React.createElement("div", { className: classes.alertContainer },
127
- React.createElement(Alert, { severity: "error" }, trackErrorMessage))) : null)))))));
53
+ return (_jsx("div", { className: classes.root, children: _jsx(Stepper, { className: classes.stepper, activeStep: activeStep, orientation: "vertical", children: steps.map((label, idx) => (_jsxs(Step, { children: [_jsx(StepLabel, { children: label }), _jsxs(StepContent, { children: [getStepContent(idx), _jsxs("div", { className: classes.actionsContainer, children: [_jsx(Button, { disabled: activeStep === 0, className: classes.button, onClick: () => {
54
+ setActiveStep(activeStep - 1);
55
+ }, children: "Back" }), _jsx(Button, { disabled: isNextDisabled(), variant: "contained", color: "primary", onClick: () => {
56
+ if (activeStep !== steps.length - 1) {
57
+ setActiveStep(activeStep + 1);
58
+ }
59
+ else {
60
+ try {
61
+ doSubmit({ model });
62
+ }
63
+ catch (e) {
64
+ getSession(model).notifyError(`${e}`, e);
65
+ }
66
+ }
67
+ }, className: classes.button, "data-testid": "addTrackNextButton", children: activeStep === steps.length - 1 ? 'Add' : 'Next' })] })] })] }, label))) }) }));
128
68
  });
129
69
  export default DefaultAddTrackWorkflow;
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
- import { AddTrackModel } from '../model';
1
+ import type { AddTrackModel } from '../model';
3
2
  declare const PasteConfigAddTrackWorkflow: ({ model, }: {
4
3
  model: AddTrackModel;
5
- }) => React.JSX.Element;
4
+ }) => import("react/jsx-runtime").JSX.Element;
6
5
  export default PasteConfigAddTrackWorkflow;
@@ -1,9 +1,11 @@
1
- import React, { useState } from 'react';
2
- import { Button, TextField } from '@mui/material';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
3
  import { ErrorMessage } from '@jbrowse/core/ui';
4
- import { makeStyles } from 'tss-react/mui';
5
4
  import { getSession, isSessionModelWithWidgets, isSessionWithAddTracks, } from '@jbrowse/core/util';
5
+ import { Button, TextField } from '@mui/material';
6
+ import { transaction } from 'mobx';
6
7
  import { observer } from 'mobx-react';
8
+ import { makeStyles } from 'tss-react/mui';
7
9
  const useStyles = makeStyles()({
8
10
  textbox: {
9
11
  width: '100%',
@@ -18,31 +20,32 @@ const PasteConfigAddTrackWorkflow = observer(function ({ model, }) {
18
20
  const { classes } = useStyles();
19
21
  const [val, setVal] = useState('');
20
22
  const [error, setError] = useState();
21
- return (React.createElement("div", null,
22
- error ? React.createElement(ErrorMessage, { error: error }) : null,
23
- React.createElement(TextField, { multiline: true, rows: 10, value: val, onChange: event => {
24
- setVal(event.target.value);
25
- }, placeholder: 'Paste track config or array of track configs in JSON format', variant: "outlined", className: classes.textbox }),
26
- React.createElement(Button, { variant: "contained", className: classes.submit, onClick: () => {
27
- try {
28
- setError(undefined);
29
- const session = getSession(model);
30
- const conf = JSON.parse(val);
31
- const confs = Array.isArray(conf) ? conf : [conf];
32
- if (isSessionWithAddTracks(session) &&
33
- isSessionModelWithWidgets(session)) {
34
- confs.forEach(c => {
35
- session.addTrackConf(c);
36
- });
37
- confs.forEach(c => model.view.showTrack(c.trackId));
38
- model.clearData();
39
- session.hideWidget(model);
23
+ return (_jsxs("div", { children: [error ? _jsx(ErrorMessage, { error: error }) : null, _jsx(TextField, { multiline: true, rows: 10, value: val, placeholder: "Paste track config or array of track configs in JSON format", variant: "outlined", className: classes.textbox, onChange: event => {
24
+ setVal(event.target.value);
25
+ } }), _jsx(Button, { variant: "contained", className: classes.submit, onClick: () => {
26
+ try {
27
+ setError(undefined);
28
+ const session = getSession(model);
29
+ const conf = JSON.parse(val);
30
+ const confs = Array.isArray(conf) ? conf : [conf];
31
+ if (isSessionWithAddTracks(session) &&
32
+ isSessionModelWithWidgets(session)) {
33
+ transaction(() => {
34
+ confs.forEach(c => {
35
+ session.addTrackConf(c);
36
+ });
37
+ confs.forEach(c => {
38
+ model.view.showTrack(c.trackId);
39
+ });
40
+ model.clearData();
41
+ });
42
+ session.hideWidget(model);
43
+ }
44
+ }
45
+ catch (e) {
46
+ console.error(e);
47
+ setError(e);
40
48
  }
41
- }
42
- catch (e) {
43
- console.error(e);
44
- setError(e);
45
- }
46
- } }, "Submit")));
49
+ }, children: "Submit" })] }));
47
50
  });
48
51
  export default PasteConfigAddTrackWorkflow;
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
- import { AddTrackModel } from '../model';
1
+ import type { AddTrackModel } from '../model';
3
2
  declare const TextIndexingConfig: ({ model, }: {
4
3
  model: AddTrackModel;
5
- }) => React.JSX.Element;
4
+ }) => import("react/jsx-runtime").JSX.Element;
6
5
  export default TextIndexingConfig;
@@ -1,10 +1,10 @@
1
- import React, { useEffect, useState } from 'react';
2
- import { Card, CardContent, IconButton, InputLabel, InputAdornment, List, ListItem, Paper, TextField, } from '@mui/material';
3
- import { makeStyles } from 'tss-react/mui';
4
- import { observer } from 'mobx-react';
5
- // icons
6
- import DeleteIcon from '@mui/icons-material/Delete';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
7
3
  import AddIcon from '@mui/icons-material/Add';
4
+ import DeleteIcon from '@mui/icons-material/Delete';
5
+ import { Card, CardContent, IconButton, InputAdornment, InputLabel, List, ListItem, Paper, TextField, } from '@mui/material';
6
+ import { observer } from 'mobx-react';
7
+ import { makeStyles } from 'tss-react/mui';
8
8
  const useStyles = makeStyles()(theme => ({
9
9
  paper: {
10
10
  display: 'flex',
@@ -34,53 +34,38 @@ const TextIndexingConfig = observer(function ({ model, }) {
34
34
  useEffect(() => {
35
35
  model.setTextIndexingConf({ attributes, exclude });
36
36
  }, [model, attributes, exclude]);
37
- return (React.createElement(Paper, { className: classes.paper },
38
- React.createElement(InputLabel, null, "Indexing configuration"),
39
- sections.map((section, index) => (React.createElement(Card, { raised: true, key: section.label, className: classes.card },
40
- React.createElement(CardContent, null,
41
- React.createElement(InputLabel, null, section.label),
42
- React.createElement(List, { disablePadding: true },
43
- section.values.map((val, idx) => (
44
- /* biome-ignore lint/suspicious/noArrayIndexKey: */
45
- React.createElement(ListItem, { key: `${val}-${idx}`, disableGutters: true },
46
- React.createElement(TextField, { value: val, slotProps: {
47
- input: {
48
- endAdornment: (React.createElement(InputAdornment, { position: "end" },
49
- React.createElement(IconButton, { onClick: () => {
50
- const newAttr = section.values.filter((_, i) => i !== idx);
51
- if (index === 0) {
52
- setAttributes(newAttr);
53
- }
54
- else {
55
- setExclude(newAttr);
56
- }
57
- } },
58
- React.createElement(DeleteIcon, null)))),
59
- },
60
- } })))),
61
- React.createElement(ListItem, { disableGutters: true },
62
- React.createElement(TextField, { value: index === 0 ? value1 : value2, placeholder: "add new", onChange: event => {
63
- if (index === 0) {
64
- setValue1(event.target.value);
65
- }
66
- else {
67
- setValue2(event.target.value);
68
- }
69
- }, slotProps: {
70
- input: {
71
- endAdornment: (React.createElement(InputAdornment, { position: "end" },
72
- React.createElement(IconButton, { onClick: () => {
73
- if (index === 0) {
74
- setAttributes([...attributes, value1]);
75
- setValue1('');
76
- }
77
- else {
78
- setExclude([...exclude, value2]);
79
- setValue2('');
80
- }
81
- }, disabled: index === 0 ? value1 === '' : value2 === '', "data-testid": "stringArrayAdd-Feat" },
82
- React.createElement(AddIcon, null)))),
83
- },
84
- } })))))))));
37
+ return (_jsxs(Paper, { className: classes.paper, children: [_jsx(InputLabel, { children: "Indexing configuration" }), sections.map((section, index) => (_jsx(Card, { raised: true, className: classes.card, children: _jsxs(CardContent, { children: [_jsx(InputLabel, { children: section.label }), _jsxs(List, { disablePadding: true, children: [section.values.map((val, idx) => (_jsx(ListItem, { disableGutters: true, children: _jsx(TextField, { value: val, slotProps: {
38
+ input: {
39
+ endAdornment: (_jsx(InputAdornment, { position: "end", children: _jsx(IconButton, { onClick: () => {
40
+ const newAttr = section.values.filter((_, i) => i !== idx);
41
+ if (index === 0) {
42
+ setAttributes(newAttr);
43
+ }
44
+ else {
45
+ setExclude(newAttr);
46
+ }
47
+ }, children: _jsx(DeleteIcon, {}) }) })),
48
+ },
49
+ } }) }, `${val}-${idx}`))), _jsx(ListItem, { disableGutters: true, children: _jsx(TextField, { value: index === 0 ? value1 : value2, placeholder: "add new", onChange: event => {
50
+ if (index === 0) {
51
+ setValue1(event.target.value);
52
+ }
53
+ else {
54
+ setValue2(event.target.value);
55
+ }
56
+ }, slotProps: {
57
+ input: {
58
+ endAdornment: (_jsx(InputAdornment, { position: "end", children: _jsx(IconButton, { onClick: () => {
59
+ if (index === 0) {
60
+ setAttributes([...attributes, value1]);
61
+ setValue1('');
62
+ }
63
+ else {
64
+ setExclude([...exclude, value2]);
65
+ setValue2('');
66
+ }
67
+ }, disabled: index === 0 ? value1 === '' : value2 === '', "data-testid": "stringArrayAdd-Feat", children: _jsx(AddIcon, {}) }) })),
68
+ },
69
+ } }) })] })] }) }, section.label)))] }));
85
70
  });
86
71
  export default TextIndexingConfig;
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
- import { AddTrackModel } from '../model';
1
+ import type { AddTrackModel } from '../model';
3
2
  declare const TrackAdapterSelector: ({ model }: {
4
3
  model: AddTrackModel;
5
- }) => React.JSX.Element;
4
+ }) => import("react/jsx-runtime").JSX.Element;
6
5
  export default TrackAdapterSelector;
@@ -1,48 +1,24 @@
1
- import React from 'react';
2
- import { ListSubheader, MenuItem, TextField } from '@mui/material';
3
- import { makeStyles } from 'tss-react/mui';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
4
2
  import { getEnv } from '@jbrowse/core/util';
3
+ import { ListSubheader, MenuItem, TextField } from '@mui/material';
5
4
  import { observer } from 'mobx-react';
6
- const useStyles = makeStyles()(theme => ({
7
- spacing: {
8
- marginBottom: theme.spacing(3),
9
- },
10
- }));
11
- // collate adapters into a map with
12
- // key: category
13
- // value: array of adapters with that category
14
- function categorizeAdapters(adaptersList) {
15
- const map = {};
16
- adaptersList.forEach(adapter => {
17
- var _a;
18
- const key = ((_a = adapter.adapterMetadata) === null || _a === void 0 ? void 0 : _a.category) || 'Default';
19
- if (!map[key]) {
20
- map[key] = [];
21
- }
22
- map[key].push(adapter);
23
- });
24
- return map;
25
- }
5
+ import { categorizeAdapters } from './util';
26
6
  const TrackAdapterSelector = observer(({ model }) => {
27
- const { classes } = useStyles();
28
7
  const { trackAdapter } = model;
29
8
  const { pluginManager } = getEnv(model);
30
- return (React.createElement(TextField, { className: classes.spacing, value: (trackAdapter === null || trackAdapter === void 0 ? void 0 : trackAdapter.type) !== 'UNKNOWN' ? trackAdapter === null || trackAdapter === void 0 ? void 0 : trackAdapter.type : '', label: "Adapter type", variant: "outlined", helperText: "Select an adapter type", select: true, fullWidth: true, onChange: event => {
9
+ return (_jsx(TextField, { value: (trackAdapter === null || trackAdapter === void 0 ? void 0 : trackAdapter.type) !== 'UNKNOWN' ? trackAdapter === null || trackAdapter === void 0 ? void 0 : trackAdapter.type : '', label: "Adapter type", variant: "outlined", select: true, fullWidth: true, onChange: event => {
31
10
  model.setAdapterHint(event.target.value);
32
11
  }, slotProps: {
33
12
  select: {
34
- // @ts-expect-error
35
- SelectDisplayProps: { 'data-testid': 'adapterTypeSelect' },
13
+ SelectDisplayProps: {
14
+ 'data-testid': 'adapterTypeSelect',
15
+ },
36
16
  },
37
- } }, Object.entries(categorizeAdapters(pluginManager
38
- .getAdapterElements()
39
- .filter(e => { var _a; return !((_a = e.adapterMetadata) === null || _a === void 0 ? void 0 : _a.hiddenFromGUI); }))).map(([key, val]) => {
40
- // returning array avoids needing to use a react fragment which
41
- // Select/TextField sub-elements disagree with
42
- return [
43
- React.createElement(ListSubheader, { key: key }, key),
44
- val.map(elt => (React.createElement(MenuItem, { key: elt.name, value: elt.name }, elt.displayName))),
45
- ];
46
- })));
17
+ }, children: Object.entries(categorizeAdapters(pluginManager
18
+ .getAdapterElements()
19
+ .filter(e => { var _a; return !((_a = e.adapterMetadata) === null || _a === void 0 ? void 0 : _a.hiddenFromGUI); }))).map(([key, val]) => [
20
+ _jsx(ListSubheader, { children: key }, key),
21
+ val.map(elt => (_jsx(MenuItem, { value: elt.name, children: elt.displayName }, elt.name))),
22
+ ]) }));
47
23
  });
48
24
  export default TrackAdapterSelector;
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
- import { AddTrackModel } from '../model';
1
+ import type { AddTrackModel } from '../model';
3
2
  declare const TrackSourceSelect: ({ model, }: {
4
3
  model: AddTrackModel;
5
- }) => React.JSX.Element;
4
+ }) => import("react/jsx-runtime").JSX.Element;
6
5
  export default TrackSourceSelect;
@@ -1,9 +1,9 @@
1
- import React from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { FileSelector } from '@jbrowse/core/ui';
3
3
  import { Paper } from '@mui/material';
4
- import { makeStyles } from 'tss-react/mui';
5
- import { getRoot } from 'mobx-state-tree';
6
4
  import { observer } from 'mobx-react';
5
+ import { getRoot } from 'mobx-state-tree';
6
+ import { makeStyles } from 'tss-react/mui';
7
7
  const useStyles = makeStyles()(theme => ({
8
8
  paper: {
9
9
  padding: theme.spacing(2),
@@ -15,9 +15,6 @@ const useStyles = makeStyles()(theme => ({
15
15
  const TrackSourceSelect = observer(function ({ model, }) {
16
16
  const { classes } = useStyles();
17
17
  const rootModel = getRoot(model);
18
- return (React.createElement(Paper, { className: classes.paper },
19
- React.createElement(FileSelector, { name: "Main file", description: "", location: model.trackData, setLocation: model.setTrackData, setName: model.setTrackName, rootModel: rootModel }),
20
- React.createElement("div", { className: classes.spacer }),
21
- React.createElement(FileSelector, { name: "Index file", description: "(Optional) The URL of the index file is automatically inferred from the URL of the main file if it is not supplied.", location: model.indexTrackData, setLocation: model.setIndexTrackData, setName: model.setTrackName, rootModel: rootModel })));
18
+ return (_jsxs(Paper, { className: classes.paper, children: [_jsx(FileSelector, { name: "Main file", description: "", location: model.trackData, setLocation: model.setTrackData, setName: model.setTrackName, rootModel: rootModel }), _jsx("div", { className: classes.spacer }), _jsx(FileSelector, { name: "Index file", description: "(Optional) The URL of the index file is automatically inferred from the URL of the main file if it is not supplied.", location: model.indexTrackData, setLocation: model.setIndexTrackData, setName: model.setTrackName, rootModel: rootModel })] }));
22
19
  });
23
20
  export default TrackSourceSelect;
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
- import { AddTrackModel } from '../model';
3
- declare const TrackTypeSelector: ({ model }: {
1
+ import type { AddTrackModel } from '../model';
2
+ declare const TrackTypeSelector: ({ model, }: {
4
3
  model: AddTrackModel;
5
- }) => React.JSX.Element;
4
+ }) => import("react/jsx-runtime").JSX.Element;
6
5
  export default TrackTypeSelector;
@@ -1,25 +1,19 @@
1
- import React from 'react';
2
- import { MenuItem, TextField } from '@mui/material';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
3
2
  import { getEnv } from '@jbrowse/core/util';
3
+ import { MenuItem, TextField } from '@mui/material';
4
4
  import { observer } from 'mobx-react';
5
- import { makeStyles } from 'tss-react/mui';
6
- const useStyles = makeStyles()(theme => ({
7
- spacing: {
8
- marginBottom: theme.spacing(3),
9
- },
10
- }));
11
- const TrackTypeSelector = observer(({ model }) => {
12
- const { classes } = useStyles();
5
+ const TrackTypeSelector = observer(function ({ model, }) {
13
6
  const { pluginManager } = getEnv(model);
14
7
  const { trackType } = model;
15
8
  const trackTypes = pluginManager.getTrackElements();
16
- return (React.createElement(TextField, { className: classes.spacing, value: trackType, variant: "outlined", label: "Track type", helperText: "Select track type", select: true, fullWidth: true, onChange: event => {
9
+ return (_jsx(TextField, { value: trackType, variant: "outlined", label: "Track type", select: true, fullWidth: true, onChange: event => {
17
10
  model.setTrackType(event.target.value);
18
11
  }, slotProps: {
19
12
  select: {
20
- // @ts-expect-error
21
- SelectDisplayProps: { 'data-testid': 'trackTypeSelect' },
13
+ SelectDisplayProps: {
14
+ 'data-testid': 'trackTypeSelect',
15
+ },
22
16
  },
23
- } }, trackTypes.map(({ name, displayName }) => (React.createElement(MenuItem, { key: name, value: name }, displayName)))));
17
+ }, children: trackTypes.map(({ name, displayName }) => (_jsx(MenuItem, { value: name, children: displayName }, name))) }));
24
18
  });
25
19
  export default TrackTypeSelector;
@@ -0,0 +1 @@
1
+ export default function Unsupported(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Link, Typography } from '@mui/material';
3
+ import { makeStyles } from 'tss-react/mui';
4
+ const useStyles = makeStyles()(theme => ({
5
+ spacing: {
6
+ marginBottom: theme.spacing(3),
7
+ },
8
+ }));
9
+ export default function Unsupported() {
10
+ const { classes } = useStyles();
11
+ return (_jsxs(Typography, { className: classes.spacing, children: ["This version of JBrowse cannot display data of this type. It is possible, however, that there is a newer version that can display them. You can", ' ', _jsx(Link, { href: "https://github.com/GMOD/jbrowse-components/releases", target: "_blank", rel: "noopener noreferrer", children: "check for new releases" }), ' ', "of JBrowse or", ' ', _jsx(Link, { href: "https://github.com/GMOD/jbrowse-components/issues/new", target: "_blank", rel: "noopener noreferrer", children: "file an issue" }), ' ', "and add a feature request for this data type."] }));
12
+ }
@@ -0,0 +1,4 @@
1
+ import type { AddTrackModel } from '../model';
2
+ export declare function doSubmit({ model }: {
3
+ model: AddTrackModel;
4
+ }): void;
@@ -0,0 +1,47 @@
1
+ import { getSession, isElectron, isSessionModelWithWidgets, isSessionWithAddTracks, isSupportedIndexingAdapter, } from '@jbrowse/core/util';
2
+ import { getRoot } from 'mobx-state-tree';
3
+ function doTextIndexTrack({ model }) {
4
+ const { textIndexingConf, trackConfig, trackName, assembly } = model;
5
+ const { jobsManager } = getRoot(model);
6
+ const attr = textIndexingConf || {
7
+ attributes: ['Name', 'ID'],
8
+ exclude: ['CDS', 'exon'],
9
+ };
10
+ const indexName = `${trackName}-index`;
11
+ jobsManager.queueJob({
12
+ indexingParams: {
13
+ ...attr,
14
+ assemblies: [assembly],
15
+ tracks: [trackConfig.trackId],
16
+ indexType: 'perTrack',
17
+ name: indexName,
18
+ timestamp: new Date().toISOString(),
19
+ },
20
+ name: indexName,
21
+ cancelCallback: () => jobsManager.abortJob(),
22
+ });
23
+ }
24
+ export function doSubmit({ model }) {
25
+ var _a;
26
+ const { textIndexTrack, trackConfig, trackAdapter, view } = model;
27
+ const session = getSession(model);
28
+ if (!isSessionWithAddTracks(session)) {
29
+ throw new Error("Can't add tracks to this session");
30
+ }
31
+ else if (trackConfig && trackAdapter) {
32
+ session.addTrackConf(trackConfig);
33
+ (_a = view === null || view === void 0 ? void 0 : view.showTrack) === null || _a === void 0 ? void 0 : _a.call(view, trackConfig.trackId);
34
+ if (isElectron &&
35
+ textIndexTrack &&
36
+ isSupportedIndexingAdapter(trackAdapter.type)) {
37
+ doTextIndexTrack({ model });
38
+ }
39
+ model.clearData();
40
+ if (isSessionModelWithWidgets(session)) {
41
+ session.hideWidget(model);
42
+ }
43
+ }
44
+ else {
45
+ throw new Error('Failed to add track.\nThe configuration of this file is not currently supported.');
46
+ }
47
+ }
@@ -0,0 +1,2 @@
1
+ import type { AdapterType } from '@jbrowse/core/pluggableElementTypes';
2
+ export declare function categorizeAdapters(adaptersList: AdapterType[]): Record<string, AdapterType[]>;
@@ -0,0 +1,12 @@
1
+ export function categorizeAdapters(adaptersList) {
2
+ var _a;
3
+ const map = {};
4
+ for (const adapter of adaptersList) {
5
+ const key = ((_a = adapter.adapterMetadata) === null || _a === void 0 ? void 0 : _a.category) || 'Default';
6
+ if (!map[key]) {
7
+ map[key] = [];
8
+ }
9
+ map[key].push(adapter);
10
+ }
11
+ return map;
12
+ }
@@ -1,2 +1,2 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  export default function AddTrackWidgetF(pluginManager: PluginManager): void;
@@ -1,6 +1,6 @@
1
+ import { lazy } from 'react';
1
2
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
3
  import { WidgetType } from '@jbrowse/core/pluggableElementTypes';
3
- import { lazy } from 'react';
4
4
  import stateModelFactory from './model';
5
5
  const configSchema = ConfigurationSchema('AddTrackWidget', {});
6
6
  export default function AddTrackWidgetF(pluginManager) {