@jbrowse/app-core 4.2.1 → 5.0.0-beta.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/AppSession/AppRootModel.d.ts +30 -0
- package/esm/AppSession/AppRootModel.js +1 -0
- package/esm/AppSession/AppSessionMixin.d.ts +1598 -0
- package/esm/AppSession/AppSessionMixin.js +62 -0
- package/esm/AppSession/index.d.ts +2 -0
- package/esm/AppSession/index.js +1 -0
- package/esm/Assemblies/AssembliesMixin.d.ts +225 -0
- package/esm/Assemblies/AssembliesMixin.js +149 -0
- package/esm/Assemblies/index.d.ts +1 -2
- package/esm/Assemblies/index.js +1 -2
- package/esm/HistoryManagement/index.d.ts +19 -0
- package/esm/HistoryManagement/index.js +42 -5
- package/esm/JBrowseConfig/RootConfiguration.d.ts +167 -78
- package/esm/JBrowseConfig/RootConfiguration.js +85 -7
- package/esm/JBrowseConfig/index.d.ts +169 -84
- package/esm/JBrowseConfig/index.js +62 -2
- package/esm/JBrowseModel/index.d.ts +176 -95
- package/esm/JBrowseModel/index.js +122 -21
- package/esm/RootMenu/index.d.ts +77 -2
- package/esm/RootMenu/index.js +107 -61
- package/esm/SessionSpec/index.d.ts +6 -0
- package/esm/SessionSpec/index.js +3 -0
- package/esm/SessionSpec/lgvUrlInit.d.ts +79 -0
- package/esm/SessionSpec/lgvUrlInit.js +158 -0
- package/esm/SessionSpec/loadSessionSpec.d.ts +21 -0
- package/esm/SessionSpec/loadSessionSpec.js +311 -0
- package/esm/SessionSpec/parseSessionSpecUrl.d.ts +13 -0
- package/esm/SessionSpec/parseSessionSpecUrl.js +196 -0
- package/esm/SessionSpec/types.d.ts +33 -0
- package/esm/SessionSpec/types.js +1 -0
- package/esm/WorkspaceLayout/LayoutRenderer.d.ts +24 -0
- package/esm/WorkspaceLayout/LayoutRenderer.js +185 -0
- package/esm/WorkspaceLayout/PanelView.d.ts +13 -0
- package/esm/WorkspaceLayout/PanelView.js +99 -0
- package/esm/WorkspaceLayout/TabStrip.d.ts +14 -0
- package/esm/WorkspaceLayout/TabStrip.js +226 -0
- package/esm/WorkspaceLayout/WorkspaceContainer.d.ts +16 -0
- package/esm/WorkspaceLayout/WorkspaceContainer.js +105 -0
- package/esm/WorkspaceLayout/WorkspacePanelActions.d.ts +24 -0
- package/esm/WorkspaceLayout/WorkspacePanelActions.js +120 -0
- package/esm/WorkspaceLayout/WorkspaceTab.d.ts +27 -0
- package/esm/WorkspaceLayout/WorkspaceTab.js +109 -0
- package/esm/WorkspaceLayout/dockviewTheme.d.ts +69 -0
- package/esm/WorkspaceLayout/dockviewTheme.js +82 -0
- package/esm/WorkspaceLayout/dropZone.d.ts +105 -0
- package/esm/WorkspaceLayout/dropZone.js +113 -0
- package/esm/WorkspaceLayout/index.d.ts +8 -0
- package/esm/WorkspaceLayout/index.js +4 -0
- package/esm/WorkspaceLayout/model.d.ts +240 -0
- package/esm/WorkspaceLayout/model.js +527 -0
- package/esm/WorkspaceLayout/panelChrome.d.ts +19 -0
- package/esm/WorkspaceLayout/panelChrome.js +4 -0
- package/esm/WorkspaceLayout/spec.d.ts +58 -0
- package/esm/WorkspaceLayout/spec.js +153 -0
- package/esm/WorkspaceLayout/splitter.d.ts +25 -0
- package/esm/WorkspaceLayout/splitter.js +37 -0
- package/esm/WorkspaceLayout/tree.d.ts +158 -0
- package/esm/WorkspaceLayout/tree.js +379 -0
- package/esm/WorkspaceLayout/useLayoutDrag.d.ts +34 -0
- package/esm/WorkspaceLayout/useLayoutDrag.js +232 -0
- package/esm/index.d.ts +16 -9
- package/esm/index.js +13 -9
- package/esm/menus.d.ts +63 -62
- package/esm/menus.js +131 -84
- package/esm/queryParams.d.ts +9 -0
- package/esm/queryParams.js +92 -0
- package/esm/sessionModelFactory.d.ts +18 -0
- package/esm/sessionModelFactory.js +1 -0
- package/esm/ui/App/App.d.ts +3 -14
- package/esm/ui/App/App.js +30 -17
- package/esm/ui/App/AppFab.d.ts +12 -3
- package/esm/ui/App/AppFab.js +15 -8
- package/esm/ui/App/AppReadyMarker.d.ts +34 -0
- package/esm/ui/App/AppReadyMarker.js +56 -0
- package/esm/ui/App/AppToolbar.d.ts +2 -14
- package/esm/ui/App/AppToolbar.js +23 -24
- package/esm/ui/App/ClassicViewsContainer.d.ts +3 -9
- package/esm/ui/App/ClassicViewsContainer.js +9 -8
- package/esm/ui/App/DialogQueue.d.ts +17 -1
- package/esm/ui/App/DialogQueue.js +30 -1
- package/esm/ui/App/Drawer.d.ts +1 -1
- package/esm/ui/App/Drawer.js +10 -39
- package/esm/ui/App/DrawerControls.d.ts +1 -5
- package/esm/ui/App/DrawerControls.js +1 -25
- package/esm/ui/App/DrawerHeader.d.ts +2 -3
- package/esm/ui/App/DrawerHeader.js +24 -10
- package/esm/ui/App/DrawerHeaderHelpButton.d.ts +1 -1
- package/esm/ui/App/DrawerHeaderHelpButton.js +3 -3
- package/esm/ui/App/DrawerHeaderHelpDialog.d.ts +2 -2
- package/esm/ui/App/DrawerHeaderHelpDialog.js +3 -4
- package/esm/ui/App/DrawerWidget.d.ts +1 -1
- package/esm/ui/App/DrawerWidget.js +9 -21
- package/esm/ui/App/JBrowseTabMenu.d.ts +2 -3
- package/esm/ui/App/JBrowseTabMenu.js +24 -5
- package/esm/ui/App/ViewButtons.d.ts +2 -4
- package/esm/ui/App/ViewButtons.js +15 -3
- package/esm/ui/App/ViewContainer.d.ts +3 -2
- package/esm/ui/App/ViewContainer.js +144 -24
- package/esm/ui/App/ViewContainerTitle.d.ts +1 -1
- package/esm/ui/App/ViewContainerTitle.js +9 -2
- package/esm/ui/App/ViewErrorFallback.d.ts +18 -0
- package/esm/ui/App/ViewErrorFallback.js +42 -0
- package/esm/ui/App/ViewHeader.d.ts +3 -4
- package/esm/ui/App/ViewHeader.js +28 -17
- package/esm/ui/App/ViewLauncher.d.ts +2 -8
- package/esm/ui/App/ViewLauncher.js +7 -5
- package/esm/ui/App/ViewMenu.d.ts +3 -5
- package/esm/ui/App/ViewMenu.js +87 -92
- package/esm/ui/App/ViewStack.d.ts +7 -0
- package/esm/ui/App/ViewStack.js +42 -0
- package/esm/ui/App/ViewWrapper.d.ts +15 -1
- package/esm/ui/App/ViewWrapper.js +26 -10
- package/esm/ui/App/ViewsContainer.d.ts +3 -8
- package/esm/ui/App/ViewsContainer.js +9 -6
- package/esm/ui/App/copyView.js +1 -1
- package/esm/ui/App/index.d.ts +2 -1
- package/esm/ui/App/index.js +3 -2
- package/esm/ui/App/lazyChunk.d.ts +13 -0
- package/esm/ui/App/lazyChunk.js +91 -0
- package/esm/ui/App/types.d.ts +12 -3
- package/esm/ui/App/types.js +1 -1
- package/esm/ui/App/useViewVisibility.d.ts +34 -0
- package/esm/ui/App/useViewVisibility.js +87 -0
- package/esm/ui/App/viewTitle.d.ts +5 -0
- package/esm/ui/App/viewTitle.js +9 -0
- package/esm/ui/index.d.ts +1 -1
- package/esm/ui/index.js +1 -1
- package/package.json +12 -17
- package/esm/AppFocus/index.d.ts +0 -5
- package/esm/AppFocus/index.js +0 -12
- package/esm/Assemblies/SessionAssembliesMixin.d.ts +0 -92
- package/esm/Assemblies/SessionAssembliesMixin.js +0 -53
- package/esm/Assemblies/TemporaryAssembliesMixin.d.ts +0 -10
- package/esm/Assemblies/TemporaryAssembliesMixin.js +0 -37
- package/esm/DockviewLayout/index.d.ts +0 -35
- package/esm/DockviewLayout/index.js +0 -111
- package/esm/ui/App/DockviewContext.d.ts +0 -22
- package/esm/ui/App/DockviewContext.js +0 -29
- package/esm/ui/App/DockviewLeftHeaderActions.d.ts +0 -2
- package/esm/ui/App/DockviewLeftHeaderActions.js +0 -58
- package/esm/ui/App/DockviewRightHeaderActions.d.ts +0 -2
- package/esm/ui/App/DockviewRightHeaderActions.js +0 -100
- package/esm/ui/App/DrawerWidgetSelector.d.ts +0 -5
- package/esm/ui/App/DrawerWidgetSelector.js +0 -47
- package/esm/ui/App/JBrowseViewPanel.d.ts +0 -8
- package/esm/ui/App/JBrowseViewPanel.js +0 -40
- package/esm/ui/App/JBrowseViewTab.d.ts +0 -8
- package/esm/ui/App/JBrowseViewTab.js +0 -97
- package/esm/ui/App/ModalWidget.d.ts +0 -6
- package/esm/ui/App/ModalWidget.js +0 -48
- package/esm/ui/App/TiledViewsContainer.d.ts +0 -6
- package/esm/ui/App/TiledViewsContainer.js +0 -366
- package/esm/ui/App/dockviewUtils.d.ts +0 -46
- package/esm/ui/App/dockviewUtils.js +0 -55
|
@@ -1,107 +1,196 @@
|
|
|
1
1
|
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
|
-
|
|
2
|
+
import type { ConfigurationSchemaDefinition } from '@jbrowse/core/configuration';
|
|
3
|
+
export declare const DEFAULT_SHARE_URL = "https://share.jbrowse.org/api/v1/";
|
|
4
|
+
/**
|
|
5
|
+
* #config JBrowseConfiguration
|
|
6
|
+
* #category root
|
|
7
|
+
* this is the entry under the `configuration` key
|
|
8
|
+
* e.g.
|
|
9
|
+
* ```json
|
|
10
|
+
* {
|
|
11
|
+
* assemblies,
|
|
12
|
+
* tracks,
|
|
13
|
+
* configuration: { these entries here }
|
|
14
|
+
* }
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export default function RootConfiguration({ pluginManager, extraConfigSlots, }: {
|
|
3
18
|
pluginManager: PluginManager;
|
|
19
|
+
extraConfigSlots?: ConfigurationSchemaDefinition;
|
|
4
20
|
}): import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
21
|
+
/**
|
|
22
|
+
* #slot configuration.rpc
|
|
23
|
+
* configuration for the RPC system that runs data adapters in web workers,
|
|
24
|
+
* see RpcOptions
|
|
25
|
+
*/
|
|
26
|
+
readonly rpc: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
27
|
+
readonly defaultDriver: {
|
|
28
|
+
readonly type: "string";
|
|
29
|
+
readonly description: "the RPC driver to run data fetching on: MainThreadRpcDriver or WebWorkerRpcDriver. Leave empty to use the default for this application";
|
|
30
|
+
readonly defaultValue: "";
|
|
31
|
+
readonly advanced: true;
|
|
32
|
+
};
|
|
33
|
+
readonly workerCount: {
|
|
34
|
+
readonly type: "number";
|
|
35
|
+
readonly description: "The number of workers to use. If 0 (the default) JBrowse will decide how many workers to use.";
|
|
36
|
+
readonly defaultValue: 0;
|
|
37
|
+
readonly advanced: true;
|
|
10
38
|
};
|
|
11
|
-
drivers: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IMapType<import("@jbrowse/mobx-state-tree").ITypeUnion<import("@jbrowse/mobx-state-tree").ModelCreationType<import("@jbrowse/mobx-state-tree/dist/internal").ExtractCFromProps<Record<string, any>>> | undefined, import("@jbrowse/mobx-state-tree").ModelSnapshotType<Record<string, any>>, ({} & Partial<import("@jbrowse/mobx-state-tree/dist/internal").ExtractCFromProps<Record<string, any>>> & import("@jbrowse/mobx-state-tree/dist/internal").NonEmptyObject) | undefined>>, [undefined]>;
|
|
12
39
|
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
40
|
+
/**
|
|
41
|
+
* #slot configuration.formatDetails
|
|
42
|
+
* jexl callbacks that add, rewrite or hide fields in the feature-details
|
|
43
|
+
* panel of every track at once. Four slots, listed at
|
|
44
|
+
* [FormatDetails](/docs/config/formatdetails); a track can set the same
|
|
45
|
+
* ones on its own `formatDetails` and override individual keys.
|
|
46
|
+
*/
|
|
47
|
+
readonly formatDetails: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
48
|
+
readonly feature: {
|
|
49
|
+
readonly type: "frozen";
|
|
50
|
+
readonly description: "adds extra fields to the feature details";
|
|
51
|
+
readonly defaultValue: {};
|
|
52
|
+
readonly contextVariable: ["feature"];
|
|
23
53
|
};
|
|
24
|
-
subfeatures: {
|
|
25
|
-
type:
|
|
26
|
-
description:
|
|
27
|
-
defaultValue: {};
|
|
28
|
-
contextVariable:
|
|
54
|
+
readonly subfeatures: {
|
|
55
|
+
readonly type: "frozen";
|
|
56
|
+
readonly description: "adds extra fields to the subfeatures of a feature";
|
|
57
|
+
readonly defaultValue: {};
|
|
58
|
+
readonly contextVariable: ["feature"];
|
|
29
59
|
};
|
|
30
|
-
depth: {
|
|
31
|
-
type:
|
|
32
|
-
|
|
33
|
-
description: string;
|
|
60
|
+
readonly depth: {
|
|
61
|
+
readonly type: "maybeNumber";
|
|
62
|
+
readonly description: "levels of subfeature the formatDetails.subfeatures callback runs on, default 2";
|
|
34
63
|
};
|
|
35
|
-
maxDepth: {
|
|
36
|
-
type:
|
|
37
|
-
|
|
38
|
-
description: string;
|
|
64
|
+
readonly maxDepth: {
|
|
65
|
+
readonly type: "maybeNumber";
|
|
66
|
+
readonly description: "hide subfeatures nested deeper than this, default no limit";
|
|
39
67
|
};
|
|
40
68
|
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
69
|
+
/**
|
|
70
|
+
* #slot configuration.formatAbout
|
|
71
|
+
* jexl callbacks that add, rewrite or hide fields in the About dialog of
|
|
72
|
+
* every track at once. Two slots, listed at
|
|
73
|
+
* [FormatAbout](/docs/config/formatabout); a track can set the same ones on
|
|
74
|
+
* its own `formatAbout` and override individual keys.
|
|
75
|
+
*/
|
|
76
|
+
readonly formatAbout: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
77
|
+
readonly config: {
|
|
78
|
+
readonly type: "frozen";
|
|
79
|
+
readonly description: "formats configuration object in about dialog";
|
|
80
|
+
readonly defaultValue: {};
|
|
81
|
+
readonly contextVariable: ["config"];
|
|
47
82
|
};
|
|
48
|
-
hideUris: {
|
|
49
|
-
type:
|
|
50
|
-
defaultValue:
|
|
83
|
+
readonly hideUris: {
|
|
84
|
+
readonly type: "boolean";
|
|
85
|
+
readonly defaultValue: false;
|
|
51
86
|
};
|
|
52
87
|
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
88
|
+
/**
|
|
89
|
+
* #slot configuration.shareURL
|
|
90
|
+
* URL of the session-sharing backend used by the Share button, a
|
|
91
|
+
* JBrowse-hosted service by default
|
|
92
|
+
*/
|
|
93
|
+
readonly shareURL: {
|
|
94
|
+
readonly type: "string";
|
|
95
|
+
readonly defaultValue: "https://share.jbrowse.org/api/v1/";
|
|
96
|
+
readonly advanced: true;
|
|
56
97
|
};
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
98
|
+
/**
|
|
99
|
+
* #slot configuration.disableAnalytics
|
|
100
|
+
* disables collection of anonymous usage analytics
|
|
101
|
+
*/
|
|
102
|
+
readonly disableAnalytics: {
|
|
103
|
+
readonly type: "boolean";
|
|
104
|
+
readonly defaultValue: false;
|
|
105
|
+
readonly advanced: true;
|
|
60
106
|
};
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
107
|
+
/**
|
|
108
|
+
* #slot configuration.hierarchical
|
|
109
|
+
* configuration for the hierarchical track selector, controlling sorting
|
|
110
|
+
* and default categories, see HierarchicalConfigSchema
|
|
111
|
+
*/
|
|
112
|
+
readonly hierarchical: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
113
|
+
readonly sort: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
114
|
+
readonly trackNames: {
|
|
115
|
+
readonly type: "boolean";
|
|
116
|
+
readonly defaultValue: false;
|
|
66
117
|
};
|
|
67
|
-
categories: {
|
|
68
|
-
type:
|
|
69
|
-
defaultValue:
|
|
118
|
+
readonly categories: {
|
|
119
|
+
readonly type: "boolean";
|
|
120
|
+
readonly defaultValue: false;
|
|
70
121
|
};
|
|
71
122
|
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
72
|
-
defaultFolderCategories: {
|
|
73
|
-
type:
|
|
74
|
-
description:
|
|
75
|
-
defaultValue:
|
|
123
|
+
readonly defaultFolderCategories: {
|
|
124
|
+
readonly type: "stringArray";
|
|
125
|
+
readonly description: "list of category names to display as folders by default";
|
|
126
|
+
readonly defaultValue: readonly [];
|
|
76
127
|
};
|
|
77
|
-
defaultCollapsed: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
78
|
-
categoryNames: {
|
|
79
|
-
type:
|
|
80
|
-
defaultValue:
|
|
128
|
+
readonly defaultCollapsed: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
129
|
+
readonly categoryNames: {
|
|
130
|
+
readonly type: "stringArray";
|
|
131
|
+
readonly defaultValue: readonly [];
|
|
81
132
|
};
|
|
82
|
-
topLevelCategories: {
|
|
83
|
-
type:
|
|
84
|
-
defaultValue:
|
|
133
|
+
readonly topLevelCategories: {
|
|
134
|
+
readonly type: "boolean";
|
|
135
|
+
readonly defaultValue: false;
|
|
85
136
|
};
|
|
86
|
-
subCategories: {
|
|
87
|
-
type:
|
|
88
|
-
defaultValue:
|
|
137
|
+
readonly subCategories: {
|
|
138
|
+
readonly type: "boolean";
|
|
139
|
+
readonly defaultValue: false;
|
|
89
140
|
};
|
|
90
141
|
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
91
142
|
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
143
|
+
/**
|
|
144
|
+
* #slot configuration.preferences
|
|
145
|
+
* user preferences such as scroll-to-zoom and animation behavior, see
|
|
146
|
+
* PreferencesConfigSchema
|
|
147
|
+
*/
|
|
148
|
+
readonly preferences: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
149
|
+
readonly animationMode: {
|
|
150
|
+
readonly model: import("@jbrowse/mobx-state-tree").ISimpleType<"disabled" | "enabled" | "system">;
|
|
151
|
+
readonly type: "stringEnum";
|
|
152
|
+
readonly defaultValue: "enabled";
|
|
153
|
+
};
|
|
154
|
+
readonly scrollZoom: {
|
|
155
|
+
readonly type: "boolean";
|
|
156
|
+
readonly defaultValue: false;
|
|
157
|
+
};
|
|
158
|
+
readonly numberGrouping: {
|
|
159
|
+
readonly type: "boolean";
|
|
160
|
+
readonly defaultValue: true;
|
|
161
|
+
};
|
|
162
|
+
readonly useWorkspaces: {
|
|
163
|
+
readonly type: "boolean";
|
|
164
|
+
readonly defaultValue: false;
|
|
165
|
+
};
|
|
166
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
167
|
+
/**
|
|
168
|
+
* #slot configuration.theme
|
|
169
|
+
*/
|
|
170
|
+
readonly theme: {
|
|
171
|
+
readonly type: "frozen";
|
|
172
|
+
readonly description: "Material UI theme overrides applied to the JBrowse UI";
|
|
173
|
+
readonly defaultValue: {};
|
|
95
174
|
};
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
175
|
+
/**
|
|
176
|
+
* #slot configuration.extraThemes
|
|
177
|
+
*/
|
|
178
|
+
readonly extraThemes: {
|
|
179
|
+
readonly type: "frozen";
|
|
180
|
+
readonly description: "additional named themes the user can switch between";
|
|
181
|
+
readonly defaultValue: {};
|
|
182
|
+
readonly advanced: true;
|
|
99
183
|
};
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
184
|
+
/**
|
|
185
|
+
* #slot configuration.logoPath
|
|
186
|
+
*/
|
|
187
|
+
readonly logoPath: {
|
|
188
|
+
readonly type: "fileLocation";
|
|
189
|
+
readonly description: "path to a custom logo image displayed in the app header";
|
|
190
|
+
readonly defaultValue: {
|
|
191
|
+
readonly uri: "";
|
|
192
|
+
readonly locationType: "UriLocation";
|
|
105
193
|
};
|
|
194
|
+
readonly advanced: true;
|
|
106
195
|
};
|
|
107
196
|
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
@@ -1,40 +1,118 @@
|
|
|
1
1
|
import { ConfigurationSchema } from '@jbrowse/core/configuration';
|
|
2
2
|
import RpcManager from '@jbrowse/core/rpc/RpcManager';
|
|
3
|
-
import { FormatAboutConfigSchemaFactory, FormatDetailsConfigSchemaFactory, HierarchicalConfigSchemaFactory, } from '@jbrowse/product-core';
|
|
4
|
-
|
|
3
|
+
import { FormatAboutConfigSchemaFactory, FormatDetailsConfigSchemaFactory, HierarchicalConfigSchemaFactory, PreferencesConfigSchemaFactory, } from '@jbrowse/product-core';
|
|
4
|
+
// The JBrowse-hosted session-sharing backend. Single source of truth for both
|
|
5
|
+
// the write path (this slot's default, read via getConf) and the SessionLoader
|
|
6
|
+
// read path (which reads the raw config snapshot before config is initialized),
|
|
7
|
+
// so the two can't drift onto different endpoints.
|
|
8
|
+
export const DEFAULT_SHARE_URL = 'https://share.jbrowse.org/api/v1/';
|
|
9
|
+
/**
|
|
10
|
+
* #config JBrowseConfiguration
|
|
11
|
+
* #category root
|
|
12
|
+
* this is the entry under the `configuration` key
|
|
13
|
+
* e.g.
|
|
14
|
+
* ```json
|
|
15
|
+
* {
|
|
16
|
+
* assemblies,
|
|
17
|
+
* tracks,
|
|
18
|
+
* configuration: { these entries here }
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export default function RootConfiguration({ pluginManager, extraConfigSlots = {}, }) {
|
|
5
23
|
return ConfigurationSchema('Root', {
|
|
24
|
+
...extraConfigSlots,
|
|
25
|
+
/**
|
|
26
|
+
* #slot configuration.rpc
|
|
27
|
+
* configuration for the RPC system that runs data adapters in web workers,
|
|
28
|
+
* see RpcOptions
|
|
29
|
+
*/
|
|
6
30
|
rpc: RpcManager.configSchema,
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
31
|
+
/**
|
|
32
|
+
* #slot configuration.formatDetails
|
|
33
|
+
* jexl callbacks that add, rewrite or hide fields in the feature-details
|
|
34
|
+
* panel of every track at once. Four slots, listed at
|
|
35
|
+
* [FormatDetails](/docs/config/formatdetails); a track can set the same
|
|
36
|
+
* ones on its own `formatDetails` and override individual keys.
|
|
37
|
+
*/
|
|
11
38
|
formatDetails: FormatDetailsConfigSchemaFactory(),
|
|
39
|
+
/**
|
|
40
|
+
* #slot configuration.formatAbout
|
|
41
|
+
* jexl callbacks that add, rewrite or hide fields in the About dialog of
|
|
42
|
+
* every track at once. Two slots, listed at
|
|
43
|
+
* [FormatAbout](/docs/config/formatabout); a track can set the same ones on
|
|
44
|
+
* its own `formatAbout` and override individual keys.
|
|
45
|
+
*/
|
|
12
46
|
formatAbout: FormatAboutConfigSchemaFactory(),
|
|
47
|
+
/**
|
|
48
|
+
* #slot configuration.shareURL
|
|
49
|
+
* URL of the session-sharing backend used by the Share button, a
|
|
50
|
+
* JBrowse-hosted service by default
|
|
51
|
+
*/
|
|
13
52
|
shareURL: {
|
|
14
53
|
type: 'string',
|
|
15
|
-
defaultValue:
|
|
54
|
+
defaultValue: DEFAULT_SHARE_URL,
|
|
55
|
+
advanced: true,
|
|
16
56
|
},
|
|
57
|
+
/**
|
|
58
|
+
* #slot configuration.disableAnalytics
|
|
59
|
+
* disables collection of anonymous usage analytics
|
|
60
|
+
*/
|
|
17
61
|
disableAnalytics: {
|
|
18
62
|
type: 'boolean',
|
|
19
63
|
defaultValue: false,
|
|
64
|
+
advanced: true,
|
|
20
65
|
},
|
|
66
|
+
/**
|
|
67
|
+
* #slot configuration.hierarchical
|
|
68
|
+
* configuration for the hierarchical track selector, controlling sorting
|
|
69
|
+
* and default categories, see HierarchicalConfigSchema
|
|
70
|
+
*/
|
|
21
71
|
hierarchical: HierarchicalConfigSchemaFactory(),
|
|
72
|
+
/**
|
|
73
|
+
* #slot configuration.preferences
|
|
74
|
+
* user preferences such as scroll-to-zoom and animation behavior, see
|
|
75
|
+
* PreferencesConfigSchema
|
|
76
|
+
*/
|
|
77
|
+
preferences: PreferencesConfigSchemaFactory(),
|
|
78
|
+
/**
|
|
79
|
+
* #slot configuration.theme
|
|
80
|
+
*/
|
|
22
81
|
theme: {
|
|
23
82
|
type: 'frozen',
|
|
83
|
+
description: 'Material UI theme overrides applied to the JBrowse UI',
|
|
24
84
|
defaultValue: {},
|
|
25
85
|
},
|
|
86
|
+
/**
|
|
87
|
+
* #slot configuration.extraThemes
|
|
88
|
+
*/
|
|
26
89
|
extraThemes: {
|
|
27
90
|
type: 'frozen',
|
|
91
|
+
description: 'additional named themes the user can switch between',
|
|
28
92
|
defaultValue: {},
|
|
93
|
+
advanced: true,
|
|
29
94
|
},
|
|
95
|
+
/**
|
|
96
|
+
* #slot configuration.logoPath
|
|
97
|
+
*/
|
|
30
98
|
logoPath: {
|
|
31
99
|
type: 'fileLocation',
|
|
100
|
+
description: 'path to a custom logo image displayed in the app header',
|
|
32
101
|
defaultValue: {
|
|
33
102
|
uri: '',
|
|
34
103
|
locationType: 'UriLocation',
|
|
35
104
|
},
|
|
105
|
+
advanced: true,
|
|
36
106
|
},
|
|
107
|
+
/**
|
|
108
|
+
* #slotAnnot
|
|
109
|
+
* this is a collection of 'namespaced' configs e.g. configuration.YourPlugin.slot
|
|
110
|
+
*/
|
|
37
111
|
...pluginManager.pluginConfigurationNamespacedSchemas(),
|
|
112
|
+
/**
|
|
113
|
+
* #slotAnnot
|
|
114
|
+
* this is a collection of 'unnamespaced' configs e.g. configuration.slot
|
|
115
|
+
*/
|
|
38
116
|
...pluginManager.pluginConfigurationUnnamespacedSchemas(),
|
|
39
117
|
});
|
|
40
118
|
}
|