@voplus/morpho-workspace 6.1.24 → 6.1.26

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 (40) hide show
  1. package/es/data/work-schedule/WorkScheduleStore.d.ts +7 -1
  2. package/es/data/work-schedule/WorkScheduleStore.js +12 -4
  3. package/es/data/work-schedule/WorkScheduleStore.js.map +1 -1
  4. package/es/modules/board/components/BoardColumn/index.less +0 -4
  5. package/es/modules/tasks/components/TaskOverview/index.d.ts +1 -4
  6. package/es/modules/tasks/components/TaskOverview/index.js +15 -19
  7. package/es/modules/tasks/components/TaskOverview/index.js.map +1 -1
  8. package/es/modules/tasks/pages/TaskListPage/index.js +35 -24
  9. package/es/modules/tasks/pages/TaskListPage/index.js.map +1 -1
  10. package/es/modules/tasks/pages/TaskListPage/state.d.ts +6 -8
  11. package/es/modules/tasks/pages/TaskListPage/state.js +55 -72
  12. package/es/modules/tasks/pages/TaskListPage/state.js.map +1 -1
  13. package/es/modules/work/components/WorkOverview/index.d.ts +1 -4
  14. package/es/modules/work/components/WorkOverview/index.js +15 -21
  15. package/es/modules/work/components/WorkOverview/index.js.map +1 -1
  16. package/es/modules/work/components/WorkPanel/index.js +13 -14
  17. package/es/modules/work/components/WorkPanel/index.js.map +1 -1
  18. package/es/modules/work/pages/WorkListPage2/index.js +40 -29
  19. package/es/modules/work/pages/WorkListPage2/index.js.map +1 -1
  20. package/es/modules/work/pages/WorkListPage2/state.d.ts +5 -6
  21. package/es/modules/work/pages/WorkListPage2/state.js +68 -70
  22. package/es/modules/work/pages/WorkListPage2/state.js.map +1 -1
  23. package/es/modules/work/work-schedule/components/WorkScheduleOverview/index.d.ts +1 -4
  24. package/es/modules/work/work-schedule/components/WorkScheduleOverview/index.js +15 -17
  25. package/es/modules/work/work-schedule/components/WorkScheduleOverview/index.js.map +1 -1
  26. package/es/modules/work/work-schedule/pages/WorkScheduleListPage/index.js +34 -23
  27. package/es/modules/work/work-schedule/pages/WorkScheduleListPage/index.js.map +1 -1
  28. package/es/modules/work/work-schedule/pages/WorkScheduleListPage/state.d.ts +7 -6
  29. package/es/modules/work/work-schedule/pages/WorkScheduleListPage/state.js +89 -73
  30. package/es/modules/work/work-schedule/pages/WorkScheduleListPage/state.js.map +1 -1
  31. package/package.json +1 -1
  32. package/es/modules/tasks/components/TaskOverview/state.d.ts +0 -8
  33. package/es/modules/tasks/components/TaskOverview/state.js +0 -65
  34. package/es/modules/tasks/components/TaskOverview/state.js.map +0 -1
  35. package/es/modules/work/components/WorkOverview/state.d.ts +0 -8
  36. package/es/modules/work/components/WorkOverview/state.js +0 -65
  37. package/es/modules/work/components/WorkOverview/state.js.map +0 -1
  38. package/es/modules/work/work-schedule/components/WorkScheduleOverview/state.d.ts +0 -8
  39. package/es/modules/work/work-schedule/components/WorkScheduleOverview/state.js +0 -63
  40. package/es/modules/work/work-schedule/components/WorkScheduleOverview/state.js.map +0 -1
@@ -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
  }
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { action, makeObservable, observable, computed, toJS } from "mobx";
2
+ import { action, makeObservable, observable, toJS } from "mobx";
3
3
  import dayjs from "dayjs";
4
4
  export class State {
5
5
  constructor(contactId) {
@@ -16,85 +16,89 @@ 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
+ enumerable: true,
21
+ configurable: true,
22
+ writable: true,
23
+ value: void 0
24
+ });
25
+ Object.defineProperty(this, "defaultFilter", {
20
26
  enumerable: true,
21
27
  configurable: true,
22
28
  writable: true,
23
29
  value: []
24
30
  });
25
- Object.defineProperty(this, "dueActives", {
31
+ Object.defineProperty(this, "overdueFilter", {
26
32
  enumerable: true,
27
33
  configurable: true,
28
34
  writable: true,
29
- value: void 0
35
+ value: {
36
+ c: "DueDate",
37
+ o: "<=",
38
+ l: "And",
39
+ v1: dayjs().format("YYYY-MM-DD"),
40
+ }
30
41
  });
31
42
  makeObservable(this);
32
- this.onFilterOptions([
33
- { c: "WorkStatus", o: "contains", l: "And", v1: JSON.stringify(["New", "Active"]) },
34
- ]);
43
+ if (this.contactId)
44
+ this.defaultFilter = [{ c: "Contact", o: "=", l: "And", v1: this.contactId }];
45
+ const draft = { c: "WorkStatus", o: "=", l: "And", v1: "Draft" };
46
+ const newF = { c: "WorkStatus", o: "=", l: "And", v1: "New" };
47
+ const rejected = { c: "WorkStatus", o: "=", l: "And", v1: "Rejected" };
48
+ const active = { c: "WorkStatus", o: "=", l: "And", v1: "Active" };
49
+ const done = { c: "WorkStatus", o: "=", l: "And", v1: "Done" };
50
+ const closed = { c: "WorkStatus", o: "=", l: "And", v1: "Closed" };
51
+ const week = this.getDateF("week");
52
+ const month = this.getDateF("month");
53
+ this.listFilterOptions = [
54
+ { name: "All", filters: { Filters: this.defaultFilter } },
55
+ { name: "Draft", filters: { Filters: [...this.defaultFilter, draft] } },
56
+ { name: "New", filters: { Filters: [...this.defaultFilter, newF] } },
57
+ { name: "Rejected", filters: { Filters: [...this.defaultFilter, rejected] } },
58
+ { name: "Active", filters: { Filters: [...this.defaultFilter, active] } },
59
+ { name: "Done", filters: { Filters: [...this.defaultFilter, done] } },
60
+ { name: "Closed", filters: { Filters: [...this.defaultFilter, closed] } },
61
+ { name: "Overdue", filters: { Filters: [...this.defaultFilter, this.overdueFilter] } },
62
+ { name: "ThisWeek", filters: { Filters: [...this.defaultFilter, week] } },
63
+ { name: "ThisMonth", filters: { Filters: [...this.defaultFilter, month] } },
64
+ ];
65
+ this.onFilterOptions();
35
66
  }
36
67
  onFilterOptions(options) {
37
68
  var _a, _b;
38
69
  this.filerOptions = options !== null && options !== void 0 ? options : [];
39
- if (this.contactId && !((_a = this.filerOptions) === null || _a === void 0 ? void 0 : _a.some((item) => item.c === "Contact"))) {
40
- (_b = this.filerOptions) === null || _b === void 0 ? void 0 : _b.push({ c: "Contact", o: "=", l: "And", v1: this.contactId });
70
+ if (this.defaultFilter && !((_a = this.filerOptions) === null || _a === void 0 ? void 0 : _a.some((item) => item.c === "Contact"))) {
71
+ (_b = this.filerOptions) === null || _b === void 0 ? void 0 : _b.push(...this.defaultFilter);
41
72
  }
42
73
  }
43
- onDueItemClick(d) {
44
- this.dueActives = d;
45
- if (this.status.includes("All"))
46
- this.status = [];
47
- this.onFilterOptions(this.statusFilerOptions.concat(this.dateFilerOptions));
48
- }
49
74
  onOverviewItemClick(s) {
50
- this.status = s !== null && s !== void 0 ? s : [];
51
- if (this.status.includes("All"))
52
- this.dueActives = undefined;
53
- this.onFilterOptions(this.statusFilerOptions.concat(this.dateFilerOptions));
54
- }
55
- onFilterLabel(s) {
56
- if (s) {
57
- if (s === "overdue" || s === "week" || s === "month") {
58
- this.dueActives = undefined;
59
- }
60
- let status = toJS(this.status);
61
- status = status === null || status === void 0 ? void 0 : status.filter((i) => i !== s);
62
- this.onOverviewItemClick(status);
63
- }
64
- else {
65
- this.status = [];
66
- this.dueActives = undefined;
75
+ if (s === null || s === void 0 ? void 0 : s.includes("All")) {
67
76
  this.onFilterOptions();
68
77
  }
69
- }
70
- get statusFilerOptions() {
71
- let f = [];
72
- if (this.status.includes("All"))
73
- return f;
74
- let status = toJS(this.status);
75
- if (status === null || status === void 0 ? void 0 : status.length)
76
- f.push({ c: "WorkStatus", o: "contains", l: "And", v1: JSON.stringify(status) });
77
- return f;
78
- }
79
- get dateFilerOptions() {
80
- let f = [];
81
- if (this.status.includes("All"))
82
- return f;
83
- if (this.dueActives) {
84
- if (this.dueActives === "overdue") {
85
- f = [{ c: "DueDate", o: "<=", l: "And", v1: dayjs().format("YYYY-MM-DD") }];
78
+ else {
79
+ let status = toJS(s);
80
+ let f = [];
81
+ if (s === null || s === void 0 ? void 0 : s.includes("Overdue")) {
82
+ status = status === null || status === void 0 ? void 0 : status.filter((s) => s !== "Overdue");
83
+ f.push(this.overdueFilter);
86
84
  }
87
- else {
88
- const v1 = dayjs()
89
- .startOf(this.dueActives)
90
- .format("YYYY-MM-DD HH:mm:ss");
91
- const v2 = dayjs()
92
- .endOf(this.dueActives)
93
- .format("YYYY-MM-DD HH:mm:ss");
94
- f = [{ c: "DueDate", o: "between", l: "And", v1: v1, v2: v2 }];
85
+ if (s === null || s === void 0 ? void 0 : s.includes("ThisWeek")) {
86
+ status = status === null || status === void 0 ? void 0 : status.filter((s) => s !== "ThisWeek");
87
+ f.push(this.getDateF("week"));
95
88
  }
89
+ if (s === null || s === void 0 ? void 0 : s.includes("ThisMonth")) {
90
+ status = status === null || status === void 0 ? void 0 : status.filter((s) => s !== "ThisMonth");
91
+ f.push(this.getDateF("month"));
92
+ }
93
+ if (status === null || status === void 0 ? void 0 : status.length)
94
+ f.push({ c: "WorkStatus", o: "contains", l: "And", v1: JSON.stringify(status) });
95
+ this.onFilterOptions(f);
96
96
  }
97
- return f;
97
+ }
98
+ getDateF(date) {
99
+ const v1 = dayjs().startOf(date).format("YYYY-MM-DD HH:mm:ss");
100
+ const v2 = dayjs().endOf(date).format("YYYY-MM-DD HH:mm:ss");
101
+ return { c: "DueDate", o: "between", l: "And", v1: v1, v2: v2 };
98
102
  }
99
103
  }
100
104
  __decorate([
@@ -102,26 +106,20 @@ __decorate([
102
106
  ], State.prototype, "filerOptions", void 0);
103
107
  __decorate([
104
108
  observable
105
- ], State.prototype, "status", void 0);
109
+ ], State.prototype, "listFilterOptions", void 0);
106
110
  __decorate([
107
111
  observable
108
- ], State.prototype, "dueActives", void 0);
112
+ ], State.prototype, "defaultFilter", void 0);
109
113
  __decorate([
110
- action
111
- ], State.prototype, "onFilterOptions", null);
114
+ observable
115
+ ], State.prototype, "overdueFilter", void 0);
112
116
  __decorate([
113
117
  action
114
- ], State.prototype, "onDueItemClick", null);
118
+ ], State.prototype, "onFilterOptions", null);
115
119
  __decorate([
116
120
  action
117
121
  ], State.prototype, "onOverviewItemClick", null);
118
122
  __decorate([
119
123
  action
120
- ], State.prototype, "onFilterLabel", null);
121
- __decorate([
122
- computed
123
- ], State.prototype, "statusFilerOptions", null);
124
- __decorate([
125
- computed
126
- ], State.prototype, "dateFilerOptions", null);
124
+ ], State.prototype, "getDateF", null);
127
125
  //# sourceMappingURL=state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/modules/work/pages/WorkListPage2/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/modules/work/pages/WorkListPage2/state.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,6 @@
1
1
  import React from "react";
2
2
  export type WorkScheduleOverviewProps = {
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 WorkScheduleOverview: (props: WorkScheduleOverviewProps) => React.JSX.Element;
9
6
  export default WorkScheduleOverview;
@@ -1,31 +1,29 @@
1
- import React, { useState } from "react";
1
+ import React from "react";
2
2
  import { observe } from "@voplus/morpho-ui";
3
3
  import DueItem from "@voplus/morpho-ui/es/controls/PanelOverview/DueItem";
4
4
  import OverviewItem from "@voplus/morpho-ui/es/controls/PanelOverview/OverviewItem";
5
5
  import OverviewAll from "@voplus/morpho-ui/es/controls/PanelOverview/OverviewAll";
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 = ["WorkCreated", "Unscheduled"];
13
+ const dues = ["Overdue", "ThisWeek", "ThisMonth"];
11
14
  const WorkScheduleOverview = (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-schedule-overview", overviewAll: React.createElement(OverviewAll, { className: classnames({ active: state.actives.includes("All") }), total: 20, description: "Total All Work Schedule", onClick: () => onClick("All") }), overviewList: React.createElement(React.Fragment, null,
17
- React.createElement(OverviewItem, { className: classnames({ active: state.actives.includes("WorkCreated") }), total: 20, description: "Work Created", onClick: () => onClick("WorkCreated") }),
18
- React.createElement(OverviewItem, { className: classnames({ active: state.actives.includes("Unscheduled") }), total: 20, description: "Unscheduled", onClick: () => onClick("Unscheduled") })), nodeTitle: "DUE OF WORKS SCHEDULE", dueList: React.createElement(React.Fragment, null,
19
- React.createElement(DueItem, { className: classnames({ active: state.dueActives === "overdue" }), title: "Overdue", type: "Works", description: dayjs().format("DD MMM YYYY"), total: 20, onClick: () => onDueClick("overdue") }),
20
- 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") }),
21
- 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") })) }))));
22
- function onDueClick(dueAct) {
23
- state.onDueClick(dueAct);
24
- onDueItemClick === null || onDueItemClick === void 0 ? void 0 : onDueItemClick(state.dueActives);
25
- }
17
+ React.createElement(Skeleton, { loading: context.loading },
18
+ React.createElement(PanelOverview, { className: "work-schedule-overview", overviewAll: React.createElement(OverviewAll, { className: classnames({ active: context.actives.includes("All") }), total: context.getCount("All"), description: "Total All Work Schedule", 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 SCHEDULE", 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) }))) })))));
26
23
  function onClick(status) {
27
- state.onClick(status);
28
- 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);
29
27
  }
30
28
  };
31
29
  export default WorkScheduleOverview;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-schedule/components/WorkScheduleOverview/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-schedule/components/WorkScheduleOverview/index.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import React, { useState } from "react";
1
+ import React, { useState, useMemo, useEffect } from "react";
2
2
  import { faSuitcase } 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";
@@ -9,36 +9,47 @@ import { observe } from "@voplus/morpho-ui";
9
9
  import WorkScheduleList from "../../components/WorkScheduleList";
10
10
  import WorkSchedulePanel from "../../components/WorkSchedulePanel";
11
11
  import FilterLabel from "@voplus/morpho-ui/es/controls/FilterLabel";
12
+ import { useWorkScheduleStore } from "../../../../../data/work-schedule";
13
+ import { QuickFilterContext, QuickFilterContextState, } from "@voplus/morpho-ui/es/data/QuickFilterContext";
12
14
  import { State } from "./state";
13
15
  import styles from "./index.less";
14
16
  const WorkScheduleListPage = (props) => {
15
17
  var _a;
18
+ const store = useWorkScheduleStore();
16
19
  const [state] = useState(new State((_a = props.contact) === null || _a === void 0 ? void 0 : _a.id));
17
20
  const [activeKey, setActiveKey] = useState("WorkScheduleList");
21
+ const context = useMemo(() => new QuickFilterContextState({
22
+ store: store,
23
+ listFilterOptions: state.listFilterOptions,
24
+ }), []);
25
+ useEffect(() => {
26
+ context.loadCounts();
27
+ }, []);
18
28
  return observe(() => {
19
29
  var _a, _b;
20
- return (React.createElement(DefaultViewLayout, { className: styles["workSchedule-list-page"], header: React.createElement(PageHeadDashboard, { avatarIcon: React.createElement(FAIcon, { icon: faSuitcase }), title: "Work Schedules", upAble: true, description: "Your tasks: prioritize and complete your work." }), propertiesWidth: "295px", properties: React.createElement(WorkSchedulePanel, { overviewProps: {
21
- actives: state.status,
22
- dueActives: state.dueActives,
23
- onOverviewItemClick: (s) => state.onOverviewItemClick(s),
24
- onDueItemClick: (d) => state.onDueItemClick(d),
25
- }, workScheduleFilterProps: {
26
- onFilter(options) {
27
- state.onFilterOptions(options);
28
- },
29
- } }) },
30
- React.createElement(DocumentTabs, { id: "", active: "WorkScheduleList", tabItems: [
31
- {
32
- key: "WorkScheduleList",
33
- label: "Work Schedule List",
34
- children: (React.createElement(WorkScheduleList, { ...props, filter: false, asideable: false, headerType: "tool", filterOptions: state.filerOptions })),
35
- },
36
- {
37
- key: "Activities",
38
- label: "Activities",
39
- children: (React.createElement(React.Fragment, null, activeKey === "Activities" ? (React.createElement(ActivityLog, { id: "", bar: false })) : null)),
40
- },
41
- ], onChange: (key) => setActiveKey(key), tabBarExtraContent: activeKey === "WorkScheduleList" ? (React.createElement("div", { className: "list-tabBar-filter" }, ((_a = state.status) === null || _a === void 0 ? void 0 : _a.includes("All")) ? ("Showed: Total All Work Schedules") : ((_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 })));
30
+ return (React.createElement(QuickFilterContext.Provider, { value: context },
31
+ React.createElement(DefaultViewLayout, { className: styles["workSchedule-list-page"], header: React.createElement(PageHeadDashboard, { avatarIcon: React.createElement(FAIcon, { icon: faSuitcase }), title: "Work Schedules", upAble: true, description: "Your tasks: prioritize and complete your work." }), propertiesWidth: "295px", properties: React.createElement(WorkSchedulePanel, { overviewProps: {
32
+ onOverviewItemClick: () => state.onOverviewItemClick(context.actives),
33
+ }, workScheduleFilterProps: {
34
+ onFilter(options) {
35
+ state.onFilterOptions(options);
36
+ },
37
+ } }) },
38
+ React.createElement(DocumentTabs, { id: "", active: "WorkScheduleList", tabItems: [
39
+ {
40
+ key: "WorkScheduleList",
41
+ label: "Work Schedule List",
42
+ children: (React.createElement(WorkScheduleList, { ...props, filter: false, asideable: false, headerType: "tool", filterOptions: state.filerOptions, onTotal: (total) => context.onChangeTotal(total) })),
43
+ },
44
+ {
45
+ key: "Activities",
46
+ label: "Activities",
47
+ children: (React.createElement(React.Fragment, null, activeKey === "Activities" ? (React.createElement(ActivityLog, { id: "", bar: false })) : null)),
48
+ },
49
+ ], onChange: (key) => setActiveKey(key), tabBarExtraContent: activeKey === "WorkScheduleList" ? (React.createElement("div", { className: "list-tabBar-filter" }, ((_a = context.actives) === null || _a === void 0 ? void 0 : _a.includes("All")) ? ("Showed: Total All Work Schedules") : ((_b = context.actives) === null || _b === void 0 ? void 0 : _b.length) ? (React.createElement(FilterLabel, { status: context.actives, maxCount: 2, onFilter: (s) => {
50
+ context.onFilterLabel(s);
51
+ state.onOverviewItemClick(context.actives);
52
+ } })) : undefined)) : undefined }))));
42
53
  });
43
54
  };
44
55
  export default WorkScheduleListPage;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-schedule/pages/WorkScheduleListPage/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,iBAAiB,MAAM,kEAAkE,CAAC;AACjG,OAAO,iBAAiB,MAAM,0DAA0D,CAAC;AACzF,OAAO,YAAY,MAAM,oDAAoD,CAAC;AAC9E,OAAO,WAAW,MAAM,4DAA4D,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,gBAA2C,MAAM,mCAAmC,CAAC;AAC5F,OAAO,iBAAiB,MAAM,oCAAoC,CAAC;AACnE,OAAO,WAAW,MAAM,2CAA2C,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,MAAM,oBAAoB,GAAG,CAAC,KAA4B,EAAE,EAAE;;IAC7D,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,KAAK,CAAC,MAAA,KAAK,CAAC,OAAO,0CAAE,EAAE,CAAC,CAAC,CAAC;IACvD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAS,kBAAkB,CAAC,CAAC;IAEvE,OAAO,OAAO,CAAC,GAAG,EAAE;;QAAC,OAAA,CACpB,oBAAC,iBAAiB,IACjB,SAAS,EAAE,MAAM,CAAC,wBAAwB,CAAC,EAC3C,MAAM,EACL,oBAAC,iBAAiB,IACjB,UAAU,EAAE,oBAAC,MAAM,IAAC,IAAI,EAAE,UAAU,GAAI,EACxC,KAAK,EAAC,gBAAgB,EACtB,MAAM,QACN,WAAW,EAAC,gDAAgD,GAC3D,EAEH,eAAe,EAAC,OAAO,EACvB,UAAU,EACT,oBAAC,iBAAiB,IACjB,aAAa,EAAE;oBACd,OAAO,EAAE,KAAK,CAAC,MAAM;oBACrB,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;oBACxD,cAAc,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;iBACnD,EACD,uBAAuB,EAAE;oBACxB,QAAQ,CAAC,OAAO;wBACf,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBAChC,CAAC;iBACD,GACA;YAGH,oBAAC,YAAY,IACZ,EAAE,EAAC,EAAE,EACL,MAAM,EAAC,kBAAkB,EACzB,QAAQ,EAAE;oBACT;wBACC,GAAG,EAAE,kBAAkB;wBACvB,KAAK,EAAE,oBAAoB;wBAC3B,QAAQ,EAAE,CACT,oBAAC,gBAAgB,OACZ,KAAK,EACT,MAAM,EAAE,KAAK,EACb,SAAS,EAAE,KAAK,EAChB,UAAU,EAAC,MAAM,EACjB,aAAa,EAAE,KAAK,CAAC,YAAY,GAChC,CACF;qBACD;oBACD;wBACC,GAAG,EAAE,YAAY;wBACjB,KAAK,EAAE,YAAY;wBACnB,QAAQ,EAAE,CACT,0CACE,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,CAC7B,oBAAC,WAAW,IACX,EAAE,EAAC,EAAE,EACL,GAAG,EAAE,KAAK,GAKT,CACF,CAAC,CAAC,CAAC,IAAI,CACN,CACH;qBACD;iBACD,EACD,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,EACpC,kBAAkB,EACjB,SAAS,KAAK,kBAAkB,CAAC,CAAC,CAAC,CAClC,6BAAK,SAAS,EAAC,oBAAoB,IACjC,CAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,QAAQ,CAAC,KAAK,CAAC,EAAC,CAAC,CAAC,CAChC,kCAAkC,CAClC,CAAC,CAAC,CAAC,CAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,MAAM,KAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAC9C,oBAAC,WAAW,IACX,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EACvE,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GACtC,CACF,CAAC,CAAC,CAAC,SAAS,CACR,CACN,CAAC,CAAC,CAAC,SAAS,GAEb,CACiB,CACpB,CAAA;KAAA,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-schedule/pages/WorkScheduleListPage/index.tsx"],"names":[],"mappings":"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"}
@@ -1,15 +1,16 @@
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
+ workCreatedFilter: FilterOption;
10
+ unscheduledFilter: FilterOption[];
11
+ private overdueFilter;
8
12
  constructor(contactId?: string | undefined);
9
13
  onFilterOptions(options?: FilterOption[]): void;
10
- onDueItemClick(d: "overdue" | "week" | "month"): void;
11
14
  onOverviewItemClick(s?: string[]): void;
12
- onFilterLabel(s?: string): void;
13
- get statusFilerOptions(): FilterOption[];
14
- get dateFilerOptions(): FilterOption[];
15
+ getDateF(date: "week" | "month"): FilterOption;
15
16
  }