@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,8 +1,7 @@
1
- import React from 'react';
2
- import PluginManager from '@jbrowse/core/PluginManager';
3
- import { PluginStoreModel } from '../model';
1
+ import type { PluginStoreModel } from '../model';
2
+ import type PluginManager from '@jbrowse/core/PluginManager';
4
3
  declare const InstalledPluginsList: ({ pluginManager, model, }: {
5
4
  pluginManager: PluginManager;
6
5
  model: PluginStoreModel;
7
- }) => React.JSX.Element;
6
+ }) => import("react/jsx-runtime").JSX.Element;
8
7
  export default InstalledPluginsList;
@@ -1,13 +1,13 @@
1
- import React from 'react';
2
- import { observer } from 'mobx-react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
3
2
  import { List, Typography } from '@mui/material';
3
+ import { observer } from 'mobx-react';
4
4
  import InstalledPlugin from './InstalledPlugin';
5
5
  const InstalledPluginsList = observer(function InstalledPluginsList({ pluginManager, model, }) {
6
6
  const { plugins } = pluginManager;
7
7
  const { filterText } = model;
8
8
  const externalPlugins = plugins.filter(p => { var _a; return !((_a = pluginManager.pluginMetadata[p.name]) === null || _a === void 0 ? void 0 : _a.isCore); });
9
- return (React.createElement(List, null, externalPlugins.length > 0 ? (externalPlugins
10
- .filter(p => p.name.toLowerCase().includes(filterText.toLowerCase()))
11
- .map(p => React.createElement(InstalledPlugin, { key: p.name, plugin: p, model: model }))) : (React.createElement(Typography, null, "No plugins currently installed"))));
9
+ return (_jsx(List, { children: externalPlugins.length > 0 ? (externalPlugins
10
+ .filter(p => p.name.toLowerCase().includes(filterText.toLowerCase()))
11
+ .map(p => _jsx(InstalledPlugin, { plugin: p, model: model }, p.name))) : (_jsx(Typography, { children: "No plugins currently installed" })) }));
12
12
  });
13
13
  export default InstalledPluginsList;
@@ -1,9 +1,7 @@
1
- import React from 'react';
2
- import { JBrowsePlugin } from '@jbrowse/core/util/types';
3
- import { PluginStoreModel } from '../model';
4
- declare const PluginCard: ({ plugin, model, adminMode, }: {
1
+ import type { PluginStoreModel } from '../model';
2
+ import type { JBrowsePlugin } from '@jbrowse/core/util/types';
3
+ declare const PluginCard: ({ plugin, model, }: {
5
4
  plugin: JBrowsePlugin;
6
5
  model: PluginStoreModel;
7
- adminMode: boolean;
8
- }) => React.JSX.Element;
6
+ }) => import("react/jsx-runtime").JSX.Element;
9
7
  export default PluginCard;
@@ -1,14 +1,13 @@
1
- import React, { useState } from 'react';
2
- import { observer } from 'mobx-react';
3
- import { getParent } from 'mobx-state-tree';
4
- import { getSession, getEnv } from '@jbrowse/core/util';
5
- import { isSessionWithSessionPlugins, } from '@jbrowse/core/util/types';
6
- import { Card, CardActions, CardContent, Button, Link, Typography, } from '@mui/material';
7
- import { makeStyles } from 'tss-react/mui';
8
- // icons
9
- import PersonIcon from '@mui/icons-material/Person';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { getEnv, getSession } from '@jbrowse/core/util';
4
+ import { isSessionWithSessionPlugins } from '@jbrowse/core/util/types';
10
5
  import AddIcon from '@mui/icons-material/Add';
11
6
  import CheckIcon from '@mui/icons-material/Check';
7
+ import PersonIcon from '@mui/icons-material/Person';
8
+ import { Button, Card, CardActions, CardContent, Link, Typography, } from '@mui/material';
9
+ import { observer } from 'mobx-react';
10
+ import { makeStyles } from 'tss-react/mui';
12
11
  const useStyles = makeStyles()({
13
12
  card: {
14
13
  margin: '0.5em',
@@ -24,36 +23,30 @@ const useStyles = makeStyles()({
24
23
  display: 'flex',
25
24
  alignItems: 'center',
26
25
  },
26
+ mr: {
27
+ marginRight: '0.5em',
28
+ },
27
29
  });
28
- const PluginCard = observer(function PluginCard({ plugin, model, adminMode, }) {
30
+ const PluginCard = observer(function PluginCard({ plugin, model, }) {
29
31
  const { classes } = useStyles();
30
32
  const session = getSession(model);
31
33
  const { pluginManager } = getEnv(model);
32
34
  const { runtimePluginDefinitions } = pluginManager;
33
- // @ts-expect-error
34
- const isInstalled = runtimePluginDefinitions.some(d => d.url === plugin.url);
35
+ const isInstalled = runtimePluginDefinitions.some(d => 'url' in d && d.url === plugin.url);
35
36
  const [tempDisabled, setTempDisabled] = useState(false);
36
- const disableButton = isInstalled || tempDisabled;
37
- const rootModel = getParent(model, 3);
38
- const { jbrowse } = rootModel;
39
- return (React.createElement(Card, { variant: "outlined", key: plugin.name, className: classes.card },
40
- React.createElement(CardContent, null,
41
- React.createElement(Typography, { variant: "h5" },
42
- React.createElement(Link, { href: `${plugin.location}#readme`, target: "_blank", rel: "noopener" }, plugin.name)),
43
- React.createElement("div", { className: classes.dataField },
44
- React.createElement(PersonIcon, { style: { marginRight: '0.5em' } }),
45
- React.createElement(Typography, null, plugin.authors.join(', '))),
46
- React.createElement(Typography, { className: classes.bold }, "Description:"),
47
- React.createElement(Typography, null, plugin.description)),
48
- React.createElement(CardActions, null,
49
- React.createElement(Button, { variant: "contained", disabled: disableButton, startIcon: isInstalled ? React.createElement(CheckIcon, null) : React.createElement(AddIcon, null), onClick: () => {
50
- if (adminMode) {
51
- jbrowse.addPlugin({ name: plugin.name, url: plugin.url });
52
- }
53
- else if (isSessionWithSessionPlugins(session)) {
54
- session.addSessionPlugin(plugin);
55
- }
56
- setTempDisabled(true);
57
- } }, isInstalled ? 'Installed' : 'Install'))));
37
+ const { adminMode, jbrowse } = session;
38
+ const { name, authors, description } = plugin;
39
+ return (_jsxs(Card, { variant: "outlined", className: classes.card, children: [_jsxs(CardContent, { children: [_jsx(Typography, { variant: "h5", children: _jsx(Link, { href: `${plugin.location}#readme`, target: "_blank", rel: "noopener", children: plugin.name }) }), _jsxs("div", { className: classes.dataField, children: [_jsx(PersonIcon, { className: classes.mr }), _jsx(Typography, { children: authors.join(', ') })] }), _jsx(Typography, { className: classes.bold, children: "Description:" }), _jsx(Typography, { children: description })] }), _jsx(CardActions, { children: _jsx(Button, { variant: "contained", disabled: isInstalled || tempDisabled, startIcon: isInstalled ? _jsx(CheckIcon, {}) : _jsx(AddIcon, {}), onClick: () => {
40
+ if (adminMode) {
41
+ jbrowse.addPlugin(plugin);
42
+ }
43
+ else if (isSessionWithSessionPlugins(session)) {
44
+ session.addSessionPlugin(plugin);
45
+ }
46
+ else {
47
+ session.notify('No way to install plugin');
48
+ }
49
+ setTempDisabled(true);
50
+ }, children: isInstalled ? 'Installed' : 'Install' }) })] }, name));
58
51
  });
59
52
  export default PluginCard;
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
- import { PluginStoreModel } from '../model';
1
+ import type { PluginStoreModel } from '../model';
3
2
  declare const PluginStoreWidget: ({ model, }: {
4
3
  model: PluginStoreModel;
5
- }) => React.JSX.Element;
4
+ }) => import("react/jsx-runtime").JSX.Element;
6
5
  export default PluginStoreWidget;
@@ -1,19 +1,17 @@
1
- import React, { useState, lazy, Suspense } from 'react';
2
- import { Accordion, AccordionSummary, Button, IconButton, InputAdornment, TextField, Typography, } from '@mui/material';
3
- import { makeStyles } from 'tss-react/mui';
4
- import { observer } from 'mobx-react';
5
- import { getEnv } from 'mobx-state-tree';
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { lazy } from 'react';
6
3
  import { LoadingEllipses } from '@jbrowse/core/ui';
7
4
  import { getSession, isElectron } from '@jbrowse/core/util';
8
- // icons
9
- import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
10
5
  import ClearIcon from '@mui/icons-material/Clear';
6
+ import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
11
7
  import InfoOutlinedIcon from '@mui/icons-material/InfoOutlined';
12
- // locals
8
+ import { Accordion, AccordionSummary, Button, IconButton, InputAdornment, TextField, Typography, } from '@mui/material';
9
+ import { observer } from 'mobx-react';
10
+ import { getEnv } from 'mobx-state-tree';
11
+ import { makeStyles } from 'tss-react/mui';
13
12
  import InstalledPluginsList from './InstalledPluginsList';
14
13
  import PluginCard from './PluginCard';
15
14
  import { useFetchPlugins } from './util';
16
- // lazies
17
15
  const AddCustomPluginDialog = lazy(() => import('./AddCustomPluginDialog'));
18
16
  const useStyles = makeStyles()(theme => ({
19
17
  expandIcon: {
@@ -30,55 +28,39 @@ const useStyles = makeStyles()(theme => ({
30
28
  margin: '1em auto',
31
29
  display: 'flex',
32
30
  },
31
+ mr: {
32
+ marginRight: '0.3em',
33
+ },
34
+ m: {
35
+ margin: '1em',
36
+ },
33
37
  }));
34
38
  const PluginStoreWidget = observer(function ({ model, }) {
35
39
  const { classes } = useStyles();
36
40
  const { plugins, error } = useFetchPlugins();
37
- const [open, setOpen] = useState(false);
38
- const { adminMode } = getSession(model);
41
+ const { filterText } = model;
42
+ const session = getSession(model);
43
+ const { adminMode } = session;
39
44
  const { pluginManager } = getEnv(model);
40
- return (React.createElement("div", null,
41
- adminMode && (React.createElement(React.Fragment, null,
42
- !isElectron && (React.createElement("div", { className: classes.adminBadge },
43
- React.createElement(InfoOutlinedIcon, { style: { marginRight: '0.3em' } }),
44
- React.createElement(Typography, null,
45
- "You are using the ",
46
- React.createElement("code", null, "admin-server"),
47
- ". Any changes you make will be saved to your configuration file. You also have the ability to add custom plugins that are not in the store."))),
48
- React.createElement(Button, { className: classes.customPluginButton, variant: "contained", onClick: () => {
49
- setOpen(true);
50
- } }, "Add custom plugin"),
51
- open ? (React.createElement(Suspense, { fallback: null },
52
- React.createElement(AddCustomPluginDialog, { onClose: () => {
53
- setOpen(false);
54
- }, model: model }))) : null)),
55
- React.createElement(TextField, { label: "Filter plugins", value: model.filterText, onChange: event => {
56
- model.setFilterText(event.target.value);
57
- }, fullWidth: true, slotProps: {
58
- input: {
59
- endAdornment: (React.createElement(InputAdornment, { position: "end" },
60
- React.createElement(IconButton, { onClick: () => {
61
- model.clearFilterText();
62
- } },
63
- React.createElement(ClearIcon, null)))),
64
- },
65
- } }),
66
- React.createElement(Accordion, { defaultExpanded: true },
67
- React.createElement(AccordionSummary, { expandIcon: React.createElement(ExpandMoreIcon, { className: classes.expandIcon }) },
68
- React.createElement(Typography, { variant: "h5" }, "Installed plugins")),
69
- React.createElement("div", { style: { margin: '1em' } },
70
- React.createElement(InstalledPluginsList, { pluginManager: pluginManager, model: model }))),
71
- React.createElement(Accordion, { defaultExpanded: true },
72
- React.createElement(AccordionSummary, { expandIcon: React.createElement(ExpandMoreIcon, { className: classes.expandIcon }) },
73
- React.createElement(Typography, { variant: "h5" }, "Available plugins")),
74
- error ? (React.createElement(Typography, { color: "error" }, `${error}`)) : plugins ? (plugins
75
- .filter(plugin => {
76
- // If plugin only has cjsUrl, don't display outside desktop
77
- return (!(isElectron && plugin.cjsUrl) &&
78
- plugin.name
79
- .toLowerCase()
80
- .includes(model.filterText.toLowerCase()));
81
- })
82
- .map(plugin => (React.createElement(PluginCard, { key: plugin.name, plugin: plugin, model: model, adminMode: !!adminMode })))) : (React.createElement(LoadingEllipses, null)))));
45
+ return (_jsxs("div", { children: [adminMode && (_jsxs(_Fragment, { children: [!isElectron && (_jsxs("div", { className: classes.adminBadge, children: [_jsx(InfoOutlinedIcon, { className: classes.mr }), _jsxs(Typography, { children: ["You are using the ", _jsx("code", { children: "admin-server" }), ". Any changes you make will be saved to your configuration file. You also have the ability to add custom plugins that are not in the store."] })] })), _jsx(Button, { className: classes.customPluginButton, variant: "contained", onClick: () => {
46
+ session.queueDialog(onClose => [
47
+ AddCustomPluginDialog,
48
+ {
49
+ model,
50
+ onClose,
51
+ },
52
+ ]);
53
+ }, children: "Add custom plugin" })] })), _jsx(TextField, { label: "Filter plugins", value: filterText, onChange: event => {
54
+ model.setFilterText(event.target.value);
55
+ }, fullWidth: true, slotProps: {
56
+ input: {
57
+ endAdornment: (_jsx(InputAdornment, { position: "end", children: _jsx(IconButton, { onClick: () => {
58
+ model.clearFilterText();
59
+ }, children: _jsx(ClearIcon, {}) }) })),
60
+ },
61
+ } }), _jsxs(Accordion, { defaultExpanded: true, children: [_jsx(AccordionSummary, { expandIcon: _jsx(ExpandMoreIcon, { className: classes.expandIcon }), children: _jsx(Typography, { variant: "h5", children: "Installed plugins" }) }), _jsx("div", { className: classes.m, children: _jsx(InstalledPluginsList, { pluginManager: pluginManager, model: model }) })] }), _jsxs(Accordion, { defaultExpanded: true, children: [_jsx(AccordionSummary, { expandIcon: _jsx(ExpandMoreIcon, { className: classes.expandIcon }), children: _jsx(Typography, { variant: "h5", children: "Available plugins" }) }), error ? (_jsx(Typography, { color: "error", children: `${error}` })) : plugins ? (plugins
62
+ .filter(plugin => !(isElectron && plugin.cjsUrl) &&
63
+ plugin.name.toLowerCase().includes(filterText.toLowerCase()))
64
+ .map(plugin => (_jsx(PluginCard, { plugin: plugin, model: model }, plugin.name)))) : (_jsx(LoadingEllipses, {}))] })] }));
83
65
  });
84
66
  export default PluginStoreWidget;
@@ -1,4 +1,4 @@
1
- import { JBrowsePlugin } from '@jbrowse/core/util/types';
1
+ import type { JBrowsePlugin } from '@jbrowse/core/util/types';
2
2
  export declare function useFetchPlugins(): {
3
3
  plugins: JBrowsePlugin[] | undefined;
4
4
  error: unknown;
@@ -1,9 +1,8 @@
1
- import { useState, useEffect } from 'react';
1
+ import { useEffect, useState } from 'react';
2
2
  export function useFetchPlugins() {
3
3
  const [plugins, setPlugins] = useState();
4
4
  const [error, setError] = useState();
5
5
  useEffect(() => {
6
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
7
6
  ;
8
7
  (async () => {
9
8
  try {
@@ -1,2 +1,2 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  export default function PluginStoreWidgetF(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('PluginStoreWidget', {});
6
6
  export default function PluginStoreWidgetF(pluginManager) {
@@ -1,18 +1,12 @@
1
- import { Instance } from 'mobx-state-tree';
2
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
+ import type { Instance } from 'mobx-state-tree';
3
3
  export default function stateModelFactory(pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
4
4
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
5
5
  type: import("mobx-state-tree").ISimpleType<"PluginStoreWidget">;
6
6
  filterText: import("mobx-state-tree").IType<string | undefined, string, string>;
7
7
  view: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IReferenceType<import("mobx-state-tree").IAnyType>>;
8
8
  }, {
9
- /**
10
- * #action
11
- */
12
9
  clearFilterText(): void;
13
- /**
14
- * #action
15
- */
16
10
  setFilterText(newText: string): void;
17
11
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
18
12
  export type PluginStoreStateModel = ReturnType<typeof stateModelFactory>;
@@ -1,35 +1,17 @@
1
- import { types } from 'mobx-state-tree';
2
1
  import { ElementId } from '@jbrowse/core/util/types/mst';
2
+ import { types } from 'mobx-state-tree';
3
3
  export default function stateModelFactory(pluginManager) {
4
4
  return types
5
5
  .model('PluginStoreModel', {
6
- /**
7
- * #property
8
- */
9
6
  id: ElementId,
10
- /**
11
- * #property
12
- */
13
7
  type: types.literal('PluginStoreWidget'),
14
- /**
15
- * #property
16
- */
17
8
  filterText: '',
18
- /**
19
- * #property
20
- */
21
9
  view: types.safeReference(pluginManager.pluggableMstType('view', 'stateModel')),
22
10
  })
23
11
  .actions(self => ({
24
- /**
25
- * #action
26
- */
27
12
  clearFilterText() {
28
13
  self.filterText = '';
29
14
  },
30
- /**
31
- * #action
32
- */
33
15
  setFilterText(newText) {
34
16
  self.filterText = newText;
35
17
  },
@@ -1,7 +1,4 @@
1
1
  declare const UCSCTrackHubConnection: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
2
- /**
3
- * #slot
4
- */
5
2
  hubTxtLocation: {
6
3
  type: string;
7
4
  defaultValue: {
@@ -10,9 +7,6 @@ declare const UCSCTrackHubConnection: import("@jbrowse/core/configuration/config
10
7
  };
11
8
  description: string;
12
9
  };
13
- /**
14
- * #slot
15
- */
16
10
  assemblyNames: {
17
11
  type: string;
18
12
  defaultValue: never[];
@@ -1,13 +1,7 @@
1
- import { baseConnectionConfig } from '@jbrowse/core/pluggableElementTypes/models';
2
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
3
- /**
4
- * #config UCSCTrackHubConnection
5
- */
6
- function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
2
+ import { baseConnectionConfig } from '@jbrowse/core/pluggableElementTypes/models';
3
+ function x() { }
7
4
  const UCSCTrackHubConnection = ConfigurationSchema('UCSCTrackHubConnection', {
8
- /**
9
- * #slot
10
- */
11
5
  hubTxtLocation: {
12
6
  type: 'fileLocation',
13
7
  defaultValue: {
@@ -16,18 +10,12 @@ const UCSCTrackHubConnection = ConfigurationSchema('UCSCTrackHubConnection', {
16
10
  },
17
11
  description: 'location of the hub file (usually called hub.txt)',
18
12
  },
19
- /**
20
- * #slot
21
- */
22
13
  assemblyNames: {
23
14
  type: 'stringArray',
24
15
  defaultValue: [],
25
16
  description: 'optional list of genomes to import from this track hub, if empty all genomes will be imported',
26
17
  },
27
18
  }, {
28
- /**
29
- * #baseConfiguration
30
- */
31
19
  baseConfiguration: baseConnectionConfig,
32
20
  });
33
21
  export default UCSCTrackHubConnection;
@@ -1,4 +1,4 @@
1
- import { AnyConfigurationModel } from '@jbrowse/core/configuration';
1
+ import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
2
2
  export declare function doConnect(self: {
3
3
  configuration: AnyConfigurationModel;
4
4
  addTrackConfs: (arg: Record<string, unknown>[]) => void;
@@ -1,12 +1,10 @@
1
1
  import { HubFile, SingleFileHub } from '@gmod/ucsc-hub';
2
- import { generateTracks, fetchGenomesFile, fetchTrackDbFile, } from './ucscTrackHub';
3
2
  import { getConf } from '@jbrowse/core/configuration';
4
3
  import { getSession } from '@jbrowse/core/util';
5
4
  import { openLocation } from '@jbrowse/core/util/io';
6
5
  import { nanoid } from '@jbrowse/core/util/nanoid';
7
- function resolve(uri, baseUri) {
8
- return new URL(uri, baseUri).href;
9
- }
6
+ import { generateTracks } from './ucscTrackHub';
7
+ import { fetchGenomesFile, fetchTrackDbFile, resolve } from './util';
10
8
  export async function doConnect(self) {
11
9
  var _a;
12
10
  const session = getSession(self);
@@ -14,7 +12,6 @@ export async function doConnect(self) {
14
12
  try {
15
13
  const hubFileLocation = getConf(self, 'hubTxtLocation');
16
14
  const hubFileText = await openLocation(hubFileLocation).readFile('utf8');
17
- // @ts-expect-error
18
15
  const hubUri = resolve(hubFileLocation.uri, hubFileLocation.baseUri);
19
16
  const { assemblyManager } = session;
20
17
  if (hubFileText.includes('useOneFile on')) {
@@ -23,11 +20,18 @@ export async function doConnect(self) {
23
20
  const genomeName = genome.name;
24
21
  const asm = assemblyManager.get(genomeName);
25
22
  if (!asm) {
26
- // @ts-expect-error
27
23
  session.addSessionAssembly({
28
24
  name: genomeName,
29
25
  sequence: {
30
26
  type: 'ReferenceSequenceTrack',
27
+ metadata: {
28
+ ...genome,
29
+ ...(genome.data.htmlPath
30
+ ? {
31
+ htmlPath: `<a href="${resolve(genome.data.htmlPath, hubUri)}">${genome.data.htmlPath}</a>`,
32
+ }
33
+ : {}),
34
+ },
31
35
  trackId: `${genomeName}-${nanoid()}`,
32
36
  adapter: {
33
37
  type: 'TwoBitAdapter',
@@ -48,6 +52,7 @@ export async function doConnect(self) {
48
52
  trackDbLoc: hubFileLocation,
49
53
  assemblyName: genomeName,
50
54
  sequenceAdapter,
55
+ baseUrl: hubUri,
51
56
  });
52
57
  self.addTrackConfs(tracksNew);
53
58
  }
@@ -57,7 +62,6 @@ export async function doConnect(self) {
57
62
  if (!genomeFile) {
58
63
  throw new Error('genomesFile not found on hub');
59
64
  }
60
- // @ts-expect-error
61
65
  const hubUri = resolve(hubFileLocation.uri, hubFileLocation.baseUri);
62
66
  const genomesFileLocation = hubUri
63
67
  ? {
@@ -80,7 +84,6 @@ export async function doConnect(self) {
80
84
  notLoadedAssemblies.push(genomeName);
81
85
  continue;
82
86
  }
83
- // @ts-expect-error
84
87
  const db = genome.data.trackDb;
85
88
  if (!db) {
86
89
  throw new Error('genomesFile not found on hub');
@@ -102,6 +105,7 @@ export async function doConnect(self) {
102
105
  trackDbLoc: loc,
103
106
  assemblyName: genomeName,
104
107
  sequenceAdapter,
108
+ baseUrl: hubUri,
105
109
  });
106
110
  self.addTrackConfs(tracks);
107
111
  map[genomeName] = tracks.length;
@@ -1,2 +1,2 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  export default function UCSCTrackHubConnectionF(pluginManager: PluginManager): void;
@@ -0,0 +1,15 @@
1
+ import { ConnectionType } from '@jbrowse/core/pluggableElementTypes';
2
+ import configSchema from './configSchema';
3
+ import stateModelFactory from './model';
4
+ export default function UCSCTrackHubConnectionF(pluginManager) {
5
+ pluginManager.addConnectionType(() => {
6
+ return new ConnectionType({
7
+ name: 'UCSCTrackHubConnection',
8
+ configSchema,
9
+ stateModel: stateModelFactory(pluginManager),
10
+ displayName: 'UCSC Track Hub',
11
+ description: 'A track or assembly hub in the Track Hub format',
12
+ url: 'https://genome.ucsc.edu/goldenPath/help/hgTrackHubHelp.html#Intro',
13
+ });
14
+ });
15
+ }
@@ -1,8 +1,4 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
2
- /**
3
- * #stateModel UCSCTrackHubConnection
4
- * extends BaseConnectionModel
5
- */
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
6
2
  export default function UCSCTrackHubConnection(pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
7
3
  name: import("mobx-state-tree").ISimpleType<string>;
8
4
  tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyModelType>;
@@ -19,9 +15,6 @@ export default function UCSCTrackHubConnection(pluginManager: PluginManager): im
19
15
  };
20
16
  }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "connectionId">>;
21
17
  } & {
22
- /**
23
- * #property
24
- */
25
18
  configuration: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
26
19
  hubTxtLocation: {
27
20
  type: string;
@@ -48,9 +41,6 @@ export default function UCSCTrackHubConnection(pluginManager: PluginManager): im
48
41
  description: string;
49
42
  };
50
43
  }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "connectionId">>, undefined>>;
51
- /**
52
- * #property
53
- */
54
44
  type: import("mobx-state-tree").ISimpleType<"UCSCTrackHubConnection">;
55
45
  }, {
56
46
  connect(_arg: import("@jbrowse/core/configuration").AnyConfigurationModel): void;
@@ -81,8 +71,5 @@ export default function UCSCTrackHubConnection(pluginManager: PluginManager): im
81
71
  setTrackConfs(trackConfs: import("@jbrowse/core/configuration").AnyConfigurationModel[]): void;
82
72
  clear(): void;
83
73
  } & {
84
- /**
85
- * #action
86
- */
87
74
  connect(): Promise<void>;
88
75
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
@@ -1,31 +1,16 @@
1
- import { BaseConnectionModelFactory } from '@jbrowse/core/pluggableElementTypes/models';
2
1
  import { ConfigurationReference } from '@jbrowse/core/configuration';
2
+ import { BaseConnectionModelFactory } from '@jbrowse/core/pluggableElementTypes/models';
3
3
  import { types } from 'mobx-state-tree';
4
- // locals
5
4
  import configSchema from './configSchema';
6
- /**
7
- * #stateModel UCSCTrackHubConnection
8
- * extends BaseConnectionModel
9
- */
10
5
  export default function UCSCTrackHubConnection(pluginManager) {
11
6
  return types
12
7
  .compose('UCSCTrackHubConnection', BaseConnectionModelFactory(pluginManager), types.model({
13
- /**
14
- * #property
15
- */
16
8
  configuration: ConfigurationReference(configSchema),
17
- /**
18
- * #property
19
- */
20
9
  type: types.literal('UCSCTrackHubConnection'),
21
10
  }))
22
11
  .actions(self => ({
23
- /**
24
- * #action
25
- */
26
12
  async connect() {
27
13
  const { doConnect } = await import('./doConnect');
28
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
29
14
  doConnect(self);
30
15
  },
31
16
  }));
@@ -1,6 +1,3 @@
1
- // These are the assemblies for which there is a sequence file located at
2
- // http://hgdownload.soe.ucsc.edu/goldenPath/${assemblyName}/bigZips/${assemblyName}.2bit
3
- // This list was generated by `getUcscAssemblies.js`
4
1
  export default `ailMel1
5
2
  allMis1
6
3
  anoCar1