@jbrowse/product-core 5.0.0-beta.13 → 5.0.0-beta.14
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 +88 -47
- package/esm/RootModel/BaseRootModel.js +45 -2
- package/esm/RootModel/HierarchicalConfig.d.ts +3 -1
- package/esm/RootModel/HierarchicalConfig.js +3 -1
- package/esm/RootModel/InternetAccounts.d.ts +2 -0
- package/esm/RootModel/InternetAccounts.js +2 -0
- package/esm/RootModel/PreferencesConfig.d.ts +4 -4
- package/esm/RootModel/PreferencesConfig.js +4 -4
- package/esm/RootModel/menuItems.d.ts +1 -2
- package/esm/RootModel/menuItems.js +3 -4
- package/esm/Session/BaseSession.d.ts +7 -5
- package/esm/Session/BaseSession.js +15 -5
- package/esm/Session/Connections.d.ts +3 -0
- package/esm/Session/Connections.js +3 -0
- package/esm/Session/DrawerWidgets.d.ts +2 -0
- package/esm/Session/DrawerWidgets.js +2 -0
- package/esm/Session/MultipleViews.d.ts +122 -96
- package/esm/Session/MultipleViews.js +5 -3
- package/esm/Session/Preferences.d.ts +122 -97
- package/esm/Session/Preferences.js +5 -4
- package/esm/Session/ReferenceManagement.d.ts +2 -0
- package/esm/Session/ReferenceManagement.js +2 -0
- package/esm/Session/SessionTracks.d.ts +119 -93
- package/esm/Session/SessionTracks.js +2 -0
- package/esm/Session/Themes.d.ts +7 -5
- package/esm/Session/Themes.js +15 -10
- package/esm/Session/TrackMenu.d.ts +4 -8
- package/esm/Session/TrackMenu.js +13 -7
- package/esm/Session/TrackMenuSessionMixin.js +7 -3
- package/esm/Session/Tracks.d.ts +120 -93
- package/esm/Session/Tracks.js +3 -0
- package/esm/Session/pluginExtraTrackItems.d.ts +2 -3
- package/esm/Session/pluginExtraTrackItems.js +1 -1
- package/esm/sessionMigrations/index.js +2 -2
- package/esm/siblingCast.d.ts +6 -0
- package/esm/siblingCast.js +7 -0
- package/esm/ui/AboutDialog.d.ts +3 -2
- package/esm/ui/AboutDialog.js +4 -2
- package/esm/ui/DescriptionPanel.js +4 -4
- package/esm/ui/Drawer.js +11 -15
- package/esm/ui/HeaderButtons.d.ts +1 -1
- package/esm/ui/HeaderButtons.js +3 -2
- package/esm/ui/PreferenceCheckbox.d.ts +3 -2
- package/esm/ui/PreferenceCheckbox.js +4 -2
- package/esm/ui/WidgetHeading.d.ts +2 -2
- package/esm/ui/WidgetHeading.js +3 -2
- package/package.json +6 -6
|
@@ -6,12 +6,12 @@ import type { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
|
|
|
6
6
|
import type { AnimationMode, DialogComponentType, TrackConfigChange } from '@jbrowse/core/util';
|
|
7
7
|
import type { HighlightType } from '@jbrowse/core/util/highlights';
|
|
8
8
|
import type { IAnyStateTreeNode, Instance } from '@jbrowse/mobx-state-tree';
|
|
9
|
-
type
|
|
9
|
+
import type React from 'react';
|
|
10
10
|
/**
|
|
11
11
|
* #stateModel BaseSessionModel
|
|
12
12
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
13
|
+
* Holds a session's name, focused view, highlights and notifications. Every
|
|
14
|
+
* product's session composes this model, so add to it with care.
|
|
15
15
|
*/
|
|
16
16
|
export declare function BaseSessionModel<ROOT_MODEL_TYPE extends BaseRootModelType, JB_CONFIG_SCHEMA extends AnyConfigurationSchemaType>(_pluginManager: PluginManager): import("@jbrowse/mobx-state-tree").IModelType<Omit<{
|
|
17
17
|
/**
|
|
@@ -270,12 +270,15 @@ export declare function BaseSessionModel<ROOT_MODEL_TYPE extends BaseRootModelTy
|
|
|
270
270
|
setFocusedViewId(viewId: string | undefined): void;
|
|
271
271
|
/**
|
|
272
272
|
* #action
|
|
273
|
+
* Dismiss the dialog on screen as its own close button would, so a
|
|
274
|
+
* dialog that settles a promise on close (an internet account's token
|
|
275
|
+
* prompt) settles it, and drop it from the queue if it did not.
|
|
273
276
|
*/
|
|
274
277
|
removeActiveDialog(): void;
|
|
275
278
|
/**
|
|
276
279
|
* #action
|
|
277
280
|
*/
|
|
278
|
-
queueDialog(doneCallback:
|
|
281
|
+
queueDialog<T extends DialogComponentType>(callback: (doneCallback: () => void) => [T, React.ComponentProps<T>]): void;
|
|
279
282
|
/**
|
|
280
283
|
* #action
|
|
281
284
|
*/
|
|
@@ -303,4 +306,3 @@ export type BaseSession = Instance<BaseSessionType>;
|
|
|
303
306
|
export declare function isBaseSession(thing: IAnyStateTreeNode): thing is BaseSession;
|
|
304
307
|
/** Type guard for whether a thing is JBrowse session */
|
|
305
308
|
export declare function isSession(thing: unknown): thing is BaseSession;
|
|
306
|
-
export {};
|
|
@@ -14,8 +14,8 @@ function isAnimationMode(val) {
|
|
|
14
14
|
/**
|
|
15
15
|
* #stateModel BaseSessionModel
|
|
16
16
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
17
|
+
* Holds a session's name, focused view, highlights and notifications. Every
|
|
18
|
+
* product's session composes this model, so add to it with care.
|
|
19
19
|
*/
|
|
20
20
|
export function BaseSessionModel(_pluginManager) {
|
|
21
21
|
const baseModel = types
|
|
@@ -390,17 +390,27 @@ export function BaseSessionModel(_pluginManager) {
|
|
|
390
390
|
},
|
|
391
391
|
/**
|
|
392
392
|
* #action
|
|
393
|
+
* Dismiss the dialog on screen as its own close button would, so a
|
|
394
|
+
* dialog that settles a promise on close (an internet account's token
|
|
395
|
+
* prompt) settles it, and drop it from the queue if it did not.
|
|
393
396
|
*/
|
|
394
397
|
removeActiveDialog() {
|
|
395
|
-
|
|
398
|
+
const active = self.queueOfDialogs[0];
|
|
399
|
+
const close = active?.[1].handleClose;
|
|
400
|
+
if (typeof close === 'function') {
|
|
401
|
+
close();
|
|
402
|
+
}
|
|
403
|
+
if (self.queueOfDialogs[0] === active) {
|
|
404
|
+
self.queueOfDialogs = self.queueOfDialogs.slice(1);
|
|
405
|
+
}
|
|
396
406
|
},
|
|
397
407
|
/**
|
|
398
408
|
* #action
|
|
399
409
|
*/
|
|
400
|
-
queueDialog(
|
|
410
|
+
queueDialog(callback) {
|
|
401
411
|
// its own entry, not the head: a late second call must not close the
|
|
402
412
|
// dialog queued behind it
|
|
403
|
-
const entry =
|
|
413
|
+
const entry = callback(() => {
|
|
404
414
|
this.removeDialog(entry);
|
|
405
415
|
});
|
|
406
416
|
self.queueOfDialogs = [...self.queueOfDialogs, entry];
|
|
@@ -13,6 +13,9 @@ export interface ConnectionTrackConfigEntry {
|
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* #stateModel ConnectionManagementSessionMixin
|
|
16
|
+
* Adds connections to a session: the connection instances it has made, and
|
|
17
|
+
* the configs of the connection tracks the user opened, so those tracks load
|
|
18
|
+
* on session restore without reconnecting.
|
|
16
19
|
*/
|
|
17
20
|
export declare function ConnectionManagementSessionMixin(pluginManager: PluginManager): import("@jbrowse/mobx-state-tree").IModelType<{
|
|
18
21
|
/**
|
|
@@ -3,6 +3,9 @@ import { asSession } from '../siblingCast.js';
|
|
|
3
3
|
import { isBaseSession } from './BaseSession.js';
|
|
4
4
|
/**
|
|
5
5
|
* #stateModel ConnectionManagementSessionMixin
|
|
6
|
+
* Adds connections to a session: the connection instances it has made, and
|
|
7
|
+
* the configs of the connection tracks the user opened, so those tracks load
|
|
8
|
+
* on session restore without reconnecting.
|
|
6
9
|
*/
|
|
7
10
|
export function ConnectionManagementSessionMixin(pluginManager) {
|
|
8
11
|
return types
|
|
@@ -4,6 +4,8 @@ import type { DrawerPosition, Widget } from '@jbrowse/core/util/types';
|
|
|
4
4
|
import type { IAnyStateTreeNode, Instance } from '@jbrowse/mobx-state-tree';
|
|
5
5
|
/**
|
|
6
6
|
* #stateModel DrawerWidgetSessionMixin
|
|
7
|
+
* Adds the widget drawer to a session: the open widgets, which one is
|
|
8
|
+
* showing, and the drawer's side, width and minimized state.
|
|
7
9
|
*/
|
|
8
10
|
export declare function DrawerWidgetSessionMixin(pluginManager: PluginManager): import("@jbrowse/mobx-state-tree").IModelType<{
|
|
9
11
|
/**
|
|
@@ -36,6 +36,8 @@ function clampDrawerWidth(width, availableWidth) {
|
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
38
38
|
* #stateModel DrawerWidgetSessionMixin
|
|
39
|
+
* Adds the widget drawer to a session: the open widgets, which one is
|
|
40
|
+
* showing, and the drawer's side, width and minimized state.
|
|
39
41
|
*/
|
|
40
42
|
export function DrawerWidgetSessionMixin(pluginManager) {
|
|
41
43
|
const widgetStateModelType = pluginManager.pluggableMstType('widget', 'stateModel');
|