@voplus/morpho-workspace 6.0.166 → 6.0.168
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/index.js +2 -4
- package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/index.js.map +1 -1
- package/es/modules/tasks/components/NewTaskForm/NewTaskFormContent.d.ts +14 -0
- package/es/modules/tasks/components/NewTaskForm/NewTaskFormContent.js +52 -0
- package/es/modules/tasks/components/NewTaskForm/NewTaskFormContent.js.map +1 -0
- package/es/modules/tasks/components/NewTaskForm/NewTaskFormDialog.d.ts +5 -2
- package/es/modules/tasks/components/NewTaskForm/NewTaskFormDialog.js +17 -4
- package/es/modules/tasks/components/NewTaskForm/NewTaskFormDialog.js.map +1 -1
- package/es/modules/tasks/components/NewTaskForm/index.d.ts +3 -4
- package/es/modules/tasks/components/NewTaskForm/index.js +19 -76
- package/es/modules/tasks/components/NewTaskForm/index.js.map +1 -1
- package/es/modules/tasks/components/NewTaskForm/index.less +17 -0
- package/es/modules/tasks/components/NewTaskForm/state.d.ts +6 -2
- package/es/modules/tasks/components/NewTaskForm/state.js +35 -2
- package/es/modules/tasks/components/NewTaskForm/state.js.map +1 -1
- package/es/modules/tasks/components/TaskCheckItem/index.js +3 -14
- package/es/modules/tasks/components/TaskCheckItem/index.js.map +1 -1
- package/es/modules/tasks/components/TaskCheckItem/index.less +0 -16
- package/es/modules/tasks/components/TaskCheckNewForm/index.js.map +1 -1
- package/es/modules/tasks/components/task-check/TaskCheckActiveTab/index.d.ts +9 -0
- package/es/modules/tasks/components/task-check/TaskCheckActiveTab/index.js +94 -0
- package/es/modules/tasks/components/task-check/TaskCheckActiveTab/index.js.map +1 -0
- package/es/modules/tasks/components/task-check/TaskCheckActiveTab/index.less +24 -0
- package/es/modules/tasks/components/task-check/TaskCheckActiveTab/state.d.ts +16 -0
- package/es/modules/tasks/components/task-check/TaskCheckActiveTab/state.js +145 -0
- package/es/modules/tasks/components/task-check/TaskCheckActiveTab/state.js.map +1 -0
- package/es/modules/tasks/components/task-check/TaskCheckDoneTab/index.d.ts +9 -0
- package/es/modules/tasks/components/task-check/TaskCheckDoneTab/index.js +79 -0
- package/es/modules/tasks/components/task-check/TaskCheckDoneTab/index.js.map +1 -0
- package/es/modules/tasks/components/task-check/TaskCheckDoneTab/state.d.ts +4 -0
- package/es/modules/tasks/components/task-check/TaskCheckDoneTab/state.js +17 -0
- package/es/modules/tasks/components/task-check/TaskCheckDoneTab/state.js.map +1 -0
- package/es/modules/tasks/components/task-check/TaskCheckNewForm/index.d.ts +9 -0
- package/es/modules/tasks/components/task-check/TaskCheckNewForm/index.js +51 -0
- package/es/modules/tasks/components/task-check/TaskCheckNewForm/index.js.map +1 -0
- package/es/modules/tasks/components/task-check/TaskCheckNewForm/index.less +6 -0
- package/es/modules/tasks/components/task-check/TaskCheckNewForm/state.d.ts +7 -0
- package/es/modules/tasks/components/task-check/TaskCheckNewForm/state.js +44 -0
- package/es/modules/tasks/components/task-check/TaskCheckNewForm/state.js.map +1 -0
- package/es/modules/tasks/components/task-check/TaskCheckTableCard/TableCell.d.ts +4 -0
- package/es/modules/tasks/components/task-check/TaskCheckTableCard/TableCell.js +40 -0
- package/es/modules/tasks/components/task-check/TaskCheckTableCard/TableCell.js.map +1 -0
- package/es/modules/tasks/components/task-check/TaskCheckTableCard/TaskCheckTable.d.ts +10 -0
- package/es/modules/tasks/components/task-check/TaskCheckTableCard/TaskCheckTable.js +53 -0
- package/es/modules/tasks/components/task-check/TaskCheckTableCard/TaskCheckTable.js.map +1 -0
- package/es/modules/tasks/components/task-check/TaskCheckTableCard/index.d.ts +9 -0
- package/es/modules/tasks/components/task-check/TaskCheckTableCard/index.js +16 -0
- package/es/modules/tasks/components/task-check/TaskCheckTableCard/index.js.map +1 -0
- package/es/modules/tasks/components/task-check/TaskCheckTableCard/index.less +31 -0
- package/es/modules/tasks/components/task-check/TaskCheckTableList/index.d.ts +6 -0
- package/es/modules/tasks/components/task-check/TaskCheckTableList/index.js +89 -0
- package/es/modules/tasks/components/task-check/TaskCheckTableList/index.js.map +1 -0
- package/es/modules/tasks/components/task-check/TaskCheckTableList/index.less +39 -0
- package/es/modules/tasks/components/task-check/TaskCheckTableList/state.d.ts +10 -0
- package/es/modules/tasks/components/task-check/TaskCheckTableList/state.js +65 -0
- package/es/modules/tasks/components/task-check/TaskCheckTableList/state.js.map +1 -0
- package/es/modules/tasks/controls/DueDateToolBar/index.d.ts +7 -0
- package/es/modules/tasks/controls/DueDateToolBar/index.js +35 -0
- package/es/modules/tasks/controls/DueDateToolBar/index.js.map +1 -0
- package/es/modules/tasks/controls/DueDateToolBar/index.less +17 -0
- package/es/modules/tasks/controls/DueDateToolBar/state.d.ts +8 -0
- package/es/modules/tasks/controls/DueDateToolBar/state.js +33 -0
- package/es/modules/tasks/controls/DueDateToolBar/state.js.map +1 -0
- package/package.json +1 -1
@@ -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,9 @@
|
|
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
|
+
openForm?: boolean;
|
8
|
+
}) => React.JSX.Element;
|
9
|
+
export default TaskCheckDoneTab;
|
@@ -0,0 +1,79 @@
|
|
1
|
+
import React, { useState, useEffect, useRef } 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 classnames from "classnames";
|
9
|
+
import { ListDataContext, useCreateListDataState } from "@voplus/morpho-ui/es/data";
|
10
|
+
import { useTaskListEffect } from "@voplus/morpho-document-core";
|
11
|
+
const TaskCheckDoneTab = (props) => {
|
12
|
+
const { parentId, taskCheckState } = props;
|
13
|
+
const [state] = useState(new State());
|
14
|
+
const ref = useRef(null);
|
15
|
+
const [height, setHeight] = useState(0);
|
16
|
+
const list = useCreateListDataState({
|
17
|
+
filterDefaults: {
|
18
|
+
includes: "tags",
|
19
|
+
filters: filters(),
|
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
|
+
runInAction(() => {
|
28
|
+
state.total = total;
|
29
|
+
taskCheckState.updateDoneTotals(total);
|
30
|
+
});
|
31
|
+
}, { ...list.filters.options, Total: true });
|
32
|
+
useEffect(() => {
|
33
|
+
if (props.searchVal !== undefined) {
|
34
|
+
list.clear();
|
35
|
+
}
|
36
|
+
}, [props.searchVal]);
|
37
|
+
useEffect(() => {
|
38
|
+
if (ref.current) {
|
39
|
+
setHeight(ref.current.offsetHeight);
|
40
|
+
}
|
41
|
+
}, [ref]);
|
42
|
+
/** 新增task */
|
43
|
+
useOnNewDocument((s, doc) => {
|
44
|
+
if (doc.parentId === props.parentId && doc.type === "Task" && doc.taskStatus === "Done") {
|
45
|
+
state.total += 1;
|
46
|
+
taskCheckState.updateDoneTotals(state.total);
|
47
|
+
}
|
48
|
+
});
|
49
|
+
/** 删除task */
|
50
|
+
useOnDeleteDocument((s, doc) => {
|
51
|
+
if (doc.parentId === props.parentId && doc.type === "Task" && doc.taskStatus === "Done") {
|
52
|
+
state.total -= 1;
|
53
|
+
taskCheckState.updateDoneTotals(state.total);
|
54
|
+
list.remove(doc.id);
|
55
|
+
}
|
56
|
+
});
|
57
|
+
return observe(() => (React.createElement(ListDataContext.Provider, { value: list },
|
58
|
+
React.createElement("div", { className: classnames("active-tab-task-list done-tab-task-list", { form: props.openForm }), ref: ref },
|
59
|
+
React.createElement(TaskCheckTable, { label: "Done", scrollH: height - 125 })))));
|
60
|
+
function filters() {
|
61
|
+
const filter = [
|
62
|
+
{ c: "ParentNodeId", o: "=", l: "And", v1: parentId },
|
63
|
+
{ c: "TaskStatus", o: "contains", l: "And", v1: JSON.stringify(["Done"]) },
|
64
|
+
/** 必須提供parent node id或assignee filter */
|
65
|
+
// {
|
66
|
+
// c: "Members",
|
67
|
+
// o: "contains",
|
68
|
+
// v1: JSON.stringify(Array.from(this.members.keys())),
|
69
|
+
// l: "And",
|
70
|
+
// },
|
71
|
+
];
|
72
|
+
if (props.searchVal !== undefined) {
|
73
|
+
filter.push({ c: "Search", o: "=", v1: props.searchVal, l: "And" });
|
74
|
+
}
|
75
|
+
return filter;
|
76
|
+
}
|
77
|
+
};
|
78
|
+
export default TaskCheckDoneTab;
|
79
|
+
//# 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,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":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,gBAAgB,MAAM,gDAAgD,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,MAAM,gBAAgB,GAAG,CAAC,KAA4B,EAAE,EAAE;IACzD,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IAEtC,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,oBAAC,KAAK,IACL,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,4BAA4B,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,EAC5E,KAAK,EAAC,eAAe,EACrB,IAAI,QACJ,QAAQ,EAAE,KAAK,EACf,cAAc,EAAE,KAAK,CAAC,OAAO,EAC7B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,QAAQ;QAEd,oBAAC,IAAI,IAAC,MAAM,EAAC,UAAU;YACtB,oBAAC,IAAI,CAAC,IAAI,IAAC,KAAK,EAAC,MAAM;gBACtB,oBAAC,KAAK,IAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAI,CACjE;YACZ,oBAAC,IAAI,CAAC,IAAI,IAAC,KAAK,EAAC,UAAU;gBAC1B,oBAAC,gBAAgB,IAChB,SAAS,EAAC,yBAAyB,EACnC,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAS,EAAE,EAAE;wBAC/B,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBAClD,CAAC,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GACvB,CACS,CACN,CACA,CACR,CAAC,CAAC;IAEH,KAAK,UAAU,QAAQ;;QACtB,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC5D,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;QAC1C,MAAM,KAAK,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE;gBACL,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACjB;YACR,KAAK,EAAE,SAAS;SAChB,CAAC,CAAC;QACH,MAAA,KAAK,CAAC,MAAM,qDAAI,CAAC;QACjB,MAAA,KAAK,CAAC,QAAQ,qDAAI,CAAC;QACnB,WAAW,CAAC,GAAG,EAAE;YAChB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,OAAO;IACR,CAAC;IAED,wBAAwB;IACxB,SAAS,QAAQ;;QAChB,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;QACnB,MAAA,KAAK,CAAC,QAAQ,qDAAI,CAAC;IACpB,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
@@ -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,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;
|