@voplus/morpho-csp 11.2.10 → 11.2.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/data/filing-record/FilingRecordStore.d.ts +3 -1
- package/es/data/filing-record/FilingRecordStore.js +40 -13
- package/es/data/filing-record/FilingRecordStore.js.map +1 -1
- package/es/modules/corporate/filing-record/filing-type/components/FilingReminderTemplateReference/index.d.ts +12 -0
- package/es/modules/corporate/filing-record/filing-type/components/FilingReminderTemplateReference/index.js +19 -0
- package/es/modules/corporate/filing-record/filing-type/components/FilingReminderTemplateReference/index.js.map +1 -0
- package/es/modules/corporate/filing-record/filing-type/components/FilingTypeReminderScheduleList/index.js +2 -2
- package/es/modules/corporate/filing-record/filing-type/components/FilingTypeReminderScheduleList/index.js.map +1 -1
- package/es/modules/corporate/filing-record/filing-type/pages/FilingTypeDefaultView/index.d.ts +1 -0
- package/es/modules/corporate/filing-record/filing-type/pages/FilingTypeDefaultView/index.js +46 -7
- package/es/modules/corporate/filing-record/filing-type/pages/FilingTypeDefaultView/index.js.map +1 -1
- package/es/modules/corporate/filing-record/pages/FilingDefaultView/index.js +42 -4
- package/es/modules/corporate/filing-record/pages/FilingDefaultView/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -14,6 +14,8 @@ export declare class FilingRecordStore extends Store {
|
|
|
14
14
|
private readonly _filingRecordCreated;
|
|
15
15
|
/** Share the plan store used by mounted reminder views. */
|
|
16
16
|
constructor(endpoint: ApiEndPoint, actionPlanStore: ActionPlanStore);
|
|
17
|
+
/** Read the surviving parent's reminder projection after a confirmed plan deletion. */
|
|
18
|
+
private refreshDeletedReminder;
|
|
17
19
|
/** All currently used corporate. */
|
|
18
20
|
readonly items: CountedMap<string, IFilingRecord>;
|
|
19
21
|
/** Event fires when a delete filingRecord has been deleted. */
|
|
@@ -26,7 +28,7 @@ export declare class FilingRecordStore extends Store {
|
|
|
26
28
|
/** Edit an existing item on server. */
|
|
27
29
|
edit(id: string, options: EditFilingRecordOptions): Promise<void>;
|
|
28
30
|
/** filingRecord 內有文件不能delete */
|
|
29
|
-
delete(ids: string[], options?: DeleteFilingRecordOptions): Promise<
|
|
31
|
+
delete(ids: string[], options?: DeleteFilingRecordOptions): Promise<IFilingRecord[] | undefined>;
|
|
30
32
|
/** Load a list of documents from server.
|
|
31
33
|
* @param {LoadDocumentListOptions}
|
|
32
34
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RequestBuilder } from "@voplus/api";
|
|
2
2
|
import { CountedMap, Store, useApplicationContext, } from "@voplus/morpho-data";
|
|
3
|
-
import { observable } from "mobx";
|
|
3
|
+
import { observable, runInAction } from "mobx";
|
|
4
4
|
import { EventDispatcher } from "strongly-typed-events";
|
|
5
5
|
import { useActionPlanStore } from "@voplus/morpho-document/es/data/action-plan";
|
|
6
6
|
const StoreName = "FilingRecordStore";
|
|
@@ -17,6 +17,44 @@ export class FilingRecordStore extends Store {
|
|
|
17
17
|
super();
|
|
18
18
|
this.endpoint = endpoint;
|
|
19
19
|
this.actionPlanStore = actionPlanStore;
|
|
20
|
+
// Both stores are application-context services with the same lifetime.
|
|
21
|
+
this.actionPlanStore.ActionPlanDeletedEvent.subscribe((_sender, plan) => {
|
|
22
|
+
for (const id of this.items.keys()) {
|
|
23
|
+
const filing = this.items.peek(id);
|
|
24
|
+
if (filing.actionPlanId === plan.id)
|
|
25
|
+
void this.refreshDeletedReminder(filing, plan.id);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
/** Read the surviving parent's reminder projection after a confirmed plan deletion. */
|
|
30
|
+
async refreshDeletedReminder(filing, deletedPlanId) {
|
|
31
|
+
/** A closed, reopened or reassociated filing must not receive this old request's result. */
|
|
32
|
+
const isCurrent = () => this.items.has(filing.id)
|
|
33
|
+
&& this.items.peek(filing.id) === filing && filing.actionPlanId === deletedPlanId;
|
|
34
|
+
if (!isCurrent())
|
|
35
|
+
return;
|
|
36
|
+
await this.action(async () => {
|
|
37
|
+
try {
|
|
38
|
+
const snapshot = await this.load(filing.id, { includes: "reminder" });
|
|
39
|
+
if (!isCurrent())
|
|
40
|
+
return;
|
|
41
|
+
if (snapshot.id !== filing.id || !snapshot.reminderStatus) {
|
|
42
|
+
throw new Error("The filing reminder response is incomplete or belongs to another filing.");
|
|
43
|
+
}
|
|
44
|
+
// spec:4105 — CSP: 删除提醒计划保留申报及 ActionPlan 能力
|
|
45
|
+
// spec:2925 — CSP: 申报属性显示提醒无法运行的原因
|
|
46
|
+
runInAction(() => {
|
|
47
|
+
// overwrite skips undefined, but an absent association must clear the deleted ID.
|
|
48
|
+
filing.actionPlanId = snapshot.actionPlanId;
|
|
49
|
+
filing.reminderStatus = snapshot.reminderStatus;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
catch (cause) {
|
|
53
|
+
if (!isCurrent())
|
|
54
|
+
return;
|
|
55
|
+
throw new Error("Reminder plan deleted, but the filing reminder status could not refresh. Please reload the filing.", { cause });
|
|
56
|
+
}
|
|
57
|
+
}, { error: "message" });
|
|
20
58
|
}
|
|
21
59
|
/** All currently used corporate. */
|
|
22
60
|
items = new CountedMap((key) => ({ id: key, loaded: false }), observable.map([], { deep: true }));
|
|
@@ -62,18 +100,7 @@ export class FilingRecordStore extends Store {
|
|
|
62
100
|
}
|
|
63
101
|
/** filingRecord 內有文件不能delete */
|
|
64
102
|
async delete(ids, options) {
|
|
65
|
-
return await this.
|
|
66
|
-
await this.endpoint.delete(`/api/csp/corporate/filings/delete`, new RequestBuilder().json({ Ids: ids, Options: options?.data }));
|
|
67
|
-
const deleted = [];
|
|
68
|
-
for (const id of ids) {
|
|
69
|
-
const item = this.items.peek(id);
|
|
70
|
-
if (item) {
|
|
71
|
-
deleted.push(item);
|
|
72
|
-
this._filingRecordDeleted.dispatch(this, item);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
return deleted;
|
|
76
|
-
}, options);
|
|
103
|
+
return await this.deleteCachedAction(this.items, ids, () => this.endpoint.delete(`/api/csp/corporate/filings/delete`, new RequestBuilder().json({ Ids: ids, Options: options?.data })), (item) => this._filingRecordDeleted.dispatch(this, item), options);
|
|
77
104
|
}
|
|
78
105
|
/** Load a list of documents from server.
|
|
79
106
|
* @param {LoadDocumentListOptions}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilingRecordStore.js","sourceRoot":"","sources":["../../../src/data/filing-record/FilingRecordStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,cAAc,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EACN,UAAU,EACV,KAAK,EACL,qBAAqB,GAGrB,MAAM,qBAAqB,CAAC;AAU7B,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"FilingRecordStore.js","sourceRoot":"","sources":["../../../src/data/filing-record/FilingRecordStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/** The current action response controls whether a template name may be displayed. */
|
|
3
|
+
export interface FilingReminderTemplateReferenceProps {
|
|
4
|
+
/** Template identity and the name allowed by the action response. */
|
|
5
|
+
file: {
|
|
6
|
+
id: string;
|
|
7
|
+
name?: string | null;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
/** Follow saved title edits without loading documents or replacing a withheld name from cache. */
|
|
11
|
+
export declare const FilingReminderTemplateReference: ({ file }: FilingReminderTemplateReferenceProps) => React.JSX.Element;
|
|
12
|
+
export default FilingReminderTemplateReference;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { useCountedMapItemOrNull } from "@voplus/morpho-data";
|
|
3
|
+
import { useDocumentStore } from "@voplus/morpho-document-core";
|
|
4
|
+
import { observe } from "@voplus/morpho-ui";
|
|
5
|
+
import LoadedDocumentLink from "@voplus/morpho-document/es/controls/DocumentReference/LoadedDocumentLink";
|
|
6
|
+
/** Follow saved title edits without loading documents or replacing a withheld name from cache. */
|
|
7
|
+
export const FilingReminderTemplateReference = ({ file }) => {
|
|
8
|
+
const documents = useDocumentStore();
|
|
9
|
+
const hasName = Boolean(file.name?.trim());
|
|
10
|
+
const document = useCountedMapItemOrNull(documents.items, hasName ? file.id : undefined);
|
|
11
|
+
return observe(() => {
|
|
12
|
+
const name = hasName
|
|
13
|
+
? (document?.name?.trim() ? document.name : file.name)
|
|
14
|
+
: "Message template";
|
|
15
|
+
return React.createElement(LoadedDocumentLink, { key: file.id, file: { id: file.id, name } });
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
export default FilingReminderTemplateReference;
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/modules/corporate/filing-record/filing-type/components/FilingReminderTemplateReference/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,kBAAkB,MAAM,0EAA0E,CAAC;AAQ1G,kGAAkG;AAClG,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,EAAE,IAAI,EAAwC,EAAqB,EAAE;IACpH,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,uBAAuB,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEzF,OAAO,OAAO,CAAC,GAAG,EAAE;QACnB,MAAM,IAAI,GAAG,OAAO;YACnB,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAK,CAAC;YACvD,CAAC,CAAC,kBAAkB,CAAC;QACtB,OAAO,oBAAC,kBAAkB,IAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,GAAI,CAAC;IAC1E,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,+BAA+B,CAAC"}
|
|
@@ -3,10 +3,10 @@ import cn from "classnames";
|
|
|
3
3
|
import { Modal, Skeleton, Tooltip, message } from "antd";
|
|
4
4
|
import { observe } from "@voplus/morpho-ui";
|
|
5
5
|
import { faPenSolid, faTrashXmarkRegular, FontAwesomeIcon as FAIcon, } from "@voplus/morpho-ui/es/faIcons";
|
|
6
|
-
import LoadedDocumentLink from "@voplus/morpho-document/es/controls/DocumentReference/LoadedDocumentLink";
|
|
7
6
|
import { useActionPlan, } from "@voplus/morpho-document/es/data/action-plan";
|
|
8
7
|
import { useFilingTypeStore } from "../../../../../../data/filing-type";
|
|
9
8
|
import ReminderActionForm from "../ReminderActionForm";
|
|
9
|
+
import FilingReminderTemplateReference from "../FilingReminderTemplateReference";
|
|
10
10
|
// spec:2356 — CSP: Filing type's Reminders tab — schedule list with Option-C row layout
|
|
11
11
|
// spec:2353 — CSP: Configuring a filing type's reminders backfills reminder plans onto its open filing records
|
|
12
12
|
// (reachable via this UI because saves route through filingTypeStore.edit → FilingType.EditAsync)
|
|
@@ -83,7 +83,7 @@ const ReminderRow = (props) => {
|
|
|
83
83
|
React.createElement("div", { className: "flex min-w-0 flex-1 basis-[180px] flex-col" },
|
|
84
84
|
React.createElement("span", { className: "text-sm text-font-primary break-words" }, humanizeType(action.type)),
|
|
85
85
|
action.data?.template?.key && (React.createElement("span", { className: "text-xs text-font-grey break-words" },
|
|
86
|
-
React.createElement(
|
|
86
|
+
React.createElement(FilingReminderTemplateReference, { file: { id: action.data.template.key, name: action.data.template.value } })))),
|
|
87
87
|
React.createElement("div", { className: cn("ml-auto flex shrink-0 items-center gap-xs transition-opacity", hover ? "opacity-100" : "opacity-0") },
|
|
88
88
|
React.createElement(Tooltip, { title: "Edit" },
|
|
89
89
|
React.createElement("button", { type: "button", "aria-label": "Edit reminder", onClick: onEdit, className: "w-7 h-7 inline-flex items-center justify-center border border-border bg-bg-white rounded text-font-grey hover:text-font-secondary hover:border-font-secondary cursor-pointer" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/modules/corporate/filing-record/filing-type/components/FilingTypeReminderScheduleList/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACN,UAAU,EACV,mBAAmB,EACnB,eAAe,IAAI,MAAM,GACzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/modules/corporate/filing-record/filing-type/components/FilingTypeReminderScheduleList/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import React, { useEffect, useState, useMemo } from "react";
|
|
1
|
+
import React, { useEffect, useState, useMemo, useRef } from "react";
|
|
2
2
|
import { useTabItem } from "@voplus/morpho-data";
|
|
3
3
|
import { observe } from "@voplus/morpho-ui";
|
|
4
4
|
import { useFilingType } from "../../../../../../data/filing-type";
|
|
5
|
+
import { useOnDeleteFilingType } from "../../../../../../data/filing-type/filing-type-events";
|
|
5
6
|
import { useParams } from "react-router";
|
|
6
7
|
import { runInAction } from "mobx";
|
|
7
|
-
import { Space } from "antd";
|
|
8
|
+
import { Button, Space } from "antd";
|
|
8
9
|
import { useHandleError } from "@voplus/morpho-document-core";
|
|
9
10
|
import { faEllipsisVerticalSolid, faScrollSolid, FontAwesomeIcon as FAIcon, } from "@voplus/morpho-ui/es/faIcons";
|
|
10
11
|
import ToolBar from "@voplus/morpho-document-core/es/controls/ToolBar";
|
|
@@ -16,16 +17,54 @@ import FilingTypeMenu from "../../controls/FilingTypeMenu";
|
|
|
16
17
|
import FilingTypeTabs from "../../components/FilingTypeTabs";
|
|
17
18
|
import FilingTypeProperties from "../../components/FilingTypeProperties";
|
|
18
19
|
import "./index.css";
|
|
20
|
+
/** Keep deletion and failed-load state scoped to this route's entity identity. */
|
|
19
21
|
const FilingTypeDefaultView = () => {
|
|
20
22
|
const { id } = useParams();
|
|
21
|
-
|
|
23
|
+
return React.createElement(FilingTypePage, { key: id, id: id });
|
|
24
|
+
};
|
|
25
|
+
/** Remove editable content after confirmed deletion or failed loading without choosing a new route. */
|
|
26
|
+
const FilingTypePage = ({ id }) => {
|
|
27
|
+
const [deleted, setDeleted] = useState(false);
|
|
28
|
+
const [loadFailed, setLoadFailed] = useState(false);
|
|
22
29
|
const handleError = useHandleError();
|
|
23
|
-
const filingType = useFilingType(id, { onError: handleError });
|
|
24
30
|
const tab = useTabItem();
|
|
25
|
-
|
|
31
|
+
useOnDeleteFilingType((_store, filingType) => {
|
|
32
|
+
if (filingType.id === id)
|
|
33
|
+
setDeleted(true);
|
|
34
|
+
});
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
if (deleted || loadFailed)
|
|
37
|
+
runInAction(() => { tab.title = deleted ? "Deleted filing type" : "Unable to load filing type"; });
|
|
38
|
+
}, [deleted, loadFailed, tab]);
|
|
39
|
+
if (deleted)
|
|
40
|
+
return React.createElement("div", { role: "status", className: "p-lg text-font-grey" }, "This filing type has been deleted.");
|
|
41
|
+
if (loadFailed)
|
|
42
|
+
return React.createElement("div", { role: "alert", className: "flex flex-col items-start gap-md p-lg" },
|
|
43
|
+
React.createElement("p", null, "Unable to load filing type"),
|
|
44
|
+
React.createElement(Button, { onClick: () => setLoadFailed(false) }, "Retry"));
|
|
45
|
+
return React.createElement(FilingTypeContent, { id: id, onError: (error) => {
|
|
46
|
+
handleError(error);
|
|
47
|
+
setLoadFailed(true);
|
|
48
|
+
} });
|
|
49
|
+
};
|
|
50
|
+
/** Remounting after Retry invokes the real loader; unmounted requests cannot affect another page. */
|
|
51
|
+
const FilingTypeContent = ({ id, onError }) => {
|
|
52
|
+
const [packUp, setPackUp] = useState(false);
|
|
53
|
+
const tab = useTabItem();
|
|
54
|
+
const active = useRef(true);
|
|
26
55
|
useEffect(() => {
|
|
27
|
-
|
|
28
|
-
|
|
56
|
+
active.current = true;
|
|
57
|
+
return () => { active.current = false; };
|
|
58
|
+
}, []);
|
|
59
|
+
const filingType = useFilingType(id, {
|
|
60
|
+
onError: (error) => { if (active.current)
|
|
61
|
+
onError(error); },
|
|
62
|
+
onLoad: (loaded) => {
|
|
63
|
+
if (active.current)
|
|
64
|
+
runInAction(() => { tab.title = loaded.name; });
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
const menuContext = useMemo(() => new NodeMenuState(id), [id]);
|
|
29
68
|
return observe(() => (React.createElement(DefaultViewLayout, { className: "filing-type-default-view", header: React.createElement(PageHeadDashboard, { avatarIcon: React.createElement(FAIcon, { icon: faScrollSolid }), title: filingType.name, upAble: true, onPackUp: (up) => setPackUp(up), description: "Organize, filter, and manage filings by type for better efficiency.", rightExtra: React.createElement(NodeMenuContext.Provider, { value: menuContext },
|
|
30
69
|
React.createElement(Space, { className: "menu-buttons" },
|
|
31
70
|
React.createElement(Access, null))), toolMenu: React.createElement(ToolBar, { id: id, showMenu: false },
|
package/es/modules/corporate/filing-record/filing-type/pages/FilingTypeDefaultView/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/modules/corporate/filing-record/filing-type/pages/FilingTypeDefaultView/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/modules/corporate/filing-record/filing-type/pages/FilingTypeDefaultView/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import React, { useMemo, useState } from "react";
|
|
1
|
+
import React, { useEffect, useMemo, useRef, useState } from "react";
|
|
2
2
|
import { observe, useAutorunEffect } from "@voplus/morpho-ui";
|
|
3
3
|
import { useParams } from "react-router-dom";
|
|
4
4
|
import FilingRecordProperties from "../../components/FilingRecordProperties";
|
|
5
5
|
import FilingRecordTabs from "../../components/FilingRecordTabs";
|
|
6
6
|
import { useFilingRecord } from "../../../../../data/filing-record";
|
|
7
|
+
import { useOnDeleteFilingRecore } from "../../../../../data/filing-record/filing-record-events";
|
|
8
|
+
import { runInAction } from "mobx";
|
|
7
9
|
import { faEllipsisVerticalSolid, faScrollOldSolid, FontAwesomeIcon as FAIcon, } from "@voplus/morpho-ui/es/faIcons";
|
|
8
10
|
import ToolBar from "@voplus/morpho-document-core/es/controls/ToolBar";
|
|
9
|
-
import { Space } from "antd";
|
|
11
|
+
import { Button, Space } from "antd";
|
|
10
12
|
import { useApplicationContext, useTabItem } from "@voplus/morpho-data";
|
|
11
13
|
import { Access } from "@voplus/morpho-document-core/es/controls/NodeMenu/items";
|
|
12
14
|
import { NodeMenuContext, NodeMenuState, } from "@voplus/morpho-document-core/es/controls/NodeMenu/state";
|
|
@@ -19,15 +21,51 @@ import "./index.css";
|
|
|
19
21
|
/** The FilingRecord Page component with router parameters support. */
|
|
20
22
|
const FilingDefaultView = () => {
|
|
21
23
|
const { id } = useParams();
|
|
24
|
+
return React.createElement(FilingPage, { key: id, id: id });
|
|
25
|
+
};
|
|
26
|
+
/** Keep confirmed deletion and load failure local to the current route's identity. */
|
|
27
|
+
const FilingPage = ({ id }) => {
|
|
28
|
+
const [deleted, setDeleted] = useState(false);
|
|
29
|
+
const [loadFailed, setLoadFailed] = useState(false);
|
|
30
|
+
const handleError = useHandleError();
|
|
31
|
+
const tab = useTabItem();
|
|
32
|
+
useOnDeleteFilingRecore((_store, filing) => {
|
|
33
|
+
if (filing.id === id)
|
|
34
|
+
setDeleted(true);
|
|
35
|
+
});
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
if (deleted || loadFailed)
|
|
38
|
+
runInAction(() => {
|
|
39
|
+
tab.title = deleted ? "Deleted filing" : "Unable to load filing";
|
|
40
|
+
});
|
|
41
|
+
}, [deleted, loadFailed, tab]);
|
|
42
|
+
if (deleted)
|
|
43
|
+
return React.createElement("div", { role: "status", className: "p-lg text-font-grey" }, "This filing has been deleted.");
|
|
44
|
+
if (loadFailed)
|
|
45
|
+
return React.createElement("div", { role: "alert", className: "flex flex-col items-start gap-md p-lg" },
|
|
46
|
+
React.createElement("p", null, "Unable to load filing"),
|
|
47
|
+
React.createElement(Button, { onClick: () => setLoadFailed(false) }, "Retry"));
|
|
48
|
+
return React.createElement(FilingContent, { id: id, onError: (error) => {
|
|
49
|
+
handleError(error);
|
|
50
|
+
setLoadFailed(true);
|
|
51
|
+
} });
|
|
52
|
+
};
|
|
53
|
+
/** Retry remounts the loader; callbacks from an unmounted route cannot change its successor. */
|
|
54
|
+
const FilingContent = ({ id, onError }) => {
|
|
22
55
|
const tab = useTabItem();
|
|
23
56
|
const menuContext = useMemo(() => new NodeMenuState(id), [id]);
|
|
24
57
|
const { user } = useApplicationContext();
|
|
25
58
|
const [packUp, setPackUp] = useState(false);
|
|
26
|
-
const
|
|
59
|
+
const active = useRef(true);
|
|
60
|
+
useEffect(() => {
|
|
61
|
+
active.current = true;
|
|
62
|
+
return () => { active.current = false; };
|
|
63
|
+
}, []);
|
|
27
64
|
const filing = useFilingRecord(id, {
|
|
28
65
|
reload: true,
|
|
29
66
|
includes: "filing-year,permissions",
|
|
30
|
-
onError:
|
|
67
|
+
onError: (error) => { if (active.current)
|
|
68
|
+
onError(error); },
|
|
31
69
|
});
|
|
32
70
|
useAutorunEffect(() => (tab.title = "Filing"));
|
|
33
71
|
return observe(() => (React.createElement(DefaultViewLayout, { className: "filing-default-view", header: React.createElement(PageHeadDashboard, { avatarIcon: React.createElement(FAIcon, { icon: faScrollOldSolid }), title: filing.name, upAble: true, onPackUp: (up) => setPackUp(up), description: "A centralized view of all filing records and statuses.", rightExtra: React.createElement(NodeMenuContext.Provider, { value: menuContext },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/corporate/filing-record/pages/FilingDefaultView/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/corporate/filing-record/pages/FilingDefaultView/index.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voplus/morpho-csp",
|
|
3
|
-
"version": "11.2.
|
|
3
|
+
"version": "11.2.12",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://voplus.visualstudio.com/morpho-csp/_git/morpho-csp"
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"@voplus/morpho-center-core": "11.x",
|
|
33
33
|
"@voplus/morpho-collaboration-action": "11.x",
|
|
34
34
|
"@voplus/morpho-compliance": "11.x",
|
|
35
|
-
"@voplus/morpho-data": "^6.2.
|
|
35
|
+
"@voplus/morpho-data": "^6.2.2",
|
|
36
36
|
"@voplus/morpho-document": "^11.2.7",
|
|
37
37
|
"@voplus/morpho-document-core": "11.x",
|
|
38
38
|
"@voplus/morpho-fields": "11.x",
|
|
@@ -64,6 +64,7 @@
|
|
|
64
64
|
"@voplus/morpho-client-test": "11.x",
|
|
65
65
|
"@voplus/morpho-lint": "1.x",
|
|
66
66
|
"@voplus/morpho-vite": "^3.2.0",
|
|
67
|
+
"eslint-plugin-storybook": "10.x",
|
|
67
68
|
"jsdom": "^26",
|
|
68
69
|
"react": "18.x",
|
|
69
70
|
"react-dom": "18.x",
|
|
@@ -71,8 +72,7 @@
|
|
|
71
72
|
"typescript": "6.x",
|
|
72
73
|
"vitest": "^3",
|
|
73
74
|
"vitest-fetch-mock": "^0.4",
|
|
74
|
-
"vitest-localstorage-mock": "^0.1"
|
|
75
|
-
"eslint-plugin-storybook": "10.x"
|
|
75
|
+
"vitest-localstorage-mock": "^0.1"
|
|
76
76
|
},
|
|
77
77
|
"optionalDependencies": {
|
|
78
78
|
"fsevents": "2.x"
|