@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.
- package/dist/AddConnectionWidget/components/AddConnectionWidget.d.ts +1 -2
- package/dist/AddConnectionWidget/components/AddConnectionWidget.js +31 -62
- package/dist/AddConnectionWidget/components/ConfigureConnection.d.ts +4 -5
- package/dist/AddConnectionWidget/components/ConfigureConnection.js +5 -28
- package/dist/AddConnectionWidget/components/ConnectionTypeSelect.d.ts +2 -3
- package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js +6 -32
- package/dist/AddConnectionWidget/index.d.ts +1 -1
- package/dist/AddConnectionWidget/index.js +18 -8
- package/dist/AddConnectionWidget/model.js +1 -1
- package/dist/AddTrackWidget/components/AddTrackStatusMessage.d.ts +9 -0
- package/dist/AddTrackWidget/components/AddTrackStatusMessage.js +16 -0
- package/dist/AddTrackWidget/components/AddTrackUnknownAdapterPrompt.d.ts +4 -0
- package/dist/AddTrackWidget/components/AddTrackUnknownAdapterPrompt.js +19 -0
- package/dist/AddTrackWidget/components/AddTrackWidget.d.ts +2 -3
- package/dist/AddTrackWidget/components/AddTrackWidget.js +7 -35
- package/dist/AddTrackWidget/components/ConfirmTrack.d.ts +2 -3
- package/dist/AddTrackWidget/components/ConfirmTrack.js +38 -97
- package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.d.ts +2 -3
- package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.js +24 -107
- package/dist/AddTrackWidget/components/PasteConfigWorkflow.d.ts +2 -3
- package/dist/AddTrackWidget/components/PasteConfigWorkflow.js +31 -51
- package/dist/AddTrackWidget/components/TextIndexingConfig.d.ts +2 -3
- package/dist/AddTrackWidget/components/TextIndexingConfig.js +38 -76
- package/dist/AddTrackWidget/components/TrackAdapterSelector.d.ts +2 -3
- package/dist/AddTrackWidget/components/TrackAdapterSelector.js +13 -40
- package/dist/AddTrackWidget/components/TrackSourceSelect.d.ts +2 -3
- package/dist/AddTrackWidget/components/TrackSourceSelect.js +4 -10
- package/dist/AddTrackWidget/components/TrackTypeSelector.d.ts +3 -4
- package/dist/AddTrackWidget/components/TrackTypeSelector.js +8 -17
- package/dist/AddTrackWidget/components/Unsupported.d.ts +1 -0
- package/dist/AddTrackWidget/components/Unsupported.js +15 -0
- package/dist/AddTrackWidget/components/doSubmit.d.ts +4 -0
- package/dist/AddTrackWidget/components/doSubmit.js +50 -0
- package/dist/AddTrackWidget/components/util.d.ts +2 -0
- package/dist/AddTrackWidget/components/util.js +15 -0
- package/dist/AddTrackWidget/index.d.ts +1 -1
- package/dist/AddTrackWidget/index.js +18 -8
- package/dist/AddTrackWidget/model.d.ts +16 -84
- package/dist/AddTrackWidget/model.js +46 -94
- package/dist/AssemblyManager/AssemblyAddForm.d.ts +5 -6
- package/dist/AssemblyManager/AssemblyAddForm.js +82 -128
- package/dist/AssemblyManager/AssemblyEditor.d.ts +4 -4
- package/dist/AssemblyManager/AssemblyEditor.js +7 -7
- package/dist/AssemblyManager/AssemblyManager.d.ts +5 -5
- package/dist/AssemblyManager/AssemblyManager.js +19 -55
- package/dist/AssemblyManager/AssemblyTable.d.ts +8 -12
- package/dist/AssemblyManager/AssemblyTable.js +42 -35
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalFab.d.ts +2 -3
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalFab.js +22 -50
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.d.ts +2 -3
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +7 -35
- package/dist/HierarchicalTrackSelectorWidget/components/ShoppingCart.d.ts +2 -3
- package/dist/HierarchicalTrackSelectorWidget/components/ShoppingCart.js +21 -11
- package/dist/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.d.ts +1 -2
- package/dist/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.js +8 -19
- package/dist/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.d.ts +3 -4
- package/dist/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.js +9 -17
- package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.d.ts +3 -4
- package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.js +14 -27
- package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.d.ts +3 -4
- package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.js +10 -19
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.d.ts +2 -3
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.js +21 -58
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.d.ts +3 -4
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js +22 -26
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedDataGrid.d.ts +9 -0
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedDataGrid.js +71 -0
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.d.ts +2 -3
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.js +3 -5
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.d.ts +2 -3
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js +47 -82
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.d.ts +3 -4
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js +17 -112
- package/dist/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.d.ts +4 -5
- package/dist/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.js +7 -32
- package/dist/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.d.ts +2 -3
- package/dist/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.js +5 -9
- package/dist/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.d.ts +2 -3
- package/dist/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js +124 -124
- package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.d.ts +2 -3
- package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js +8 -17
- package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.d.ts +3 -4
- package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js +5 -40
- package/dist/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.d.ts +2 -3
- package/dist/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.js +6 -10
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.d.ts +2 -3
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js +46 -78
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.d.ts +3 -4
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js +19 -15
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabelMenu.d.ts +3 -4
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabelMenu.js +6 -8
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.d.ts +2 -3
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.js +6 -19
- package/dist/HierarchicalTrackSelectorWidget/components/util.d.ts +4 -4
- package/dist/HierarchicalTrackSelectorWidget/components/util.js +1 -4
- package/dist/HierarchicalTrackSelectorWidget/facetedModel.d.ts +2 -61
- package/dist/HierarchicalTrackSelectorWidget/facetedModel.js +14 -76
- package/dist/HierarchicalTrackSelectorWidget/filterTracks.d.ts +1 -1
- package/dist/HierarchicalTrackSelectorWidget/generateHierarchy.d.ts +2 -2
- package/dist/HierarchicalTrackSelectorWidget/generateHierarchy.js +0 -13
- package/dist/HierarchicalTrackSelectorWidget/index.d.ts +1 -1
- package/dist/HierarchicalTrackSelectorWidget/index.js +20 -10
- package/dist/HierarchicalTrackSelectorWidget/model.d.ts +3 -177
- package/dist/HierarchicalTrackSelectorWidget/model.js +3 -183
- package/dist/HierarchicalTrackSelectorWidget/util.d.ts +2 -2
- package/dist/HierarchicalTrackSelectorWidget/util.js +0 -3
- package/dist/PluginStoreWidget/components/AddCustomPluginDialog.d.ts +2 -3
- package/dist/PluginStoreWidget/components/AddCustomPluginDialog.js +19 -59
- package/dist/PluginStoreWidget/components/DeletePluginDialog.d.ts +1 -2
- package/dist/PluginStoreWidget/components/DeletePluginDialog.js +10 -23
- package/dist/PluginStoreWidget/components/InstalledPlugin.d.ts +3 -4
- package/dist/PluginStoreWidget/components/InstalledPlugin.js +45 -37
- package/dist/PluginStoreWidget/components/InstalledPluginsList.d.ts +3 -4
- package/dist/PluginStoreWidget/components/InstalledPluginsList.js +5 -5
- package/dist/PluginStoreWidget/components/PluginCard.d.ts +4 -6
- package/dist/PluginStoreWidget/components/PluginCard.js +25 -55
- package/dist/PluginStoreWidget/components/PluginStoreWidget.d.ts +2 -3
- package/dist/PluginStoreWidget/components/PluginStoreWidget.js +53 -61
- package/dist/PluginStoreWidget/components/util.d.ts +1 -1
- package/dist/PluginStoreWidget/components/util.js +0 -1
- package/dist/PluginStoreWidget/index.d.ts +1 -1
- package/dist/PluginStoreWidget/index.js +18 -8
- package/dist/PluginStoreWidget/model.d.ts +2 -8
- package/dist/PluginStoreWidget/model.js +1 -19
- package/dist/{ucsc-trackhub → UCSCTrackHub}/configSchema.d.ts +0 -6
- package/dist/{ucsc-trackhub → UCSCTrackHub}/configSchema.js +2 -14
- package/{esm/ucsc-trackhub → dist/UCSCTrackHub}/doConnect.d.ts +1 -1
- package/dist/{ucsc-trackhub → UCSCTrackHub}/doConnect.js +19 -15
- package/dist/{ucsc-trackhub → UCSCTrackHub}/index.d.ts +1 -1
- package/dist/{ucsc-trackhub → UCSCTrackHub}/index.js +11 -9
- package/dist/{ucsc-trackhub → UCSCTrackHub}/model.d.ts +1 -14
- package/dist/{ucsc-trackhub → UCSCTrackHub}/model.js +18 -23
- package/dist/{ucsc-trackhub → UCSCTrackHub}/ucscAssemblies.js +0 -3
- package/dist/{ucsc-trackhub → UCSCTrackHub}/ucscTrackHub.d.ts +54 -37
- package/dist/UCSCTrackHub/ucscTrackHub.js +170 -0
- package/dist/UCSCTrackHub/util.d.ts +22 -0
- package/dist/UCSCTrackHub/util.js +41 -0
- package/dist/index.d.ts +11 -11
- package/dist/index.js +21 -11
- package/esm/AddConnectionWidget/components/AddConnectionWidget.d.ts +1 -2
- package/esm/AddConnectionWidget/components/AddConnectionWidget.js +31 -39
- package/esm/AddConnectionWidget/components/ConfigureConnection.d.ts +4 -5
- package/esm/AddConnectionWidget/components/ConfigureConnection.js +5 -5
- package/esm/AddConnectionWidget/components/ConnectionTypeSelect.d.ts +2 -3
- package/esm/AddConnectionWidget/components/ConnectionTypeSelect.js +6 -9
- package/esm/AddConnectionWidget/index.d.ts +1 -1
- package/esm/AddConnectionWidget/index.js +1 -1
- package/esm/AddConnectionWidget/model.js +1 -1
- package/esm/AddTrackWidget/components/AddTrackStatusMessage.d.ts +9 -0
- package/esm/AddTrackWidget/components/AddTrackStatusMessage.js +13 -0
- package/esm/AddTrackWidget/components/AddTrackUnknownAdapterPrompt.d.ts +4 -0
- package/esm/AddTrackWidget/components/AddTrackUnknownAdapterPrompt.js +13 -0
- package/esm/AddTrackWidget/components/AddTrackWidget.d.ts +2 -3
- package/esm/AddTrackWidget/components/AddTrackWidget.js +7 -12
- package/esm/AddTrackWidget/components/ConfirmTrack.d.ts +2 -3
- package/esm/AddTrackWidget/components/ConfirmTrack.js +39 -75
- package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.d.ts +2 -3
- package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.js +25 -85
- package/esm/AddTrackWidget/components/PasteConfigWorkflow.d.ts +2 -3
- package/esm/AddTrackWidget/components/PasteConfigWorkflow.js +31 -28
- package/esm/AddTrackWidget/components/TextIndexingConfig.d.ts +2 -3
- package/esm/AddTrackWidget/components/TextIndexingConfig.js +39 -54
- package/esm/AddTrackWidget/components/TrackAdapterSelector.d.ts +2 -3
- package/esm/AddTrackWidget/components/TrackAdapterSelector.js +13 -37
- package/esm/AddTrackWidget/components/TrackSourceSelect.d.ts +2 -3
- package/esm/AddTrackWidget/components/TrackSourceSelect.js +4 -7
- package/esm/AddTrackWidget/components/TrackTypeSelector.d.ts +3 -4
- package/esm/AddTrackWidget/components/TrackTypeSelector.js +8 -14
- package/esm/AddTrackWidget/components/Unsupported.d.ts +1 -0
- package/esm/AddTrackWidget/components/Unsupported.js +12 -0
- package/esm/AddTrackWidget/components/doSubmit.d.ts +4 -0
- package/esm/AddTrackWidget/components/doSubmit.js +47 -0
- package/esm/AddTrackWidget/components/util.d.ts +2 -0
- package/esm/AddTrackWidget/components/util.js +12 -0
- package/esm/AddTrackWidget/index.d.ts +1 -1
- package/esm/AddTrackWidget/index.js +1 -1
- package/esm/AddTrackWidget/model.d.ts +16 -84
- package/esm/AddTrackWidget/model.js +43 -94
- package/esm/AssemblyManager/AssemblyAddForm.d.ts +5 -6
- package/esm/AssemblyManager/AssemblyAddForm.js +82 -102
- package/esm/AssemblyManager/AssemblyEditor.d.ts +4 -4
- package/esm/AssemblyManager/AssemblyEditor.js +7 -4
- package/esm/AssemblyManager/AssemblyManager.d.ts +5 -5
- package/esm/AssemblyManager/AssemblyManager.js +19 -32
- package/esm/AssemblyManager/AssemblyTable.d.ts +8 -12
- package/esm/AssemblyManager/AssemblyTable.js +43 -36
- package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalFab.d.ts +2 -3
- package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalFab.js +22 -27
- package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.d.ts +2 -3
- package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +7 -12
- package/esm/HierarchicalTrackSelectorWidget/components/ShoppingCart.d.ts +2 -3
- package/esm/HierarchicalTrackSelectorWidget/components/ShoppingCart.js +21 -11
- package/esm/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.d.ts +1 -2
- package/esm/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.js +8 -16
- package/esm/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.d.ts +3 -4
- package/esm/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.js +9 -14
- package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.d.ts +3 -4
- package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.js +14 -27
- package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.d.ts +3 -4
- package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.js +10 -16
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.d.ts +2 -3
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.js +21 -35
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.d.ts +3 -4
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js +22 -26
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedDataGrid.d.ts +9 -0
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedDataGrid.js +69 -0
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.d.ts +2 -3
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.js +3 -5
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.d.ts +2 -3
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js +47 -59
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.d.ts +3 -4
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js +17 -89
- package/esm/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.d.ts +4 -5
- package/esm/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.js +7 -9
- package/esm/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.d.ts +2 -3
- package/esm/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.js +5 -9
- package/esm/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.d.ts +2 -3
- package/esm/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js +108 -118
- package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.d.ts +2 -3
- package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js +8 -17
- package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.d.ts +3 -4
- package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js +5 -17
- package/esm/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.d.ts +2 -3
- package/esm/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.js +6 -10
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.d.ts +2 -3
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js +46 -55
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.d.ts +3 -4
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js +19 -15
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabelMenu.d.ts +3 -4
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabelMenu.js +6 -8
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.d.ts +2 -3
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.js +6 -19
- package/esm/HierarchicalTrackSelectorWidget/components/util.d.ts +4 -4
- package/esm/HierarchicalTrackSelectorWidget/components/util.js +1 -4
- package/esm/HierarchicalTrackSelectorWidget/facetedModel.d.ts +2 -61
- package/esm/HierarchicalTrackSelectorWidget/facetedModel.js +12 -74
- package/esm/HierarchicalTrackSelectorWidget/filterTracks.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/filterTracks.js +1 -1
- package/esm/HierarchicalTrackSelectorWidget/generateHierarchy.d.ts +2 -2
- package/esm/HierarchicalTrackSelectorWidget/generateHierarchy.js +1 -14
- package/esm/HierarchicalTrackSelectorWidget/index.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/index.js +3 -3
- package/esm/HierarchicalTrackSelectorWidget/model.d.ts +3 -177
- package/esm/HierarchicalTrackSelectorWidget/model.js +4 -184
- package/esm/HierarchicalTrackSelectorWidget/util.d.ts +2 -2
- package/esm/HierarchicalTrackSelectorWidget/util.js +1 -4
- package/esm/PluginStoreWidget/components/AddCustomPluginDialog.d.ts +2 -3
- package/esm/PluginStoreWidget/components/AddCustomPluginDialog.js +19 -36
- package/esm/PluginStoreWidget/components/DeletePluginDialog.d.ts +1 -2
- package/esm/PluginStoreWidget/components/DeletePluginDialog.js +10 -20
- package/esm/PluginStoreWidget/components/InstalledPlugin.d.ts +3 -4
- package/esm/PluginStoreWidget/components/InstalledPlugin.js +28 -30
- package/esm/PluginStoreWidget/components/InstalledPluginsList.d.ts +3 -4
- package/esm/PluginStoreWidget/components/InstalledPluginsList.js +5 -5
- package/esm/PluginStoreWidget/components/PluginCard.d.ts +4 -6
- package/esm/PluginStoreWidget/components/PluginCard.js +27 -34
- package/esm/PluginStoreWidget/components/PluginStoreWidget.d.ts +2 -3
- package/esm/PluginStoreWidget/components/PluginStoreWidget.js +36 -54
- package/esm/PluginStoreWidget/components/util.d.ts +1 -1
- package/esm/PluginStoreWidget/components/util.js +1 -2
- package/esm/PluginStoreWidget/index.d.ts +1 -1
- package/esm/PluginStoreWidget/index.js +1 -1
- package/esm/PluginStoreWidget/model.d.ts +2 -8
- package/esm/PluginStoreWidget/model.js +1 -19
- package/esm/{ucsc-trackhub → UCSCTrackHub}/configSchema.d.ts +0 -6
- package/esm/{ucsc-trackhub → UCSCTrackHub}/configSchema.js +2 -14
- package/{dist/ucsc-trackhub → esm/UCSCTrackHub}/doConnect.d.ts +1 -1
- package/esm/{ucsc-trackhub → UCSCTrackHub}/doConnect.js +12 -8
- package/esm/{ucsc-trackhub → UCSCTrackHub}/index.d.ts +1 -1
- package/esm/UCSCTrackHub/index.js +15 -0
- package/esm/{ucsc-trackhub → UCSCTrackHub}/model.d.ts +1 -14
- package/esm/{ucsc-trackhub → UCSCTrackHub}/model.js +1 -16
- package/esm/{ucsc-trackhub → UCSCTrackHub}/ucscAssemblies.js +0 -3
- package/esm/{ucsc-trackhub → UCSCTrackHub}/ucscTrackHub.d.ts +54 -37
- package/esm/UCSCTrackHub/ucscTrackHub.js +162 -0
- package/esm/UCSCTrackHub/util.d.ts +22 -0
- package/esm/UCSCTrackHub/util.js +33 -0
- package/esm/index.d.ts +11 -11
- package/esm/index.js +3 -3
- package/package.json +4 -3
- package/dist/ucsc-trackhub/ucscTrackHub.js +0 -208
- package/esm/ucsc-trackhub/index.js +0 -13
- package/esm/ucsc-trackhub/ucscTrackHub.js +0 -195
- /package/dist/{ucsc-trackhub → UCSCTrackHub}/ucscAssemblies.d.ts +0 -0
- /package/esm/{ucsc-trackhub → UCSCTrackHub}/ucscAssemblies.d.ts +0 -0
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { autorun, observable } from 'mobx';
|
|
3
|
-
import { getConf, readConfObject, } from '@jbrowse/core/configuration';
|
|
1
|
+
import { getConf, readConfObject } from '@jbrowse/core/configuration';
|
|
4
2
|
import { dedupe, getSession, localStorageGetItem, localStorageSetItem, notEmpty, } from '@jbrowse/core/util';
|
|
5
3
|
import { ElementId } from '@jbrowse/core/util/types/mst';
|
|
6
|
-
|
|
4
|
+
import { autorun, observable } from 'mobx';
|
|
5
|
+
import { addDisposer, types } from 'mobx-state-tree';
|
|
6
|
+
import { facetedStateTreeF } from './facetedModel';
|
|
7
7
|
import { filterTracks } from './filterTracks';
|
|
8
8
|
import { generateHierarchy } from './generateHierarchy';
|
|
9
9
|
import { findSubCategories, findTopLevelCategories } from './util';
|
|
10
|
-
import { facetedStateTreeF } from './facetedModel';
|
|
11
|
-
// for settings that are config dependent
|
|
12
10
|
function keyConfigPostFix() {
|
|
13
11
|
return typeof window !== 'undefined'
|
|
14
12
|
? [
|
|
@@ -24,8 +22,6 @@ function recentlyUsedK(assemblyNames) {
|
|
|
24
22
|
.filter(f => !!f)
|
|
25
23
|
.join('-');
|
|
26
24
|
}
|
|
27
|
-
// this has a extra } at the end because that's how it was initially
|
|
28
|
-
// released
|
|
29
25
|
function favoritesK() {
|
|
30
26
|
return `favoriteTracks-${keyConfigPostFix()}}`;
|
|
31
27
|
}
|
|
@@ -55,185 +51,86 @@ function localStorageSetJSON(key, val) {
|
|
|
55
51
|
}
|
|
56
52
|
}
|
|
57
53
|
const MAX_RECENTLY_USED = 10;
|
|
58
|
-
/**
|
|
59
|
-
* #stateModel HierarchicalTrackSelectorWidget
|
|
60
|
-
*/
|
|
61
54
|
export default function stateTreeFactory(pluginManager) {
|
|
62
55
|
return types
|
|
63
56
|
.model('HierarchicalTrackSelectorWidget', {
|
|
64
|
-
/**
|
|
65
|
-
* #property
|
|
66
|
-
*/
|
|
67
57
|
id: ElementId,
|
|
68
|
-
/**
|
|
69
|
-
* #property
|
|
70
|
-
*/
|
|
71
58
|
type: types.literal('HierarchicalTrackSelectorWidget'),
|
|
72
|
-
/**
|
|
73
|
-
* #property
|
|
74
|
-
*/
|
|
75
59
|
view: types.safeReference(pluginManager.pluggableMstType('view', 'stateModel')),
|
|
76
|
-
/**
|
|
77
|
-
* #property
|
|
78
|
-
*/
|
|
79
60
|
faceted: types.optional(facetedStateTreeF(), {}),
|
|
80
61
|
})
|
|
81
62
|
.volatile(() => ({
|
|
82
|
-
/**
|
|
83
|
-
* #volatile
|
|
84
|
-
*/
|
|
85
63
|
favorites: localStorageGetJSON(favoritesK(), []),
|
|
86
|
-
/**
|
|
87
|
-
* #volatile
|
|
88
|
-
*/
|
|
89
64
|
recentlyUsed: [],
|
|
90
|
-
/**
|
|
91
|
-
* #volatile
|
|
92
|
-
*/
|
|
93
65
|
selection: [],
|
|
94
|
-
/**
|
|
95
|
-
* #volatile
|
|
96
|
-
*/
|
|
97
66
|
sortTrackNames: localStorageGetJSON(sortTrackNamesK(), undefined),
|
|
98
|
-
/**
|
|
99
|
-
* #volatile
|
|
100
|
-
*/
|
|
101
67
|
sortCategories: localStorageGetJSON(sortCategoriesK(), undefined),
|
|
102
|
-
/**
|
|
103
|
-
* #volatile
|
|
104
|
-
*/
|
|
105
68
|
collapsed: observable.map(),
|
|
106
|
-
/**
|
|
107
|
-
* #volatile
|
|
108
|
-
*/
|
|
109
69
|
filterText: '',
|
|
110
|
-
/**
|
|
111
|
-
* #volatile
|
|
112
|
-
*/
|
|
113
70
|
recentlyUsedCounter: 0,
|
|
114
|
-
/**
|
|
115
|
-
* #volatile
|
|
116
|
-
*/
|
|
117
71
|
favoritesCounter: 0,
|
|
118
72
|
}))
|
|
119
73
|
.views(self => ({
|
|
120
|
-
/**
|
|
121
|
-
* #getter
|
|
122
|
-
*/
|
|
123
74
|
get shownTrackIds() {
|
|
124
75
|
var _a, _b;
|
|
125
76
|
return new Set((_b = (_a = self.view) === null || _a === void 0 ? void 0 : _a.tracks) === null || _b === void 0 ? void 0 : _b.map((t) => t.configuration.trackId));
|
|
126
77
|
},
|
|
127
|
-
/**
|
|
128
|
-
* #getter
|
|
129
|
-
*/
|
|
130
78
|
get selectionSet() {
|
|
131
79
|
return new Set(self.selection);
|
|
132
80
|
},
|
|
133
|
-
/**
|
|
134
|
-
* #getter
|
|
135
|
-
*/
|
|
136
81
|
get favoritesSet() {
|
|
137
82
|
return new Set(self.favorites);
|
|
138
83
|
},
|
|
139
|
-
/**
|
|
140
|
-
* #getter
|
|
141
|
-
*/
|
|
142
84
|
get recentlyUsedSet() {
|
|
143
85
|
return new Set(self.recentlyUsed);
|
|
144
86
|
},
|
|
145
|
-
/**
|
|
146
|
-
* #getter
|
|
147
|
-
*/
|
|
148
87
|
get assemblyNames() {
|
|
149
88
|
var _a;
|
|
150
89
|
return ((_a = self.view) === null || _a === void 0 ? void 0 : _a.assemblyNames) || [];
|
|
151
90
|
},
|
|
152
91
|
}))
|
|
153
92
|
.actions(self => ({
|
|
154
|
-
/**
|
|
155
|
-
* #action
|
|
156
|
-
*/
|
|
157
93
|
setSortTrackNames(val) {
|
|
158
94
|
self.sortTrackNames = val;
|
|
159
95
|
},
|
|
160
|
-
/**
|
|
161
|
-
* #action
|
|
162
|
-
*/
|
|
163
96
|
setSortCategories(val) {
|
|
164
97
|
self.sortCategories = val;
|
|
165
98
|
},
|
|
166
|
-
/**
|
|
167
|
-
* #action
|
|
168
|
-
*/
|
|
169
99
|
setSelection(elt) {
|
|
170
100
|
self.selection = elt;
|
|
171
101
|
},
|
|
172
|
-
/**
|
|
173
|
-
* #action
|
|
174
|
-
*/
|
|
175
102
|
addToSelection(elt) {
|
|
176
103
|
self.selection = dedupe([...self.selection, ...elt], e => e.trackId);
|
|
177
104
|
},
|
|
178
|
-
/**
|
|
179
|
-
* #action
|
|
180
|
-
*/
|
|
181
105
|
removeFromSelection(elt) {
|
|
182
106
|
const s = new Set(elt);
|
|
183
107
|
self.selection = self.selection.filter(f => !s.has(f));
|
|
184
108
|
},
|
|
185
|
-
/**
|
|
186
|
-
* #action
|
|
187
|
-
*/
|
|
188
109
|
clearSelection() {
|
|
189
110
|
self.selection = [];
|
|
190
111
|
},
|
|
191
|
-
/**
|
|
192
|
-
* #action
|
|
193
|
-
*/
|
|
194
112
|
addToFavorites(trackId) {
|
|
195
113
|
self.favoritesCounter += 1;
|
|
196
114
|
self.favorites = [...self.favorites, trackId];
|
|
197
115
|
},
|
|
198
|
-
/**
|
|
199
|
-
* #action
|
|
200
|
-
*/
|
|
201
116
|
removeFromFavorites(trackId) {
|
|
202
117
|
self.favorites = self.favorites.filter(f => f !== trackId);
|
|
203
118
|
},
|
|
204
|
-
/**
|
|
205
|
-
* #action
|
|
206
|
-
*/
|
|
207
119
|
clearFavorites() {
|
|
208
120
|
self.favorites = [];
|
|
209
121
|
},
|
|
210
|
-
/**
|
|
211
|
-
* #action
|
|
212
|
-
*/
|
|
213
122
|
setRecentlyUsedCounter(val) {
|
|
214
123
|
self.recentlyUsedCounter = val;
|
|
215
124
|
},
|
|
216
|
-
/**
|
|
217
|
-
* #action
|
|
218
|
-
*/
|
|
219
125
|
setRecentlyUsed(str) {
|
|
220
126
|
self.recentlyUsed = str;
|
|
221
127
|
},
|
|
222
|
-
/**
|
|
223
|
-
* #action
|
|
224
|
-
*/
|
|
225
128
|
setFavorites(str) {
|
|
226
129
|
self.favorites = str;
|
|
227
130
|
},
|
|
228
|
-
/**
|
|
229
|
-
* #action
|
|
230
|
-
*/
|
|
231
131
|
setFavoritesCounter(val) {
|
|
232
132
|
self.favoritesCounter = val;
|
|
233
133
|
},
|
|
234
|
-
/**
|
|
235
|
-
* #action
|
|
236
|
-
*/
|
|
237
134
|
addToRecentlyUsed(id) {
|
|
238
135
|
if (!self.recentlyUsed.includes(id)) {
|
|
239
136
|
self.recentlyUsedCounter = Math.min(self.recentlyUsedCounter + 1, MAX_RECENTLY_USED);
|
|
@@ -243,77 +140,41 @@ export default function stateTreeFactory(pluginManager) {
|
|
|
243
140
|
: [...self.recentlyUsed, id];
|
|
244
141
|
}
|
|
245
142
|
},
|
|
246
|
-
/**
|
|
247
|
-
* #action
|
|
248
|
-
*/
|
|
249
143
|
clearRecentlyUsed() {
|
|
250
144
|
self.recentlyUsed = [];
|
|
251
145
|
},
|
|
252
|
-
/**
|
|
253
|
-
* #action
|
|
254
|
-
*/
|
|
255
146
|
setView(view) {
|
|
256
147
|
self.view = view;
|
|
257
148
|
},
|
|
258
|
-
/**
|
|
259
|
-
* #action
|
|
260
|
-
*/
|
|
261
149
|
toggleCategory(pathName) {
|
|
262
150
|
self.collapsed.set(pathName, !self.collapsed.get(pathName));
|
|
263
151
|
},
|
|
264
|
-
/**
|
|
265
|
-
* #action
|
|
266
|
-
*/
|
|
267
152
|
setCategoryCollapsed(pathName, status) {
|
|
268
153
|
self.collapsed.set(pathName, status);
|
|
269
154
|
},
|
|
270
|
-
/**
|
|
271
|
-
* #action
|
|
272
|
-
*/
|
|
273
155
|
expandAllCategories() {
|
|
274
156
|
self.collapsed.clear();
|
|
275
157
|
},
|
|
276
|
-
/**
|
|
277
|
-
* #action
|
|
278
|
-
*/
|
|
279
158
|
setCollapsedCategories(str) {
|
|
280
159
|
self.collapsed.replace(str);
|
|
281
160
|
},
|
|
282
|
-
/**
|
|
283
|
-
* #action
|
|
284
|
-
*/
|
|
285
161
|
clearFilterText() {
|
|
286
162
|
self.filterText = '';
|
|
287
163
|
},
|
|
288
|
-
/**
|
|
289
|
-
* #action
|
|
290
|
-
*/
|
|
291
164
|
setFilterText(newText) {
|
|
292
165
|
self.filterText = newText;
|
|
293
166
|
},
|
|
294
167
|
}))
|
|
295
168
|
.views(self => ({
|
|
296
|
-
/**
|
|
297
|
-
* #method
|
|
298
|
-
*/
|
|
299
169
|
isSelected(track) {
|
|
300
170
|
return self.selectionSet.has(track);
|
|
301
171
|
},
|
|
302
|
-
/**
|
|
303
|
-
* #method
|
|
304
|
-
*/
|
|
305
172
|
isFavorite(trackId) {
|
|
306
173
|
return self.favoritesSet.has(trackId);
|
|
307
174
|
},
|
|
308
|
-
/**
|
|
309
|
-
* #method
|
|
310
|
-
*/
|
|
311
175
|
isRecentlyUsed(trackId) {
|
|
312
176
|
return self.recentlyUsedSet.has(trackId);
|
|
313
177
|
},
|
|
314
|
-
/**
|
|
315
|
-
* #method
|
|
316
|
-
*/
|
|
317
178
|
getRefSeqTrackConf(assemblyName) {
|
|
318
179
|
const { assemblyManager } = getSession(self);
|
|
319
180
|
const assembly = assemblyManager.get(assemblyName);
|
|
@@ -330,33 +191,20 @@ export default function stateTreeFactory(pluginManager) {
|
|
|
330
191
|
},
|
|
331
192
|
}))
|
|
332
193
|
.views(self => ({
|
|
333
|
-
/**
|
|
334
|
-
* #getter
|
|
335
|
-
*/
|
|
336
194
|
get activeSortTrackNames() {
|
|
337
195
|
var _a;
|
|
338
196
|
return ((_a = self.sortTrackNames) !== null && _a !== void 0 ? _a : getConf(getSession(self), ['hierarchical', 'sort', 'trackNames']));
|
|
339
197
|
},
|
|
340
|
-
/**
|
|
341
|
-
* #getter
|
|
342
|
-
*/
|
|
343
198
|
get activeSortCategories() {
|
|
344
199
|
var _a;
|
|
345
200
|
return ((_a = self.sortCategories) !== null && _a !== void 0 ? _a : getConf(getSession(self), ['hierarchical', 'sort', 'categories']));
|
|
346
201
|
},
|
|
347
|
-
/**
|
|
348
|
-
* #getter
|
|
349
|
-
* filter out tracks that don't match the current assembly/display types
|
|
350
|
-
*/
|
|
351
202
|
get configAndSessionTrackConfigurations() {
|
|
352
203
|
return [
|
|
353
204
|
...self.assemblyNames.map(a => self.getRefSeqTrackConf(a)),
|
|
354
205
|
...filterTracks(getSession(self).tracks, self),
|
|
355
206
|
].filter(notEmpty);
|
|
356
207
|
},
|
|
357
|
-
/**
|
|
358
|
-
* #getter
|
|
359
|
-
*/
|
|
360
208
|
get allTrackConfigurations() {
|
|
361
209
|
const { connectionInstances = [] } = getSession(self);
|
|
362
210
|
return [
|
|
@@ -364,27 +212,16 @@ export default function stateTreeFactory(pluginManager) {
|
|
|
364
212
|
...connectionInstances.flatMap(c => c.tracks),
|
|
365
213
|
];
|
|
366
214
|
},
|
|
367
|
-
/**
|
|
368
|
-
* #getter
|
|
369
|
-
*/
|
|
370
215
|
get allTrackConfigurationTrackIdSet() {
|
|
371
216
|
return new Map(this.allTrackConfigurations.map(t => [t.trackId, t]));
|
|
372
217
|
},
|
|
373
218
|
}))
|
|
374
219
|
.views(self => ({
|
|
375
|
-
/**
|
|
376
|
-
* #getter
|
|
377
|
-
* filters out tracks that are not in the favorites group
|
|
378
|
-
*/
|
|
379
220
|
get favoriteTracks() {
|
|
380
221
|
return self.favorites
|
|
381
222
|
.filter(t => self.allTrackConfigurationTrackIdSet.has(t))
|
|
382
223
|
.map(t => self.allTrackConfigurationTrackIdSet.get(t));
|
|
383
224
|
},
|
|
384
|
-
/**
|
|
385
|
-
* #getter
|
|
386
|
-
* filters out tracks that are not in the recently used group
|
|
387
|
-
*/
|
|
388
225
|
get recentlyUsedTracks() {
|
|
389
226
|
return self.recentlyUsed
|
|
390
227
|
.filter(t => self.allTrackConfigurationTrackIdSet.has(t))
|
|
@@ -392,9 +229,6 @@ export default function stateTreeFactory(pluginManager) {
|
|
|
392
229
|
},
|
|
393
230
|
}))
|
|
394
231
|
.views(self => ({
|
|
395
|
-
/**
|
|
396
|
-
* #getter
|
|
397
|
-
*/
|
|
398
232
|
get allTracks() {
|
|
399
233
|
const { connectionInstances = [] } = getSession(self);
|
|
400
234
|
return [
|
|
@@ -414,9 +248,6 @@ export default function stateTreeFactory(pluginManager) {
|
|
|
414
248
|
},
|
|
415
249
|
}))
|
|
416
250
|
.views(self => ({
|
|
417
|
-
/**
|
|
418
|
-
* #getter
|
|
419
|
-
*/
|
|
420
251
|
get hierarchy() {
|
|
421
252
|
return {
|
|
422
253
|
name: 'Root',
|
|
@@ -440,9 +271,6 @@ export default function stateTreeFactory(pluginManager) {
|
|
|
440
271
|
},
|
|
441
272
|
}))
|
|
442
273
|
.actions(self => ({
|
|
443
|
-
/**
|
|
444
|
-
* #action
|
|
445
|
-
*/
|
|
446
274
|
collapseSubCategories() {
|
|
447
275
|
const paths = [];
|
|
448
276
|
findSubCategories(self.hierarchy.children, paths);
|
|
@@ -450,9 +278,6 @@ export default function stateTreeFactory(pluginManager) {
|
|
|
450
278
|
self.setCategoryCollapsed(path, true);
|
|
451
279
|
}
|
|
452
280
|
},
|
|
453
|
-
/**
|
|
454
|
-
* #action
|
|
455
|
-
*/
|
|
456
281
|
collapseTopLevelCategories() {
|
|
457
282
|
const paths = [];
|
|
458
283
|
for (const trackGroups of self.hierarchy.children) {
|
|
@@ -466,16 +291,12 @@ export default function stateTreeFactory(pluginManager) {
|
|
|
466
291
|
},
|
|
467
292
|
}))
|
|
468
293
|
.views(self => ({
|
|
469
|
-
/**
|
|
470
|
-
* #getter
|
|
471
|
-
*/
|
|
472
294
|
get hasAnySubcategories() {
|
|
473
295
|
return self.allTracks.some(group => group.tracks.some(t => { var _a; return ((_a = readConfObject(t, 'category')) === null || _a === void 0 ? void 0 : _a.length) > 1; }));
|
|
474
296
|
},
|
|
475
297
|
}))
|
|
476
298
|
.actions(self => ({
|
|
477
299
|
afterAttach() {
|
|
478
|
-
// this should be the first autorun to properly initialize
|
|
479
300
|
addDisposer(self, autorun(() => {
|
|
480
301
|
const { assemblyNames, view } = self;
|
|
481
302
|
self.setRecentlyUsed(localStorageGetJSON(recentlyUsedK(assemblyNames), []));
|
|
@@ -500,7 +321,6 @@ export default function stateTreeFactory(pluginManager) {
|
|
|
500
321
|
}
|
|
501
322
|
}
|
|
502
323
|
}));
|
|
503
|
-
// this should be the second autorun
|
|
504
324
|
addDisposer(self, autorun(() => {
|
|
505
325
|
const { sortTrackNames, sortCategories, favorites, recentlyUsed, assemblyNames, collapsed, view, } = self;
|
|
506
326
|
localStorageSetJSON(recentlyUsedK(assemblyNames), recentlyUsed);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AnyConfigurationModel } from '@jbrowse/core/configuration';
|
|
2
|
-
import { AbstractSessionModel } from '@jbrowse/core/util';
|
|
1
|
+
import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
|
|
2
|
+
import type { AbstractSessionModel } from '@jbrowse/core/util';
|
|
3
3
|
export declare function hasAnyOverlap<T>(a1?: T[], a2?: T[]): boolean;
|
|
4
4
|
export declare function hasAllOverlap<T>(a1?: T[], a2?: T[]): boolean;
|
|
5
5
|
export declare function matches(query: string, conf: AnyConfigurationModel, session: AbstractSessionModel): boolean;
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { readConfObject
|
|
1
|
+
import { readConfObject } from '@jbrowse/core/configuration';
|
|
2
2
|
import { getTrackName } from '@jbrowse/core/util/tracks';
|
|
3
3
|
export function hasAnyOverlap(a1 = [], a2 = []) {
|
|
4
|
-
// shortcut case is that arrays are single entries, and are equal
|
|
5
|
-
// long case is that we use a set
|
|
6
4
|
if (a1[0] === a2[0]) {
|
|
7
5
|
return true;
|
|
8
6
|
}
|
|
@@ -26,7 +24,6 @@ export function findSubCategories(obj, paths, depth = 0) {
|
|
|
26
24
|
for (const elt of obj) {
|
|
27
25
|
if (elt.children.length) {
|
|
28
26
|
const hasSubCategories = findSubCategories(elt.children, paths, depth + 1);
|
|
29
|
-
// avoid pushing the root "Tracks" node by checking depth>0
|
|
30
27
|
if (hasSubCategories && depth > 0) {
|
|
31
28
|
paths.push(elt.id);
|
|
32
29
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { PluginStoreModel } from '../model';
|
|
1
|
+
import type { PluginStoreModel } from '../model';
|
|
3
2
|
declare const AddCustomPluginDialog: ({ onClose, model, }: {
|
|
4
3
|
onClose: () => void;
|
|
5
4
|
model: PluginStoreModel;
|
|
6
|
-
}) =>
|
|
5
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
7
6
|
export default AddCustomPluginDialog;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
3
|
import { Dialog } from '@jbrowse/core/ui';
|
|
4
|
-
import { Button, Collapse, DialogActions, DialogContent, DialogContentText, TextField, } from '@mui/material';
|
|
5
|
-
import { makeStyles } from 'tss-react/mui';
|
|
6
4
|
import { getSession } from '@jbrowse/core/util';
|
|
7
|
-
// icons
|
|
8
|
-
import IconButton from '@mui/material/IconButton';
|
|
9
5
|
import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
|
|
6
|
+
import { Button, Collapse, DialogActions, DialogContent, DialogContentText, TextField, } from '@mui/material';
|
|
7
|
+
import IconButton from '@mui/material/IconButton';
|
|
8
|
+
import { observer } from 'mobx-react';
|
|
9
|
+
import { makeStyles } from 'tss-react/mui';
|
|
10
10
|
const useStyles = makeStyles()(theme => ({
|
|
11
11
|
dialogContent: {
|
|
12
12
|
display: 'flex',
|
|
@@ -43,35 +43,18 @@ const AddCustomPluginDialog = observer(function ({ onClose, model, }) {
|
|
|
43
43
|
jbrowse.addPlugin({ cjsUrl: cjsPluginUrl });
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
-
return (
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
React.createElement(IconButton, { className: cx(classes.expand, {
|
|
60
|
-
[classes.expandOpen]: advancedOptionsOpen,
|
|
61
|
-
}), "aria-expanded": advancedOptionsOpen, "aria-label": "show more" },
|
|
62
|
-
React.createElement(ExpandMoreIcon, null)),
|
|
63
|
-
"Advanced options"),
|
|
64
|
-
React.createElement(Collapse, { in: advancedOptionsOpen },
|
|
65
|
-
React.createElement("div", { className: classes.dialogContent },
|
|
66
|
-
React.createElement(DialogContentText, null, "The above fields assume that the plugin is built in UMD format. If your plugin is in another format, or you have additional builds you want to add (such as a CJS build for using NodeJS APIs in desktop), you can enter the URLs for those builds below."),
|
|
67
|
-
React.createElement(TextField, { label: "ESM build URL", variant: "outlined", value: esmPluginUrl, onChange: event => {
|
|
68
|
-
setESMPluginUrl(event.target.value);
|
|
69
|
-
} }),
|
|
70
|
-
React.createElement(TextField, { label: "CJS build URL", variant: "outlined", value: cjsPluginUrl, onChange: event => {
|
|
71
|
-
setCJSPluginUrl(event.target.value);
|
|
72
|
-
} })))),
|
|
73
|
-
React.createElement(DialogActions, null,
|
|
74
|
-
React.createElement(Button, { variant: "contained", onClick: onClose }, "Cancel"),
|
|
75
|
-
React.createElement(Button, { variant: "contained", color: "primary", onClick: handleSubmit, disabled: !ready }, "Submit")))));
|
|
46
|
+
return (_jsx(Dialog, { open: true, onClose: onClose, title: "Add custom plugin", children: _jsxs("form", { onSubmit: handleSubmit, children: [_jsxs(DialogContent, { className: classes.dialogContent, children: [_jsx(DialogContentText, { children: "Enter the name of the plugin and its URL. The name should match what is defined in the plugin's build." }), _jsx(TextField, { label: "Plugin name", variant: "outlined", value: umdPluginName, onChange: event => {
|
|
47
|
+
setUMDPluginName(event.target.value);
|
|
48
|
+
} }), _jsx(TextField, { label: "Plugin URL", variant: "outlined", value: umdPluginUrl, onChange: event => {
|
|
49
|
+
setUMDPluginUrl(event.target.value);
|
|
50
|
+
} }), _jsxs(DialogContentText, { onClick: () => {
|
|
51
|
+
setAdvancedOptionsOpen(!advancedOptionsOpen);
|
|
52
|
+
}, children: [_jsx(IconButton, { className: cx(classes.expand, {
|
|
53
|
+
[classes.expandOpen]: advancedOptionsOpen,
|
|
54
|
+
}), "aria-expanded": advancedOptionsOpen, "aria-label": "show more", children: _jsx(ExpandMoreIcon, {}) }), "Advanced options"] }), _jsx(Collapse, { in: advancedOptionsOpen, children: _jsxs("div", { className: classes.dialogContent, children: [_jsx(DialogContentText, { children: "The above fields assume that the plugin is built in UMD format. If your plugin is in another format, or you have additional builds you want to add (such as a CJS build for using NodeJS APIs in desktop), you can enter the URLs for those builds below." }), _jsx(TextField, { label: "ESM build URL", variant: "outlined", value: esmPluginUrl, onChange: event => {
|
|
55
|
+
setESMPluginUrl(event.target.value);
|
|
56
|
+
} }), _jsx(TextField, { label: "CJS build URL", variant: "outlined", value: cjsPluginUrl, onChange: event => {
|
|
57
|
+
setCJSPluginUrl(event.target.value);
|
|
58
|
+
} })] }) })] }), _jsxs(DialogActions, { children: [_jsx(Button, { variant: "contained", onClick: onClose, children: "Cancel" }), _jsx(Button, { variant: "contained", color: "primary", onClick: handleSubmit, disabled: !ready, children: "Submit" })] })] }) }));
|
|
76
59
|
});
|
|
77
60
|
export default AddCustomPluginDialog;
|
|
@@ -1,24 +1,14 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { Button, DialogActions, DialogContent, Typography } from '@mui/material';
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
3
2
|
import { Dialog } from '@jbrowse/core/ui';
|
|
3
|
+
import { Button, DialogActions, DialogContent, Typography } from '@mui/material';
|
|
4
4
|
export default function DeletePluginDialog({ onClose, plugin, }) {
|
|
5
|
-
return (
|
|
5
|
+
return (_jsxs(Dialog, { open: true, title: `Remove ${plugin}`, onClose: () => {
|
|
6
6
|
onClose();
|
|
7
|
-
},
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
React.createElement(DialogActions, null,
|
|
15
|
-
React.createElement(Button, { variant: "contained", color: "primary", onClick: () => {
|
|
16
|
-
// avoid showing runtime plugin warning
|
|
17
|
-
window.setTimeout(() => {
|
|
18
|
-
onClose(plugin);
|
|
19
|
-
}, 500);
|
|
20
|
-
} }, "Confirm"),
|
|
21
|
-
React.createElement(Button, { variant: "contained", color: "secondary", onClick: () => {
|
|
22
|
-
onClose();
|
|
23
|
-
} }, "Cancel"))));
|
|
7
|
+
}, children: [_jsxs(DialogContent, { children: [_jsxs(Typography, { children: ["Please confirm that you want to remove ", plugin, "."] }), _jsx(Typography, { color: "error", children: "Note: if any resources in this session still use this plugin, it may cause your session to crash" })] }), _jsxs(DialogActions, { children: [_jsx(Button, { variant: "contained", color: "primary", onClick: () => {
|
|
8
|
+
window.setTimeout(() => {
|
|
9
|
+
onClose(plugin);
|
|
10
|
+
}, 500);
|
|
11
|
+
}, children: "Confirm" }), _jsx(Button, { variant: "contained", color: "secondary", onClick: () => {
|
|
12
|
+
onClose();
|
|
13
|
+
}, children: "Cancel" })] })] }));
|
|
24
14
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { BasePlugin } from '@jbrowse/core/util/types';
|
|
3
|
-
import { PluginStoreModel } from '../model';
|
|
1
|
+
import type { PluginStoreModel } from '../model';
|
|
2
|
+
import type { BasePlugin } from '@jbrowse/core/util/types';
|
|
4
3
|
declare const InstalledPlugin: ({ plugin, model, }: {
|
|
5
4
|
plugin: BasePlugin;
|
|
6
5
|
model: PluginStoreModel;
|
|
7
|
-
}) =>
|
|
6
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
8
7
|
export default InstalledPlugin;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { lazy } from 'react';
|
|
3
|
+
import { getEnv, getSession } from '@jbrowse/core/util';
|
|
4
|
+
import { isSessionWithSessionPlugins } from '@jbrowse/core/util/types';
|
|
5
5
|
import CloseIcon from '@mui/icons-material/Close';
|
|
6
6
|
import LockIcon from '@mui/icons-material/Lock';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
|
|
7
|
+
import { IconButton, ListItem, Tooltip, Typography } from '@mui/material';
|
|
8
|
+
import { observer } from 'mobx-react';
|
|
9
|
+
import { makeStyles } from 'tss-react/mui';
|
|
10
10
|
const DeletePluginDialog = lazy(() => import('./DeletePluginDialog'));
|
|
11
11
|
const useStyles = makeStyles()(() => ({
|
|
12
12
|
lockedPluginTooltip: {
|
|
@@ -15,36 +15,34 @@ const useStyles = makeStyles()(() => ({
|
|
|
15
15
|
}));
|
|
16
16
|
function LockedPlugin() {
|
|
17
17
|
const { classes } = useStyles();
|
|
18
|
-
return (
|
|
19
|
-
React.createElement(LockIcon, null)));
|
|
18
|
+
return (_jsx(Tooltip, { className: classes.lockedPluginTooltip, title: "This plugin was installed by an administrator, you cannot remove it.", children: _jsx(LockIcon, {}) }));
|
|
20
19
|
}
|
|
21
20
|
const InstalledPlugin = observer(function ({ plugin, model, }) {
|
|
22
|
-
const [dialogPlugin, setDialogPlugin] = useState();
|
|
23
21
|
const { pluginManager } = getEnv(model);
|
|
24
22
|
const session = getSession(model);
|
|
25
23
|
const { jbrowse, adminMode } = session;
|
|
26
24
|
const isSessionPlugin = isSessionWithSessionPlugins(session)
|
|
27
25
|
? session.sessionPlugins.some(p => { var _a; return ((_a = pluginManager.pluginMetadata[plugin.name]) === null || _a === void 0 ? void 0 : _a.url) === p.url; })
|
|
28
26
|
: false;
|
|
29
|
-
return (
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
27
|
+
return (_jsxs(ListItem, { children: [adminMode || isSessionPlugin ? (_jsx(IconButton, { "data-testid": `removePlugin-${plugin.name}`, onClick: () => {
|
|
28
|
+
session.queueDialog(onClose => [
|
|
29
|
+
DeletePluginDialog,
|
|
30
|
+
{
|
|
31
|
+
plugin: plugin.name,
|
|
32
|
+
onClose: (name) => {
|
|
33
|
+
if (name) {
|
|
34
|
+
const pluginMetadata = pluginManager.pluginMetadata[plugin.name];
|
|
35
|
+
if (adminMode) {
|
|
36
|
+
jbrowse.removePlugin(pluginMetadata);
|
|
37
|
+
}
|
|
38
|
+
else if (isSessionWithSessionPlugins(session)) {
|
|
39
|
+
session.removeSessionPlugin(pluginMetadata);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
onClose();
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
]);
|
|
46
|
+
}, children: _jsx(CloseIcon, {}) })) : (_jsx(LockedPlugin, {})), _jsx(Typography, { children: plugin.name })] }, plugin.name));
|
|
49
47
|
});
|
|
50
48
|
export default InstalledPlugin;
|