@jbrowse/product-core 5.0.0-beta.1 → 5.0.0-beta.10
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/RootModel/BaseRootModel.d.ts +24 -158
- package/esm/RootModel/BaseRootModel.js +7 -4
- package/esm/RootModel/HierarchicalConfig.d.ts +21 -47
- package/esm/RootModel/PreferencesConfig.d.ts +20 -36
- package/esm/RootModel/PreferencesConfig.js +17 -3
- package/esm/RootModel/createConfigModel.d.ts +148 -123
- package/esm/RootModel/createConfigModel.js +35 -14
- package/esm/RootModel/menuItems.js +7 -9
- package/esm/Session/BaseSession.d.ts +60 -85
- package/esm/Session/BaseSession.js +106 -172
- package/esm/Session/Connections.d.ts +4 -3
- package/esm/Session/Connections.js +4 -3
- package/esm/Session/DrawerWidgets.d.ts +30 -1
- package/esm/Session/DrawerWidgets.js +59 -8
- package/esm/Session/MultipleViews.d.ts +85 -333
- package/esm/Session/MultipleViews.js +45 -5
- package/esm/Session/Preferences.d.ts +53 -329
- package/esm/Session/Preferences.js +6 -2
- package/esm/Session/SessionTracks.d.ts +180 -396
- package/esm/Session/SessionTracks.js +291 -238
- package/esm/Session/Themes.d.ts +79 -30
- package/esm/Session/Themes.js +153 -40
- package/esm/Session/TrackMenu.d.ts +4 -28
- package/esm/Session/TrackMenu.js +28 -53
- package/esm/Session/TrackMenuSessionMixin.js +2 -1
- package/esm/Session/Tracks.d.ts +75 -341
- package/esm/Session/Tracks.js +192 -133
- package/esm/Session/copyTrackSnapshot.d.ts +21 -0
- package/esm/Session/copyTrackSnapshot.js +20 -0
- package/esm/Session/developerMode.d.ts +7 -0
- package/esm/Session/developerMode.js +43 -0
- package/esm/Session/finalizeSession.d.ts +1 -2
- package/esm/Session/finalizeSession.js +1 -2
- package/esm/Session/hydratedForms.d.ts +16 -0
- package/esm/Session/hydratedForms.js +13 -0
- package/esm/Session/index.d.ts +8 -3
- package/esm/Session/index.js +6 -3
- package/esm/Session/pluginExtraTrackItems.d.ts +11 -0
- package/esm/Session/pluginExtraTrackItems.js +13 -0
- package/esm/Session/readdedTrackConf.d.ts +8 -0
- package/esm/Session/readdedTrackConf.js +24 -0
- package/esm/Session/shareableSnapshot.d.ts +6 -60
- package/esm/Session/shareableSnapshot.js +8 -138
- package/esm/Session/temporaryAssemblyTracks.d.ts +4 -3
- package/esm/Session/temporaryAssemblyTracks.js +6 -7
- package/esm/controllerTracks.d.ts +31 -11
- package/esm/controllerTracks.js +61 -13
- package/esm/embeddedController.d.ts +57 -0
- package/esm/embeddedController.js +100 -0
- package/esm/index.d.ts +12 -11
- package/esm/index.js +9 -9
- package/esm/loadPlugins.d.ts +8 -3
- package/esm/loadPlugins.js +11 -4
- package/esm/observeSession.d.ts +4 -5
- package/esm/observeSession.js +3 -4
- package/esm/parallelChunkLoading.d.ts +30 -0
- package/esm/parallelChunkLoading.js +71 -0
- package/esm/pruneUnbuildableNodes.js +18 -24
- package/esm/resolveAssemblies.d.ts +36 -12
- package/esm/resolveAssemblies.js +38 -16
- package/esm/rpcWorker.d.ts +11 -5
- package/esm/rpcWorker.js +41 -16
- package/esm/sessionMigrations/index.d.ts +10 -48
- package/esm/sessionMigrations/index.js +116 -370
- package/esm/sessionUrl.d.ts +7 -8
- package/esm/sessionUrl.js +27 -14
- package/esm/sessionUtils.d.ts +6 -1
- package/esm/sessionUtils.js +78 -92
- package/esm/ui/AboutDialog.d.ts +10 -2
- package/esm/ui/AboutDialog.js +11 -2
- package/esm/ui/AboutDialogContents.js +4 -29
- package/esm/ui/AssemblyInfoPanel.js +4 -10
- package/esm/ui/DescriptionPanel.d.ts +3 -0
- package/esm/ui/DescriptionPanel.js +25 -0
- package/esm/ui/FileInfoPanel.js +12 -11
- package/esm/ui/GeneralPreferencesTab.d.ts +17 -0
- package/esm/ui/GeneralPreferencesTab.js +34 -0
- package/esm/ui/HeaderButtons.d.ts +1 -6
- package/esm/ui/HeaderButtons.js +5 -12
- package/esm/ui/ModalWidget.d.ts +2 -1
- package/esm/ui/ModalWidget.js +18 -3
- package/esm/ui/PreferenceCheckbox.d.ts +6 -0
- package/esm/ui/PreferenceCheckbox.js +16 -0
- package/esm/ui/PreferencesDialog.d.ts +5 -27
- package/esm/ui/PreferencesDialog.js +29 -119
- package/esm/ui/RefNameInfoDialog.js +13 -25
- package/esm/ui/ViewPreferencesTab.d.ts +12 -0
- package/esm/ui/ViewPreferencesTab.js +15 -0
- package/esm/ui/aboutTestUtils.d.ts +140 -0
- package/esm/ui/aboutTestUtils.js +25 -0
- package/esm/ui/descriptionHtml.d.ts +25 -0
- package/esm/ui/descriptionHtml.js +64 -0
- package/esm/ui/index.d.ts +2 -0
- package/esm/ui/index.js +1 -0
- package/esm/ui/preferencesReset.d.ts +18 -0
- package/esm/ui/preferencesReset.js +69 -0
- package/esm/ui/util.d.ts +9 -27
- package/esm/ui/util.js +12 -31
- package/esm/useEngineLifecycle.d.ts +7 -1
- package/esm/useEngineLifecycle.js +24 -2
- package/package.json +11 -10
- package/esm/scheduleDetachedDestroy.d.ts +0 -18
- package/esm/scheduleDetachedDestroy.js +0 -24
- package/esm/ui/DisplayDefaultsSection.d.ts +0 -36
- package/esm/ui/DisplayDefaultsSection.js +0 -65
|
@@ -5,107 +5,117 @@ import type { IAnyType } from '@jbrowse/mobx-state-tree';
|
|
|
5
5
|
declare function rootConfigurationSchema(): import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
6
6
|
readonly rpc: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
7
7
|
readonly defaultDriver: {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
readonly advanced: true;
|
|
8
|
+
type: "string";
|
|
9
|
+
} & {
|
|
10
|
+
defaultValue: string;
|
|
12
11
|
};
|
|
13
12
|
readonly workerCount: {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
readonly advanced: true;
|
|
13
|
+
type: "number";
|
|
14
|
+
} & {
|
|
15
|
+
defaultValue: number;
|
|
18
16
|
};
|
|
19
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
17
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
20
18
|
readonly hierarchical: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
21
19
|
readonly sort: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
22
20
|
readonly trackNames: {
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
type: "boolean";
|
|
22
|
+
} & {
|
|
23
|
+
defaultValue: boolean;
|
|
25
24
|
};
|
|
26
25
|
readonly categories: {
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
type: "boolean";
|
|
27
|
+
} & {
|
|
28
|
+
defaultValue: boolean;
|
|
29
29
|
};
|
|
30
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
30
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
31
31
|
readonly defaultFolderCategories: {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
type: "stringArray";
|
|
33
|
+
} & {
|
|
34
|
+
defaultValue: unknown;
|
|
35
35
|
};
|
|
36
36
|
readonly defaultCollapsed: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
37
37
|
readonly categoryNames: {
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
type: "stringArray";
|
|
39
|
+
} & {
|
|
40
|
+
defaultValue: unknown;
|
|
40
41
|
};
|
|
41
42
|
readonly topLevelCategories: {
|
|
42
|
-
|
|
43
|
-
|
|
43
|
+
type: "boolean";
|
|
44
|
+
} & {
|
|
45
|
+
defaultValue: boolean;
|
|
44
46
|
};
|
|
45
47
|
readonly subCategories: {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
+
type: "boolean";
|
|
49
|
+
} & {
|
|
50
|
+
defaultValue: boolean;
|
|
48
51
|
};
|
|
49
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
50
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
52
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
53
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
51
54
|
readonly preferences: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
52
55
|
readonly animationMode: {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
+
type: "stringEnum";
|
|
57
|
+
} & {
|
|
58
|
+
model: import("@jbrowse/mobx-state-tree").ISimpleType<"disabled" | "enabled" | "system">;
|
|
59
|
+
} & {
|
|
60
|
+
defaultValue: string;
|
|
56
61
|
};
|
|
57
62
|
readonly scrollZoom: {
|
|
58
|
-
|
|
59
|
-
|
|
63
|
+
type: "boolean";
|
|
64
|
+
} & {
|
|
65
|
+
defaultValue: boolean;
|
|
60
66
|
};
|
|
61
67
|
readonly numberGrouping: {
|
|
62
|
-
|
|
63
|
-
|
|
68
|
+
type: "boolean";
|
|
69
|
+
} & {
|
|
70
|
+
defaultValue: boolean;
|
|
64
71
|
};
|
|
65
72
|
readonly useWorkspaces: {
|
|
66
|
-
|
|
67
|
-
|
|
73
|
+
type: "boolean";
|
|
74
|
+
} & {
|
|
75
|
+
defaultValue: boolean;
|
|
68
76
|
};
|
|
69
|
-
|
|
77
|
+
readonly developerMode: {
|
|
78
|
+
type: "boolean";
|
|
79
|
+
} & {
|
|
80
|
+
defaultValue: boolean;
|
|
81
|
+
};
|
|
82
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
70
83
|
readonly formatDetails: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
71
84
|
readonly feature: {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
readonly contextVariable: ["feature"];
|
|
85
|
+
type: "frozen";
|
|
86
|
+
} & {
|
|
87
|
+
defaultValue: unknown;
|
|
76
88
|
};
|
|
77
89
|
readonly subfeatures: {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
readonly contextVariable: ["feature"];
|
|
90
|
+
type: "frozen";
|
|
91
|
+
} & {
|
|
92
|
+
defaultValue: unknown;
|
|
82
93
|
};
|
|
83
94
|
readonly depth: {
|
|
84
|
-
|
|
85
|
-
readonly description: "levels of subfeature the formatDetails.subfeatures callback runs on, default 2";
|
|
95
|
+
type: "maybeNumber";
|
|
86
96
|
};
|
|
87
97
|
readonly maxDepth: {
|
|
88
|
-
|
|
89
|
-
readonly description: "hide subfeatures nested deeper than this, default no limit";
|
|
98
|
+
type: "maybeNumber";
|
|
90
99
|
};
|
|
91
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
100
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
92
101
|
readonly formatAbout: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
93
102
|
readonly config: {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
readonly contextVariable: ["config"];
|
|
103
|
+
type: "frozen";
|
|
104
|
+
} & {
|
|
105
|
+
defaultValue: unknown;
|
|
98
106
|
};
|
|
99
107
|
readonly hideUris: {
|
|
100
|
-
|
|
101
|
-
|
|
108
|
+
type: "boolean";
|
|
109
|
+
} & {
|
|
110
|
+
defaultValue: boolean;
|
|
102
111
|
};
|
|
103
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
112
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
104
113
|
readonly theme: {
|
|
105
|
-
|
|
106
|
-
|
|
114
|
+
type: "frozen";
|
|
115
|
+
} & {
|
|
116
|
+
defaultValue: unknown;
|
|
107
117
|
};
|
|
108
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
118
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
109
119
|
/**
|
|
110
120
|
* What an embedder may put in `createViewState`'s `configuration` option: every
|
|
111
121
|
* root slot and sub-schema by name, values unchecked. Derived from the schema
|
|
@@ -117,116 +127,131 @@ export declare function createConfigModel(pluginManager: PluginManager, assembly
|
|
|
117
127
|
configuration: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
118
128
|
readonly rpc: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
119
129
|
readonly defaultDriver: {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
readonly advanced: true;
|
|
130
|
+
type: "string";
|
|
131
|
+
} & {
|
|
132
|
+
defaultValue: string;
|
|
124
133
|
};
|
|
125
134
|
readonly workerCount: {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
readonly advanced: true;
|
|
135
|
+
type: "number";
|
|
136
|
+
} & {
|
|
137
|
+
defaultValue: number;
|
|
130
138
|
};
|
|
131
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
139
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
132
140
|
readonly hierarchical: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
133
141
|
readonly sort: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
134
142
|
readonly trackNames: {
|
|
135
|
-
|
|
136
|
-
|
|
143
|
+
type: "boolean";
|
|
144
|
+
} & {
|
|
145
|
+
defaultValue: boolean;
|
|
137
146
|
};
|
|
138
147
|
readonly categories: {
|
|
139
|
-
|
|
140
|
-
|
|
148
|
+
type: "boolean";
|
|
149
|
+
} & {
|
|
150
|
+
defaultValue: boolean;
|
|
141
151
|
};
|
|
142
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
152
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
143
153
|
readonly defaultFolderCategories: {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
154
|
+
type: "stringArray";
|
|
155
|
+
} & {
|
|
156
|
+
defaultValue: unknown;
|
|
147
157
|
};
|
|
148
158
|
readonly defaultCollapsed: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
149
159
|
readonly categoryNames: {
|
|
150
|
-
|
|
151
|
-
|
|
160
|
+
type: "stringArray";
|
|
161
|
+
} & {
|
|
162
|
+
defaultValue: unknown;
|
|
152
163
|
};
|
|
153
164
|
readonly topLevelCategories: {
|
|
154
|
-
|
|
155
|
-
|
|
165
|
+
type: "boolean";
|
|
166
|
+
} & {
|
|
167
|
+
defaultValue: boolean;
|
|
156
168
|
};
|
|
157
169
|
readonly subCategories: {
|
|
158
|
-
|
|
159
|
-
|
|
170
|
+
type: "boolean";
|
|
171
|
+
} & {
|
|
172
|
+
defaultValue: boolean;
|
|
160
173
|
};
|
|
161
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
162
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
174
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
175
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
163
176
|
readonly preferences: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
164
177
|
readonly animationMode: {
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
178
|
+
type: "stringEnum";
|
|
179
|
+
} & {
|
|
180
|
+
model: import("@jbrowse/mobx-state-tree").ISimpleType<"disabled" | "enabled" | "system">;
|
|
181
|
+
} & {
|
|
182
|
+
defaultValue: string;
|
|
168
183
|
};
|
|
169
184
|
readonly scrollZoom: {
|
|
170
|
-
|
|
171
|
-
|
|
185
|
+
type: "boolean";
|
|
186
|
+
} & {
|
|
187
|
+
defaultValue: boolean;
|
|
172
188
|
};
|
|
173
189
|
readonly numberGrouping: {
|
|
174
|
-
|
|
175
|
-
|
|
190
|
+
type: "boolean";
|
|
191
|
+
} & {
|
|
192
|
+
defaultValue: boolean;
|
|
176
193
|
};
|
|
177
194
|
readonly useWorkspaces: {
|
|
178
|
-
|
|
179
|
-
|
|
195
|
+
type: "boolean";
|
|
196
|
+
} & {
|
|
197
|
+
defaultValue: boolean;
|
|
198
|
+
};
|
|
199
|
+
readonly developerMode: {
|
|
200
|
+
type: "boolean";
|
|
201
|
+
} & {
|
|
202
|
+
defaultValue: boolean;
|
|
180
203
|
};
|
|
181
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
204
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
182
205
|
readonly formatDetails: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
183
206
|
readonly feature: {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
readonly contextVariable: ["feature"];
|
|
207
|
+
type: "frozen";
|
|
208
|
+
} & {
|
|
209
|
+
defaultValue: unknown;
|
|
188
210
|
};
|
|
189
211
|
readonly subfeatures: {
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
readonly contextVariable: ["feature"];
|
|
212
|
+
type: "frozen";
|
|
213
|
+
} & {
|
|
214
|
+
defaultValue: unknown;
|
|
194
215
|
};
|
|
195
216
|
readonly depth: {
|
|
196
|
-
|
|
197
|
-
readonly description: "levels of subfeature the formatDetails.subfeatures callback runs on, default 2";
|
|
217
|
+
type: "maybeNumber";
|
|
198
218
|
};
|
|
199
219
|
readonly maxDepth: {
|
|
200
|
-
|
|
201
|
-
readonly description: "hide subfeatures nested deeper than this, default no limit";
|
|
220
|
+
type: "maybeNumber";
|
|
202
221
|
};
|
|
203
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
222
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
204
223
|
readonly formatAbout: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
205
224
|
readonly config: {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
readonly contextVariable: ["config"];
|
|
225
|
+
type: "frozen";
|
|
226
|
+
} & {
|
|
227
|
+
defaultValue: unknown;
|
|
210
228
|
};
|
|
211
229
|
readonly hideUris: {
|
|
212
|
-
|
|
213
|
-
|
|
230
|
+
type: "boolean";
|
|
231
|
+
} & {
|
|
232
|
+
defaultValue: boolean;
|
|
214
233
|
};
|
|
215
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
234
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
216
235
|
readonly theme: {
|
|
217
|
-
|
|
218
|
-
|
|
236
|
+
type: "frozen";
|
|
237
|
+
} & {
|
|
238
|
+
defaultValue: unknown;
|
|
219
239
|
};
|
|
220
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
240
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
|
|
241
|
+
/**
|
|
242
|
+
* One genome in the ordinary case, several where the view draws them
|
|
243
|
+
* together — a circular view's synteny ribbons need both ends of an
|
|
244
|
+
* alignment on the circle. The order is the order a view lays them out
|
|
245
|
+
* in.
|
|
246
|
+
*/
|
|
247
|
+
assemblies: import("@jbrowse/mobx-state-tree").IArrayType<IAnyType>;
|
|
248
|
+
tracks: import("@jbrowse/mobx-state-tree").IType<Record<string, unknown>[] | null | undefined, Record<string, unknown>[], Record<string, unknown>[]>;
|
|
249
|
+
internetAccounts: import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/core/PluginManager").PluggableConfigSchemaType>;
|
|
250
|
+
connections: import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/core/PluginManager").PluggableConfigSchemaType>;
|
|
251
|
+
aggregateTextSearchAdapters: import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/core/PluginManager").PluggableConfigSchemaType>;
|
|
226
252
|
plugins: import("@jbrowse/mobx-state-tree").IType<any, any, any>;
|
|
227
253
|
}, {
|
|
228
|
-
readonly
|
|
229
|
-
readonly assemblyName: string;
|
|
254
|
+
readonly assemblyNames: string[];
|
|
230
255
|
readonly rpcManager: RpcManager;
|
|
231
256
|
}, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>;
|
|
232
257
|
export {};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { ConfigurationSchema, FormatAboutConfigSchemaFactory, FormatDetailsConfigSchemaFactory, readConfObject, } from '@jbrowse/core/configuration';
|
|
2
|
+
import { migrateRetiredDisplays } from '@jbrowse/core/pluggableElementTypes/models';
|
|
2
3
|
import RpcManager from '@jbrowse/core/rpc/RpcManager';
|
|
4
|
+
import { expandLooseSearchIndex } from '@jbrowse/core/util/expandLooseSearchIndex';
|
|
3
5
|
import { expandLooseTrackConfig } from '@jbrowse/core/util/tracks';
|
|
4
6
|
import { getParent, types } from '@jbrowse/mobx-state-tree';
|
|
5
7
|
import { HierarchicalConfigSchemaFactory } from './HierarchicalConfig.js';
|
|
@@ -22,32 +24,51 @@ export function createConfigModel(pluginManager, assemblyConfigSchemasType) {
|
|
|
22
24
|
return (types
|
|
23
25
|
.model('Configuration', {
|
|
24
26
|
configuration: rootConfigurationSchema(),
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
/**
|
|
28
|
+
* One genome in the ordinary case, several where the view draws them
|
|
29
|
+
* together — a circular view's synteny ribbons need both ends of an
|
|
30
|
+
* alignment on the circle. The order is the order a view lays them out
|
|
31
|
+
* in.
|
|
32
|
+
*/
|
|
33
|
+
assemblies: types.array(assemblyConfigSchemasType),
|
|
34
|
+
tracks: types.frozen([]),
|
|
27
35
|
internetAccounts: types.array(pluginManager.pluggableConfigSchemaType('internet account')),
|
|
28
36
|
connections: types.array(pluginManager.pluggableConfigSchemaType('connection')),
|
|
29
37
|
aggregateTextSearchAdapters: types.array(pluginManager.pluggableConfigSchemaType('text search adapter')),
|
|
30
38
|
plugins: types.frozen(),
|
|
31
39
|
})
|
|
32
|
-
// The
|
|
33
|
-
// a snapshot need not repeat its name per track.
|
|
40
|
+
// The first assembly is what every loose `{ trackId, uri }` track is on,
|
|
41
|
+
// so a snapshot need not repeat its name per track. `tracks` is frozen,
|
|
42
|
+
// so a retired display type stays spelt as written until the track
|
|
43
|
+
// hydrates — and the track selector reads these entries before that, so
|
|
44
|
+
// they carry the current name here as they do in app-core's JBrowseModel.
|
|
34
45
|
.preProcessSnapshot((snap) => {
|
|
35
|
-
const tracks = snap
|
|
36
|
-
const assemblyName = snap?.
|
|
37
|
-
|
|
38
|
-
return Array.isArray(tracks)
|
|
46
|
+
const { tracks, aggregateTextSearchAdapters: indexes } = snap ?? {};
|
|
47
|
+
const assemblyName = snap?.assemblies?.[0]?.name;
|
|
48
|
+
return snap
|
|
39
49
|
? {
|
|
40
50
|
...snap,
|
|
41
|
-
|
|
51
|
+
...(Array.isArray(tracks)
|
|
52
|
+
? {
|
|
53
|
+
tracks: tracks.map(t => {
|
|
54
|
+
const track = expandLooseTrackConfig(t, pluginManager, assemblyName);
|
|
55
|
+
return track && typeof track === 'object'
|
|
56
|
+
? migrateRetiredDisplays(pluginManager, track)
|
|
57
|
+
: track;
|
|
58
|
+
}),
|
|
59
|
+
}
|
|
60
|
+
: {}),
|
|
61
|
+
...(Array.isArray(indexes)
|
|
62
|
+
? {
|
|
63
|
+
aggregateTextSearchAdapters: indexes.map(i => expandLooseSearchIndex(i, assemblyName ? [assemblyName] : undefined)),
|
|
64
|
+
}
|
|
65
|
+
: {}),
|
|
42
66
|
}
|
|
43
67
|
: snap;
|
|
44
68
|
})
|
|
45
69
|
.views(self => ({
|
|
46
|
-
get
|
|
47
|
-
return
|
|
48
|
-
},
|
|
49
|
-
get assemblyName() {
|
|
50
|
-
return readConfObject(self.assembly, 'name');
|
|
70
|
+
get assemblyNames() {
|
|
71
|
+
return self.assemblies.map(a => readConfObject(a, 'name'));
|
|
51
72
|
},
|
|
52
73
|
get rpcManager() {
|
|
53
74
|
return getParent(self).rpcManager;
|
|
@@ -27,7 +27,7 @@ export function importSessionMenuItem() {
|
|
|
27
27
|
label: 'Import session...',
|
|
28
28
|
icon: PublishIcon,
|
|
29
29
|
onClick: (session) => {
|
|
30
|
-
session.
|
|
30
|
+
session.openWidget('ImportSessionWidget', 'importSessionWidget');
|
|
31
31
|
},
|
|
32
32
|
};
|
|
33
33
|
}
|
|
@@ -39,9 +39,9 @@ export function exportSessionMenuItem() {
|
|
|
39
39
|
const { saveAs } = await import('@jbrowse/core/util/FileSaver');
|
|
40
40
|
saveAs(new Blob([
|
|
41
41
|
JSON.stringify({
|
|
42
|
-
// an exported file is read by someone
|
|
43
|
-
//
|
|
44
|
-
//
|
|
42
|
+
// an exported file is read by someone whose own preferences
|
|
43
|
+
// differ, so stamp what the live session resolves at read
|
|
44
|
+
// time (same rule as ShareDialog)
|
|
45
45
|
session: getShareableSessionSnapshot(session),
|
|
46
46
|
}, null, 2),
|
|
47
47
|
], { type: 'text/plain;charset=utf-8' }), 'session.json');
|
|
@@ -58,10 +58,9 @@ export function openTrackMenuItem() {
|
|
|
58
58
|
session.notify('Please open a view to add a track first');
|
|
59
59
|
}
|
|
60
60
|
else {
|
|
61
|
-
|
|
61
|
+
session.openWidget('AddTrackWidget', 'addTrackWidget', {
|
|
62
62
|
view: firstView.id,
|
|
63
63
|
});
|
|
64
|
-
session.showWidget(widget);
|
|
65
64
|
if (session.views.length > 1) {
|
|
66
65
|
session.notify(MULTI_VIEW_WARNING);
|
|
67
66
|
}
|
|
@@ -74,8 +73,7 @@ export function openConnectionMenuItem() {
|
|
|
74
73
|
label: 'Open connection...',
|
|
75
74
|
icon: Cable,
|
|
76
75
|
onClick: (session) => {
|
|
77
|
-
|
|
78
|
-
session.showWidget(widget);
|
|
76
|
+
session.openWidget('AddConnectionWidget', 'addConnectionWidget');
|
|
79
77
|
},
|
|
80
78
|
};
|
|
81
79
|
}
|
|
@@ -84,7 +82,7 @@ export function pluginStoreMenuItem() {
|
|
|
84
82
|
label: 'Plugin store',
|
|
85
83
|
icon: ExtensionIcon,
|
|
86
84
|
onClick: (session) => {
|
|
87
|
-
session.
|
|
85
|
+
session.openWidget('PluginStoreWidget', 'pluginStoreWidget');
|
|
88
86
|
},
|
|
89
87
|
};
|
|
90
88
|
}
|