@jbrowse/plugin-jobs-management 3.0.0 → 3.0.2

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.
@@ -95,17 +95,17 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
95
95
  setStatusMessage(message?: string): void;
96
96
  setProgressPct(pct: number): void;
97
97
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined;
98
- addFinishedJob(job: NewJob): import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
99
- name: import("mobx-state-tree").ISimpleType<string>;
100
- statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
101
- progressPct: import("mobx-state-tree").ISimpleType<number>;
102
- }, {
98
+ addFinishedJob(job: NewJob): ({
99
+ name: string;
100
+ statusMessage: string | undefined;
101
+ progressPct: number;
102
+ } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
103
103
  cancelCallback(): void;
104
104
  } & {
105
105
  setCancelCallback(cancelCallback: () => void): void;
106
106
  setStatusMessage(message?: string): void;
107
107
  setProgressPct(pct: number): void;
108
- }, 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<{
108
+ } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
109
109
  name: import("mobx-state-tree").ISimpleType<string>;
110
110
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
111
111
  progressPct: import("mobx-state-tree").ISimpleType<number>;
@@ -115,18 +115,18 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
115
115
  setCancelCallback(cancelCallback: () => void): void;
116
116
  setStatusMessage(message?: string): void;
117
117
  setProgressPct(pct: number): void;
118
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
119
- addQueuedJob(job: NewJob): import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
120
- name: import("mobx-state-tree").ISimpleType<string>;
121
- statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
122
- progressPct: import("mobx-state-tree").ISimpleType<number>;
123
- }, {
118
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined;
119
+ addQueuedJob(job: NewJob): ({
120
+ name: string;
121
+ statusMessage: string | undefined;
122
+ progressPct: number;
123
+ } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
124
124
  cancelCallback(): void;
125
125
  } & {
126
126
  setCancelCallback(cancelCallback: () => void): void;
127
127
  setStatusMessage(message?: string): void;
128
128
  setProgressPct(pct: number): void;
129
- }, 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<{
129
+ } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
130
130
  name: import("mobx-state-tree").ISimpleType<string>;
131
131
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
132
132
  progressPct: import("mobx-state-tree").ISimpleType<number>;
@@ -136,18 +136,18 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
136
136
  setCancelCallback(cancelCallback: () => void): void;
137
137
  setStatusMessage(message?: string): void;
138
138
  setProgressPct(pct: number): void;
139
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
140
- addAbortedJob(job: NewJob): import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
141
- name: import("mobx-state-tree").ISimpleType<string>;
142
- statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
143
- progressPct: import("mobx-state-tree").ISimpleType<number>;
144
- }, {
139
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined;
140
+ addAbortedJob(job: NewJob): ({
141
+ name: string;
142
+ statusMessage: string | undefined;
143
+ progressPct: number;
144
+ } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
145
145
  cancelCallback(): void;
146
146
  } & {
147
147
  setCancelCallback(cancelCallback: () => void): void;
148
148
  setStatusMessage(message?: string): void;
149
149
  setProgressPct(pct: number): void;
150
- }, 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<{
150
+ } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
151
151
  name: import("mobx-state-tree").ISimpleType<string>;
152
152
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
153
153
  progressPct: import("mobx-state-tree").ISimpleType<number>;
@@ -157,7 +157,7 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
157
157
  setCancelCallback(cancelCallback: () => void): void;
158
158
  setStatusMessage(message?: string): void;
159
159
  setProgressPct(pct: number): void;
160
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
160
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined;
161
161
  removeQueuedJob(jobName: string): ({
162
162
  name: string;
163
163
  statusMessage: string | undefined;
@@ -16,7 +16,11 @@ function stateModelFactory(_pluginManager) {
16
16
  })
17
17
  .actions(self => ({
18
18
  addJob(job) {
19
- const { cancelCallback } = job;
19
+ const { cancelCallback, name } = job;
20
+ const existing = self.jobs.find(job => job.name === name);
21
+ if (existing) {
22
+ return existing;
23
+ }
20
24
  const length = self.jobs.push(job);
21
25
  const addedJob = self.jobs[length - 1];
22
26
  addedJob.setCancelCallback(cancelCallback);
@@ -24,27 +28,43 @@ function stateModelFactory(_pluginManager) {
24
28
  },
25
29
  removeJob(jobName) {
26
30
  const indx = self.jobs.findIndex(job => job.name === jobName);
27
- const removed = self.jobs[indx];
28
- self.jobs.splice(indx, 1);
29
- return removed;
31
+ if (indx === -1) {
32
+ return undefined;
33
+ }
34
+ const removed = self.jobs.splice(indx, 1);
35
+ return removed[0];
30
36
  },
31
37
  addFinishedJob(job) {
32
- self.finished.push(job);
33
- return self.finished;
38
+ const existing = self.finished.find(finishedJob => finishedJob.name === job.name);
39
+ if (existing) {
40
+ return existing;
41
+ }
42
+ const length = self.finished.push(job);
43
+ return self.finished[length - 1];
34
44
  },
35
45
  addQueuedJob(job) {
36
- self.queued.push(job);
37
- return self.finished;
46
+ const existing = self.queued.find(queuedJob => queuedJob.name === job.name);
47
+ if (existing) {
48
+ return existing;
49
+ }
50
+ const length = self.queued.push(job);
51
+ return self.queued[length - 1];
38
52
  },
39
53
  addAbortedJob(job) {
40
- self.aborted.push(job);
41
- return self.aborted;
54
+ const existing = self.aborted.find(abortedJob => abortedJob.name === job.name);
55
+ if (existing) {
56
+ return existing;
57
+ }
58
+ const length = self.aborted.push(job);
59
+ return self.aborted[length - 1];
42
60
  },
43
61
  removeQueuedJob(jobName) {
44
62
  const indx = self.queued.findIndex(job => job.name === jobName);
45
- const removed = self.queued[indx];
46
- self.queued.splice(indx, 1);
47
- return removed;
63
+ if (indx === -1) {
64
+ return undefined;
65
+ }
66
+ const removed = self.queued.splice(indx, 1);
67
+ return removed[0];
48
68
  },
49
69
  updateJobStatusMessage(jobName, message) {
50
70
  const job = self.jobs.find(job => job.name === jobName);
@@ -95,17 +95,17 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
95
95
  setStatusMessage(message?: string): void;
96
96
  setProgressPct(pct: number): void;
97
97
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined;
98
- addFinishedJob(job: NewJob): import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
99
- name: import("mobx-state-tree").ISimpleType<string>;
100
- statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
101
- progressPct: import("mobx-state-tree").ISimpleType<number>;
102
- }, {
98
+ addFinishedJob(job: NewJob): ({
99
+ name: string;
100
+ statusMessage: string | undefined;
101
+ progressPct: number;
102
+ } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
103
103
  cancelCallback(): void;
104
104
  } & {
105
105
  setCancelCallback(cancelCallback: () => void): void;
106
106
  setStatusMessage(message?: string): void;
107
107
  setProgressPct(pct: number): void;
108
- }, 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<{
108
+ } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
109
109
  name: import("mobx-state-tree").ISimpleType<string>;
110
110
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
111
111
  progressPct: import("mobx-state-tree").ISimpleType<number>;
@@ -115,18 +115,18 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
115
115
  setCancelCallback(cancelCallback: () => void): void;
116
116
  setStatusMessage(message?: string): void;
117
117
  setProgressPct(pct: number): void;
118
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
119
- addQueuedJob(job: NewJob): import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
120
- name: import("mobx-state-tree").ISimpleType<string>;
121
- statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
122
- progressPct: import("mobx-state-tree").ISimpleType<number>;
123
- }, {
118
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined;
119
+ addQueuedJob(job: NewJob): ({
120
+ name: string;
121
+ statusMessage: string | undefined;
122
+ progressPct: number;
123
+ } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
124
124
  cancelCallback(): void;
125
125
  } & {
126
126
  setCancelCallback(cancelCallback: () => void): void;
127
127
  setStatusMessage(message?: string): void;
128
128
  setProgressPct(pct: number): void;
129
- }, 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<{
129
+ } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
130
130
  name: import("mobx-state-tree").ISimpleType<string>;
131
131
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
132
132
  progressPct: import("mobx-state-tree").ISimpleType<number>;
@@ -136,18 +136,18 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
136
136
  setCancelCallback(cancelCallback: () => void): void;
137
137
  setStatusMessage(message?: string): void;
138
138
  setProgressPct(pct: number): void;
139
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
140
- addAbortedJob(job: NewJob): import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
141
- name: import("mobx-state-tree").ISimpleType<string>;
142
- statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
143
- progressPct: import("mobx-state-tree").ISimpleType<number>;
144
- }, {
139
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined;
140
+ addAbortedJob(job: NewJob): ({
141
+ name: string;
142
+ statusMessage: string | undefined;
143
+ progressPct: number;
144
+ } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
145
145
  cancelCallback(): void;
146
146
  } & {
147
147
  setCancelCallback(cancelCallback: () => void): void;
148
148
  setStatusMessage(message?: string): void;
149
149
  setProgressPct(pct: number): void;
150
- }, 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<{
150
+ } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
151
151
  name: import("mobx-state-tree").ISimpleType<string>;
152
152
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
153
153
  progressPct: import("mobx-state-tree").ISimpleType<number>;
@@ -157,7 +157,7 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
157
157
  setCancelCallback(cancelCallback: () => void): void;
158
158
  setStatusMessage(message?: string): void;
159
159
  setProgressPct(pct: number): void;
160
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
160
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined;
161
161
  removeQueuedJob(jobName: string): ({
162
162
  name: string;
163
163
  statusMessage: string | undefined;
@@ -13,7 +13,11 @@ export function stateModelFactory(_pluginManager) {
13
13
  })
14
14
  .actions(self => ({
15
15
  addJob(job) {
16
- const { cancelCallback } = job;
16
+ const { cancelCallback, name } = job;
17
+ const existing = self.jobs.find(job => job.name === name);
18
+ if (existing) {
19
+ return existing;
20
+ }
17
21
  const length = self.jobs.push(job);
18
22
  const addedJob = self.jobs[length - 1];
19
23
  addedJob.setCancelCallback(cancelCallback);
@@ -21,27 +25,43 @@ export function stateModelFactory(_pluginManager) {
21
25
  },
22
26
  removeJob(jobName) {
23
27
  const indx = self.jobs.findIndex(job => job.name === jobName);
24
- const removed = self.jobs[indx];
25
- self.jobs.splice(indx, 1);
26
- return removed;
28
+ if (indx === -1) {
29
+ return undefined;
30
+ }
31
+ const removed = self.jobs.splice(indx, 1);
32
+ return removed[0];
27
33
  },
28
34
  addFinishedJob(job) {
29
- self.finished.push(job);
30
- return self.finished;
35
+ const existing = self.finished.find(finishedJob => finishedJob.name === job.name);
36
+ if (existing) {
37
+ return existing;
38
+ }
39
+ const length = self.finished.push(job);
40
+ return self.finished[length - 1];
31
41
  },
32
42
  addQueuedJob(job) {
33
- self.queued.push(job);
34
- return self.finished;
43
+ const existing = self.queued.find(queuedJob => queuedJob.name === job.name);
44
+ if (existing) {
45
+ return existing;
46
+ }
47
+ const length = self.queued.push(job);
48
+ return self.queued[length - 1];
35
49
  },
36
50
  addAbortedJob(job) {
37
- self.aborted.push(job);
38
- return self.aborted;
51
+ const existing = self.aborted.find(abortedJob => abortedJob.name === job.name);
52
+ if (existing) {
53
+ return existing;
54
+ }
55
+ const length = self.aborted.push(job);
56
+ return self.aborted[length - 1];
39
57
  },
40
58
  removeQueuedJob(jobName) {
41
59
  const indx = self.queued.findIndex(job => job.name === jobName);
42
- const removed = self.queued[indx];
43
- self.queued.splice(indx, 1);
44
- return removed;
60
+ if (indx === -1) {
61
+ return undefined;
62
+ }
63
+ const removed = self.queued.splice(indx, 1);
64
+ return removed[0];
45
65
  },
46
66
  updateJobStatusMessage(jobName, message) {
47
67
  const job = self.jobs.find(job => job.name === jobName);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/plugin-jobs-management",
3
- "version": "3.0.0",
3
+ "version": "3.0.2",
4
4
  "description": "JBrowse 2 jobs management",
5
5
  "keywords": [
6
6
  "jbrowse",
@@ -36,23 +36,23 @@
36
36
  "clean": "rimraf dist esm *.tsbuildinfo"
37
37
  },
38
38
  "dependencies": {
39
- "@jbrowse/text-indexing": "^3.0.0",
40
- "@mui/icons-material": "^6.0.0"
41
- },
42
- "peerDependencies": {
43
- "@jbrowse/core": "^2.0.0",
39
+ "@jbrowse/core": "^3.0.2",
40
+ "@jbrowse/text-indexing": "^3.0.2",
41
+ "@mui/icons-material": "^6.0.0",
44
42
  "@mui/material": "^6.0.0",
45
43
  "mobx": "^6.0.0",
46
44
  "mobx-react": "^9.0.0",
47
45
  "mobx-state-tree": "^5.0.0",
48
- "react": ">=16.8.0",
49
46
  "tss-react": "^4.0.0"
50
47
  },
48
+ "peerDependencies": {
49
+ "react": ">=18.0.0"
50
+ },
51
51
  "distModule": "esm/index.js",
52
52
  "srcModule": "src/index.ts",
53
53
  "module": "esm/index.js",
54
54
  "publishConfig": {
55
55
  "access": "public"
56
56
  },
57
- "gitHead": "2c6897f1fa732b1db5b094d1dca197e333e95319"
57
+ "gitHead": "c01a35edcb2612e94661af8793f09c95c0b13c75"
58
58
  }