@voplus/morpho-workspace 6.0.166 → 6.0.167

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 (48) hide show
  1. package/es/modules/tasks/components/TaskCheckItem/index.js +3 -14
  2. package/es/modules/tasks/components/TaskCheckItem/index.js.map +1 -1
  3. package/es/modules/tasks/components/TaskCheckItem/index.less +0 -16
  4. package/es/modules/tasks/components/task-check/TaskCheckActiveTab/index.d.ts +9 -0
  5. package/es/modules/tasks/components/task-check/TaskCheckActiveTab/index.js +94 -0
  6. package/es/modules/tasks/components/task-check/TaskCheckActiveTab/index.js.map +1 -0
  7. package/es/modules/tasks/components/task-check/TaskCheckActiveTab/index.less +24 -0
  8. package/es/modules/tasks/components/task-check/TaskCheckActiveTab/state.d.ts +16 -0
  9. package/es/modules/tasks/components/task-check/TaskCheckActiveTab/state.js +145 -0
  10. package/es/modules/tasks/components/task-check/TaskCheckActiveTab/state.js.map +1 -0
  11. package/es/modules/tasks/components/task-check/TaskCheckDoneTab/index.d.ts +8 -0
  12. package/es/modules/tasks/components/task-check/TaskCheckDoneTab/index.js +71 -0
  13. package/es/modules/tasks/components/task-check/TaskCheckDoneTab/index.js.map +1 -0
  14. package/es/modules/tasks/components/task-check/TaskCheckDoneTab/state.d.ts +4 -0
  15. package/es/modules/tasks/components/task-check/TaskCheckDoneTab/state.js +17 -0
  16. package/es/modules/tasks/components/task-check/TaskCheckDoneTab/state.js.map +1 -0
  17. package/es/modules/tasks/components/task-check/TaskCheckNewForm/index.d.ts +9 -0
  18. package/es/modules/tasks/components/task-check/TaskCheckNewForm/index.js +51 -0
  19. package/es/modules/tasks/components/task-check/TaskCheckNewForm/index.js.map +1 -0
  20. package/es/modules/tasks/components/task-check/TaskCheckNewForm/index.less +6 -0
  21. package/es/modules/tasks/components/task-check/TaskCheckNewForm/state.d.ts +7 -0
  22. package/es/modules/tasks/components/task-check/TaskCheckNewForm/state.js +44 -0
  23. package/es/modules/tasks/components/task-check/TaskCheckNewForm/state.js.map +1 -0
  24. package/es/modules/tasks/components/task-check/TaskCheckTableCard/TableCell.d.ts +4 -0
  25. package/es/modules/tasks/components/task-check/TaskCheckTableCard/TableCell.js +40 -0
  26. package/es/modules/tasks/components/task-check/TaskCheckTableCard/TableCell.js.map +1 -0
  27. package/es/modules/tasks/components/task-check/TaskCheckTableCard/TaskCheckTable.d.ts +10 -0
  28. package/es/modules/tasks/components/task-check/TaskCheckTableCard/TaskCheckTable.js +53 -0
  29. package/es/modules/tasks/components/task-check/TaskCheckTableCard/TaskCheckTable.js.map +1 -0
  30. package/es/modules/tasks/components/task-check/TaskCheckTableCard/index.d.ts +9 -0
  31. package/es/modules/tasks/components/task-check/TaskCheckTableCard/index.js +16 -0
  32. package/es/modules/tasks/components/task-check/TaskCheckTableCard/index.js.map +1 -0
  33. package/es/modules/tasks/components/task-check/TaskCheckTableCard/index.less +31 -0
  34. package/es/modules/tasks/components/task-check/TaskCheckTableList/index.d.ts +6 -0
  35. package/es/modules/tasks/components/task-check/TaskCheckTableList/index.js +76 -0
  36. package/es/modules/tasks/components/task-check/TaskCheckTableList/index.js.map +1 -0
  37. package/es/modules/tasks/components/task-check/TaskCheckTableList/index.less +28 -0
  38. package/es/modules/tasks/components/task-check/TaskCheckTableList/state.d.ts +10 -0
  39. package/es/modules/tasks/components/task-check/TaskCheckTableList/state.js +65 -0
  40. package/es/modules/tasks/components/task-check/TaskCheckTableList/state.js.map +1 -0
  41. package/es/modules/tasks/controls/DueDateToolBar/index.d.ts +7 -0
  42. package/es/modules/tasks/controls/DueDateToolBar/index.js +35 -0
  43. package/es/modules/tasks/controls/DueDateToolBar/index.js.map +1 -0
  44. package/es/modules/tasks/controls/DueDateToolBar/index.less +17 -0
  45. package/es/modules/tasks/controls/DueDateToolBar/state.d.ts +8 -0
  46. package/es/modules/tasks/controls/DueDateToolBar/state.js +33 -0
  47. package/es/modules/tasks/controls/DueDateToolBar/state.js.map +1 -0
  48. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import React, { useState } from "react";
2
2
  import { observe } from "@voplus/morpho-ui";
3
- import { Checkbox, message, Button } from "antd";
3
+ import { Checkbox, message } from "antd";
4
4
  import classnames from "classnames";
5
5
  import { Open } from "@voplus/morpho-document/es/controls/ToolBar/buttons";
6
6
  import ToolBar from "@voplus/morpho-document/es/controls/ToolBar/ToolBar2";
@@ -9,10 +9,9 @@ import { useTask, useTaskStore, useMetaStore } from "@voplus/morpho-document-cor
9
9
  import dayjs from "dayjs";
10
10
  import { State } from "./state";
11
11
  import { MenuOutlined } from "@ant-design/icons";
12
+ import DueDateToolBar from "../../controls/DueDateToolBar";
12
13
  import AvatarList from "@voplus/morpho-org/es/components/AvatarList";
13
14
  import PresetDatePicker from "@voplus/morpho-ui/es/controls/PresetDatePicker";
14
- import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
15
- import { faCalendar } from "@fortawesome/pro-light-svg-icons";
16
15
  import { useApplicationContext } from "@voplus/morpho-data";
17
16
  import DocumentHeader from "@voplus/morpho-document/es/components/DocumentHeader";
18
17
  import DocumentItemFrame from "@voplus/morpho-document/es/controls/DocumentItemFrame";
@@ -64,17 +63,7 @@ const TaskCheckItem = (props) => {
64
63
  React.createElement("div", { className: classnames("hover-operate-icon", { show: state.isHover }) },
65
64
  React.createElement(ToolBar, { id: id, moreProps: { buttonProps: { size: "middle" } } },
66
65
  React.createElement(Open, { size: "middle", url: meta.getRoute(task) }),
67
- !dueDate && (React.createElement(Button, { type: "link", key: "dueDate", className: "task-toolbar-dueDate", onClick: () => (state.openToolbarDate = true) },
68
- React.createElement(FAIcon, { icon: faCalendar }),
69
- React.createElement(PresetDatePicker, { className: "task-toolbar-preset-date-picker", open: state.openToolbarDate, value: task.dueDate ? dayjs(task.dueDate) : undefined, onChange: async (preset, date) => {
70
- var _a;
71
- state.openToolbarDate = false;
72
- await taskStore.edit(task.id, {
73
- data: { DueDate: date ? dayjs(date).format("YYYY-MM-DD") : "" },
74
- error: (error) => message.error(error.message),
75
- });
76
- (_a = props.onChangeDueDate) === null || _a === void 0 ? void 0 : _a.call(props, task.dueDate);
77
- }, handleOpenChange: (open) => (state.openToolbarDate = open), style: { width: "100%" } })))))) }))));
66
+ !dueDate && (React.createElement(DueDateToolBar, { id: task.id, onChangeDueDate: props.onChangeDueDate }))))) }))));
78
67
  });
79
68
  };
80
69
  export default TaskCheckItem;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tasks/components/TaskCheckItem/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tasks/components/TaskCheckItem/index.tsx"],"names":[],"mappings":"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"}
@@ -64,22 +64,6 @@
64
64
  }
65
65
  }
66
66
 
67
- .task-toolbar-dueDate {
68
- position: relative;
69
- background-color: transparent;
70
- .task-toolbar-preset-date-picker {
71
- position: absolute;
72
- left: 0;
73
- top: 0;
74
- z-index: -1;
75
- border: none;
76
- background-color: transparent;
77
- .ant-picker-suffix {
78
- display: none;
79
- }
80
- }
81
- }
82
-
83
67
  .task-pre {
84
68
  display: flex;
85
69
  align-items: center;
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import { State as TaskCheckState } from "../TaskCheckTableList/state";
3
+ import "./index.less";
4
+ declare const TaskCheckActiveTab: (props: {
5
+ parentId: string;
6
+ taskCheckState: TaskCheckState;
7
+ searchVal?: string;
8
+ }) => React.JSX.Element;
9
+ export default TaskCheckActiveTab;
@@ -0,0 +1,94 @@
1
+ import React, { useState, useEffect } from "react";
2
+ import { observe } from "@voplus/morpho-ui";
3
+ import { Skeleton, Empty } from "antd";
4
+ import { useOnNewDocument, useOnDeleteDocument } from "@voplus/morpho-document-core";
5
+ import TaskCheckTableCard from "../TaskCheckTableCard";
6
+ import { useRenderOnChange } from "@voplus/morpho-ui";
7
+ import { State } from "./state";
8
+ import { runInAction } from "mobx";
9
+ import { ListDataContext, useCreateListDataState } from "@voplus/morpho-ui/es/data";
10
+ import { useTaskListEffect } from "@voplus/morpho-document-core";
11
+ import "./index.less";
12
+ const TaskCheckActiveTab = (props) => {
13
+ const { parentId, taskCheckState } = props;
14
+ const [state] = useState(new State());
15
+ const list = useCreateListDataState({
16
+ filterDefaults: {
17
+ includes: "tags",
18
+ filters: filters(),
19
+ page: { Page: 1, PageSize: 500 },
20
+ },
21
+ }, [parentId, props.searchVal]);
22
+ /** 如果 list.filters.options变更了就重渲染,使下一行的useTaskListEffect 可以接收新参数*/
23
+ useRenderOnChange(() => list.filters.options);
24
+ /** 把ListDataState传给useTaskListEffect,使之可以自動更新loading, hasmore. */
25
+ useTaskListEffect(list, (result, total) => {
26
+ list.union(result);
27
+ state.update(result, "new");
28
+ runInAction(() => {
29
+ state.total = total;
30
+ taskCheckState.updateActiveTotals(total);
31
+ });
32
+ }, { ...list.filters.options, Total: true });
33
+ useEffect(() => {
34
+ if (props.searchVal !== undefined) {
35
+ state.clear();
36
+ }
37
+ }, [props.searchVal]);
38
+ /** 新增task */
39
+ useOnNewDocument((s, doc) => {
40
+ if (doc.parentId === props.parentId && doc.type === "Task" && doc.taskStatus !== "Done") {
41
+ state.total += 1;
42
+ taskCheckState.updateActiveTotals(state.total);
43
+ state.update([doc], "new");
44
+ }
45
+ });
46
+ /** 删除task */
47
+ useOnDeleteDocument((s, doc) => {
48
+ if (doc.parentId === props.parentId && doc.type === "Task" && doc.taskStatus !== "Done") {
49
+ state.total -= 1;
50
+ taskCheckState.updateActiveTotals(state.total);
51
+ state.update([doc], "del");
52
+ }
53
+ });
54
+ return observe(() => {
55
+ return (React.createElement(ListDataContext.Provider, { value: list },
56
+ React.createElement("div", { className: "active-tab-task-list" },
57
+ React.createElement(Skeleton, { loading: list.loading },
58
+ state.todayList.length ? (React.createElement(TaskCheckTableCard, { data: state.todayList, taskCheckTableProps: {
59
+ label: "Today",
60
+ total: state.todayList.length,
61
+ onChangeDueDate: (item, date) => state.onChangeDueDate(item, date),
62
+ } })) : null,
63
+ state.dueList.length ? (React.createElement(TaskCheckTableCard, { data: state.dueList, taskCheckTableProps: {
64
+ label: "Due",
65
+ total: state.dueList.length,
66
+ onChangeDueDate: (item, date) => state.onChangeDueDate(item, date),
67
+ } })) : null,
68
+ state.upcomingList.length ? (React.createElement(TaskCheckTableCard, { data: state.upcomingList, taskCheckTableProps: {
69
+ label: "Upcoming",
70
+ total: state.upcomingList.length,
71
+ onChangeDueDate: (item, date) => state.onChangeDueDate(item, date),
72
+ } })) : null,
73
+ !state.todayList.length && !state.dueList.length && !state.upcomingList.length && (React.createElement(Empty, null))))));
74
+ });
75
+ function filters() {
76
+ const filter = [
77
+ { c: "ParentNodeId", o: "=", l: "And", v1: parentId },
78
+ { c: "TaskStatus", o: "!=", l: "And", v1: "Done" },
79
+ /** 必須提供parent node id或assignee filter */
80
+ // {
81
+ // c: "Members",
82
+ // o: "contains",
83
+ // v1: JSON.stringify(Array.from(this.members.keys())),
84
+ // l: "And",
85
+ // },
86
+ ];
87
+ if (props.searchVal !== undefined) {
88
+ filter.push({ c: "Search", o: "=", v1: props.searchVal, l: "And" });
89
+ }
90
+ return filter;
91
+ }
92
+ };
93
+ export default TaskCheckActiveTab;
94
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/tasks/components/task-check/TaskCheckActiveTab/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ :global {
2
+ .active-tab-task-list {
3
+ .active-task-collapse {
4
+ background: #fff;
5
+ .ant-collapse-item {
6
+ border-bottom: none;
7
+ .ant-collapse-header {
8
+ font-size: 20px;
9
+ color: #000;
10
+ align-items: center;
11
+ }
12
+ .ant-collapse-arrow {
13
+ font-size: 20px;
14
+ }
15
+ .document-name {
16
+ color: #797979;
17
+ }
18
+ .task-check-item {
19
+ padding-left: 0;
20
+ }
21
+ }
22
+ }
23
+ }
24
+ }
@@ -0,0 +1,16 @@
1
+ import { ITask } from "@voplus/morpho-document-core";
2
+ import { Dayjs } from "dayjs";
3
+ export declare class State {
4
+ constructor();
5
+ total: number;
6
+ /** Due, Today, Tomorrow, This Week, Upcoming */
7
+ dueList: ITask[];
8
+ todayList: ITask[];
9
+ upcomingList: ITask[];
10
+ update(list: ITask[], type?: "new" | "del"): void;
11
+ /** 检查特定日期是否在本周内 */
12
+ isDateInThisWeek(dateToCheck: Dayjs): boolean;
13
+ /** edit dueDate 成功后, 重新计算 */
14
+ onChangeDueDate(item: ITask, date?: Date): void;
15
+ clear(): void;
16
+ }
@@ -0,0 +1,145 @@
1
+ import { __decorate } from "tslib";
2
+ import { makeObservable, observable, action } from "mobx";
3
+ import dayjs from "dayjs";
4
+ import { cloneDeep } from "lodash-es";
5
+ export class State {
6
+ constructor() {
7
+ Object.defineProperty(this, "total", {
8
+ enumerable: true,
9
+ configurable: true,
10
+ writable: true,
11
+ value: 0
12
+ });
13
+ /** Due, Today, Tomorrow, This Week, Upcoming */
14
+ Object.defineProperty(this, "dueList", {
15
+ enumerable: true,
16
+ configurable: true,
17
+ writable: true,
18
+ value: []
19
+ });
20
+ Object.defineProperty(this, "todayList", {
21
+ enumerable: true,
22
+ configurable: true,
23
+ writable: true,
24
+ value: []
25
+ });
26
+ Object.defineProperty(this, "upcomingList", {
27
+ enumerable: true,
28
+ configurable: true,
29
+ writable: true,
30
+ value: []
31
+ });
32
+ makeObservable(this);
33
+ }
34
+ update(list, type) {
35
+ list.map((i) => {
36
+ if (i.taskStatus !== "Done") {
37
+ if (i.dueDate) {
38
+ const dueDate = dayjs(i.dueDate);
39
+ // 获取当前日期
40
+ const today = dayjs();
41
+ /** 获取明天的日期 */
42
+ const tomorrow = today.add(1, "day");
43
+ if (dueDate.isSame(today, "day")) {
44
+ if (type === "new")
45
+ this.todayList.push(i);
46
+ else
47
+ this.todayList = this.todayList.filter((item) => item.id !== i.id);
48
+ }
49
+ else if (dueDate.isBefore(today)) {
50
+ if (type === "new")
51
+ this.dueList.push(i);
52
+ else
53
+ this.dueList = this.dueList.filter((item) => item.id !== i.id);
54
+ }
55
+ else {
56
+ if (type === "new")
57
+ this.upcomingList.push(i);
58
+ else
59
+ this.upcomingList = this.upcomingList.filter((item) => item.id !== i.id);
60
+ }
61
+ }
62
+ else {
63
+ if (type === "new")
64
+ this.upcomingList.push(i);
65
+ else
66
+ this.upcomingList = this.upcomingList.filter((item) => item.id !== i.id);
67
+ }
68
+ }
69
+ });
70
+ }
71
+ /** 检查特定日期是否在本周内 */
72
+ isDateInThisWeek(dateToCheck) {
73
+ // 获取当前日期
74
+ const now = dayjs();
75
+ // 本周区间
76
+ const startOfWeek = now.startOf("week");
77
+ const endOfWeek = now.endOf("week");
78
+ return (dateToCheck.isSame(startOfWeek, "day") ||
79
+ dateToCheck.isSame(endOfWeek, "day") ||
80
+ (dateToCheck.isAfter(startOfWeek) && dateToCheck.isBefore(endOfWeek)));
81
+ }
82
+ /** edit dueDate 成功后, 重新计算 */
83
+ onChangeDueDate(item, date) {
84
+ const data = cloneDeep(item);
85
+ data.dueDate = date;
86
+ if (item.dueDate !== date) {
87
+ const dueDate = dayjs(date);
88
+ const oldDueDate = dayjs(item.dueDate);
89
+ // 获取当前日期
90
+ const today = dayjs();
91
+ /** 获取明天的日期 */
92
+ const tomorrow = today.add(1, "day");
93
+ /** 删除 */
94
+ if (oldDueDate.isSame(today, "day")) {
95
+ this.todayList = this.todayList.filter((i) => item.id !== i.id);
96
+ }
97
+ else if (oldDueDate.isBefore(today)) {
98
+ this.dueList = this.dueList.filter((i) => item.id !== i.id);
99
+ }
100
+ else {
101
+ this.upcomingList = this.upcomingList.filter((i) => item.id !== i.id);
102
+ }
103
+ /** 新增 */
104
+ if (dueDate.isSame(today, "day")) {
105
+ this.todayList.push(data);
106
+ }
107
+ else if (dueDate.isBefore(today)) {
108
+ this.dueList.push(data);
109
+ }
110
+ else {
111
+ this.upcomingList.push(data);
112
+ }
113
+ }
114
+ }
115
+ clear() {
116
+ this.dueList = [];
117
+ this.todayList = [];
118
+ this.upcomingList = [];
119
+ }
120
+ }
121
+ __decorate([
122
+ observable
123
+ ], State.prototype, "total", void 0);
124
+ __decorate([
125
+ observable
126
+ ], State.prototype, "dueList", void 0);
127
+ __decorate([
128
+ observable
129
+ ], State.prototype, "todayList", void 0);
130
+ __decorate([
131
+ observable
132
+ ], State.prototype, "upcomingList", void 0);
133
+ __decorate([
134
+ action
135
+ ], State.prototype, "update", null);
136
+ __decorate([
137
+ action
138
+ ], State.prototype, "isDateInThisWeek", null);
139
+ __decorate([
140
+ action
141
+ ], State.prototype, "onChangeDueDate", null);
142
+ __decorate([
143
+ action
144
+ ], State.prototype, "clear", null);
145
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../../src/modules/tasks/components/task-check/TaskCheckActiveTab/state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { State as TaskCheckState } from "../TaskCheckTableList/state";
3
+ declare const TaskCheckDoneTab: (props: {
4
+ parentId: string;
5
+ taskCheckState: TaskCheckState;
6
+ searchVal?: string;
7
+ }) => React.JSX.Element;
8
+ export default TaskCheckDoneTab;
@@ -0,0 +1,71 @@
1
+ import React, { useState, useEffect } from "react";
2
+ import { observe } from "@voplus/morpho-ui";
3
+ import { useOnNewDocument, useOnDeleteDocument } from "@voplus/morpho-document-core";
4
+ import TaskCheckTable from "../TaskCheckTableCard/TaskCheckTable";
5
+ import { useRenderOnChange } from "@voplus/morpho-ui";
6
+ import { runInAction } from "mobx";
7
+ import { State } from "./state";
8
+ import { ListDataContext, useCreateListDataState } from "@voplus/morpho-ui/es/data";
9
+ import { useTaskListEffect } from "@voplus/morpho-document-core";
10
+ const TaskCheckDoneTab = (props) => {
11
+ const { parentId, taskCheckState } = props;
12
+ const [state] = useState(new State());
13
+ const list = useCreateListDataState({
14
+ filterDefaults: {
15
+ includes: "tags",
16
+ filters: filters(),
17
+ },
18
+ }, [parentId, props.searchVal]);
19
+ /** 如果 list.filters.options变更了就重渲染,使下一行的useTaskListEffect 可以接收新参数*/
20
+ useRenderOnChange(() => list.filters.options);
21
+ /** 把ListDataState传给useTaskListEffect,使之可以自動更新loading, hasmore. */
22
+ useTaskListEffect(list, (result, total) => {
23
+ list.union(result);
24
+ runInAction(() => {
25
+ state.total = total;
26
+ taskCheckState.updateDoneTotals(total);
27
+ });
28
+ }, { ...list.filters.options, Total: true });
29
+ useEffect(() => {
30
+ if (props.searchVal !== undefined) {
31
+ list.clear();
32
+ }
33
+ }, [props.searchVal]);
34
+ /** 新增task */
35
+ useOnNewDocument((s, doc) => {
36
+ if (doc.parentId === props.parentId && doc.type === "Task" && doc.taskStatus === "Done") {
37
+ state.total += 1;
38
+ taskCheckState.updateDoneTotals(state.total);
39
+ }
40
+ });
41
+ /** 删除task */
42
+ useOnDeleteDocument((s, doc) => {
43
+ if (doc.parentId === props.parentId && doc.type === "Task" && doc.taskStatus === "Done") {
44
+ state.total -= 1;
45
+ taskCheckState.updateDoneTotals(state.total);
46
+ list.remove(doc.id);
47
+ }
48
+ });
49
+ return observe(() => (React.createElement(ListDataContext.Provider, { value: list },
50
+ React.createElement("div", { className: "active-tab-task-list" },
51
+ React.createElement(TaskCheckTable, { label: "Done", scrollH: 400 })))));
52
+ function filters() {
53
+ const filter = [
54
+ { c: "ParentNodeId", o: "=", l: "And", v1: parentId },
55
+ { c: "TaskStatus", o: "contains", l: "And", v1: JSON.stringify(["Done"]) },
56
+ /** 必須提供parent node id或assignee filter */
57
+ // {
58
+ // c: "Members",
59
+ // o: "contains",
60
+ // v1: JSON.stringify(Array.from(this.members.keys())),
61
+ // l: "And",
62
+ // },
63
+ ];
64
+ if (props.searchVal !== undefined) {
65
+ filter.push({ c: "Search", o: "=", v1: props.searchVal, l: "And" });
66
+ }
67
+ return filter;
68
+ }
69
+ };
70
+ export default TaskCheckDoneTab;
71
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/tasks/components/task-check/TaskCheckDoneTab/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare class State {
2
+ constructor();
3
+ total: number;
4
+ }
@@ -0,0 +1,17 @@
1
+ import { __decorate } from "tslib";
2
+ import { makeObservable, observable } from "mobx";
3
+ export class State {
4
+ constructor() {
5
+ Object.defineProperty(this, "total", {
6
+ enumerable: true,
7
+ configurable: true,
8
+ writable: true,
9
+ value: 0
10
+ });
11
+ makeObservable(this);
12
+ }
13
+ }
14
+ __decorate([
15
+ observable
16
+ ], State.prototype, "total", void 0);
17
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../../src/modules/tasks/components/task-check/TaskCheckDoneTab/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAU,MAAM,MAAM,CAAC;AAE1D,MAAM,OAAO,KAAK;IACjB;QAImB;;;;mBAAgB,CAAC;WAAC;QAHpC,cAAc,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;CAGD;AADmB;IAAlB,UAAU;oCAA0B"}
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ export type TaskCheckNewFormProps = {
3
+ parentId?: string;
4
+ className?: string;
5
+ onSave?: (params?: any) => void;
6
+ onCancel?: () => void;
7
+ };
8
+ declare const TaskCheckNewForm: (props: TaskCheckNewFormProps) => React.JSX.Element;
9
+ export default TaskCheckNewForm;
@@ -0,0 +1,51 @@
1
+ import React, { useState } from "react";
2
+ import { Form, message, Input, Modal } from "antd";
3
+ import { State } from "./state";
4
+ import { observe } from "@voplus/morpho-ui";
5
+ import { runInAction } from "mobx";
6
+ import PresetDatePicker from "@voplus/morpho-ui/es/controls/PresetDatePicker";
7
+ import { useTaskStore } from "@voplus/morpho-document-core";
8
+ import classnames from "classnames";
9
+ import styles from "./index.less";
10
+ import dayjs from "dayjs";
11
+ const TaskCheckNewForm = (props) => {
12
+ const store = useTaskStore();
13
+ const [state] = useState(new State());
14
+ return observe(() => (React.createElement(Modal, { className: classnames(styles["task-check-new-form-dialog"], props.className), title: "New Task Form", open: true, closable: false, confirmLoading: state.loading, onCancel: onCancel, onOk: onSubmit },
15
+ React.createElement(Form, { layout: "vertical" },
16
+ React.createElement(Form.Item, { label: "Name" },
17
+ React.createElement(Input, { onChange: (e) => runInAction(() => (state.name = e.target.value)) })),
18
+ React.createElement(Form.Item, { label: "Due Date" },
19
+ React.createElement(PresetDatePicker, { className: "task-preset-date-picker", onChange: (preset, date) => {
20
+ state.dueDate = dayjs(date).format("YYYY-MM-DD");
21
+ }, style: { width: "100%" } }))))));
22
+ async function onSubmit() {
23
+ var _a, _b;
24
+ if (!state.name)
25
+ return message.warning("Name is required");
26
+ runInAction(() => (state.loading = true));
27
+ await store.create({
28
+ data: {
29
+ Name: state.name,
30
+ DueDate: state.dueDate,
31
+ ParentId: props.parentId,
32
+ },
33
+ error: "message",
34
+ });
35
+ (_a = props.onSave) === null || _a === void 0 ? void 0 : _a.call(props);
36
+ (_b = props.onCancel) === null || _b === void 0 ? void 0 : _b.call(props);
37
+ runInAction(() => {
38
+ state.loading = false;
39
+ });
40
+ return;
41
+ }
42
+ // cancel add task check
43
+ function onCancel() {
44
+ var _a;
45
+ state.name = "";
46
+ state.dueDate = "";
47
+ (_a = props.onCancel) === null || _a === void 0 ? void 0 : _a.call(props);
48
+ }
49
+ };
50
+ export default TaskCheckNewForm;
51
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/tasks/components/task-check/TaskCheckNewForm/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ @import "~@voplus/morpho-theme/styles/index.less";
2
+
3
+ .task-check-new-form-dialog {
4
+ :global {
5
+ }
6
+ }
@@ -0,0 +1,7 @@
1
+ export declare class State {
2
+ constructor();
3
+ name: string;
4
+ dueDate: string;
5
+ loading: boolean;
6
+ openDate: boolean;
7
+ }
@@ -0,0 +1,44 @@
1
+ import { __decorate } from "tslib";
2
+ import { makeObservable, observable } from "mobx";
3
+ export class State {
4
+ constructor() {
5
+ Object.defineProperty(this, "name", {
6
+ enumerable: true,
7
+ configurable: true,
8
+ writable: true,
9
+ value: ""
10
+ });
11
+ Object.defineProperty(this, "dueDate", {
12
+ enumerable: true,
13
+ configurable: true,
14
+ writable: true,
15
+ value: ""
16
+ });
17
+ Object.defineProperty(this, "loading", {
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true,
21
+ value: false
22
+ });
23
+ Object.defineProperty(this, "openDate", {
24
+ enumerable: true,
25
+ configurable: true,
26
+ writable: true,
27
+ value: false
28
+ });
29
+ makeObservable(this);
30
+ }
31
+ }
32
+ __decorate([
33
+ observable
34
+ ], State.prototype, "name", void 0);
35
+ __decorate([
36
+ observable
37
+ ], State.prototype, "dueDate", void 0);
38
+ __decorate([
39
+ observable
40
+ ], State.prototype, "loading", void 0);
41
+ __decorate([
42
+ observable
43
+ ], State.prototype, "openDate", void 0);
44
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../../src/modules/tasks/components/task-check/TaskCheckNewForm/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElD,MAAM,OAAO,KAAK;IACjB;QAGmB;;;;mBAAO,EAAE;WAAC;QACV;;;;mBAAU,EAAE;WAAC;QACb;;;;mBAAU,KAAK;WAAC;QAChB;;;;mBAAW,KAAK;WAAC;QALnC,cAAc,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;CAKD;AAJmB;IAAlB,UAAU;mCAAkB;AACV;IAAlB,UAAU;sCAAqB;AACb;IAAlB,UAAU;sCAAwB;AAChB;IAAlB,UAAU;uCAAyB"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import "./index.less";
3
+ declare const TableCell: (props: any) => React.JSX.Element;
4
+ export default TableCell;
@@ -0,0 +1,40 @@
1
+ import { observe } from "@voplus/morpho-ui";
2
+ import React from "react";
3
+ import { message, Checkbox } from "antd";
4
+ import { useMetaStore, useTaskStore, useTask } from "@voplus/morpho-document-core";
5
+ import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
6
+ import { faEllipsisVertical } from "@fortawesome/pro-solid-svg-icons";
7
+ import { Open } from "@voplus/morpho-document/es/controls/ToolBar/buttons";
8
+ import AvatarList from "@voplus/morpho-org/es/components/AvatarList";
9
+ import { useApplicationContext } from "@voplus/morpho-data";
10
+ import ToolBar from "@voplus/morpho-document/es/controls/ToolBar/ToolBar2";
11
+ import DueDateToolBar from "../../../controls/DueDateToolBar";
12
+ import ItemFunction from "@voplus/morpho-org/es/controls/ItemFunction";
13
+ import TaskQuickViewDialog from "../../TaskQuickViewDialog";
14
+ import dayjs from "dayjs";
15
+ import "./index.less";
16
+ const TableCell = (props) => {
17
+ const { dataIndex, record, rowIndex, children, onChangeDueDate, ...restProps } = props;
18
+ const store = useTaskStore();
19
+ const meta = useMetaStore();
20
+ const { user } = useApplicationContext();
21
+ return observe(() => {
22
+ var _a;
23
+ const task = useTask(record === null || record === void 0 ? void 0 : record.id);
24
+ return (React.createElement("td", { ...restProps }, dataIndex === "name" ? (React.createElement("div", { className: "task-check-checkbox" },
25
+ React.createElement(Checkbox, { checked: task.taskStatus === "Done", onChange: async (e) => {
26
+ await store.edit(record.id, {
27
+ data: { TaskStatus: e.target.checked === true ? "Done" : "Progress" },
28
+ error: (error) => message.error(error.message),
29
+ });
30
+ } }),
31
+ React.createElement(ItemFunction, { className: "task-check-name", quickViewDialog: (onCancel) => (React.createElement(TaskQuickViewDialog, { id: record.id, visible: true, onCancel: onCancel })) }, task.name))) : dataIndex === "assign" ? (React.createElement(AvatarList, { organizationId: user.info.organizationId, maxCount: 3, editable: false, list: (_a = task.members) !== null && _a !== void 0 ? _a : [] })) : dataIndex === "date" ? (React.createElement("div", { className: "task-check-dueDate" }, task.dueDate ? dayjs(task.dueDate).format("DD MMM YYYY") : "No due date")) : dataIndex === "menu" ? (React.createElement(ToolBar, { id: record.id, moreProps: {
32
+ buttonProps: { size: "middle" },
33
+ icon: React.createElement(FAIcon, { icon: faEllipsisVertical }),
34
+ } },
35
+ React.createElement(Open, { size: "middle", url: meta.getRoute(record) }),
36
+ React.createElement(DueDateToolBar, { id: record.id, onChangeDueDate: (dueDate) => onChangeDueDate === null || onChangeDueDate === void 0 ? void 0 : onChangeDueDate(record, dueDate) }))) : (children)));
37
+ });
38
+ };
39
+ export default TableCell;
40
+ //# sourceMappingURL=TableCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableCell.js","sourceRoot":"","sources":["../../../../../../src/modules/tasks/components/task-check/TaskCheckTableCard/TableCell.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import { ITask } from "@voplus/morpho-document-core";
3
+ export type TaskCheckTableProps = {
4
+ label?: string;
5
+ total?: number;
6
+ scrollH?: number;
7
+ onChangeDueDate?: (item: ITask, dueDate?: Date) => void;
8
+ };
9
+ declare const TaskCheckTable: (props: TaskCheckTableProps) => React.JSX.Element;
10
+ export default TaskCheckTable;
@@ -0,0 +1,53 @@
1
+ import React from "react";
2
+ import TableListCard from "@voplus/morpho-ui/es/components/TableListCard";
3
+ import { observe } from "@voplus/morpho-ui";
4
+ import TableCell from "./TableCell";
5
+ import classnames from "classnames";
6
+ const TaskCheckTable = (props) => {
7
+ const { label, total, scrollH } = props;
8
+ const columnsList = [
9
+ {
10
+ title: "",
11
+ dataIndex: "name",
12
+ },
13
+ {
14
+ title: "",
15
+ dataIndex: "assign",
16
+ width: "22%",
17
+ },
18
+ {
19
+ title: "",
20
+ dataIndex: "date",
21
+ width: "20%",
22
+ },
23
+ {
24
+ title: "",
25
+ dataIndex: "menu",
26
+ width: "98px",
27
+ },
28
+ ];
29
+ const components = {
30
+ body: {
31
+ // row: DragTableRow,
32
+ cell: TableCell,
33
+ },
34
+ };
35
+ const columns = columnsList.map((col) => {
36
+ return {
37
+ ...col,
38
+ onCell: (record, rowIndex) => {
39
+ return {
40
+ record,
41
+ dataIndex: col.dataIndex,
42
+ rowIndex: rowIndex,
43
+ onChangeDueDate: props.onChangeDueDate,
44
+ };
45
+ },
46
+ };
47
+ });
48
+ return observe(() => (React.createElement(TableListCard, { tableListProps: { columns: columns, components: components, scrollH: scrollH }, isHeader: true, className: classnames("task-check-table-card", { autoH: scrollH ? true : false }), title: React.createElement(React.Fragment, null,
49
+ label,
50
+ total ? ` (${total})` : null) })));
51
+ };
52
+ export default TaskCheckTable;
53
+ //# sourceMappingURL=TaskCheckTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskCheckTable.js","sourceRoot":"","sources":["../../../../../../src/modules/tasks/components/task-check/TaskCheckTableCard/TaskCheckTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,aAAa,MAAM,+CAA+C,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,UAAU,MAAM,YAAY,CAAC;AASpC,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAE,EAAE;IACrD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAExC,MAAM,WAAW,GAAG;QACnB;YACC,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,MAAM;SACjB;QACD;YACC,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,QAAQ;YACnB,KAAK,EAAE,KAAK;SACZ;QACD;YACC,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,MAAM;YACjB,KAAK,EAAE,KAAK;SACZ;QACD;YACC,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,MAAM;YACjB,KAAK,EAAE,MAAM;SACb;KACD,CAAC;IACF,MAAM,UAAU,GAAG;QAClB,IAAI,EAAE;YACL,qBAAqB;YACrB,IAAI,EAAE,SAAS;SACf;KACD,CAAC;IACF,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACvC,OAAO;YACN,GAAG,GAAG;YACN,MAAM,EAAE,CAAC,MAAW,EAAE,QAAgB,EAAE,EAAE;gBACzC,OAAO;oBACN,MAAM;oBACN,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,QAAQ,EAAE,QAAQ;oBAClB,eAAe,EAAE,KAAK,CAAC,eAAe;iBACtC,CAAC;YACH,CAAC;SACD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,oBAAC,aAAa,IACb,cAAc,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAC9E,QAAQ,QACR,SAAS,EAAE,UAAU,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EACjF,KAAK,EACJ;YACE,KAAK;YACL,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAC3B,GAEH,CACF,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import { TaskCheckTableProps } from "./TaskCheckTable";
3
+ import { ITask } from "@voplus/morpho-document-core";
4
+ export type TaskCheckTableCardProps = {
5
+ data: ITask[];
6
+ taskCheckTableProps?: TaskCheckTableProps;
7
+ };
8
+ declare const TaskCheckTableCard: (props: TaskCheckTableCardProps) => React.JSX.Element;
9
+ export default TaskCheckTableCard;
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ import { observe } from "@voplus/morpho-ui";
3
+ import { ListDataContext, useCreateListDataState } from "@voplus/morpho-ui/es/data";
4
+ import TaskCheckTable from "./TaskCheckTable";
5
+ const TaskCheckTableCard = (props) => {
6
+ var _a;
7
+ const list = useCreateListDataState({}, [(_a = props.taskCheckTableProps) === null || _a === void 0 ? void 0 : _a.label]);
8
+ list.clear();
9
+ list.hasMore = false;
10
+ list.union(props.data);
11
+ return observe(() => (React.createElement(React.Fragment, null,
12
+ React.createElement(ListDataContext.Provider, { value: list },
13
+ React.createElement(TaskCheckTable, { ...props.taskCheckTableProps })))));
14
+ };
15
+ export default TaskCheckTableCard;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/tasks/components/task-check/TaskCheckTableCard/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,cAAuC,MAAM,kBAAkB,CAAC;AAQvE,MAAM,kBAAkB,GAAG,CAAC,KAA8B,EAAE,EAAE;;IAC7D,MAAM,IAAI,GAAG,sBAAsB,CAAQ,EAAE,EAAE,CAAC,MAAA,KAAK,CAAC,mBAAmB,0CAAE,KAAK,CAAC,CAAC,CAAC;IAEnF,IAAI,CAAC,KAAK,EAAE,CAAC;IACb,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACrB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEvB,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB;QACC,oBAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,IAAI;YACpC,oBAAC,cAAc,OAAK,KAAK,CAAC,mBAAmB,GAAI,CACvB,CACzB,CACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,31 @@
1
+ :global {
2
+ .task-check-table-card {
3
+ &.autoH {
4
+ height: auto;
5
+ padding-bottom: 12px;
6
+ }
7
+ .table-card-head {
8
+ height: 42px;
9
+ background: #f7fbff;
10
+ padding-top: 0;
11
+ margin: 6px 6px 0 6px;
12
+ }
13
+ .ant-table-thead {
14
+ display: none;
15
+ }
16
+ .task-check-checkbox {
17
+ display: flex;
18
+ .task-check-name {
19
+ font-size: 14px;
20
+ color: #5d5d5d;
21
+ font-weight: bold;
22
+ margin-left: 5px;
23
+ cursor: pointer;
24
+ }
25
+ }
26
+ .task-check-dueDate {
27
+ line-height: 32px;
28
+ color: #868686;
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ import "./index.less";
3
+ declare const TaskCheckTableList: (props: {
4
+ id: string;
5
+ }) => React.JSX.Element;
6
+ export default TaskCheckTableList;
@@ -0,0 +1,76 @@
1
+ import React, { useState, useMemo } from "react";
2
+ import { useTaskListEffect } from "@voplus/morpho-document-core";
3
+ import { observe } from "@voplus/morpho-ui";
4
+ import { Button } from "antd";
5
+ import { Scrollbars } from "react-custom-scrollbars-2";
6
+ import { faBriefcase } from "@fortawesome/pro-solid-svg-icons";
7
+ import TaskCheckActiveTab from "../TaskCheckActiveTab";
8
+ import TaskCheckDoneTab from "../TaskCheckDoneTab";
9
+ import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
10
+ import AsideContent from "@voplus/morpho-ui/es/components/layout/AsideContent";
11
+ import { ListDataContext, useCreateListDataState } from "@voplus/morpho-ui/es/data";
12
+ import PageHeadDashboard from "@voplus/morpho-ui/es/components/layout/headers/PageHeadDashboard";
13
+ import ListHeaderTool from "@voplus/morpho-ui/es/components/layout/ListView/headers/ListHeaderTool";
14
+ import { ViewContext, ViewContextData, } from "@voplus/morpho-document-core/es/data/context/ViewContext";
15
+ import TaskCheckNewForm from "../TaskCheckNewForm";
16
+ import { State } from "./state";
17
+ import classnames from "classnames";
18
+ import "./index.less";
19
+ const TaskCheckTableList = (props) => {
20
+ const { id } = props;
21
+ const view = useMemo(() => new ViewContextData("PropertiesView"), []);
22
+ const [asideContext] = useState(AsideContent.createContext());
23
+ const [timer, setTimer] = useState();
24
+ const [state] = useState(new State());
25
+ const list = useCreateListDataState({}, []);
26
+ useTaskListEffect(null, (result, total) => state.updateActiveTotals(total), {
27
+ Total: true,
28
+ List: false,
29
+ Filters: [
30
+ { c: "ParentNodeId", o: "=", l: "And", v1: id },
31
+ { c: "TaskStatus", o: "!=", l: "And", v1: "Done" },
32
+ ],
33
+ });
34
+ useTaskListEffect(null, (result, total) => state.updateDoneTotals(total), {
35
+ Total: true,
36
+ List: false,
37
+ Filters: [
38
+ { c: "ParentNodeId", o: "=", l: "And", v1: id },
39
+ { c: "TaskStatus", o: "contains", l: "And", v1: JSON.stringify(["Done"]) },
40
+ ],
41
+ });
42
+ return observe(() => (React.createElement(ViewContext.Provider, { value: view },
43
+ React.createElement(ListDataContext.Provider, { value: list },
44
+ React.createElement(AsideContent, { context: asideContext },
45
+ React.createElement("div", { className: "task-table-list-card-page" },
46
+ React.createElement(PageHeadDashboard, { avatarIcon: React.createElement(FAIcon, { icon: faBriefcase }), title: "Tasks", description: "Stay on track: manage and prioritize your tasks" }),
47
+ React.createElement(ListHeaderTool, { addAble: true, onAdd: () => (state.openForm = true), sortable: false, searchHeader: true, searchOptions: {
48
+ placeholder: "Search in task",
49
+ onChange: onSearch,
50
+ }, preExtra: () => (React.createElement(React.Fragment, null,
51
+ React.createElement("div", { className: "task-status-btn" },
52
+ React.createElement(Button, { className: classnames({ active: state.active === "Active" }), onClick: () => onChangeFilter("Active") },
53
+ "Active ",
54
+ state.activeTotals ? `(${state.activeTotals})` : null),
55
+ React.createElement(Button, { className: classnames({ active: state.active === "Done" }), onClick: () => onChangeFilter("Done") },
56
+ "Done ",
57
+ state.doneTotals ? `(${state.doneTotals})` : null)))) }),
58
+ React.createElement(Scrollbars, { autoHide: true },
59
+ React.createElement("div", { className: classnames("content") },
60
+ state.active === "Active" && (React.createElement(TaskCheckActiveTab, { parentId: props.id, taskCheckState: state, searchVal: state.searchVal })),
61
+ state.active === "Done" && (React.createElement(TaskCheckDoneTab, { parentId: props.id, taskCheckState: state, searchVal: state.searchVal })))))),
62
+ state.openForm && (React.createElement(TaskCheckNewForm, { parentId: id, onCancel: () => (state.openForm = false) }))))));
63
+ function onChangeFilter(item) {
64
+ state.active = item;
65
+ }
66
+ function onSearch(val) {
67
+ if (timer)
68
+ clearTimeout(timer);
69
+ setTimer(setTimeout(() => {
70
+ state.searchVal = val !== null && val !== void 0 ? val : "";
71
+ setTimer(undefined);
72
+ }, 1000));
73
+ }
74
+ };
75
+ export default TaskCheckTableList;
76
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/tasks/components/task-check/TaskCheckTableList/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ :global {
2
+ .task-table-list-card-page {
3
+ display: flex;
4
+ flex-direction: column;
5
+ .list-view-header-tool {
6
+ .task-status-btn {
7
+ .ant-btn {
8
+ height: 30px;
9
+ color: #868686;
10
+ font-weight: bold;
11
+ border: 1px solid #868686;
12
+ margin-right: 15px;
13
+ &.active {
14
+ color: #217eb2;
15
+ background: #f4f9ff;
16
+ border: 1px solid #217eb2;
17
+ }
18
+ }
19
+ }
20
+ }
21
+ .active-tab-task-list {
22
+ padding: 10px 20px;
23
+ .table-list-card {
24
+ margin-bottom: 15px;
25
+ }
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,10 @@
1
+ export declare class State {
2
+ active: string;
3
+ searchVal?: string;
4
+ activeTotals?: number;
5
+ doneTotals?: number;
6
+ openForm?: boolean;
7
+ updateActiveTotals(total: number): void;
8
+ updateDoneTotals(total: number): void;
9
+ constructor();
10
+ }
@@ -0,0 +1,65 @@
1
+ import { __decorate } from "tslib";
2
+ import { action, makeObservable, observable } from "mobx";
3
+ export class State {
4
+ updateActiveTotals(total) {
5
+ this.activeTotals = total;
6
+ }
7
+ updateDoneTotals(total) {
8
+ this.doneTotals = total;
9
+ }
10
+ constructor() {
11
+ Object.defineProperty(this, "active", {
12
+ enumerable: true,
13
+ configurable: true,
14
+ writable: true,
15
+ value: "Active"
16
+ });
17
+ Object.defineProperty(this, "searchVal", {
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true,
21
+ value: void 0
22
+ });
23
+ Object.defineProperty(this, "activeTotals", {
24
+ enumerable: true,
25
+ configurable: true,
26
+ writable: true,
27
+ value: void 0
28
+ });
29
+ Object.defineProperty(this, "doneTotals", {
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true,
33
+ value: void 0
34
+ });
35
+ Object.defineProperty(this, "openForm", {
36
+ enumerable: true,
37
+ configurable: true,
38
+ writable: true,
39
+ value: void 0
40
+ });
41
+ makeObservable(this);
42
+ }
43
+ }
44
+ __decorate([
45
+ observable
46
+ ], State.prototype, "active", void 0);
47
+ __decorate([
48
+ observable
49
+ ], State.prototype, "searchVal", void 0);
50
+ __decorate([
51
+ observable
52
+ ], State.prototype, "activeTotals", void 0);
53
+ __decorate([
54
+ observable
55
+ ], State.prototype, "doneTotals", void 0);
56
+ __decorate([
57
+ observable
58
+ ], State.prototype, "openForm", void 0);
59
+ __decorate([
60
+ action
61
+ ], State.prototype, "updateActiveTotals", null);
62
+ __decorate([
63
+ action
64
+ ], State.prototype, "updateDoneTotals", null);
65
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../../src/modules/tasks/components/task-check/TaskCheckTableList/state.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAY,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAEpE,MAAM,OAAO,KAAK;IAOF,kBAAkB,CAAC,KAAa;QAC9C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC3B,CAAC;IAEc,gBAAgB,CAAC,KAAa;QAC5C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IACzB,CAAC;IAED;QAdmB;;;;mBAAiB,QAAQ;WAAC;QAC1B;;;;;WAAmB;QACnB;;;;;WAAsB;QACtB;;;;;WAAoB;QACpB;;;;;WAAmB;QAWrC,cAAc,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;CACD;AAjBmB;IAAlB,UAAU;qCAAkC;AAC1B;IAAlB,UAAU;wCAA2B;AACnB;IAAlB,UAAU;2CAA8B;AACtB;IAAlB,UAAU;yCAA4B;AACpB;IAAlB,UAAU;uCAA2B;AAEvB;IAAd,MAAM;+CAEN;AAEc;IAAd,MAAM;6CAEN"}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import "./index.less";
3
+ declare const DueDateToolBar: (props: {
4
+ id: string;
5
+ onChangeDueDate?: (dueDate?: Date) => void;
6
+ }) => React.JSX.Element;
7
+ export default DueDateToolBar;
@@ -0,0 +1,35 @@
1
+ import React, { useEffect, useState } from "react";
2
+ import { observe } from "@voplus/morpho-ui";
3
+ import { message, Button } from "antd";
4
+ import { useTask, useTaskStore } from "@voplus/morpho-document-core";
5
+ import dayjs from "dayjs";
6
+ import { State } from "./state";
7
+ import PresetDatePicker from "@voplus/morpho-ui/es/controls/PresetDatePicker";
8
+ import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
9
+ import { faCalendar } from "@fortawesome/pro-solid-svg-icons";
10
+ import "./index.less";
11
+ const DueDateToolBar = (props) => {
12
+ const { id } = props;
13
+ const [state] = useState(new State());
14
+ const taskStore = useTaskStore();
15
+ const task = useTask(id);
16
+ useEffect(() => {
17
+ state.openToolbarDate = false;
18
+ }, [id]);
19
+ return observe(() => (React.createElement(Button, { type: "link", key: "dueDate", className: "task-toolbar-dueDate", onClick: () => (state.openToolbarDate = true) },
20
+ React.createElement(FAIcon, { icon: faCalendar }),
21
+ React.createElement("div", { className: "task-toolbar-preset-date-picker",
22
+ // 阻止事件冒泡
23
+ onClick: (e) => e.stopPropagation() },
24
+ React.createElement(PresetDatePicker, { open: state.openToolbarDate, value: task.dueDate ? dayjs(task.dueDate) : undefined, onChange: async (preset, date) => {
25
+ var _a;
26
+ state.openToolbarDate = false;
27
+ await taskStore.edit(task.id, {
28
+ data: { DueDate: date ? dayjs(date).format("YYYY-MM-DD") : "" },
29
+ error: (error) => message.error(error.message),
30
+ });
31
+ (_a = props.onChangeDueDate) === null || _a === void 0 ? void 0 : _a.call(props, task.dueDate);
32
+ }, handleOpenChange: (open) => (state.openToolbarDate = open), style: { width: "100%" } })))));
33
+ };
34
+ export default DueDateToolBar;
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tasks/controls/DueDateToolBar/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,gBAAgB,MAAM,gDAAgD,CAAC;AAC9E,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,cAAc,CAAC;AAEtB,MAAM,cAAc,GAAG,CAAC,KAAiE,EAAE,EAAE;IAC5F,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;IACrB,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IAEzB,SAAS,CAAC,GAAG,EAAE;QACd,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAET,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,oBAAC,MAAM,IACN,IAAI,EAAC,MAAM,EACX,GAAG,EAAC,SAAS,EACb,SAAS,EAAC,sBAAsB,EAChC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC;QAE7C,oBAAC,MAAM,IAAC,IAAI,EAAE,UAAU,GAAI;QAC5B,6BACC,SAAS,EAAC,iCAAiC;YAC3C,SAAS;YACT,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE;YAEnC,oBAAC,gBAAgB,IAChB,IAAI,EAAE,KAAK,CAAC,eAAe,EAC3B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EACrD,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAS,EAAE,EAAE;;oBACrC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC;oBAC9B,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;wBAC7B,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC/D,KAAK,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;qBACrD,CAAC,CAAC;oBACH,MAAA,KAAK,CAAC,eAAe,sDAAG,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvC,CAAC,EACD,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,EAC1D,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GACvB,CACG,CACE,CACT,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,17 @@
1
+ :global {
2
+ .task-toolbar-dueDate {
3
+ position: relative;
4
+ background-color: transparent;
5
+ .task-toolbar-preset-date-picker {
6
+ position: absolute;
7
+ left: 0;
8
+ top: 0;
9
+ z-index: -1;
10
+ border: none;
11
+ background-color: transparent;
12
+ .ant-picker-suffix {
13
+ display: none;
14
+ }
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,8 @@
1
+ import { ITask } from "@voplus/morpho-document-core";
2
+ export declare class State {
3
+ constructor();
4
+ /** */
5
+ task: ITask;
6
+ openToolbarDate: boolean;
7
+ update(task: ITask): void;
8
+ }
@@ -0,0 +1,33 @@
1
+ import { __decorate } from "tslib";
2
+ import { makeObservable, observable, action } from "mobx";
3
+ export class State {
4
+ constructor() {
5
+ /** */
6
+ Object.defineProperty(this, "task", {
7
+ enumerable: true,
8
+ configurable: true,
9
+ writable: true,
10
+ value: void 0
11
+ });
12
+ Object.defineProperty(this, "openToolbarDate", {
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true,
16
+ value: false
17
+ });
18
+ makeObservable(this);
19
+ }
20
+ update(task) {
21
+ this.task = task;
22
+ }
23
+ }
24
+ __decorate([
25
+ observable
26
+ ], State.prototype, "task", void 0);
27
+ __decorate([
28
+ observable
29
+ ], State.prototype, "openToolbarDate", void 0);
30
+ __decorate([
31
+ action
32
+ ], State.prototype, "update", null);
33
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/modules/tasks/controls/DueDateToolBar/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAG1D,MAAM,OAAO,KAAK;IACjB;QAIA,OAAO;QACY;;;;;WAAY;QACZ;;;;mBAAkB,KAAK;WAAC;QAL1C,cAAc,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAMc,MAAM,CAAC,IAAW;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;CACD;AANmB;IAAlB,UAAU;mCAAoB;AACZ;IAAlB,UAAU;8CAAgC;AAE5B;IAAd,MAAM;mCAEN"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voplus/morpho-workspace",
3
- "version": "6.0.166",
3
+ "version": "6.0.167",
4
4
  "description": "morpho workspace module",
5
5
  "repository": {
6
6
  "type": "git",