@jbrowse/product-core 2.17.0 → 3.0.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/RootModel/BaseRootModel.d.ts +6 -43
- package/dist/RootModel/BaseRootModel.js +5 -41
- package/dist/RootModel/FormatAbout.d.ts +0 -10
- package/dist/RootModel/FormatAbout.js +0 -10
- package/dist/RootModel/FormatDetails.d.ts +0 -17
- package/dist/RootModel/FormatDetails.js +0 -17
- package/dist/RootModel/HierarchicalConfig.d.ts +0 -19
- package/dist/RootModel/HierarchicalConfig.js +0 -19
- package/dist/RootModel/InternetAccounts.d.ts +4 -20
- package/dist/RootModel/InternetAccounts.js +0 -20
- package/dist/Session/BaseSession.d.ts +5 -96
- package/dist/Session/BaseSession.js +1 -63
- package/dist/Session/Connections.d.ts +5 -56
- package/dist/Session/Connections.js +0 -30
- package/dist/Session/DialogQueue.d.ts +3 -22
- package/dist/Session/DialogQueue.js +0 -17
- package/dist/Session/DrawerWidgets.d.ts +3 -63
- package/dist/Session/DrawerWidgets.js +2 -61
- package/dist/Session/MultipleViews.d.ts +8 -1760
- package/dist/Session/MultipleViews.js +2 -40
- package/dist/Session/ReferenceManagement.d.ts +2 -21
- package/dist/Session/ReferenceManagement.js +0 -23
- package/dist/Session/SessionTracks.d.ts +7 -1748
- package/dist/Session/SessionTracks.js +1 -21
- package/dist/Session/Themes.d.ts +3 -21
- package/dist/Session/Themes.js +1 -17
- package/dist/Session/Tracks.d.ts +6 -1737
- package/dist/Session/Tracks.js +0 -16
- package/dist/rpcWorker.d.ts +2 -2
- package/dist/rpcWorker.js +3 -17
- package/dist/ui/AboutDialog.d.ts +2 -3
- package/dist/ui/AboutDialog.js +2 -3
- package/dist/ui/AboutDialogContents.d.ts +2 -3
- package/dist/ui/AboutDialogContents.js +20 -53
- package/dist/ui/FileInfoPanel.d.ts +2 -3
- package/dist/ui/FileInfoPanel.js +5 -28
- package/dist/ui/RefNameInfoDialog.d.ts +2 -3
- package/dist/ui/RefNameInfoDialog.js +17 -44
- package/esm/RootModel/BaseRootModel.d.ts +6 -43
- package/esm/RootModel/BaseRootModel.js +6 -42
- package/esm/RootModel/FormatAbout.d.ts +0 -10
- package/esm/RootModel/FormatAbout.js +0 -10
- package/esm/RootModel/FormatDetails.d.ts +0 -17
- package/esm/RootModel/FormatDetails.js +0 -17
- package/esm/RootModel/HierarchicalConfig.d.ts +0 -19
- package/esm/RootModel/HierarchicalConfig.js +0 -19
- package/esm/RootModel/InternetAccounts.d.ts +4 -20
- package/esm/RootModel/InternetAccounts.js +0 -20
- package/esm/Session/BaseSession.d.ts +5 -96
- package/esm/Session/BaseSession.js +1 -63
- package/esm/Session/Connections.d.ts +5 -56
- package/esm/Session/Connections.js +1 -31
- package/esm/Session/DialogQueue.d.ts +3 -22
- package/esm/Session/DialogQueue.js +0 -17
- package/esm/Session/DrawerWidgets.d.ts +3 -63
- package/esm/Session/DrawerWidgets.js +2 -61
- package/esm/Session/MultipleViews.d.ts +8 -1760
- package/esm/Session/MultipleViews.js +2 -40
- package/esm/Session/ReferenceManagement.d.ts +2 -21
- package/esm/Session/ReferenceManagement.js +0 -23
- package/esm/Session/SessionTracks.d.ts +7 -1748
- package/esm/Session/SessionTracks.js +1 -21
- package/esm/Session/Themes.d.ts +3 -21
- package/esm/Session/Themes.js +1 -17
- package/esm/Session/Tracks.d.ts +6 -1737
- package/esm/Session/Tracks.js +0 -16
- package/esm/rpcWorker.d.ts +2 -2
- package/esm/rpcWorker.js +3 -17
- package/esm/ui/AboutDialog.d.ts +2 -3
- package/esm/ui/AboutDialog.js +3 -4
- package/esm/ui/AboutDialogContents.d.ts +2 -3
- package/esm/ui/AboutDialogContents.js +20 -30
- package/esm/ui/FileInfoPanel.d.ts +2 -3
- package/esm/ui/FileInfoPanel.js +5 -5
- package/esm/ui/RefNameInfoDialog.d.ts +2 -3
- package/esm/ui/RefNameInfoDialog.js +18 -22
- package/package.json +3 -3
|
@@ -1,38 +1,21 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* #config FormatDetails
|
|
3
|
-
* generally exists on the tracks in the config.json or as a 'session' config as
|
|
4
|
-
* configuration.formatDetails
|
|
5
|
-
*/
|
|
6
1
|
export declare function FormatDetailsConfigSchemaFactory(): import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
7
|
-
/**
|
|
8
|
-
* #slot configuration.formatDetails.feature
|
|
9
|
-
*/
|
|
10
2
|
feature: {
|
|
11
3
|
type: string;
|
|
12
4
|
description: string;
|
|
13
5
|
defaultValue: {};
|
|
14
6
|
contextVariable: string[];
|
|
15
7
|
};
|
|
16
|
-
/**
|
|
17
|
-
* #slot configuration.formatDetails.subfeatures
|
|
18
|
-
*/
|
|
19
8
|
subfeatures: {
|
|
20
9
|
type: string;
|
|
21
10
|
description: string;
|
|
22
11
|
defaultValue: {};
|
|
23
12
|
contextVariable: string[];
|
|
24
13
|
};
|
|
25
|
-
/**
|
|
26
|
-
* #slot configuration.formatDetails.depth
|
|
27
|
-
*/
|
|
28
14
|
depth: {
|
|
29
15
|
type: string;
|
|
30
16
|
defaultValue: number;
|
|
31
17
|
description: string;
|
|
32
18
|
};
|
|
33
|
-
/**
|
|
34
|
-
* #slot configuration.formatDetails.maxDepth
|
|
35
|
-
*/
|
|
36
19
|
maxDepth: {
|
|
37
20
|
type: string;
|
|
38
21
|
defaultValue: number;
|
|
@@ -1,40 +1,23 @@
|
|
|
1
1
|
import { ConfigurationSchema } from '@jbrowse/core/configuration';
|
|
2
|
-
/**
|
|
3
|
-
* #config FormatDetails
|
|
4
|
-
* generally exists on the tracks in the config.json or as a 'session' config as
|
|
5
|
-
* configuration.formatDetails
|
|
6
|
-
*/
|
|
7
2
|
export function FormatDetailsConfigSchemaFactory() {
|
|
8
3
|
return ConfigurationSchema('FormatDetails', {
|
|
9
|
-
/**
|
|
10
|
-
* #slot configuration.formatDetails.feature
|
|
11
|
-
*/
|
|
12
4
|
feature: {
|
|
13
5
|
type: 'frozen',
|
|
14
6
|
description: 'adds extra fields to the feature details',
|
|
15
7
|
defaultValue: {},
|
|
16
8
|
contextVariable: ['feature'],
|
|
17
9
|
},
|
|
18
|
-
/**
|
|
19
|
-
* #slot configuration.formatDetails.subfeatures
|
|
20
|
-
*/
|
|
21
10
|
subfeatures: {
|
|
22
11
|
type: 'frozen',
|
|
23
12
|
description: 'adds extra fields to the subfeatures of a feature',
|
|
24
13
|
defaultValue: {},
|
|
25
14
|
contextVariable: ['feature'],
|
|
26
15
|
},
|
|
27
|
-
/**
|
|
28
|
-
* #slot configuration.formatDetails.depth
|
|
29
|
-
*/
|
|
30
16
|
depth: {
|
|
31
17
|
type: 'number',
|
|
32
18
|
defaultValue: 2,
|
|
33
19
|
description: 'depth to iterate the formatDetails->subfeatures callback on subfeatures (used for example to only apply the callback to the first layer of subfeatures)',
|
|
34
20
|
},
|
|
35
|
-
/**
|
|
36
|
-
* #slot configuration.formatDetails.maxDepth
|
|
37
|
-
*/
|
|
38
21
|
maxDepth: {
|
|
39
22
|
type: 'number',
|
|
40
23
|
defaultValue: 10000,
|
|
@@ -1,42 +1,23 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* #config HierarchicalConfigSchema
|
|
3
|
-
* generally exists on the config.json or root config as configuration.hierarchical
|
|
4
|
-
*/
|
|
5
1
|
export declare function HierarchicalConfigSchemaFactory(): import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
6
2
|
sort: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
7
|
-
/**
|
|
8
|
-
* #slot configuration.hierarchical.sort.trackNames
|
|
9
|
-
*/
|
|
10
3
|
trackNames: {
|
|
11
4
|
type: string;
|
|
12
5
|
defaultValue: boolean;
|
|
13
6
|
};
|
|
14
|
-
/**
|
|
15
|
-
* #slot configuration.hierarchical.sort.categories
|
|
16
|
-
*/
|
|
17
7
|
categories: {
|
|
18
8
|
type: string;
|
|
19
9
|
defaultValue: boolean;
|
|
20
10
|
};
|
|
21
11
|
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
22
12
|
defaultCollapsed: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
23
|
-
/**
|
|
24
|
-
* #slot configuration.hierarchical.defaultCollapsed.categoryNames
|
|
25
|
-
*/
|
|
26
13
|
categoryNames: {
|
|
27
14
|
type: string;
|
|
28
15
|
defaultValue: never[];
|
|
29
16
|
};
|
|
30
|
-
/**
|
|
31
|
-
* #slot configuration.hierarchical.defaultCollapsed.topLevelCategories
|
|
32
|
-
*/
|
|
33
17
|
topLevelCategories: {
|
|
34
18
|
type: string;
|
|
35
19
|
defaultValue: boolean;
|
|
36
20
|
};
|
|
37
|
-
/**
|
|
38
|
-
* #slot configuration.hierarchical.defaultCollapsed.subCategories
|
|
39
|
-
*/
|
|
40
21
|
subCategories: {
|
|
41
22
|
type: string;
|
|
42
23
|
defaultValue: boolean;
|
|
@@ -1,44 +1,25 @@
|
|
|
1
1
|
import { ConfigurationSchema } from '@jbrowse/core/configuration';
|
|
2
|
-
/**
|
|
3
|
-
* #config HierarchicalConfigSchema
|
|
4
|
-
* generally exists on the config.json or root config as configuration.hierarchical
|
|
5
|
-
*/
|
|
6
2
|
export function HierarchicalConfigSchemaFactory() {
|
|
7
3
|
return ConfigurationSchema('hierarchical', {
|
|
8
4
|
sort: ConfigurationSchema('hierarchicalSort', {
|
|
9
|
-
/**
|
|
10
|
-
* #slot configuration.hierarchical.sort.trackNames
|
|
11
|
-
*/
|
|
12
5
|
trackNames: {
|
|
13
6
|
type: 'boolean',
|
|
14
7
|
defaultValue: false,
|
|
15
8
|
},
|
|
16
|
-
/**
|
|
17
|
-
* #slot configuration.hierarchical.sort.categories
|
|
18
|
-
*/
|
|
19
9
|
categories: {
|
|
20
10
|
type: 'boolean',
|
|
21
11
|
defaultValue: false,
|
|
22
12
|
},
|
|
23
13
|
}),
|
|
24
14
|
defaultCollapsed: ConfigurationSchema('defaultCollapsed', {
|
|
25
|
-
/**
|
|
26
|
-
* #slot configuration.hierarchical.defaultCollapsed.categoryNames
|
|
27
|
-
*/
|
|
28
15
|
categoryNames: {
|
|
29
16
|
type: 'stringArray',
|
|
30
17
|
defaultValue: [],
|
|
31
18
|
},
|
|
32
|
-
/**
|
|
33
|
-
* #slot configuration.hierarchical.defaultCollapsed.topLevelCategories
|
|
34
|
-
*/
|
|
35
19
|
topLevelCategories: {
|
|
36
20
|
type: 'boolean',
|
|
37
21
|
defaultValue: false,
|
|
38
22
|
},
|
|
39
|
-
/**
|
|
40
|
-
* #slot configuration.hierarchical.defaultCollapsed.subCategories
|
|
41
|
-
*/
|
|
42
23
|
subCategories: {
|
|
43
24
|
type: 'boolean',
|
|
44
25
|
defaultValue: false,
|
|
@@ -1,28 +1,12 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
2
|
-
import { AnyConfigurationModel } from '@jbrowse/core/configuration';
|
|
3
|
-
import { UriLocation } from '@jbrowse/core/util';
|
|
4
|
-
import { Instance } from 'mobx-state-tree';
|
|
5
|
-
/**
|
|
6
|
-
* #stateModel InternetAccountsMixin
|
|
7
|
-
* #category root
|
|
8
|
-
*/
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
|
+
import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
|
|
3
|
+
import type { UriLocation } from '@jbrowse/core/util';
|
|
4
|
+
import type { Instance } from 'mobx-state-tree';
|
|
9
5
|
export declare function InternetAccountsRootModelMixin(pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
|
|
10
|
-
/**
|
|
11
|
-
* #property
|
|
12
|
-
*/
|
|
13
6
|
internetAccounts: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
|
|
14
7
|
}, {
|
|
15
|
-
/**
|
|
16
|
-
* #action
|
|
17
|
-
*/
|
|
18
8
|
initializeInternetAccount(internetAccountConfig: AnyConfigurationModel, initialSnapshot?: {}): any;
|
|
19
|
-
/**
|
|
20
|
-
* #action
|
|
21
|
-
*/
|
|
22
9
|
createEphemeralInternetAccount(internetAccountId: string, initialSnapshot: Record<string, unknown>, url: string): any;
|
|
23
|
-
/**
|
|
24
|
-
* #action
|
|
25
|
-
*/
|
|
26
10
|
findAppropriateInternetAccount(location: UriLocation): any;
|
|
27
11
|
} & {
|
|
28
12
|
afterCreate(): void;
|
|
@@ -1,21 +1,11 @@
|
|
|
1
1
|
import { autorun } from 'mobx';
|
|
2
2
|
import { addDisposer, types } from 'mobx-state-tree';
|
|
3
|
-
/**
|
|
4
|
-
* #stateModel InternetAccountsMixin
|
|
5
|
-
* #category root
|
|
6
|
-
*/
|
|
7
3
|
export function InternetAccountsRootModelMixin(pluginManager) {
|
|
8
4
|
return types
|
|
9
5
|
.model({
|
|
10
|
-
/**
|
|
11
|
-
* #property
|
|
12
|
-
*/
|
|
13
6
|
internetAccounts: types.array(pluginManager.pluggableMstType('internet account', 'stateModel')),
|
|
14
7
|
})
|
|
15
8
|
.actions(self => ({
|
|
16
|
-
/**
|
|
17
|
-
* #action
|
|
18
|
-
*/
|
|
19
9
|
initializeInternetAccount(internetAccountConfig, initialSnapshot = {}) {
|
|
20
10
|
const internetAccountType = pluginManager.getInternetAccountType(internetAccountConfig.type);
|
|
21
11
|
if (!internetAccountType) {
|
|
@@ -28,16 +18,12 @@ export function InternetAccountsRootModelMixin(pluginManager) {
|
|
|
28
18
|
});
|
|
29
19
|
return self.internetAccounts[length - 1];
|
|
30
20
|
},
|
|
31
|
-
/**
|
|
32
|
-
* #action
|
|
33
|
-
*/
|
|
34
21
|
createEphemeralInternetAccount(internetAccountId, initialSnapshot, url) {
|
|
35
22
|
let hostUri;
|
|
36
23
|
try {
|
|
37
24
|
hostUri = new URL(url).origin;
|
|
38
25
|
}
|
|
39
26
|
catch (e) {
|
|
40
|
-
// ignore
|
|
41
27
|
}
|
|
42
28
|
const internetAccountSplit = internetAccountId.split('-');
|
|
43
29
|
const configuration = {
|
|
@@ -56,11 +42,7 @@ export function InternetAccountsRootModelMixin(pluginManager) {
|
|
|
56
42
|
self.internetAccounts.push(internetAccount);
|
|
57
43
|
return internetAccount;
|
|
58
44
|
},
|
|
59
|
-
/**
|
|
60
|
-
* #action
|
|
61
|
-
*/
|
|
62
45
|
findAppropriateInternetAccount(location) {
|
|
63
|
-
// find the existing account selected from menu
|
|
64
46
|
const selectedId = location.internetAccountId;
|
|
65
47
|
if (selectedId) {
|
|
66
48
|
const selectedAccount = self.internetAccounts.find(account => {
|
|
@@ -70,14 +52,12 @@ export function InternetAccountsRootModelMixin(pluginManager) {
|
|
|
70
52
|
return selectedAccount;
|
|
71
53
|
}
|
|
72
54
|
}
|
|
73
|
-
// if no existing account or not found, try to find working account
|
|
74
55
|
for (const account of self.internetAccounts) {
|
|
75
56
|
const handleResult = account.handlesLocation(location);
|
|
76
57
|
if (handleResult) {
|
|
77
58
|
return account;
|
|
78
59
|
}
|
|
79
60
|
}
|
|
80
|
-
// if still no existing account, create ephemeral config to use
|
|
81
61
|
return selectedId
|
|
82
62
|
? this.createEphemeralInternetAccount(selectedId, {}, location.uri)
|
|
83
63
|
: null;
|
|
@@ -1,122 +1,31 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
2
|
-
import { IAnyStateTreeNode, Instance } from 'mobx-state-tree';
|
|
3
|
-
import { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
|
|
4
1
|
import type { BaseRootModelType } from '../RootModel/BaseRootModel';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
* here, everything will use it.
|
|
10
|
-
*/
|
|
2
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
3
|
+
import type { BaseAssemblyConfigSchema } from '@jbrowse/core/assemblyManager';
|
|
4
|
+
import type { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
|
|
5
|
+
import type { IAnyStateTreeNode, Instance } from 'mobx-state-tree';
|
|
11
6
|
export declare function BaseSessionModel<ROOT_MODEL_TYPE extends BaseRootModelType, JB_CONFIG_SCHEMA extends AnyConfigurationSchemaType>(_pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
|
|
12
7
|
id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
13
8
|
name: import("mobx-state-tree").ISimpleType<string>;
|
|
14
9
|
margin: import("mobx-state-tree").IType<number | undefined, number, number>;
|
|
15
10
|
}, {
|
|
16
|
-
/**
|
|
17
|
-
* #volatile
|
|
18
|
-
* this is the globally "selected" object. can be anything. code that
|
|
19
|
-
* wants to deal with this should examine it to see what kind of thing it
|
|
20
|
-
* is.
|
|
21
|
-
*/
|
|
22
11
|
selection: unknown;
|
|
23
|
-
/**
|
|
24
|
-
* #volatile
|
|
25
|
-
* this is the globally "hovered" object. can be anything. code that
|
|
26
|
-
* wants to deal with this should examine it to see what kind of thing it
|
|
27
|
-
* is.
|
|
28
|
-
*/
|
|
29
12
|
hovered: unknown;
|
|
30
13
|
} & {
|
|
31
|
-
/**
|
|
32
|
-
* #getter
|
|
33
|
-
*/
|
|
34
14
|
readonly root: import("mobx-state-tree").TypeOrStateTreeNodeToStateTreeNode<ROOT_MODEL_TYPE>;
|
|
35
15
|
} & {
|
|
36
|
-
/**
|
|
37
|
-
* #getter
|
|
38
|
-
*/
|
|
39
16
|
readonly jbrowse: any;
|
|
40
|
-
/**
|
|
41
|
-
* #getter
|
|
42
|
-
*/
|
|
43
17
|
readonly rpcManager: import("@jbrowse/core/rpc/RpcManager").default;
|
|
44
|
-
/**
|
|
45
|
-
* #getter
|
|
46
|
-
*/
|
|
47
18
|
readonly configuration: Instance<JB_CONFIG_SCHEMA>;
|
|
48
|
-
/**
|
|
49
|
-
* #getter
|
|
50
|
-
*/
|
|
51
19
|
readonly adminMode: boolean;
|
|
52
|
-
/**
|
|
53
|
-
* #getter
|
|
54
|
-
*/
|
|
55
20
|
readonly textSearchManager: import("@jbrowse/core/util").TextSearchManager;
|
|
56
21
|
} & {
|
|
57
|
-
|
|
58
|
-
* #getter
|
|
59
|
-
*/
|
|
60
|
-
readonly assemblies: ({
|
|
61
|
-
[x: string]: any;
|
|
62
|
-
} & import("mobx-state-tree/dist/internal").NonEmptyObject & {
|
|
63
|
-
setSubschema(slotName: string, data: Record<string, unknown>): Record<string, unknown> | ({
|
|
64
|
-
[x: string]: any;
|
|
65
|
-
} & import("mobx-state-tree/dist/internal").NonEmptyObject & {
|
|
66
|
-
setSubschema(slotName: string, data: Record<string, unknown>): Record<string, unknown> | ({
|
|
67
|
-
[x: string]: any;
|
|
68
|
-
} & import("mobx-state-tree/dist/internal").NonEmptyObject & any & import("mobx-state-tree").IStateTreeNode<AnyConfigurationSchemaType>);
|
|
69
|
-
} & import("mobx-state-tree").IStateTreeNode<AnyConfigurationSchemaType>);
|
|
70
|
-
} & import("mobx-state-tree").IStateTreeNode<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
71
|
-
aliases: {
|
|
72
|
-
type: string;
|
|
73
|
-
defaultValue: never[];
|
|
74
|
-
description: string;
|
|
75
|
-
};
|
|
76
|
-
sequence: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
|
|
77
|
-
refNameColors: {
|
|
78
|
-
type: string;
|
|
79
|
-
defaultValue: never[];
|
|
80
|
-
description: string;
|
|
81
|
-
};
|
|
82
|
-
refNameAliases: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
83
|
-
adapter: import("mobx-state-tree").IAnyModelType;
|
|
84
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
85
|
-
cytobands: import("@jbrowse/core/configuration/configurationSchema" /**
|
|
86
|
-
* #getter
|
|
87
|
-
*/).ConfigurationSchemaType<{
|
|
88
|
-
adapter: import("mobx-state-tree" /**
|
|
89
|
-
* #getter
|
|
90
|
-
*/).IAnyModelType;
|
|
91
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
92
|
-
displayName: {
|
|
93
|
-
type: string;
|
|
94
|
-
defaultValue: string;
|
|
95
|
-
description: string;
|
|
96
|
-
};
|
|
97
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "name">>>)[];
|
|
22
|
+
readonly assemblies: Instance<BaseAssemblyConfigSchema>[];
|
|
98
23
|
} & {
|
|
99
|
-
/**
|
|
100
|
-
* #action
|
|
101
|
-
* set the global selection, i.e. the globally-selected object. can be a
|
|
102
|
-
* feature, a view, just about anything
|
|
103
|
-
*/
|
|
104
24
|
setSelection(thing: unknown): void;
|
|
105
|
-
/**
|
|
106
|
-
* #action
|
|
107
|
-
* clears the global selection
|
|
108
|
-
*/
|
|
109
25
|
clearSelection(): void;
|
|
110
|
-
/**
|
|
111
|
-
* #action
|
|
112
|
-
*/
|
|
113
26
|
setHovered(thing: unknown): void;
|
|
114
27
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
|
|
115
|
-
/** Session mixin MST type for the most basic session */
|
|
116
28
|
export type BaseSessionType = ReturnType<typeof BaseSessionModel>;
|
|
117
|
-
/** Instance of the most basic possible session */
|
|
118
29
|
export type BaseSession = Instance<BaseSessionType>;
|
|
119
|
-
/** Type guard for BaseSession */
|
|
120
30
|
export declare function isBaseSession(thing: IAnyStateTreeNode): thing is BaseSession;
|
|
121
|
-
/** Type guard for whether a thing is JBrowse session */
|
|
122
31
|
export declare function isSession(thing: unknown): thing is BaseSession;
|
|
@@ -1,120 +1,58 @@
|
|
|
1
|
-
import { getParent, isStateTreeNode, types, } from 'mobx-state-tree';
|
|
2
1
|
import { ElementId } from '@jbrowse/core/util/types/mst';
|
|
3
|
-
|
|
4
|
-
* #stateModel BaseSessionModel
|
|
5
|
-
*
|
|
6
|
-
* base session shared by all JBrowse products. Be careful what you include
|
|
7
|
-
* here, everything will use it.
|
|
8
|
-
*/
|
|
2
|
+
import { getParent, isStateTreeNode, types } from 'mobx-state-tree';
|
|
9
3
|
export function BaseSessionModel(_pluginManager) {
|
|
10
4
|
return types
|
|
11
5
|
.model({
|
|
12
|
-
/**
|
|
13
|
-
* #property
|
|
14
|
-
*/
|
|
15
6
|
id: ElementId,
|
|
16
|
-
/**
|
|
17
|
-
* #property
|
|
18
|
-
*/
|
|
19
7
|
name: types.string,
|
|
20
|
-
/**
|
|
21
|
-
* #property
|
|
22
|
-
*/
|
|
23
8
|
margin: 0,
|
|
24
9
|
})
|
|
25
10
|
.volatile(() => ({
|
|
26
|
-
/**
|
|
27
|
-
* #volatile
|
|
28
|
-
* this is the globally "selected" object. can be anything. code that
|
|
29
|
-
* wants to deal with this should examine it to see what kind of thing it
|
|
30
|
-
* is.
|
|
31
|
-
*/
|
|
32
11
|
selection: undefined,
|
|
33
|
-
/**
|
|
34
|
-
* #volatile
|
|
35
|
-
* this is the globally "hovered" object. can be anything. code that
|
|
36
|
-
* wants to deal with this should examine it to see what kind of thing it
|
|
37
|
-
* is.
|
|
38
|
-
*/
|
|
39
12
|
hovered: undefined,
|
|
40
13
|
}))
|
|
41
14
|
.views(self => ({
|
|
42
|
-
/**
|
|
43
|
-
* #getter
|
|
44
|
-
*/
|
|
45
15
|
get root() {
|
|
46
16
|
return getParent(self);
|
|
47
17
|
},
|
|
48
18
|
}))
|
|
49
19
|
.views(self => ({
|
|
50
|
-
/**
|
|
51
|
-
* #getter
|
|
52
|
-
*/
|
|
53
20
|
get jbrowse() {
|
|
54
21
|
return self.root.jbrowse;
|
|
55
22
|
},
|
|
56
|
-
/**
|
|
57
|
-
* #getter
|
|
58
|
-
*/
|
|
59
23
|
get rpcManager() {
|
|
60
24
|
return self.root.rpcManager;
|
|
61
25
|
},
|
|
62
|
-
/**
|
|
63
|
-
* #getter
|
|
64
|
-
*/
|
|
65
26
|
get configuration() {
|
|
66
27
|
return this.jbrowse.configuration;
|
|
67
28
|
},
|
|
68
|
-
/**
|
|
69
|
-
* #getter
|
|
70
|
-
*/
|
|
71
29
|
get adminMode() {
|
|
72
30
|
return self.root.adminMode;
|
|
73
31
|
},
|
|
74
|
-
/**
|
|
75
|
-
* #getter
|
|
76
|
-
*/
|
|
77
32
|
get textSearchManager() {
|
|
78
33
|
return self.root.textSearchManager;
|
|
79
34
|
},
|
|
80
35
|
}))
|
|
81
36
|
.views(self => ({
|
|
82
|
-
/**
|
|
83
|
-
* #getter
|
|
84
|
-
*/
|
|
85
37
|
get assemblies() {
|
|
86
38
|
return self.jbrowse.assemblies;
|
|
87
39
|
},
|
|
88
40
|
}))
|
|
89
41
|
.actions(self => ({
|
|
90
|
-
/**
|
|
91
|
-
* #action
|
|
92
|
-
* set the global selection, i.e. the globally-selected object. can be a
|
|
93
|
-
* feature, a view, just about anything
|
|
94
|
-
*/
|
|
95
42
|
setSelection(thing) {
|
|
96
43
|
self.selection = thing;
|
|
97
44
|
},
|
|
98
|
-
/**
|
|
99
|
-
* #action
|
|
100
|
-
* clears the global selection
|
|
101
|
-
*/
|
|
102
45
|
clearSelection() {
|
|
103
46
|
self.selection = undefined;
|
|
104
47
|
},
|
|
105
|
-
/**
|
|
106
|
-
* #action
|
|
107
|
-
*/
|
|
108
48
|
setHovered(thing) {
|
|
109
49
|
self.hovered = thing;
|
|
110
50
|
},
|
|
111
51
|
}));
|
|
112
52
|
}
|
|
113
|
-
/** Type guard for BaseSession */
|
|
114
53
|
export function isBaseSession(thing) {
|
|
115
54
|
return 'id' in thing && 'name' in thing && 'root' in thing;
|
|
116
55
|
}
|
|
117
|
-
/** Type guard for whether a thing is JBrowse session */
|
|
118
56
|
export function isSession(thing) {
|
|
119
57
|
return isStateTreeNode(thing) && isBaseSession(thing);
|
|
120
58
|
}
|
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
2
|
-
import { AnyConfigurationModel } from '@jbrowse/core/configuration';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
* #stateModel ConnectionManagementSessionMixin
|
|
6
|
-
*/
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
|
+
import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
|
|
3
|
+
import type { BaseConnectionConfigModel } from '@jbrowse/core/pluggableElementTypes/models/baseConnectionConfig';
|
|
4
|
+
import type { IAnyStateTreeNode, Instance } from 'mobx-state-tree';
|
|
7
5
|
export declare function ConnectionManagementSessionMixin(pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
|
|
8
|
-
/**
|
|
9
|
-
* #property
|
|
10
|
-
*/
|
|
11
6
|
connectionInstances: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
|
|
12
7
|
name: import("mobx-state-tree").ISimpleType<string>;
|
|
13
8
|
tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyModelType>;
|
|
@@ -53,35 +48,8 @@ export declare function ConnectionManagementSessionMixin(pluginManager: PluginMa
|
|
|
53
48
|
clear(): void;
|
|
54
49
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
|
|
55
50
|
}, {
|
|
56
|
-
|
|
57
|
-
* #getter
|
|
58
|
-
*/
|
|
59
|
-
readonly connections: ({
|
|
60
|
-
[x: string]: any;
|
|
61
|
-
} & import("mobx-state-tree/dist/internal").NonEmptyObject & {
|
|
62
|
-
setSubschema(slotName: string, data: Record<string, unknown>): Record<string, unknown> | ({
|
|
63
|
-
[x: string]: any;
|
|
64
|
-
} & import("mobx-state-tree/dist/internal").NonEmptyObject & {
|
|
65
|
-
setSubschema(slotName: string, data: Record<string, unknown>): Record<string, unknown> | ({
|
|
66
|
-
[x: string]: any;
|
|
67
|
-
} & import("mobx-state-tree/dist/internal").NonEmptyObject & any & import("mobx-state-tree").IStateTreeNode<import("@jbrowse/core/configuration").AnyConfigurationSchemaType>);
|
|
68
|
-
} & import("mobx-state-tree").IStateTreeNode<import("@jbrowse/core/configuration").AnyConfigurationSchemaType>);
|
|
69
|
-
} & import("mobx-state-tree").IStateTreeNode<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
70
|
-
name: {
|
|
71
|
-
type: string;
|
|
72
|
-
defaultValue: string;
|
|
73
|
-
description: string;
|
|
74
|
-
};
|
|
75
|
-
assemblyNames: {
|
|
76
|
-
type: string;
|
|
77
|
-
defaultValue: never[];
|
|
78
|
-
description: string;
|
|
79
|
-
};
|
|
80
|
-
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "connectionId">>>)[];
|
|
51
|
+
readonly connections: BaseConnectionConfigModel[];
|
|
81
52
|
} & {
|
|
82
|
-
/**
|
|
83
|
-
* #action
|
|
84
|
-
*/
|
|
85
53
|
makeConnection(configuration: AnyConfigurationModel, initialSnapshot?: {}): ({
|
|
86
54
|
name: string;
|
|
87
55
|
tracks: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IAnyModelType> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyModelType>>;
|
|
@@ -179,31 +147,12 @@ export declare function ConnectionManagementSessionMixin(pluginManager: PluginMa
|
|
|
179
147
|
setTrackConfs(trackConfs: AnyConfigurationModel[]): void;
|
|
180
148
|
clear(): void;
|
|
181
149
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined;
|
|
182
|
-
/**
|
|
183
|
-
* #action
|
|
184
|
-
*/
|
|
185
150
|
prepareToBreakConnection(configuration: AnyConfigurationModel): (Record<string, number> | (() => void))[] | undefined;
|
|
186
|
-
/**
|
|
187
|
-
* #action
|
|
188
|
-
*/
|
|
189
151
|
breakConnection(configuration: AnyConfigurationModel): void;
|
|
190
|
-
/**
|
|
191
|
-
* #action
|
|
192
|
-
*/
|
|
193
152
|
deleteConnection(configuration: AnyConfigurationModel): any;
|
|
194
|
-
/**
|
|
195
|
-
* #action
|
|
196
|
-
*/
|
|
197
153
|
addConnectionConf(connectionConf: AnyConfigurationModel): any;
|
|
198
|
-
/**
|
|
199
|
-
* #action
|
|
200
|
-
*/
|
|
201
154
|
clearConnections(): void;
|
|
202
155
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
|
|
203
|
-
/** Session mixin MST type for a session that has connections */
|
|
204
156
|
export type SessionWithConnectionsType = ReturnType<typeof ConnectionManagementSessionMixin>;
|
|
205
|
-
/** Instance of a session that has connections: `connectionInstances`,
|
|
206
|
-
* `makeConnection()`, etc. */
|
|
207
157
|
export type SessionWithConnections = Instance<SessionWithConnectionsType>;
|
|
208
|
-
/** Type guard for SessionWithConnections */
|
|
209
158
|
export declare function isSessionWithConnections(session: IAnyStateTreeNode): session is SessionWithConnections;
|