@voplus/morpho-workspace 6.1.25 → 6.1.27

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 (56) hide show
  1. package/es/data/notification/NotificationStore.d.ts +7 -1
  2. package/es/data/notification/NotificationStore.js +9 -1
  3. package/es/data/notification/NotificationStore.js.map +1 -1
  4. package/es/data/work-schedule/WorkScheduleStore.d.ts +7 -1
  5. package/es/data/work-schedule/WorkScheduleStore.js +12 -4
  6. package/es/data/work-schedule/WorkScheduleStore.js.map +1 -1
  7. package/es/modules/notification/components/AllNewNotificationList/index.d.ts +2 -0
  8. package/es/modules/notification/components/AllNewNotificationList/index.js +3 -1
  9. package/es/modules/notification/components/AllNewNotificationList/index.js.map +1 -1
  10. package/es/modules/notification/components/NotificationOverview/index.d.ts +1 -2
  11. package/es/modules/notification/components/NotificationOverview/index.js +10 -12
  12. package/es/modules/notification/components/NotificationOverview/index.js.map +1 -1
  13. package/es/modules/notification/pages/NotificationListPage/index.js +34 -21
  14. package/es/modules/notification/pages/NotificationListPage/index.js.map +1 -1
  15. package/es/modules/notification/pages/NotificationListPage/state.d.ts +3 -2
  16. package/es/modules/notification/pages/NotificationListPage/state.js +26 -19
  17. package/es/modules/notification/pages/NotificationListPage/state.js.map +1 -1
  18. package/es/modules/tasks/components/TaskOverview/index.d.ts +1 -4
  19. package/es/modules/tasks/components/TaskOverview/index.js +15 -19
  20. package/es/modules/tasks/components/TaskOverview/index.js.map +1 -1
  21. package/es/modules/tasks/pages/TaskListPage/index.js +35 -24
  22. package/es/modules/tasks/pages/TaskListPage/index.js.map +1 -1
  23. package/es/modules/tasks/pages/TaskListPage/state.d.ts +6 -8
  24. package/es/modules/tasks/pages/TaskListPage/state.js +55 -72
  25. package/es/modules/tasks/pages/TaskListPage/state.js.map +1 -1
  26. package/es/modules/work/components/WorkOverview/index.d.ts +1 -4
  27. package/es/modules/work/components/WorkOverview/index.js +15 -21
  28. package/es/modules/work/components/WorkOverview/index.js.map +1 -1
  29. package/es/modules/work/components/WorkPanel/index.js +13 -14
  30. package/es/modules/work/components/WorkPanel/index.js.map +1 -1
  31. package/es/modules/work/pages/WorkListPage2/index.js +40 -29
  32. package/es/modules/work/pages/WorkListPage2/index.js.map +1 -1
  33. package/es/modules/work/pages/WorkListPage2/state.d.ts +5 -6
  34. package/es/modules/work/pages/WorkListPage2/state.js +68 -70
  35. package/es/modules/work/pages/WorkListPage2/state.js.map +1 -1
  36. package/es/modules/work/work-schedule/components/WorkScheduleOverview/index.d.ts +1 -4
  37. package/es/modules/work/work-schedule/components/WorkScheduleOverview/index.js +15 -17
  38. package/es/modules/work/work-schedule/components/WorkScheduleOverview/index.js.map +1 -1
  39. package/es/modules/work/work-schedule/pages/WorkScheduleListPage/index.js +34 -23
  40. package/es/modules/work/work-schedule/pages/WorkScheduleListPage/index.js.map +1 -1
  41. package/es/modules/work/work-schedule/pages/WorkScheduleListPage/state.d.ts +7 -6
  42. package/es/modules/work/work-schedule/pages/WorkScheduleListPage/state.js +89 -73
  43. package/es/modules/work/work-schedule/pages/WorkScheduleListPage/state.js.map +1 -1
  44. package/package.json +1 -1
  45. package/es/modules/notification/components/NotificationOverview/state.d.ts +0 -6
  46. package/es/modules/notification/components/NotificationOverview/state.js +0 -47
  47. package/es/modules/notification/components/NotificationOverview/state.js.map +0 -1
  48. package/es/modules/tasks/components/TaskOverview/state.d.ts +0 -8
  49. package/es/modules/tasks/components/TaskOverview/state.js +0 -65
  50. package/es/modules/tasks/components/TaskOverview/state.js.map +0 -1
  51. package/es/modules/work/components/WorkOverview/state.d.ts +0 -8
  52. package/es/modules/work/components/WorkOverview/state.js +0 -65
  53. package/es/modules/work/components/WorkOverview/state.js.map +0 -1
  54. package/es/modules/work/work-schedule/components/WorkScheduleOverview/state.d.ts +0 -8
  55. package/es/modules/work/work-schedule/components/WorkScheduleOverview/state.js +0 -63
  56. package/es/modules/work/work-schedule/components/WorkScheduleOverview/state.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import React, { useState } from "react";
1
+ import React, { useState, useMemo, useEffect } from "react";
2
2
  import { faListCheck } from "@fortawesome/pro-solid-svg-icons";
3
3
  import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
4
4
  import PageHeadDashboard from "@voplus/morpho-ui/es/components/layout/headers/PageHeadDashboard";
@@ -8,36 +8,47 @@ import SubTaskList from "../../components/SubTaskList";
8
8
  import DocumentTabs from "@voplus/morpho-document/es/components/DocumentTabs";
9
9
  import ActivityLog from "@voplus/morpho-org/es/components/ActivityLog2/ActivityLog2";
10
10
  import FilterLabel from "@voplus/morpho-ui/es/controls/FilterLabel";
11
+ import { QuickFilterContext, QuickFilterContextState, } from "@voplus/morpho-ui/es/data/QuickFilterContext";
11
12
  import TaskPanel from "../../components/TaskPanel";
13
+ import { useTaskStore } from "@voplus/morpho-document-core";
12
14
  import { State } from "./state";
13
15
  import styles from "./index.less";
14
16
  const TaskListPage = (props) => {
15
- const [state] = useState(new State(props.contactId));
17
+ const store = useTaskStore();
18
+ const [state] = useState(new State(props.listProps.parentId));
16
19
  const [activeKey, setActiveKey] = useState("TaskList");
20
+ const context = useMemo(() => new QuickFilterContextState({
21
+ store: store,
22
+ listFilterOptions: state.listFilterOptions,
23
+ }), []);
24
+ useEffect(() => {
25
+ context.loadCounts();
26
+ }, []);
17
27
  return observe(() => {
18
28
  var _a, _b;
19
- return (React.createElement(DefaultViewLayout, { className: styles["task-list-page"], header: React.createElement(PageHeadDashboard, { avatarIcon: React.createElement(FAIcon, { icon: faListCheck }), title: "Tasks", upAble: true, description: "Stay on track: manage and prioritize your tasks" }), propertiesWidth: "295px", properties: React.createElement(TaskPanel, { overviewProps: {
20
- actives: state.status,
21
- dueActives: state.dueActives,
22
- onOverviewItemClick: (s) => state.onOverviewItemClick(s),
23
- onDueItemClick: (d) => state.onDueItemClick(d),
24
- }, taskFilterProps: {
25
- onFilter(options) {
26
- state.onFilterOptions(options);
27
- },
28
- } }) },
29
- React.createElement(DocumentTabs, { id: "", active: "TaskList", tabItems: [
30
- {
31
- key: "TaskList",
32
- label: "Task List",
33
- children: (React.createElement(SubTaskList, { ...props.listProps, className: "sub-list", filterVisible: false, filters: state.filerOptions })),
34
- },
35
- {
36
- key: "Activities",
37
- label: "Activities",
38
- children: (React.createElement(React.Fragment, null, activeKey === "Activities" ? (React.createElement(ActivityLog, { id: "", bar: false })) : null)),
39
- },
40
- ], onChange: (key) => setActiveKey(key), tabBarExtraContent: activeKey === "TaskList" ? (React.createElement("div", { className: "list-tabBar-filter" }, ((_a = state.status) === null || _a === void 0 ? void 0 : _a.includes("All")) ? ("Showed: Total All Tasks") : ((_b = state.status) === null || _b === void 0 ? void 0 : _b.length) || state.dueActives ? (React.createElement(FilterLabel, { status: state.status.concat(state.dueActives ? [state.dueActives] : []), maxCount: 2, onFilter: (s) => state.onFilterLabel(s) })) : undefined)) : undefined })));
29
+ return (React.createElement(QuickFilterContext.Provider, { value: context },
30
+ React.createElement(DefaultViewLayout, { className: styles["task-list-page"], header: React.createElement(PageHeadDashboard, { avatarIcon: React.createElement(FAIcon, { icon: faListCheck }), title: "Tasks", upAble: true, description: "Stay on track: manage and prioritize your tasks" }), propertiesWidth: "295px", properties: React.createElement(TaskPanel, { overviewProps: {
31
+ onOverviewItemClick: () => state.onOverviewItemClick(context.actives),
32
+ }, taskFilterProps: {
33
+ onFilter(options) {
34
+ state.onFilterOptions(options);
35
+ },
36
+ } }) },
37
+ React.createElement(DocumentTabs, { id: "", active: "TaskList", tabItems: [
38
+ {
39
+ key: "TaskList",
40
+ label: "Task List",
41
+ children: (React.createElement(SubTaskList, { ...props.listProps, className: "sub-list", filterVisible: false, filters: state.filerOptions, onTotalChanged: (total) => context.onChangeTotal(total) })),
42
+ },
43
+ {
44
+ key: "Activities",
45
+ label: "Activities",
46
+ children: (React.createElement(React.Fragment, null, activeKey === "Activities" ? (React.createElement(ActivityLog, { id: "", bar: false })) : null)),
47
+ },
48
+ ], onChange: (key) => setActiveKey(key), tabBarExtraContent: activeKey === "TaskList" ? (React.createElement("div", { className: "list-tabBar-filter" }, ((_a = context.actives) === null || _a === void 0 ? void 0 : _a.includes("All")) ? ("Showed: Total All Tasks") : ((_b = context.actives) === null || _b === void 0 ? void 0 : _b.length) ? (React.createElement(FilterLabel, { status: context.actives, maxCount: 2, onFilter: (s) => {
49
+ context.onFilterLabel(s);
50
+ state.onOverviewItemClick(context.actives);
51
+ } })) : undefined)) : undefined }))));
41
52
  });
42
53
  };
43
54
  export default TaskListPage;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tasks/pages/TaskListPage/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tasks/pages/TaskListPage/index.tsx"],"names":[],"mappings":"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"}
@@ -1,15 +1,13 @@
1
1
  import { FilterOption } from "@voplus/morpho-data";
2
+ import { ListFilterOptions } from "@voplus/morpho-ui/es/data/QuickFilterContext";
2
3
  export declare class State {
3
- private contactId?;
4
+ private parentId;
4
5
  /** 默认值 */
5
6
  filerOptions?: FilterOption[];
6
- status: string[];
7
- dueActives?: "overdue" | "week" | "month";
8
- constructor(contactId?: string | undefined);
7
+ listFilterOptions?: ListFilterOptions[];
8
+ overdueFilter: FilterOption;
9
+ constructor(parentId: string);
9
10
  onFilterOptions(options?: FilterOption[]): void;
10
- onDueItemClick(d: "overdue" | "week" | "month"): void;
11
11
  onOverviewItemClick(s?: string[]): void;
12
- onFilterLabel(s?: string): void;
13
- get statusFilerOptions(): FilterOption[];
14
- get dateFilerOptions(): FilterOption[];
12
+ getDateF(date: "week" | "month"): FilterOption;
15
13
  }
@@ -1,13 +1,13 @@
1
1
  import { __decorate } from "tslib";
2
- import { action, computed, makeObservable, observable, toJS } from "mobx";
2
+ import { action, makeObservable, observable, toJS } from "mobx";
3
3
  import dayjs from "dayjs";
4
4
  export class State {
5
- constructor(contactId) {
6
- Object.defineProperty(this, "contactId", {
5
+ constructor(parentId) {
6
+ Object.defineProperty(this, "parentId", {
7
7
  enumerable: true,
8
8
  configurable: true,
9
9
  writable: true,
10
- value: contactId
10
+ value: parentId
11
11
  });
12
12
  /** 默认值 */
13
13
  Object.defineProperty(this, "filerOptions", {
@@ -16,82 +16,74 @@ export class State {
16
16
  writable: true,
17
17
  value: void 0
18
18
  });
19
- Object.defineProperty(this, "status", {
19
+ Object.defineProperty(this, "listFilterOptions", {
20
20
  enumerable: true,
21
21
  configurable: true,
22
22
  writable: true,
23
- value: []
23
+ value: void 0
24
24
  });
25
- Object.defineProperty(this, "dueActives", {
25
+ Object.defineProperty(this, "overdueFilter", {
26
26
  enumerable: true,
27
27
  configurable: true,
28
28
  writable: true,
29
- value: void 0
29
+ value: {
30
+ c: "DueDate",
31
+ o: "<=",
32
+ l: "And",
33
+ v1: dayjs().format("YYYY-MM-DD"),
34
+ }
30
35
  });
31
36
  makeObservable(this);
37
+ const defaultFilter = { c: "ParentNodeId", o: "=", l: "And", v1: this.parentId };
38
+ const notStarted = { c: "TaskStatus", o: "=", l: "And", v1: "NotStarted" };
39
+ const progress = { c: "TaskStatus", o: "=", l: "And", v1: "Progress" };
40
+ const done = { c: "TaskStatus", o: "=", l: "And", v1: "Done" };
41
+ const closed = { c: "TaskStatus", o: "=", l: "And", v1: "Closed" };
42
+ const week = this.getDateF("week");
43
+ const month = this.getDateF("month");
44
+ this.listFilterOptions = [
45
+ { name: "All", filters: { Filters: [defaultFilter] } },
46
+ { name: "NotStarted", filters: { Filters: [defaultFilter, notStarted] } },
47
+ { name: "Progress", filters: { Filters: [defaultFilter, progress] } },
48
+ { name: "Done", filters: { Filters: [defaultFilter, done] } },
49
+ { name: "Closed", filters: { Filters: [defaultFilter, closed] } },
50
+ { name: "Overdue", filters: { Filters: [defaultFilter, this.overdueFilter] } },
51
+ { name: "ThisWeek", filters: { Filters: [defaultFilter, week] } },
52
+ { name: "ThisMonth", filters: { Filters: [defaultFilter, month] } },
53
+ ];
32
54
  this.onFilterOptions();
33
55
  }
34
56
  onFilterOptions(options) {
35
57
  this.filerOptions = options !== null && options !== void 0 ? options : [];
36
- // if (this.contactId && !this.filerOptions?.some((item) => item.c === "Contact")) {
37
- // this.filerOptions?.push({ c: "Contact", o: "=", l: "And", v1: this.contactId });
38
- // }
39
- }
40
- onDueItemClick(d) {
41
- this.dueActives = d;
42
- if (this.status.includes("All"))
43
- this.status = [];
44
- this.onFilterOptions(this.statusFilerOptions.concat(this.dateFilerOptions));
45
58
  }
46
59
  onOverviewItemClick(s) {
47
- this.status = s !== null && s !== void 0 ? s : [];
48
- if (this.status.includes("All"))
49
- this.dueActives = undefined;
50
- this.onFilterOptions(this.statusFilerOptions.concat(this.dateFilerOptions));
51
- }
52
- onFilterLabel(s) {
53
- if (s) {
54
- if (s === "overdue" || s === "week" || s === "month") {
55
- this.dueActives = undefined;
56
- }
57
- let status = toJS(this.status);
58
- status = status === null || status === void 0 ? void 0 : status.filter((i) => i !== s);
59
- this.onOverviewItemClick(status);
60
- }
61
- else {
62
- this.status = [];
63
- this.dueActives = undefined;
60
+ if (s === null || s === void 0 ? void 0 : s.includes("All")) {
64
61
  this.onFilterOptions();
65
62
  }
66
- }
67
- get statusFilerOptions() {
68
- let f = [];
69
- if (this.status.includes("All"))
70
- return f;
71
- let status = toJS(this.status);
72
- if (status === null || status === void 0 ? void 0 : status.length)
73
- f.push({ c: "TaskStatus", o: "contains", l: "And", v1: JSON.stringify(status) });
74
- return f;
75
- }
76
- get dateFilerOptions() {
77
- let f = [];
78
- if (this.status.includes("All"))
79
- return f;
80
- if (this.dueActives) {
81
- if (this.dueActives === "overdue") {
82
- f = [{ c: "DueDate", o: "<=", l: "And", v1: dayjs().format("YYYY-MM-DD") }];
63
+ else {
64
+ let status = toJS(s);
65
+ let f = [];
66
+ if (s === null || s === void 0 ? void 0 : s.includes("Overdue")) {
67
+ status = status === null || status === void 0 ? void 0 : status.filter((s) => s !== "Overdue");
68
+ f.push(this.overdueFilter);
83
69
  }
84
- else {
85
- const v1 = dayjs()
86
- .startOf(this.dueActives)
87
- .format("YYYY-MM-DD HH:mm:ss");
88
- const v2 = dayjs()
89
- .endOf(this.dueActives)
90
- .format("YYYY-MM-DD HH:mm:ss");
91
- f = [{ c: "DueDate", o: "between", l: "And", v1: v1, v2: v2 }];
70
+ if (s === null || s === void 0 ? void 0 : s.includes("ThisWeek")) {
71
+ status = status === null || status === void 0 ? void 0 : status.filter((s) => s !== "ThisWeek");
72
+ f.push(this.getDateF("week"));
92
73
  }
74
+ if (s === null || s === void 0 ? void 0 : s.includes("ThisMonth")) {
75
+ status = status === null || status === void 0 ? void 0 : status.filter((s) => s !== "ThisMonth");
76
+ f.push(this.getDateF("month"));
77
+ }
78
+ if (status === null || status === void 0 ? void 0 : status.length)
79
+ f.push({ c: "TaskStatus", o: "contains", l: "And", v1: JSON.stringify(status) });
80
+ this.onFilterOptions(f);
93
81
  }
94
- return f;
82
+ }
83
+ getDateF(date) {
84
+ const v1 = dayjs().startOf(date).format("YYYY-MM-DD HH:mm:ss");
85
+ const v2 = dayjs().endOf(date).format("YYYY-MM-DD HH:mm:ss");
86
+ return { c: "DueDate", o: "between", l: "And", v1: v1, v2: v2 };
95
87
  }
96
88
  }
97
89
  __decorate([
@@ -99,26 +91,17 @@ __decorate([
99
91
  ], State.prototype, "filerOptions", void 0);
100
92
  __decorate([
101
93
  observable
102
- ], State.prototype, "status", void 0);
94
+ ], State.prototype, "listFilterOptions", void 0);
103
95
  __decorate([
104
96
  observable
105
- ], State.prototype, "dueActives", void 0);
97
+ ], State.prototype, "overdueFilter", void 0);
106
98
  __decorate([
107
99
  action
108
100
  ], State.prototype, "onFilterOptions", null);
109
- __decorate([
110
- action
111
- ], State.prototype, "onDueItemClick", null);
112
101
  __decorate([
113
102
  action
114
103
  ], State.prototype, "onOverviewItemClick", null);
115
104
  __decorate([
116
105
  action
117
- ], State.prototype, "onFilterLabel", null);
118
- __decorate([
119
- computed
120
- ], State.prototype, "statusFilerOptions", null);
121
- __decorate([
122
- computed
123
- ], State.prototype, "dateFilerOptions", null);
106
+ ], State.prototype, "getDateF", null);
124
107
  //# sourceMappingURL=state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/modules/tasks/pages/TaskListPage/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/modules/tasks/pages/TaskListPage/state.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,6 @@
1
1
  import React from "react";
2
2
  export type WorkOverviewProps = {
3
- actives?: string[];
4
- dueActives?: string;
5
- onOverviewItemClick?: (status?: string[]) => void;
6
- onDueItemClick?: (date?: string) => void;
3
+ onOverviewItemClick?: () => void;
7
4
  };
8
5
  declare const WorkOverview: (props: WorkOverviewProps) => React.JSX.Element;
9
6
  export default WorkOverview;
@@ -1,35 +1,29 @@
1
- import React, { useState } from "react";
1
+ import React from "react";
2
2
  import { observe } from "@voplus/morpho-ui";
3
3
  import OverviewItem from "@voplus/morpho-ui/es/controls/PanelOverview/OverviewItem";
4
4
  import OverviewAll from "@voplus/morpho-ui/es/controls/PanelOverview/OverviewAll";
5
5
  import DueItem from "@voplus/morpho-ui/es/controls/PanelOverview/DueItem";
6
6
  import { Scrollbars } from "react-custom-scrollbars-2";
7
7
  import PanelOverview from "@voplus/morpho-ui/es/controls/PanelOverview";
8
+ import { useQuickFilterContext } from "@voplus/morpho-ui/es/data/QuickFilterContext";
9
+ import { Skeleton } from "antd";
8
10
  import classnames from "classnames";
9
- import { State } from "./state";
10
11
  import dayjs from "dayjs";
12
+ const status = ["Draft", "New", "Rejected", "Active", "Done", "Closed"];
13
+ const dues = ["Overdue", "ThisWeek", "ThisMonth"];
11
14
  const WorkOverview = (props) => {
12
- const { actives, dueActives, onOverviewItemClick, onDueItemClick } = props;
13
- const [state] = useState(new State());
14
- state.update(actives, dueActives);
15
+ const context = useQuickFilterContext();
15
16
  return observe(() => (React.createElement(Scrollbars, { autoHide: true },
16
- React.createElement(PanelOverview, { className: "work-overview", overviewAll: React.createElement(OverviewAll, { className: classnames({ active: state.actives.includes("All") }), total: 20, description: "Total All Works", onClick: () => onClick("All") }), overviewList: React.createElement(React.Fragment, null,
17
- React.createElement(OverviewItem, { className: classnames({ active: state.actives.includes("Draft") }), total: 20, description: "Draft", onClick: () => onClick("Draft") }),
18
- React.createElement(OverviewItem, { className: classnames({ active: state.actives.includes("New") }), total: 20, description: "New", onClick: () => onClick("New") }),
19
- React.createElement(OverviewItem, { className: classnames({ active: state.actives.includes("Rejected") }), total: 20, description: "Rejected", onClick: () => onClick("Rejected") }),
20
- React.createElement(OverviewItem, { className: classnames({ active: state.actives.includes("Active") }), total: 20, description: "Active", onClick: () => onClick("Active") }),
21
- React.createElement(OverviewItem, { className: classnames({ active: state.actives.includes("Done") }), total: 20, description: "Done", onClick: () => onClick("Done") }),
22
- React.createElement(OverviewItem, { className: classnames({ active: state.actives.includes("Closed") }), total: 20, description: "Closed", onClick: () => onClick("Closed") })), nodeTitle: "DUE OF WORKS", dueList: React.createElement(React.Fragment, null,
23
- React.createElement(DueItem, { className: classnames({ active: state.dueActives === "overdue" }), title: "Overdue", type: "Works", description: dayjs().format("DD MMM YYYY"), total: 20, onClick: () => onDueClick("overdue") }),
24
- React.createElement(DueItem, { className: classnames("week", { active: state.dueActives === "week" }), title: "This Week", type: "Works", description: dayjs().endOf("week").format("DD MMM YYYY"), total: 20, onClick: () => onDueClick("week") }),
25
- React.createElement(DueItem, { className: classnames("month", { active: state.dueActives === "month" }), title: "This Month", type: "Works", description: dayjs().endOf("month").format("DD MMM YYYY"), total: 20, onClick: () => onDueClick("month") })) }))));
26
- function onDueClick(dueAct) {
27
- state.onDueClick(dueAct);
28
- onDueItemClick === null || onDueItemClick === void 0 ? void 0 : onDueItemClick(state.dueActives);
29
- }
17
+ React.createElement(Skeleton, { loading: context.loading },
18
+ React.createElement(PanelOverview, { className: "work-overview", overviewAll: React.createElement(OverviewAll, { className: classnames({ active: context.actives.includes("All") }), total: context.getCount("All"), description: "Total All Works", onClick: () => onClick("All") }), overviewList: status.map((i) => (React.createElement(OverviewItem, { key: i, className: classnames({ active: context.actives.includes(i) }), total: context.getCount(i), description: i, onClick: () => onClick(i) }))), nodeTitle: "DUE OF WORKS", dueList: dues.map((d) => (React.createElement(DueItem, { key: d, className: classnames({
19
+ week: d === "ThisWeek",
20
+ month: d === "ThisMonth",
21
+ active: context.actives.includes(d),
22
+ }), title: d.replace(/([A-Z])/g, " $1"), type: "Works", description: dayjs().format("DD MMM YYYY"), total: context.getCount(d), onClick: () => onClick(d) }))) })))));
30
23
  function onClick(status) {
31
- state.onClick(status);
32
- onOverviewItemClick === null || onOverviewItemClick === void 0 ? void 0 : onOverviewItemClick(state.actives);
24
+ var _a;
25
+ context.triggerFilter(status);
26
+ (_a = props.onOverviewItemClick) === null || _a === void 0 ? void 0 : _a.call(props);
33
27
  }
34
28
  };
35
29
  export default WorkOverview;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/work/components/WorkOverview/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/work/components/WorkOverview/index.tsx"],"names":[],"mappings":"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"}
@@ -1,24 +1,23 @@
1
1
  import React from "react";
2
2
  import { Tabs } from "antd";
3
3
  import { observe } from "@voplus/morpho-ui";
4
- import { useApplicationContext } from "@voplus/morpho-data";
5
4
  import WorkOverview from "../WorkOverview";
6
5
  import GeneralFilterForm from "@voplus/morpho-document/es/modules/quick-access/GeneralFilterForm";
7
6
  import "./index.less";
8
7
  const WorkPanel = (props) => {
9
- const context = useApplicationContext();
10
- return observe(() => (React.createElement("div", { className: "work-panel" }, context.host.isTest ? (React.createElement(Tabs, { defaultActiveKey: "Overview", items: [
11
- {
12
- key: "Overview",
13
- label: "Overview",
14
- children: React.createElement(WorkOverview, { ...props.overviewProps }),
15
- },
16
- {
17
- key: "Filter",
18
- label: "Filter",
19
- children: (React.createElement(GeneralFilterForm, { id: "WorkNode", noFilter: ["Work Status"], ...props.workFilterProps })),
20
- },
21
- ] })) : (React.createElement(GeneralFilterForm, { id: "WorkNode", noFilter: ["Work Status"], ...props.workFilterProps })))));
8
+ return observe(() => (React.createElement("div", { className: "work-panel" },
9
+ React.createElement(Tabs, { defaultActiveKey: "Overview", items: [
10
+ {
11
+ key: "Overview",
12
+ label: "Overview",
13
+ children: React.createElement(WorkOverview, { ...props.overviewProps }),
14
+ },
15
+ {
16
+ key: "Filter",
17
+ label: "Filter",
18
+ children: React.createElement(GeneralFilterForm, { id: "WorkNode", ...props.workFilterProps }),
19
+ },
20
+ ] }))));
22
21
  };
23
22
  export default WorkPanel;
24
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/work/components/WorkPanel/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAgB,MAAM,qBAAqB,CAAC;AAC1E,OAAO,YAAmC,MAAM,iBAAiB,CAAC;AAClE,OAAO,iBAAiB,MAAM,mEAAmE,CAAC;AAClG,OAAO,cAAc,CAAC;AAEtB,MAAM,SAAS,GAAG,CAAC,KAKlB,EAAE,EAAE;IACJ,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;IAExC,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,6BAAK,SAAS,EAAC,YAAY,IACzB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CACtB,oBAAC,IAAI,IACJ,gBAAgB,EAAC,UAAU,EAC3B,KAAK,EAAE;YACN;gBACC,GAAG,EAAE,UAAU;gBACf,KAAK,EAAE,UAAU;gBACjB,QAAQ,EAAE,oBAAC,YAAY,OAAK,KAAK,CAAC,aAAa,GAAI;aACnD;YACD;gBACC,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE,CACT,oBAAC,iBAAiB,IACjB,EAAE,EAAC,UAAU,EACb,QAAQ,EAAE,CAAC,aAAa,CAAC,KACrB,KAAK,CAAC,eAAe,GACxB,CACF;aACD;SACD,GACA,CACF,CAAC,CAAC,CAAC,CACH,oBAAC,iBAAiB,IAAC,EAAE,EAAC,UAAU,EAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,KAAM,KAAK,CAAC,eAAe,GAAI,CACzF,CACI,CACN,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/work/components/WorkPanel/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,YAAmC,MAAM,iBAAiB,CAAC;AAClE,OAAO,iBAAiB,MAAM,mEAAmE,CAAC;AAClG,OAAO,cAAc,CAAC;AAEtB,MAAM,SAAS,GAAG,CAAC,KAKlB,EAAE,EAAE;IACJ,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,6BAAK,SAAS,EAAC,YAAY;QAC1B,oBAAC,IAAI,IACJ,gBAAgB,EAAC,UAAU,EAC3B,KAAK,EAAE;gBACN;oBACC,GAAG,EAAE,UAAU;oBACf,KAAK,EAAE,UAAU;oBACjB,QAAQ,EAAE,oBAAC,YAAY,OAAK,KAAK,CAAC,aAAa,GAAI;iBACnD;gBACD;oBACC,GAAG,EAAE,QAAQ;oBACb,KAAK,EAAE,QAAQ;oBACf,QAAQ,EAAE,oBAAC,iBAAiB,IAAC,EAAE,EAAC,UAAU,KAAK,KAAK,CAAC,eAAe,GAAI;iBACxE;aACD,GACA,CACG,CACN,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -1,4 +1,4 @@
1
- import React, { useState } from "react";
1
+ import React, { useState, useMemo, useEffect } from "react";
2
2
  import { faBriefcase } from "@fortawesome/pro-solid-svg-icons";
3
3
  import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
4
4
  import PageHeadDashboard from "@voplus/morpho-ui/es/components/layout/headers/PageHeadDashboard";
@@ -10,41 +10,52 @@ import { State } from "./state";
10
10
  import styles from "./index.less";
11
11
  import { useApplicationContext } from "@voplus/morpho-data";
12
12
  import FilterLabel from "@voplus/morpho-ui/es/controls/FilterLabel";
13
+ import { useWorkStore } from "../../../../data/work";
14
+ import { QuickFilterContext, QuickFilterContextState, } from "@voplus/morpho-ui/es/data/QuickFilterContext";
13
15
  import DocumentTabs from "@voplus/morpho-document/es/components/DocumentTabs";
14
16
  import ActivityLog from "@voplus/morpho-org/es/components/ActivityLog2/ActivityLog2";
15
17
  const WorkListPage = (props) => {
16
- const context = useApplicationContext();
18
+ const useContext = useApplicationContext();
19
+ const store = useWorkStore();
17
20
  const [state] = useState(new State(props.contactId));
18
21
  const [activeKey, setActiveKey] = useState("WorkList");
22
+ const context = useMemo(() => new QuickFilterContextState({
23
+ store: store,
24
+ listFilterOptions: state.listFilterOptions,
25
+ }), []);
26
+ useEffect(() => {
27
+ context.loadCounts();
28
+ }, []);
19
29
  return observe(() => {
20
30
  var _a, _b, _c;
21
- return (React.createElement(DefaultViewLayout, { className: styles["work-list-page"], header: React.createElement(PageHeadDashboard, { avatarIcon: React.createElement(FAIcon, { icon: faBriefcase }), title: "Works", upAble: true, description: "Your tasks: prioritize and complete your work" }), propertiesWidth: "295px", properties: React.createElement(WorkPanel, { overviewProps: {
22
- actives: state.status,
23
- dueActives: state.dueActives,
24
- onOverviewItemClick: (s) => state.onOverviewItemClick(s),
25
- onDueItemClick: (d) => state.onDueItemClick(d),
26
- }, workFilterProps: {
27
- onFilter(options) {
28
- state.onFilterOptions(options);
29
- },
30
- } }) },
31
- React.createElement(DocumentTabs, { id: "", active: "WorkList", tabItems: [
32
- {
33
- key: "WorkList",
34
- label: "Work List",
35
- children: (React.createElement(WorkList2, { ...props, workHeaderProps: {
36
- addAble: true,
37
- }, asideable: false, filterVisible: false, filterOptions: state.filerOptions })),
38
- },
39
- {
40
- key: "Activities",
41
- label: "Activities",
42
- children: (React.createElement(React.Fragment, null, activeKey === "Activities" ? (React.createElement(ActivityLog, { id: "", bar: false, typeOptions: {
43
- type: "work",
44
- contactId: (_a = props.contactId) !== null && _a !== void 0 ? _a : context.user.info.unit.id,
45
- } })) : null)),
46
- },
47
- ], onChange: (key) => setActiveKey(key), tabBarExtraContent: activeKey === "WorkList" ? (React.createElement("div", { className: "list-tabBar-filter" }, ((_b = state.status) === null || _b === void 0 ? void 0 : _b.includes("All")) ? ("Showed: Total All Works") : ((_c = state.status) === null || _c === void 0 ? void 0 : _c.length) || state.dueActives ? (React.createElement(FilterLabel, { status: state.status.concat(state.dueActives ? [state.dueActives] : []), maxCount: 2, onFilter: (s) => state.onFilterLabel(s) })) : undefined)) : undefined })));
31
+ return (React.createElement(QuickFilterContext.Provider, { value: context },
32
+ React.createElement(DefaultViewLayout, { className: styles["work-list-page"], header: React.createElement(PageHeadDashboard, { avatarIcon: React.createElement(FAIcon, { icon: faBriefcase }), title: "Works", upAble: true, description: "Your tasks: prioritize and complete your work" }), propertiesWidth: "295px", properties: React.createElement(WorkPanel, { overviewProps: {
33
+ onOverviewItemClick: () => state.onOverviewItemClick(context.actives),
34
+ }, workFilterProps: {
35
+ onFilter(options) {
36
+ state.onFilterOptions(options);
37
+ },
38
+ } }) },
39
+ React.createElement(DocumentTabs, { id: "", active: "WorkList", tabItems: [
40
+ {
41
+ key: "WorkList",
42
+ label: "Work List",
43
+ children: (React.createElement(WorkList2, { ...props, workHeaderProps: {
44
+ addAble: true,
45
+ }, asideable: false, filterVisible: false, filterOptions: state.filerOptions, onTotal: (total) => context.onChangeTotal(total) })),
46
+ },
47
+ {
48
+ key: "Activities",
49
+ label: "Activities",
50
+ children: (React.createElement(React.Fragment, null, activeKey === "Activities" ? (React.createElement(ActivityLog, { id: "", bar: false, typeOptions: {
51
+ type: "work",
52
+ contactId: (_a = props.contactId) !== null && _a !== void 0 ? _a : useContext.user.info.unit.id,
53
+ } })) : null)),
54
+ },
55
+ ], onChange: (key) => setActiveKey(key), tabBarExtraContent: activeKey === "WorkList" ? (React.createElement("div", { className: "list-tabBar-filter" }, ((_b = context.actives) === null || _b === void 0 ? void 0 : _b.includes("All")) ? ("Showed: Total All Works") : ((_c = context.actives) === null || _c === void 0 ? void 0 : _c.length) ? (React.createElement(FilterLabel, { status: context.actives, maxCount: 2, onFilter: (s) => {
56
+ context.onFilterLabel(s);
57
+ state.onOverviewItemClick(context.actives);
58
+ } })) : undefined)) : undefined }))));
48
59
  });
49
60
  };
50
61
  export default WorkListPage;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/work/pages/WorkListPage2/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/work/pages/WorkListPage2/index.tsx"],"names":[],"mappings":"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"}
@@ -1,15 +1,14 @@
1
1
  import { FilterOption } from "@voplus/morpho-data";
2
+ import { ListFilterOptions } from "@voplus/morpho-ui/es/data/QuickFilterContext";
2
3
  export declare class State {
3
4
  private contactId?;
4
5
  /** 默认值 */
5
6
  filerOptions?: FilterOption[];
6
- status: string[];
7
- dueActives?: "overdue" | "week" | "month";
7
+ listFilterOptions?: ListFilterOptions[];
8
+ defaultFilter: FilterOption[];
9
+ private overdueFilter;
8
10
  constructor(contactId?: string | undefined);
9
11
  onFilterOptions(options?: FilterOption[]): void;
10
- onDueItemClick(d: "overdue" | "week" | "month"): void;
11
12
  onOverviewItemClick(s?: string[]): void;
12
- onFilterLabel(s?: string): void;
13
- get statusFilerOptions(): FilterOption[];
14
- get dateFilerOptions(): FilterOption[];
13
+ getDateF(date: "week" | "month"): FilterOption;
15
14
  }