@jbrowse/plugin-jobs-management 2.8.0 → 2.10.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.
@@ -1,3 +1,3 @@
1
- export { default as ReactComponent } from './components/JobsListWidget';
2
- export { default as stateModelFactory } from './model';
1
+ import PluginManager from '@jbrowse/core/PluginManager';
3
2
  export declare const configSchema: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
3
+ export default function JobsListWidgetF(pluginManager: PluginManager): void;
@@ -1,12 +1,43 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
4
24
  };
5
25
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.configSchema = exports.stateModelFactory = exports.ReactComponent = void 0;
26
+ exports.configSchema = void 0;
7
27
  const configuration_1 = require("@jbrowse/core/configuration");
8
- var JobsListWidget_1 = require("./components/JobsListWidget");
9
- Object.defineProperty(exports, "ReactComponent", { enumerable: true, get: function () { return __importDefault(JobsListWidget_1).default; } });
10
- var model_1 = require("./model");
11
- Object.defineProperty(exports, "stateModelFactory", { enumerable: true, get: function () { return __importDefault(model_1).default; } });
28
+ const pluggableElementTypes_1 = require("@jbrowse/core/pluggableElementTypes");
29
+ const react_1 = require("react");
30
+ const model_1 = require("./model");
12
31
  exports.configSchema = (0, configuration_1.ConfigurationSchema)('JobsListWidget', {});
32
+ function JobsListWidgetF(pluginManager) {
33
+ pluginManager.addWidgetType(() => {
34
+ return new pluggableElementTypes_1.WidgetType({
35
+ name: 'JobsListWidget',
36
+ heading: 'Jobs list',
37
+ configSchema: exports.configSchema,
38
+ stateModel: (0, model_1.stateModelFactory)(pluginManager),
39
+ ReactComponent: (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./components/JobsListWidget')))),
40
+ });
41
+ });
42
+ }
43
+ exports.default = JobsListWidgetF;
@@ -0,0 +1,32 @@
1
+ /**
2
+ * #stateModel
3
+ */
4
+ export declare const Job: import("mobx-state-tree").IModelType<{
5
+ /**
6
+ * #property
7
+ */
8
+ name: import("mobx-state-tree").ISimpleType<string>;
9
+ /**
10
+ * #property
11
+ */
12
+ statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
13
+ /**
14
+ * #property
15
+ */
16
+ progressPct: import("mobx-state-tree").ISimpleType<number>;
17
+ }, {
18
+ cancelCallback(): void;
19
+ } & {
20
+ /**
21
+ * #action
22
+ */
23
+ setCancelCallback(cancelCallback: () => void): void;
24
+ /**
25
+ * #action
26
+ */
27
+ setStatusMessage(message?: string): void;
28
+ /**
29
+ * #action
30
+ */
31
+ setProgressPct(pct: number): void;
32
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Job = void 0;
4
+ const mobx_state_tree_1 = require("mobx-state-tree");
5
+ /**
6
+ * #stateModel
7
+ */
8
+ exports.Job = mobx_state_tree_1.types
9
+ .model('Job', {
10
+ /**
11
+ * #property
12
+ */
13
+ name: mobx_state_tree_1.types.string,
14
+ /**
15
+ * #property
16
+ */
17
+ statusMessage: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
18
+ /**
19
+ * #property
20
+ */
21
+ progressPct: mobx_state_tree_1.types.number,
22
+ })
23
+ .volatile(() => ({
24
+ cancelCallback() { },
25
+ }))
26
+ .actions(self => ({
27
+ /**
28
+ * #action
29
+ */
30
+ setCancelCallback(cancelCallback) {
31
+ self.cancelCallback = cancelCallback;
32
+ },
33
+ /**
34
+ * #action
35
+ */
36
+ setStatusMessage(message) {
37
+ self.statusMessage = message;
38
+ },
39
+ /**
40
+ * #action
41
+ */
42
+ setProgressPct(pct) {
43
+ self.progressPct = pct;
44
+ },
45
+ }));
@@ -1,196 +1,311 @@
1
1
  import { Instance, SnapshotIn } from 'mobx-state-tree';
2
2
  import PluginManager from '@jbrowse/core/PluginManager';
3
- export declare const Job: import("mobx-state-tree").IModelType<{
4
- name: import("mobx-state-tree").ISimpleType<string>;
5
- statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
6
- progressPct: import("mobx-state-tree").ISimpleType<number>;
7
- }, {
8
- cancelCallback(): void;
9
- } & {
10
- setCancelCallback(cancelCallback: () => void): void;
11
- setStatusMessage(message?: string): void;
12
- setProgressPct(pct: number): void;
13
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
3
+ import { Job } from './jobModel';
14
4
  export interface NewJob extends SnapshotIn<typeof Job> {
15
5
  cancelCallback(): void;
16
6
  setStatusMessage(msg?: string): void;
17
7
  }
18
- export default function f(_pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
8
+ /**
9
+ * #stateModel JobsListModel
10
+ */
11
+ export declare function stateModelFactory(_pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
12
+ /**
13
+ * #property
14
+ */
19
15
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
16
+ /**
17
+ * #property
18
+ */
20
19
  type: import("mobx-state-tree").ISimpleType<"JobsListWidget">;
20
+ /**
21
+ * #property
22
+ */
21
23
  jobs: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
22
24
  name: import("mobx-state-tree").ISimpleType<string>;
23
25
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
24
26
  progressPct: import("mobx-state-tree").ISimpleType<number>;
25
27
  }, {
28
+ /**
29
+ * #stateModel JobsListModel
30
+ */
26
31
  cancelCallback(): void;
27
32
  } & {
28
33
  setCancelCallback(cancelCallback: () => void): void;
29
- setStatusMessage(message?: string | undefined): void;
34
+ setStatusMessage(message?: string | undefined): void; /**
35
+ * #property
36
+ */
30
37
  setProgressPct(pct: number): void;
31
38
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
39
+ /**
40
+ * #property
41
+ */
32
42
  finished: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
33
43
  name: import("mobx-state-tree").ISimpleType<string>;
34
44
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
35
45
  progressPct: import("mobx-state-tree").ISimpleType<number>;
36
46
  }, {
47
+ /**
48
+ * #stateModel JobsListModel
49
+ */
37
50
  cancelCallback(): void;
38
51
  } & {
39
52
  setCancelCallback(cancelCallback: () => void): void;
40
- setStatusMessage(message?: string | undefined): void;
53
+ setStatusMessage(message?: string | undefined): void; /**
54
+ * #property
55
+ */
41
56
  setProgressPct(pct: number): void;
42
57
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
58
+ /**
59
+ * #property
60
+ */
43
61
  queued: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
44
62
  name: import("mobx-state-tree").ISimpleType<string>;
45
63
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
46
64
  progressPct: import("mobx-state-tree").ISimpleType<number>;
47
65
  }, {
66
+ /**
67
+ * #stateModel JobsListModel
68
+ */
48
69
  cancelCallback(): void;
49
70
  } & {
50
71
  setCancelCallback(cancelCallback: () => void): void;
51
- setStatusMessage(message?: string | undefined): void;
72
+ setStatusMessage(message?: string | undefined): void; /**
73
+ * #property
74
+ */
52
75
  setProgressPct(pct: number): void;
53
76
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
77
+ /**
78
+ * #property
79
+ */
54
80
  aborted: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
55
81
  name: import("mobx-state-tree").ISimpleType<string>;
56
82
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
57
83
  progressPct: import("mobx-state-tree").ISimpleType<number>;
58
84
  }, {
85
+ /**
86
+ * #stateModel JobsListModel
87
+ */
59
88
  cancelCallback(): void;
60
89
  } & {
61
90
  setCancelCallback(cancelCallback: () => void): void;
62
- setStatusMessage(message?: string | undefined): void;
91
+ setStatusMessage(message?: string | undefined): void; /**
92
+ * #property
93
+ */
63
94
  setProgressPct(pct: number): void;
64
95
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
65
96
  }, {
97
+ /**
98
+ * #action
99
+ */
66
100
  addJob(job: NewJob): {
67
101
  name: string;
68
102
  statusMessage: string | undefined;
69
103
  progressPct: number;
70
104
  } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
105
+ /**
106
+ * #stateModel JobsListModel
107
+ */
71
108
  cancelCallback(): void;
72
109
  } & {
73
110
  setCancelCallback(cancelCallback: () => void): void;
74
- setStatusMessage(message?: string | undefined): void;
111
+ setStatusMessage(message?: string | undefined): void; /**
112
+ * #property
113
+ */
75
114
  setProgressPct(pct: number): void;
76
115
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
77
116
  name: import("mobx-state-tree").ISimpleType<string>;
78
117
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
79
118
  progressPct: import("mobx-state-tree").ISimpleType<number>;
80
119
  }, {
120
+ /**
121
+ * #stateModel JobsListModel
122
+ */
81
123
  cancelCallback(): void;
82
124
  } & {
83
125
  setCancelCallback(cancelCallback: () => void): void;
84
- setStatusMessage(message?: string | undefined): void;
126
+ setStatusMessage(message?: string | undefined): void; /**
127
+ * #property
128
+ */
85
129
  setProgressPct(pct: number): void;
86
130
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
131
+ /**
132
+ * #action
133
+ */
87
134
  removeJob(jobName: string): {
88
135
  name: string;
89
136
  statusMessage: string | undefined;
90
137
  progressPct: number;
91
138
  } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
139
+ /**
140
+ * #stateModel JobsListModel
141
+ */
92
142
  cancelCallback(): void;
93
143
  } & {
94
144
  setCancelCallback(cancelCallback: () => void): void;
95
- setStatusMessage(message?: string | undefined): void;
145
+ setStatusMessage(message?: string | undefined): void; /**
146
+ * #property
147
+ */
96
148
  setProgressPct(pct: number): void;
97
149
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
98
150
  name: import("mobx-state-tree").ISimpleType<string>;
99
151
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
100
152
  progressPct: import("mobx-state-tree").ISimpleType<number>;
101
153
  }, {
154
+ /**
155
+ * #stateModel JobsListModel
156
+ */
102
157
  cancelCallback(): void;
103
158
  } & {
104
159
  setCancelCallback(cancelCallback: () => void): void;
105
- setStatusMessage(message?: string | undefined): void;
160
+ setStatusMessage(message?: string | undefined): void; /**
161
+ * #property
162
+ */
106
163
  setProgressPct(pct: number): void;
107
164
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
165
+ /**
166
+ * #action
167
+ */
108
168
  addFinishedJob(job: NewJob): import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
109
169
  name: import("mobx-state-tree").ISimpleType<string>;
110
170
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
111
171
  progressPct: import("mobx-state-tree").ISimpleType<number>;
112
172
  }, {
173
+ /**
174
+ * #stateModel JobsListModel
175
+ */
113
176
  cancelCallback(): void;
114
177
  } & {
115
178
  setCancelCallback(cancelCallback: () => void): void;
116
- setStatusMessage(message?: string | undefined): void;
179
+ setStatusMessage(message?: string | undefined): void; /**
180
+ * #property
181
+ */
117
182
  setProgressPct(pct: number): void;
118
183
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
119
184
  name: import("mobx-state-tree").ISimpleType<string>;
120
185
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
121
186
  progressPct: import("mobx-state-tree").ISimpleType<number>;
122
187
  }, {
188
+ /**
189
+ * #stateModel JobsListModel
190
+ */
123
191
  cancelCallback(): void;
124
192
  } & {
125
193
  setCancelCallback(cancelCallback: () => void): void;
126
- setStatusMessage(message?: string | undefined): void;
194
+ setStatusMessage(message?: string | undefined): void; /**
195
+ * #property
196
+ */
127
197
  setProgressPct(pct: number): void;
128
198
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
199
+ /**
200
+ * #action
201
+ */
129
202
  addQueuedJob(job: NewJob): import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
130
203
  name: import("mobx-state-tree").ISimpleType<string>;
131
204
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
132
205
  progressPct: import("mobx-state-tree").ISimpleType<number>;
133
206
  }, {
207
+ /**
208
+ * #stateModel JobsListModel
209
+ */
134
210
  cancelCallback(): void;
135
211
  } & {
136
212
  setCancelCallback(cancelCallback: () => void): void;
137
- setStatusMessage(message?: string | undefined): void;
213
+ setStatusMessage(message?: string | undefined): void; /**
214
+ * #property
215
+ */
138
216
  setProgressPct(pct: number): void;
139
217
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
140
218
  name: import("mobx-state-tree").ISimpleType<string>;
141
219
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
142
220
  progressPct: import("mobx-state-tree").ISimpleType<number>;
143
221
  }, {
222
+ /**
223
+ * #stateModel JobsListModel
224
+ */
144
225
  cancelCallback(): void;
145
226
  } & {
146
227
  setCancelCallback(cancelCallback: () => void): void;
147
- setStatusMessage(message?: string | undefined): void;
228
+ setStatusMessage(message?: string | undefined): void; /**
229
+ * #property
230
+ */
148
231
  setProgressPct(pct: number): void;
149
232
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
233
+ /**
234
+ * #action
235
+ */
150
236
  addAbortedJob(job: NewJob): import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
151
237
  name: import("mobx-state-tree").ISimpleType<string>;
152
238
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
153
239
  progressPct: import("mobx-state-tree").ISimpleType<number>;
154
240
  }, {
241
+ /**
242
+ * #stateModel JobsListModel
243
+ */
155
244
  cancelCallback(): void;
156
245
  } & {
157
246
  setCancelCallback(cancelCallback: () => void): void;
158
- setStatusMessage(message?: string | undefined): void;
247
+ setStatusMessage(message?: string | undefined): void; /**
248
+ * #property
249
+ */
159
250
  setProgressPct(pct: number): void;
160
251
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
161
252
  name: import("mobx-state-tree").ISimpleType<string>;
162
253
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
163
254
  progressPct: import("mobx-state-tree").ISimpleType<number>;
164
255
  }, {
256
+ /**
257
+ * #stateModel JobsListModel
258
+ */
165
259
  cancelCallback(): void;
166
260
  } & {
167
261
  setCancelCallback(cancelCallback: () => void): void;
168
- setStatusMessage(message?: string | undefined): void;
262
+ setStatusMessage(message?: string | undefined): void; /**
263
+ * #property
264
+ */
169
265
  setProgressPct(pct: number): void;
170
266
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
267
+ /**
268
+ * #action
269
+ */
171
270
  removeQueuedJob(jobName: string): {
172
271
  name: string;
173
272
  statusMessage: string | undefined;
174
273
  progressPct: number;
175
274
  } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
275
+ /**
276
+ * #stateModel JobsListModel
277
+ */
176
278
  cancelCallback(): void;
177
279
  } & {
178
280
  setCancelCallback(cancelCallback: () => void): void;
179
- setStatusMessage(message?: string | undefined): void;
281
+ setStatusMessage(message?: string | undefined): void; /**
282
+ * #property
283
+ */
180
284
  setProgressPct(pct: number): void;
181
285
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
182
286
  name: import("mobx-state-tree").ISimpleType<string>;
183
287
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
184
288
  progressPct: import("mobx-state-tree").ISimpleType<number>;
185
289
  }, {
290
+ /**
291
+ * #stateModel JobsListModel
292
+ */
186
293
  cancelCallback(): void;
187
294
  } & {
188
295
  setCancelCallback(cancelCallback: () => void): void;
189
- setStatusMessage(message?: string | undefined): void;
296
+ setStatusMessage(message?: string | undefined): void; /**
297
+ * #property
298
+ */
190
299
  setProgressPct(pct: number): void;
191
300
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
301
+ /**
302
+ * #action
303
+ */
192
304
  updateJobStatusMessage(jobName: string, message?: string): void;
305
+ /**
306
+ * #action
307
+ */
193
308
  updateJobProgressPct(jobName: string, pct: number): void;
194
309
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
195
- export type JobsListStateModel = ReturnType<typeof f>;
310
+ export type JobsListStateModel = ReturnType<typeof stateModelFactory>;
196
311
  export type JobsListModel = Instance<JobsListStateModel>;
@@ -1,39 +1,44 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Job = void 0;
3
+ exports.stateModelFactory = void 0;
4
4
  const mobx_state_tree_1 = require("mobx-state-tree");
5
5
  const mst_1 = require("@jbrowse/core/util/types/mst");
6
- exports.Job = mobx_state_tree_1.types
7
- .model('Job', {
8
- name: mobx_state_tree_1.types.string,
9
- statusMessage: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
10
- progressPct: mobx_state_tree_1.types.number,
11
- })
12
- .volatile(() => ({
13
- cancelCallback() { },
14
- }))
15
- .actions(self => ({
16
- setCancelCallback(cancelCallback) {
17
- self.cancelCallback = cancelCallback;
18
- },
19
- setStatusMessage(message) {
20
- self.statusMessage = message;
21
- },
22
- setProgressPct(pct) {
23
- self.progressPct = pct;
24
- },
25
- }));
26
- function f(_pluginManager) {
6
+ const jobModel_1 = require("./jobModel");
7
+ /**
8
+ * #stateModel JobsListModel
9
+ */
10
+ function stateModelFactory(_pluginManager) {
27
11
  return mobx_state_tree_1.types
28
12
  .model('JobsListModel', {
13
+ /**
14
+ * #property
15
+ */
29
16
  id: mst_1.ElementId,
17
+ /**
18
+ * #property
19
+ */
30
20
  type: mobx_state_tree_1.types.literal('JobsListWidget'),
31
- jobs: mobx_state_tree_1.types.array(exports.Job),
32
- finished: mobx_state_tree_1.types.array(exports.Job),
33
- queued: mobx_state_tree_1.types.array(exports.Job),
34
- aborted: mobx_state_tree_1.types.array(exports.Job),
21
+ /**
22
+ * #property
23
+ */
24
+ jobs: mobx_state_tree_1.types.array(jobModel_1.Job),
25
+ /**
26
+ * #property
27
+ */
28
+ finished: mobx_state_tree_1.types.array(jobModel_1.Job),
29
+ /**
30
+ * #property
31
+ */
32
+ queued: mobx_state_tree_1.types.array(jobModel_1.Job),
33
+ /**
34
+ * #property
35
+ */
36
+ aborted: mobx_state_tree_1.types.array(jobModel_1.Job),
35
37
  })
36
38
  .actions(self => ({
39
+ /**
40
+ * #action
41
+ */
37
42
  addJob(job) {
38
43
  const { cancelCallback } = job;
39
44
  const length = self.jobs.push(job);
@@ -41,30 +46,48 @@ function f(_pluginManager) {
41
46
  addedJob.setCancelCallback(cancelCallback);
42
47
  return addedJob;
43
48
  },
49
+ /**
50
+ * #action
51
+ */
44
52
  removeJob(jobName) {
45
53
  const indx = self.jobs.findIndex(job => job.name === jobName);
46
54
  const removed = self.jobs[indx];
47
55
  self.jobs.splice(indx, 1);
48
56
  return removed;
49
57
  },
58
+ /**
59
+ * #action
60
+ */
50
61
  addFinishedJob(job) {
51
62
  self.finished.push(job);
52
63
  return self.finished;
53
64
  },
65
+ /**
66
+ * #action
67
+ */
54
68
  addQueuedJob(job) {
55
69
  self.queued.push(job);
56
70
  return self.finished;
57
71
  },
72
+ /**
73
+ * #action
74
+ */
58
75
  addAbortedJob(job) {
59
76
  self.aborted.push(job);
60
77
  return self.aborted;
61
78
  },
79
+ /**
80
+ * #action
81
+ */
62
82
  removeQueuedJob(jobName) {
63
83
  const indx = self.queued.findIndex(job => job.name === jobName);
64
84
  const removed = self.queued[indx];
65
85
  self.queued.splice(indx, 1);
66
86
  return removed;
67
87
  },
88
+ /**
89
+ * #action
90
+ */
68
91
  updateJobStatusMessage(jobName, message) {
69
92
  const job = self.jobs.find(job => job.name === jobName);
70
93
  if (!job) {
@@ -72,6 +95,9 @@ function f(_pluginManager) {
72
95
  }
73
96
  job.setStatusMessage(message);
74
97
  },
98
+ /**
99
+ * #action
100
+ */
75
101
  updateJobProgressPct(jobName, pct) {
76
102
  const job = self.jobs.find(job => job.name === jobName);
77
103
  if (!job) {
@@ -81,4 +107,4 @@ function f(_pluginManager) {
81
107
  },
82
108
  }));
83
109
  }
84
- exports.default = f;
110
+ exports.stateModelFactory = stateModelFactory;
package/dist/index.js CHANGED
@@ -1,59 +1,26 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
4
  };
28
5
  Object.defineProperty(exports, "__esModule", { value: true });
29
- const react_1 = require("react");
30
6
  const Plugin_1 = __importDefault(require("@jbrowse/core/Plugin"));
31
7
  const util_1 = require("@jbrowse/core/util");
32
8
  const Icons_1 = require("@jbrowse/core/ui/Icons");
33
- const WidgetType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/WidgetType"));
34
- const JobsListWidget_1 = require("../../jobs-management/src/JobsListWidget");
35
9
  const util_2 = require("@jbrowse/core/util");
10
+ const JobsListWidget_1 = __importDefault(require("./JobsListWidget"));
36
11
  class default_1 extends Plugin_1.default {
37
12
  constructor() {
38
13
  super(...arguments);
39
14
  this.name = 'JobsManagementPlugin';
40
15
  }
41
16
  install(pluginManager) {
42
- pluginManager.addWidgetType(() => {
43
- return new WidgetType_1.default({
44
- name: 'JobsListWidget',
45
- heading: 'Jobs list',
46
- configSchema: JobsListWidget_1.configSchema,
47
- stateModel: (0, JobsListWidget_1.stateModelFactory)(pluginManager),
48
- ReactComponent: (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('../../jobs-management/src/JobsListWidget/components/JobsListWidget')))),
49
- });
50
- });
17
+ (0, JobsListWidget_1.default)(pluginManager);
51
18
  }
52
19
  configure(pluginManager) {
53
20
  if ((0, util_1.isAbstractMenuManager)(pluginManager.rootModel)) {
54
21
  pluginManager.rootModel.appendToMenu('Tools', {
55
22
  label: 'Jobs list',
56
- icon: Icons_1.Indexing,
23
+ icon: Icons_1.Indexing, // TODO: pick a better icon
57
24
  onClick: (session) => {
58
25
  if ((0, util_2.isSessionModelWithWidgets)(session)) {
59
26
  const { widgets } = session;
@@ -1,3 +1,3 @@
1
- export { default as ReactComponent } from './components/JobsListWidget';
2
- export { default as stateModelFactory } from './model';
1
+ import PluginManager from '@jbrowse/core/PluginManager';
3
2
  export declare const configSchema: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
3
+ export default function JobsListWidgetF(pluginManager: PluginManager): void;
@@ -1,4 +1,16 @@
1
1
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
- export { default as ReactComponent } from './components/JobsListWidget';
3
- export { default as stateModelFactory } from './model';
2
+ import { WidgetType } from '@jbrowse/core/pluggableElementTypes';
3
+ import { lazy } from 'react';
4
+ import { stateModelFactory } from './model';
4
5
  export const configSchema = ConfigurationSchema('JobsListWidget', {});
6
+ export default function JobsListWidgetF(pluginManager) {
7
+ pluginManager.addWidgetType(() => {
8
+ return new WidgetType({
9
+ name: 'JobsListWidget',
10
+ heading: 'Jobs list',
11
+ configSchema,
12
+ stateModel: stateModelFactory(pluginManager),
13
+ ReactComponent: lazy(() => import('./components/JobsListWidget')),
14
+ });
15
+ });
16
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * #stateModel
3
+ */
4
+ export declare const Job: import("mobx-state-tree").IModelType<{
5
+ /**
6
+ * #property
7
+ */
8
+ name: import("mobx-state-tree").ISimpleType<string>;
9
+ /**
10
+ * #property
11
+ */
12
+ statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
13
+ /**
14
+ * #property
15
+ */
16
+ progressPct: import("mobx-state-tree").ISimpleType<number>;
17
+ }, {
18
+ cancelCallback(): void;
19
+ } & {
20
+ /**
21
+ * #action
22
+ */
23
+ setCancelCallback(cancelCallback: () => void): void;
24
+ /**
25
+ * #action
26
+ */
27
+ setStatusMessage(message?: string): void;
28
+ /**
29
+ * #action
30
+ */
31
+ setProgressPct(pct: number): void;
32
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
@@ -0,0 +1,42 @@
1
+ import { types } from 'mobx-state-tree';
2
+ /**
3
+ * #stateModel
4
+ */
5
+ export const Job = types
6
+ .model('Job', {
7
+ /**
8
+ * #property
9
+ */
10
+ name: types.string,
11
+ /**
12
+ * #property
13
+ */
14
+ statusMessage: types.maybe(types.string),
15
+ /**
16
+ * #property
17
+ */
18
+ progressPct: types.number,
19
+ })
20
+ .volatile(() => ({
21
+ cancelCallback() { },
22
+ }))
23
+ .actions(self => ({
24
+ /**
25
+ * #action
26
+ */
27
+ setCancelCallback(cancelCallback) {
28
+ self.cancelCallback = cancelCallback;
29
+ },
30
+ /**
31
+ * #action
32
+ */
33
+ setStatusMessage(message) {
34
+ self.statusMessage = message;
35
+ },
36
+ /**
37
+ * #action
38
+ */
39
+ setProgressPct(pct) {
40
+ self.progressPct = pct;
41
+ },
42
+ }));
@@ -1,196 +1,311 @@
1
1
  import { Instance, SnapshotIn } from 'mobx-state-tree';
2
2
  import PluginManager from '@jbrowse/core/PluginManager';
3
- export declare const Job: import("mobx-state-tree").IModelType<{
4
- name: import("mobx-state-tree").ISimpleType<string>;
5
- statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
6
- progressPct: import("mobx-state-tree").ISimpleType<number>;
7
- }, {
8
- cancelCallback(): void;
9
- } & {
10
- setCancelCallback(cancelCallback: () => void): void;
11
- setStatusMessage(message?: string): void;
12
- setProgressPct(pct: number): void;
13
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
3
+ import { Job } from './jobModel';
14
4
  export interface NewJob extends SnapshotIn<typeof Job> {
15
5
  cancelCallback(): void;
16
6
  setStatusMessage(msg?: string): void;
17
7
  }
18
- export default function f(_pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
8
+ /**
9
+ * #stateModel JobsListModel
10
+ */
11
+ export declare function stateModelFactory(_pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
12
+ /**
13
+ * #property
14
+ */
19
15
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
16
+ /**
17
+ * #property
18
+ */
20
19
  type: import("mobx-state-tree").ISimpleType<"JobsListWidget">;
20
+ /**
21
+ * #property
22
+ */
21
23
  jobs: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
22
24
  name: import("mobx-state-tree").ISimpleType<string>;
23
25
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
24
26
  progressPct: import("mobx-state-tree").ISimpleType<number>;
25
27
  }, {
28
+ /**
29
+ * #stateModel JobsListModel
30
+ */
26
31
  cancelCallback(): void;
27
32
  } & {
28
33
  setCancelCallback(cancelCallback: () => void): void;
29
- setStatusMessage(message?: string | undefined): void;
34
+ setStatusMessage(message?: string | undefined): void; /**
35
+ * #property
36
+ */
30
37
  setProgressPct(pct: number): void;
31
38
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
39
+ /**
40
+ * #property
41
+ */
32
42
  finished: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
33
43
  name: import("mobx-state-tree").ISimpleType<string>;
34
44
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
35
45
  progressPct: import("mobx-state-tree").ISimpleType<number>;
36
46
  }, {
47
+ /**
48
+ * #stateModel JobsListModel
49
+ */
37
50
  cancelCallback(): void;
38
51
  } & {
39
52
  setCancelCallback(cancelCallback: () => void): void;
40
- setStatusMessage(message?: string | undefined): void;
53
+ setStatusMessage(message?: string | undefined): void; /**
54
+ * #property
55
+ */
41
56
  setProgressPct(pct: number): void;
42
57
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
58
+ /**
59
+ * #property
60
+ */
43
61
  queued: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
44
62
  name: import("mobx-state-tree").ISimpleType<string>;
45
63
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
46
64
  progressPct: import("mobx-state-tree").ISimpleType<number>;
47
65
  }, {
66
+ /**
67
+ * #stateModel JobsListModel
68
+ */
48
69
  cancelCallback(): void;
49
70
  } & {
50
71
  setCancelCallback(cancelCallback: () => void): void;
51
- setStatusMessage(message?: string | undefined): void;
72
+ setStatusMessage(message?: string | undefined): void; /**
73
+ * #property
74
+ */
52
75
  setProgressPct(pct: number): void;
53
76
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
77
+ /**
78
+ * #property
79
+ */
54
80
  aborted: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
55
81
  name: import("mobx-state-tree").ISimpleType<string>;
56
82
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
57
83
  progressPct: import("mobx-state-tree").ISimpleType<number>;
58
84
  }, {
85
+ /**
86
+ * #stateModel JobsListModel
87
+ */
59
88
  cancelCallback(): void;
60
89
  } & {
61
90
  setCancelCallback(cancelCallback: () => void): void;
62
- setStatusMessage(message?: string | undefined): void;
91
+ setStatusMessage(message?: string | undefined): void; /**
92
+ * #property
93
+ */
63
94
  setProgressPct(pct: number): void;
64
95
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
65
96
  }, {
97
+ /**
98
+ * #action
99
+ */
66
100
  addJob(job: NewJob): {
67
101
  name: string;
68
102
  statusMessage: string | undefined;
69
103
  progressPct: number;
70
104
  } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
105
+ /**
106
+ * #stateModel JobsListModel
107
+ */
71
108
  cancelCallback(): void;
72
109
  } & {
73
110
  setCancelCallback(cancelCallback: () => void): void;
74
- setStatusMessage(message?: string | undefined): void;
111
+ setStatusMessage(message?: string | undefined): void; /**
112
+ * #property
113
+ */
75
114
  setProgressPct(pct: number): void;
76
115
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
77
116
  name: import("mobx-state-tree").ISimpleType<string>;
78
117
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
79
118
  progressPct: import("mobx-state-tree").ISimpleType<number>;
80
119
  }, {
120
+ /**
121
+ * #stateModel JobsListModel
122
+ */
81
123
  cancelCallback(): void;
82
124
  } & {
83
125
  setCancelCallback(cancelCallback: () => void): void;
84
- setStatusMessage(message?: string | undefined): void;
126
+ setStatusMessage(message?: string | undefined): void; /**
127
+ * #property
128
+ */
85
129
  setProgressPct(pct: number): void;
86
130
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
131
+ /**
132
+ * #action
133
+ */
87
134
  removeJob(jobName: string): {
88
135
  name: string;
89
136
  statusMessage: string | undefined;
90
137
  progressPct: number;
91
138
  } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
139
+ /**
140
+ * #stateModel JobsListModel
141
+ */
92
142
  cancelCallback(): void;
93
143
  } & {
94
144
  setCancelCallback(cancelCallback: () => void): void;
95
- setStatusMessage(message?: string | undefined): void;
145
+ setStatusMessage(message?: string | undefined): void; /**
146
+ * #property
147
+ */
96
148
  setProgressPct(pct: number): void;
97
149
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
98
150
  name: import("mobx-state-tree").ISimpleType<string>;
99
151
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
100
152
  progressPct: import("mobx-state-tree").ISimpleType<number>;
101
153
  }, {
154
+ /**
155
+ * #stateModel JobsListModel
156
+ */
102
157
  cancelCallback(): void;
103
158
  } & {
104
159
  setCancelCallback(cancelCallback: () => void): void;
105
- setStatusMessage(message?: string | undefined): void;
160
+ setStatusMessage(message?: string | undefined): void; /**
161
+ * #property
162
+ */
106
163
  setProgressPct(pct: number): void;
107
164
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
165
+ /**
166
+ * #action
167
+ */
108
168
  addFinishedJob(job: NewJob): import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
109
169
  name: import("mobx-state-tree").ISimpleType<string>;
110
170
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
111
171
  progressPct: import("mobx-state-tree").ISimpleType<number>;
112
172
  }, {
173
+ /**
174
+ * #stateModel JobsListModel
175
+ */
113
176
  cancelCallback(): void;
114
177
  } & {
115
178
  setCancelCallback(cancelCallback: () => void): void;
116
- setStatusMessage(message?: string | undefined): void;
179
+ setStatusMessage(message?: string | undefined): void; /**
180
+ * #property
181
+ */
117
182
  setProgressPct(pct: number): void;
118
183
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
119
184
  name: import("mobx-state-tree").ISimpleType<string>;
120
185
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
121
186
  progressPct: import("mobx-state-tree").ISimpleType<number>;
122
187
  }, {
188
+ /**
189
+ * #stateModel JobsListModel
190
+ */
123
191
  cancelCallback(): void;
124
192
  } & {
125
193
  setCancelCallback(cancelCallback: () => void): void;
126
- setStatusMessage(message?: string | undefined): void;
194
+ setStatusMessage(message?: string | undefined): void; /**
195
+ * #property
196
+ */
127
197
  setProgressPct(pct: number): void;
128
198
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
199
+ /**
200
+ * #action
201
+ */
129
202
  addQueuedJob(job: NewJob): import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
130
203
  name: import("mobx-state-tree").ISimpleType<string>;
131
204
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
132
205
  progressPct: import("mobx-state-tree").ISimpleType<number>;
133
206
  }, {
207
+ /**
208
+ * #stateModel JobsListModel
209
+ */
134
210
  cancelCallback(): void;
135
211
  } & {
136
212
  setCancelCallback(cancelCallback: () => void): void;
137
- setStatusMessage(message?: string | undefined): void;
213
+ setStatusMessage(message?: string | undefined): void; /**
214
+ * #property
215
+ */
138
216
  setProgressPct(pct: number): void;
139
217
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
140
218
  name: import("mobx-state-tree").ISimpleType<string>;
141
219
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
142
220
  progressPct: import("mobx-state-tree").ISimpleType<number>;
143
221
  }, {
222
+ /**
223
+ * #stateModel JobsListModel
224
+ */
144
225
  cancelCallback(): void;
145
226
  } & {
146
227
  setCancelCallback(cancelCallback: () => void): void;
147
- setStatusMessage(message?: string | undefined): void;
228
+ setStatusMessage(message?: string | undefined): void; /**
229
+ * #property
230
+ */
148
231
  setProgressPct(pct: number): void;
149
232
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
233
+ /**
234
+ * #action
235
+ */
150
236
  addAbortedJob(job: NewJob): import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
151
237
  name: import("mobx-state-tree").ISimpleType<string>;
152
238
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
153
239
  progressPct: import("mobx-state-tree").ISimpleType<number>;
154
240
  }, {
241
+ /**
242
+ * #stateModel JobsListModel
243
+ */
155
244
  cancelCallback(): void;
156
245
  } & {
157
246
  setCancelCallback(cancelCallback: () => void): void;
158
- setStatusMessage(message?: string | undefined): void;
247
+ setStatusMessage(message?: string | undefined): void; /**
248
+ * #property
249
+ */
159
250
  setProgressPct(pct: number): void;
160
251
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
161
252
  name: import("mobx-state-tree").ISimpleType<string>;
162
253
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
163
254
  progressPct: import("mobx-state-tree").ISimpleType<number>;
164
255
  }, {
256
+ /**
257
+ * #stateModel JobsListModel
258
+ */
165
259
  cancelCallback(): void;
166
260
  } & {
167
261
  setCancelCallback(cancelCallback: () => void): void;
168
- setStatusMessage(message?: string | undefined): void;
262
+ setStatusMessage(message?: string | undefined): void; /**
263
+ * #property
264
+ */
169
265
  setProgressPct(pct: number): void;
170
266
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
267
+ /**
268
+ * #action
269
+ */
171
270
  removeQueuedJob(jobName: string): {
172
271
  name: string;
173
272
  statusMessage: string | undefined;
174
273
  progressPct: number;
175
274
  } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
275
+ /**
276
+ * #stateModel JobsListModel
277
+ */
176
278
  cancelCallback(): void;
177
279
  } & {
178
280
  setCancelCallback(cancelCallback: () => void): void;
179
- setStatusMessage(message?: string | undefined): void;
281
+ setStatusMessage(message?: string | undefined): void; /**
282
+ * #property
283
+ */
180
284
  setProgressPct(pct: number): void;
181
285
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
182
286
  name: import("mobx-state-tree").ISimpleType<string>;
183
287
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
184
288
  progressPct: import("mobx-state-tree").ISimpleType<number>;
185
289
  }, {
290
+ /**
291
+ * #stateModel JobsListModel
292
+ */
186
293
  cancelCallback(): void;
187
294
  } & {
188
295
  setCancelCallback(cancelCallback: () => void): void;
189
- setStatusMessage(message?: string | undefined): void;
296
+ setStatusMessage(message?: string | undefined): void; /**
297
+ * #property
298
+ */
190
299
  setProgressPct(pct: number): void;
191
300
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
301
+ /**
302
+ * #action
303
+ */
192
304
  updateJobStatusMessage(jobName: string, message?: string): void;
305
+ /**
306
+ * #action
307
+ */
193
308
  updateJobProgressPct(jobName: string, pct: number): void;
194
309
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
195
- export type JobsListStateModel = ReturnType<typeof f>;
310
+ export type JobsListStateModel = ReturnType<typeof stateModelFactory>;
196
311
  export type JobsListModel = Instance<JobsListStateModel>;
@@ -1,36 +1,41 @@
1
1
  import { types } from 'mobx-state-tree';
2
2
  import { ElementId } from '@jbrowse/core/util/types/mst';
3
- export const Job = types
4
- .model('Job', {
5
- name: types.string,
6
- statusMessage: types.maybe(types.string),
7
- progressPct: types.number,
8
- })
9
- .volatile(() => ({
10
- cancelCallback() { },
11
- }))
12
- .actions(self => ({
13
- setCancelCallback(cancelCallback) {
14
- self.cancelCallback = cancelCallback;
15
- },
16
- setStatusMessage(message) {
17
- self.statusMessage = message;
18
- },
19
- setProgressPct(pct) {
20
- self.progressPct = pct;
21
- },
22
- }));
23
- export default function f(_pluginManager) {
3
+ import { Job } from './jobModel';
4
+ /**
5
+ * #stateModel JobsListModel
6
+ */
7
+ export function stateModelFactory(_pluginManager) {
24
8
  return types
25
9
  .model('JobsListModel', {
10
+ /**
11
+ * #property
12
+ */
26
13
  id: ElementId,
14
+ /**
15
+ * #property
16
+ */
27
17
  type: types.literal('JobsListWidget'),
18
+ /**
19
+ * #property
20
+ */
28
21
  jobs: types.array(Job),
22
+ /**
23
+ * #property
24
+ */
29
25
  finished: types.array(Job),
26
+ /**
27
+ * #property
28
+ */
30
29
  queued: types.array(Job),
30
+ /**
31
+ * #property
32
+ */
31
33
  aborted: types.array(Job),
32
34
  })
33
35
  .actions(self => ({
36
+ /**
37
+ * #action
38
+ */
34
39
  addJob(job) {
35
40
  const { cancelCallback } = job;
36
41
  const length = self.jobs.push(job);
@@ -38,30 +43,48 @@ export default function f(_pluginManager) {
38
43
  addedJob.setCancelCallback(cancelCallback);
39
44
  return addedJob;
40
45
  },
46
+ /**
47
+ * #action
48
+ */
41
49
  removeJob(jobName) {
42
50
  const indx = self.jobs.findIndex(job => job.name === jobName);
43
51
  const removed = self.jobs[indx];
44
52
  self.jobs.splice(indx, 1);
45
53
  return removed;
46
54
  },
55
+ /**
56
+ * #action
57
+ */
47
58
  addFinishedJob(job) {
48
59
  self.finished.push(job);
49
60
  return self.finished;
50
61
  },
62
+ /**
63
+ * #action
64
+ */
51
65
  addQueuedJob(job) {
52
66
  self.queued.push(job);
53
67
  return self.finished;
54
68
  },
69
+ /**
70
+ * #action
71
+ */
55
72
  addAbortedJob(job) {
56
73
  self.aborted.push(job);
57
74
  return self.aborted;
58
75
  },
76
+ /**
77
+ * #action
78
+ */
59
79
  removeQueuedJob(jobName) {
60
80
  const indx = self.queued.findIndex(job => job.name === jobName);
61
81
  const removed = self.queued[indx];
62
82
  self.queued.splice(indx, 1);
63
83
  return removed;
64
84
  },
85
+ /**
86
+ * #action
87
+ */
65
88
  updateJobStatusMessage(jobName, message) {
66
89
  const job = self.jobs.find(job => job.name === jobName);
67
90
  if (!job) {
@@ -69,6 +92,9 @@ export default function f(_pluginManager) {
69
92
  }
70
93
  job.setStatusMessage(message);
71
94
  },
95
+ /**
96
+ * #action
97
+ */
72
98
  updateJobProgressPct(jobName, pct) {
73
99
  const job = self.jobs.find(job => job.name === jobName);
74
100
  if (!job) {
package/esm/index.js CHANGED
@@ -1,31 +1,21 @@
1
- import { lazy } from 'react';
2
1
  import Plugin from '@jbrowse/core/Plugin';
3
2
  import { isAbstractMenuManager } from '@jbrowse/core/util';
4
3
  import { Indexing } from '@jbrowse/core/ui/Icons';
5
- import WidgetType from '@jbrowse/core/pluggableElementTypes/WidgetType';
6
- import { stateModelFactory as JobsListStateModelFactory, configSchema as JobsListConfigSchema, } from '../../jobs-management/src/JobsListWidget';
7
4
  import { isSessionModelWithWidgets } from '@jbrowse/core/util';
5
+ import JobsListWidgetF from './JobsListWidget';
8
6
  export default class extends Plugin {
9
7
  constructor() {
10
8
  super(...arguments);
11
9
  this.name = 'JobsManagementPlugin';
12
10
  }
13
11
  install(pluginManager) {
14
- pluginManager.addWidgetType(() => {
15
- return new WidgetType({
16
- name: 'JobsListWidget',
17
- heading: 'Jobs list',
18
- configSchema: JobsListConfigSchema,
19
- stateModel: JobsListStateModelFactory(pluginManager),
20
- ReactComponent: lazy(() => import('../../jobs-management/src/JobsListWidget/components/JobsListWidget')),
21
- });
22
- });
12
+ JobsListWidgetF(pluginManager);
23
13
  }
24
14
  configure(pluginManager) {
25
15
  if (isAbstractMenuManager(pluginManager.rootModel)) {
26
16
  pluginManager.rootModel.appendToMenu('Tools', {
27
17
  label: 'Jobs list',
28
- icon: Indexing,
18
+ icon: Indexing, // TODO: pick a better icon
29
19
  onClick: (session) => {
30
20
  if (isSessionModelWithWidgets(session)) {
31
21
  const { widgets } = session;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/plugin-jobs-management",
3
- "version": "2.8.0",
3
+ "version": "2.10.0",
4
4
  "description": "JBrowse 2 jobs management",
5
5
  "keywords": [
6
6
  "jbrowse",
@@ -36,7 +36,7 @@
36
36
  "clean": "rimraf dist esm *.tsbuildinfo"
37
37
  },
38
38
  "dependencies": {
39
- "@jbrowse/text-indexing": "^2.8.0",
39
+ "@jbrowse/text-indexing": "^2.10.0",
40
40
  "@mui/icons-material": "^5.0.0"
41
41
  },
42
42
  "peerDependencies": {
@@ -54,5 +54,5 @@
54
54
  "publishConfig": {
55
55
  "access": "public"
56
56
  },
57
- "gitHead": "ee8c2bdc8bd4f1a70b1eefda984f04a2830d9ca0"
57
+ "gitHead": "223d8bfb68fd1bacaf22852639ad5920f1b7f43b"
58
58
  }