@jbrowse/plugin-data-management 1.6.9 → 1.7.3
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/AddConnectionWidget/components/AddConnectionWidget.d.ts +9 -9
- package/dist/AddConnectionWidget/components/AddConnectionWidget.js +178 -0
- package/dist/AddConnectionWidget/components/AddConnectionWidget.test.js +270 -0
- package/dist/AddConnectionWidget/components/ConfigureConnection.d.ts +2 -2
- package/dist/AddConnectionWidget/components/ConfigureConnection.js +35 -0
- package/dist/AddConnectionWidget/components/ConnectionTypeSelect.d.ts +8 -8
- package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js +70 -0
- package/dist/AddConnectionWidget/index.d.ts +2 -2
- package/dist/AddConnectionWidget/index.js +21 -0
- package/dist/AddConnectionWidget/model.d.ts +5 -5
- package/dist/AddConnectionWidget/model.js +17 -0
- package/dist/AddTrackWidget/components/AddTrackWidget.d.ts +7 -7
- package/dist/AddTrackWidget/components/AddTrackWidget.js +215 -0
- package/dist/AddTrackWidget/components/AddTrackWidget.test.js +218 -0
- package/dist/AddTrackWidget/components/ConfirmTrack.d.ts +7 -7
- package/dist/AddTrackWidget/components/ConfirmTrack.js +277 -0
- package/dist/AddTrackWidget/components/TrackSourceSelect.d.ts +7 -7
- package/dist/AddTrackWidget/components/TrackSourceSelect.js +60 -0
- package/dist/AddTrackWidget/index.d.ts +2 -2
- package/dist/AddTrackWidget/index.js +21 -0
- package/dist/AddTrackWidget/index.test.js +291 -0
- package/dist/AddTrackWidget/model.d.ts +42 -42
- package/dist/AddTrackWidget/model.js +167 -0
- package/dist/AssemblyManager/AssemblyAddForm.d.ts +6 -6
- package/dist/AssemblyManager/AssemblyAddForm.js +299 -0
- package/dist/AssemblyManager/AssemblyEditor.d.ts +5 -5
- package/dist/AssemblyManager/AssemblyEditor.js +25 -0
- package/dist/AssemblyManager/AssemblyManager.d.ts +6 -6
- package/dist/AssemblyManager/AssemblyManager.js +144 -0
- package/dist/AssemblyManager/AssemblyManager.test.js +113 -0
- package/dist/AssemblyManager/AssemblyTable.d.ts +13 -13
- package/dist/AssemblyManager/AssemblyTable.js +92 -0
- package/dist/AssemblyManager/index.d.ts +1 -1
- package/dist/AssemblyManager/index.js +15 -0
- package/dist/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.d.ts +7 -7
- package/dist/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.js +55 -0
- package/dist/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.d.ts +13 -13
- package/dist/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.js +46 -0
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.d.ts +6 -6
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +648 -0
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.test.js +191 -0
- package/dist/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.d.ts +9 -9
- package/dist/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.js +80 -0
- package/dist/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.d.ts +10 -10
- package/dist/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.js +98 -0
- package/dist/HierarchicalTrackSelectorWidget/index.d.ts +2 -2
- package/dist/HierarchicalTrackSelectorWidget/index.js +21 -0
- package/dist/HierarchicalTrackSelectorWidget/model.d.ts +37 -37
- package/dist/HierarchicalTrackSelectorWidget/model.js +306 -0
- package/dist/HierarchicalTrackSelectorWidget/model.test.js +28 -0
- package/dist/PluginStoreWidget/components/CustomPluginForm.d.ts +9 -9
- package/dist/PluginStoreWidget/components/CustomPluginForm.js +217 -0
- package/dist/PluginStoreWidget/components/InstalledPlugin.d.ts +11 -11
- package/dist/PluginStoreWidget/components/InstalledPlugin.js +138 -0
- package/dist/PluginStoreWidget/components/InstalledPluginsList.d.ts +9 -9
- package/dist/PluginStoreWidget/components/InstalledPluginsList.js +47 -0
- package/dist/PluginStoreWidget/components/PluginCard.d.ts +10 -10
- package/dist/PluginStoreWidget/components/PluginCard.js +121 -0
- package/dist/PluginStoreWidget/components/PluginStoreWidget.d.ts +7 -7
- package/dist/PluginStoreWidget/components/PluginStoreWidget.js +240 -0
- package/dist/PluginStoreWidget/components/PluginStoreWidget.test.js +201 -0
- package/dist/PluginStoreWidget/index.d.ts +3 -3
- package/dist/PluginStoreWidget/index.js +29 -0
- package/dist/PluginStoreWidget/model.d.ts +13 -13
- package/dist/PluginStoreWidget/model.js +28 -0
- package/dist/PluginStoreWidget/model.test.js +17 -0
- package/dist/SetDefaultSession/SetDefaultSession.d.ts +6 -6
- package/dist/SetDefaultSession/SetDefaultSession.js +64 -0
- package/dist/SetDefaultSession/SetDefaultSession.test.js +75 -0
- package/dist/SetDefaultSession/index.d.ts +1 -1
- package/dist/SetDefaultSession/index.js +15 -0
- package/dist/index.d.ts +27 -27
- package/dist/index.js +159 -6
- package/dist/index.test.js +56 -0
- package/dist/ucsc-trackhub/configSchema.d.ts +2 -2
- package/dist/ucsc-trackhub/configSchema.js +30 -0
- package/dist/ucsc-trackhub/index.d.ts +2 -2
- package/dist/ucsc-trackhub/index.js +23 -0
- package/dist/ucsc-trackhub/model.d.ts +15 -4
- package/dist/ucsc-trackhub/model.js +130 -0
- package/dist/ucsc-trackhub/ucscAssemblies.d.ts +2 -2
- package/dist/ucsc-trackhub/ucscAssemblies.js +13 -0
- package/dist/ucsc-trackhub/ucscTrackHub.d.ts +6 -6
- package/dist/ucsc-trackhub/ucscTrackHub.js +503 -0
- package/package.json +5 -7
- package/src/AddConnectionWidget/components/AddConnectionWidget.test.js +1 -0
- package/src/AddTrackWidget/components/AddTrackWidget.test.js +1 -0
- package/src/AddTrackWidget/components/AddTrackWidget.tsx +1 -1
- package/src/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.test.js +1 -0
- package/src/PluginStoreWidget/components/CustomPluginForm.tsx +1 -1
- package/src/PluginStoreWidget/components/InstalledPlugin.tsx +4 -2
- package/src/PluginStoreWidget/components/PluginCard.tsx +4 -2
- package/src/PluginStoreWidget/components/PluginStoreWidget.test.js +1 -0
- package/src/PluginStoreWidget/model.test.js +1 -0
- package/src/SetDefaultSession/SetDefaultSession.tsx +4 -3
- package/dist/AddConnectionWidget/components/AddConnectionWidget.test.d.ts +0 -1
- package/dist/AddTrackWidget/components/AddTrackWidget.test.d.ts +0 -1
- package/dist/AddTrackWidget/index.test.d.ts +0 -1
- package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.test.d.ts +0 -1
- package/dist/HierarchicalTrackSelectorWidget/model.test.d.ts +0 -1
- package/dist/PluginStoreWidget/components/PluginStoreWidget.test.d.ts +0 -1
- package/dist/PluginStoreWidget/model.test.d.ts +0 -1
- package/dist/index.test.d.ts +0 -1
- package/dist/plugin-data-management.cjs.development.js +0 -4856
- package/dist/plugin-data-management.cjs.development.js.map +0 -1
- package/dist/plugin-data-management.cjs.production.min.js +0 -2
- package/dist/plugin-data-management.cjs.production.min.js.map +0 -1
- package/dist/plugin-data-management.esm.js +0 -4829
- package/dist/plugin-data-management.esm.js.map +0 -1
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
import { Instance } from 'mobx-state-tree';
|
|
2
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
3
|
-
import { FileLocation } from '@jbrowse/core/util/types';
|
|
4
|
-
export default function f(pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
|
|
5
|
-
id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
6
|
-
type: import("mobx-state-tree").ISimpleType<"AddTrackWidget">;
|
|
7
|
-
view: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IReferenceType<import("mobx-state-tree").IAnyType>>;
|
|
8
|
-
}, {
|
|
9
|
-
trackSource: string;
|
|
10
|
-
trackData:
|
|
11
|
-
indexTrackData:
|
|
12
|
-
altAssemblyName: string;
|
|
13
|
-
altTrackName: string;
|
|
14
|
-
altTrackType: string;
|
|
15
|
-
adapterHint: string;
|
|
16
|
-
} & {
|
|
17
|
-
setAdapterHint(obj: string): void;
|
|
18
|
-
setTrackSource(str: string): void;
|
|
19
|
-
setTrackData(obj: FileLocation): void;
|
|
20
|
-
setIndexTrackData(obj: FileLocation): void;
|
|
21
|
-
setAssembly(str: string): void;
|
|
22
|
-
setTrackName(str: string): void;
|
|
23
|
-
setTrackType(str: string): void;
|
|
24
|
-
clearData(): void;
|
|
25
|
-
} & {
|
|
26
|
-
readonly trackAdapter: import("@jbrowse/core/util/tracks").AdapterConfig | undefined;
|
|
27
|
-
readonly trackName: string;
|
|
28
|
-
readonly isFtp: boolean;
|
|
29
|
-
readonly isRelativeTrackUrl: boolean;
|
|
30
|
-
readonly isRelativeIndexUrl: boolean;
|
|
31
|
-
readonly isRelativeUrl: boolean;
|
|
32
|
-
readonly trackHttp: any;
|
|
33
|
-
readonly indexHttp: any;
|
|
34
|
-
readonly wrongProtocol: any;
|
|
35
|
-
readonly unsupported: boolean;
|
|
36
|
-
readonly assembly: any;
|
|
37
|
-
readonly trackType: string;
|
|
38
|
-
} & {
|
|
39
|
-
readonly warningMessage: "" | "Warning: JBrowse cannot access files using the ftp protocol" | "Warning: one or more of your files do not provide the protocol e.g.\n https://, please provide an absolute URL unless you are sure a\n relative URL is intended." | "Warning: You entered a http:// resources but we cannot access HTTP\n resources from JBrowse when it is running on https. Please use an\n https URL for your track, or access the JBrowse app from the http\n protocol";
|
|
40
|
-
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
|
|
41
|
-
export declare type AddTrackStateModel = ReturnType<typeof f>;
|
|
42
|
-
export declare type AddTrackModel = Instance<AddTrackStateModel>;
|
|
1
|
+
import { Instance } from 'mobx-state-tree';
|
|
2
|
+
import PluginManager from '@jbrowse/core/PluginManager';
|
|
3
|
+
import { FileLocation } from '@jbrowse/core/util/types';
|
|
4
|
+
export default function f(pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
|
|
5
|
+
id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
6
|
+
type: import("mobx-state-tree").ISimpleType<"AddTrackWidget">;
|
|
7
|
+
view: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IReferenceType<import("mobx-state-tree").IAnyType>>;
|
|
8
|
+
}, {
|
|
9
|
+
trackSource: string;
|
|
10
|
+
trackData: FileLocation | undefined;
|
|
11
|
+
indexTrackData: FileLocation | undefined;
|
|
12
|
+
altAssemblyName: string;
|
|
13
|
+
altTrackName: string;
|
|
14
|
+
altTrackType: string;
|
|
15
|
+
adapterHint: string;
|
|
16
|
+
} & {
|
|
17
|
+
setAdapterHint(obj: string): void;
|
|
18
|
+
setTrackSource(str: string): void;
|
|
19
|
+
setTrackData(obj: FileLocation): void;
|
|
20
|
+
setIndexTrackData(obj: FileLocation): void;
|
|
21
|
+
setAssembly(str: string): void;
|
|
22
|
+
setTrackName(str: string): void;
|
|
23
|
+
setTrackType(str: string): void;
|
|
24
|
+
clearData(): void;
|
|
25
|
+
} & {
|
|
26
|
+
readonly trackAdapter: import("@jbrowse/core/util/tracks").AdapterConfig | undefined;
|
|
27
|
+
readonly trackName: string;
|
|
28
|
+
readonly isFtp: boolean;
|
|
29
|
+
readonly isRelativeTrackUrl: boolean;
|
|
30
|
+
readonly isRelativeIndexUrl: boolean;
|
|
31
|
+
readonly isRelativeUrl: boolean;
|
|
32
|
+
readonly trackHttp: any;
|
|
33
|
+
readonly indexHttp: any;
|
|
34
|
+
readonly wrongProtocol: any;
|
|
35
|
+
readonly unsupported: boolean;
|
|
36
|
+
readonly assembly: any;
|
|
37
|
+
readonly trackType: string;
|
|
38
|
+
} & {
|
|
39
|
+
readonly warningMessage: "" | "Warning: JBrowse cannot access files using the ftp protocol" | "Warning: one or more of your files do not provide the protocol e.g.\n https://, please provide an absolute URL unless you are sure a\n relative URL is intended." | "Warning: You entered a http:// resources but we cannot access HTTP\n resources from JBrowse when it is running on https. Please use an\n https URL for your track, or access the JBrowse app from the http\n protocol";
|
|
40
|
+
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
|
|
41
|
+
export declare type AddTrackStateModel = ReturnType<typeof f>;
|
|
42
|
+
export declare type AddTrackModel = Instance<AddTrackStateModel>;
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = f;
|
|
7
|
+
|
|
8
|
+
var _mobxStateTree = require("mobx-state-tree");
|
|
9
|
+
|
|
10
|
+
var _mst = require("@jbrowse/core/util/types/mst");
|
|
11
|
+
|
|
12
|
+
var _tracks = require("@jbrowse/core/util/tracks");
|
|
13
|
+
|
|
14
|
+
function isAbsoluteUrl() {
|
|
15
|
+
var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
16
|
+
|
|
17
|
+
try {
|
|
18
|
+
new URL(url);
|
|
19
|
+
return true;
|
|
20
|
+
} catch (error) {
|
|
21
|
+
return url.startsWith('/');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function f(pluginManager) {
|
|
26
|
+
return _mobxStateTree.types.model('AddTrackModel', {
|
|
27
|
+
id: _mst.ElementId,
|
|
28
|
+
type: _mobxStateTree.types.literal('AddTrackWidget'),
|
|
29
|
+
view: _mobxStateTree.types.safeReference(pluginManager.pluggableMstType('view', 'stateModel'))
|
|
30
|
+
})["volatile"](function () {
|
|
31
|
+
return {
|
|
32
|
+
trackSource: 'fromFile',
|
|
33
|
+
trackData: undefined,
|
|
34
|
+
indexTrackData: undefined,
|
|
35
|
+
// alts
|
|
36
|
+
altAssemblyName: '',
|
|
37
|
+
altTrackName: '',
|
|
38
|
+
altTrackType: '',
|
|
39
|
+
adapterHint: ''
|
|
40
|
+
};
|
|
41
|
+
}).actions(function (self) {
|
|
42
|
+
return {
|
|
43
|
+
setAdapterHint: function setAdapterHint(obj) {
|
|
44
|
+
self.adapterHint = obj;
|
|
45
|
+
},
|
|
46
|
+
setTrackSource: function setTrackSource(str) {
|
|
47
|
+
self.trackSource = str;
|
|
48
|
+
},
|
|
49
|
+
setTrackData: function setTrackData(obj) {
|
|
50
|
+
self.trackData = obj;
|
|
51
|
+
},
|
|
52
|
+
setIndexTrackData: function setIndexTrackData(obj) {
|
|
53
|
+
self.indexTrackData = obj;
|
|
54
|
+
},
|
|
55
|
+
setAssembly: function setAssembly(str) {
|
|
56
|
+
self.altAssemblyName = str;
|
|
57
|
+
},
|
|
58
|
+
setTrackName: function setTrackName(str) {
|
|
59
|
+
self.altTrackName = str;
|
|
60
|
+
},
|
|
61
|
+
setTrackType: function setTrackType(str) {
|
|
62
|
+
self.altTrackType = str;
|
|
63
|
+
},
|
|
64
|
+
clearData: function clearData() {
|
|
65
|
+
self.trackSource = '';
|
|
66
|
+
self.altTrackName = '';
|
|
67
|
+
self.altTrackType = '';
|
|
68
|
+
self.altAssemblyName = '';
|
|
69
|
+
self.adapterHint = '';
|
|
70
|
+
self.indexTrackData = undefined;
|
|
71
|
+
self.trackData = undefined;
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
}).views(function (self) {
|
|
75
|
+
return {
|
|
76
|
+
get trackAdapter() {
|
|
77
|
+
var trackData = self.trackData,
|
|
78
|
+
indexTrackData = self.indexTrackData,
|
|
79
|
+
adapterHint = self.adapterHint;
|
|
80
|
+
return trackData ? (0, _tracks.guessAdapter)(trackData, indexTrackData, adapterHint, self) : undefined;
|
|
81
|
+
},
|
|
82
|
+
|
|
83
|
+
get trackName() {
|
|
84
|
+
return self.altTrackName || (self.trackData ? (0, _tracks.getFileName)(self.trackData) : '');
|
|
85
|
+
},
|
|
86
|
+
|
|
87
|
+
get isFtp() {
|
|
88
|
+
var _index$uri, _track$uri;
|
|
89
|
+
|
|
90
|
+
var track = self.trackData,
|
|
91
|
+
index = self.indexTrackData;
|
|
92
|
+
return !!( // @ts-ignore
|
|
93
|
+
index !== null && index !== void 0 && (_index$uri = index.uri) !== null && _index$uri !== void 0 && _index$uri.startsWith('ftp://') || track !== null && track !== void 0 && (_track$uri = track.uri) !== null && _track$uri !== void 0 && _track$uri.startsWith('ftp://'));
|
|
94
|
+
},
|
|
95
|
+
|
|
96
|
+
get isRelativeTrackUrl() {
|
|
97
|
+
var _self$trackData;
|
|
98
|
+
|
|
99
|
+
// @ts-ignore
|
|
100
|
+
var uri = (_self$trackData = self.trackData) === null || _self$trackData === void 0 ? void 0 : _self$trackData.uri;
|
|
101
|
+
return uri ? !isAbsoluteUrl(uri) : false;
|
|
102
|
+
},
|
|
103
|
+
|
|
104
|
+
get isRelativeIndexUrl() {
|
|
105
|
+
var _self$indexTrackData;
|
|
106
|
+
|
|
107
|
+
// @ts-ignore
|
|
108
|
+
var uri = (_self$indexTrackData = self.indexTrackData) === null || _self$indexTrackData === void 0 ? void 0 : _self$indexTrackData.uri;
|
|
109
|
+
return uri ? !isAbsoluteUrl(uri) : false;
|
|
110
|
+
},
|
|
111
|
+
|
|
112
|
+
get isRelativeUrl() {
|
|
113
|
+
return this.isRelativeIndexUrl || this.isRelativeTrackUrl;
|
|
114
|
+
},
|
|
115
|
+
|
|
116
|
+
get trackHttp() {
|
|
117
|
+
var _self$trackData2, _self$trackData2$uri;
|
|
118
|
+
|
|
119
|
+
// @ts-ignore
|
|
120
|
+
return (_self$trackData2 = self.trackData) === null || _self$trackData2 === void 0 ? void 0 : (_self$trackData2$uri = _self$trackData2.uri) === null || _self$trackData2$uri === void 0 ? void 0 : _self$trackData2$uri.startsWith('http://');
|
|
121
|
+
},
|
|
122
|
+
|
|
123
|
+
get indexHttp() {
|
|
124
|
+
var _self$indexTrackData2, _self$indexTrackData3;
|
|
125
|
+
|
|
126
|
+
// @ts-ignore
|
|
127
|
+
return (_self$indexTrackData2 = self.indexTrackData) === null || _self$indexTrackData2 === void 0 ? void 0 : (_self$indexTrackData3 = _self$indexTrackData2.uri) === null || _self$indexTrackData3 === void 0 ? void 0 : _self$indexTrackData3.startsWith('http://');
|
|
128
|
+
},
|
|
129
|
+
|
|
130
|
+
get wrongProtocol() {
|
|
131
|
+
return window.location.protocol === 'https:' && (this.trackHttp || this.indexHttp);
|
|
132
|
+
},
|
|
133
|
+
|
|
134
|
+
get unsupported() {
|
|
135
|
+
var _this$trackAdapter;
|
|
136
|
+
|
|
137
|
+
return ((_this$trackAdapter = this.trackAdapter) === null || _this$trackAdapter === void 0 ? void 0 : _this$trackAdapter.type) === _tracks.UNSUPPORTED;
|
|
138
|
+
},
|
|
139
|
+
|
|
140
|
+
get assembly() {
|
|
141
|
+
var _self$view$assemblyNa;
|
|
142
|
+
|
|
143
|
+
return self.altAssemblyName || ((_self$view$assemblyNa = self.view.assemblyNames) === null || _self$view$assemblyNa === void 0 ? void 0 : _self$view$assemblyNa[0]);
|
|
144
|
+
},
|
|
145
|
+
|
|
146
|
+
get trackType() {
|
|
147
|
+
return self.altTrackType || (this.trackAdapter ? (0, _tracks.guessTrackType)(this.trackAdapter.type, self) : '');
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
};
|
|
151
|
+
}).views(function (self) {
|
|
152
|
+
return {
|
|
153
|
+
get warningMessage() {
|
|
154
|
+
if (self.isFtp) {
|
|
155
|
+
return "Warning: JBrowse cannot access files using the ftp protocol";
|
|
156
|
+
} else if (self.isRelativeUrl) {
|
|
157
|
+
return "Warning: one or more of your files do not provide the protocol e.g.\n https://, please provide an absolute URL unless you are sure a\n relative URL is intended.";
|
|
158
|
+
} else if (self.wrongProtocol) {
|
|
159
|
+
return "Warning: You entered a http:// resources but we cannot access HTTP\n resources from JBrowse when it is running on https. Please use an\n https URL for your track, or access the JBrowse app from the http\n protocol";
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
return '';
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
};
|
|
166
|
+
});
|
|
167
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
declare const AssemblyAddForm: ({ rootModel, setFormOpen, }: {
|
|
3
|
-
rootModel: any;
|
|
4
|
-
setFormOpen: Function;
|
|
5
|
-
}) => JSX.Element;
|
|
6
|
-
export default AssemblyAddForm;
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare const AssemblyAddForm: ({ rootModel, setFormOpen, }: {
|
|
3
|
+
rootModel: any;
|
|
4
|
+
setFormOpen: Function;
|
|
5
|
+
}) => JSX.Element;
|
|
6
|
+
export default AssemblyAddForm;
|
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = void 0;
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
16
|
+
var _mobxReact = require("mobx-react");
|
|
17
|
+
|
|
18
|
+
var _FileSelector = _interopRequireDefault(require("@jbrowse/core/ui/FileSelector"));
|
|
19
|
+
|
|
20
|
+
var _core = require("@material-ui/core");
|
|
21
|
+
|
|
22
|
+
var _Add = _interopRequireDefault(require("@material-ui/icons/Add"));
|
|
23
|
+
|
|
24
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
|
+
|
|
26
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
|
+
|
|
28
|
+
var useStyles = (0, _core.makeStyles)(function (theme) {
|
|
29
|
+
return {
|
|
30
|
+
root: {
|
|
31
|
+
flexGrow: 1,
|
|
32
|
+
overflow: 'hidden',
|
|
33
|
+
padding: theme.spacing(0, 3)
|
|
34
|
+
},
|
|
35
|
+
paper: {
|
|
36
|
+
margin: "".concat(theme.spacing(1), "px auto"),
|
|
37
|
+
padding: theme.spacing(2)
|
|
38
|
+
},
|
|
39
|
+
createButton: {
|
|
40
|
+
marginTop: '1em',
|
|
41
|
+
justifyContent: 'center'
|
|
42
|
+
},
|
|
43
|
+
paperContent: {
|
|
44
|
+
flex: 'auto',
|
|
45
|
+
margin: "".concat(theme.spacing(1), "px auto"),
|
|
46
|
+
padding: theme.spacing(1),
|
|
47
|
+
overflow: 'auto'
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
});
|
|
51
|
+
var AdapterSelector = (0, _mobxReact.observer)(function (_ref) {
|
|
52
|
+
var adapterSelection = _ref.adapterSelection,
|
|
53
|
+
setAdapterSelection = _ref.setAdapterSelection,
|
|
54
|
+
adapterTypes = _ref.adapterTypes;
|
|
55
|
+
return /*#__PURE__*/_react["default"].createElement(_core.TextField, {
|
|
56
|
+
value: adapterSelection,
|
|
57
|
+
label: "Type",
|
|
58
|
+
select: true,
|
|
59
|
+
helperText: "Type of adapter to use",
|
|
60
|
+
fullWidth: true,
|
|
61
|
+
onChange: function onChange(event) {
|
|
62
|
+
setAdapterSelection(event.target.value);
|
|
63
|
+
}
|
|
64
|
+
}, adapterTypes.map(function (str) {
|
|
65
|
+
return /*#__PURE__*/_react["default"].createElement(_core.MenuItem, {
|
|
66
|
+
key: str,
|
|
67
|
+
value: str
|
|
68
|
+
}, str);
|
|
69
|
+
}));
|
|
70
|
+
});
|
|
71
|
+
var AdapterInput = (0, _mobxReact.observer)(function (_ref2) {
|
|
72
|
+
var adapterSelection = _ref2.adapterSelection,
|
|
73
|
+
fastaLocation = _ref2.fastaLocation,
|
|
74
|
+
setFastaLocation = _ref2.setFastaLocation,
|
|
75
|
+
faiLocation = _ref2.faiLocation,
|
|
76
|
+
setFaiLocation = _ref2.setFaiLocation,
|
|
77
|
+
gziLocation = _ref2.gziLocation,
|
|
78
|
+
setGziLocation = _ref2.setGziLocation,
|
|
79
|
+
twoBitLocation = _ref2.twoBitLocation,
|
|
80
|
+
setTwoBitLocation = _ref2.setTwoBitLocation,
|
|
81
|
+
chromSizesLocation = _ref2.chromSizesLocation,
|
|
82
|
+
setChromSizesLocation = _ref2.setChromSizesLocation;
|
|
83
|
+
|
|
84
|
+
if (adapterSelection === 'IndexedFastaAdapter' || adapterSelection === 'BgzipFastaAdapter') {
|
|
85
|
+
return /*#__PURE__*/_react["default"].createElement(_core.Grid, {
|
|
86
|
+
container: true,
|
|
87
|
+
spacing: 2
|
|
88
|
+
}, /*#__PURE__*/_react["default"].createElement(_core.Grid, {
|
|
89
|
+
item: true
|
|
90
|
+
}, /*#__PURE__*/_react["default"].createElement(_FileSelector["default"], {
|
|
91
|
+
name: "fastaLocation",
|
|
92
|
+
location: fastaLocation,
|
|
93
|
+
setLocation: function setLocation(loc) {
|
|
94
|
+
return setFastaLocation(loc);
|
|
95
|
+
}
|
|
96
|
+
})), /*#__PURE__*/_react["default"].createElement(_core.Grid, {
|
|
97
|
+
item: true
|
|
98
|
+
}, /*#__PURE__*/_react["default"].createElement(_FileSelector["default"], {
|
|
99
|
+
name: "faiLocation",
|
|
100
|
+
location: faiLocation,
|
|
101
|
+
setLocation: function setLocation(loc) {
|
|
102
|
+
return setFaiLocation(loc);
|
|
103
|
+
}
|
|
104
|
+
})), adapterSelection === 'BgzipFastaAdapter' ? /*#__PURE__*/_react["default"].createElement(_core.Grid, {
|
|
105
|
+
item: true
|
|
106
|
+
}, /*#__PURE__*/_react["default"].createElement(_FileSelector["default"], {
|
|
107
|
+
name: "gziLocation",
|
|
108
|
+
location: gziLocation,
|
|
109
|
+
setLocation: function setLocation(loc) {
|
|
110
|
+
return setGziLocation(loc);
|
|
111
|
+
}
|
|
112
|
+
})) : null);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
if (adapterSelection === 'TwoBitAdapter') {
|
|
116
|
+
return /*#__PURE__*/_react["default"].createElement(_core.Grid, {
|
|
117
|
+
container: true,
|
|
118
|
+
spacing: 2
|
|
119
|
+
}, /*#__PURE__*/_react["default"].createElement(_core.Grid, {
|
|
120
|
+
item: true
|
|
121
|
+
}, /*#__PURE__*/_react["default"].createElement(_FileSelector["default"], {
|
|
122
|
+
name: "twoBitLocation",
|
|
123
|
+
location: twoBitLocation,
|
|
124
|
+
setLocation: function setLocation(loc) {
|
|
125
|
+
return setTwoBitLocation(loc);
|
|
126
|
+
}
|
|
127
|
+
})), /*#__PURE__*/_react["default"].createElement(_core.Grid, {
|
|
128
|
+
item: true
|
|
129
|
+
}, /*#__PURE__*/_react["default"].createElement(_FileSelector["default"], {
|
|
130
|
+
name: "chromSizesLocation (optional, can be added to speed up loading 2bit files with many contigs)",
|
|
131
|
+
location: chromSizesLocation,
|
|
132
|
+
setLocation: function setLocation(loc) {
|
|
133
|
+
return setChromSizesLocation(loc);
|
|
134
|
+
}
|
|
135
|
+
})));
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
return null;
|
|
139
|
+
});
|
|
140
|
+
var blank = {
|
|
141
|
+
uri: ''
|
|
142
|
+
};
|
|
143
|
+
var AssemblyAddForm = (0, _mobxReact.observer)(function (_ref3) {
|
|
144
|
+
var rootModel = _ref3.rootModel,
|
|
145
|
+
setFormOpen = _ref3.setFormOpen;
|
|
146
|
+
var classes = useStyles();
|
|
147
|
+
var adapterTypes = ['IndexedFastaAdapter', 'BgzipFastaAdapter', 'TwoBitAdapter'];
|
|
148
|
+
|
|
149
|
+
var _useState = (0, _react.useState)(''),
|
|
150
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
151
|
+
assemblyName = _useState2[0],
|
|
152
|
+
setAssemblyName = _useState2[1];
|
|
153
|
+
|
|
154
|
+
var _useState3 = (0, _react.useState)(''),
|
|
155
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
156
|
+
assemblyDisplayName = _useState4[0],
|
|
157
|
+
setAssemblyDisplayName = _useState4[1];
|
|
158
|
+
|
|
159
|
+
var _useState5 = (0, _react.useState)(adapterTypes[0]),
|
|
160
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
161
|
+
adapterSelection = _useState6[0],
|
|
162
|
+
setAdapterSelection = _useState6[1];
|
|
163
|
+
|
|
164
|
+
var _useState7 = (0, _react.useState)(blank),
|
|
165
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
166
|
+
fastaLocation = _useState8[0],
|
|
167
|
+
setFastaLocation = _useState8[1];
|
|
168
|
+
|
|
169
|
+
var _useState9 = (0, _react.useState)(blank),
|
|
170
|
+
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
171
|
+
faiLocation = _useState10[0],
|
|
172
|
+
setFaiLocation = _useState10[1];
|
|
173
|
+
|
|
174
|
+
var _useState11 = (0, _react.useState)(blank),
|
|
175
|
+
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
176
|
+
gziLocation = _useState12[0],
|
|
177
|
+
setGziLocation = _useState12[1];
|
|
178
|
+
|
|
179
|
+
var _useState13 = (0, _react.useState)(blank),
|
|
180
|
+
_useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
|
|
181
|
+
twoBitLocation = _useState14[0],
|
|
182
|
+
setTwoBitLocation = _useState14[1];
|
|
183
|
+
|
|
184
|
+
var _useState15 = (0, _react.useState)(blank),
|
|
185
|
+
_useState16 = (0, _slicedToArray2["default"])(_useState15, 2),
|
|
186
|
+
chromSizesLocation = _useState16[0],
|
|
187
|
+
setChromSizesLocation = _useState16[1];
|
|
188
|
+
|
|
189
|
+
function createAssembly() {
|
|
190
|
+
if (assemblyName === '') {
|
|
191
|
+
rootModel.session.notify("Can't create an assembly without a name");
|
|
192
|
+
} else {
|
|
193
|
+
setFormOpen(false);
|
|
194
|
+
var newAssembly;
|
|
195
|
+
|
|
196
|
+
if (adapterSelection === 'IndexedFastaAdapter') {
|
|
197
|
+
newAssembly = {
|
|
198
|
+
name: assemblyName,
|
|
199
|
+
displayName: assemblyDisplayName,
|
|
200
|
+
sequence: {
|
|
201
|
+
adapter: {
|
|
202
|
+
type: 'IndexedFastaAdapter',
|
|
203
|
+
fastaLocation: fastaLocation,
|
|
204
|
+
faiLocation: faiLocation
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
};
|
|
208
|
+
} else if (adapterSelection === 'BgzipFastaAdapter') {
|
|
209
|
+
newAssembly = {
|
|
210
|
+
name: assemblyName,
|
|
211
|
+
displayName: assemblyDisplayName,
|
|
212
|
+
sequence: {
|
|
213
|
+
adapter: {
|
|
214
|
+
type: 'BgzipFastaAdapter',
|
|
215
|
+
fastaLocation: fastaLocation,
|
|
216
|
+
faiLocation: faiLocation,
|
|
217
|
+
gziLocation: gziLocation
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
};
|
|
221
|
+
} else if (adapterSelection === 'TwoBitAdapter') {
|
|
222
|
+
newAssembly = {
|
|
223
|
+
name: assemblyName,
|
|
224
|
+
displayName: assemblyDisplayName,
|
|
225
|
+
sequence: {
|
|
226
|
+
adapter: {
|
|
227
|
+
type: 'TwoBitAdapter',
|
|
228
|
+
twoBitLocation: twoBitLocation,
|
|
229
|
+
chromSizesLocation: chromSizesLocation
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
rootModel.jbrowse.addAssemblyConf(newAssembly);
|
|
236
|
+
rootModel.session.notify("Successfully added ".concat(assemblyName, " assembly to JBrowse 2"), 'success');
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
241
|
+
className: classes.root
|
|
242
|
+
}, /*#__PURE__*/_react["default"].createElement(_core.Paper, {
|
|
243
|
+
className: classes.paper
|
|
244
|
+
}, /*#__PURE__*/_react["default"].createElement(_core.TextField, {
|
|
245
|
+
id: "assembly-name",
|
|
246
|
+
inputProps: {
|
|
247
|
+
'data-testid': 'assembly-name'
|
|
248
|
+
},
|
|
249
|
+
label: "Assembly name",
|
|
250
|
+
helperText: "The assembly name e.g. hg38",
|
|
251
|
+
variant: "outlined",
|
|
252
|
+
value: assemblyName,
|
|
253
|
+
onChange: function onChange(event) {
|
|
254
|
+
return setAssemblyName(event.target.value);
|
|
255
|
+
}
|
|
256
|
+
}), /*#__PURE__*/_react["default"].createElement(_core.TextField, {
|
|
257
|
+
id: "assembly-name",
|
|
258
|
+
inputProps: {
|
|
259
|
+
'data-testid': 'assembly-display-name'
|
|
260
|
+
},
|
|
261
|
+
label: "Assembly display name",
|
|
262
|
+
helperText: "A human readable display name for the assembly e.g. \"Homo sapiens (hg38)\"",
|
|
263
|
+
variant: "outlined",
|
|
264
|
+
value: assemblyDisplayName,
|
|
265
|
+
onChange: function onChange(event) {
|
|
266
|
+
return setAssemblyDisplayName(event.target.value);
|
|
267
|
+
}
|
|
268
|
+
}), /*#__PURE__*/_react["default"].createElement(AdapterSelector, {
|
|
269
|
+
adapterSelection: adapterSelection,
|
|
270
|
+
setAdapterSelection: setAdapterSelection,
|
|
271
|
+
adapterTypes: adapterTypes
|
|
272
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
273
|
+
className: classes.paperContent
|
|
274
|
+
}, /*#__PURE__*/_react["default"].createElement(AdapterInput, {
|
|
275
|
+
adapterSelection: adapterSelection,
|
|
276
|
+
fastaLocation: fastaLocation,
|
|
277
|
+
setFastaLocation: setFastaLocation,
|
|
278
|
+
faiLocation: faiLocation,
|
|
279
|
+
setFaiLocation: setFaiLocation,
|
|
280
|
+
gziLocation: gziLocation,
|
|
281
|
+
setGziLocation: setGziLocation,
|
|
282
|
+
twoBitLocation: twoBitLocation,
|
|
283
|
+
setTwoBitLocation: setTwoBitLocation,
|
|
284
|
+
chromSizesLocation: chromSizesLocation,
|
|
285
|
+
setChromSizesLocation: setChromSizesLocation
|
|
286
|
+
}))), /*#__PURE__*/_react["default"].createElement(_core.Grid, {
|
|
287
|
+
container: true,
|
|
288
|
+
className: classes.createButton
|
|
289
|
+
}, /*#__PURE__*/_react["default"].createElement(_core.Grid, {
|
|
290
|
+
item: true
|
|
291
|
+
}, /*#__PURE__*/_react["default"].createElement(_core.Button, {
|
|
292
|
+
variant: "contained",
|
|
293
|
+
color: "secondary",
|
|
294
|
+
startIcon: /*#__PURE__*/_react["default"].createElement(_Add["default"], null),
|
|
295
|
+
onClick: createAssembly
|
|
296
|
+
}, "Create new assembly"))));
|
|
297
|
+
});
|
|
298
|
+
var _default = AssemblyAddForm;
|
|
299
|
+
exports["default"] = _default;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
declare const AssemblyEditor: ({ assembly, }: {
|
|
3
|
-
assembly: any;
|
|
4
|
-
}) => JSX.Element;
|
|
5
|
-
export default AssemblyEditor;
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare const AssemblyEditor: ({ assembly, }: {
|
|
3
|
+
assembly: any;
|
|
4
|
+
}) => JSX.Element;
|
|
5
|
+
export default AssemblyEditor;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _mobxReact = require("mobx-react");
|
|
13
|
+
|
|
14
|
+
var _pluginConfig = require("@jbrowse/plugin-config");
|
|
15
|
+
|
|
16
|
+
var AssemblyEditor = (0, _mobxReact.observer)(function (_ref) {
|
|
17
|
+
var assembly = _ref.assembly;
|
|
18
|
+
return /*#__PURE__*/_react["default"].createElement(_pluginConfig.ConfigurationEditor, {
|
|
19
|
+
model: {
|
|
20
|
+
target: assembly
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
var _default = AssemblyEditor;
|
|
25
|
+
exports["default"] = _default;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
declare const AssemblyManager: ({ rootModel, onClose, }: {
|
|
3
|
-
rootModel: any;
|
|
4
|
-
onClose: (arg: boolean) => void;
|
|
5
|
-
}) => JSX.Element;
|
|
6
|
-
export default AssemblyManager;
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare const AssemblyManager: ({ rootModel, onClose, }: {
|
|
3
|
+
rootModel: any;
|
|
4
|
+
onClose: (arg: boolean) => void;
|
|
5
|
+
}) => JSX.Element;
|
|
6
|
+
export default AssemblyManager;
|