@jbrowse/plugin-data-management 2.16.1 → 2.18.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.js +3 -5
- package/dist/AddConnectionWidget/components/ConfigureConnection.d.ts +3 -3
- package/dist/AddConnectionWidget/components/ConfigureConnection.js +2 -2
- package/dist/AddConnectionWidget/components/ConnectionTypeSelect.d.ts +1 -1
- package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js +1 -2
- package/dist/AddConnectionWidget/index.d.ts +1 -1
- package/dist/AddConnectionWidget/index.js +1 -1
- package/dist/AddConnectionWidget/model.js +1 -1
- package/dist/AddTrackWidget/components/AddTrackWidget.d.ts +1 -1
- package/dist/AddTrackWidget/components/AddTrackWidget.js +2 -3
- package/dist/AddTrackWidget/components/ConfirmTrack.d.ts +1 -1
- package/dist/AddTrackWidget/components/ConfirmTrack.js +8 -7
- package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.d.ts +1 -1
- package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.js +4 -5
- package/dist/AddTrackWidget/components/PasteConfigWorkflow.d.ts +1 -1
- package/dist/AddTrackWidget/components/PasteConfigWorkflow.js +2 -2
- package/dist/AddTrackWidget/components/TextIndexingConfig.d.ts +1 -1
- package/dist/AddTrackWidget/components/TextIndexingConfig.js +33 -32
- package/dist/AddTrackWidget/components/TrackAdapterSelector.d.ts +1 -1
- package/dist/AddTrackWidget/components/TrackAdapterSelector.js +6 -10
- package/dist/AddTrackWidget/components/TrackSourceSelect.d.ts +1 -1
- package/dist/AddTrackWidget/components/TrackSourceSelect.js +2 -2
- package/dist/AddTrackWidget/components/TrackTypeSelector.d.ts +1 -1
- package/dist/AddTrackWidget/components/TrackTypeSelector.js +5 -4
- package/dist/AddTrackWidget/index.d.ts +1 -1
- package/dist/AddTrackWidget/index.js +1 -1
- package/dist/AddTrackWidget/model.d.ts +3 -84
- package/dist/AddTrackWidget/model.js +3 -91
- package/dist/AssemblyManager/AssemblyAddForm.d.ts +4 -4
- package/dist/AssemblyManager/AssemblyAddForm.js +104 -99
- package/dist/AssemblyManager/AssemblyEditor.d.ts +3 -2
- package/dist/AssemblyManager/AssemblyEditor.js +10 -3
- package/dist/AssemblyManager/AssemblyManager.d.ts +4 -3
- package/dist/AssemblyManager/AssemblyManager.js +17 -31
- package/dist/AssemblyManager/AssemblyTable.d.ts +7 -10
- package/dist/AssemblyManager/AssemblyTable.js +53 -34
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalFab.d.ts +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalFab.js +3 -4
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.d.ts +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +1 -3
- package/dist/HierarchicalTrackSelectorWidget/components/ShoppingCart.d.ts +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/ShoppingCart.js +3 -4
- package/dist/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.js +2 -2
- package/dist/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.d.ts +2 -2
- package/dist/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.js +2 -2
- package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.d.ts +2 -2
- package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.js +4 -5
- package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.d.ts +2 -2
- package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.js +3 -3
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.d.ts +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.js +5 -8
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.d.ts +2 -2
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js +0 -6
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.d.ts +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.js +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.d.ts +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js +9 -9
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.d.ts +2 -2
- package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js +5 -8
- package/dist/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.d.ts +3 -3
- package/dist/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.js +2 -2
- package/dist/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.d.ts +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.js +1 -2
- package/dist/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.d.ts +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js +2 -5
- package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.d.ts +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js +10 -9
- package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.d.ts +2 -2
- package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js +2 -14
- package/dist/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.d.ts +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.js +2 -3
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.d.ts +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js +2 -6
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.d.ts +2 -2
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js +2 -4
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabelMenu.d.ts +2 -2
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabelMenu.js +3 -4
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.d.ts +1 -1
- package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.js +1 -11
- package/dist/HierarchicalTrackSelectorWidget/components/util.d.ts +4 -4
- package/dist/HierarchicalTrackSelectorWidget/components/util.js +0 -1
- package/dist/HierarchicalTrackSelectorWidget/facetedModel.d.ts +1 -61
- package/dist/HierarchicalTrackSelectorWidget/facetedModel.js +12 -74
- 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 +3 -3
- 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 +1 -1
- package/dist/PluginStoreWidget/components/AddCustomPluginDialog.js +4 -5
- package/dist/PluginStoreWidget/components/DeletePluginDialog.js +1 -2
- package/dist/PluginStoreWidget/components/InstalledPlugin.d.ts +2 -2
- package/dist/PluginStoreWidget/components/InstalledPlugin.js +28 -27
- package/dist/PluginStoreWidget/components/InstalledPluginsList.d.ts +2 -2
- package/dist/PluginStoreWidget/components/InstalledPluginsList.js +1 -1
- package/dist/PluginStoreWidget/components/PluginCard.d.ts +3 -4
- package/dist/PluginStoreWidget/components/PluginCard.js +20 -18
- package/dist/PluginStoreWidget/components/PluginStoreWidget.d.ts +1 -1
- package/dist/PluginStoreWidget/components/PluginStoreWidget.js +32 -26
- 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 +1 -1
- 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 +1 -5
- 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 +1 -16
- package/dist/{ucsc-trackhub → UCSCTrackHub}/ucscAssemblies.js +0 -3
- package/dist/{ucsc-trackhub → UCSCTrackHub}/ucscTrackHub.d.ts +1 -1
- package/dist/{ucsc-trackhub → UCSCTrackHub}/ucscTrackHub.js +1 -15
- package/dist/index.d.ts +9 -9
- package/dist/index.js +4 -4
- package/esm/AddConnectionWidget/components/AddConnectionWidget.js +3 -5
- package/esm/AddConnectionWidget/components/ConfigureConnection.d.ts +3 -3
- package/esm/AddConnectionWidget/components/ConfigureConnection.js +2 -2
- package/esm/AddConnectionWidget/components/ConnectionTypeSelect.d.ts +1 -1
- package/esm/AddConnectionWidget/components/ConnectionTypeSelect.js +1 -2
- 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/AddTrackWidget.d.ts +1 -1
- package/esm/AddTrackWidget/components/AddTrackWidget.js +2 -3
- package/esm/AddTrackWidget/components/ConfirmTrack.d.ts +1 -1
- package/esm/AddTrackWidget/components/ConfirmTrack.js +8 -7
- package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.d.ts +1 -1
- package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.js +4 -5
- package/esm/AddTrackWidget/components/PasteConfigWorkflow.d.ts +1 -1
- package/esm/AddTrackWidget/components/PasteConfigWorkflow.js +2 -2
- package/esm/AddTrackWidget/components/TextIndexingConfig.d.ts +1 -1
- package/esm/AddTrackWidget/components/TextIndexingConfig.js +34 -33
- package/esm/AddTrackWidget/components/TrackAdapterSelector.d.ts +1 -1
- package/esm/AddTrackWidget/components/TrackAdapterSelector.js +6 -10
- package/esm/AddTrackWidget/components/TrackSourceSelect.d.ts +1 -1
- package/esm/AddTrackWidget/components/TrackSourceSelect.js +2 -2
- package/esm/AddTrackWidget/components/TrackTypeSelector.d.ts +1 -1
- package/esm/AddTrackWidget/components/TrackTypeSelector.js +5 -4
- package/esm/AddTrackWidget/index.d.ts +1 -1
- package/esm/AddTrackWidget/index.js +1 -1
- package/esm/AddTrackWidget/model.d.ts +3 -84
- package/esm/AddTrackWidget/model.js +3 -91
- package/esm/AssemblyManager/AssemblyAddForm.d.ts +4 -4
- package/esm/AssemblyManager/AssemblyAddForm.js +104 -96
- package/esm/AssemblyManager/AssemblyEditor.d.ts +3 -2
- package/esm/AssemblyManager/AssemblyEditor.js +10 -3
- package/esm/AssemblyManager/AssemblyManager.d.ts +4 -3
- package/esm/AssemblyManager/AssemblyManager.js +17 -31
- package/esm/AssemblyManager/AssemblyTable.d.ts +7 -10
- package/esm/AssemblyManager/AssemblyTable.js +54 -35
- package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalFab.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalFab.js +3 -4
- package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +1 -3
- package/esm/HierarchicalTrackSelectorWidget/components/ShoppingCart.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/ShoppingCart.js +3 -4
- package/esm/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.js +2 -2
- package/esm/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.d.ts +2 -2
- package/esm/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.js +2 -2
- package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.d.ts +2 -2
- package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.js +4 -5
- package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.d.ts +2 -2
- package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.js +3 -3
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.js +5 -8
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.d.ts +2 -2
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js +0 -6
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.js +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js +9 -9
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.d.ts +2 -2
- package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js +5 -8
- package/esm/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.d.ts +3 -3
- package/esm/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.js +2 -2
- package/esm/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.js +1 -2
- package/esm/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js +3 -6
- package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js +10 -9
- package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.d.ts +2 -2
- package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js +3 -15
- package/esm/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.js +2 -3
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js +2 -6
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.d.ts +2 -2
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js +2 -4
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabelMenu.d.ts +2 -2
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabelMenu.js +3 -4
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.d.ts +1 -1
- package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.js +1 -11
- package/esm/HierarchicalTrackSelectorWidget/components/util.d.ts +4 -4
- package/esm/HierarchicalTrackSelectorWidget/components/util.js +0 -1
- package/esm/HierarchicalTrackSelectorWidget/facetedModel.d.ts +1 -61
- package/esm/HierarchicalTrackSelectorWidget/facetedModel.js +6 -68
- 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 +1 -1
- package/esm/PluginStoreWidget/components/AddCustomPluginDialog.js +4 -5
- package/esm/PluginStoreWidget/components/DeletePluginDialog.js +1 -2
- package/esm/PluginStoreWidget/components/InstalledPlugin.d.ts +2 -2
- package/esm/PluginStoreWidget/components/InstalledPlugin.js +29 -28
- package/esm/PluginStoreWidget/components/InstalledPluginsList.d.ts +2 -2
- package/esm/PluginStoreWidget/components/InstalledPluginsList.js +1 -1
- package/esm/PluginStoreWidget/components/PluginCard.d.ts +3 -4
- package/esm/PluginStoreWidget/components/PluginCard.js +22 -20
- package/esm/PluginStoreWidget/components/PluginStoreWidget.d.ts +1 -1
- package/esm/PluginStoreWidget/components/PluginStoreWidget.js +33 -27
- 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 +1 -5
- 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 +1 -1
- package/esm/{ucsc-trackhub → UCSCTrackHub}/ucscTrackHub.js +2 -16
- package/esm/index.d.ts +9 -9
- package/esm/index.js +3 -3
- package/package.json +2 -2
- package/esm/ucsc-trackhub/index.js +0 -13
- /package/dist/{ucsc-trackhub → UCSCTrackHub}/ucscAssemblies.d.ts +0 -0
- /package/esm/{ucsc-trackhub → UCSCTrackHub}/ucscAssemblies.d.ts +0 -0
|
@@ -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;
|
|
@@ -8,8 +8,6 @@ exports.findTopLevelCategories = findTopLevelCategories;
|
|
|
8
8
|
const configuration_1 = require("@jbrowse/core/configuration");
|
|
9
9
|
const tracks_1 = require("@jbrowse/core/util/tracks");
|
|
10
10
|
function hasAnyOverlap(a1 = [], a2 = []) {
|
|
11
|
-
// shortcut case is that arrays are single entries, and are equal
|
|
12
|
-
// long case is that we use a set
|
|
13
11
|
if (a1[0] === a2[0]) {
|
|
14
12
|
return true;
|
|
15
13
|
}
|
|
@@ -33,7 +31,6 @@ function findSubCategories(obj, paths, depth = 0) {
|
|
|
33
31
|
for (const elt of obj) {
|
|
34
32
|
if (elt.children.length) {
|
|
35
33
|
const hasSubCategories = findSubCategories(elt.children, paths, depth + 1);
|
|
36
|
-
// avoid pushing the root "Tracks" node by checking depth>0
|
|
37
34
|
if (hasSubCategories && depth > 0) {
|
|
38
35
|
paths.push(elt.id);
|
|
39
36
|
}
|
|
@@ -27,14 +27,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
const react_1 = __importStar(require("react"));
|
|
30
|
-
const mobx_react_1 = require("mobx-react");
|
|
31
30
|
const ui_1 = require("@jbrowse/core/ui");
|
|
32
|
-
const material_1 = require("@mui/material");
|
|
33
|
-
const mui_1 = require("tss-react/mui");
|
|
34
31
|
const util_1 = require("@jbrowse/core/util");
|
|
35
|
-
// icons
|
|
36
|
-
const IconButton_1 = __importDefault(require("@mui/material/IconButton"));
|
|
37
32
|
const ExpandMore_1 = __importDefault(require("@mui/icons-material/ExpandMore"));
|
|
33
|
+
const material_1 = require("@mui/material");
|
|
34
|
+
const IconButton_1 = __importDefault(require("@mui/material/IconButton"));
|
|
35
|
+
const mobx_react_1 = require("mobx-react");
|
|
36
|
+
const mui_1 = require("tss-react/mui");
|
|
38
37
|
const useStyles = (0, mui_1.makeStyles)()(theme => ({
|
|
39
38
|
dialogContent: {
|
|
40
39
|
display: 'flex',
|
|
@@ -5,8 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.default = DeletePluginDialog;
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
|
-
const material_1 = require("@mui/material");
|
|
9
8
|
const ui_1 = require("@jbrowse/core/ui");
|
|
9
|
+
const material_1 = require("@mui/material");
|
|
10
10
|
function DeletePluginDialog({ onClose, plugin, }) {
|
|
11
11
|
return (react_1.default.createElement(ui_1.Dialog, { open: true, onClose: () => {
|
|
12
12
|
onClose();
|
|
@@ -19,7 +19,6 @@ function DeletePluginDialog({ onClose, plugin, }) {
|
|
|
19
19
|
react_1.default.createElement(material_1.Typography, { color: "error" }, "Note: if any resources in this session still use this plugin, it may cause your session to crash")),
|
|
20
20
|
react_1.default.createElement(material_1.DialogActions, null,
|
|
21
21
|
react_1.default.createElement(material_1.Button, { variant: "contained", color: "primary", onClick: () => {
|
|
22
|
-
// avoid showing runtime plugin warning
|
|
23
22
|
window.setTimeout(() => {
|
|
24
23
|
onClose(plugin);
|
|
25
24
|
}, 500);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import type { PluginStoreModel } from '../model';
|
|
3
|
+
import type { BasePlugin } from '@jbrowse/core/util/types';
|
|
4
4
|
declare const InstalledPlugin: ({ plugin, model, }: {
|
|
5
5
|
plugin: BasePlugin;
|
|
6
6
|
model: PluginStoreModel;
|
|
@@ -27,14 +27,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
const react_1 = __importStar(require("react"));
|
|
30
|
-
const mobx_react_1 = require("mobx-react");
|
|
31
|
-
const material_1 = require("@mui/material");
|
|
32
|
-
const mui_1 = require("tss-react/mui");
|
|
33
|
-
const Close_1 = __importDefault(require("@mui/icons-material/Close"));
|
|
34
|
-
const Lock_1 = __importDefault(require("@mui/icons-material/Lock"));
|
|
35
30
|
const util_1 = require("@jbrowse/core/util");
|
|
36
31
|
const types_1 = require("@jbrowse/core/util/types");
|
|
37
|
-
|
|
32
|
+
const Close_1 = __importDefault(require("@mui/icons-material/Close"));
|
|
33
|
+
const Lock_1 = __importDefault(require("@mui/icons-material/Lock"));
|
|
34
|
+
const material_1 = require("@mui/material");
|
|
35
|
+
const mobx_react_1 = require("mobx-react");
|
|
36
|
+
const mui_1 = require("tss-react/mui");
|
|
38
37
|
const DeletePluginDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./DeletePluginDialog'))));
|
|
39
38
|
const useStyles = (0, mui_1.makeStyles)()(() => ({
|
|
40
39
|
lockedPluginTooltip: {
|
|
@@ -47,32 +46,34 @@ function LockedPlugin() {
|
|
|
47
46
|
react_1.default.createElement(Lock_1.default, null)));
|
|
48
47
|
}
|
|
49
48
|
const InstalledPlugin = (0, mobx_react_1.observer)(function ({ plugin, model, }) {
|
|
50
|
-
const [dialogPlugin, setDialogPlugin] = (0, react_1.useState)();
|
|
51
49
|
const { pluginManager } = (0, util_1.getEnv)(model);
|
|
52
50
|
const session = (0, util_1.getSession)(model);
|
|
53
51
|
const { jbrowse, adminMode } = session;
|
|
54
52
|
const isSessionPlugin = (0, types_1.isSessionWithSessionPlugins)(session)
|
|
55
53
|
? session.sessionPlugins.some(p => { var _a; return ((_a = pluginManager.pluginMetadata[plugin.name]) === null || _a === void 0 ? void 0 : _a.url) === p.url; })
|
|
56
54
|
: false;
|
|
57
|
-
return (react_1.default.createElement(
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
55
|
+
return (react_1.default.createElement(material_1.ListItem, { key: plugin.name },
|
|
56
|
+
adminMode || isSessionPlugin ? (react_1.default.createElement(material_1.IconButton, { "data-testid": `removePlugin-${plugin.name}`, onClick: () => {
|
|
57
|
+
session.queueDialog(onClose => [
|
|
58
|
+
DeletePluginDialog,
|
|
59
|
+
{
|
|
60
|
+
plugin: plugin.name,
|
|
61
|
+
onClose: (name) => {
|
|
62
|
+
if (name) {
|
|
63
|
+
const pluginMetadata = pluginManager.pluginMetadata[plugin.name];
|
|
64
|
+
if (adminMode) {
|
|
65
|
+
jbrowse.removePlugin(pluginMetadata);
|
|
66
|
+
}
|
|
67
|
+
else if ((0, types_1.isSessionWithSessionPlugins)(session)) {
|
|
68
|
+
session.removeSessionPlugin(pluginMetadata);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
onClose();
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
]);
|
|
75
|
+
} },
|
|
76
|
+
react_1.default.createElement(Close_1.default, null))) : (react_1.default.createElement(LockedPlugin, null)),
|
|
77
|
+
react_1.default.createElement(material_1.Typography, null, plugin.name)));
|
|
77
78
|
});
|
|
78
79
|
exports.default = InstalledPlugin;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import
|
|
3
|
-
import
|
|
2
|
+
import type { PluginStoreModel } from '../model';
|
|
3
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
4
4
|
declare const InstalledPluginsList: ({ pluginManager, model, }: {
|
|
5
5
|
pluginManager: PluginManager;
|
|
6
6
|
model: PluginStoreModel;
|
|
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const react_1 = __importDefault(require("react"));
|
|
7
|
-
const mobx_react_1 = require("mobx-react");
|
|
8
7
|
const material_1 = require("@mui/material");
|
|
8
|
+
const mobx_react_1 = require("mobx-react");
|
|
9
9
|
const InstalledPlugin_1 = __importDefault(require("./InstalledPlugin"));
|
|
10
10
|
const InstalledPluginsList = (0, mobx_react_1.observer)(function InstalledPluginsList({ pluginManager, model, }) {
|
|
11
11
|
const { plugins } = pluginManager;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
declare const PluginCard: ({ plugin, model,
|
|
2
|
+
import type { PluginStoreModel } from '../model';
|
|
3
|
+
import type { JBrowsePlugin } from '@jbrowse/core/util/types';
|
|
4
|
+
declare const PluginCard: ({ plugin, model, }: {
|
|
5
5
|
plugin: JBrowsePlugin;
|
|
6
6
|
model: PluginStoreModel;
|
|
7
|
-
adminMode: boolean;
|
|
8
7
|
}) => React.JSX.Element;
|
|
9
8
|
export default PluginCard;
|
|
@@ -27,16 +27,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
const react_1 = __importStar(require("react"));
|
|
30
|
-
const mobx_react_1 = require("mobx-react");
|
|
31
|
-
const mobx_state_tree_1 = require("mobx-state-tree");
|
|
32
30
|
const util_1 = require("@jbrowse/core/util");
|
|
33
31
|
const types_1 = require("@jbrowse/core/util/types");
|
|
34
|
-
const material_1 = require("@mui/material");
|
|
35
|
-
const mui_1 = require("tss-react/mui");
|
|
36
|
-
// icons
|
|
37
|
-
const Person_1 = __importDefault(require("@mui/icons-material/Person"));
|
|
38
32
|
const Add_1 = __importDefault(require("@mui/icons-material/Add"));
|
|
39
33
|
const Check_1 = __importDefault(require("@mui/icons-material/Check"));
|
|
34
|
+
const Person_1 = __importDefault(require("@mui/icons-material/Person"));
|
|
35
|
+
const material_1 = require("@mui/material");
|
|
36
|
+
const mobx_react_1 = require("mobx-react");
|
|
37
|
+
const mui_1 = require("tss-react/mui");
|
|
40
38
|
const useStyles = (0, mui_1.makeStyles)()({
|
|
41
39
|
card: {
|
|
42
40
|
margin: '0.5em',
|
|
@@ -52,35 +50,39 @@ const useStyles = (0, mui_1.makeStyles)()({
|
|
|
52
50
|
display: 'flex',
|
|
53
51
|
alignItems: 'center',
|
|
54
52
|
},
|
|
53
|
+
mr: {
|
|
54
|
+
marginRight: '0.5em',
|
|
55
|
+
},
|
|
55
56
|
});
|
|
56
|
-
const PluginCard = (0, mobx_react_1.observer)(function PluginCard({ plugin, model,
|
|
57
|
+
const PluginCard = (0, mobx_react_1.observer)(function PluginCard({ plugin, model, }) {
|
|
57
58
|
const { classes } = useStyles();
|
|
58
59
|
const session = (0, util_1.getSession)(model);
|
|
59
60
|
const { pluginManager } = (0, util_1.getEnv)(model);
|
|
60
61
|
const { runtimePluginDefinitions } = pluginManager;
|
|
61
|
-
|
|
62
|
-
const isInstalled = runtimePluginDefinitions.some(d => d.url === plugin.url);
|
|
62
|
+
const isInstalled = runtimePluginDefinitions.some(d => 'url' in d && d.url === plugin.url);
|
|
63
63
|
const [tempDisabled, setTempDisabled] = (0, react_1.useState)(false);
|
|
64
|
-
const
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
return (react_1.default.createElement(material_1.Card, { variant: "outlined", key: plugin.name, className: classes.card },
|
|
64
|
+
const { adminMode, jbrowse } = session;
|
|
65
|
+
const { name, authors, description } = plugin;
|
|
66
|
+
return (react_1.default.createElement(material_1.Card, { variant: "outlined", key: name, className: classes.card },
|
|
68
67
|
react_1.default.createElement(material_1.CardContent, null,
|
|
69
68
|
react_1.default.createElement(material_1.Typography, { variant: "h5" },
|
|
70
69
|
react_1.default.createElement(material_1.Link, { href: `${plugin.location}#readme`, target: "_blank", rel: "noopener" }, plugin.name)),
|
|
71
70
|
react_1.default.createElement("div", { className: classes.dataField },
|
|
72
|
-
react_1.default.createElement(Person_1.default, {
|
|
73
|
-
react_1.default.createElement(material_1.Typography, null,
|
|
71
|
+
react_1.default.createElement(Person_1.default, { className: classes.mr }),
|
|
72
|
+
react_1.default.createElement(material_1.Typography, null, authors.join(', '))),
|
|
74
73
|
react_1.default.createElement(material_1.Typography, { className: classes.bold }, "Description:"),
|
|
75
|
-
react_1.default.createElement(material_1.Typography, null,
|
|
74
|
+
react_1.default.createElement(material_1.Typography, null, description)),
|
|
76
75
|
react_1.default.createElement(material_1.CardActions, null,
|
|
77
|
-
react_1.default.createElement(material_1.Button, { variant: "contained", disabled:
|
|
76
|
+
react_1.default.createElement(material_1.Button, { variant: "contained", disabled: isInstalled || tempDisabled, startIcon: isInstalled ? react_1.default.createElement(Check_1.default, null) : react_1.default.createElement(Add_1.default, null), onClick: () => {
|
|
78
77
|
if (adminMode) {
|
|
79
|
-
jbrowse.addPlugin(
|
|
78
|
+
jbrowse.addPlugin(plugin);
|
|
80
79
|
}
|
|
81
80
|
else if ((0, types_1.isSessionWithSessionPlugins)(session)) {
|
|
82
81
|
session.addSessionPlugin(plugin);
|
|
83
82
|
}
|
|
83
|
+
else {
|
|
84
|
+
session.notify('No way to install plugin');
|
|
85
|
+
}
|
|
84
86
|
setTempDisabled(true);
|
|
85
87
|
} }, isInstalled ? 'Installed' : 'Install'))));
|
|
86
88
|
});
|
|
@@ -27,21 +27,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
const react_1 = __importStar(require("react"));
|
|
30
|
-
const material_1 = require("@mui/material");
|
|
31
|
-
const mui_1 = require("tss-react/mui");
|
|
32
|
-
const mobx_react_1 = require("mobx-react");
|
|
33
|
-
const mobx_state_tree_1 = require("mobx-state-tree");
|
|
34
30
|
const ui_1 = require("@jbrowse/core/ui");
|
|
35
31
|
const util_1 = require("@jbrowse/core/util");
|
|
36
|
-
// icons
|
|
37
|
-
const ExpandMore_1 = __importDefault(require("@mui/icons-material/ExpandMore"));
|
|
38
32
|
const Clear_1 = __importDefault(require("@mui/icons-material/Clear"));
|
|
33
|
+
const ExpandMore_1 = __importDefault(require("@mui/icons-material/ExpandMore"));
|
|
39
34
|
const InfoOutlined_1 = __importDefault(require("@mui/icons-material/InfoOutlined"));
|
|
40
|
-
|
|
35
|
+
const material_1 = require("@mui/material");
|
|
36
|
+
const mobx_react_1 = require("mobx-react");
|
|
37
|
+
const mobx_state_tree_1 = require("mobx-state-tree");
|
|
38
|
+
const mui_1 = require("tss-react/mui");
|
|
41
39
|
const InstalledPluginsList_1 = __importDefault(require("./InstalledPluginsList"));
|
|
42
40
|
const PluginCard_1 = __importDefault(require("./PluginCard"));
|
|
43
41
|
const util_2 = require("./util");
|
|
44
|
-
// lazies
|
|
45
42
|
const AddCustomPluginDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./AddCustomPluginDialog'))));
|
|
46
43
|
const useStyles = (0, mui_1.makeStyles)()(theme => ({
|
|
47
44
|
expandIcon: {
|
|
@@ -58,53 +55,62 @@ const useStyles = (0, mui_1.makeStyles)()(theme => ({
|
|
|
58
55
|
margin: '1em auto',
|
|
59
56
|
display: 'flex',
|
|
60
57
|
},
|
|
58
|
+
mr: {
|
|
59
|
+
marginRight: '0.3em',
|
|
60
|
+
},
|
|
61
|
+
m: {
|
|
62
|
+
margin: '1em',
|
|
63
|
+
},
|
|
61
64
|
}));
|
|
62
65
|
const PluginStoreWidget = (0, mobx_react_1.observer)(function ({ model, }) {
|
|
63
66
|
const { classes } = useStyles();
|
|
64
67
|
const { plugins, error } = (0, util_2.useFetchPlugins)();
|
|
65
|
-
const
|
|
66
|
-
const { adminMode } =
|
|
68
|
+
const session = (0, util_1.getSession)(model);
|
|
69
|
+
const { adminMode } = session;
|
|
67
70
|
const { pluginManager } = (0, mobx_state_tree_1.getEnv)(model);
|
|
68
71
|
return (react_1.default.createElement("div", null,
|
|
69
72
|
adminMode && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
70
73
|
!util_1.isElectron && (react_1.default.createElement("div", { className: classes.adminBadge },
|
|
71
|
-
react_1.default.createElement(InfoOutlined_1.default, {
|
|
74
|
+
react_1.default.createElement(InfoOutlined_1.default, { className: classes.mr }),
|
|
72
75
|
react_1.default.createElement(material_1.Typography, null,
|
|
73
76
|
"You are using the ",
|
|
74
77
|
react_1.default.createElement("code", null, "admin-server"),
|
|
75
78
|
". Any changes you make will be saved to your configuration file. You also have the ability to add custom plugins that are not in the store."))),
|
|
76
79
|
react_1.default.createElement(material_1.Button, { className: classes.customPluginButton, variant: "contained", onClick: () => {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
80
|
+
session.queueDialog(onClose => [
|
|
81
|
+
AddCustomPluginDialog,
|
|
82
|
+
{
|
|
83
|
+
model,
|
|
84
|
+
onClose,
|
|
85
|
+
},
|
|
86
|
+
]);
|
|
87
|
+
} }, "Add custom plugin"))),
|
|
83
88
|
react_1.default.createElement(material_1.TextField, { label: "Filter plugins", value: model.filterText, onChange: event => {
|
|
84
89
|
model.setFilterText(event.target.value);
|
|
85
|
-
}, fullWidth: true,
|
|
86
|
-
|
|
87
|
-
react_1.default.createElement(material_1.
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
90
|
+
}, fullWidth: true, slotProps: {
|
|
91
|
+
input: {
|
|
92
|
+
endAdornment: (react_1.default.createElement(material_1.InputAdornment, { position: "end" },
|
|
93
|
+
react_1.default.createElement(material_1.IconButton, { onClick: () => {
|
|
94
|
+
model.clearFilterText();
|
|
95
|
+
} },
|
|
96
|
+
react_1.default.createElement(Clear_1.default, null)))),
|
|
97
|
+
},
|
|
91
98
|
} }),
|
|
92
99
|
react_1.default.createElement(material_1.Accordion, { defaultExpanded: true },
|
|
93
100
|
react_1.default.createElement(material_1.AccordionSummary, { expandIcon: react_1.default.createElement(ExpandMore_1.default, { className: classes.expandIcon }) },
|
|
94
101
|
react_1.default.createElement(material_1.Typography, { variant: "h5" }, "Installed plugins")),
|
|
95
|
-
react_1.default.createElement("div", {
|
|
102
|
+
react_1.default.createElement("div", { className: classes.m },
|
|
96
103
|
react_1.default.createElement(InstalledPluginsList_1.default, { pluginManager: pluginManager, model: model }))),
|
|
97
104
|
react_1.default.createElement(material_1.Accordion, { defaultExpanded: true },
|
|
98
105
|
react_1.default.createElement(material_1.AccordionSummary, { expandIcon: react_1.default.createElement(ExpandMore_1.default, { className: classes.expandIcon }) },
|
|
99
106
|
react_1.default.createElement(material_1.Typography, { variant: "h5" }, "Available plugins")),
|
|
100
107
|
error ? (react_1.default.createElement(material_1.Typography, { color: "error" }, `${error}`)) : plugins ? (plugins
|
|
101
108
|
.filter(plugin => {
|
|
102
|
-
// If plugin only has cjsUrl, don't display outside desktop
|
|
103
109
|
return (!(util_1.isElectron && plugin.cjsUrl) &&
|
|
104
110
|
plugin.name
|
|
105
111
|
.toLowerCase()
|
|
106
112
|
.includes(model.filterText.toLowerCase()));
|
|
107
113
|
})
|
|
108
|
-
.map(plugin => (react_1.default.createElement(PluginCard_1.default, { key: plugin.name, plugin: plugin, model: model
|
|
114
|
+
.map(plugin => (react_1.default.createElement(PluginCard_1.default, { key: plugin.name, plugin: plugin, model: model })))) : (react_1.default.createElement(ui_1.LoadingEllipses, null)))));
|
|
109
115
|
});
|
|
110
116
|
exports.default = PluginStoreWidget;
|
|
@@ -6,7 +6,6 @@ function useFetchPlugins() {
|
|
|
6
6
|
const [plugins, setPlugins] = (0, react_1.useState)();
|
|
7
7
|
const [error, setError] = (0, react_1.useState)();
|
|
8
8
|
(0, react_1.useEffect)(() => {
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
10
9
|
;
|
|
11
10
|
(async () => {
|
|
12
11
|
try {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
2
|
export default function PluginStoreWidgetF(pluginManager: PluginManager): void;
|
|
@@ -27,9 +27,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.default = PluginStoreWidgetF;
|
|
30
|
+
const react_1 = require("react");
|
|
30
31
|
const configuration_1 = require("@jbrowse/core/configuration");
|
|
31
32
|
const pluggableElementTypes_1 = require("@jbrowse/core/pluggableElementTypes");
|
|
32
|
-
const react_1 = require("react");
|
|
33
33
|
const model_1 = __importDefault(require("./model"));
|
|
34
34
|
const configSchema = (0, configuration_1.ConfigurationSchema)('PluginStoreWidget', {});
|
|
35
35
|
function PluginStoreWidgetF(pluginManager) {
|
|
@@ -1,18 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
|
+
import type { Instance } from 'mobx-state-tree';
|
|
3
3
|
export default function stateModelFactory(pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
|
|
4
4
|
id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
5
5
|
type: import("mobx-state-tree").ISimpleType<"PluginStoreWidget">;
|
|
6
6
|
filterText: import("mobx-state-tree").IType<string | undefined, string, string>;
|
|
7
7
|
view: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IReferenceType<import("mobx-state-tree").IAnyType>>;
|
|
8
8
|
}, {
|
|
9
|
-
/**
|
|
10
|
-
* #action
|
|
11
|
-
*/
|
|
12
9
|
clearFilterText(): void;
|
|
13
|
-
/**
|
|
14
|
-
* #action
|
|
15
|
-
*/
|
|
16
10
|
setFilterText(newText: string): void;
|
|
17
11
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
|
|
18
12
|
export type PluginStoreStateModel = ReturnType<typeof stateModelFactory>;
|
|
@@ -1,38 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.default = stateModelFactory;
|
|
4
|
-
const mobx_state_tree_1 = require("mobx-state-tree");
|
|
5
4
|
const mst_1 = require("@jbrowse/core/util/types/mst");
|
|
5
|
+
const mobx_state_tree_1 = require("mobx-state-tree");
|
|
6
6
|
function stateModelFactory(pluginManager) {
|
|
7
7
|
return mobx_state_tree_1.types
|
|
8
8
|
.model('PluginStoreModel', {
|
|
9
|
-
/**
|
|
10
|
-
* #property
|
|
11
|
-
*/
|
|
12
9
|
id: mst_1.ElementId,
|
|
13
|
-
/**
|
|
14
|
-
* #property
|
|
15
|
-
*/
|
|
16
10
|
type: mobx_state_tree_1.types.literal('PluginStoreWidget'),
|
|
17
|
-
/**
|
|
18
|
-
* #property
|
|
19
|
-
*/
|
|
20
11
|
filterText: '',
|
|
21
|
-
/**
|
|
22
|
-
* #property
|
|
23
|
-
*/
|
|
24
12
|
view: mobx_state_tree_1.types.safeReference(pluginManager.pluggableMstType('view', 'stateModel')),
|
|
25
13
|
})
|
|
26
14
|
.actions(self => ({
|
|
27
|
-
/**
|
|
28
|
-
* #action
|
|
29
|
-
*/
|
|
30
15
|
clearFilterText() {
|
|
31
16
|
self.filterText = '';
|
|
32
17
|
},
|
|
33
|
-
/**
|
|
34
|
-
* #action
|
|
35
|
-
*/
|
|
36
18
|
setFilterText(newText) {
|
|
37
19
|
self.filterText = newText;
|
|
38
20
|
},
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
declare const UCSCTrackHubConnection: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
2
|
-
/**
|
|
3
|
-
* #slot
|
|
4
|
-
*/
|
|
5
2
|
hubTxtLocation: {
|
|
6
3
|
type: string;
|
|
7
4
|
defaultValue: {
|
|
@@ -10,9 +7,6 @@ declare const UCSCTrackHubConnection: import("@jbrowse/core/configuration/config
|
|
|
10
7
|
};
|
|
11
8
|
description: string;
|
|
12
9
|
};
|
|
13
|
-
/**
|
|
14
|
-
* #slot
|
|
15
|
-
*/
|
|
16
10
|
assemblyNames: {
|
|
17
11
|
type: string;
|
|
18
12
|
defaultValue: never[];
|
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const models_1 = require("@jbrowse/core/pluggableElementTypes/models");
|
|
4
3
|
const configuration_1 = require("@jbrowse/core/configuration");
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
*/
|
|
8
|
-
function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
4
|
+
const models_1 = require("@jbrowse/core/pluggableElementTypes/models");
|
|
5
|
+
function x() { }
|
|
9
6
|
const UCSCTrackHubConnection = (0, configuration_1.ConfigurationSchema)('UCSCTrackHubConnection', {
|
|
10
|
-
/**
|
|
11
|
-
* #slot
|
|
12
|
-
*/
|
|
13
7
|
hubTxtLocation: {
|
|
14
8
|
type: 'fileLocation',
|
|
15
9
|
defaultValue: {
|
|
@@ -18,18 +12,12 @@ const UCSCTrackHubConnection = (0, configuration_1.ConfigurationSchema)('UCSCTra
|
|
|
18
12
|
},
|
|
19
13
|
description: 'location of the hub file (usually called hub.txt)',
|
|
20
14
|
},
|
|
21
|
-
/**
|
|
22
|
-
* #slot
|
|
23
|
-
*/
|
|
24
15
|
assemblyNames: {
|
|
25
16
|
type: 'stringArray',
|
|
26
17
|
defaultValue: [],
|
|
27
18
|
description: 'optional list of genomes to import from this track hub, if empty all genomes will be imported',
|
|
28
19
|
},
|
|
29
20
|
}, {
|
|
30
|
-
/**
|
|
31
|
-
* #baseConfiguration
|
|
32
|
-
*/
|
|
33
21
|
baseConfiguration: models_1.baseConnectionConfig,
|
|
34
22
|
});
|
|
35
23
|
exports.default = UCSCTrackHubConnection;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AnyConfigurationModel } from '@jbrowse/core/configuration';
|
|
1
|
+
import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
|
|
2
2
|
export declare function doConnect(self: {
|
|
3
3
|
configuration: AnyConfigurationModel;
|
|
4
4
|
addTrackConfs: (arg: Record<string, unknown>[]) => void;
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.doConnect = doConnect;
|
|
4
4
|
const ucsc_hub_1 = require("@gmod/ucsc-hub");
|
|
5
|
-
const ucscTrackHub_1 = require("./ucscTrackHub");
|
|
6
5
|
const configuration_1 = require("@jbrowse/core/configuration");
|
|
7
6
|
const util_1 = require("@jbrowse/core/util");
|
|
8
7
|
const io_1 = require("@jbrowse/core/util/io");
|
|
9
8
|
const nanoid_1 = require("@jbrowse/core/util/nanoid");
|
|
9
|
+
const ucscTrackHub_1 = require("./ucscTrackHub");
|
|
10
10
|
function resolve(uri, baseUri) {
|
|
11
11
|
return new URL(uri, baseUri).href;
|
|
12
12
|
}
|
|
@@ -17,7 +17,6 @@ async function doConnect(self) {
|
|
|
17
17
|
try {
|
|
18
18
|
const hubFileLocation = (0, configuration_1.getConf)(self, 'hubTxtLocation');
|
|
19
19
|
const hubFileText = await (0, io_1.openLocation)(hubFileLocation).readFile('utf8');
|
|
20
|
-
// @ts-expect-error
|
|
21
20
|
const hubUri = resolve(hubFileLocation.uri, hubFileLocation.baseUri);
|
|
22
21
|
const { assemblyManager } = session;
|
|
23
22
|
if (hubFileText.includes('useOneFile on')) {
|
|
@@ -26,7 +25,6 @@ async function doConnect(self) {
|
|
|
26
25
|
const genomeName = genome.name;
|
|
27
26
|
const asm = assemblyManager.get(genomeName);
|
|
28
27
|
if (!asm) {
|
|
29
|
-
// @ts-expect-error
|
|
30
28
|
session.addSessionAssembly({
|
|
31
29
|
name: genomeName,
|
|
32
30
|
sequence: {
|
|
@@ -60,7 +58,6 @@ async function doConnect(self) {
|
|
|
60
58
|
if (!genomeFile) {
|
|
61
59
|
throw new Error('genomesFile not found on hub');
|
|
62
60
|
}
|
|
63
|
-
// @ts-expect-error
|
|
64
61
|
const hubUri = resolve(hubFileLocation.uri, hubFileLocation.baseUri);
|
|
65
62
|
const genomesFileLocation = hubUri
|
|
66
63
|
? {
|
|
@@ -83,7 +80,6 @@ async function doConnect(self) {
|
|
|
83
80
|
notLoadedAssemblies.push(genomeName);
|
|
84
81
|
continue;
|
|
85
82
|
}
|
|
86
|
-
// @ts-expect-error
|
|
87
83
|
const db = genome.data.trackDb;
|
|
88
84
|
if (!db) {
|
|
89
85
|
throw new Error('genomesFile not found on hub');
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
2
|
export default function UCSCTrackHubConnectionF(pluginManager: PluginManager): void;
|
|
@@ -5,15 +5,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.default = UCSCTrackHubConnectionF;
|
|
7
7
|
const pluggableElementTypes_1 = require("@jbrowse/core/pluggableElementTypes");
|
|
8
|
-
const model_1 = __importDefault(require("./model"));
|
|
9
8
|
const configSchema_1 = __importDefault(require("./configSchema"));
|
|
9
|
+
const model_1 = __importDefault(require("./model"));
|
|
10
10
|
function UCSCTrackHubConnectionF(pluginManager) {
|
|
11
|
-
pluginManager.addConnectionType(() =>
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
pluginManager.addConnectionType(() => {
|
|
12
|
+
return new pluggableElementTypes_1.ConnectionType({
|
|
13
|
+
name: 'UCSCTrackHubConnection',
|
|
14
|
+
configSchema: configSchema_1.default,
|
|
15
|
+
stateModel: (0, model_1.default)(pluginManager),
|
|
16
|
+
displayName: 'UCSC Track Hub',
|
|
17
|
+
description: 'A track or assembly hub in the Track Hub format',
|
|
18
|
+
url: 'https://genome.ucsc.edu/goldenPath/help/hgTrackHubHelp.html#Intro',
|
|
19
|
+
});
|
|
20
|
+
});
|
|
19
21
|
}
|