@voplus/morpho-workspace 1.1.0-dev034 → 1.1.0-dev035

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.
Files changed (163) hide show
  1. package/es/modules/calendar/pages/CalendarMonth/index.js +2 -1
  2. package/es/modules/calendar/pages/CalendarMonth/index.js.map +1 -1
  3. package/es/modules/meeting/MeetingRoutes.d.ts +3 -1
  4. package/es/modules/meeting/components/AgendaList/AgendaItem/index.js +6 -6
  5. package/es/modules/meeting/components/AgendaList/AgendaItem/index.js.map +1 -1
  6. package/es/modules/meeting/components/MeetingDescription/index.js +5 -12
  7. package/es/modules/meeting/components/MeetingDescription/index.js.map +1 -1
  8. package/es/modules/meeting/components/MeetingHeader/index.js +7 -2
  9. package/es/modules/meeting/components/MeetingHeader/index.js.map +1 -1
  10. package/es/modules/meeting/pages/MeetingList/index.d.ts +3 -1
  11. package/es/modules/meeting/pages/MeetingList/index.js +3 -2
  12. package/es/modules/meeting/pages/MeetingList/index.js.map +1 -1
  13. package/es/modules/meeting/pages/MeetingPrintView/index.js +2 -3
  14. package/es/modules/meeting/pages/MeetingPrintView/index.js.map +1 -1
  15. package/es/modules/meeting/pages/MeetingTabView/index.js +4 -8
  16. package/es/modules/meeting/pages/MeetingTabView/index.js.map +1 -1
  17. package/es/modules/tasks/TasksRoutes.d.ts +3 -1
  18. package/es/modules/tasks/components/NewTaskForm/index.js +1 -1
  19. package/es/modules/tasks/components/NewTaskForm/index.js.map +1 -1
  20. package/es/modules/tasks/components/TaskDescription/index.js +7 -10
  21. package/es/modules/tasks/components/TaskDescription/index.js.map +1 -1
  22. package/es/modules/tasks/components/TaskItem/SubTaskItem.js +17 -8
  23. package/es/modules/tasks/components/TaskItem/SubTaskItem.js.map +1 -1
  24. package/es/modules/tasks/components/TaskItem/state.d.ts +2 -0
  25. package/es/modules/tasks/components/TaskItem/state.js.map +1 -1
  26. package/es/modules/tasks/components/TaskItem/subTaskItem.less +12 -1
  27. package/es/modules/tasks/components/TaskPropertiesView/index.js +12 -11
  28. package/es/modules/tasks/components/TaskPropertiesView/index.js.map +1 -1
  29. package/es/modules/tasks/components/TaskQuickViewDialog/index.js +6 -2
  30. package/es/modules/tasks/components/TaskQuickViewDialog/index.js.map +1 -1
  31. package/es/modules/tasks/pages/TaskList/index.d.ts +3 -1
  32. package/es/modules/tasks/pages/TaskList/index.js +3 -2
  33. package/es/modules/tasks/pages/TaskList/index.js.map +1 -1
  34. package/es/modules/tasks/pages/TaskTabView/index.js +25 -25
  35. package/es/modules/tasks/pages/TaskTabView/index.js.map +1 -1
  36. package/es/pages/Project/ProjectDefaultView/index.d.ts +3 -0
  37. package/es/pages/Project/ProjectDefaultView/index.js +65 -0
  38. package/es/pages/Project/ProjectDefaultView/index.js.map +1 -0
  39. package/es/pages/Project/ProjectDefaultView/index.less +22 -0
  40. package/es/pages/Project/data/ProjectStore.d.ts +10 -0
  41. package/es/pages/Project/data/ProjectStore.js +16 -0
  42. package/es/pages/Project/data/ProjectStore.js.map +1 -0
  43. package/es/pages/Project/data/hook.d.ts +9 -0
  44. package/es/pages/Project/data/hook.js +20 -0
  45. package/es/pages/Project/data/hook.js.map +1 -0
  46. package/es/pages/Project/data/index.d.ts +3 -0
  47. package/es/pages/Project/data/index.js +4 -0
  48. package/es/pages/Project/data/index.js.map +1 -0
  49. package/es/pages/Project/data/interfaces.d.ts +2 -0
  50. package/es/pages/Project/data/interfaces.js +1 -0
  51. package/es/pages/Project/data/interfaces.js.map +1 -0
  52. package/es/pages/Routes.d.ts +23 -0
  53. package/es/pages/Routes.js +51 -0
  54. package/es/pages/Routes.js.map +1 -0
  55. package/es/pages/Space/components/Documents/index.d.ts +6 -0
  56. package/es/pages/Space/components/Documents/index.js +41 -0
  57. package/es/pages/Space/components/Documents/index.js.map +1 -0
  58. package/es/pages/Space/components/Documents/index.less +9 -0
  59. package/es/pages/Space/components/Notes/index.d.ts +4 -0
  60. package/es/pages/Space/components/Notes/index.js +26 -0
  61. package/es/pages/Space/components/Notes/index.js.map +1 -0
  62. package/es/pages/Space/components/Notes/index.less +0 -0
  63. package/es/pages/Space/components/Projects/index.d.ts +6 -0
  64. package/es/pages/Space/components/Projects/index.js +36 -0
  65. package/es/pages/Space/components/Projects/index.js.map +1 -0
  66. package/es/pages/Space/components/Projects/index.less +0 -0
  67. package/es/pages/Space/components/Tasks/index.d.ts +7 -0
  68. package/es/pages/Space/components/Tasks/index.js +43 -0
  69. package/es/pages/Space/components/Tasks/index.js.map +1 -0
  70. package/es/pages/Space/components/Tasks/index.less +17 -0
  71. package/es/pages/Space/components/TextNoteCard/index.d.ts +6 -0
  72. package/es/pages/Space/components/TextNoteCard/index.js +22 -0
  73. package/es/pages/Space/components/TextNoteCard/index.js.map +1 -0
  74. package/es/pages/Space/components/TextNoteCard/index.less +29 -0
  75. package/es/pages/Space/components/Works/index.d.ts +6 -0
  76. package/es/pages/Space/components/Works/index.js +43 -0
  77. package/es/pages/Space/components/Works/index.js.map +1 -0
  78. package/es/pages/Space/components/Works/index.less +18 -0
  79. package/es/pages/Space/pages/MySpace/index.d.ts +4 -0
  80. package/es/pages/Space/pages/MySpace/index.js +65 -0
  81. package/es/pages/Space/pages/MySpace/index.js.map +1 -0
  82. package/es/pages/Space/pages/MySpace/index.less +60 -0
  83. package/es/pages/Space/pages/MySpace/state.d.ts +9 -0
  84. package/es/pages/Space/pages/MySpace/state.js +31 -0
  85. package/es/pages/Space/pages/MySpace/state.js.map +1 -0
  86. package/es/pages/Work/components/ActionPlan/Item.d.ts +5 -0
  87. package/es/pages/Work/components/ActionPlan/Item.js +88 -0
  88. package/es/pages/Work/components/ActionPlan/Item.js.map +1 -0
  89. package/es/pages/Work/components/ActionPlan/index.d.ts +6 -0
  90. package/es/pages/Work/components/ActionPlan/index.js +53 -0
  91. package/es/pages/Work/components/ActionPlan/index.js.map +1 -0
  92. package/es/pages/Work/components/ActionPlan/index.less +96 -0
  93. package/es/pages/Work/components/ActionPlan/state.d.ts +15 -0
  94. package/es/pages/Work/components/ActionPlan/state.js +40 -0
  95. package/es/pages/Work/components/ActionPlan/state.js.map +1 -0
  96. package/es/pages/Work/components/ActionType/index.d.ts +15 -0
  97. package/es/pages/Work/components/ActionType/index.js +32 -0
  98. package/es/pages/Work/components/ActionType/index.js.map +1 -0
  99. package/es/pages/Work/components/ActionType/index.less +20 -0
  100. package/es/pages/Work/components/ScheduleActionForm/index.d.ts +10 -0
  101. package/es/pages/Work/components/ScheduleActionForm/index.js +50 -0
  102. package/es/pages/Work/components/ScheduleActionForm/index.js.map +1 -0
  103. package/es/pages/Work/components/ScheduleActionForm/index.less +15 -0
  104. package/es/pages/Work/components/WorkCheckList/index.d.ts +5 -0
  105. package/es/pages/Work/components/WorkCheckList/index.js +38 -0
  106. package/es/pages/Work/components/WorkCheckList/index.js.map +1 -0
  107. package/es/pages/Work/components/WorkSummaryCards/WorkActionsCard/index.d.ts +6 -0
  108. package/es/pages/Work/components/WorkSummaryCards/WorkActionsCard/index.js +28 -0
  109. package/es/pages/Work/components/WorkSummaryCards/WorkActionsCard/index.js.map +1 -0
  110. package/es/pages/Work/components/WorkSummaryCards/WorkActionsCard/state.d.ts +4 -0
  111. package/es/pages/Work/components/WorkSummaryCards/WorkActionsCard/state.js +8 -0
  112. package/es/pages/Work/components/WorkSummaryCards/WorkActionsCard/state.js.map +1 -0
  113. package/es/pages/Work/components/WorkSummaryCards/WorkBlockingsCard/index.d.ts +5 -0
  114. package/es/pages/Work/components/WorkSummaryCards/WorkBlockingsCard/index.js +11 -0
  115. package/es/pages/Work/components/WorkSummaryCards/WorkBlockingsCard/index.js.map +1 -0
  116. package/es/pages/Work/components/WorkSummaryCards/WorkDueCard/index.d.ts +5 -0
  117. package/es/pages/Work/components/WorkSummaryCards/WorkDueCard/index.js +22 -0
  118. package/es/pages/Work/components/WorkSummaryCards/WorkDueCard/index.js.map +1 -0
  119. package/es/pages/Work/components/WorkSummaryCards/WorkDueCard/state.d.ts +3 -0
  120. package/es/pages/Work/components/WorkSummaryCards/WorkDueCard/state.js +8 -0
  121. package/es/pages/Work/components/WorkSummaryCards/WorkDueCard/state.js.map +1 -0
  122. package/es/pages/Work/components/WorkSummaryCards/index.d.ts +5 -0
  123. package/es/pages/Work/components/WorkSummaryCards/index.js +57 -0
  124. package/es/pages/Work/components/WorkSummaryCards/index.js.map +1 -0
  125. package/es/pages/Work/components/WorkSummaryCards/index.less +32 -0
  126. package/es/pages/Work/components/WorkSummaryCards/state.d.ts +8 -0
  127. package/es/pages/Work/components/WorkSummaryCards/state.js +22 -0
  128. package/es/pages/Work/components/WorkSummaryCards/state.js.map +1 -0
  129. package/es/pages/Work/components/WorkTrail/index.d.ts +5 -0
  130. package/es/pages/Work/components/WorkTrail/index.js +14 -0
  131. package/es/pages/Work/components/WorkTrail/index.js.map +1 -0
  132. package/es/pages/Work/components/WorkTrail/index.less +18 -0
  133. package/es/pages/Work/data/ActionStore.d.ts +65 -0
  134. package/es/pages/Work/data/ActionStore.js +90 -0
  135. package/es/pages/Work/data/ActionStore.js.map +1 -0
  136. package/es/pages/Work/data/WorkContext.d.ts +12 -0
  137. package/es/pages/Work/data/WorkContext.js +26 -0
  138. package/es/pages/Work/data/WorkContext.js.map +1 -0
  139. package/es/pages/Work/data/WorkStore.d.ts +10 -0
  140. package/es/pages/Work/data/WorkStore.js +16 -0
  141. package/es/pages/Work/data/WorkStore.js.map +1 -0
  142. package/es/pages/Work/data/hook.d.ts +8 -0
  143. package/es/pages/Work/data/hook.js +44 -0
  144. package/es/pages/Work/data/hook.js.map +1 -0
  145. package/es/pages/Work/data/index.d.ts +6 -0
  146. package/es/pages/Work/data/index.js +7 -0
  147. package/es/pages/Work/data/index.js.map +1 -0
  148. package/es/pages/Work/data/interfaces.d.ts +36 -0
  149. package/es/pages/Work/data/interfaces.js +1 -0
  150. package/es/pages/Work/data/interfaces.js.map +1 -0
  151. package/es/pages/Work/data/useActionListEffect.d.ts +7 -0
  152. package/es/pages/Work/data/useActionListEffect.js +15 -0
  153. package/es/pages/Work/data/useActionListEffect.js.map +1 -0
  154. package/es/pages/Work/pages/WorkDefaultView/index.d.ts +3 -0
  155. package/es/pages/Work/pages/WorkDefaultView/index.js +59 -0
  156. package/es/pages/Work/pages/WorkDefaultView/index.js.map +1 -0
  157. package/es/pages/Work/pages/WorkDefaultView/index.less +12 -0
  158. package/es/pages/Work/pages/WorkDefaultView/state.d.ts +4 -0
  159. package/es/pages/Work/pages/WorkDefaultView/state.js +12 -0
  160. package/es/pages/Work/pages/WorkDefaultView/state.js.map +1 -0
  161. package/es/routes.js +2 -0
  162. package/es/routes.js.map +1 -1
  163. package/package.json +4 -4
@@ -0,0 +1,22 @@
1
+ import React, { useState } from "react";
2
+ import Card from "@voplus/morpho-ui/es/controls/Card";
3
+ import { State } from "./state";
4
+ import { Statistic } from "@voplus/antd";
5
+ import { useObserver } from "mobx-react-lite";
6
+ import { useWorkContext } from "../../../data";
7
+ const WorkDueCard = (props) => {
8
+ const [state] = useState(new State());
9
+ const { Countdown } = Statistic;
10
+ const context = useWorkContext();
11
+ useObserver(() => {
12
+ var _a;
13
+ state.deadline = (_a = context.actionItem) === null || _a === void 0 ? void 0 : _a.due;
14
+ });
15
+ return useObserver(() => (React.createElement(Card, { bordered: true, shadow: true, className: "work-card" },
16
+ React.createElement(Countdown, { title: "Due", value: state.deadline, format: "D [Days] H [Hours] m [Minutes] s [Seconds]" }))));
17
+ function onFinish() {
18
+ console.log("finished!");
19
+ }
20
+ };
21
+ export default WorkDueCard;
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/pages/Work/components/WorkSummaryCards/WorkDueCard/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAa,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,IAAI,MAAM,oCAAoC,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,GAAG,CAAC,KAAsB,EAAE,EAAE;IAC9C,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;IAChC,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IAEjC,WAAW,CAAC,GAAG,EAAE;;QAChB,KAAK,CAAC,QAAQ,SAAG,OAAO,CAAC,UAAU,0CAAE,GAAG,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,oBAAC,IAAI,IAAC,QAAQ,QAAC,MAAM,QAAC,SAAS,EAAC,WAAW;QAC1C,oBAAC,SAAS,IACT,KAAK,EAAC,KAAK,EACX,KAAK,EAAE,KAAK,CAAC,QAAQ,EACrB,MAAM,EAAC,4CAA4C,GAClD,CACI,CACP,CAAC,CAAC;IAEH,SAAS,QAAQ;QAChB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC1B,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare class State {
2
+ deadline: any;
3
+ }
@@ -0,0 +1,8 @@
1
+ import { __decorate } from "tslib";
2
+ import { observable } from "mobx";
3
+ export class State {
4
+ }
5
+ __decorate([
6
+ observable
7
+ ], State.prototype, "deadline", void 0);
8
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../../src/pages/Work/components/WorkSummaryCards/WorkDueCard/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,MAAM,OAAO,KAAK;CAEjB;AADY;IAAX,UAAU;uCAAsB"}
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ declare const WorkSummaryCards: (props: {
3
+ id: string;
4
+ }) => JSX.Element;
5
+ export default WorkSummaryCards;
@@ -0,0 +1,57 @@
1
+ import { useAutoUpdateListData, useDocumentListEffect } from "@voplus/morpho-document-core";
2
+ import { ListDataContext, useCreateListDataState } from "@voplus/morpho-ui/es/data";
3
+ import React, { useEffect, useRef, useState } from "react";
4
+ import DocumentCard from "@voplus/morpho-document/es/components/DocumentCard";
5
+ import ExtraDataCardList from "@voplus/morpho-ui/es/components/ExtraDataCardList";
6
+ import { State } from "./state";
7
+ import WorkActionsCard from "./WorkActionsCard";
8
+ import WorkBlockingsCard from "./WorkBlockingsCard";
9
+ import WorkDueCard from "./WorkDueCard";
10
+ import styles from "./index.less";
11
+ import { useObserver } from "mobx-react-lite";
12
+ import { useRenderOnChange } from "@voplus/morpho-ui";
13
+ const WorkSummaryCards = (props) => {
14
+ const extraRef = useRef(null);
15
+ const [state] = useState(new State());
16
+ /** 建立 ListView 和useDocumentListEffect所需的ListDataState. props.id重建所以不需reset. */
17
+ const list = useCreateListDataState({
18
+ filterDefaults: {
19
+ includes: "tags,path",
20
+ filters: [{ c: "ParentNodeId", o: "=", l: "And", v1: props.id }]
21
+ }
22
+ }, [props.id]);
23
+ useEffect(() => {
24
+ state.height = extraRef.current ? extraRef.current.clientHeight : 0;
25
+ }, [state.isExtraData, extraRef.current]);
26
+ /** 如果 list.filters.options变更了就重渲染,使下一行的useDocumentListEffect 可以接收新参数*/
27
+ useRenderOnChange(() => list.filters.options);
28
+ /** 把ListDataState传给useDocumentListEffect,使之可以自動更新loading, hasmore. */
29
+ useDocumentListEffect(list, result => list.union(result), list.filters.options);
30
+ /** useOnNewDocument, useOnDeleteDocument的sugar syntax 自動更新list. */
31
+ useAutoUpdateListData(list, d => d.parentId === props.id);
32
+ return useObserver(() => (React.createElement("div", { className: styles["work-summary"] },
33
+ React.createElement("div", { className: "work-summary-title" }, "Summary"),
34
+ React.createElement("div", { className: "work-summary-cards" },
35
+ React.createElement(WorkActionsCard, null),
36
+ React.createElement(WorkDueCard, { id: props.id }),
37
+ React.createElement(WorkBlockingsCard, { onClick: (e) => {
38
+ state.isExtraData = !state.isExtraData;
39
+ state.left = e.target.offsetLeft + e.target.offsetWidth / 2;
40
+ console.log("state.isExtraData", state.isExtraData);
41
+ } })),
42
+ React.createElement("div", { className: "work-extra-date", style: { height: state.height } }, state.isExtraData && (React.createElement("div", { ref: extraRef },
43
+ React.createElement(ListDataContext.Provider, { value: list },
44
+ React.createElement(ExtraDataCardList, { headerProps: {
45
+ searchHeader: true,
46
+ filterViewProps: {
47
+ columns: [React.createElement("div", { key: "1" })]
48
+ },
49
+ sortOptions: [
50
+ { label: "Name", value: "Name" },
51
+ { label: "Create Date", value: "CreateDate" }
52
+ ],
53
+ addAble: false
54
+ }, arrowLeft: state.left, segmentName: "hhhh", renderItem: ({ item }) => React.createElement(DocumentCard, { id: item.id, key: item.id }) }))))))));
55
+ };
56
+ export default WorkSummaryCards;
57
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/pages/Work/components/WorkSummaryCards/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ .work-summary {
2
+ padding: 10px;
3
+ :global {
4
+ .work-summary-title{
5
+ font-size: 18px;
6
+ font-weight: bold;
7
+ padding: 4px 10px 6px;
8
+ }
9
+ .work-summary-cards {
10
+ display: flex;
11
+ .work-card {
12
+ flex: 1;
13
+ margin: 0 10px;
14
+ cursor: pointer;
15
+ .card-title {
16
+ margin-bottom: 4px;
17
+ color: rgba(0, 0, 0, 0.45);
18
+ font-size: 14px;
19
+ }
20
+ .blocking-number {
21
+ color: rgba(0, 0, 0, 0.85);
22
+ font-size: 24px;
23
+ }
24
+ }
25
+ }
26
+ .work-extra-date{
27
+ height: 0;
28
+ margin: 0 10px;
29
+ transition: height 0.3s, border-color 0.1s;
30
+ }
31
+ }
32
+ }
@@ -0,0 +1,8 @@
1
+ export declare class State {
2
+ /** 是否显示ExtraDataCardList组件 */
3
+ isExtraData: boolean;
4
+ /** ExtraDataCardList组件箭头左位置 */
5
+ left: number;
6
+ /** ExtraDataList height */
7
+ height: number;
8
+ }
@@ -0,0 +1,22 @@
1
+ import { __decorate } from "tslib";
2
+ import { observable } from "mobx";
3
+ export class State {
4
+ constructor() {
5
+ /** 是否显示ExtraDataCardList组件 */
6
+ this.isExtraData = false;
7
+ /** ExtraDataCardList组件箭头左位置 */
8
+ this.left = 0;
9
+ /** ExtraDataList height */
10
+ this.height = 200;
11
+ }
12
+ }
13
+ __decorate([
14
+ observable
15
+ ], State.prototype, "isExtraData", void 0);
16
+ __decorate([
17
+ observable
18
+ ], State.prototype, "left", void 0);
19
+ __decorate([
20
+ observable
21
+ ], State.prototype, "height", void 0);
22
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/pages/Work/components/WorkSummaryCards/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAU,UAAU,EAAE,MAAM,MAAM,CAAC;AAE1C,MAAM,OAAO,KAAK;IAAlB;QACC,+BAA+B;QACZ,gBAAW,GAAG,KAAK,CAAC;QACvC,+BAA+B;QACZ,SAAI,GAAG,CAAC,CAAC;QAC5B,2BAA2B;QACR,WAAM,GAAG,GAAG,CAAC;IACjC,CAAC;CAAA;AALY;IAAX,UAAU;0CAA4B;AAE3B;IAAX,UAAU;mCAAiB;AAEhB;IAAX,UAAU;qCAAqB"}
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ declare const WorkTrail: (props: {
3
+ id: string;
4
+ }) => JSX.Element;
5
+ export default WorkTrail;
@@ -0,0 +1,14 @@
1
+ import ActionPlan from "../ActionPlan";
2
+ import ActivityLog from "@voplus/morpho-document/es/components/ActivityLog/ActivityLog2";
3
+ import React from "react";
4
+ import styles from "./index.less";
5
+ import { useObserver } from "mobx-react-lite";
6
+ const WorkTrail = (props) => {
7
+ const { id } = props;
8
+ return useObserver(() => (React.createElement("div", { className: styles["work-trail"] },
9
+ React.createElement("div", { className: "work-trail-title" }, "Trail"),
10
+ React.createElement(ActivityLog, { id: id, isHeader: false },
11
+ React.createElement(ActionPlan, { id: id, className: "trail-action" })))));
12
+ };
13
+ export default WorkTrail;
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/pages/Work/components/WorkTrail/index.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,eAAe,CAAC;AACvC,OAAO,WAAW,MAAM,gEAAgE,CAAC;AACzF,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,SAAS,GAAG,CAAC,KAAqB,EAAE,EAAE;IAC3C,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;IACrB,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,6BAAK,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC;QACnC,6BAAK,SAAS,EAAC,kBAAkB,YAAY;QAC7C,oBAAC,WAAW,IAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK;YACnC,oBAAC,UAAU,IAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAC,cAAc,GAAG,CAClC,CACT,CACN,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,18 @@
1
+ .work-trail{
2
+ height: 100%;
3
+ display: flex;
4
+ flex-direction: column;
5
+ :global{
6
+ .work-trail-title{
7
+ font-size: 18px;
8
+ font-weight: bold;
9
+ padding: 4px 20px 6px;
10
+ }
11
+ .trail-action{
12
+ margin-top: -6px;
13
+ }
14
+ .activity-log-view .activity-time-line .ant-timeline{
15
+ margin: 0 20px;
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,65 @@
1
+ import { ApiEndPoint } from "@voplus/api";
2
+ import { CountedMap, Store } from "@voplus/morpho-data";
3
+ import { IAction, IActionType } from "./interfaces";
4
+ import { LoadDocumentListOptions } from "@voplus/morpho-document-core";
5
+ /** Custom load action options type */
6
+ export declare type LoadActionOptions = {
7
+ reload?: boolean;
8
+ };
9
+ /** Custom load action list options type. */
10
+ export declare type ActionCreateOptions = {
11
+ /** The parent node id of the new action to be created in. */
12
+ ParentNodeId: string;
13
+ /** set type of the new action. */
14
+ ActionType: IActionType;
15
+ /** set due date of the new action. */
16
+ Due?: Date;
17
+ /** set note of the new action. */
18
+ Note?: string;
19
+ };
20
+ export declare type EditActionOptions = {
21
+ /** set type of the new action. */
22
+ Type?: IActionType;
23
+ /** set due date of the new action. */
24
+ Due?: string;
25
+ /** set note of the new action. */
26
+ Note?: string;
27
+ };
28
+ /** Custom load action list options type. */
29
+ export declare type DeleteActionOptions = {
30
+ DeleteChilds?: boolean;
31
+ };
32
+ export declare class ActionStore extends Store {
33
+ private readonly _api;
34
+ /** Name of the store */
35
+ readonly name: string;
36
+ /** Action created event dispatcher */
37
+ private readonly _actionCreated;
38
+ private readonly _actionDeleted;
39
+ /** Event fires when a new action has been created. */
40
+ get ActionCreatedEvent(): import("strongly-typed-events").IEvent<ActionStore, IAction>;
41
+ /** Event fires when a delete action has been deleted. */
42
+ get ActionDeletedEvent(): import("strongly-typed-events").IEvent<ActionStore, IAction>;
43
+ /** All currently used actions. */
44
+ readonly items: CountedMap<string, IAction>;
45
+ /** Create a default actions object with optional default values. */
46
+ static createDefaultActions(defaultValues?: Partial<IAction>): IAction;
47
+ constructor(_api: ApiEndPoint);
48
+ /** Load a actions from server.
49
+ * @param {string} id - id of the actions.
50
+ * @param {LoadActionOptions} options - Optional load options.
51
+ */
52
+ load(id: string, options?: LoadActionOptions): Promise<IAction>;
53
+ /** Create a new actions base on type. */
54
+ createAction(options: ActionCreateOptions): Promise<IAction>;
55
+ /** Edit an existing item on server. */
56
+ editAction(id: string, options: EditActionOptions): Promise<void>;
57
+ deleteAction(ids: string[], options: DeleteActionOptions): Promise<IAction[]>;
58
+ /** Load a list of actions of a document from server.
59
+ * @param id - id of the document.
60
+ * @param {LoadDocumentListOptions}
61
+ */
62
+ loadDocumentActionList(options?: LoadDocumentListOptions): Promise<IAction[]>;
63
+ }
64
+ /** 响应钩子检索 ActionStore */
65
+ export declare const useActionStore: () => ActionStore;
@@ -0,0 +1,90 @@
1
+ import { __decorate } from "tslib";
2
+ import { RequestBuilder } from "@voplus/api";
3
+ import { CountedMap, Store, useApplicationContext } from "@voplus/morpho-data";
4
+ import { loadListFromServer } from "@voplus/morpho-document-core";
5
+ import { action, observable } from "mobx";
6
+ import { EventDispatcher } from "strongly-typed-events";
7
+ import invariant from "invariant";
8
+ const StoreName = "ActionStore";
9
+ export class ActionStore extends Store {
10
+ constructor(_api) {
11
+ super();
12
+ this._api = _api;
13
+ /** Name of the store */
14
+ this.name = StoreName;
15
+ /** Action created event dispatcher */
16
+ this._actionCreated = new EventDispatcher();
17
+ this._actionDeleted = new EventDispatcher();
18
+ /** All currently used actions. */
19
+ this.items = new CountedMap((key) => ({ id: key, loaded: false }), observable.map([], { deep: true }));
20
+ invariant(_api, `API cannot be ${_api}.`);
21
+ }
22
+ /** Event fires when a new action has been created. */
23
+ get ActionCreatedEvent() {
24
+ return this._actionCreated.asEvent();
25
+ }
26
+ /** Event fires when a delete action has been deleted. */
27
+ get ActionDeletedEvent() {
28
+ return this._actionDeleted.asEvent();
29
+ }
30
+ /** Create a default actions object with optional default values. */
31
+ static createDefaultActions(defaultValues) {
32
+ const v = { id: "" };
33
+ if (defaultValues)
34
+ Object.assign(v, defaultValues);
35
+ return v;
36
+ }
37
+ /** Load a actions from server.
38
+ * @param {string} id - id of the actions.
39
+ * @param {LoadActionOptions} options - Optional load options.
40
+ */
41
+ async load(id, options) {
42
+ const r = await this._api.get(`/api/actions/${id}`);
43
+ return (await r.json());
44
+ }
45
+ /** Create a new actions base on type. */
46
+ async createAction(options) {
47
+ invariant(options.ActionType, "actionType cannot be empty.");
48
+ const r = await this._api.post(`/api/actions/create`, new RequestBuilder().json(options));
49
+ const t = await r.json();
50
+ this._actionCreated.dispatch(this, t);
51
+ return t;
52
+ }
53
+ /** Edit an existing item on server. */
54
+ async editAction(id, options) {
55
+ const r = await this._api.post(`/api/actions/${id}/info`, new RequestBuilder().json(options));
56
+ const t = (await r.json());
57
+ this.items.overwrite(t.id, t);
58
+ }
59
+ async deleteAction(ids, options) {
60
+ await this._api.delete(`/api/actions/delete`, new RequestBuilder().json({ Ids: ids, Options: options }));
61
+ const deleted = [];
62
+ for (const id of ids) {
63
+ const item = this.items.peek(id);
64
+ if (item) {
65
+ deleted.push(item);
66
+ this._actionDeleted.dispatch(this, item);
67
+ }
68
+ }
69
+ return deleted;
70
+ }
71
+ /** Load a list of actions of a document from server.
72
+ * @param id - id of the document.
73
+ * @param {LoadDocumentListOptions}
74
+ */
75
+ async loadDocumentActionList(options) {
76
+ return await loadListFromServer({ endpoint: this._api, path: `/api/actions` }, options);
77
+ }
78
+ }
79
+ __decorate([
80
+ action
81
+ ], ActionStore.prototype, "deleteAction", null);
82
+ /** 响应钩子检索 ActionStore */
83
+ export const useActionStore = () => {
84
+ const context = useApplicationContext();
85
+ if (!context.getStore(StoreName)) {
86
+ context.addStore(new ActionStore(context.api.currentEndPoint));
87
+ }
88
+ return context.getStore(StoreName);
89
+ };
90
+ //# sourceMappingURL=ActionStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionStore.js","sourceRoot":"","sources":["../../../../src/pages/Work/data/ActionStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import { IAction } from ".";
3
+ export declare class WorkContextState {
4
+ actionItem?: IAction;
5
+ setActionItem(item: IAction): void;
6
+ /** Retrieve a clean ListOptionsObject */
7
+ get options(): {
8
+ ActionItem: IAction | undefined;
9
+ };
10
+ }
11
+ export declare const WorkContext: import("react").Context<WorkContextState>;
12
+ export declare const useWorkContext: () => WorkContextState;
@@ -0,0 +1,26 @@
1
+ import { __decorate } from "tslib";
2
+ import { action, computed, observable, toJS } from "mobx";
3
+ import { createContext, useContext } from "react";
4
+ export class WorkContextState {
5
+ setActionItem(item) {
6
+ this.actionItem = item;
7
+ }
8
+ /** Retrieve a clean ListOptionsObject */
9
+ get options() {
10
+ return {
11
+ ActionItem: toJS(this.actionItem)
12
+ };
13
+ }
14
+ }
15
+ __decorate([
16
+ observable
17
+ ], WorkContextState.prototype, "actionItem", void 0);
18
+ __decorate([
19
+ action
20
+ ], WorkContextState.prototype, "setActionItem", null);
21
+ __decorate([
22
+ computed
23
+ ], WorkContextState.prototype, "options", null);
24
+ export const WorkContext = createContext(null);
25
+ export const useWorkContext = () => useContext(WorkContext);
26
+ //# sourceMappingURL=WorkContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkContext.js","sourceRoot":"","sources":["../../../../src/pages/Work/data/WorkContext.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAIlD,MAAM,OAAO,gBAAgB;IAKrB,aAAa,CAAC,IAAa;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,yCAAyC;IAEzC,IAAW,OAAO;QACjB,OAAO;YACN,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;SACjC,CAAC;IACH,CAAC;CACD;AAfY;IAAX,UAAU;oDAA6B;AAIxC;IAFC,MAAM;qDAIN;AAID;IADC,QAAQ;+CAKR;AAGF,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAmB,IAAW,CAAC,CAAC;AAExE,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { CreateDocumentOptions, DocumentStore, DocumentTypeStore, LoadDocumentListOptions, LoadDocumentOptions } from "@voplus/morpho-document-core";
2
+ import { IWorkDocument, IWorkEditOptions } from "./interfaces";
3
+ import { ApiEndPoint } from "@voplus/api";
4
+ export declare class WorkStore extends DocumentTypeStore<IWorkDocument, LoadDocumentOptions, LoadDocumentListOptions, CreateDocumentOptions, IWorkEditOptions, any> {
5
+ /** Name of the store */
6
+ readonly name: string;
7
+ constructor(endpoint: ApiEndPoint, documents: DocumentStore);
8
+ }
9
+ /** 响应钩子检索 PageStore */
10
+ export declare const useWorkStore: () => WorkStore;
@@ -0,0 +1,16 @@
1
+ import { DocumentTypeStore, useDocumentStore } from "@voplus/morpho-document-core";
2
+ import { useStore } from "@voplus/morpho-data";
3
+ const StoreName = "WorkStore";
4
+ export class WorkStore extends DocumentTypeStore {
5
+ constructor(endpoint, documents) {
6
+ super(endpoint, "/api/work", documents);
7
+ /** Name of the store */
8
+ this.name = StoreName;
9
+ }
10
+ }
11
+ /** 响应钩子检索 PageStore */
12
+ export const useWorkStore = () => {
13
+ const documents = useDocumentStore();
14
+ return useStore(StoreName, context => new WorkStore(context.api.currentEndPoint, documents));
15
+ };
16
+ //# sourceMappingURL=WorkStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkStore.js","sourceRoot":"","sources":["../../../../src/pages/Work/data/WorkStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,iBAAiB,EAIjB,gBAAgB,EAChB,MAAM,8BAA8B,CAAC;AAItC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,MAAM,SAAS,GAAG,WAAW,CAAC;AAE9B,MAAM,OAAO,SAAU,SAAQ,iBAO9B;IAIA,YAAmB,QAAqB,EAAE,SAAwB;QACjE,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAJzC,wBAAwB;QACR,SAAI,GAAW,SAAS,CAAC;IAIzC,CAAC;CACD;AAED,uBAAuB;AACvB,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAChC,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IACrC,OAAO,QAAQ,CACd,SAAS,EACT,OAAO,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAChE,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { ActionStore, IAction, IWorkDocument, LoadActionOptions } from ".";
2
+ import { LoadDocumentOptions } from "@voplus/morpho-document-core";
3
+ export declare const useWork: (id: string, options?: LoadDocumentOptions | undefined) => IWorkDocument;
4
+ export declare const useAction: (id: string, options?: LoadActionOptions | undefined) => IAction;
5
+ /** React hook to call action when a new Action has been created. */
6
+ export declare const useOnNewAction: (action: (store: ActionStore, doc: IAction) => void) => void;
7
+ /** React hook to call action when a delete Action has been created. */
8
+ export declare const useOnDeleteAction: (action: (store: ActionStore, doc: IAction) => void) => void;
@@ -0,0 +1,44 @@
1
+ import { useActionStore, useWorkStore } from ".";
2
+ import { useDocumentStore } from "@voplus/morpho-document-core";
3
+ import { useEffect } from "react";
4
+ import { useLoadCountedMapItem } from "@voplus/morpho-data";
5
+ export const useWork = (id, options) => {
6
+ options = options ? options : {};
7
+ const store = useWorkStore();
8
+ const documents = useDocumentStore();
9
+ return useLoadCountedMapItem(id, documents.items, () => store.load(id, options), options);
10
+ };
11
+ export const useAction = (id, options) => {
12
+ options = options ? options : {};
13
+ const store = useActionStore();
14
+ return useLoadCountedMapItem(id, store.items, () => store.load(id, options), options);
15
+ };
16
+ /** React hook to call action when a new Action has been created. */
17
+ export const useOnNewAction = (action) => {
18
+ const store = useActionStore();
19
+ const onNewAction = (store, doc) => {
20
+ console.log(`onNewAction - ${doc.id}`);
21
+ action(store, doc);
22
+ };
23
+ useEffect(() => {
24
+ store.ActionCreatedEvent.subscribe(onNewAction);
25
+ return () => {
26
+ store.ActionCreatedEvent.unsubscribe(onNewAction);
27
+ };
28
+ });
29
+ };
30
+ /** React hook to call action when a delete Action has been created. */
31
+ export const useOnDeleteAction = (action) => {
32
+ const store = useActionStore();
33
+ const onDeleteAction = (store, doc) => {
34
+ console.log(`onDeleteAction - ${doc.id}`);
35
+ action(store, doc);
36
+ };
37
+ useEffect(() => {
38
+ store.ActionDeletedEvent.subscribe(onDeleteAction);
39
+ return () => {
40
+ store.ActionDeletedEvent.unsubscribe(onDeleteAction);
41
+ };
42
+ });
43
+ };
44
+ //# sourceMappingURL=hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../../src/pages/Work/data/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAKN,cAAc,EACd,YAAY,EACZ,MAAM,GAAG,CAAC;AACX,OAAO,EAAuB,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErF,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,OAA6B,EAAE,EAAE;IACpE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,EAA0B,CAAC;IAC1D,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IAErC,OAAO,qBAAqB,CAC3B,EAAE,EACF,SAAS,CAAC,KAAK,EACf,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAQ,CAAC,EAC9B,OAAO,CACU,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAU,EAAE,OAA2B,EAAE,EAAE;IACpE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,EAAwB,CAAC;IACxD,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,OAAO,qBAAqB,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AACvF,CAAC,CAAC;AAEF,oEAAoE;AACpE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAkD,EAAE,EAAE;IACpF,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,CAAC,KAAkB,EAAE,GAAY,EAAE,EAAE;QACxD,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACd,KAAK,CAAC,kBAAkB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAChD,OAAO,GAAG,EAAE;YACX,KAAK,CAAC,kBAAkB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,uEAAuE;AACvE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAkD,EAAE,EAAE;IACvF,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,cAAc,GAAG,CAAC,KAAkB,EAAE,GAAY,EAAE,EAAE;QAC3D,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACd,KAAK,CAAC,kBAAkB,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACnD,OAAO,GAAG,EAAE;YACX,KAAK,CAAC,kBAAkB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACtD,CAAC,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "./WorkStore";
2
+ export * from "./ActionStore";
3
+ export * from "./hook";
4
+ export * from "./interfaces";
5
+ export * from "./useActionListEffect";
6
+ export * from "./WorkContext";
@@ -0,0 +1,7 @@
1
+ export * from "./WorkStore";
2
+ export * from "./ActionStore";
3
+ export * from "./hook";
4
+ export * from "./interfaces";
5
+ export * from "./useActionListEffect";
6
+ export * from "./WorkContext";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/pages/Work/data/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { EditDocumentOptions, IDocument } from "@voplus/morpho-document-core";
2
+ import { ILoadable } from "@voplus/morpho-data";
3
+ export declare type IActionType = "Followup" | "Meeting" | "Call";
4
+ export interface IAction extends ILoadable {
5
+ /** Id of the action. */
6
+ id: string;
7
+ /** parentNodeID of the action. */
8
+ parentNodeID?: string;
9
+ /** type of the action. */
10
+ type: IActionType;
11
+ /** note of the action. */
12
+ note?: string;
13
+ /** due of the action. */
14
+ due?: Date;
15
+ }
16
+ export interface ICheckListItem {
17
+ key?: string;
18
+ /** checked of the CheckListItem. */
19
+ checked: boolean;
20
+ /** item name of the CheckListItem. */
21
+ item: string;
22
+ }
23
+ export interface IWorkDocument extends IDocument {
24
+ /** actions of the work. */
25
+ actions: IAction[];
26
+ due?: Date;
27
+ /** checklist of the work. */
28
+ checkList: ICheckListItem[];
29
+ }
30
+ export interface IWorkEditOptions extends EditDocumentOptions {
31
+ /** New checklist of the work. */
32
+ CheckList?: {
33
+ Checked: boolean;
34
+ Item: string;
35
+ }[];
36
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/pages/Work/data/interfaces.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { IAction } from ".";
2
+ import { LoadDocumentListOptions } from "@voplus/morpho-document-core";
3
+ /** React hook to retrieve a list of actions.
4
+ * @param effect - Effect callback to be ran after successful retrieved the list.
5
+ * @param options - Optional action list loading options.
6
+ */
7
+ export declare const useActionListEffect: (effect: (list: IAction[]) => void, options?: LoadDocumentListOptions | undefined) => void;
@@ -0,0 +1,15 @@
1
+ import { useActionStore } from ".";
2
+ import { useDeepDepEffect } from "@voplus/morpho-data";
3
+ /** React hook to retrieve a list of actions.
4
+ * @param effect - Effect callback to be ran after successful retrieved the list.
5
+ * @param options - Optional action list loading options.
6
+ */
7
+ export const useActionListEffect = (effect, options) => {
8
+ const deps = options ? options : {};
9
+ const store = useActionStore();
10
+ // Call useDeepDepEffect directly because returned actions do not need to be stored in counted map.
11
+ useDeepDepEffect(() => {
12
+ store.loadDocumentActionList(options).then(effect);
13
+ }, [deps]);
14
+ };
15
+ //# sourceMappingURL=useActionListEffect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useActionListEffect.js","sourceRoot":"","sources":["../../../../src/pages/Work/data/useActionListEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,EAAE,MAAM,GAAG,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAClC,MAAiC,EACjC,OAAiC,EAChC,EAAE;IACH,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,EAA8B,CAAC;IACjE,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAE/B,mGAAmG;IACnG,gBAAgB,CAAC,GAAG,EAAE;QACrB,KAAK,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC"}