@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
|
@@ -39,6 +39,12 @@ export declare function DrawerWidgetSessionMixin(pluginManager: PluginManager):
|
|
|
39
39
|
* modal, with no drawer behind it, is disorienting
|
|
40
40
|
*/
|
|
41
41
|
poppedOut: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* #volatile
|
|
44
|
+
* set by a host with no room for a drawer column beside its views (a
|
|
45
|
+
* phone), so every widget shows in a modal instead
|
|
46
|
+
*/
|
|
47
|
+
modalWidgets: boolean;
|
|
42
48
|
} & {
|
|
43
49
|
/**
|
|
44
50
|
* #getter
|
|
@@ -51,6 +57,12 @@ export declare function DrawerWidgetSessionMixin(pluginManager: PluginManager):
|
|
|
51
57
|
* the modal and the drawer at once.
|
|
52
58
|
*/
|
|
53
59
|
readonly drawerVisible: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* #getter
|
|
62
|
+
* whether the visible widget shows in a modal: popped out of the drawer,
|
|
63
|
+
* or on a host with no room for one
|
|
64
|
+
*/
|
|
65
|
+
readonly modalWidgetVisible: boolean;
|
|
54
66
|
} & {
|
|
55
67
|
/**
|
|
56
68
|
* #action
|
|
@@ -93,10 +105,28 @@ export declare function DrawerWidgetSessionMixin(pluginManager: PluginManager):
|
|
|
93
105
|
* #action
|
|
94
106
|
*/
|
|
95
107
|
returnWidgetToDrawer(): void;
|
|
108
|
+
/**
|
|
109
|
+
* #action
|
|
110
|
+
*/
|
|
111
|
+
setModalWidgets(flag: boolean): void;
|
|
96
112
|
/**
|
|
97
113
|
* #action
|
|
98
114
|
*/
|
|
99
115
|
hideAllWidgets(): void;
|
|
116
|
+
afterAttach(): void;
|
|
117
|
+
} & {
|
|
118
|
+
/**
|
|
119
|
+
* #action
|
|
120
|
+
* the modal's close button: a popped-out widget goes back to the drawer,
|
|
121
|
+
* and with no drawer to go back to the widget closes
|
|
122
|
+
*/
|
|
123
|
+
closeModalWidget(): void;
|
|
124
|
+
/**
|
|
125
|
+
* #action
|
|
126
|
+
* adds the widget, replacing one with the same id, and shows it
|
|
127
|
+
*/
|
|
128
|
+
openWidget(typeName: string, id: string, initialState?: any, conf?: unknown): any;
|
|
129
|
+
} & {
|
|
100
130
|
/**
|
|
101
131
|
* #action
|
|
102
132
|
* opens a configuration editor to configure the given thing,
|
|
@@ -108,7 +138,6 @@ export declare function DrawerWidgetSessionMixin(pluginManager: PluginManager):
|
|
|
108
138
|
}, opts?: {
|
|
109
139
|
expandedDisplayId?: string;
|
|
110
140
|
}): void;
|
|
111
|
-
afterAttach(): void;
|
|
112
141
|
}, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
|
|
113
142
|
/**
|
|
114
143
|
* #property
|
|
@@ -89,6 +89,12 @@ export function DrawerWidgetSessionMixin(pluginManager) {
|
|
|
89
89
|
* modal, with no drawer behind it, is disorienting
|
|
90
90
|
*/
|
|
91
91
|
poppedOut: false,
|
|
92
|
+
/**
|
|
93
|
+
* #volatile
|
|
94
|
+
* set by a host with no room for a drawer column beside its views (a
|
|
95
|
+
* phone), so every widget shows in a modal instead
|
|
96
|
+
*/
|
|
97
|
+
modalWidgets: false,
|
|
92
98
|
}))
|
|
93
99
|
.views(self => ({
|
|
94
100
|
/**
|
|
@@ -102,7 +108,20 @@ export function DrawerWidgetSessionMixin(pluginManager) {
|
|
|
102
108
|
* the modal and the drawer at once.
|
|
103
109
|
*/
|
|
104
110
|
get drawerVisible() {
|
|
105
|
-
return Boolean(self.visibleWidget) &&
|
|
111
|
+
return (Boolean(self.visibleWidget) &&
|
|
112
|
+
!self.minimized &&
|
|
113
|
+
!self.poppedOut &&
|
|
114
|
+
!self.modalWidgets);
|
|
115
|
+
},
|
|
116
|
+
/**
|
|
117
|
+
* #getter
|
|
118
|
+
* whether the visible widget shows in a modal: popped out of the drawer,
|
|
119
|
+
* or on a host with no room for one
|
|
120
|
+
*/
|
|
121
|
+
get modalWidgetVisible() {
|
|
122
|
+
return (Boolean(self.visibleWidget) &&
|
|
123
|
+
!self.minimized &&
|
|
124
|
+
(self.poppedOut || self.modalWidgets));
|
|
106
125
|
},
|
|
107
126
|
}))
|
|
108
127
|
.actions(self => ({
|
|
@@ -184,6 +203,12 @@ export function DrawerWidgetSessionMixin(pluginManager) {
|
|
|
184
203
|
returnWidgetToDrawer() {
|
|
185
204
|
self.poppedOut = false;
|
|
186
205
|
},
|
|
206
|
+
/**
|
|
207
|
+
* #action
|
|
208
|
+
*/
|
|
209
|
+
setModalWidgets(flag) {
|
|
210
|
+
self.modalWidgets = flag;
|
|
211
|
+
},
|
|
187
212
|
/**
|
|
188
213
|
* #action
|
|
189
214
|
*/
|
|
@@ -191,6 +216,38 @@ export function DrawerWidgetSessionMixin(pluginManager) {
|
|
|
191
216
|
self.activeWidgets.clear();
|
|
192
217
|
self.poppedOut = false;
|
|
193
218
|
},
|
|
219
|
+
afterAttach() {
|
|
220
|
+
addDisposer(self, autorun(function drawerPositionAutorun() {
|
|
221
|
+
localStorageSetItem('drawerPosition', self.drawerPosition);
|
|
222
|
+
}, { name: 'DrawerPosition' }));
|
|
223
|
+
},
|
|
224
|
+
}))
|
|
225
|
+
.actions(self => ({
|
|
226
|
+
/**
|
|
227
|
+
* #action
|
|
228
|
+
* the modal's close button: a popped-out widget goes back to the drawer,
|
|
229
|
+
* and with no drawer to go back to the widget closes
|
|
230
|
+
*/
|
|
231
|
+
closeModalWidget() {
|
|
232
|
+
const widget = self.visibleWidget;
|
|
233
|
+
if (self.modalWidgets && widget) {
|
|
234
|
+
self.hideWidget(widget);
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
self.returnWidgetToDrawer();
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
/**
|
|
241
|
+
* #action
|
|
242
|
+
* adds the widget, replacing one with the same id, and shows it
|
|
243
|
+
*/
|
|
244
|
+
openWidget(typeName, id, initialState = {}, conf) {
|
|
245
|
+
const widget = self.addWidget(typeName, id, initialState, conf);
|
|
246
|
+
self.showWidget(widget);
|
|
247
|
+
return widget;
|
|
248
|
+
},
|
|
249
|
+
}))
|
|
250
|
+
.actions(self => ({
|
|
194
251
|
/**
|
|
195
252
|
* #action
|
|
196
253
|
* opens a configuration editor to configure the given thing,
|
|
@@ -212,16 +269,10 @@ export function DrawerWidgetSessionMixin(pluginManager) {
|
|
|
212
269
|
else {
|
|
213
270
|
throw new Error('must pass a configuration model or frozen config with trackId to editConfiguration');
|
|
214
271
|
}
|
|
215
|
-
const editor =
|
|
272
|
+
const editor = self.openWidget('ConfigurationEditorWidget', 'configEditor');
|
|
216
273
|
// Set target via action since it's now volatile
|
|
217
274
|
editor.setTarget(targetConfig);
|
|
218
275
|
editor.setExpandedDisplayId(opts?.expandedDisplayId);
|
|
219
|
-
this.showWidget(editor);
|
|
220
|
-
},
|
|
221
|
-
afterAttach() {
|
|
222
|
-
addDisposer(self, autorun(function drawerPositionAutorun() {
|
|
223
|
-
localStorageSetItem('drawerPosition', self.drawerPosition);
|
|
224
|
-
}, { name: 'DrawerPosition' }));
|
|
225
276
|
},
|
|
226
277
|
}))
|
|
227
278
|
.postProcessSnapshot(snap => {
|