@jbrowse/plugin-data-management 3.7.0 → 4.0.1
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/esm/AddConnectionWidget/components/AddConnectionWidget.d.ts +1 -1
- package/esm/AddConnectionWidget/components/AddConnectionWidget.js +5 -5
- package/esm/AddConnectionWidget/components/ConfigureConnection.js +1 -1
- package/esm/AddConnectionWidget/index.js +2 -2
- package/esm/AddConnectionWidget/model.d.ts +4 -4
- package/esm/AddConnectionWidget/model.js +1 -1
- package/esm/AddTrackWidget/components/AddTrackStatusMessage.js +2 -2
- package/esm/AddTrackWidget/components/AddTrackUnknownAdapterPrompt.d.ts +1 -1
- package/esm/AddTrackWidget/components/AddTrackUnknownAdapterPrompt.js +2 -2
- package/esm/AddTrackWidget/components/AddTrackWidget.d.ts +1 -1
- package/esm/AddTrackWidget/components/AddTrackWidget.js +3 -3
- package/esm/AddTrackWidget/components/ConfirmTrack.d.ts +1 -1
- package/esm/AddTrackWidget/components/ConfirmTrack.js +10 -10
- package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.d.ts +1 -1
- package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.js +6 -9
- package/esm/AddTrackWidget/components/PasteConfigWorkflow.d.ts +2 -2
- package/esm/AddTrackWidget/components/PasteConfigWorkflow.js +2 -2
- package/esm/AddTrackWidget/components/TextIndexingConfig.d.ts +1 -1
- package/esm/AddTrackWidget/components/TextIndexingConfig.js +2 -2
- package/esm/AddTrackWidget/components/TrackAdapterSelector.d.ts +2 -2
- package/esm/AddTrackWidget/components/TrackAdapterSelector.js +4 -4
- package/esm/AddTrackWidget/components/TrackSourceSelect.d.ts +1 -1
- package/esm/AddTrackWidget/components/TrackSourceSelect.js +3 -3
- package/esm/AddTrackWidget/components/TrackTypeSelector.d.ts +1 -1
- package/esm/AddTrackWidget/components/TrackTypeSelector.js +1 -1
- package/esm/AddTrackWidget/components/Unsupported.js +1 -1
- package/esm/AddTrackWidget/components/doSubmit.d.ts +1 -1
- package/esm/AddTrackWidget/components/doSubmit.js +2 -3
- package/esm/AddTrackWidget/components/util.js +1 -2
- package/esm/AddTrackWidget/index.js +2 -2
- package/esm/AddTrackWidget/model.d.ts +8 -11
- package/esm/AddTrackWidget/model.js +10 -25
- package/esm/AssemblyManager/AssemblyAddForm.js +6 -6
- package/esm/AssemblyManager/AssemblyEditor.js +2 -2
- package/esm/AssemblyManager/AssemblyManager.js +4 -4
- package/esm/AssemblyManager/AssemblyTable.js +1 -1
- package/esm/AssemblyManager/index.d.ts +1 -1
- package/esm/AssemblyManager/index.js +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/AutoSizer.d.ts +8 -0
- package/esm/HierarchicalTrackSelectorWidget/components/AutoSizer.js +24 -0
- package/esm/HierarchicalTrackSelectorWidget/components/ClearableSearchField.d.ts +6 -0
- package/esm/HierarchicalTrackSelectorWidget/components/ClearableSearchField.js +27 -0
- package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalFab.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalFab.js +2 -2
- package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +9 -9
- package/esm/HierarchicalTrackSelectorWidget/components/ShoppingCart.js +4 -5
- package/esm/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.js +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.js +1 -2
- package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.js +3 -3
- package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.js +4 -5
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.js +2 -2
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.d.ts +2 -2
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js +5 -6
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedDataGrid.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedDataGrid.js +39 -58
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.js +2 -2
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js +6 -12
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js +7 -7
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/computeInitialWidths.d.ts +6 -0
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/computeInitialWidths.js +18 -0
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/util.js +1 -2
- package/esm/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.js +3 -3
- package/esm/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.js +13 -32
- package/esm/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js +7 -8
- package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js +11 -22
- package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.d.ts +2 -4
- package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js +42 -59
- package/esm/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.js +13 -29
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.d.ts +7 -6
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js +86 -92
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.d.ts +8 -4
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js +28 -15
- package/{dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabelMenu.d.ts → esm/HierarchicalTrackSelectorWidget/components/tree/TrackSelectorTrackMenu.d.ts} +3 -4
- package/esm/HierarchicalTrackSelectorWidget/components/tree/{TrackLabelMenu.js → TrackSelectorTrackMenu.js} +13 -7
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TreeItem.d.ts +9 -0
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TreeItem.js +49 -0
- package/esm/HierarchicalTrackSelectorWidget/components/tree/trackListStyles.d.ts +21 -0
- package/esm/HierarchicalTrackSelectorWidget/components/tree/trackListStyles.js +29 -0
- package/esm/HierarchicalTrackSelectorWidget/components/util.d.ts +1 -20
- package/esm/HierarchicalTrackSelectorWidget/components/util.js +1 -10
- package/esm/HierarchicalTrackSelectorWidget/configSchema.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/facetedModel.d.ts +24 -30
- package/esm/HierarchicalTrackSelectorWidget/facetedModel.js +34 -23
- package/esm/HierarchicalTrackSelectorWidget/facetedUtil.js +2 -2
- package/esm/HierarchicalTrackSelectorWidget/filterTracks.d.ts +3 -7
- package/esm/HierarchicalTrackSelectorWidget/filterTracks.js +13 -11
- package/esm/HierarchicalTrackSelectorWidget/generateHierarchy.d.ts +2 -28
- package/esm/HierarchicalTrackSelectorWidget/generateHierarchy.js +34 -59
- package/esm/HierarchicalTrackSelectorWidget/index.d.ts +2 -2
- package/esm/HierarchicalTrackSelectorWidget/index.js +5 -5
- package/esm/HierarchicalTrackSelectorWidget/model.d.ts +67 -87
- package/esm/HierarchicalTrackSelectorWidget/model.js +90 -23
- package/esm/HierarchicalTrackSelectorWidget/sortUtils.d.ts +2 -0
- package/esm/HierarchicalTrackSelectorWidget/sortUtils.js +28 -0
- package/esm/HierarchicalTrackSelectorWidget/types.d.ts +23 -0
- package/esm/HierarchicalTrackSelectorWidget/types.js +1 -0
- package/esm/HierarchicalTrackSelectorWidget/util.js +1 -1
- package/esm/JB2TrackHubConnection/configSchema.d.ts +3 -3
- package/esm/JB2TrackHubConnection/doConnect.js +3 -4
- package/esm/JB2TrackHubConnection/index.js +2 -2
- package/esm/JB2TrackHubConnection/model.d.ts +18 -26
- package/esm/JB2TrackHubConnection/model.js +3 -3
- package/esm/PluginStoreWidget/components/AddCustomPluginDialog.d.ts +1 -1
- package/esm/PluginStoreWidget/components/AddCustomPluginDialog.js +3 -3
- package/esm/PluginStoreWidget/components/InstalledPlugin.d.ts +1 -1
- package/esm/PluginStoreWidget/components/InstalledPlugin.js +5 -5
- package/esm/PluginStoreWidget/components/InstalledPluginsList.d.ts +1 -1
- package/esm/PluginStoreWidget/components/InstalledPluginsList.js +2 -2
- package/esm/PluginStoreWidget/components/PluginCard.d.ts +1 -1
- package/esm/PluginStoreWidget/components/PluginCard.js +1 -5
- package/esm/PluginStoreWidget/components/PluginStoreWidget.d.ts +1 -1
- package/esm/PluginStoreWidget/components/PluginStoreWidget.js +22 -10
- package/esm/PluginStoreWidget/components/util.js +1 -1
- package/esm/PluginStoreWidget/index.js +2 -2
- package/esm/PluginStoreWidget/model.d.ts +7 -7
- package/esm/PluginStoreWidget/model.js +1 -1
- package/esm/UCSCTrackHubConnection/configSchema.d.ts +3 -3
- package/esm/UCSCTrackHubConnection/doConnect.js +3 -9
- package/esm/UCSCTrackHubConnection/index.js +2 -2
- package/esm/UCSCTrackHubConnection/model.d.ts +18 -26
- package/esm/UCSCTrackHubConnection/model.js +3 -3
- package/esm/UCSCTrackHubConnection/ucscTrackHub.d.ts +1 -8
- package/esm/UCSCTrackHubConnection/ucscTrackHub.js +6 -10
- package/esm/index.d.ts +2 -2
- package/esm/index.js +11 -14
- package/package.json +28 -37
- package/dist/AddConnectionWidget/components/AddConnectionWidget.d.ts +0 -4
- package/dist/AddConnectionWidget/components/AddConnectionWidget.js +0 -66
- package/dist/AddConnectionWidget/components/ConfigureConnection.d.ts +0 -9
- package/dist/AddConnectionWidget/components/ConfigureConnection.js +0 -12
- package/dist/AddConnectionWidget/components/ConnectionTypeSelect.d.ts +0 -7
- package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js +0 -19
- package/dist/AddConnectionWidget/index.d.ts +0 -2
- package/dist/AddConnectionWidget/index.js +0 -55
- package/dist/AddConnectionWidget/model.d.ts +0 -5
- package/dist/AddConnectionWidget/model.js +0 -8
- package/dist/AddTrackWidget/components/AddTrackStatusMessage.d.ts +0 -9
- package/dist/AddTrackWidget/components/AddTrackStatusMessage.js +0 -16
- package/dist/AddTrackWidget/components/AddTrackUnknownAdapterPrompt.d.ts +0 -4
- package/dist/AddTrackWidget/components/AddTrackUnknownAdapterPrompt.js +0 -20
- package/dist/AddTrackWidget/components/AddTrackWidget.d.ts +0 -5
- package/dist/AddTrackWidget/components/AddTrackWidget.js +0 -28
- package/dist/AddTrackWidget/components/ConfirmTrack.d.ts +0 -5
- package/dist/AddTrackWidget/components/ConfirmTrack.js +0 -73
- package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.d.ts +0 -5
- package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.js +0 -74
- package/dist/AddTrackWidget/components/PasteConfigWorkflow.d.ts +0 -5
- package/dist/AddTrackWidget/components/PasteConfigWorkflow.js +0 -53
- package/dist/AddTrackWidget/components/TextIndexingConfig.d.ts +0 -5
- package/dist/AddTrackWidget/components/TextIndexingConfig.js +0 -76
- package/dist/AddTrackWidget/components/TrackAdapterSelector.d.ts +0 -5
- package/dist/AddTrackWidget/components/TrackAdapterSelector.js +0 -26
- package/dist/AddTrackWidget/components/TrackSourceSelect.d.ts +0 -5
- package/dist/AddTrackWidget/components/TrackSourceSelect.js +0 -22
- package/dist/AddTrackWidget/components/TrackTypeSelector.d.ts +0 -5
- package/dist/AddTrackWidget/components/TrackTypeSelector.js +0 -21
- package/dist/AddTrackWidget/components/Unsupported.d.ts +0 -1
- package/dist/AddTrackWidget/components/Unsupported.js +0 -16
- package/dist/AddTrackWidget/components/doSubmit.d.ts +0 -4
- package/dist/AddTrackWidget/components/doSubmit.js +0 -55
- package/dist/AddTrackWidget/components/util.d.ts +0 -2
- package/dist/AddTrackWidget/components/util.js +0 -15
- package/dist/AddTrackWidget/index.d.ts +0 -2
- package/dist/AddTrackWidget/index.js +0 -55
- package/dist/AddTrackWidget/model.d.ts +0 -64
- package/dist/AddTrackWidget/model.js +0 -190
- package/dist/AssemblyManager/AssemblyAddForm.d.ts +0 -6
- package/dist/AssemblyManager/AssemblyAddForm.js +0 -94
- package/dist/AssemblyManager/AssemblyEditor.d.ts +0 -6
- package/dist/AssemblyManager/AssemblyEditor.js +0 -20
- package/dist/AssemblyManager/AssemblyManager.d.ts +0 -6
- package/dist/AssemblyManager/AssemblyManager.js +0 -30
- package/dist/AssemblyManager/AssemblyTable.d.ts +0 -9
- package/dist/AssemblyManager/AssemblyTable.js +0 -53
- package/dist/AssemblyManager/index.d.ts +0 -1
- package/dist/AssemblyManager/index.js +0 -8
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalFab.d.ts +0 -5
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalFab.js +0 -47
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.d.ts +0 -10
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +0 -26
- package/dist/HierarchicalTrackSelectorWidget/components/ShoppingCart.d.ts +0 -8
- package/dist/HierarchicalTrackSelectorWidget/components/ShoppingCart.js +0 -52
- package/dist/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.d.ts +0 -9
- package/dist/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.js +0 -16
- package/dist/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.d.ts +0 -11
- package/dist/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.js +0 -17
- package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.d.ts +0 -8
- package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.js +0 -34
- package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.d.ts +0 -8
- package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.js +0 -47
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.d.ts +0 -9
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.js +0 -52
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.d.ts +0 -10
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js +0 -51
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedDataGrid.d.ts +0 -9
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedDataGrid.js +0 -75
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.d.ts +0 -6
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.js +0 -15
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.d.ts +0 -4
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js +0 -67
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.d.ts +0 -11
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js +0 -75
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/util.d.ts +0 -6
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/util.js +0 -9
- package/dist/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.d.ts +0 -11
- package/dist/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.js +0 -34
- package/dist/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.d.ts +0 -5
- package/dist/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.js +0 -45
- package/dist/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.d.ts +0 -5
- package/dist/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js +0 -196
- package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.d.ts +0 -6
- package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js +0 -38
- package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.d.ts +0 -8
- package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js +0 -68
- package/dist/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.d.ts +0 -5
- package/dist/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.js +0 -42
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.d.ts +0 -6
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js +0 -117
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.d.ts +0 -10
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js +0 -49
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabelMenu.js +0 -56
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.d.ts +0 -9
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.js +0 -42
- package/dist/HierarchicalTrackSelectorWidget/components/util.d.ts +0 -23
- package/dist/HierarchicalTrackSelectorWidget/components/util.js +0 -22
- package/dist/HierarchicalTrackSelectorWidget/configSchema.d.ts +0 -2
- package/dist/HierarchicalTrackSelectorWidget/configSchema.js +0 -5
- package/dist/HierarchicalTrackSelectorWidget/facetedModel.d.ts +0 -82
- package/dist/HierarchicalTrackSelectorWidget/facetedModel.js +0 -114
- package/dist/HierarchicalTrackSelectorWidget/facetedUtil.d.ts +0 -2
- package/dist/HierarchicalTrackSelectorWidget/facetedUtil.js +0 -12
- package/dist/HierarchicalTrackSelectorWidget/filterTracks.d.ts +0 -18
- package/dist/HierarchicalTrackSelectorWidget/filterTracks.js +0 -31
- package/dist/HierarchicalTrackSelectorWidget/generateHierarchy.d.ts +0 -36
- package/dist/HierarchicalTrackSelectorWidget/generateHierarchy.js +0 -90
- package/dist/HierarchicalTrackSelectorWidget/index.d.ts +0 -4
- package/dist/HierarchicalTrackSelectorWidget/index.js +0 -59
- package/dist/HierarchicalTrackSelectorWidget/model.d.ts +0 -244
- package/dist/HierarchicalTrackSelectorWidget/model.js +0 -339
- package/dist/HierarchicalTrackSelectorWidget/util.d.ts +0 -12
- package/dist/HierarchicalTrackSelectorWidget/util.js +0 -50
- package/dist/JB2TrackHubConnection/addRelativeUris.d.ts +0 -1
- package/dist/JB2TrackHubConnection/addRelativeUris.js +0 -15
- package/dist/JB2TrackHubConnection/configSchema.d.ts +0 -27
- package/dist/JB2TrackHubConnection/configSchema.js +0 -34
- package/dist/JB2TrackHubConnection/doConnect.d.ts +0 -5
- package/dist/JB2TrackHubConnection/doConnect.js +0 -34
- package/dist/JB2TrackHubConnection/index.d.ts +0 -2
- package/dist/JB2TrackHubConnection/index.js +0 -21
- package/dist/JB2TrackHubConnection/model.d.ts +0 -75
- package/dist/JB2TrackHubConnection/model.js +0 -56
- package/dist/JB2TrackHubConnection/util.d.ts +0 -22
- package/dist/JB2TrackHubConnection/util.js +0 -41
- package/dist/PluginStoreWidget/components/AddCustomPluginDialog.d.ts +0 -6
- package/dist/PluginStoreWidget/components/AddCustomPluginDialog.js +0 -65
- package/dist/PluginStoreWidget/components/DeletePluginDialog.d.ts +0 -4
- package/dist/PluginStoreWidget/components/DeletePluginDialog.js +0 -17
- package/dist/PluginStoreWidget/components/InstalledPlugin.d.ts +0 -7
- package/dist/PluginStoreWidget/components/InstalledPlugin.js +0 -92
- package/dist/PluginStoreWidget/components/InstalledPluginsList.d.ts +0 -7
- package/dist/PluginStoreWidget/components/InstalledPluginsList.js +0 -18
- package/dist/PluginStoreWidget/components/PluginCard.d.ts +0 -7
- package/dist/PluginStoreWidget/components/PluginCard.js +0 -58
- package/dist/PluginStoreWidget/components/PluginStoreWidget.d.ts +0 -5
- package/dist/PluginStoreWidget/components/PluginStoreWidget.js +0 -104
- package/dist/PluginStoreWidget/components/util.d.ts +0 -6
- package/dist/PluginStoreWidget/components/util.js +0 -35
- package/dist/PluginStoreWidget/index.d.ts +0 -2
- package/dist/PluginStoreWidget/index.js +0 -55
- package/dist/PluginStoreWidget/model.d.ts +0 -13
- package/dist/PluginStoreWidget/model.js +0 -22
- package/dist/UCSCTrackHubConnection/configSchema.d.ts +0 -27
- package/dist/UCSCTrackHubConnection/configSchema.js +0 -34
- package/dist/UCSCTrackHubConnection/doConnect.d.ts +0 -5
- package/dist/UCSCTrackHubConnection/doConnect.js +0 -152
- package/dist/UCSCTrackHubConnection/index.d.ts +0 -2
- package/dist/UCSCTrackHubConnection/index.js +0 -21
- package/dist/UCSCTrackHubConnection/model.d.ts +0 -75
- package/dist/UCSCTrackHubConnection/model.js +0 -56
- package/dist/UCSCTrackHubConnection/ucscAssemblies.d.ts +0 -2
- package/dist/UCSCTrackHubConnection/ucscAssemblies.js +0 -199
- package/dist/UCSCTrackHubConnection/ucscTrackHub.d.ts +0 -182
- package/dist/UCSCTrackHubConnection/ucscTrackHub.js +0 -162
- package/dist/UCSCTrackHubConnection/util.d.ts +0 -22
- package/dist/UCSCTrackHubConnection/util.js +0 -41
- package/dist/index.d.ts +0 -20
- package/dist/index.js +0 -68
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabelMenu.d.ts +0 -11
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.d.ts +0 -9
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.js +0 -36
|
@@ -3,21 +3,21 @@ import { useState } from 'react';
|
|
|
3
3
|
import { FileSelector } from '@jbrowse/core/ui';
|
|
4
4
|
import { Alert, Button, DialogActions, DialogContent, MenuItem, TextField, } from '@mui/material';
|
|
5
5
|
import { observer } from 'mobx-react';
|
|
6
|
-
const AdapterSelector = observer(function ({ adapterSelection, setAdapterSelection, adapterTypes, }) {
|
|
6
|
+
const AdapterSelector = observer(function AdapterSelector({ adapterSelection, setAdapterSelection, adapterTypes, }) {
|
|
7
7
|
return (_jsx(TextField, { value: adapterSelection, variant: "outlined", select: true, helperText: "Type of adapter to use", fullWidth: true, onChange: event => {
|
|
8
8
|
setAdapterSelection(event.target.value);
|
|
9
9
|
}, children: adapterTypes.map(str => (_jsx(MenuItem, { value: str, children: str }, str))) }));
|
|
10
10
|
});
|
|
11
|
-
const UnindexedFastaAdapterInput = observer(function ({ fastaLocation, setFastaLocation, }) {
|
|
11
|
+
const UnindexedFastaAdapterInput = observer(function UnindexedFastaAdapterInput({ fastaLocation, setFastaLocation, }) {
|
|
12
12
|
return (_jsxs(_Fragment, { children: [_jsx(Alert, { severity: "warning", style: { margin: 8 }, children: "Note: a FASTA index will be generated on submit, might take a couple minutes and if the file is remote, it will be downloaded in full" }), _jsx("div", { children: _jsx(FileSelector, { inline: true, name: "FASTA file", location: fastaLocation, setLocation: setFastaLocation }) })] }));
|
|
13
13
|
});
|
|
14
|
-
const IndexedFastaAdapterInput = observer(function ({ fastaLocation, faiLocation, setFaiLocation, setFastaLocation, }) {
|
|
14
|
+
const IndexedFastaAdapterInput = observer(function IndexedFastaAdapterInput({ fastaLocation, faiLocation, setFaiLocation, setFastaLocation, }) {
|
|
15
15
|
return (_jsxs(_Fragment, { children: [_jsx("div", { children: _jsx(FileSelector, { inline: true, name: "FASTA file", location: fastaLocation, setLocation: setFastaLocation }) }), _jsx("div", { children: _jsx(FileSelector, { inline: true, name: "FASTA index (.fai) file", location: faiLocation, setLocation: setFaiLocation }) })] }));
|
|
16
16
|
});
|
|
17
|
-
const BgzipFastaAdapterInput = observer(function ({ fastaLocation, faiLocation, gziLocation, setFaiLocation, setGziLocation, setFastaLocation, }) {
|
|
17
|
+
const BgzipFastaAdapterInput = observer(function BgzipFastaAdapterInput({ fastaLocation, faiLocation, gziLocation, setFaiLocation, setGziLocation, setFastaLocation, }) {
|
|
18
18
|
return (_jsxs(_Fragment, { children: [_jsx("div", { children: _jsx(FileSelector, { inline: true, name: "FASTA file (.fa.gz)", location: fastaLocation, setLocation: setFastaLocation }) }), _jsx("div", { children: _jsx(FileSelector, { inline: true, name: "FASTA index (.fai) file", location: faiLocation, setLocation: setFaiLocation }) }), _jsx("div", { children: _jsx(FileSelector, { inline: true, name: "FASTA gzip index (.gzi) file", location: gziLocation, setLocation: setGziLocation }) })] }));
|
|
19
19
|
});
|
|
20
|
-
const TwoBitAdapterInput = observer(function ({ twoBitLocation, chromSizesLocation, setTwoBitLocation, setChromSizesLocation, }) {
|
|
20
|
+
const TwoBitAdapterInput = observer(function TwoBitAdapterInput({ twoBitLocation, chromSizesLocation, setTwoBitLocation, setChromSizesLocation, }) {
|
|
21
21
|
return (_jsxs(_Fragment, { children: [_jsx("div", { children: _jsx(FileSelector, { inline: true, name: "2bit file", location: twoBitLocation, setLocation: setTwoBitLocation }) }), _jsx("div", { children: _jsx(FileSelector, { inline: true, name: ".chrom.sizes (optional, can speed up loading 2bit files with many contigs)", location: chromSizesLocation, setLocation: setChromSizesLocation }) })] }));
|
|
22
22
|
});
|
|
23
23
|
const blank = { uri: '' };
|
|
@@ -27,7 +27,7 @@ const adapterTypes = [
|
|
|
27
27
|
'UnindexedFastaAdapter',
|
|
28
28
|
'TwoBitAdapter',
|
|
29
29
|
];
|
|
30
|
-
const AssemblyAddForm = observer(function ({ session, onClose, }) {
|
|
30
|
+
const AssemblyAddForm = observer(function AssemblyAddForm({ session, onClose, }) {
|
|
31
31
|
const [assemblyName, setAssemblyName] = useState('');
|
|
32
32
|
const [assemblyDisplayName, setAssemblyDisplayName] = useState('');
|
|
33
33
|
const [adapterSelection, setAdapterSelection] = useState(adapterTypes[0]);
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
2
3
|
import { ConfigurationEditor } from '@jbrowse/plugin-config';
|
|
3
4
|
import { Button, DialogActions, DialogContent } from '@mui/material';
|
|
4
5
|
import { observer } from 'mobx-react';
|
|
5
|
-
import { makeStyles } from 'tss-react/mui';
|
|
6
6
|
const useStyles = makeStyles()({
|
|
7
7
|
container: {
|
|
8
8
|
overflow: 'auto',
|
|
9
9
|
maxHeight: 600,
|
|
10
10
|
},
|
|
11
11
|
});
|
|
12
|
-
const AssemblyEditor = observer(function ({ assembly, onClose, }) {
|
|
12
|
+
const AssemblyEditor = observer(function AssemblyEditor({ assembly, onClose, }) {
|
|
13
13
|
const { classes } = useStyles();
|
|
14
14
|
return (_jsxs(_Fragment, { children: [_jsx(DialogContent, { children: _jsx("div", { className: classes.container, children: assembly ? (_jsx(ConfigurationEditor, { model: { target: assembly } })) : (_jsx("div", { children: "No assembly" })) }) }), _jsx(DialogActions, { children: _jsx(Button, { variant: "contained", onClick: () => {
|
|
15
15
|
onClose();
|
|
@@ -2,10 +2,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { Dialog } from '@jbrowse/core/ui';
|
|
4
4
|
import { observer } from 'mobx-react';
|
|
5
|
-
import AssemblyAddForm from
|
|
6
|
-
import AssemblyEditor from
|
|
7
|
-
import AssemblyTable from
|
|
8
|
-
const AssemblyManager = observer(function ({ session, onClose, }) {
|
|
5
|
+
import AssemblyAddForm from "./AssemblyAddForm.js";
|
|
6
|
+
import AssemblyEditor from "./AssemblyEditor.js";
|
|
7
|
+
import AssemblyTable from "./AssemblyTable.js";
|
|
8
|
+
const AssemblyManager = observer(function AssemblyManager({ session, onClose, }) {
|
|
9
9
|
const [isFormOpen, setFormOpen] = useState(false);
|
|
10
10
|
const [editingAssembly, setEditingAssembly] = useState();
|
|
11
11
|
return (_jsx(Dialog, { open: true, title: "Assembly manager", onClose: () => {
|
|
@@ -7,7 +7,7 @@ import DeleteIcon from '@mui/icons-material/Delete';
|
|
|
7
7
|
import { Button, DialogActions, DialogContent, IconButton } from '@mui/material';
|
|
8
8
|
import { DataGrid } from '@mui/x-data-grid';
|
|
9
9
|
import { observer } from 'mobx-react';
|
|
10
|
-
const AssemblyTable = observer(function ({ onEditAssembly, onAddAssembly, onClose, session, }) {
|
|
10
|
+
const AssemblyTable = observer(function AssemblyTable({ onEditAssembly, onAddAssembly, onClose, session, }) {
|
|
11
11
|
return (_jsxs(_Fragment, { children: [_jsx(DialogContent, { children: _jsx(DataGridFlexContainer, { children: _jsx(DataGrid, { rowHeight: 25, columnHeaderHeight: 35, hideFooter: session.assemblies.length < 25, rows: session.assemblies.map(assembly => ({
|
|
12
12
|
id: readConfObject(assembly, 'name'),
|
|
13
13
|
name: readConfObject(assembly, 'name'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default } from './AssemblyManager';
|
|
1
|
+
export { default } from './AssemblyManager.tsx';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default } from
|
|
1
|
+
export { default } from "./AssemblyManager.js";
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef, useState } from 'react';
|
|
3
|
+
export default function AutoSizer({ children, disableWidth, }) {
|
|
4
|
+
const ref = useRef(null);
|
|
5
|
+
const [height, setHeight] = useState(0);
|
|
6
|
+
useEffect(() => {
|
|
7
|
+
const parent = ref.current?.parentElement;
|
|
8
|
+
if (!parent) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
const observer = new ResizeObserver(() => {
|
|
12
|
+
const style = window.getComputedStyle(parent);
|
|
13
|
+
const rect = parent.getBoundingClientRect();
|
|
14
|
+
setHeight(rect.height -
|
|
15
|
+
parseFloat(style.paddingTop) -
|
|
16
|
+
parseFloat(style.paddingBottom));
|
|
17
|
+
});
|
|
18
|
+
observer.observe(parent);
|
|
19
|
+
return () => {
|
|
20
|
+
observer.disconnect();
|
|
21
|
+
};
|
|
22
|
+
}, []);
|
|
23
|
+
return (_jsx("div", { ref: ref, style: { height: disableWidth ? 0 : undefined, overflow: 'visible' }, children: height > 0 ? children({ height, width: 0 }) : null }));
|
|
24
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState, useTransition } from 'react';
|
|
3
|
+
import ClearIcon from '@mui/icons-material/Clear';
|
|
4
|
+
import { IconButton, InputAdornment, TextField } from '@mui/material';
|
|
5
|
+
export default function ClearableSearchField({ value, onChange, label, className, }) {
|
|
6
|
+
const [localValue, setLocalValue] = useState(value);
|
|
7
|
+
const [, startTransition] = useTransition();
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
if (value === '') {
|
|
10
|
+
setLocalValue('');
|
|
11
|
+
}
|
|
12
|
+
}, [value]);
|
|
13
|
+
return (_jsx(TextField, { className: className, label: label, value: localValue, onChange: event => {
|
|
14
|
+
const newValue = event.target.value;
|
|
15
|
+
setLocalValue(newValue);
|
|
16
|
+
startTransition(() => {
|
|
17
|
+
onChange(newValue);
|
|
18
|
+
});
|
|
19
|
+
}, fullWidth: true, slotProps: {
|
|
20
|
+
input: {
|
|
21
|
+
endAdornment: (_jsx(InputAdornment, { position: "end", children: _jsx(IconButton, { onClick: () => {
|
|
22
|
+
setLocalValue('');
|
|
23
|
+
onChange('');
|
|
24
|
+
}, children: _jsx(ClearIcon, {}) }) })),
|
|
25
|
+
},
|
|
26
|
+
} }));
|
|
27
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { HierarchicalTrackSelectorModel } from '../model';
|
|
1
|
+
import type { HierarchicalTrackSelectorModel } from '../model.ts';
|
|
2
2
|
declare const HierarchicalFab: ({ model, }: {
|
|
3
3
|
model: HierarchicalTrackSelectorModel;
|
|
4
4
|
}) => import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { getSession, isSessionModelWithConnections, isSessionModelWithWidgets, isSessionWithAddTracks, } from '@jbrowse/core/util';
|
|
4
|
+
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
4
5
|
import AddIcon from '@mui/icons-material/Add';
|
|
5
6
|
import { Fab, Menu, MenuItem } from '@mui/material';
|
|
6
7
|
import { observer } from 'mobx-react';
|
|
7
|
-
import { makeStyles } from 'tss-react/mui';
|
|
8
8
|
const useStyles = makeStyles()(theme => ({
|
|
9
9
|
fab: {
|
|
10
10
|
position: 'absolute',
|
|
@@ -12,7 +12,7 @@ const useStyles = makeStyles()(theme => ({
|
|
|
12
12
|
right: theme.spacing(6),
|
|
13
13
|
},
|
|
14
14
|
}));
|
|
15
|
-
const HierarchicalFab = observer(function ({ model, }) {
|
|
15
|
+
const HierarchicalFab = observer(function HierarchicalFab({ model, }) {
|
|
16
16
|
const { classes } = useStyles();
|
|
17
17
|
const session = getSession(model);
|
|
18
18
|
const [anchorEl, setAnchorEl] = useState(null);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { HierarchicalTrackSelectorModel } from '../model';
|
|
1
|
+
import type { HierarchicalTrackSelectorModel } from '../model.ts';
|
|
2
2
|
declare const HierarchicalTrackSelectorContainer: ({ model, toolbarHeight, overrideDimensions, }: {
|
|
3
3
|
model: HierarchicalTrackSelectorModel;
|
|
4
4
|
toolbarHeight: number;
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { observer } from 'mobx-react';
|
|
4
|
-
import AutoSizer from
|
|
5
|
-
import HierarchicalFab from
|
|
6
|
-
import HierarchicalHeader from
|
|
7
|
-
import HierarchicalTree from
|
|
8
|
-
const AutoSizedHierarchicalTree = ({
|
|
9
|
-
return typeof jest === 'undefined' ? (_jsx(AutoSizer, { disableWidth: true, children: args => (_jsx(HierarchicalTree, { height: (args.height || offset) - offset, model: model
|
|
4
|
+
import AutoSizer from "./AutoSizer.js";
|
|
5
|
+
import HierarchicalFab from "./HierarchicalFab.js";
|
|
6
|
+
import HierarchicalHeader from "./tree/HierarchicalHeader.js";
|
|
7
|
+
import HierarchicalTree from "./tree/HierarchicalTree.js";
|
|
8
|
+
const AutoSizedHierarchicalTree = ({ model, offset, }) => {
|
|
9
|
+
return typeof jest === 'undefined' ? (_jsx(AutoSizer, { disableWidth: true, children: args => (_jsx(HierarchicalTree, { height: (args.height || offset) - offset, model: model })) })) : (_jsx(HierarchicalTree, { height: 9000, model: model }));
|
|
10
10
|
};
|
|
11
11
|
const Wrapper = ({ overrideDimensions, children, }) => {
|
|
12
12
|
return overrideDimensions ? (_jsx("div", { style: { ...overrideDimensions }, children: children })) : (children);
|
|
13
13
|
};
|
|
14
|
-
const HierarchicalTrackSelectorContainer = observer(function ({ model, toolbarHeight, overrideDimensions, }) {
|
|
14
|
+
const HierarchicalTrackSelectorContainer = observer(function HierarchicalTrackSelectorContainer({ model, toolbarHeight, overrideDimensions, }) {
|
|
15
15
|
return (_jsxs(Wrapper, { overrideDimensions: overrideDimensions, children: [_jsx(HierarchicalTrackSelector, { model: model, toolbarHeight: toolbarHeight }), _jsx(HierarchicalFab, { model: model })] }));
|
|
16
16
|
});
|
|
17
|
-
const HierarchicalTrackSelector = observer(function ({ model, toolbarHeight = 0, }) {
|
|
17
|
+
const HierarchicalTrackSelector = observer(function HierarchicalTrackSelector({ model, toolbarHeight = 0, }) {
|
|
18
18
|
const [headerHeight, setHeaderHeight] = useState(0);
|
|
19
|
-
return (_jsxs(_Fragment, { children: [_jsx(HierarchicalHeader, { model: model, setHeaderHeight: setHeaderHeight }), _jsx(AutoSizedHierarchicalTree, {
|
|
19
|
+
return (_jsxs(_Fragment, { children: [_jsx(HierarchicalHeader, { model: model, setHeaderHeight: setHeaderHeight }), _jsx(AutoSizedHierarchicalTree, { model: model, offset: toolbarHeight + headerHeight })] }));
|
|
20
20
|
});
|
|
21
21
|
export default HierarchicalTrackSelectorContainer;
|
|
@@ -4,12 +4,12 @@ import { getEnv, getSession } from '@jbrowse/core/util';
|
|
|
4
4
|
import ShoppingCartIcon from '@mui/icons-material/ShoppingCart';
|
|
5
5
|
import { Badge } from '@mui/material';
|
|
6
6
|
import { observer } from 'mobx-react';
|
|
7
|
-
const ShoppingCart = observer(function ({ model, }) {
|
|
7
|
+
const ShoppingCart = observer(function ShoppingCart({ model, }) {
|
|
8
8
|
const session = getSession(model);
|
|
9
9
|
const { selection } = model;
|
|
10
10
|
const { pluginManager } = getEnv(model);
|
|
11
11
|
const { adminMode, sessionTracks } = session;
|
|
12
|
-
const s = new Set(sessionTracks
|
|
12
|
+
const s = new Set(sessionTracks?.map(t => t.trackId));
|
|
13
13
|
const canEdit = (t) => adminMode || s.has(t);
|
|
14
14
|
const items = pluginManager.evaluateExtensionPoint('TrackSelector-multiTrackMenuItems', [], { session });
|
|
15
15
|
return selection.length ? (_jsx(CascadingMenuButton, { menuItems: [
|
|
@@ -24,9 +24,8 @@ const ShoppingCart = observer(function ({ model, }) {
|
|
|
24
24
|
{
|
|
25
25
|
label: 'Delete tracks',
|
|
26
26
|
onClick: () => {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
(_a = session.deleteTrackConf) === null || _a === void 0 ? void 0 : _a.call(session, s);
|
|
27
|
+
for (const track of selection) {
|
|
28
|
+
session.deleteTrackConf?.(track);
|
|
30
29
|
}
|
|
31
30
|
},
|
|
32
31
|
},
|
|
@@ -7,7 +7,7 @@ const CloseConnectionDialog = observer(function CloseConnectionDialog({ modalInf
|
|
|
7
7
|
return (_jsxs(Dialog, { open: true, maxWidth: "lg", title: `Close connection "${name}"`, onClose: onClose, children: [_jsxs(DialogContent, { children: [dereferenceTypeCount ? (_jsxs(_Fragment, { children: [_jsx(DialogContentText, { children: "Closing this connection will close:" }), _jsx(List, { children: Object.entries(dereferenceTypeCount).map(([key, value]) => (_jsx(ListItem, { children: `${value} ${key}` }, key))) })] })) : null, _jsx(DialogContentText, { children: "Are you sure you want to close this connection?" })] }), _jsxs(DialogActions, { children: [_jsx(Button, { onClick: () => {
|
|
8
8
|
onClose();
|
|
9
9
|
}, color: "primary", children: "Cancel" }), _jsx(Button, { variant: "contained", onClick: () => {
|
|
10
|
-
safelyBreakConnection
|
|
10
|
+
safelyBreakConnection?.();
|
|
11
11
|
onClose();
|
|
12
12
|
}, color: "primary", children: "OK" })] })] }));
|
|
13
13
|
});
|
|
@@ -7,8 +7,7 @@ const DeleteConnectionDialog = observer(function DeleteConnectionDialog({ delete
|
|
|
7
7
|
return (_jsxs(Dialog, { open: true, title: `Delete connection "${name}"`, onClose: handleClose, children: [_jsx(DialogContent, { children: _jsx(DialogContentText, { children: "Are you sure you want to delete this connection?" }) }), _jsxs(DialogActions, { children: [_jsx(Button, { onClick: () => {
|
|
8
8
|
handleClose();
|
|
9
9
|
}, color: "primary", children: "Cancel" }), _jsx(Button, { variant: "contained", color: "primary", onClick: () => {
|
|
10
|
-
|
|
11
|
-
(_a = session.deleteConnection) === null || _a === void 0 ? void 0 : _a.call(session, connectionConf);
|
|
10
|
+
session.deleteConnection?.(connectionConf);
|
|
12
11
|
handleClose();
|
|
13
12
|
}, children: "OK" })] })] }));
|
|
14
13
|
});
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { readConfObject } from '@jbrowse/core/configuration';
|
|
3
3
|
import { Dialog } from '@jbrowse/core/ui';
|
|
4
|
+
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
4
5
|
import CloseIcon from '@mui/icons-material/Close';
|
|
5
6
|
import { Button, DialogActions, DialogContent, IconButton, Tooltip, Typography, } from '@mui/material';
|
|
6
7
|
import { observer } from 'mobx-react';
|
|
7
|
-
import { makeStyles } from 'tss-react/mui';
|
|
8
8
|
const useStyles = makeStyles()(theme => ({
|
|
9
9
|
connectionContainer: {
|
|
10
10
|
margin: theme.spacing(4),
|
|
@@ -14,12 +14,12 @@ const useStyles = makeStyles()(theme => ({
|
|
|
14
14
|
function DisabledButton() {
|
|
15
15
|
return (_jsx(Tooltip, { title: "Unable to delete connection in config file as non-admin user", children: _jsx(IconButton, { children: _jsx(CloseIcon, { color: "disabled" }) }) }));
|
|
16
16
|
}
|
|
17
|
-
const ManageConnectionsDialog = observer(function ({ session, handleClose, breakConnection, }) {
|
|
17
|
+
const ManageConnectionsDialog = observer(function ManageConnectionsDialog({ session, handleClose, breakConnection, }) {
|
|
18
18
|
const { classes } = useStyles();
|
|
19
19
|
const { adminMode, connections, sessionConnections } = session;
|
|
20
20
|
return (_jsxs(Dialog, { open: true, onClose: handleClose, maxWidth: "lg", title: "Delete connections", children: [_jsxs(DialogContent, { children: [_jsx(Typography, { children: "Click the X icon to delete the connection from your config completely" }), _jsxs("div", { className: classes.connectionContainer, children: [connections.map(conf => {
|
|
21
21
|
const name = readConfObject(conf, 'name');
|
|
22
|
-
return (_jsxs(Typography, { children: [adminMode ||
|
|
22
|
+
return (_jsxs(Typography, { children: [adminMode || sessionConnections?.includes(conf) ? (_jsx(IconButton, { onClick: () => {
|
|
23
23
|
breakConnection(conf, true);
|
|
24
24
|
}, children: _jsx(CloseIcon, { color: "error" }) })) : (_jsx(DisabledButton, {})), name] }, `conn-${name}`));
|
|
25
25
|
}), !connections.length ? (_jsx(Typography, { children: "No connections found" })) : null] })] }), _jsx(DialogActions, { children: _jsx(Button, { onClick: () => {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { readConfObject } from '@jbrowse/core/configuration';
|
|
3
3
|
import { Dialog } from '@jbrowse/core/ui';
|
|
4
|
+
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
4
5
|
import { Button, Checkbox, DialogActions, DialogContent, FormControlLabel, Typography, } from '@mui/material';
|
|
5
6
|
import { observer } from 'mobx-react';
|
|
6
|
-
import { makeStyles } from 'tss-react/mui';
|
|
7
7
|
function ellipses(slug) {
|
|
8
8
|
return slug.length > 20 ? `${slug.slice(0, 20)}...` : slug;
|
|
9
9
|
}
|
|
@@ -19,25 +19,24 @@ const ConnectionRow = observer(function ConnectionRow({ conf, session, breakConn
|
|
|
19
19
|
const assemblyNames = readConfObject(conf, 'assemblyNames');
|
|
20
20
|
const found = instances.find(conn => name === conn.name);
|
|
21
21
|
return (_jsx(FormControlLabel, { control: _jsx(Checkbox, { checked: !!found, onChange: () => {
|
|
22
|
-
var _a;
|
|
23
22
|
if (found) {
|
|
24
23
|
breakConnection(conf);
|
|
25
24
|
}
|
|
26
25
|
else {
|
|
27
|
-
|
|
26
|
+
session.makeConnection?.(conf);
|
|
28
27
|
}
|
|
29
28
|
}, color: "primary" }), label: [
|
|
30
29
|
name,
|
|
31
30
|
assemblyNames.length ? `(${ellipses(assemblyNames.join(','))})` : '',
|
|
32
31
|
]
|
|
33
|
-
.filter(
|
|
32
|
+
.filter(Boolean)
|
|
34
33
|
.join(' ') }, conf.connectionId));
|
|
35
34
|
});
|
|
36
35
|
const ConnectionList = observer(function ConnectionsList({ session, breakConnection, }) {
|
|
37
36
|
const { classes } = useStyles();
|
|
38
37
|
return (_jsx("div", { className: classes.connectionContainer, children: !session.connections.length ? (_jsx(Typography, { children: "No connections found" })) : (session.connections.map((conf, idx) => (_jsx("div", { children: _jsx(ConnectionRow, { conf: conf, session: session, breakConnection: breakConnection }) }, `${conf.name}_${idx}`)))) }));
|
|
39
38
|
});
|
|
40
|
-
const ToggleConnectionDialog = observer(function ({ session, handleClose, breakConnection, }) {
|
|
39
|
+
const ToggleConnectionDialog = observer(function ToggleConnectionDialog({ session, handleClose, breakConnection, }) {
|
|
41
40
|
return (_jsxs(Dialog, { open: true, onClose: handleClose, maxWidth: "lg", title: "Turn on/off connections", children: [_jsxs(DialogContent, { children: [_jsx(Typography, { children: "Use the checkbox to turn on/off connections" }), _jsx(ConnectionList, { session: session, breakConnection: breakConnection })] }), _jsx(DialogActions, { children: _jsx(Button, { onClick: () => {
|
|
42
41
|
handleClose();
|
|
43
42
|
}, variant: "contained", color: "primary", children: "Close" }) })] }));
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { coarseStripHTML } from '@jbrowse/core/util';
|
|
4
|
+
import { makeStyles } from '@jbrowse/core/util/tss-react';
|
|
4
5
|
import AddIcon from '@mui/icons-material/Add';
|
|
5
6
|
import ClearIcon from '@mui/icons-material/Clear';
|
|
6
7
|
import MinimizeIcon from '@mui/icons-material/Minimize';
|
|
7
8
|
import { FormControl, IconButton, Select, Tooltip, Typography, } from '@mui/material';
|
|
8
9
|
import { observer } from 'mobx-react';
|
|
9
|
-
import { makeStyles } from 'tss-react/mui';
|
|
10
10
|
const useStyles = makeStyles()(theme => ({
|
|
11
11
|
facet: {
|
|
12
12
|
margin: 0,
|
|
@@ -26,7 +26,7 @@ function ExpandButton({ visible, onClick, }) {
|
|
|
26
26
|
onClick();
|
|
27
27
|
}, size: "small", children: visible ? _jsx(MinimizeIcon, {}) : _jsx(AddIcon, {}) }) }));
|
|
28
28
|
}
|
|
29
|
-
const FacetFilter = observer(function ({ column, vals, model, }) {
|
|
29
|
+
const FacetFilter = observer(function FacetFilter({ column, vals, model, }) {
|
|
30
30
|
const { classes } = useStyles();
|
|
31
31
|
const [visible, setVisible] = useState(true);
|
|
32
32
|
const { faceted } = model;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Row } from './util';
|
|
2
|
-
import type { HierarchicalTrackSelectorModel } from '../../model';
|
|
1
|
+
import type { Row } from './util.ts';
|
|
2
|
+
import type { HierarchicalTrackSelectorModel } from '../../model.ts';
|
|
3
3
|
declare const FacetFilters: ({ rows, columns, model, }: {
|
|
4
4
|
rows: Row[];
|
|
5
5
|
columns: {
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { observer } from 'mobx-react';
|
|
3
|
-
import FacetFilter from
|
|
4
|
-
import { getRowStr } from
|
|
5
|
-
const FacetFilters = observer(function ({ rows, columns, model, }) {
|
|
6
|
-
var _a, _b;
|
|
3
|
+
import FacetFilter from "./FacetFilter.js";
|
|
4
|
+
import { getRowStr } from "./util.js";
|
|
5
|
+
const FacetFilters = observer(function FacetFilters({ rows, columns, model, }) {
|
|
7
6
|
const { faceted } = model;
|
|
8
7
|
const { filters } = faceted;
|
|
9
8
|
const facets = columns.slice(1);
|
|
@@ -12,7 +11,7 @@ const FacetFilters = observer(function ({ rows, columns, model, }) {
|
|
|
12
11
|
const facetKeys = facets.map(f => f.field);
|
|
13
12
|
const facetKeysPrioritizingUserSelections = new Set();
|
|
14
13
|
for (const entry of filterKeys) {
|
|
15
|
-
if (
|
|
14
|
+
if (filters.get(entry)?.length) {
|
|
16
15
|
facetKeysPrioritizingUserSelections.add(entry);
|
|
17
16
|
}
|
|
18
17
|
}
|
|
@@ -36,7 +35,7 @@ const FacetFilters = observer(function ({ rows, columns, model, }) {
|
|
|
36
35
|
}
|
|
37
36
|
}
|
|
38
37
|
}
|
|
39
|
-
const filter =
|
|
38
|
+
const filter = filters.get(facetKey)?.length
|
|
40
39
|
? new Set(filters.get(facetKey))
|
|
41
40
|
: undefined;
|
|
42
41
|
currentRows = currentRows.filter(row => filter !== undefined ? filter.has(getRowStr(facetKey, row)) : true);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { HierarchicalTrackSelectorModel } from '../../model';
|
|
1
|
+
import type { HierarchicalTrackSelectorModel } from '../../model.ts';
|
|
2
2
|
import type { GridColDef, GridRowId } from '@mui/x-data-grid';
|
|
3
3
|
declare const FacetedDataGrid: ({ model, columns, shownTrackIds, selection, }: {
|
|
4
4
|
model: HierarchicalTrackSelectorModel;
|
|
@@ -1,73 +1,54 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useState } from 'react';
|
|
3
|
-
import { getEnv
|
|
2
|
+
import { useMemo, useState, useTransition } from 'react';
|
|
3
|
+
import { getEnv } from '@jbrowse/core/util';
|
|
4
|
+
import { getRoot, resolveIdentifier } from '@jbrowse/mobx-state-tree';
|
|
4
5
|
import { DataGrid } from '@mui/x-data-grid';
|
|
5
6
|
import { transaction } from 'mobx';
|
|
6
7
|
import { observer } from 'mobx-react';
|
|
7
|
-
import {
|
|
8
|
-
const FacetedDataGrid = observer(function ({ model, columns, shownTrackIds, selection, }) {
|
|
8
|
+
import { computeInitialWidths } from "./computeInitialWidths.js";
|
|
9
|
+
const FacetedDataGrid = observer(function FacetedDataGrid({ model, columns, shownTrackIds, selection, }) {
|
|
9
10
|
const { pluginManager } = getEnv(model);
|
|
10
11
|
const { view, faceted } = model;
|
|
11
12
|
const { rows, useShoppingCart, showOptions, filteredRows, filteredNonMetadataKeys, filteredMetadataKeys, visible, } = faceted;
|
|
12
|
-
const [
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
maxWidth: 400,
|
|
23
|
-
stripHTML: true,
|
|
24
|
-
}),
|
|
25
|
-
])),
|
|
26
|
-
...Object.fromEntries(filteredMetadataKeys
|
|
27
|
-
.filter(f => visible[`metadata.${f}`])
|
|
28
|
-
.map(e => {
|
|
29
|
-
return [
|
|
30
|
-
`metadata.${e}`,
|
|
31
|
-
measureGridWidth(rows.map(r => r.metadata[e]), {
|
|
32
|
-
maxWidth: 400,
|
|
33
|
-
stripHTML: true,
|
|
34
|
-
}),
|
|
35
|
-
];
|
|
36
|
-
})),
|
|
37
|
-
});
|
|
13
|
+
const [, startTransition] = useTransition();
|
|
14
|
+
const [widths, setWidths] = useState(() => computeInitialWidths(rows, filteredNonMetadataKeys, filteredMetadataKeys, visible));
|
|
15
|
+
const rowSelectionModel = useMemo(() => ({
|
|
16
|
+
type: 'include',
|
|
17
|
+
ids: new Set(useShoppingCart ? selection.map(s => s.trackId) : [...shownTrackIds]),
|
|
18
|
+
}), [useShoppingCart, selection, shownTrackIds]);
|
|
19
|
+
const columnsWithWidths = useMemo(() => columns.map(r => ({
|
|
20
|
+
...r,
|
|
21
|
+
width: widths[r.field],
|
|
22
|
+
})), [columns, widths]);
|
|
38
23
|
return (_jsx(DataGrid, { rowHeight: 25, columnHeaderHeight: 35, checkboxSelection: true, disableRowSelectionOnClick: true, keepNonExistentRowsSelected: true, rows: filteredRows, columnVisibilityModel: visible, showToolbar: showOptions, onColumnWidthChange: arg => {
|
|
39
|
-
setWidths({
|
|
40
|
-
...
|
|
24
|
+
setWidths(prev => ({
|
|
25
|
+
...prev,
|
|
41
26
|
[arg.colDef.field]: arg.width,
|
|
42
|
-
});
|
|
27
|
+
}));
|
|
43
28
|
}, onColumnVisibilityModelChange: n => {
|
|
44
29
|
model.faceted.setVisible(n);
|
|
45
30
|
}, onRowSelectionModelChange: userSelectedIds => {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
31
|
+
startTransition(() => {
|
|
32
|
+
if (!useShoppingCart) {
|
|
33
|
+
const a1 = shownTrackIds;
|
|
34
|
+
const a2 = userSelectedIds.ids;
|
|
35
|
+
transaction(() => {
|
|
36
|
+
;
|
|
37
|
+
[...a1].filter(x => !a2.has(x)).map(t => view.hideTrack(t));
|
|
38
|
+
[...a2]
|
|
39
|
+
.filter(x => !a1.has(x))
|
|
40
|
+
.map(t => {
|
|
41
|
+
view.showTrack(t);
|
|
42
|
+
model.addToRecentlyUsed(t);
|
|
43
|
+
});
|
|
57
44
|
});
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}
|
|
65
|
-
}, rowSelectionModel:
|
|
66
|
-
type: 'include',
|
|
67
|
-
ids: new Set(useShoppingCart ? selection.map(s => s.trackId) : [...shownTrackIds]),
|
|
68
|
-
}, columns: columns.map(r => ({
|
|
69
|
-
...r,
|
|
70
|
-
width: widths[r.field],
|
|
71
|
-
})) }));
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
const root = getRoot(model);
|
|
48
|
+
const schema = pluginManager.pluggableConfigSchemaType('track');
|
|
49
|
+
model.setSelection([...userSelectedIds.ids].map(id => resolveIdentifier(schema, root, id)));
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}, rowSelectionModel: rowSelectionModel, columns: columnsWithWidths }));
|
|
72
53
|
});
|
|
73
54
|
export default FacetedDataGrid;
|
|
@@ -2,8 +2,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { Dialog } from '@jbrowse/core/ui';
|
|
3
3
|
import { DialogContent } from '@mui/material';
|
|
4
4
|
import { observer } from 'mobx-react';
|
|
5
|
-
import FacetedSelector from
|
|
6
|
-
const FacetedTrackSelectorDialog = observer(function (props) {
|
|
5
|
+
import FacetedSelector from "./FacetedSelector.js";
|
|
6
|
+
const FacetedTrackSelectorDialog = observer(function FacetedTrackSelectorDialog(props) {
|
|
7
7
|
const { handleClose } = props;
|
|
8
8
|
return (_jsx(Dialog, { open: true, onClose: handleClose, maxWidth: "xl", title: "Faceted track selector", children: _jsx(DialogContent, { children: _jsx(FacetedSelector, { ...props }) }) }));
|
|
9
9
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { HierarchicalTrackSelectorModel } from '../../model';
|
|
1
|
+
import type { HierarchicalTrackSelectorModel } from '../../model.ts';
|
|
2
2
|
export default function FacetedHeader({ model, }: {
|
|
3
3
|
model: HierarchicalTrackSelectorModel;
|
|
4
4
|
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,22 +1,16 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { Menu } from '@jbrowse/core/ui';
|
|
4
|
-
import ClearIcon from '@mui/icons-material/Clear';
|
|
5
4
|
import MoreVert from '@mui/icons-material/MoreVert';
|
|
6
|
-
import { Grid, IconButton
|
|
7
|
-
import
|
|
5
|
+
import { Grid, IconButton } from '@mui/material';
|
|
6
|
+
import ClearableSearchField from "../ClearableSearchField.js";
|
|
7
|
+
import ShoppingCart from "../ShoppingCart.js";
|
|
8
8
|
export default function FacetedHeader({ model, }) {
|
|
9
9
|
const { faceted } = model;
|
|
10
|
+
const { filterText, showOptions, showFilters, showSparse, useShoppingCart } = faceted;
|
|
10
11
|
const [anchorEl, setAnchorEl] = useState(null);
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
faceted.setFilterText(event.target.value);
|
|
14
|
-
}, slotProps: {
|
|
15
|
-
input: {
|
|
16
|
-
endAdornment: (_jsx(InputAdornment, { position: "end", children: _jsx(IconButton, { onClick: () => {
|
|
17
|
-
faceted.setFilterText('');
|
|
18
|
-
}, children: _jsx(ClearIcon, {}) }) })),
|
|
19
|
-
},
|
|
12
|
+
return (_jsxs(_Fragment, { children: [_jsxs(Grid, { container: true, spacing: 4, alignItems: "center", children: [_jsx(ClearableSearchField, { label: "Search...", value: filterText, onChange: value => {
|
|
13
|
+
faceted.setFilterText(value);
|
|
20
14
|
} }), _jsx(IconButton, { onClick: event => {
|
|
21
15
|
setAnchorEl(event.currentTarget);
|
|
22
16
|
}, children: _jsx(MoreVert, {}) }), _jsx(ShoppingCart, { model: model })] }), _jsx(Menu, { anchorEl: anchorEl, open: !!anchorEl, onClose: () => {
|