namirasoft-account-react 1.4.434 → 1.4.436

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,11 +1,9 @@
1
- import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { NSDialogDelete } from "namirasoft-site-react";
3
- import { useEffect } from "react";
4
- import { useBlocker } from "react-router-dom";
3
+ import { useContext, useEffect } from "react";
4
+ import { UNSAFE_DataRouterContext, useBlocker } from "react-router-dom";
5
5
  export function NSANavigationGuard(props) {
6
- var _a, _b;
7
6
  const when = props.when;
8
- const blocker = useBlocker(({ currentLocation, nextLocation }) => when && currentLocation.pathname !== nextLocation.pathname);
9
7
  useEffect(() => {
10
8
  if (!when)
11
9
  return;
@@ -16,6 +14,15 @@ export function NSANavigationGuard(props) {
16
14
  window.addEventListener("beforeunload", handler);
17
15
  return () => window.removeEventListener("beforeunload", handler);
18
16
  }, [when]);
17
+ const hasDataRouter = useContext(UNSAFE_DataRouterContext) != null;
18
+ if (!hasDataRouter)
19
+ return null;
20
+ return _jsx(NSANavigationBlocker, Object.assign({}, props));
21
+ }
22
+ function NSANavigationBlocker(props) {
23
+ var _a, _b;
24
+ const when = props.when;
25
+ const blocker = useBlocker(({ currentLocation, nextLocation }) => when && currentLocation.pathname !== nextLocation.pathname);
19
26
  if (blocker.state !== "blocked")
20
27
  return null;
21
28
  return (_jsx(NSDialogDelete, { title: (_a = props.title) !== null && _a !== void 0 ? _a : "Unsaved Changes", description: (_b = props.message) !== null && _b !== void 0 ? _b : "You have unsaved changes. Are you sure you want to leave without saving?", show_as_code: false, onClose: () => { var _a; return (_a = blocker.reset) === null || _a === void 0 ? void 0 : _a.call(blocker); }, onNo: {
@@ -1 +1 @@
1
- {"version":3,"file":"NSANavigationGuard.js","sourceRoot":"","sources":["../../src/components/NSANavigationGuard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAU9C,MAAM,UAAU,kBAAkB,CAAC,KAA8B;;IAE7D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAExB,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,EAAE,eAAe,EAAE,YAAY,EAAE,EAAE,EAAE,CAC7D,IAAI,IAAI,eAAe,CAAC,QAAQ,KAAK,YAAY,CAAC,QAAQ,CAC7D,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QAEX,IAAI,CAAC,IAAI;YACL,OAAO;QAEX,MAAM,OAAO,GAAG,CAAC,KAAwB,EAAE,EAAE;YAEzC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;QAC3B,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;QAC3B,OAAO,IAAI,CAAC;IAEhB,OAAO,CACH,KAAC,cAAc,IACX,KAAK,EAAE,MAAA,KAAK,CAAC,KAAK,mCAAI,iBAAiB,EACvC,WAAW,EAAE,MAAA,KAAK,CAAC,OAAO,mCAAI,0EAA0E,EACxG,YAAY,EAAE,KAAK,EACnB,OAAO,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,OAAO,CAAC,KAAK,uDAAI,CAAA,EAAA,EAChC,IAAI,EAAE;YACF,WAAW,EAAE,KAAK;YAClB,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE;;gBAEnB,MAAA,OAAO,CAAC,KAAK,uDAAI,CAAC;gBAClB,UAAU,EAAE,CAAC;YACjB,CAAC;SACJ,EACD,KAAK,EAAE;YACH,WAAW,EAAE,KAAK;YAClB,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE;;gBAEnB,MAAA,OAAO,CAAC,OAAO,uDAAI,CAAC;gBACpB,UAAU,EAAE,CAAC;YACjB,CAAC;SACJ,YAED,mBAAK,GACQ,CACpB,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"NSANavigationGuard.js","sourceRoot":"","sources":["../../src/components/NSANavigationGuard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAUxE,MAAM,UAAU,kBAAkB,CAAC,KAA8B;IAE7D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAGxB,SAAS,CAAC,GAAG,EAAE;QAEX,IAAI,CAAC,IAAI;YACL,OAAO;QAEX,MAAM,OAAO,GAAG,CAAC,KAAwB,EAAE,EAAE;YAEzC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;QAC3B,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAKX,MAAM,aAAa,GAAG,UAAU,CAAC,wBAAwB,CAAC,IAAI,IAAI,CAAC;IACnE,IAAI,CAAC,aAAa;QACd,OAAO,IAAI,CAAC;IAEhB,OAAO,KAAC,oBAAoB,oBAAK,KAAK,EAAI,CAAC;AAC/C,CAAC;AAED,SAAS,oBAAoB,CAAC,KAA8B;;IAExD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAExB,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,EAAE,eAAe,EAAE,YAAY,EAAE,EAAE,EAAE,CAC7D,IAAI,IAAI,eAAe,CAAC,QAAQ,KAAK,YAAY,CAAC,QAAQ,CAC7D,CAAC;IAEF,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;QAC3B,OAAO,IAAI,CAAC;IAEhB,OAAO,CACH,KAAC,cAAc,IACX,KAAK,EAAE,MAAA,KAAK,CAAC,KAAK,mCAAI,iBAAiB,EACvC,WAAW,EAAE,MAAA,KAAK,CAAC,OAAO,mCAAI,0EAA0E,EACxG,YAAY,EAAE,KAAK,EACnB,OAAO,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,OAAO,CAAC,KAAK,uDAAI,CAAA,EAAA,EAChC,IAAI,EAAE;YACF,WAAW,EAAE,KAAK;YAClB,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE;;gBAEnB,MAAA,OAAO,CAAC,KAAK,uDAAI,CAAC;gBAClB,UAAU,EAAE,CAAC;YACjB,CAAC;SACJ,EACD,KAAK,EAAE;YACH,WAAW,EAAE,KAAK;YAClB,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE;;gBAEnB,MAAA,OAAO,CAAC,OAAO,uDAAI,CAAC;gBACpB,UAAU,EAAE,CAAC;YACjB,CAAC;SACJ,YAED,mBAAK,GACQ,CACpB,CAAC;AACN,CAAC"}
@@ -1,12 +1,36 @@
1
1
  import { Component } from "react";
2
+ export type NSATaskStatus = "running" | "completed" | "cancelled";
3
+ export interface NSATask {
4
+ id: string;
5
+ title: string;
6
+ total: number;
7
+ completed: number;
8
+ succeeded: number;
9
+ failed: number;
10
+ status: NSATaskStatus;
11
+ cancel: () => void;
12
+ }
13
+ export interface NSATaskResult<T> {
14
+ succeeded: T[];
15
+ failed: T[];
16
+ cancelled: boolean;
17
+ }
18
+ export interface NSATaskBarProps<ItemType> {
19
+ title: string;
20
+ items: ItemType[];
21
+ handler: (item: ItemType, index: number) => Promise<void>;
22
+ onItemError?: (item: ItemType, error: any, index: number) => void;
23
+ }
2
24
  interface NSATaskBarState {
3
- tick: number;
25
+ tasks: NSATask[];
4
26
  }
5
- export declare class NSATaskBar extends Component<{}, NSATaskBarState> {
6
- private unsubscribe;
7
- constructor(props: {});
8
- componentDidMount(): void;
9
- componentWillUnmount(): void;
27
+ export declare class NSATaskBar<ItemType> extends Component<NSATaskBarProps<ItemType>, NSATaskBarState> {
28
+ private counter;
29
+ private removeDelayMs;
30
+ constructor(props: NSATaskBarProps<ItemType>);
31
+ private update;
32
+ dismiss(id: string): void;
33
+ run(): Promise<NSATaskResult<ItemType>>;
10
34
  private renderStatus;
11
35
  render(): import("react").JSX.Element | null;
12
36
  }
@@ -1,28 +1,87 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
1
10
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
11
  import { NSButtonRed } from "namirasoft-site-react";
3
12
  import NSProgressBar from "namirasoft-site-react/dist/components/NSProgressBar";
4
13
  import { Component } from "react";
5
- import { NSATaskService } from "../NSATaskService";
6
14
  import Styles from "./NSATaskBar.module.css";
7
15
  export class NSATaskBar extends Component {
8
16
  constructor(props) {
9
17
  super(props);
10
- this.unsubscribe = null;
11
- this.state = { tick: 0 };
18
+ this.counter = 0;
19
+ this.removeDelayMs = 4000;
20
+ this.state = { tasks: [] };
21
+ this.run = this.run.bind(this);
22
+ this.dismiss = this.dismiss.bind(this);
12
23
  }
13
- componentDidMount() {
14
- this.unsubscribe = NSATaskService.main.subscribe(() => {
15
- this.setState(prev => ({ tick: prev.tick + 1 }));
16
- });
24
+ update(id, patch) {
25
+ this.setState(prev => ({
26
+ tasks: prev.tasks.map(task => task.id === id ? Object.assign(Object.assign({}, task), patch) : task)
27
+ }));
28
+ }
29
+ dismiss(id) {
30
+ this.setState(prev => ({ tasks: prev.tasks.filter(task => task.id !== id) }));
17
31
  }
18
- componentWillUnmount() {
19
- var _a;
20
- (_a = this.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(this);
21
- this.unsubscribe = null;
32
+ run() {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ this.counter += 1;
35
+ const id = `nsa-task-${this.counter}`;
36
+ const items = this.props.items;
37
+ const handler = this.props.handler;
38
+ const onItemError = this.props.onItemError;
39
+ let cancelled = false;
40
+ const task = {
41
+ id,
42
+ title: this.props.title,
43
+ total: items.length,
44
+ completed: 0,
45
+ succeeded: 0,
46
+ failed: 0,
47
+ status: "running",
48
+ cancel: () => { cancelled = true; }
49
+ };
50
+ this.setState(prev => ({ tasks: [...prev.tasks, task] }));
51
+ const succeeded = [];
52
+ const failed = [];
53
+ for (let index = 0; index < items.length; index++) {
54
+ if (cancelled)
55
+ break;
56
+ const item = items[index];
57
+ try {
58
+ yield handler(item, index);
59
+ succeeded.push(item);
60
+ }
61
+ catch (error) {
62
+ failed.push(item);
63
+ onItemError === null || onItemError === void 0 ? void 0 : onItemError(item, error, index);
64
+ }
65
+ this.update(id, {
66
+ completed: succeeded.length + failed.length,
67
+ succeeded: succeeded.length,
68
+ failed: failed.length,
69
+ });
70
+ }
71
+ this.update(id, { status: cancelled ? "cancelled" : "completed" });
72
+ window.setTimeout(() => this.dismiss(id), this.removeDelayMs);
73
+ return { succeeded, failed, cancelled };
74
+ });
22
75
  }
23
76
  renderStatus(task) {
24
- if (task.status === "running")
25
- return `${task.completed}/${task.total}`;
77
+ if (task.status === "running") {
78
+ const remaining = task.total - task.completed;
79
+ let running = [`${task.succeeded} done`];
80
+ if (task.failed > 0)
81
+ running.push(`${task.failed} failed`);
82
+ running.push(`${remaining} left`);
83
+ return running.join(", ");
84
+ }
26
85
  const skipped = task.total - task.completed;
27
86
  let parts = [`${task.succeeded} done`];
28
87
  if (task.failed > 0)
@@ -33,13 +92,13 @@ export class NSATaskBar extends Component {
33
92
  return `${prefix} — ${parts.join(", ")}`;
34
93
  }
35
94
  render() {
36
- const tasks = NSATaskService.main.getTasks();
95
+ const tasks = this.state.tasks;
37
96
  if (tasks.length === 0)
38
97
  return null;
39
98
  return (_jsx("div", { className: Styles.nsa_task_bar, children: tasks.map(task => {
40
99
  const progress = task.total > 0 ? (task.completed / task.total) * 100 : 0;
41
100
  return (_jsxs("div", { className: Styles.nsa_task_card, children: [_jsxs("div", { className: Styles.nsa_task_header, children: [_jsx("span", { className: Styles.nsa_task_title, children: task.title }), task.status !== "running" &&
42
- _jsx("span", { className: Styles.nsa_task_close, onClick: () => NSATaskService.main.dismiss(task.id), children: "\u2715" })] }), _jsx(NSProgressBar, { progress: progress, title: this.renderStatus(task) }), task.status === "running" &&
101
+ _jsx("span", { className: Styles.nsa_task_close, onClick: () => this.dismiss(task.id), children: "\u2715" })] }), _jsx(NSProgressBar, { progress: progress, title: this.renderStatus(task) }), task.status === "running" &&
43
102
  _jsx("div", { className: Styles.nsa_task_actions, children: _jsx(NSButtonRed, { title: "Cancel", onClick: {
44
103
  showLoading: false,
45
104
  action: (onFinished) => {
@@ -1 +1 @@
1
- {"version":3,"file":"NSATaskBar.js","sourceRoot":"","sources":["../../src/components/NSATaskBar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NSATaskBar.js","sourceRoot":"","sources":["../../src/components/NSATaskBar.tsx"],"names":[],"mappings":"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"}
@@ -5,6 +5,6 @@ export declare class SecretFormatter<RowType = any> extends BaseColumnFormatter
5
5
  isSensitive: (col: TableColumnInfo, row: TableRowInfo<RowType>) => boolean;
6
6
  private sensitive_formatter;
7
7
  decryptor?: (value: string) => Promise<string>;
8
- constructor(server: NamirasoftSecretServer, isSensitive: (col: TableColumnInfo, row: TableRowInfo<RowType>) => boolean, width?: string);
8
+ constructor(server: NamirasoftSecretServer, isSensitive: (col: TableColumnInfo, row: TableRowInfo<RowType>) => boolean, copy?: boolean, width?: string);
9
9
  format(value: any, col: TableColumnInfo, row: TableRowInfo<RowType>, printable: boolean): any;
10
10
  }
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  };
10
10
  import { BaseColumnFormatter, SensitiveFormatter } from "namirasoft-site-react";
11
11
  export class SecretFormatter extends BaseColumnFormatter {
12
- constructor(server, isSensitive, width = "240px") {
12
+ constructor(server, isSensitive, copy = true, width = "240px") {
13
13
  super();
14
14
  this.server = server;
15
15
  this.isSensitive = isSensitive;
@@ -20,7 +20,7 @@ export class SecretFormatter extends BaseColumnFormatter {
20
20
  decrypted = yield this.decryptor(decrypted);
21
21
  return decrypted;
22
22
  });
23
- this.sensitive_formatter = new SensitiveFormatter(decryptor_secret, this.isSensitive, this.width);
23
+ this.sensitive_formatter = new SensitiveFormatter(decryptor_secret, this.isSensitive, copy, this.width);
24
24
  }
25
25
  format(value, col, row, printable) {
26
26
  return this.sensitive_formatter.format(value, col, row, printable);
@@ -1 +1 @@
1
- {"version":3,"file":"SecretFormatter.js","sourceRoot":"","sources":["../../src/formatters/SecretFormatter.tsx"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAiC,MAAM,uBAAuB,CAAC;AAE/G,MAAM,OAAO,eAA+B,SAAQ,mBAAmB;IAInE,YAAmB,MAA8B,EAAS,WAA0E,EAAE,QAAgB,OAAO;QAEzJ,KAAK,EAAE,CAAC;QAFO,WAAM,GAAN,MAAM,CAAwB;QAAS,gBAAW,GAAX,WAAW,CAA+D;QAGhI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,gBAAgB,GAAG,CAAO,KAAa,EAAE,EAAE;YAE3C,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,SAAS;gBACd,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAChD,OAAO,SAAS,CAAC;QACrB,CAAC,CAAA,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,IAAI,kBAAkB,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACtG,CAAC;IACQ,MAAM,CAAC,KAAU,EAAE,GAAoB,EAAE,GAA0B,EAAE,SAAkB;QAE5F,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IACvE,CAAC;CACJ"}
1
+ {"version":3,"file":"SecretFormatter.js","sourceRoot":"","sources":["../../src/formatters/SecretFormatter.tsx"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAiC,MAAM,uBAAuB,CAAC;AAE/G,MAAM,OAAO,eAA+B,SAAQ,mBAAmB;IAInE,YAAmB,MAA8B,EAAS,WAA0E,EAAE,OAAgB,IAAI,EAAE,QAAgB,OAAO;QAE/K,KAAK,EAAE,CAAC;QAFO,WAAM,GAAN,MAAM,CAAwB;QAAS,gBAAW,GAAX,WAAW,CAA+D;QAGhI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,gBAAgB,GAAG,CAAO,KAAa,EAAE,EAAE;YAE3C,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,SAAS;gBACd,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAChD,OAAO,SAAS,CAAC;QACrB,CAAC,CAAA,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,IAAI,kBAAkB,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5G,CAAC;IACQ,MAAM,CAAC,KAAU,EAAE,GAAoB,EAAE,GAA0B,EAAE,SAAkB;QAE5F,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IACvE,CAAC;CACJ"}
@@ -3,6 +3,7 @@ import { CategoryRow, FieldRow } from 'namirasoft-field';
3
3
  import { IBackgroundProps, IBaseComponentProps, IHeaderRightProps, NSBarActionProps, NSBarAlertProps, NSBarTitleProps } from 'namirasoft-site-react';
4
4
  import { IHeaderLeftProps } from 'namirasoft-site-react/dist/props/IHeaderLeftProps';
5
5
  import { Component } from 'react';
6
+ import { NSATaskBar } from '../components/NSATaskBar';
6
7
  import { IEntityInfo } from '../IEntityInfo';
7
8
  import { NSARouterMakerProps } from '../NSARouterMakerProps';
8
9
  import { NSASectionEdit, NSASectionEditCustomProps } from './NSASectionEdit';
@@ -81,6 +82,8 @@ interface NSALayoutState {
81
82
  refresher: number;
82
83
  message_count: number;
83
84
  showDeleteDialog: boolean;
85
+ delete_ids: string[];
86
+ delete_title: string;
84
87
  showMessageListDialog: boolean;
85
88
  showAccessListDialog: boolean;
86
89
  showProductListDialog: boolean;
@@ -105,6 +108,7 @@ export declare class NSALayout<RowType extends {
105
108
  NSASectionList_Ref: import("react").RefObject<NSASectionList<RowType, RowTypeInput>>;
106
109
  NSASectionEdit_Ref: import("react").RefObject<NSASectionEdit<RowType, RowTypeInput>>;
107
110
  NSASectionView_Ref: import("react").RefObject<NSASectionView<RowType, RowTypeInput>>;
111
+ NSATaskBar_Ref: import("react").RefObject<NSATaskBar<string>>;
108
112
  constructor(props: NSALayoutProps<RowType, RowTypeInput>);
109
113
  reloadMessageCount(force: boolean): void;
110
114
  private runDelete;
@@ -24,7 +24,6 @@ import { NSATaskBar } from '../components/NSATaskBar';
24
24
  import { NSAUserDialog } from '../components/NSAUserDialog';
25
25
  import { NSAWorkspaceListDialog } from '../components/NSAWorkspaceListDialog';
26
26
  import { NSACacheService } from '../NSACacheService';
27
- import { NSATaskService } from '../NSATaskService';
28
27
  import { UseParams } from '../UseParams';
29
28
  import { Actions } from './Actions';
30
29
  import { NSASectionEdit } from './NSASectionEdit';
@@ -43,6 +42,7 @@ export class NSALayout extends Component {
43
42
  this.NSASectionList_Ref = createRef();
44
43
  this.NSASectionEdit_Ref = createRef();
45
44
  this.NSASectionView_Ref = createRef();
45
+ this.NSATaskBar_Ref = createRef();
46
46
  this.isLoggedIn = (_c = (_b = (_a = this.props.account) === null || _a === void 0 ? void 0 : _a.token_manager) === null || _b === void 0 ? void 0 : _b.exists()) !== null && _c !== void 0 ? _c : false;
47
47
  this.hasCFT = false;
48
48
  if ((_d = this.props.pages) === null || _d === void 0 ? void 0 : _d.entity)
@@ -102,6 +102,8 @@ export class NSALayout extends Component {
102
102
  refresher: 0,
103
103
  message_count: 0,
104
104
  showDeleteDialog: false,
105
+ delete_ids: [],
106
+ delete_title: "",
105
107
  showMessageListDialog: false,
106
108
  showAccessListDialog: false,
107
109
  showProductListDialog: false,
@@ -121,45 +123,36 @@ export class NSALayout extends Component {
121
123
  }).catch(() => { });
122
124
  }
123
125
  runDelete(ids, name) {
124
- var _a;
125
- const del = (_a = this.props.pages) === null || _a === void 0 ? void 0 : _a.entity.server.delete;
126
- if (!del)
127
- return;
128
- NSATaskService.main.run({
129
- title: ids.length === 1 ? `Deleting ${name}` : `Deleting ${ids.length} ${name}s`,
130
- items: ids,
131
- handler: (id) => __awaiter(this, void 0, void 0, function* () { yield del(id); }),
132
- onFinished: (result) => {
133
- var _a, _b, _c, _d;
134
- const deletedIds = result.succeeded;
135
- if (deletedIds.length > 0)
136
- this.props.notifier.onSuccess(deletedIds.length === 1
137
- ? `${name} was deleted successfully.`
138
- : `${deletedIds.length} ${name}s were deleted successfully.`);
139
- if (result.failed.length > 0)
140
- this.props.notifier.onError(new Error(`Failed to delete ${result.failed.length} ${name}${result.failed.length > 1 ? "s" : ""}.`));
141
- if (deletedIds.length === 0)
142
- return;
143
- if ((_a = this.props.pages) === null || _a === void 0 ? void 0 : _a.list) {
144
- let table = (_b = this.NSASectionList_Ref.current) === null || _b === void 0 ? void 0 : _b.NSATable_Main.current;
145
- if (table) {
146
- let selected_ids = table.getSelectedIDs().filter(id => !deletedIds.includes(id));
147
- let selected_rows = table.getSelectedRows().filter(row => !deletedIds.includes(row.id));
148
- table.setSelectedIDs(selected_ids, selected_rows);
149
- table.reload(null, null);
150
- }
151
- }
152
- else if ((_c = this.props.pages) === null || _c === void 0 ? void 0 : _c.edit) {
153
- if (this.props.pages.entity.client.getListURL)
154
- this.props.url.redirect(this.props.pages.entity.client.getListURL(), {});
155
- else if (this.props.pages.entity.client.getViewURL)
156
- this.props.url.redirect(this.props.pages.entity.client.getViewURL(deletedIds[0]), {});
157
- }
158
- else if ((_d = this.props.pages) === null || _d === void 0 ? void 0 : _d.view) {
159
- if (this.props.pages.entity.client.getListURL)
160
- this.props.url.redirect(this.props.pages.entity.client.getListURL(), {});
126
+ return __awaiter(this, void 0, void 0, function* () {
127
+ var _a, _b, _c, _d, _e, _f;
128
+ if (!((_a = this.props.pages) === null || _a === void 0 ? void 0 : _a.entity.server.delete))
129
+ return;
130
+ yield new Promise(resolve => this.setState(prev => (Object.assign(Object.assign({}, prev), { delete_ids: ids, delete_title: `Deleting ${name}` })), resolve));
131
+ const result = yield ((_b = this.NSATaskBar_Ref.current) === null || _b === void 0 ? void 0 : _b.run());
132
+ if (!result)
133
+ return;
134
+ const deletedIds = result.succeeded;
135
+ if (deletedIds.length === 0)
136
+ return;
137
+ if ((_c = this.props.pages) === null || _c === void 0 ? void 0 : _c.list) {
138
+ let table = (_d = this.NSASectionList_Ref.current) === null || _d === void 0 ? void 0 : _d.NSATable_Main.current;
139
+ if (table) {
140
+ let selected_ids = table.getSelectedIDs().filter(id => !deletedIds.includes(id));
141
+ let selected_rows = table.getSelectedRows().filter(row => !deletedIds.includes(row.id));
142
+ table.setSelectedIDs(selected_ids, selected_rows);
143
+ table.reload(null, null);
161
144
  }
162
145
  }
146
+ else if ((_e = this.props.pages) === null || _e === void 0 ? void 0 : _e.edit) {
147
+ if (this.props.pages.entity.client.getListURL)
148
+ this.props.url.redirect(this.props.pages.entity.client.getListURL(), {});
149
+ else if (this.props.pages.entity.client.getViewURL)
150
+ this.props.url.redirect(this.props.pages.entity.client.getViewURL(deletedIds[0]), {});
151
+ }
152
+ else if ((_f = this.props.pages) === null || _f === void 0 ? void 0 : _f.view) {
153
+ if (this.props.pages.entity.client.getListURL)
154
+ this.props.url.redirect(this.props.pages.entity.client.getListURL(), {});
155
+ }
163
156
  });
164
157
  }
165
158
  componentDidMount() {
@@ -477,7 +470,12 @@ export class NSALayout extends Component {
477
470
  ?
478
471
  content
479
472
  :
480
- _jsx(NSLoading, {})] })), _jsx(NSATaskBar, {})] }));
473
+ _jsx(NSLoading, {})] })), _jsx(NSATaskBar, { ref: this.NSATaskBar_Ref, title: this.state.delete_title, items: this.state.delete_ids, handler: (id) => __awaiter(this, void 0, void 0, function* () {
474
+ var _a;
475
+ const del = (_a = this.props.pages) === null || _a === void 0 ? void 0 : _a.entity.server.delete;
476
+ if (del)
477
+ yield del(id);
478
+ }) })] }));
481
479
  }
482
480
  }
483
481
  //# sourceMappingURL=NSALayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NSALayout.js","sourceRoot":"","sources":["../../src/layouts/NSALayout.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NSALayout.js","sourceRoot":"","sources":["../../src/layouts/NSALayout.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.4.434",
11
+ "version": "1.4.436",
12
12
  "author": "Amir Abolhasani",
13
13
  "license": "MIT",
14
14
  "main": "./dist/main.js",
@@ -39,7 +39,7 @@
39
39
  "namirasoft-schema": "^1.4.29",
40
40
  "namirasoft-secret": "^1.4.46",
41
41
  "namirasoft-site-map": "^1.4.49",
42
- "namirasoft-site-react": "^1.4.569",
42
+ "namirasoft-site-react": "^1.4.577",
43
43
  "namirasoft-workspace": "^1.4.28",
44
44
  "os-browserify": "^0.3.0",
45
45
  "path-browserify": "^1.0.1",
@@ -51,7 +51,7 @@
51
51
  "react-helmet": "^6.1.0",
52
52
  "react-router-dom": "7.9.1",
53
53
  "react-scripts": "5.0.1",
54
- "webpack": "^5.107.2"
54
+ "webpack": "^5.108.1"
55
55
  },
56
56
  "eslintConfig": {
57
57
  "extends": [
@@ -1,6 +1,6 @@
1
1
  import { NSDialogDelete } from "namirasoft-site-react";
2
- import { useEffect } from "react";
3
- import { useBlocker } from "react-router-dom";
2
+ import { useContext, useEffect } from "react";
3
+ import { UNSAFE_DataRouterContext, useBlocker } from "react-router-dom";
4
4
 
5
5
  export interface NSANavigationGuardProps
6
6
  {
@@ -14,10 +14,7 @@ export function NSANavigationGuard(props: NSANavigationGuardProps)
14
14
  {
15
15
  const when = props.when;
16
16
 
17
- const blocker = useBlocker(({ currentLocation, nextLocation }) =>
18
- when && currentLocation.pathname !== nextLocation.pathname
19
- );
20
-
17
+ // Native tab close / refresh protection works under any router type.
21
18
  useEffect(() =>
22
19
  {
23
20
  if (!when)
@@ -33,6 +30,24 @@ export function NSANavigationGuard(props: NSANavigationGuardProps)
33
30
  return () => window.removeEventListener("beforeunload", handler);
34
31
  }, [when]);
35
32
 
33
+ // useBlocker only works inside a data router (createBrowserRouter /
34
+ // RouterProvider). Under a plain <BrowserRouter> the context is absent, so
35
+ // calling it would throw — fall back to beforeunload-only in that case.
36
+ const hasDataRouter = useContext(UNSAFE_DataRouterContext) != null;
37
+ if (!hasDataRouter)
38
+ return null;
39
+
40
+ return <NSANavigationBlocker {...props} />;
41
+ }
42
+
43
+ function NSANavigationBlocker(props: NSANavigationGuardProps)
44
+ {
45
+ const when = props.when;
46
+
47
+ const blocker = useBlocker(({ currentLocation, nextLocation }) =>
48
+ when && currentLocation.pathname !== nextLocation.pathname
49
+ );
50
+
36
51
  if (blocker.state !== "blocked")
37
52
  return null;
38
53
 
@@ -1,42 +1,134 @@
1
1
  import { NSButtonRed } from "namirasoft-site-react";
2
2
  import NSProgressBar from "namirasoft-site-react/dist/components/NSProgressBar";
3
3
  import { Component } from "react";
4
- import { NSATask, NSATaskService } from "../NSATaskService";
5
4
  import Styles from "./NSATaskBar.module.css";
6
5
 
6
+ export type NSATaskStatus = "running" | "completed" | "cancelled";
7
+
8
+ export interface NSATask
9
+ {
10
+ id: string;
11
+ title: string;
12
+ total: number;
13
+ completed: number;
14
+ succeeded: number;
15
+ failed: number;
16
+ status: NSATaskStatus;
17
+ cancel: () => void;
18
+ }
19
+
20
+ export interface NSATaskResult<T>
21
+ {
22
+ succeeded: T[];
23
+ failed: T[];
24
+ cancelled: boolean;
25
+ }
26
+
27
+ export interface NSATaskBarProps<ItemType>
28
+ {
29
+ title: string;
30
+ items: ItemType[];
31
+ handler: (item: ItemType, index: number) => Promise<void>;
32
+ onItemError?: (item: ItemType, error: any, index: number) => void;
33
+ }
34
+
7
35
  interface NSATaskBarState
8
36
  {
9
- tick: number;
37
+ tasks: NSATask[];
10
38
  }
11
39
 
12
- export class NSATaskBar extends Component<{}, NSATaskBarState>
40
+ export class NSATaskBar<ItemType> extends Component<NSATaskBarProps<ItemType>, NSATaskBarState>
13
41
  {
14
- private unsubscribe: (() => void) | null = null;
42
+ private counter: number = 0;
43
+ private removeDelayMs: number = 4000;
15
44
 
16
- constructor(props: {})
45
+ constructor(props: NSATaskBarProps<ItemType>)
17
46
  {
18
47
  super(props);
19
- this.state = { tick: 0 };
48
+ this.state = { tasks: [] };
49
+ this.run = this.run.bind(this);
50
+ this.dismiss = this.dismiss.bind(this);
20
51
  }
21
52
 
22
- override componentDidMount(): void
53
+ private update(id: string, patch: Partial<NSATask>): void
23
54
  {
24
- this.unsubscribe = NSATaskService.main.subscribe(() =>
25
- {
26
- this.setState(prev => ({ tick: prev.tick + 1 }));
27
- });
55
+ this.setState(prev => ({
56
+ tasks: prev.tasks.map(task => task.id === id ? { ...task, ...patch } : task)
57
+ }));
28
58
  }
29
59
 
30
- override componentWillUnmount(): void
60
+ public dismiss(id: string): void
31
61
  {
32
- this.unsubscribe?.();
33
- this.unsubscribe = null;
62
+ this.setState(prev => ({ tasks: prev.tasks.filter(task => task.id !== id) }));
63
+ }
64
+
65
+ public async run(): Promise<NSATaskResult<ItemType>>
66
+ {
67
+ this.counter += 1;
68
+ const id = `nsa-task-${this.counter}`;
69
+
70
+ const items = this.props.items;
71
+ const handler = this.props.handler;
72
+ const onItemError = this.props.onItemError;
73
+
74
+ let cancelled = false;
75
+ const task: NSATask = {
76
+ id,
77
+ title: this.props.title,
78
+ total: items.length,
79
+ completed: 0,
80
+ succeeded: 0,
81
+ failed: 0,
82
+ status: "running",
83
+ cancel: () => { cancelled = true; }
84
+ };
85
+
86
+ this.setState(prev => ({ tasks: [...prev.tasks, task] }));
87
+
88
+ const succeeded: ItemType[] = [];
89
+ const failed: ItemType[] = [];
90
+
91
+ for (let index = 0; index < items.length; index++)
92
+ {
93
+ if (cancelled)
94
+ break;
95
+
96
+ const item = items[index];
97
+ try
98
+ {
99
+ await handler(item, index);
100
+ succeeded.push(item);
101
+ }
102
+ catch (error: any)
103
+ {
104
+ failed.push(item);
105
+ onItemError?.(item, error, index);
106
+ }
107
+ this.update(id, {
108
+ completed: succeeded.length + failed.length,
109
+ succeeded: succeeded.length,
110
+ failed: failed.length,
111
+ });
112
+ }
113
+
114
+ this.update(id, { status: cancelled ? "cancelled" : "completed" });
115
+
116
+ window.setTimeout(() => this.dismiss(id), this.removeDelayMs);
117
+
118
+ return { succeeded, failed, cancelled };
34
119
  }
35
120
 
36
121
  private renderStatus(task: NSATask): string
37
122
  {
38
123
  if (task.status === "running")
39
- return `${task.completed}/${task.total}`;
124
+ {
125
+ const remaining = task.total - task.completed;
126
+ let running: string[] = [`${task.succeeded} done`];
127
+ if (task.failed > 0)
128
+ running.push(`${task.failed} failed`);
129
+ running.push(`${remaining} left`);
130
+ return running.join(", ");
131
+ }
40
132
 
41
133
  const skipped = task.total - task.completed;
42
134
  let parts: string[] = [`${task.succeeded} done`];
@@ -51,7 +143,7 @@ export class NSATaskBar extends Component<{}, NSATaskBarState>
51
143
 
52
144
  override render()
53
145
  {
54
- const tasks = NSATaskService.main.getTasks();
146
+ const tasks = this.state.tasks;
55
147
  if (tasks.length === 0)
56
148
  return null;
57
149
 
@@ -69,7 +161,7 @@ export class NSATaskBar extends Component<{}, NSATaskBarState>
69
161
  task.status !== "running" &&
70
162
  <span
71
163
  className={Styles.nsa_task_close}
72
- onClick={() => NSATaskService.main.dismiss(task.id)}
164
+ onClick={() => this.dismiss(task.id)}
73
165
  >
74
166
 
75
167
  </span>
@@ -5,7 +5,7 @@ export class SecretFormatter<RowType = any> extends BaseColumnFormatter
5
5
  {
6
6
  private sensitive_formatter;
7
7
  public decryptor?: (value: string) => Promise<string>;
8
- constructor(public server: NamirasoftSecretServer, public isSensitive: (col: TableColumnInfo, row: TableRowInfo<RowType>) => boolean, width: string = "240px")
8
+ constructor(public server: NamirasoftSecretServer, public isSensitive: (col: TableColumnInfo, row: TableRowInfo<RowType>) => boolean, copy: boolean = true, width: string = "240px")
9
9
  {
10
10
  super();
11
11
  this.width = width;
@@ -16,7 +16,7 @@ export class SecretFormatter<RowType = any> extends BaseColumnFormatter
16
16
  decrypted = await this.decryptor(decrypted);
17
17
  return decrypted;
18
18
  };
19
- this.sensitive_formatter = new SensitiveFormatter(decryptor_secret, this.isSensitive, this.width);
19
+ this.sensitive_formatter = new SensitiveFormatter(decryptor_secret, this.isSensitive, copy, this.width);
20
20
  }
21
21
  override format(value: any, col: TableColumnInfo, row: TableRowInfo<RowType>, printable: boolean): any
22
22
  {
@@ -18,7 +18,6 @@ import { NSAWorkspaceListDialog } from '../components/NSAWorkspaceListDialog';
18
18
  import { IEntityInfo } from '../IEntityInfo';
19
19
  import { NSACacheService } from '../NSACacheService';
20
20
  import { NSARouterMakerProps } from '../NSARouterMakerProps';
21
- import { NSATaskService } from '../NSATaskService';
22
21
  import { UseParams } from '../UseParams';
23
22
  import { Actions } from './Actions';
24
23
  import { NSASectionEdit, NSASectionEditCustomProps } from './NSASectionEdit';
@@ -102,6 +101,8 @@ interface NSALayoutState
102
101
  refresher: number;
103
102
  message_count: number;
104
103
  showDeleteDialog: boolean;
104
+ delete_ids: string[];
105
+ delete_title: string;
105
106
  showMessageListDialog: boolean;
106
107
  showAccessListDialog: boolean;
107
108
  showProductListDialog: boolean;
@@ -129,6 +130,7 @@ export class NSALayout<RowType extends { id: string }, RowTypeInput = RowType> e
129
130
  NSASectionList_Ref = createRef<NSASectionList<RowType, RowTypeInput>>();
130
131
  NSASectionEdit_Ref = createRef<NSASectionEdit<RowType, RowTypeInput>>();
131
132
  NSASectionView_Ref = createRef<NSASectionView<RowType, RowTypeInput>>();
133
+ NSATaskBar_Ref = createRef<NSATaskBar<string>>();
132
134
 
133
135
  constructor(props: NSALayoutProps<RowType, RowTypeInput>)
134
136
  {
@@ -217,6 +219,8 @@ export class NSALayout<RowType extends { id: string }, RowTypeInput = RowType> e
217
219
  refresher: 0,
218
220
  message_count: 0,
219
221
  showDeleteDialog: false,
222
+ delete_ids: [],
223
+ delete_title: "",
220
224
  showMessageListDialog: false,
221
225
  showAccessListDialog: false,
222
226
  showProductListDialog: false,
@@ -238,56 +242,45 @@ export class NSALayout<RowType extends { id: string }, RowTypeInput = RowType> e
238
242
  }).catch(() => { });
239
243
  }
240
244
 
241
- private runDelete(ids: string[], name: string): void
245
+ private async runDelete(ids: string[], name: string): Promise<void>
242
246
  {
243
- const del = this.props.pages?.entity.server.delete;
244
- if (!del)
247
+ if (!this.props.pages?.entity.server.delete)
245
248
  return;
246
- NSATaskService.main.run<string>({
247
- title: ids.length === 1 ? `Deleting ${name}` : `Deleting ${ids.length} ${name}s`,
248
- items: ids,
249
- handler: async (id) => { await del(id); },
250
- onFinished: (result) =>
251
- {
252
- const deletedIds = result.succeeded;
253
249
 
254
- if (deletedIds.length > 0)
255
- this.props.notifier.onSuccess(
256
- deletedIds.length === 1
257
- ? `${name} was deleted successfully.`
258
- : `${deletedIds.length} ${name}s were deleted successfully.`
259
- );
260
- if (result.failed.length > 0)
261
- this.props.notifier.onError(new Error(`Failed to delete ${result.failed.length} ${name}${result.failed.length > 1 ? "s" : ""}.`));
250
+ await new Promise<void>(resolve => this.setState(prev => ({ ...prev, delete_ids: ids, delete_title: `Deleting ${name}` }), resolve));
262
251
 
263
- if (deletedIds.length === 0)
264
- return;
252
+ const result = await this.NSATaskBar_Ref.current?.run();
253
+ if (!result)
254
+ return;
265
255
 
266
- if (this.props.pages?.list)
267
- {
268
- let table = this.NSASectionList_Ref.current?.NSATable_Main.current;
269
- if (table)
270
- {
271
- let selected_ids = table.getSelectedIDs().filter(id => !deletedIds.includes(id));
272
- let selected_rows = table.getSelectedRows().filter(row => !deletedIds.includes(row.id));
273
- table.setSelectedIDs(selected_ids, selected_rows);
274
- table.reload(null, null);
275
- }
276
- }
277
- else if (this.props.pages?.edit)
278
- {
279
- if (this.props.pages.entity.client.getListURL)
280
- this.props.url.redirect(this.props.pages.entity.client.getListURL(), {});
281
- else if (this.props.pages.entity.client.getViewURL)
282
- this.props.url.redirect(this.props.pages.entity.client.getViewURL(deletedIds[0]), {});
283
- }
284
- else if (this.props.pages?.view)
285
- {
286
- if (this.props.pages.entity.client.getListURL)
287
- this.props.url.redirect(this.props.pages.entity.client.getListURL(), {});
288
- }
256
+ const deletedIds = result.succeeded;
257
+
258
+ if (deletedIds.length === 0)
259
+ return;
260
+
261
+ if (this.props.pages?.list)
262
+ {
263
+ let table = this.NSASectionList_Ref.current?.NSATable_Main.current;
264
+ if (table)
265
+ {
266
+ let selected_ids = table.getSelectedIDs().filter(id => !deletedIds.includes(id));
267
+ let selected_rows = table.getSelectedRows().filter(row => !deletedIds.includes(row.id));
268
+ table.setSelectedIDs(selected_ids, selected_rows);
269
+ table.reload(null, null);
289
270
  }
290
- });
271
+ }
272
+ else if (this.props.pages?.edit)
273
+ {
274
+ if (this.props.pages.entity.client.getListURL)
275
+ this.props.url.redirect(this.props.pages.entity.client.getListURL(), {});
276
+ else if (this.props.pages.entity.client.getViewURL)
277
+ this.props.url.redirect(this.props.pages.entity.client.getViewURL(deletedIds[0]), {});
278
+ }
279
+ else if (this.props.pages?.view)
280
+ {
281
+ if (this.props.pages.entity.client.getListURL)
282
+ this.props.url.redirect(this.props.pages.entity.client.getListURL(), {});
283
+ }
291
284
  }
292
285
 
293
286
  override componentDidMount(): void
@@ -784,7 +777,17 @@ export class NSALayout<RowType extends { id: string }, RowTypeInput = RowType> e
784
777
  <NSLoading />
785
778
  }
786
779
  </NSLayout>
787
- <NSATaskBar />
780
+ <NSATaskBar<string>
781
+ ref={this.NSATaskBar_Ref}
782
+ title={this.state.delete_title}
783
+ items={this.state.delete_ids}
784
+ handler={async (id) =>
785
+ {
786
+ const del = this.props.pages?.entity.server.delete;
787
+ if (del)
788
+ await del(id);
789
+ }}
790
+ />
788
791
  </div >
789
792
  );
790
793
  }
@@ -1,35 +0,0 @@
1
- export type NSATaskStatus = "running" | "completed" | "cancelled";
2
- export interface NSATask {
3
- id: string;
4
- title: string;
5
- total: number;
6
- completed: number;
7
- succeeded: number;
8
- failed: number;
9
- status: NSATaskStatus;
10
- cancel: () => void;
11
- }
12
- export interface NSATaskResult<T> {
13
- succeeded: T[];
14
- failed: T[];
15
- cancelled: boolean;
16
- }
17
- export interface NSATaskRunOptions<T> {
18
- title: string;
19
- items: T[];
20
- handler: (item: T, index: number) => Promise<void>;
21
- onItemError?: (item: T, error: any, index: number) => void;
22
- onFinished?: (result: NSATaskResult<T>) => void;
23
- }
24
- export declare class NSATaskService {
25
- static main: NSATaskService;
26
- private tasks;
27
- private listeners;
28
- private counter;
29
- private removeDelayMs;
30
- subscribe(listener: () => void): () => void;
31
- getTasks(): NSATask[];
32
- private emit;
33
- dismiss(id: string): void;
34
- run<T>(options: NSATaskRunOptions<T>): NSATask;
35
- }
@@ -1,80 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- export class NSATaskService {
11
- constructor() {
12
- this.tasks = [];
13
- this.listeners = new Set();
14
- this.counter = 0;
15
- this.removeDelayMs = 4000;
16
- }
17
- subscribe(listener) {
18
- this.listeners.add(listener);
19
- return () => {
20
- this.listeners.delete(listener);
21
- };
22
- }
23
- getTasks() {
24
- return this.tasks;
25
- }
26
- emit() {
27
- this.listeners.forEach(listener => listener());
28
- }
29
- dismiss(id) {
30
- this.tasks = this.tasks.filter(task => task.id !== id);
31
- this.emit();
32
- }
33
- run(options) {
34
- this.counter += 1;
35
- const id = `nsa-task-${this.counter}`;
36
- let cancelled = false;
37
- const task = {
38
- id,
39
- title: options.title,
40
- total: options.items.length,
41
- completed: 0,
42
- succeeded: 0,
43
- failed: 0,
44
- status: "running",
45
- cancel: () => { cancelled = true; }
46
- };
47
- this.tasks = [...this.tasks, task];
48
- this.emit();
49
- const execute = () => __awaiter(this, void 0, void 0, function* () {
50
- var _a, _b;
51
- const succeeded = [];
52
- const failed = [];
53
- for (let index = 0; index < options.items.length; index++) {
54
- if (cancelled)
55
- break;
56
- const item = options.items[index];
57
- try {
58
- yield options.handler(item, index);
59
- succeeded.push(item);
60
- task.succeeded += 1;
61
- }
62
- catch (error) {
63
- failed.push(item);
64
- task.failed += 1;
65
- (_a = options.onItemError) === null || _a === void 0 ? void 0 : _a.call(options, item, error, index);
66
- }
67
- task.completed += 1;
68
- this.emit();
69
- }
70
- task.status = cancelled ? "cancelled" : "completed";
71
- this.emit();
72
- (_b = options.onFinished) === null || _b === void 0 ? void 0 : _b.call(options, { succeeded, failed, cancelled });
73
- window.setTimeout(() => this.dismiss(id), this.removeDelayMs);
74
- });
75
- execute();
76
- return task;
77
- }
78
- }
79
- NSATaskService.main = new NSATaskService();
80
- //# sourceMappingURL=NSATaskService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NSATaskService.js","sourceRoot":"","sources":["../src/NSATaskService.ts"],"names":[],"mappings":"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"}
@@ -1,123 +0,0 @@
1
- export type NSATaskStatus = "running" | "completed" | "cancelled";
2
-
3
- export interface NSATask
4
- {
5
- id: string;
6
- title: string;
7
- total: number;
8
- completed: number;
9
- succeeded: number;
10
- failed: number;
11
- status: NSATaskStatus;
12
- cancel: () => void;
13
- }
14
-
15
- export interface NSATaskResult<T>
16
- {
17
- succeeded: T[];
18
- failed: T[];
19
- cancelled: boolean;
20
- }
21
-
22
- export interface NSATaskRunOptions<T>
23
- {
24
- title: string;
25
- items: T[];
26
- handler: (item: T, index: number) => Promise<void>;
27
- onItemError?: (item: T, error: any, index: number) => void;
28
- onFinished?: (result: NSATaskResult<T>) => void;
29
- }
30
-
31
- export class NSATaskService
32
- {
33
- public static main = new NSATaskService();
34
- private tasks: NSATask[] = [];
35
- private listeners: Set<() => void> = new Set();
36
- private counter: number = 0;
37
- private removeDelayMs: number = 4000;
38
-
39
- subscribe(listener: () => void): () => void
40
- {
41
- this.listeners.add(listener);
42
- return () =>
43
- {
44
- this.listeners.delete(listener);
45
- };
46
- }
47
-
48
- getTasks(): NSATask[]
49
- {
50
- return this.tasks;
51
- }
52
-
53
- private emit(): void
54
- {
55
- this.listeners.forEach(listener => listener());
56
- }
57
-
58
- dismiss(id: string): void
59
- {
60
- this.tasks = this.tasks.filter(task => task.id !== id);
61
- this.emit();
62
- }
63
-
64
- run<T>(options: NSATaskRunOptions<T>): NSATask
65
- {
66
- this.counter += 1;
67
- const id = `nsa-task-${this.counter}`;
68
-
69
- let cancelled = false;
70
- const task: NSATask = {
71
- id,
72
- title: options.title,
73
- total: options.items.length,
74
- completed: 0,
75
- succeeded: 0,
76
- failed: 0,
77
- status: "running",
78
- cancel: () => { cancelled = true; }
79
- };
80
-
81
- this.tasks = [...this.tasks, task];
82
- this.emit();
83
-
84
- const execute = async () =>
85
- {
86
- const succeeded: T[] = [];
87
- const failed: T[] = [];
88
-
89
- for (let index = 0; index < options.items.length; index++)
90
- {
91
- if (cancelled)
92
- break;
93
-
94
- const item = options.items[index];
95
- try
96
- {
97
- await options.handler(item, index);
98
- succeeded.push(item);
99
- task.succeeded += 1;
100
- }
101
- catch (error: any)
102
- {
103
- failed.push(item);
104
- task.failed += 1;
105
- options.onItemError?.(item, error, index);
106
- }
107
- task.completed += 1;
108
- this.emit();
109
- }
110
-
111
- task.status = cancelled ? "cancelled" : "completed";
112
- this.emit();
113
-
114
- options.onFinished?.({ succeeded, failed, cancelled });
115
-
116
- window.setTimeout(() => this.dismiss(id), this.removeDelayMs);
117
- };
118
-
119
- execute();
120
-
121
- return task;
122
- }
123
- }