@jbrowse/plugin-data-management 2.5.0 → 2.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (382) hide show
  1. package/dist/AddConnectionWidget/components/AddConnectionWidget.d.ts +2 -1
  2. package/dist/AddConnectionWidget/components/AddConnectionWidget.js +0 -1
  3. package/dist/AddConnectionWidget/components/ConfigureConnection.d.ts +2 -1
  4. package/dist/AddConnectionWidget/components/ConfigureConnection.js +0 -1
  5. package/dist/AddConnectionWidget/components/ConnectionTypeSelect.d.ts +2 -1
  6. package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js +0 -1
  7. package/dist/AddConnectionWidget/index.js +0 -1
  8. package/dist/AddConnectionWidget/model.js +0 -1
  9. package/dist/AddTrackWidget/components/AddTrackWidget.d.ts +2 -1
  10. package/dist/AddTrackWidget/components/AddTrackWidget.js +0 -1
  11. package/dist/AddTrackWidget/components/ConfirmTrack.d.ts +2 -1
  12. package/dist/AddTrackWidget/components/ConfirmTrack.js +0 -1
  13. package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.d.ts +2 -1
  14. package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.js +1 -2
  15. package/dist/AddTrackWidget/components/PasteConfigWorkflow.d.ts +2 -1
  16. package/dist/AddTrackWidget/components/PasteConfigWorkflow.js +1 -1
  17. package/dist/AddTrackWidget/components/TextIndexingConfig.d.ts +2 -1
  18. package/dist/AddTrackWidget/components/TextIndexingConfig.js +0 -1
  19. package/dist/AddTrackWidget/components/TrackAdapterSelector.d.ts +2 -1
  20. package/dist/AddTrackWidget/components/TrackAdapterSelector.js +0 -1
  21. package/dist/AddTrackWidget/components/TrackSourceSelect.d.ts +2 -1
  22. package/dist/AddTrackWidget/components/TrackSourceSelect.js +0 -1
  23. package/dist/AddTrackWidget/components/TrackTypeSelector.d.ts +2 -1
  24. package/dist/AddTrackWidget/components/TrackTypeSelector.js +0 -1
  25. package/dist/AddTrackWidget/index.js +0 -1
  26. package/dist/AddTrackWidget/model.js +0 -1
  27. package/dist/AssemblyManager/AssemblyAddForm.d.ts +2 -1
  28. package/dist/AssemblyManager/AssemblyAddForm.js +0 -1
  29. package/dist/AssemblyManager/AssemblyEditor.d.ts +2 -1
  30. package/dist/AssemblyManager/AssemblyEditor.js +0 -1
  31. package/dist/AssemblyManager/AssemblyManager.d.ts +2 -1
  32. package/dist/AssemblyManager/AssemblyManager.js +0 -1
  33. package/dist/AssemblyManager/AssemblyTable.d.ts +2 -1
  34. package/dist/AssemblyManager/AssemblyTable.js +0 -1
  35. package/dist/AssemblyManager/index.js +0 -1
  36. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalFab.d.ts +2 -1
  37. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalFab.js +0 -1
  38. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.d.ts +2 -1
  39. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +4 -10
  40. package/dist/HierarchicalTrackSelectorWidget/components/ShoppingCart.d.ts +2 -1
  41. package/dist/HierarchicalTrackSelectorWidget/components/ShoppingCart.js +0 -1
  42. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.d.ts +8 -8
  43. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.js +6 -11
  44. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.d.ts +2 -1
  45. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.js +0 -1
  46. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.d.ts +2 -1
  47. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.js +0 -1
  48. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.d.ts +3 -3
  49. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.js +27 -23
  50. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.d.ts +2 -1
  51. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js +0 -1
  52. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.d.ts +2 -1
  53. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.js +0 -1
  54. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.d.ts +2 -1
  55. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js +0 -1
  56. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.d.ts +2 -1
  57. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js +32 -32
  58. package/dist/HierarchicalTrackSelectorWidget/components/faceted/util.js +0 -1
  59. package/dist/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.d.ts +3 -3
  60. package/dist/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js +36 -42
  61. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.d.ts +3 -3
  62. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js +2 -3
  63. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.d.ts +2 -1
  64. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js +0 -1
  65. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.d.ts +2 -1
  66. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js +0 -1
  67. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.d.ts +2 -1
  68. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js +0 -1
  69. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.d.ts +2 -1
  70. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.js +0 -1
  71. package/dist/HierarchicalTrackSelectorWidget/components/util.js +0 -1
  72. package/dist/HierarchicalTrackSelectorWidget/configSchema.js +0 -1
  73. package/dist/HierarchicalTrackSelectorWidget/index.js +0 -1
  74. package/dist/HierarchicalTrackSelectorWidget/model.d.ts +69 -5
  75. package/dist/HierarchicalTrackSelectorWidget/model.js +100 -54
  76. package/dist/PluginStoreWidget/components/CustomPluginForm.d.ts +2 -1
  77. package/dist/PluginStoreWidget/components/CustomPluginForm.js +0 -1
  78. package/dist/PluginStoreWidget/components/InstalledPlugin.d.ts +2 -1
  79. package/dist/PluginStoreWidget/components/InstalledPlugin.js +0 -1
  80. package/dist/PluginStoreWidget/components/InstalledPluginsList.d.ts +2 -1
  81. package/dist/PluginStoreWidget/components/InstalledPluginsList.js +0 -1
  82. package/dist/PluginStoreWidget/components/PluginCard.d.ts +2 -1
  83. package/dist/PluginStoreWidget/components/PluginCard.js +0 -1
  84. package/dist/PluginStoreWidget/components/PluginStoreWidget.d.ts +2 -1
  85. package/dist/PluginStoreWidget/components/PluginStoreWidget.js +0 -1
  86. package/dist/PluginStoreWidget/index.js +0 -1
  87. package/dist/PluginStoreWidget/model.js +0 -1
  88. package/dist/SetDefaultSession/SetDefaultSession.d.ts +2 -1
  89. package/dist/SetDefaultSession/SetDefaultSession.js +0 -1
  90. package/dist/SetDefaultSession/index.js +0 -1
  91. package/dist/index.d.ts +4 -4
  92. package/dist/index.js +0 -1
  93. package/dist/ucsc-trackhub/configSchema.js +0 -1
  94. package/dist/ucsc-trackhub/index.js +0 -1
  95. package/dist/ucsc-trackhub/model.d.ts +12 -0
  96. package/dist/ucsc-trackhub/model.js +45 -13
  97. package/dist/ucsc-trackhub/ucscAssemblies.js +0 -1
  98. package/dist/ucsc-trackhub/ucscTrackHub.js +0 -1
  99. package/esm/AddConnectionWidget/components/AddConnectionWidget.d.ts +2 -1
  100. package/esm/AddConnectionWidget/components/AddConnectionWidget.js +0 -1
  101. package/esm/AddConnectionWidget/components/ConfigureConnection.d.ts +2 -1
  102. package/esm/AddConnectionWidget/components/ConfigureConnection.js +0 -1
  103. package/esm/AddConnectionWidget/components/ConnectionTypeSelect.d.ts +2 -1
  104. package/esm/AddConnectionWidget/components/ConnectionTypeSelect.js +0 -1
  105. package/esm/AddConnectionWidget/index.js +0 -1
  106. package/esm/AddConnectionWidget/model.js +0 -1
  107. package/esm/AddTrackWidget/components/AddTrackWidget.d.ts +2 -1
  108. package/esm/AddTrackWidget/components/AddTrackWidget.js +0 -1
  109. package/esm/AddTrackWidget/components/ConfirmTrack.d.ts +2 -1
  110. package/esm/AddTrackWidget/components/ConfirmTrack.js +0 -1
  111. package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.d.ts +2 -1
  112. package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.js +1 -2
  113. package/esm/AddTrackWidget/components/PasteConfigWorkflow.d.ts +2 -1
  114. package/esm/AddTrackWidget/components/PasteConfigWorkflow.js +1 -1
  115. package/esm/AddTrackWidget/components/TextIndexingConfig.d.ts +2 -1
  116. package/esm/AddTrackWidget/components/TextIndexingConfig.js +0 -1
  117. package/esm/AddTrackWidget/components/TrackAdapterSelector.d.ts +2 -1
  118. package/esm/AddTrackWidget/components/TrackAdapterSelector.js +0 -1
  119. package/esm/AddTrackWidget/components/TrackSourceSelect.d.ts +2 -1
  120. package/esm/AddTrackWidget/components/TrackSourceSelect.js +0 -1
  121. package/esm/AddTrackWidget/components/TrackTypeSelector.d.ts +2 -1
  122. package/esm/AddTrackWidget/components/TrackTypeSelector.js +0 -1
  123. package/esm/AddTrackWidget/index.js +0 -1
  124. package/esm/AddTrackWidget/model.js +0 -1
  125. package/esm/AssemblyManager/AssemblyAddForm.d.ts +2 -1
  126. package/esm/AssemblyManager/AssemblyAddForm.js +0 -1
  127. package/esm/AssemblyManager/AssemblyEditor.d.ts +2 -1
  128. package/esm/AssemblyManager/AssemblyEditor.js +0 -1
  129. package/esm/AssemblyManager/AssemblyManager.d.ts +2 -1
  130. package/esm/AssemblyManager/AssemblyManager.js +0 -1
  131. package/esm/AssemblyManager/AssemblyTable.d.ts +2 -1
  132. package/esm/AssemblyManager/AssemblyTable.js +0 -1
  133. package/esm/AssemblyManager/index.js +0 -1
  134. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalFab.d.ts +2 -1
  135. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalFab.js +0 -1
  136. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.d.ts +2 -1
  137. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +4 -10
  138. package/esm/HierarchicalTrackSelectorWidget/components/ShoppingCart.d.ts +2 -1
  139. package/esm/HierarchicalTrackSelectorWidget/components/ShoppingCart.js +0 -1
  140. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.d.ts +8 -8
  141. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.js +7 -12
  142. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.d.ts +2 -1
  143. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.js +0 -1
  144. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.d.ts +2 -1
  145. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.js +0 -1
  146. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.d.ts +3 -3
  147. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.js +27 -23
  148. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.d.ts +2 -1
  149. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js +0 -1
  150. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.d.ts +2 -1
  151. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.js +0 -1
  152. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.d.ts +2 -1
  153. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js +0 -1
  154. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.d.ts +2 -1
  155. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js +32 -32
  156. package/esm/HierarchicalTrackSelectorWidget/components/faceted/util.js +0 -1
  157. package/esm/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.d.ts +3 -3
  158. package/esm/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js +37 -43
  159. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.d.ts +3 -3
  160. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js +2 -3
  161. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.d.ts +2 -1
  162. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js +0 -1
  163. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.d.ts +2 -1
  164. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js +0 -1
  165. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.d.ts +2 -1
  166. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js +0 -1
  167. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.d.ts +2 -1
  168. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.js +0 -1
  169. package/esm/HierarchicalTrackSelectorWidget/components/util.js +0 -1
  170. package/esm/HierarchicalTrackSelectorWidget/configSchema.js +0 -1
  171. package/esm/HierarchicalTrackSelectorWidget/index.js +0 -1
  172. package/esm/HierarchicalTrackSelectorWidget/model.d.ts +69 -5
  173. package/esm/HierarchicalTrackSelectorWidget/model.js +101 -55
  174. package/esm/PluginStoreWidget/components/CustomPluginForm.d.ts +2 -1
  175. package/esm/PluginStoreWidget/components/CustomPluginForm.js +0 -1
  176. package/esm/PluginStoreWidget/components/InstalledPlugin.d.ts +2 -1
  177. package/esm/PluginStoreWidget/components/InstalledPlugin.js +0 -1
  178. package/esm/PluginStoreWidget/components/InstalledPluginsList.d.ts +2 -1
  179. package/esm/PluginStoreWidget/components/InstalledPluginsList.js +0 -1
  180. package/esm/PluginStoreWidget/components/PluginCard.d.ts +2 -1
  181. package/esm/PluginStoreWidget/components/PluginCard.js +0 -1
  182. package/esm/PluginStoreWidget/components/PluginStoreWidget.d.ts +2 -1
  183. package/esm/PluginStoreWidget/components/PluginStoreWidget.js +0 -1
  184. package/esm/PluginStoreWidget/index.js +0 -1
  185. package/esm/PluginStoreWidget/model.js +0 -1
  186. package/esm/SetDefaultSession/SetDefaultSession.d.ts +2 -1
  187. package/esm/SetDefaultSession/SetDefaultSession.js +0 -1
  188. package/esm/SetDefaultSession/index.js +0 -1
  189. package/esm/index.d.ts +4 -4
  190. package/esm/index.js +0 -1
  191. package/esm/ucsc-trackhub/configSchema.js +0 -1
  192. package/esm/ucsc-trackhub/index.js +0 -1
  193. package/esm/ucsc-trackhub/model.d.ts +12 -0
  194. package/esm/ucsc-trackhub/model.js +20 -11
  195. package/esm/ucsc-trackhub/ucscAssemblies.js +0 -1
  196. package/esm/ucsc-trackhub/ucscTrackHub.js +0 -1
  197. package/package.json +3 -4
  198. package/dist/AddConnectionWidget/components/AddConnectionWidget.js.map +0 -1
  199. package/dist/AddConnectionWidget/components/ConfigureConnection.js.map +0 -1
  200. package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js.map +0 -1
  201. package/dist/AddConnectionWidget/index.js.map +0 -1
  202. package/dist/AddConnectionWidget/model.js.map +0 -1
  203. package/dist/AddTrackWidget/components/AddTrackWidget.js.map +0 -1
  204. package/dist/AddTrackWidget/components/ConfirmTrack.js.map +0 -1
  205. package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.js.map +0 -1
  206. package/dist/AddTrackWidget/components/PasteConfigWorkflow.js.map +0 -1
  207. package/dist/AddTrackWidget/components/TextIndexingConfig.js.map +0 -1
  208. package/dist/AddTrackWidget/components/TrackAdapterSelector.js.map +0 -1
  209. package/dist/AddTrackWidget/components/TrackSourceSelect.js.map +0 -1
  210. package/dist/AddTrackWidget/components/TrackTypeSelector.js.map +0 -1
  211. package/dist/AddTrackWidget/index.js.map +0 -1
  212. package/dist/AddTrackWidget/model.js.map +0 -1
  213. package/dist/AssemblyManager/AssemblyAddForm.js.map +0 -1
  214. package/dist/AssemblyManager/AssemblyEditor.js.map +0 -1
  215. package/dist/AssemblyManager/AssemblyManager.js.map +0 -1
  216. package/dist/AssemblyManager/AssemblyTable.js.map +0 -1
  217. package/dist/AssemblyManager/index.js.map +0 -1
  218. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalFab.js.map +0 -1
  219. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js.map +0 -1
  220. package/dist/HierarchicalTrackSelectorWidget/components/ShoppingCart.js.map +0 -1
  221. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.js.map +0 -1
  222. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.js.map +0 -1
  223. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.js.map +0 -1
  224. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.js.map +0 -1
  225. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js.map +0 -1
  226. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.js.map +0 -1
  227. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js.map +0 -1
  228. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js.map +0 -1
  229. package/dist/HierarchicalTrackSelectorWidget/components/faceted/util.js.map +0 -1
  230. package/dist/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js.map +0 -1
  231. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js.map +0 -1
  232. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js.map +0 -1
  233. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js.map +0 -1
  234. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js.map +0 -1
  235. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.js.map +0 -1
  236. package/dist/HierarchicalTrackSelectorWidget/components/util.js.map +0 -1
  237. package/dist/HierarchicalTrackSelectorWidget/configSchema.js.map +0 -1
  238. package/dist/HierarchicalTrackSelectorWidget/index.js.map +0 -1
  239. package/dist/HierarchicalTrackSelectorWidget/model.js.map +0 -1
  240. package/dist/PluginStoreWidget/components/CustomPluginForm.js.map +0 -1
  241. package/dist/PluginStoreWidget/components/InstalledPlugin.js.map +0 -1
  242. package/dist/PluginStoreWidget/components/InstalledPluginsList.js.map +0 -1
  243. package/dist/PluginStoreWidget/components/PluginCard.js.map +0 -1
  244. package/dist/PluginStoreWidget/components/PluginStoreWidget.js.map +0 -1
  245. package/dist/PluginStoreWidget/index.js.map +0 -1
  246. package/dist/PluginStoreWidget/model.js.map +0 -1
  247. package/dist/SetDefaultSession/SetDefaultSession.js.map +0 -1
  248. package/dist/SetDefaultSession/index.js.map +0 -1
  249. package/dist/index.js.map +0 -1
  250. package/dist/ucsc-trackhub/configSchema.js.map +0 -1
  251. package/dist/ucsc-trackhub/index.js.map +0 -1
  252. package/dist/ucsc-trackhub/model.js.map +0 -1
  253. package/dist/ucsc-trackhub/ucscAssemblies.js.map +0 -1
  254. package/dist/ucsc-trackhub/ucscTrackHub.js.map +0 -1
  255. package/esm/AddConnectionWidget/components/AddConnectionWidget.js.map +0 -1
  256. package/esm/AddConnectionWidget/components/ConfigureConnection.js.map +0 -1
  257. package/esm/AddConnectionWidget/components/ConnectionTypeSelect.js.map +0 -1
  258. package/esm/AddConnectionWidget/index.js.map +0 -1
  259. package/esm/AddConnectionWidget/model.js.map +0 -1
  260. package/esm/AddTrackWidget/components/AddTrackWidget.js.map +0 -1
  261. package/esm/AddTrackWidget/components/ConfirmTrack.js.map +0 -1
  262. package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.js.map +0 -1
  263. package/esm/AddTrackWidget/components/PasteConfigWorkflow.js.map +0 -1
  264. package/esm/AddTrackWidget/components/TextIndexingConfig.js.map +0 -1
  265. package/esm/AddTrackWidget/components/TrackAdapterSelector.js.map +0 -1
  266. package/esm/AddTrackWidget/components/TrackSourceSelect.js.map +0 -1
  267. package/esm/AddTrackWidget/components/TrackTypeSelector.js.map +0 -1
  268. package/esm/AddTrackWidget/index.js.map +0 -1
  269. package/esm/AddTrackWidget/model.js.map +0 -1
  270. package/esm/AssemblyManager/AssemblyAddForm.js.map +0 -1
  271. package/esm/AssemblyManager/AssemblyEditor.js.map +0 -1
  272. package/esm/AssemblyManager/AssemblyManager.js.map +0 -1
  273. package/esm/AssemblyManager/AssemblyTable.js.map +0 -1
  274. package/esm/AssemblyManager/index.js.map +0 -1
  275. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalFab.js.map +0 -1
  276. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js.map +0 -1
  277. package/esm/HierarchicalTrackSelectorWidget/components/ShoppingCart.js.map +0 -1
  278. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.js.map +0 -1
  279. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.js.map +0 -1
  280. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.js.map +0 -1
  281. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.js.map +0 -1
  282. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js.map +0 -1
  283. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.js.map +0 -1
  284. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js.map +0 -1
  285. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js.map +0 -1
  286. package/esm/HierarchicalTrackSelectorWidget/components/faceted/util.js.map +0 -1
  287. package/esm/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js.map +0 -1
  288. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js.map +0 -1
  289. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js.map +0 -1
  290. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js.map +0 -1
  291. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js.map +0 -1
  292. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.js.map +0 -1
  293. package/esm/HierarchicalTrackSelectorWidget/components/util.js.map +0 -1
  294. package/esm/HierarchicalTrackSelectorWidget/configSchema.js.map +0 -1
  295. package/esm/HierarchicalTrackSelectorWidget/index.js.map +0 -1
  296. package/esm/HierarchicalTrackSelectorWidget/model.js.map +0 -1
  297. package/esm/PluginStoreWidget/components/CustomPluginForm.js.map +0 -1
  298. package/esm/PluginStoreWidget/components/InstalledPlugin.js.map +0 -1
  299. package/esm/PluginStoreWidget/components/InstalledPluginsList.js.map +0 -1
  300. package/esm/PluginStoreWidget/components/PluginCard.js.map +0 -1
  301. package/esm/PluginStoreWidget/components/PluginStoreWidget.js.map +0 -1
  302. package/esm/PluginStoreWidget/index.js.map +0 -1
  303. package/esm/PluginStoreWidget/model.js.map +0 -1
  304. package/esm/SetDefaultSession/SetDefaultSession.js.map +0 -1
  305. package/esm/SetDefaultSession/index.js.map +0 -1
  306. package/esm/index.js.map +0 -1
  307. package/esm/ucsc-trackhub/configSchema.js.map +0 -1
  308. package/esm/ucsc-trackhub/index.js.map +0 -1
  309. package/esm/ucsc-trackhub/model.js.map +0 -1
  310. package/esm/ucsc-trackhub/ucscAssemblies.js.map +0 -1
  311. package/esm/ucsc-trackhub/ucscTrackHub.js.map +0 -1
  312. package/src/AddConnectionWidget/components/AddConnectionWidget.test.tsx +0 -139
  313. package/src/AddConnectionWidget/components/AddConnectionWidget.tsx +0 -114
  314. package/src/AddConnectionWidget/components/ConfigureConnection.tsx +0 -26
  315. package/src/AddConnectionWidget/components/ConnectionTypeSelect.tsx +0 -64
  316. package/src/AddConnectionWidget/components/__snapshots__/AddConnectionWidget.test.tsx.snap +0 -236
  317. package/src/AddConnectionWidget/index.ts +0 -19
  318. package/src/AddConnectionWidget/model.ts +0 -7
  319. package/src/AddTrackWidget/components/AddTrackWidget.test.tsx +0 -118
  320. package/src/AddTrackWidget/components/AddTrackWidget.tsx +0 -43
  321. package/src/AddTrackWidget/components/ConfirmTrack.tsx +0 -189
  322. package/src/AddTrackWidget/components/DefaultAddTrackWorkflow.tsx +0 -201
  323. package/src/AddTrackWidget/components/PasteConfigWorkflow.tsx +0 -64
  324. package/src/AddTrackWidget/components/TextIndexingConfig.tsx +0 -132
  325. package/src/AddTrackWidget/components/TrackAdapterSelector.tsx +0 -73
  326. package/src/AddTrackWidget/components/TrackSourceSelect.tsx +0 -48
  327. package/src/AddTrackWidget/components/TrackTypeSelector.tsx +0 -46
  328. package/src/AddTrackWidget/index.test.tsx +0 -247
  329. package/src/AddTrackWidget/index.ts +0 -19
  330. package/src/AddTrackWidget/model.ts +0 -179
  331. package/src/AssemblyManager/AssemblyAddForm.tsx +0 -250
  332. package/src/AssemblyManager/AssemblyEditor.tsx +0 -20
  333. package/src/AssemblyManager/AssemblyManager.test.tsx +0 -93
  334. package/src/AssemblyManager/AssemblyManager.tsx +0 -84
  335. package/src/AssemblyManager/AssemblyTable.tsx +0 -88
  336. package/src/AssemblyManager/index.ts +0 -1
  337. package/src/HierarchicalTrackSelectorWidget/components/HierarchicalFab.tsx +0 -94
  338. package/src/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.test.tsx +0 -148
  339. package/src/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.tsx +0 -97
  340. package/src/HierarchicalTrackSelectorWidget/components/ShoppingCart.tsx +0 -73
  341. package/src/HierarchicalTrackSelectorWidget/components/__snapshots__/HierarchicalTrackSelector.test.tsx.snap +0 -200
  342. package/src/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.tsx +0 -69
  343. package/src/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.tsx +0 -53
  344. package/src/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.tsx +0 -84
  345. package/src/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.tsx +0 -97
  346. package/src/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.tsx +0 -138
  347. package/src/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.tsx +0 -29
  348. package/src/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.tsx +0 -96
  349. package/src/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.tsx +0 -346
  350. package/src/HierarchicalTrackSelectorWidget/components/faceted/util.ts +0 -5
  351. package/src/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.tsx +0 -195
  352. package/src/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.tsx +0 -85
  353. package/src/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.tsx +0 -101
  354. package/src/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.tsx +0 -92
  355. package/src/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.tsx +0 -106
  356. package/src/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.tsx +0 -84
  357. package/src/HierarchicalTrackSelectorWidget/components/util.ts +0 -41
  358. package/src/HierarchicalTrackSelectorWidget/configSchema.ts +0 -3
  359. package/src/HierarchicalTrackSelectorWidget/index.ts +0 -25
  360. package/src/HierarchicalTrackSelectorWidget/model.test.js +0 -24
  361. package/src/HierarchicalTrackSelectorWidget/model.ts +0 -284
  362. package/src/PluginStoreWidget/components/CustomPluginForm.tsx +0 -165
  363. package/src/PluginStoreWidget/components/InstalledPlugin.tsx +0 -167
  364. package/src/PluginStoreWidget/components/InstalledPluginsList.tsx +0 -49
  365. package/src/PluginStoreWidget/components/PluginCard.tsx +0 -106
  366. package/src/PluginStoreWidget/components/PluginStoreWidget.test.tsx +0 -132
  367. package/src/PluginStoreWidget/components/PluginStoreWidget.tsx +0 -181
  368. package/src/PluginStoreWidget/components/__snapshots__/PluginStoreWidget.test.tsx.snap +0 -869
  369. package/src/PluginStoreWidget/index.ts +0 -19
  370. package/src/PluginStoreWidget/model.test.tsx +0 -15
  371. package/src/PluginStoreWidget/model.ts +0 -26
  372. package/src/SetDefaultSession/SetDefaultSession.test.tsx +0 -59
  373. package/src/SetDefaultSession/SetDefaultSession.tsx +0 -76
  374. package/src/SetDefaultSession/index.ts +0 -1
  375. package/src/__snapshots__/index.test.ts.snap +0 -9
  376. package/src/index.test.ts +0 -54
  377. package/src/index.ts +0 -37
  378. package/src/ucsc-trackhub/configSchema.ts +0 -41
  379. package/src/ucsc-trackhub/index.ts +0 -19
  380. package/src/ucsc-trackhub/model.ts +0 -107
  381. package/src/ucsc-trackhub/ucscAssemblies.ts +0 -201
  382. package/src/ucsc-trackhub/ucscTrackHub.ts +0 -325
@@ -1,284 +0,0 @@
1
- import { types, getSnapshot, Instance } from 'mobx-state-tree'
2
- import {
3
- getConf,
4
- readConfObject,
5
- AnyConfigurationModel,
6
- } from '@jbrowse/core/configuration'
7
- import {
8
- AbstractSessionModel,
9
- dedupe,
10
- getSession,
11
- getEnv,
12
- } from '@jbrowse/core/util'
13
- import { getTrackName } from '@jbrowse/core/util/tracks'
14
- import { ElementId } from '@jbrowse/core/util/types/mst'
15
- import PluginManager from '@jbrowse/core/PluginManager'
16
-
17
- function hasAnyOverlap<T>(a1: T[] = [], a2: T[] = []) {
18
- // shortcut case is that arrays are single entries, and are equal
19
- // long case is that we use a set
20
- if (a1[0] === a2[0]) {
21
- return true
22
- } else {
23
- const s1 = new Set(a1)
24
- return a2.some(a => s1.has(a))
25
- }
26
- }
27
-
28
- export function matches(
29
- query: string,
30
- conf: AnyConfigurationModel,
31
- session: AbstractSessionModel,
32
- ) {
33
- const categories = readConfObject(conf, 'category') as string[] | undefined
34
- const queryLower = query.toLowerCase()
35
- return (
36
- getTrackName(conf, session).toLowerCase().includes(queryLower) ||
37
- !!categories?.filter(c => c.toLowerCase().includes(queryLower)).length
38
- )
39
- }
40
-
41
- export type TreeNode = {
42
- name: string
43
- id: string
44
- conf?: AnyConfigurationModel
45
- checked?: boolean
46
- isOpenByDefault?: boolean
47
- children: TreeNode[]
48
- }
49
-
50
- function filterTracks(
51
- tracks: AnyConfigurationModel[],
52
- self: { view: { type: string } },
53
- assemblyName: string,
54
- ) {
55
- const { assemblyManager } = getSession(self)
56
- const { pluginManager } = getEnv(self)
57
- const assembly = assemblyManager.get(assemblyName)
58
-
59
- if (!assembly) {
60
- return []
61
- }
62
- const { allAliases } = assembly
63
- return tracks
64
- .filter(c => hasAnyOverlap(allAliases, readConfObject(c, 'assemblyNames')))
65
- .filter(c => {
66
- const { displayTypes } = pluginManager.getViewType(self.view.type)
67
- const compatDisplays = displayTypes.map((d: { name: string }) => d.name)
68
- const trackDisplays = c.displays.map((d: { type: string }) => d.type)
69
- return hasAnyOverlap(compatDisplays, trackDisplays)
70
- })
71
- }
72
-
73
- export function generateHierarchy(
74
- model: HierarchicalTrackSelectorModel,
75
- trackConfigurations: AnyConfigurationModel[],
76
- collapsed: { get: (arg: string) => boolean | undefined },
77
- extra?: string,
78
- ) {
79
- const hierarchy = { children: [] as TreeNode[] } as TreeNode
80
- const { filterText, view } = model
81
- const session = getSession(model)
82
-
83
- trackConfigurations
84
- .filter(conf => matches(filterText, conf, session))
85
- .forEach(conf => {
86
- // copy the categories since this array can be mutated downstream
87
- const categories = [...(readConfObject(conf, 'category') || [])]
88
-
89
- // silly thing where if trackId ends with sessionTrack, then push it to
90
- // a category that starts with a space to force sort to the top...
91
- // double whammy hackyness
92
- if (conf.trackId.endsWith('sessionTrack')) {
93
- categories.unshift(' Session tracks')
94
- }
95
-
96
- let currLevel = hierarchy
97
-
98
- // find existing category to put track into or create it
99
- for (let i = 0; i < categories.length; i++) {
100
- const category = categories[i]
101
- const ret = currLevel.children.find(c => c.name === category)
102
- const id = extra + '-' + categories.slice(0, i + 1).join(',')
103
- if (!ret) {
104
- const n = {
105
- children: [],
106
- name: category,
107
- id,
108
- isOpenByDefault: !collapsed.get(id),
109
- }
110
- currLevel.children.push(n)
111
- currLevel = n
112
- } else {
113
- currLevel = ret
114
- }
115
- }
116
- const tracks = view.tracks as { configuration: AnyConfigurationModel }[]
117
-
118
- // using splice here tries to group leaf nodes above hierarchical nodes
119
- currLevel.children.splice(
120
- currLevel.children.findIndex(elt => elt.children.length),
121
- 0,
122
- {
123
- id: conf.trackId,
124
- name: getTrackName(conf, session),
125
- conf,
126
- checked: tracks.some(f => f.configuration === conf),
127
- children: [],
128
- },
129
- )
130
- })
131
-
132
- return hierarchy.children
133
- }
134
-
135
- export default function stateTreeFactory(pluginManager: PluginManager) {
136
- return types
137
- .model('HierarchicalTrackSelectorWidget', {
138
- id: ElementId,
139
- type: types.literal('HierarchicalTrackSelectorWidget'),
140
- collapsed: types.map(types.boolean),
141
- view: types.safeReference(
142
- pluginManager.pluggableMstType('view', 'stateModel'),
143
- ),
144
- })
145
- .volatile(() => ({
146
- selection: [] as AnyConfigurationModel[],
147
- filterText: '',
148
- }))
149
- .actions(self => ({
150
- setSelection(elt: AnyConfigurationModel[]) {
151
- self.selection = elt
152
- },
153
- addToSelection(elt: AnyConfigurationModel[]) {
154
- self.selection = dedupe([...self.selection, ...elt], e => e.trackId)
155
- },
156
- removeFromSelection(elt: AnyConfigurationModel[]) {
157
- self.selection = self.selection.filter(f => !elt.includes(f))
158
- },
159
- clearSelection() {
160
- self.selection = []
161
- },
162
- setView(view: unknown) {
163
- self.view = view
164
- },
165
- toggleCategory(pathName: string) {
166
- self.collapsed.set(pathName, !self.collapsed.get(pathName))
167
- },
168
- clearFilterText() {
169
- self.filterText = ''
170
- },
171
- setFilterText(newText: string) {
172
- self.filterText = newText
173
- },
174
- }))
175
- .views(self => ({
176
- getRefSeqTrackConf(assemblyName: string) {
177
- const { assemblyManager } = getSession(self)
178
- const assembly = assemblyManager.get(assemblyName)
179
- const trackConf = assembly?.configuration.sequence
180
- const viewType = pluginManager.getViewType(self.view.type)
181
- if (!trackConf) {
182
- return undefined
183
- }
184
- for (const display of trackConf.displays) {
185
- if (viewType.displayTypes.some(d => d.name === display.type)) {
186
- return trackConf
187
- }
188
- }
189
- },
190
- }))
191
- .views(self => ({
192
- trackConfigurations(assemblyName: string) {
193
- if (!self.view) {
194
- return []
195
- }
196
- const { tracks, assemblyManager } = getSession(self)
197
- const assembly = assemblyManager.get(assemblyName)
198
- if (!assembly) {
199
- return []
200
- }
201
- const refseq = self.getRefSeqTrackConf(assemblyName)
202
- // filter out tracks that don't match the current assembly (check all
203
- // assembly aliases) and display types
204
- return [
205
- ...(refseq ? [refseq] : []),
206
- ...filterTracks(tracks, self, assemblyName),
207
- ]
208
- },
209
-
210
- get assemblyNames(): string[] {
211
- return self.view?.assemblyNames || []
212
- },
213
-
214
- connectionTrackConfigurations(
215
- assemblyName: string,
216
- connection: { tracks: AnyConfigurationModel[] },
217
- ) {
218
- if (!self.view) {
219
- return []
220
- }
221
-
222
- // filter out tracks that don't match the current display types
223
- return filterTracks(connection.tracks, self, assemblyName)
224
- },
225
- }))
226
- .views(self => ({
227
- hierarchy(assemblyName: string) {
228
- const hier = generateHierarchy(
229
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
230
- self as any,
231
- self.trackConfigurations(assemblyName),
232
- self.collapsed,
233
- )
234
-
235
- const session = getSession(self)
236
- const { connectionInstances } = session
237
-
238
- const { assemblyManager } = getSession(self)
239
- const assembly = assemblyManager.get(assemblyName)
240
- const conns =
241
- (assembly &&
242
- connectionInstances
243
- ?.map(c => ({
244
- // @ts-expect-error
245
- id: getSnapshot(c).configuration,
246
- name: getConf(c, 'name'),
247
- children: this.connectionHierarchy(assemblyName, c),
248
- state: {
249
- expanded: true,
250
- },
251
- }))
252
- .filter(f => f.children.length)) ||
253
- []
254
-
255
- return {
256
- name: 'Root',
257
- id: 'Root',
258
- children: [
259
- { name: 'Tracks', id: 'Tracks', children: hier },
260
- ...conns,
261
- ],
262
- }
263
- },
264
-
265
- connectionHierarchy(
266
- assemblyName: string,
267
- connection: { name: string; tracks: AnyConfigurationModel[] },
268
- ) {
269
- return generateHierarchy(
270
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
271
- self as any,
272
- self.connectionTrackConfigurations(assemblyName, connection),
273
- self.collapsed,
274
- connection.name,
275
- )
276
- },
277
- }))
278
- }
279
-
280
- export type HierarchicalTrackSelectorStateModel = ReturnType<
281
- typeof stateTreeFactory
282
- >
283
- export type HierarchicalTrackSelectorModel =
284
- Instance<HierarchicalTrackSelectorStateModel>
@@ -1,165 +0,0 @@
1
- import React, { useState } from 'react'
2
- import { observer } from 'mobx-react'
3
- import { getRoot } from 'mobx-state-tree'
4
- import { Dialog } from '@jbrowse/core/ui'
5
- import {
6
- Button,
7
- Collapse,
8
- DialogActions,
9
- DialogContent,
10
- DialogContentText,
11
- TextField,
12
- } from '@mui/material'
13
- import { makeStyles } from 'tss-react/mui'
14
-
15
- // icons
16
- import IconButton from '@mui/material/IconButton'
17
- import ExpandMoreIcon from '@mui/icons-material/ExpandMore'
18
-
19
- // locals
20
- import { PluginStoreModel } from '../model'
21
-
22
- const useStyles = makeStyles()(theme => ({
23
- dialogContent: {
24
- display: 'flex',
25
- flexDirection: 'column',
26
- },
27
- expand: {
28
- transform: 'rotate(0deg)',
29
- marginLeft: 'auto',
30
- transition: theme.transitions.create('transform', {
31
- duration: theme.transitions.duration.shortest,
32
- }),
33
- },
34
- expandOpen: {
35
- transform: 'rotate(180deg)',
36
- },
37
- }))
38
-
39
- function CustomPluginForm({
40
- open,
41
- onClose,
42
- model,
43
- }: {
44
- open: boolean
45
- onClose(): void
46
- model: PluginStoreModel
47
- }) {
48
- const { classes, cx } = useStyles()
49
- const [umdPluginName, setUMDPluginName] = useState('')
50
- const [umdPluginUrl, setUMDPluginUrl] = useState('')
51
- const [esmPluginUrl, setESMPluginUrl] = useState('')
52
- const [cjsPluginUrl, setCJSPluginUrl] = useState('')
53
- const [advancedOptionsOpen, setAdvancedOptionsOpen] = useState(false)
54
-
55
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
56
- const { jbrowse } = getRoot<any>(model)
57
-
58
- const ready = Boolean(
59
- (umdPluginName && umdPluginUrl) || esmPluginUrl || cjsPluginUrl,
60
- )
61
-
62
- function handleSubmit() {
63
- if (umdPluginName && umdPluginUrl) {
64
- jbrowse.addPlugin({ name: umdPluginName, umdUrl: umdPluginUrl })
65
- }
66
- if (esmPluginUrl) {
67
- jbrowse.addPlugin({ esmUrl: esmPluginUrl })
68
- }
69
- if (cjsPluginUrl) {
70
- jbrowse.addPlugin({ cjsUrl: cjsPluginUrl })
71
- }
72
- }
73
-
74
- function handleClose() {
75
- setUMDPluginName('')
76
- setUMDPluginUrl('')
77
- setESMPluginUrl('')
78
- setCJSPluginUrl('')
79
- onClose()
80
- }
81
-
82
- return (
83
- <Dialog open={open} onClose={handleClose} title="Add custom plugin">
84
- <form onSubmit={handleSubmit}>
85
- <DialogContent className={classes.dialogContent}>
86
- <DialogContentText>
87
- Enter the name of the plugin and its URL. The name should match what
88
- is defined in the plugin&apos;s build.
89
- </DialogContentText>
90
- <TextField
91
- id="umd-name-input"
92
- name="umdName"
93
- label="Plugin name"
94
- variant="outlined"
95
- value={umdPluginName}
96
- onChange={event => setUMDPluginName(event.target.value)}
97
- />
98
- <TextField
99
- id="umd-url-input"
100
- name="umdUrl"
101
- label="Plugin URL"
102
- variant="outlined"
103
- value={umdPluginUrl}
104
- onChange={event => setUMDPluginUrl(event.target.value)}
105
- />
106
- <DialogContentText
107
- onClick={() => setAdvancedOptionsOpen(!advancedOptionsOpen)}
108
- >
109
- <IconButton
110
- className={cx(classes.expand, {
111
- [classes.expandOpen]: advancedOptionsOpen,
112
- })}
113
- aria-expanded={advancedOptionsOpen}
114
- aria-label="show more"
115
- >
116
- <ExpandMoreIcon />
117
- </IconButton>
118
- Advanced options
119
- </DialogContentText>
120
- <Collapse in={advancedOptionsOpen}>
121
- <div className={classes.dialogContent}>
122
- <DialogContentText>
123
- The above fields assume that the plugin is built in UMD format.
124
- If your plugin is in another format, or you have additional
125
- builds you want to add (such as a CJS build for using NodeJS
126
- APIs in desktop), you can enter the URLs for those builds below.
127
- </DialogContentText>
128
- <TextField
129
- id="esm-url-input"
130
- name="esmUrl"
131
- label="ESM build URL"
132
- variant="outlined"
133
- value={esmPluginUrl}
134
- onChange={event => setESMPluginUrl(event.target.value)}
135
- />
136
- <TextField
137
- id="cjs-url-input"
138
- name="cjsUrl"
139
- label="CJS build URL"
140
- variant="outlined"
141
- value={cjsPluginUrl}
142
- onChange={event => setCJSPluginUrl(event.target.value)}
143
- />
144
- </div>
145
- </Collapse>
146
- </DialogContent>
147
- <DialogActions>
148
- <Button variant="contained" onClick={handleClose}>
149
- Cancel
150
- </Button>
151
- <Button
152
- variant="contained"
153
- color="primary"
154
- onClick={handleSubmit}
155
- disabled={!ready}
156
- >
157
- Submit
158
- </Button>
159
- </DialogActions>
160
- </form>
161
- </Dialog>
162
- )
163
- }
164
-
165
- export default observer(CustomPluginForm)
@@ -1,167 +0,0 @@
1
- import React, { useState } from 'react'
2
- import { observer } from 'mobx-react'
3
- import { getParent } from 'mobx-state-tree'
4
- import {
5
- Button,
6
- Dialog,
7
- DialogTitle,
8
- DialogActions,
9
- DialogContent,
10
- IconButton,
11
- ListItem,
12
- Tooltip,
13
- Typography,
14
- } from '@mui/material'
15
- import { makeStyles } from 'tss-react/mui'
16
-
17
- import CloseIcon from '@mui/icons-material/Close'
18
- import LockIcon from '@mui/icons-material/Lock'
19
-
20
- import PluginManager from '@jbrowse/core/PluginManager'
21
- import { getSession } from '@jbrowse/core/util'
22
- import {
23
- BasePlugin,
24
- isSessionWithSessionPlugins,
25
- } from '@jbrowse/core/util/types'
26
- import { PluginStoreModel } from '../model'
27
-
28
- const useStyles = makeStyles()(() => ({
29
- closeDialog: {
30
- position: 'absolute',
31
- right: 0,
32
- top: 0,
33
- },
34
- dialogContainer: {
35
- margin: 15,
36
- },
37
- lockedPluginTooltip: {
38
- marginRight: '0.5rem',
39
- },
40
- }))
41
-
42
- function LockedPlugin() {
43
- const { classes } = useStyles()
44
- return (
45
- <Tooltip
46
- className={classes.lockedPluginTooltip}
47
- title="This plugin was installed by an administrator, you cannot remove it."
48
- >
49
- <LockIcon />
50
- </Tooltip>
51
- )
52
- }
53
-
54
- function PluginDialog({
55
- onClose,
56
- plugin,
57
- }: {
58
- plugin: string
59
- onClose: (s?: string) => void
60
- }) {
61
- const { classes } = useStyles()
62
- return (
63
- <Dialog open onClose={() => onClose()}>
64
- <DialogTitle>
65
- <IconButton
66
- className={classes.closeDialog}
67
- aria-label="close-dialog"
68
- onClick={() => onClose()}
69
- >
70
- <CloseIcon />
71
- </IconButton>
72
- </DialogTitle>
73
- <DialogContent>
74
- <Typography>
75
- Please confirm that you want to remove {plugin}. Note: if any
76
- resources in this session still use this plugin, it may cause your
77
- session to crash
78
- </Typography>
79
- <DialogActions>
80
- <Button
81
- variant="contained"
82
- color="primary"
83
- onClick={() => {
84
- // avoid showing runtime plugin warning
85
- window.setTimeout(() => {
86
- onClose(plugin)
87
- }, 500)
88
- }}
89
- >
90
- Confirm
91
- </Button>
92
- <Button
93
- variant="contained"
94
- color="secondary"
95
- onClick={() => {
96
- onClose()
97
- }}
98
- >
99
- Cancel
100
- </Button>
101
- </DialogActions>
102
- </DialogContent>
103
- </Dialog>
104
- )
105
- }
106
-
107
- function InstalledPlugin({
108
- plugin,
109
- model,
110
- pluginManager,
111
- }: {
112
- plugin: BasePlugin
113
- model: PluginStoreModel
114
- pluginManager: PluginManager
115
- }) {
116
- const [dialogPlugin, setDialogPlugin] = useState<string>()
117
-
118
- const session = getSession(model)
119
- const { sessionPlugins } = session as unknown as {
120
- sessionPlugins: BasePlugin[]
121
- }
122
- const isSessionPlugin = sessionPlugins?.some(
123
- p => pluginManager.pluginMetadata[plugin.name].url === p.url,
124
- )
125
-
126
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
127
- const rootModel = getParent<any>(model, 3)
128
- const { jbrowse, adminMode } = rootModel
129
-
130
- return (
131
- <>
132
- {dialogPlugin ? (
133
- <PluginDialog
134
- plugin={dialogPlugin}
135
- onClose={name => {
136
- if (name) {
137
- const pluginMetadata = pluginManager.pluginMetadata[plugin.name]
138
-
139
- if (adminMode) {
140
- jbrowse.removePlugin(pluginMetadata)
141
- } else if (isSessionWithSessionPlugins(session)) {
142
- session.removeSessionPlugin(pluginMetadata)
143
- }
144
- }
145
- setDialogPlugin(undefined)
146
- }}
147
- />
148
- ) : null}
149
- <ListItem key={plugin.name}>
150
- {adminMode || isSessionPlugin ? (
151
- <IconButton
152
- aria-label="removePlugin"
153
- data-testid={`removePlugin-${plugin.name}`}
154
- onClick={() => setDialogPlugin(plugin.name)}
155
- >
156
- <CloseIcon />
157
- </IconButton>
158
- ) : (
159
- <LockedPlugin />
160
- )}
161
- <Typography>{plugin.name}</Typography>
162
- </ListItem>
163
- </>
164
- )
165
- }
166
-
167
- export default observer(InstalledPlugin)
@@ -1,49 +0,0 @@
1
- import React from 'react'
2
- import { observer } from 'mobx-react'
3
- import { List, Typography } from '@mui/material'
4
- import PluginManager from '@jbrowse/core/PluginManager'
5
- import { PluginStoreModel } from '../model'
6
- import InstalledPlugin from './InstalledPlugin'
7
-
8
- function InstalledPluginsList({
9
- pluginManager,
10
- model,
11
- }: {
12
- pluginManager: PluginManager
13
- model: PluginStoreModel
14
- }) {
15
- const { plugins } = pluginManager
16
-
17
- const corePlugins = new Set(
18
- plugins
19
- .filter(p => pluginManager.pluginMetadata[p.name]?.isCore)
20
- .map(p => p.name),
21
- )
22
-
23
- const externalPlugins = plugins.filter(
24
- plugin => !corePlugins.has(plugin.name),
25
- )
26
-
27
- return (
28
- <List>
29
- {externalPlugins.length > 0 ? (
30
- externalPlugins
31
- .filter(plugin =>
32
- plugin.name.toLowerCase().includes(model.filterText.toLowerCase()),
33
- )
34
- .map(plugin => (
35
- <InstalledPlugin
36
- key={plugin.name}
37
- plugin={plugin}
38
- model={model}
39
- pluginManager={pluginManager}
40
- />
41
- ))
42
- ) : (
43
- <Typography>No plugins currently installed</Typography>
44
- )}
45
- </List>
46
- )
47
- }
48
-
49
- export default observer(InstalledPluginsList)