@jbrowse/plugin-jobs-management 2.17.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
- import { NewJob } from '../model';
1
+ import type { NewJob } from '../model';
3
2
  declare const CurrentJobCard: ({ job, }: {
4
3
  job: NewJob;
5
- }) => React.JSX.Element;
4
+ }) => import("react/jsx-runtime").JSX.Element;
6
5
  export default CurrentJobCard;
@@ -1,58 +1,21 @@
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
  Object.defineProperty(exports, "__esModule", { value: true });
26
- const react_1 = __importStar(require("react"));
27
- const mobx_react_1 = require("mobx-react");
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const react_1 = require("react");
28
5
  const material_1 = require("@mui/material");
6
+ const mobx_react_1 = require("mobx-react");
29
7
  const CurrentJobCard = (0, mobx_react_1.observer)(function CurrentJobCard({ job, }) {
30
8
  const [clicked, setClicked] = (0, react_1.useState)(false);
31
- return (react_1.default.createElement(material_1.Card, { variant: "outlined" },
32
- react_1.default.createElement(material_1.CardContent, null,
33
- react_1.default.createElement(material_1.Typography, { variant: "body1" },
34
- react_1.default.createElement("strong", null, 'Name: '),
35
- job.name),
36
- react_1.default.createElement(material_1.Typography, { variant: "body1" },
37
- react_1.default.createElement("strong", null, 'Message: '),
38
- job.statusMessage || 'No message provided'),
39
- react_1.default.createElement(material_1.Box, { sx: {
40
- display: 'flex',
41
- alignItems: 'center',
42
- marginTop: 10,
43
- marginBottom: 10,
44
- marginLeft: 10,
45
- } }, job.progressPct === 0 || job.progressPct === 100 ? (react_1.default.createElement(material_1.Box, { sx: { width: '100%' } },
46
- react_1.default.createElement(material_1.LinearProgress, { variant: "indeterminate" }))) : (react_1.default.createElement(react_1.default.Fragment, null,
47
- react_1.default.createElement(material_1.Box, { sx: { width: '100%' } },
48
- react_1.default.createElement(material_1.LinearProgress, { variant: "determinate", value: job.progressPct })),
49
- react_1.default.createElement(material_1.Box, { sx: { m: 1 } },
50
- react_1.default.createElement(material_1.Typography, null, `${Math.round(job.progressPct || 0)}%`)))))),
51
- react_1.default.createElement(material_1.CardActions, null,
52
- react_1.default.createElement(material_1.Button, { variant: "contained", color: "inherit", disabled: clicked || job.progressPct === 0, onClick: () => {
53
- job.setStatusMessage('Aborted via cancel button');
54
- job.cancelCallback();
55
- setClicked(true);
56
- } }, "Cancel"))));
9
+ return ((0, jsx_runtime_1.jsxs)(material_1.Card, { variant: "outlined", children: [(0, jsx_runtime_1.jsxs)(material_1.CardContent, { children: [(0, jsx_runtime_1.jsxs)(material_1.Typography, { variant: "body1", children: [(0, jsx_runtime_1.jsx)("strong", { children: 'Name: ' }), job.name] }), (0, jsx_runtime_1.jsxs)(material_1.Typography, { variant: "body1", children: [(0, jsx_runtime_1.jsx)("strong", { children: 'Message: ' }), job.statusMessage || 'No message provided'] }), (0, jsx_runtime_1.jsx)(material_1.Box, { sx: {
10
+ display: 'flex',
11
+ alignItems: 'center',
12
+ marginTop: 10,
13
+ marginBottom: 10,
14
+ marginLeft: 10,
15
+ }, children: job.progressPct === 0 || job.progressPct === 100 ? ((0, jsx_runtime_1.jsx)(material_1.Box, { sx: { width: '100%' }, children: (0, jsx_runtime_1.jsx)(material_1.LinearProgress, { variant: "indeterminate" }) })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Box, { sx: { width: '100%' }, children: (0, jsx_runtime_1.jsx)(material_1.LinearProgress, { variant: "determinate", value: job.progressPct }) }), (0, jsx_runtime_1.jsx)(material_1.Box, { sx: { m: 1 }, children: (0, jsx_runtime_1.jsx)(material_1.Typography, { children: `${Math.round(job.progressPct || 0)}%` }) })] })) })] }), (0, jsx_runtime_1.jsx)(material_1.CardActions, { children: (0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", color: "inherit", disabled: clicked || job.progressPct === 0, onClick: () => {
16
+ job.setStatusMessage('Aborted via cancel button');
17
+ job.cancelCallback();
18
+ setClicked(true);
19
+ }, children: "Cancel" }) })] }));
57
20
  });
58
21
  exports.default = CurrentJobCard;
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
- import { NewJob } from '../model';
1
+ import type { NewJob } from '../model';
3
2
  declare const JobCard: ({ job }: {
4
3
  job: NewJob;
5
- }) => React.JSX.Element;
4
+ }) => import("react/jsx-runtime").JSX.Element;
6
5
  export default JobCard;
@@ -1,19 +1,9 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const mobx_react_1 = require("mobx-react");
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
4
  const material_1 = require("@mui/material");
5
+ const mobx_react_1 = require("mobx-react");
9
6
  const JobCard = (0, mobx_react_1.observer)(function JobCard({ job }) {
10
- return (react_1.default.createElement(material_1.Card, { variant: "outlined" },
11
- react_1.default.createElement(material_1.CardContent, null,
12
- react_1.default.createElement(material_1.Typography, { variant: "body1" },
13
- react_1.default.createElement("strong", null, 'Name: '),
14
- job.name),
15
- job.statusMessage ? (react_1.default.createElement(material_1.Typography, { variant: "body1" },
16
- react_1.default.createElement("strong", null, 'Message: '),
17
- job.statusMessage)) : null)));
7
+ return ((0, jsx_runtime_1.jsx)(material_1.Card, { variant: "outlined", children: (0, jsx_runtime_1.jsxs)(material_1.CardContent, { children: [(0, jsx_runtime_1.jsxs)(material_1.Typography, { variant: "body1", children: [(0, jsx_runtime_1.jsx)("strong", { children: 'Name: ' }), job.name] }), job.statusMessage ? ((0, jsx_runtime_1.jsxs)(material_1.Typography, { variant: "body1", children: [(0, jsx_runtime_1.jsx)("strong", { children: 'Message: ' }), job.statusMessage] })) : null] }) }));
18
8
  });
19
9
  exports.default = JobCard;
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
- import { JobsListModel } from '../model';
1
+ import type { JobsListModel } from '../model';
3
2
  declare const JobsListWidget: ({ model }: {
4
3
  model: JobsListModel;
5
- }) => React.JSX.Element;
4
+ }) => import("react/jsx-runtime").JSX.Element;
6
5
  export default JobsListWidget;
@@ -3,14 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
6
+ const jsx_runtime_1 = require("react/jsx-runtime");
7
+ const ExpandMore_1 = __importDefault(require("@mui/icons-material/ExpandMore"));
7
8
  const material_1 = require("@mui/material");
8
- const mui_1 = require("tss-react/mui");
9
9
  const mobx_react_1 = require("mobx-react");
10
- // icons
11
- const ExpandMore_1 = __importDefault(require("@mui/icons-material/ExpandMore"));
12
- const JobCard_1 = __importDefault(require("./JobCard"));
10
+ const mui_1 = require("tss-react/mui");
13
11
  const CurrentJobCard_1 = __importDefault(require("./CurrentJobCard"));
12
+ const JobCard_1 = __importDefault(require("./JobCard"));
14
13
  const useStyles = (0, mui_1.makeStyles)()(theme => ({
15
14
  root: {
16
15
  margin: theme.spacing(1),
@@ -22,30 +21,6 @@ const useStyles = (0, mui_1.makeStyles)()(theme => ({
22
21
  const JobsListWidget = (0, mobx_react_1.observer)(function ({ model }) {
23
22
  const { classes } = useStyles();
24
23
  const { jobs, finished, queued, aborted } = model;
25
- return (react_1.default.createElement("div", { className: classes.root },
26
- react_1.default.createElement(material_1.Accordion, { defaultExpanded: true },
27
- react_1.default.createElement(material_1.AccordionSummary, { expandIcon: react_1.default.createElement(ExpandMore_1.default, { className: classes.expandIcon }) },
28
- react_1.default.createElement(material_1.Typography, { variant: "h5" }, "Running jobs")),
29
- jobs.length ? (jobs.map((job, index) => (react_1.default.createElement(CurrentJobCard_1.default, { job: job, key: `${JSON.stringify(job)}-${index}` })))) : (react_1.default.createElement(material_1.Card, { variant: "outlined" },
30
- react_1.default.createElement(material_1.CardContent, null,
31
- react_1.default.createElement(material_1.Typography, { variant: "body1" }, "No running jobs"))))),
32
- react_1.default.createElement(material_1.Accordion, { defaultExpanded: true },
33
- react_1.default.createElement(material_1.AccordionSummary, { expandIcon: react_1.default.createElement(ExpandMore_1.default, { className: classes.expandIcon }) },
34
- react_1.default.createElement(material_1.Typography, { variant: "h5" }, "Queued jobs")),
35
- queued.length ? (queued.map((job, index) => (react_1.default.createElement(JobCard_1.default, { job: job, key: `${JSON.stringify(job)}-${index}` })))) : (react_1.default.createElement(material_1.Card, { variant: "outlined" },
36
- react_1.default.createElement(material_1.CardContent, null,
37
- react_1.default.createElement(material_1.Typography, { variant: "body1" }, "No queued jobs"))))),
38
- react_1.default.createElement(material_1.Accordion, { defaultExpanded: true },
39
- react_1.default.createElement(material_1.AccordionSummary, { expandIcon: react_1.default.createElement(ExpandMore_1.default, { className: classes.expandIcon }) },
40
- react_1.default.createElement(material_1.Typography, { variant: "h5" }, "Completed jobs")),
41
- finished.length ? (finished.map((job, index) => (react_1.default.createElement(JobCard_1.default, { key: `${JSON.stringify(job)}-${index}`, job: job })))) : (react_1.default.createElement(material_1.Card, { variant: "outlined" },
42
- react_1.default.createElement(material_1.CardContent, null,
43
- react_1.default.createElement(material_1.Typography, { variant: "body1" }, "No completed jobs"))))),
44
- react_1.default.createElement(material_1.Accordion, { defaultExpanded: true },
45
- react_1.default.createElement(material_1.AccordionSummary, { expandIcon: react_1.default.createElement(ExpandMore_1.default, { className: classes.expandIcon }) },
46
- react_1.default.createElement(material_1.Typography, { variant: "h5" }, "Aborted jobs")),
47
- aborted.length ? (aborted.map((job, index) => (react_1.default.createElement(JobCard_1.default, { key: `${JSON.stringify(job)}-${index}`, job: job })))) : (react_1.default.createElement(material_1.Card, { variant: "outlined" },
48
- react_1.default.createElement(material_1.CardContent, null,
49
- react_1.default.createElement(material_1.Typography, { variant: "body1" }, "No aborted jobs")))))));
24
+ return ((0, jsx_runtime_1.jsxs)("div", { className: classes.root, children: [(0, jsx_runtime_1.jsxs)(material_1.Accordion, { defaultExpanded: true, children: [(0, jsx_runtime_1.jsx)(material_1.AccordionSummary, { expandIcon: (0, jsx_runtime_1.jsx)(ExpandMore_1.default, { className: classes.expandIcon }), children: (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "h5", children: "Running jobs" }) }), jobs.length ? (jobs.map((job, index) => ((0, jsx_runtime_1.jsx)(CurrentJobCard_1.default, { job: job }, `${JSON.stringify(job)}-${index}`)))) : ((0, jsx_runtime_1.jsx)(material_1.Card, { variant: "outlined", children: (0, jsx_runtime_1.jsx)(material_1.CardContent, { children: (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "body1", children: "No running jobs" }) }) }))] }), (0, jsx_runtime_1.jsxs)(material_1.Accordion, { defaultExpanded: true, children: [(0, jsx_runtime_1.jsx)(material_1.AccordionSummary, { expandIcon: (0, jsx_runtime_1.jsx)(ExpandMore_1.default, { className: classes.expandIcon }), children: (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "h5", children: "Queued jobs" }) }), queued.length ? (queued.map((job, index) => ((0, jsx_runtime_1.jsx)(JobCard_1.default, { job: job }, `${JSON.stringify(job)}-${index}`)))) : ((0, jsx_runtime_1.jsx)(material_1.Card, { variant: "outlined", children: (0, jsx_runtime_1.jsx)(material_1.CardContent, { children: (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "body1", children: "No queued jobs" }) }) }))] }), (0, jsx_runtime_1.jsxs)(material_1.Accordion, { defaultExpanded: true, children: [(0, jsx_runtime_1.jsx)(material_1.AccordionSummary, { expandIcon: (0, jsx_runtime_1.jsx)(ExpandMore_1.default, { className: classes.expandIcon }), children: (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "h5", children: "Completed jobs" }) }), finished.length ? (finished.map((job, index) => ((0, jsx_runtime_1.jsx)(JobCard_1.default, { job: job }, `${JSON.stringify(job)}-${index}`)))) : ((0, jsx_runtime_1.jsx)(material_1.Card, { variant: "outlined", children: (0, jsx_runtime_1.jsx)(material_1.CardContent, { children: (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "body1", children: "No completed jobs" }) }) }))] }), (0, jsx_runtime_1.jsxs)(material_1.Accordion, { defaultExpanded: true, children: [(0, jsx_runtime_1.jsx)(material_1.AccordionSummary, { expandIcon: (0, jsx_runtime_1.jsx)(ExpandMore_1.default, { className: classes.expandIcon }), children: (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "h5", children: "Aborted jobs" }) }), aborted.length ? (aborted.map((job, index) => ((0, jsx_runtime_1.jsx)(JobCard_1.default, { job: job }, `${JSON.stringify(job)}-${index}`)))) : ((0, jsx_runtime_1.jsx)(material_1.Card, { variant: "outlined", children: (0, jsx_runtime_1.jsx)(material_1.CardContent, { children: (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "body1", children: "No aborted jobs" }) }) }))] })] }));
50
25
  });
51
26
  exports.default = JobsListWidget;
@@ -1,3 +1,3 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  export declare const configSchema: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
3
3
  export default function JobsListWidgetF(pluginManager: PluginManager): void;
@@ -15,19 +15,29 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
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
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.configSchema = void 0;
27
37
  exports.default = JobsListWidgetF;
38
+ const react_1 = require("react");
28
39
  const configuration_1 = require("@jbrowse/core/configuration");
29
40
  const pluggableElementTypes_1 = require("@jbrowse/core/pluggableElementTypes");
30
- const react_1 = require("react");
31
41
  const model_1 = require("./model");
32
42
  exports.configSchema = (0, configuration_1.ConfigurationSchema)('JobsListWidget', {});
33
43
  function JobsListWidgetF(pluginManager) {
@@ -1,32 +1,11 @@
1
- /**
2
- * #stateModel
3
- */
4
1
  export declare const Job: import("mobx-state-tree").IModelType<{
5
- /**
6
- * #property
7
- */
8
2
  name: import("mobx-state-tree").ISimpleType<string>;
9
- /**
10
- * #property
11
- */
12
3
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
13
- /**
14
- * #property
15
- */
16
4
  progressPct: import("mobx-state-tree").ISimpleType<number>;
17
5
  }, {
18
6
  cancelCallback(): void;
19
7
  } & {
20
- /**
21
- * #action
22
- */
23
8
  setCancelCallback(cancelCallback: () => void): void;
24
- /**
25
- * #action
26
- */
27
9
  setStatusMessage(message?: string): void;
28
- /**
29
- * #action
30
- */
31
10
  setProgressPct(pct: number): void;
32
11
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
@@ -2,43 +2,22 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Job = void 0;
4
4
  const mobx_state_tree_1 = require("mobx-state-tree");
5
- /**
6
- * #stateModel
7
- */
8
5
  exports.Job = mobx_state_tree_1.types
9
6
  .model('Job', {
10
- /**
11
- * #property
12
- */
13
7
  name: mobx_state_tree_1.types.string,
14
- /**
15
- * #property
16
- */
17
8
  statusMessage: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
18
- /**
19
- * #property
20
- */
21
9
  progressPct: mobx_state_tree_1.types.number,
22
10
  })
23
11
  .volatile(() => ({
24
12
  cancelCallback() { },
25
13
  }))
26
14
  .actions(self => ({
27
- /**
28
- * #action
29
- */
30
15
  setCancelCallback(cancelCallback) {
31
16
  self.cancelCallback = cancelCallback;
32
17
  },
33
- /**
34
- * #action
35
- */
36
18
  setStatusMessage(message) {
37
19
  self.statusMessage = message;
38
20
  },
39
- /**
40
- * #action
41
- */
42
21
  setProgressPct(pct) {
43
22
  self.progressPct = pct;
44
23
  },
@@ -1,25 +1,13 @@
1
- import { Instance, SnapshotIn } from 'mobx-state-tree';
2
- import PluginManager from '@jbrowse/core/PluginManager';
3
1
  import { Job } from './jobModel';
2
+ import type PluginManager from '@jbrowse/core/PluginManager';
3
+ import type { Instance, SnapshotIn } from 'mobx-state-tree';
4
4
  export interface NewJob extends SnapshotIn<typeof Job> {
5
5
  cancelCallback(): void;
6
6
  setStatusMessage(msg?: string): void;
7
7
  }
8
- /**
9
- * #stateModel JobsListModel
10
- */
11
8
  export declare function stateModelFactory(_pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
12
- /**
13
- * #property
14
- */
15
9
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
16
- /**
17
- * #property
18
- */
19
10
  type: import("mobx-state-tree").ISimpleType<"JobsListWidget">;
20
- /**
21
- * #property
22
- */
23
11
  jobs: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
24
12
  name: import("mobx-state-tree").ISimpleType<string>;
25
13
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
@@ -31,9 +19,6 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
31
19
  setStatusMessage(message?: string): void;
32
20
  setProgressPct(pct: number): void;
33
21
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
34
- /**
35
- * #property
36
- */
37
22
  finished: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
38
23
  name: import("mobx-state-tree").ISimpleType<string>;
39
24
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
@@ -45,9 +30,6 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
45
30
  setStatusMessage(message?: string): void;
46
31
  setProgressPct(pct: number): void;
47
32
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
48
- /**
49
- * #property
50
- */
51
33
  queued: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
52
34
  name: import("mobx-state-tree").ISimpleType<string>;
53
35
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
@@ -59,9 +41,6 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
59
41
  setStatusMessage(message?: string): void;
60
42
  setProgressPct(pct: number): void;
61
43
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
62
- /**
63
- * #property
64
- */
65
44
  aborted: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
66
45
  name: import("mobx-state-tree").ISimpleType<string>;
67
46
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
@@ -74,9 +53,6 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
74
53
  setProgressPct(pct: number): void;
75
54
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
76
55
  }, {
77
- /**
78
- * #action
79
- */
80
56
  addJob(job: NewJob): {
81
57
  name: string;
82
58
  statusMessage: string | undefined;
@@ -98,9 +74,6 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
98
74
  setStatusMessage(message?: string): void;
99
75
  setProgressPct(pct: number): void;
100
76
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
101
- /**
102
- * #action
103
- */
104
77
  removeJob(jobName: string): ({
105
78
  name: string;
106
79
  statusMessage: string | undefined;
@@ -122,9 +95,6 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
122
95
  setStatusMessage(message?: string): void;
123
96
  setProgressPct(pct: number): void;
124
97
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined;
125
- /**
126
- * #action
127
- */
128
98
  addFinishedJob(job: NewJob): import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
129
99
  name: import("mobx-state-tree").ISimpleType<string>;
130
100
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
@@ -146,9 +116,6 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
146
116
  setStatusMessage(message?: string): void;
147
117
  setProgressPct(pct: number): void;
148
118
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
149
- /**
150
- * #action
151
- */
152
119
  addQueuedJob(job: NewJob): import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
153
120
  name: import("mobx-state-tree").ISimpleType<string>;
154
121
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
@@ -170,9 +137,6 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
170
137
  setStatusMessage(message?: string): void;
171
138
  setProgressPct(pct: number): void;
172
139
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
173
- /**
174
- * #action
175
- */
176
140
  addAbortedJob(job: NewJob): import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
177
141
  name: import("mobx-state-tree").ISimpleType<string>;
178
142
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
@@ -194,9 +158,6 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
194
158
  setStatusMessage(message?: string): void;
195
159
  setProgressPct(pct: number): void;
196
160
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
197
- /**
198
- * #action
199
- */
200
161
  removeQueuedJob(jobName: string): ({
201
162
  name: string;
202
163
  statusMessage: string | undefined;
@@ -218,13 +179,7 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
218
179
  setStatusMessage(message?: string): void;
219
180
  setProgressPct(pct: number): void;
220
181
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined;
221
- /**
222
- * #action
223
- */
224
182
  updateJobStatusMessage(jobName: string, message?: string): void;
225
- /**
226
- * #action
227
- */
228
183
  updateJobProgressPct(jobName: string, pct: number): void;
229
184
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
230
185
  export type JobsListStateModel = ReturnType<typeof stateModelFactory>;
@@ -1,44 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.stateModelFactory = stateModelFactory;
4
- const mobx_state_tree_1 = require("mobx-state-tree");
5
4
  const mst_1 = require("@jbrowse/core/util/types/mst");
5
+ const mobx_state_tree_1 = require("mobx-state-tree");
6
6
  const jobModel_1 = require("./jobModel");
7
- /**
8
- * #stateModel JobsListModel
9
- */
10
7
  function stateModelFactory(_pluginManager) {
11
8
  return mobx_state_tree_1.types
12
9
  .model('JobsListModel', {
13
- /**
14
- * #property
15
- */
16
10
  id: mst_1.ElementId,
17
- /**
18
- * #property
19
- */
20
11
  type: mobx_state_tree_1.types.literal('JobsListWidget'),
21
- /**
22
- * #property
23
- */
24
12
  jobs: mobx_state_tree_1.types.array(jobModel_1.Job),
25
- /**
26
- * #property
27
- */
28
13
  finished: mobx_state_tree_1.types.array(jobModel_1.Job),
29
- /**
30
- * #property
31
- */
32
14
  queued: mobx_state_tree_1.types.array(jobModel_1.Job),
33
- /**
34
- * #property
35
- */
36
15
  aborted: mobx_state_tree_1.types.array(jobModel_1.Job),
37
16
  })
38
17
  .actions(self => ({
39
- /**
40
- * #action
41
- */
42
18
  addJob(job) {
43
19
  const { cancelCallback } = job;
44
20
  const length = self.jobs.push(job);
@@ -46,48 +22,30 @@ function stateModelFactory(_pluginManager) {
46
22
  addedJob.setCancelCallback(cancelCallback);
47
23
  return addedJob;
48
24
  },
49
- /**
50
- * #action
51
- */
52
25
  removeJob(jobName) {
53
26
  const indx = self.jobs.findIndex(job => job.name === jobName);
54
27
  const removed = self.jobs[indx];
55
28
  self.jobs.splice(indx, 1);
56
29
  return removed;
57
30
  },
58
- /**
59
- * #action
60
- */
61
31
  addFinishedJob(job) {
62
32
  self.finished.push(job);
63
33
  return self.finished;
64
34
  },
65
- /**
66
- * #action
67
- */
68
35
  addQueuedJob(job) {
69
36
  self.queued.push(job);
70
37
  return self.finished;
71
38
  },
72
- /**
73
- * #action
74
- */
75
39
  addAbortedJob(job) {
76
40
  self.aborted.push(job);
77
41
  return self.aborted;
78
42
  },
79
- /**
80
- * #action
81
- */
82
43
  removeQueuedJob(jobName) {
83
44
  const indx = self.queued.findIndex(job => job.name === jobName);
84
45
  const removed = self.queued[indx];
85
46
  self.queued.splice(indx, 1);
86
47
  return removed;
87
48
  },
88
- /**
89
- * #action
90
- */
91
49
  updateJobStatusMessage(jobName, message) {
92
50
  const job = self.jobs.find(job => job.name === jobName);
93
51
  if (!job) {
@@ -95,9 +53,6 @@ function stateModelFactory(_pluginManager) {
95
53
  }
96
54
  job.setStatusMessage(message);
97
55
  },
98
- /**
99
- * #action
100
- */
101
56
  updateJobProgressPct(jobName, pct) {
102
57
  const job = self.jobs.find(job => job.name === jobName);
103
58
  if (!job) {
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Plugin from '@jbrowse/core/Plugin';
2
- import PluginManager from '@jbrowse/core/PluginManager';
2
+ import type PluginManager from '@jbrowse/core/PluginManager';
3
3
  export default class JobsManagementPlugin extends Plugin {
4
4
  name: string;
5
5
  install(pluginManager: PluginManager): void;
package/dist/index.js CHANGED
@@ -4,9 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const Plugin_1 = __importDefault(require("@jbrowse/core/Plugin"));
7
- const util_1 = require("@jbrowse/core/util");
8
7
  const Icons_1 = require("@jbrowse/core/ui/Icons");
9
- const util_2 = require("@jbrowse/core/util");
8
+ const util_1 = require("@jbrowse/core/util");
10
9
  const JobsListWidget_1 = __importDefault(require("./JobsListWidget"));
11
10
  class JobsManagementPlugin extends Plugin_1.default {
12
11
  constructor() {
@@ -20,9 +19,9 @@ class JobsManagementPlugin extends Plugin_1.default {
20
19
  if ((0, util_1.isAbstractMenuManager)(pluginManager.rootModel)) {
21
20
  pluginManager.rootModel.appendToMenu('Tools', {
22
21
  label: 'Jobs list',
23
- icon: Icons_1.Indexing, // TODO: pick a better icon
22
+ icon: Icons_1.Indexing,
24
23
  onClick: (session) => {
25
- if ((0, util_2.isSessionModelWithWidgets)(session)) {
24
+ if ((0, util_1.isSessionModelWithWidgets)(session)) {
26
25
  const { widgets } = session;
27
26
  let jobStatusWidget = widgets.get('JobsList');
28
27
  if (!jobStatusWidget) {
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
- import { NewJob } from '../model';
1
+ import type { NewJob } from '../model';
3
2
  declare const CurrentJobCard: ({ job, }: {
4
3
  job: NewJob;
5
- }) => React.JSX.Element;
4
+ }) => import("react/jsx-runtime").JSX.Element;
6
5
  export default CurrentJobCard;
@@ -1,33 +1,19 @@
1
- import React, { useState } from 'react';
2
- import { observer } from 'mobx-react';
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
3
  import { Box, Button, Card, CardActions, CardContent, LinearProgress, Typography, } from '@mui/material';
4
+ import { observer } from 'mobx-react';
4
5
  const CurrentJobCard = observer(function CurrentJobCard({ job, }) {
5
6
  const [clicked, setClicked] = useState(false);
6
- return (React.createElement(Card, { variant: "outlined" },
7
- React.createElement(CardContent, null,
8
- React.createElement(Typography, { variant: "body1" },
9
- React.createElement("strong", null, 'Name: '),
10
- job.name),
11
- React.createElement(Typography, { variant: "body1" },
12
- React.createElement("strong", null, 'Message: '),
13
- job.statusMessage || 'No message provided'),
14
- React.createElement(Box, { sx: {
15
- display: 'flex',
16
- alignItems: 'center',
17
- marginTop: 10,
18
- marginBottom: 10,
19
- marginLeft: 10,
20
- } }, job.progressPct === 0 || job.progressPct === 100 ? (React.createElement(Box, { sx: { width: '100%' } },
21
- React.createElement(LinearProgress, { variant: "indeterminate" }))) : (React.createElement(React.Fragment, null,
22
- React.createElement(Box, { sx: { width: '100%' } },
23
- React.createElement(LinearProgress, { variant: "determinate", value: job.progressPct })),
24
- React.createElement(Box, { sx: { m: 1 } },
25
- React.createElement(Typography, null, `${Math.round(job.progressPct || 0)}%`)))))),
26
- React.createElement(CardActions, null,
27
- React.createElement(Button, { variant: "contained", color: "inherit", disabled: clicked || job.progressPct === 0, onClick: () => {
28
- job.setStatusMessage('Aborted via cancel button');
29
- job.cancelCallback();
30
- setClicked(true);
31
- } }, "Cancel"))));
7
+ return (_jsxs(Card, { variant: "outlined", children: [_jsxs(CardContent, { children: [_jsxs(Typography, { variant: "body1", children: [_jsx("strong", { children: 'Name: ' }), job.name] }), _jsxs(Typography, { variant: "body1", children: [_jsx("strong", { children: 'Message: ' }), job.statusMessage || 'No message provided'] }), _jsx(Box, { sx: {
8
+ display: 'flex',
9
+ alignItems: 'center',
10
+ marginTop: 10,
11
+ marginBottom: 10,
12
+ marginLeft: 10,
13
+ }, children: job.progressPct === 0 || job.progressPct === 100 ? (_jsx(Box, { sx: { width: '100%' }, children: _jsx(LinearProgress, { variant: "indeterminate" }) })) : (_jsxs(_Fragment, { children: [_jsx(Box, { sx: { width: '100%' }, children: _jsx(LinearProgress, { variant: "determinate", value: job.progressPct }) }), _jsx(Box, { sx: { m: 1 }, children: _jsx(Typography, { children: `${Math.round(job.progressPct || 0)}%` }) })] })) })] }), _jsx(CardActions, { children: _jsx(Button, { variant: "contained", color: "inherit", disabled: clicked || job.progressPct === 0, onClick: () => {
14
+ job.setStatusMessage('Aborted via cancel button');
15
+ job.cancelCallback();
16
+ setClicked(true);
17
+ }, children: "Cancel" }) })] }));
32
18
  });
33
19
  export default CurrentJobCard;
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
- import { NewJob } from '../model';
1
+ import type { NewJob } from '../model';
3
2
  declare const JobCard: ({ job }: {
4
3
  job: NewJob;
5
- }) => React.JSX.Element;
4
+ }) => import("react/jsx-runtime").JSX.Element;
6
5
  export default JobCard;
@@ -1,14 +1,7 @@
1
- import React from 'react';
2
- import { observer } from 'mobx-react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
2
  import { Card, CardContent, Typography } from '@mui/material';
3
+ import { observer } from 'mobx-react';
4
4
  const JobCard = observer(function JobCard({ job }) {
5
- return (React.createElement(Card, { variant: "outlined" },
6
- React.createElement(CardContent, null,
7
- React.createElement(Typography, { variant: "body1" },
8
- React.createElement("strong", null, 'Name: '),
9
- job.name),
10
- job.statusMessage ? (React.createElement(Typography, { variant: "body1" },
11
- React.createElement("strong", null, 'Message: '),
12
- job.statusMessage)) : null)));
5
+ return (_jsx(Card, { variant: "outlined", children: _jsxs(CardContent, { children: [_jsxs(Typography, { variant: "body1", children: [_jsx("strong", { children: 'Name: ' }), job.name] }), job.statusMessage ? (_jsxs(Typography, { variant: "body1", children: [_jsx("strong", { children: 'Message: ' }), job.statusMessage] })) : null] }) }));
13
6
  });
14
7
  export default JobCard;
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
- import { JobsListModel } from '../model';
1
+ import type { JobsListModel } from '../model';
3
2
  declare const JobsListWidget: ({ model }: {
4
3
  model: JobsListModel;
5
- }) => React.JSX.Element;
4
+ }) => import("react/jsx-runtime").JSX.Element;
6
5
  export default JobsListWidget;
@@ -1,11 +1,10 @@
1
- import React from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
2
3
  import { Accordion, AccordionSummary, Card, CardContent, Typography, } from '@mui/material';
3
- import { makeStyles } from 'tss-react/mui';
4
4
  import { observer } from 'mobx-react';
5
- // icons
6
- import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
7
- import JobCard from './JobCard';
5
+ import { makeStyles } from 'tss-react/mui';
8
6
  import CurrentJobCard from './CurrentJobCard';
7
+ import JobCard from './JobCard';
9
8
  const useStyles = makeStyles()(theme => ({
10
9
  root: {
11
10
  margin: theme.spacing(1),
@@ -17,30 +16,6 @@ const useStyles = makeStyles()(theme => ({
17
16
  const JobsListWidget = observer(function ({ model }) {
18
17
  const { classes } = useStyles();
19
18
  const { jobs, finished, queued, aborted } = model;
20
- return (React.createElement("div", { className: classes.root },
21
- React.createElement(Accordion, { defaultExpanded: true },
22
- React.createElement(AccordionSummary, { expandIcon: React.createElement(ExpandMoreIcon, { className: classes.expandIcon }) },
23
- React.createElement(Typography, { variant: "h5" }, "Running jobs")),
24
- jobs.length ? (jobs.map((job, index) => (React.createElement(CurrentJobCard, { job: job, key: `${JSON.stringify(job)}-${index}` })))) : (React.createElement(Card, { variant: "outlined" },
25
- React.createElement(CardContent, null,
26
- React.createElement(Typography, { variant: "body1" }, "No running jobs"))))),
27
- React.createElement(Accordion, { defaultExpanded: true },
28
- React.createElement(AccordionSummary, { expandIcon: React.createElement(ExpandMoreIcon, { className: classes.expandIcon }) },
29
- React.createElement(Typography, { variant: "h5" }, "Queued jobs")),
30
- queued.length ? (queued.map((job, index) => (React.createElement(JobCard, { job: job, key: `${JSON.stringify(job)}-${index}` })))) : (React.createElement(Card, { variant: "outlined" },
31
- React.createElement(CardContent, null,
32
- React.createElement(Typography, { variant: "body1" }, "No queued jobs"))))),
33
- React.createElement(Accordion, { defaultExpanded: true },
34
- React.createElement(AccordionSummary, { expandIcon: React.createElement(ExpandMoreIcon, { className: classes.expandIcon }) },
35
- React.createElement(Typography, { variant: "h5" }, "Completed jobs")),
36
- finished.length ? (finished.map((job, index) => (React.createElement(JobCard, { key: `${JSON.stringify(job)}-${index}`, job: job })))) : (React.createElement(Card, { variant: "outlined" },
37
- React.createElement(CardContent, null,
38
- React.createElement(Typography, { variant: "body1" }, "No completed jobs"))))),
39
- React.createElement(Accordion, { defaultExpanded: true },
40
- React.createElement(AccordionSummary, { expandIcon: React.createElement(ExpandMoreIcon, { className: classes.expandIcon }) },
41
- React.createElement(Typography, { variant: "h5" }, "Aborted jobs")),
42
- aborted.length ? (aborted.map((job, index) => (React.createElement(JobCard, { key: `${JSON.stringify(job)}-${index}`, job: job })))) : (React.createElement(Card, { variant: "outlined" },
43
- React.createElement(CardContent, null,
44
- React.createElement(Typography, { variant: "body1" }, "No aborted jobs")))))));
19
+ return (_jsxs("div", { className: classes.root, children: [_jsxs(Accordion, { defaultExpanded: true, children: [_jsx(AccordionSummary, { expandIcon: _jsx(ExpandMoreIcon, { className: classes.expandIcon }), children: _jsx(Typography, { variant: "h5", children: "Running jobs" }) }), jobs.length ? (jobs.map((job, index) => (_jsx(CurrentJobCard, { job: job }, `${JSON.stringify(job)}-${index}`)))) : (_jsx(Card, { variant: "outlined", children: _jsx(CardContent, { children: _jsx(Typography, { variant: "body1", children: "No running jobs" }) }) }))] }), _jsxs(Accordion, { defaultExpanded: true, children: [_jsx(AccordionSummary, { expandIcon: _jsx(ExpandMoreIcon, { className: classes.expandIcon }), children: _jsx(Typography, { variant: "h5", children: "Queued jobs" }) }), queued.length ? (queued.map((job, index) => (_jsx(JobCard, { job: job }, `${JSON.stringify(job)}-${index}`)))) : (_jsx(Card, { variant: "outlined", children: _jsx(CardContent, { children: _jsx(Typography, { variant: "body1", children: "No queued jobs" }) }) }))] }), _jsxs(Accordion, { defaultExpanded: true, children: [_jsx(AccordionSummary, { expandIcon: _jsx(ExpandMoreIcon, { className: classes.expandIcon }), children: _jsx(Typography, { variant: "h5", children: "Completed jobs" }) }), finished.length ? (finished.map((job, index) => (_jsx(JobCard, { job: job }, `${JSON.stringify(job)}-${index}`)))) : (_jsx(Card, { variant: "outlined", children: _jsx(CardContent, { children: _jsx(Typography, { variant: "body1", children: "No completed jobs" }) }) }))] }), _jsxs(Accordion, { defaultExpanded: true, children: [_jsx(AccordionSummary, { expandIcon: _jsx(ExpandMoreIcon, { className: classes.expandIcon }), children: _jsx(Typography, { variant: "h5", children: "Aborted jobs" }) }), aborted.length ? (aborted.map((job, index) => (_jsx(JobCard, { job: job }, `${JSON.stringify(job)}-${index}`)))) : (_jsx(Card, { variant: "outlined", children: _jsx(CardContent, { children: _jsx(Typography, { variant: "body1", children: "No aborted jobs" }) }) }))] })] }));
45
20
  });
46
21
  export default JobsListWidget;
@@ -1,3 +1,3 @@
1
- import PluginManager from '@jbrowse/core/PluginManager';
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
2
  export declare const configSchema: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
3
3
  export default function JobsListWidgetF(pluginManager: PluginManager): void;
@@ -1,6 +1,6 @@
1
+ import { lazy } from 'react';
1
2
  import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
3
  import { WidgetType } from '@jbrowse/core/pluggableElementTypes';
3
- import { lazy } from 'react';
4
4
  import { stateModelFactory } from './model';
5
5
  export const configSchema = ConfigurationSchema('JobsListWidget', {});
6
6
  export default function JobsListWidgetF(pluginManager) {
@@ -1,32 +1,11 @@
1
- /**
2
- * #stateModel
3
- */
4
1
  export declare const Job: import("mobx-state-tree").IModelType<{
5
- /**
6
- * #property
7
- */
8
2
  name: import("mobx-state-tree").ISimpleType<string>;
9
- /**
10
- * #property
11
- */
12
3
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
13
- /**
14
- * #property
15
- */
16
4
  progressPct: import("mobx-state-tree").ISimpleType<number>;
17
5
  }, {
18
6
  cancelCallback(): void;
19
7
  } & {
20
- /**
21
- * #action
22
- */
23
8
  setCancelCallback(cancelCallback: () => void): void;
24
- /**
25
- * #action
26
- */
27
9
  setStatusMessage(message?: string): void;
28
- /**
29
- * #action
30
- */
31
10
  setProgressPct(pct: number): void;
32
11
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
@@ -1,41 +1,20 @@
1
1
  import { types } from 'mobx-state-tree';
2
- /**
3
- * #stateModel
4
- */
5
2
  export const Job = types
6
3
  .model('Job', {
7
- /**
8
- * #property
9
- */
10
4
  name: types.string,
11
- /**
12
- * #property
13
- */
14
5
  statusMessage: types.maybe(types.string),
15
- /**
16
- * #property
17
- */
18
6
  progressPct: types.number,
19
7
  })
20
8
  .volatile(() => ({
21
9
  cancelCallback() { },
22
10
  }))
23
11
  .actions(self => ({
24
- /**
25
- * #action
26
- */
27
12
  setCancelCallback(cancelCallback) {
28
13
  self.cancelCallback = cancelCallback;
29
14
  },
30
- /**
31
- * #action
32
- */
33
15
  setStatusMessage(message) {
34
16
  self.statusMessage = message;
35
17
  },
36
- /**
37
- * #action
38
- */
39
18
  setProgressPct(pct) {
40
19
  self.progressPct = pct;
41
20
  },
@@ -1,25 +1,13 @@
1
- import { Instance, SnapshotIn } from 'mobx-state-tree';
2
- import PluginManager from '@jbrowse/core/PluginManager';
3
1
  import { Job } from './jobModel';
2
+ import type PluginManager from '@jbrowse/core/PluginManager';
3
+ import type { Instance, SnapshotIn } from 'mobx-state-tree';
4
4
  export interface NewJob extends SnapshotIn<typeof Job> {
5
5
  cancelCallback(): void;
6
6
  setStatusMessage(msg?: string): void;
7
7
  }
8
- /**
9
- * #stateModel JobsListModel
10
- */
11
8
  export declare function stateModelFactory(_pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
12
- /**
13
- * #property
14
- */
15
9
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
16
- /**
17
- * #property
18
- */
19
10
  type: import("mobx-state-tree").ISimpleType<"JobsListWidget">;
20
- /**
21
- * #property
22
- */
23
11
  jobs: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
24
12
  name: import("mobx-state-tree").ISimpleType<string>;
25
13
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
@@ -31,9 +19,6 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
31
19
  setStatusMessage(message?: string): void;
32
20
  setProgressPct(pct: number): void;
33
21
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
34
- /**
35
- * #property
36
- */
37
22
  finished: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
38
23
  name: import("mobx-state-tree").ISimpleType<string>;
39
24
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
@@ -45,9 +30,6 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
45
30
  setStatusMessage(message?: string): void;
46
31
  setProgressPct(pct: number): void;
47
32
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
48
- /**
49
- * #property
50
- */
51
33
  queued: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
52
34
  name: import("mobx-state-tree").ISimpleType<string>;
53
35
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
@@ -59,9 +41,6 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
59
41
  setStatusMessage(message?: string): void;
60
42
  setProgressPct(pct: number): void;
61
43
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
62
- /**
63
- * #property
64
- */
65
44
  aborted: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
66
45
  name: import("mobx-state-tree").ISimpleType<string>;
67
46
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
@@ -74,9 +53,6 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
74
53
  setProgressPct(pct: number): void;
75
54
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
76
55
  }, {
77
- /**
78
- * #action
79
- */
80
56
  addJob(job: NewJob): {
81
57
  name: string;
82
58
  statusMessage: string | undefined;
@@ -98,9 +74,6 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
98
74
  setStatusMessage(message?: string): void;
99
75
  setProgressPct(pct: number): void;
100
76
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
101
- /**
102
- * #action
103
- */
104
77
  removeJob(jobName: string): ({
105
78
  name: string;
106
79
  statusMessage: string | undefined;
@@ -122,9 +95,6 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
122
95
  setStatusMessage(message?: string): void;
123
96
  setProgressPct(pct: number): void;
124
97
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined;
125
- /**
126
- * #action
127
- */
128
98
  addFinishedJob(job: NewJob): import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
129
99
  name: import("mobx-state-tree").ISimpleType<string>;
130
100
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
@@ -146,9 +116,6 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
146
116
  setStatusMessage(message?: string): void;
147
117
  setProgressPct(pct: number): void;
148
118
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
149
- /**
150
- * #action
151
- */
152
119
  addQueuedJob(job: NewJob): import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
153
120
  name: import("mobx-state-tree").ISimpleType<string>;
154
121
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
@@ -170,9 +137,6 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
170
137
  setStatusMessage(message?: string): void;
171
138
  setProgressPct(pct: number): void;
172
139
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
173
- /**
174
- * #action
175
- */
176
140
  addAbortedJob(job: NewJob): import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
177
141
  name: import("mobx-state-tree").ISimpleType<string>;
178
142
  statusMessage: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
@@ -194,9 +158,6 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
194
158
  setStatusMessage(message?: string): void;
195
159
  setProgressPct(pct: number): void;
196
160
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
197
- /**
198
- * #action
199
- */
200
161
  removeQueuedJob(jobName: string): ({
201
162
  name: string;
202
163
  statusMessage: string | undefined;
@@ -218,13 +179,7 @@ export declare function stateModelFactory(_pluginManager: PluginManager): import
218
179
  setStatusMessage(message?: string): void;
219
180
  setProgressPct(pct: number): void;
220
181
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined;
221
- /**
222
- * #action
223
- */
224
182
  updateJobStatusMessage(jobName: string, message?: string): void;
225
- /**
226
- * #action
227
- */
228
183
  updateJobProgressPct(jobName: string, pct: number): void;
229
184
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
230
185
  export type JobsListStateModel = ReturnType<typeof stateModelFactory>;
@@ -1,41 +1,17 @@
1
- import { types } from 'mobx-state-tree';
2
1
  import { ElementId } from '@jbrowse/core/util/types/mst';
2
+ import { types } from 'mobx-state-tree';
3
3
  import { Job } from './jobModel';
4
- /**
5
- * #stateModel JobsListModel
6
- */
7
4
  export function stateModelFactory(_pluginManager) {
8
5
  return types
9
6
  .model('JobsListModel', {
10
- /**
11
- * #property
12
- */
13
7
  id: ElementId,
14
- /**
15
- * #property
16
- */
17
8
  type: types.literal('JobsListWidget'),
18
- /**
19
- * #property
20
- */
21
9
  jobs: types.array(Job),
22
- /**
23
- * #property
24
- */
25
10
  finished: types.array(Job),
26
- /**
27
- * #property
28
- */
29
11
  queued: types.array(Job),
30
- /**
31
- * #property
32
- */
33
12
  aborted: types.array(Job),
34
13
  })
35
14
  .actions(self => ({
36
- /**
37
- * #action
38
- */
39
15
  addJob(job) {
40
16
  const { cancelCallback } = job;
41
17
  const length = self.jobs.push(job);
@@ -43,48 +19,30 @@ export function stateModelFactory(_pluginManager) {
43
19
  addedJob.setCancelCallback(cancelCallback);
44
20
  return addedJob;
45
21
  },
46
- /**
47
- * #action
48
- */
49
22
  removeJob(jobName) {
50
23
  const indx = self.jobs.findIndex(job => job.name === jobName);
51
24
  const removed = self.jobs[indx];
52
25
  self.jobs.splice(indx, 1);
53
26
  return removed;
54
27
  },
55
- /**
56
- * #action
57
- */
58
28
  addFinishedJob(job) {
59
29
  self.finished.push(job);
60
30
  return self.finished;
61
31
  },
62
- /**
63
- * #action
64
- */
65
32
  addQueuedJob(job) {
66
33
  self.queued.push(job);
67
34
  return self.finished;
68
35
  },
69
- /**
70
- * #action
71
- */
72
36
  addAbortedJob(job) {
73
37
  self.aborted.push(job);
74
38
  return self.aborted;
75
39
  },
76
- /**
77
- * #action
78
- */
79
40
  removeQueuedJob(jobName) {
80
41
  const indx = self.queued.findIndex(job => job.name === jobName);
81
42
  const removed = self.queued[indx];
82
43
  self.queued.splice(indx, 1);
83
44
  return removed;
84
45
  },
85
- /**
86
- * #action
87
- */
88
46
  updateJobStatusMessage(jobName, message) {
89
47
  const job = self.jobs.find(job => job.name === jobName);
90
48
  if (!job) {
@@ -92,9 +50,6 @@ export function stateModelFactory(_pluginManager) {
92
50
  }
93
51
  job.setStatusMessage(message);
94
52
  },
95
- /**
96
- * #action
97
- */
98
53
  updateJobProgressPct(jobName, pct) {
99
54
  const job = self.jobs.find(job => job.name === jobName);
100
55
  if (!job) {
package/esm/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Plugin from '@jbrowse/core/Plugin';
2
- import PluginManager from '@jbrowse/core/PluginManager';
2
+ import type PluginManager from '@jbrowse/core/PluginManager';
3
3
  export default class JobsManagementPlugin extends Plugin {
4
4
  name: string;
5
5
  install(pluginManager: PluginManager): void;
package/esm/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import Plugin from '@jbrowse/core/Plugin';
2
- import { isAbstractMenuManager } from '@jbrowse/core/util';
3
2
  import { Indexing } from '@jbrowse/core/ui/Icons';
4
- import { isSessionModelWithWidgets } from '@jbrowse/core/util';
3
+ import { isAbstractMenuManager, isSessionModelWithWidgets, } from '@jbrowse/core/util';
5
4
  import JobsListWidgetF from './JobsListWidget';
6
5
  export default class JobsManagementPlugin extends Plugin {
7
6
  constructor() {
@@ -15,7 +14,7 @@ export default class JobsManagementPlugin extends Plugin {
15
14
  if (isAbstractMenuManager(pluginManager.rootModel)) {
16
15
  pluginManager.rootModel.appendToMenu('Tools', {
17
16
  label: 'Jobs list',
18
- icon: Indexing, // TODO: pick a better icon
17
+ icon: Indexing,
19
18
  onClick: (session) => {
20
19
  if (isSessionModelWithWidgets(session)) {
21
20
  const { widgets } = session;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/plugin-jobs-management",
3
- "version": "2.17.0",
3
+ "version": "3.0.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.17.0",
39
+ "@jbrowse/text-indexing": "^3.0.0",
40
40
  "@mui/icons-material": "^6.0.0"
41
41
  },
42
42
  "peerDependencies": {
@@ -54,5 +54,5 @@
54
54
  "publishConfig": {
55
55
  "access": "public"
56
56
  },
57
- "gitHead": "eed30b5e671f8f7823652d7cecc51aa89226de46"
57
+ "gitHead": "2c6897f1fa732b1db5b094d1dca197e333e95319"
58
58
  }