@voplus/morpho-workspace 1.3.110 → 1.3.112
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.js +4 -0
- package/es/Modules.js.map +1 -1
- package/es/WorkSpaceUIService.d.ts +5 -0
- package/es/WorkSpaceUIService.js +9 -0
- package/es/WorkSpaceUIService.js.map +1 -0
- package/es/components/TeamTaskList/index.d.ts +7 -0
- package/es/components/TeamTaskList/index.js +155 -0
- package/es/components/TeamTaskList/index.js.map +1 -0
- package/es/components/TeamTaskList/state.d.ts +22 -0
- package/es/components/TeamTaskList/state.js +158 -0
- package/es/components/TeamTaskList/state.js.map +1 -0
- package/package.json +1 -1
package/es/Modules.js
CHANGED
@@ -2,6 +2,7 @@ import { MeetingFolderTypeMeta, MeetingTypeMeta } from "./data/meeting/metas";
|
|
2
2
|
import { BoardTypeMeta } from "./data/board/metas";
|
3
3
|
import { DocumentMetaStore } from "@voplus/morpho-document/es/data/DocumentMetaStore";
|
4
4
|
import { DocumentUIService } from "@voplus/morpho-document/es/DocumentUIService";
|
5
|
+
import { WorkSpaceUIService } from './WorkSpaceUIService';
|
5
6
|
import { FormElementRegister } from "@voplus/morpho-form/es/services";
|
6
7
|
import Routes from "./routes";
|
7
8
|
import { TaskTypeMeta } from "./data/task/metas";
|
@@ -14,6 +15,9 @@ const Modules = {
|
|
14
15
|
if (!context.getService(DocumentUIService.TypeName)) {
|
15
16
|
context.registerService(new DocumentUIService());
|
16
17
|
}
|
18
|
+
if (!context.getService(WorkSpaceUIService.TypeName)) {
|
19
|
+
context.registerService(new WorkSpaceUIService());
|
20
|
+
}
|
17
21
|
if (!context.getService(DocumentMetaStore.StoreName)) {
|
18
22
|
context.registerService(new DocumentMetaStore());
|
19
23
|
}
|
package/es/Modules.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Modules.js","sourceRoot":"","sources":["../src/Modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG9E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,aAAa,MAAM,+CAA+C,CAAC;AAE1E,MAAM,OAAO,GAAG;IACf,2CAA2C;IAC3C,QAAQ,EAAE,CAAC,OAAmB,EAAE,EAAE;QACjC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE;YACpD,OAAO,CAAC,eAAe,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;SACjD;QAED,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE;YACrD,OAAO,CAAC,eAAe,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;SACjD;QAED,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE;YACrD,MAAM,OAAO,GAAG,IAAI,mBAAmB,EAAE,CAAC;YAC1C,aAAa,CAAC,OAAO,CAAC,CAAC;YACvB,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;SACjC;QAED,4BAA4B;QAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAsB,CAAC;QACnF,KAAK,CAAC,OAAO,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;QACrC,KAAK,CAAC,OAAO,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;QAC3C,KAAK,CAAC,OAAO,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QACnC,KAAK,CAAC,OAAO,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QAClC,KAAK,CAAC,OAAO,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QAElC,mBAAmB;QACnB,MAAM,CAAC,SAAS,EAAE,CAAC;IACpB,CAAC;CACD,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
1
|
+
{"version":3,"file":"Modules.js","sourceRoot":"","sources":["../src/Modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG9E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,aAAa,MAAM,+CAA+C,CAAC;AAE1E,MAAM,OAAO,GAAG;IACf,2CAA2C;IAC3C,QAAQ,EAAE,CAAC,OAAmB,EAAE,EAAE;QACjC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE;YACpD,OAAO,CAAC,eAAe,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;SACjD;QAED,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE;YACrD,OAAO,CAAC,eAAe,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;SAClD;QAED,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE;YACrD,OAAO,CAAC,eAAe,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;SACjD;QAED,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE;YACrD,MAAM,OAAO,GAAG,IAAI,mBAAmB,EAAE,CAAC;YAC1C,aAAa,CAAC,OAAO,CAAC,CAAC;YACvB,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;SACjC;QAED,4BAA4B;QAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAsB,CAAC;QACnF,KAAK,CAAC,OAAO,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;QACrC,KAAK,CAAC,OAAO,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;QAC3C,KAAK,CAAC,OAAO,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QACnC,KAAK,CAAC,OAAO,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QAClC,KAAK,CAAC,OAAO,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QAElC,mBAAmB;QACnB,MAAM,CAAC,SAAS,EAAE,CAAC;IACpB,CAAC;CACD,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { WorkSpaceUIService as Base } from "@voplus/morpho-document-core";
|
3
|
+
import TeamTaskList from "./components/TeamTaskList";
|
4
|
+
export class WorkSpaceUIService extends Base {
|
5
|
+
renderTeamTaskList(props) {
|
6
|
+
return React.createElement(TeamTaskList, { ...props });
|
7
|
+
}
|
8
|
+
}
|
9
|
+
//# sourceMappingURL=WorkSpaceUIService.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"WorkSpaceUIService.js","sourceRoot":"","sources":["../src/WorkSpaceUIService.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,IAAI,IAAI,EAAqB,MAAM,8BAA8B,CAAC;AAC7F,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAErD,MAAM,OAAO,kBAAmB,SAAQ,IAAI;IACpC,kBAAkB,CAAC,KAAwB;QACjD,OAAO,oBAAC,YAAY,OAAK,KAAK,GAAI,CAAC;IACpC,CAAC;CACD"}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
/**
|
2
|
+
* 此组件用于 org TeamDefaultView 中, 使用 ui.renderTeamTaskList 用于渲染 Team Tasks 和 Member Tasks
|
3
|
+
*/
|
4
|
+
/// <reference types="react" />
|
5
|
+
import { TeamTaskListProps } from "@voplus/morpho-document-core";
|
6
|
+
declare const TeamTaskList: (props: TeamTaskListProps) => JSX.Element;
|
7
|
+
export default TeamTaskList;
|
@@ -0,0 +1,155 @@
|
|
1
|
+
/**
|
2
|
+
* 此组件用于 org TeamDefaultView 中, 使用 ui.renderTeamTaskList 用于渲染 Team Tasks 和 Member Tasks
|
3
|
+
*/
|
4
|
+
import React, { useMemo, useState } from "react";
|
5
|
+
import { useLayout } from "@voplus/morpho-data";
|
6
|
+
import { ListDataContext, useCreateListDataState } from "@voplus/morpho-ui/es/data";
|
7
|
+
import { generatePath, useRouteMatch } from "react-router";
|
8
|
+
import { useAutoUpdateListData, useDocumentStore, useOnDeleteDocument, useOnNewDocument, } from "@voplus/morpho-document-core";
|
9
|
+
import { TaskStatusFilter } from "../../controls/filters";
|
10
|
+
import { observe } from "@voplus/morpho-ui";
|
11
|
+
import { useRenderOnChange } from "@voplus/morpho-ui";
|
12
|
+
import { useTaskListEffect } from "../../data/task";
|
13
|
+
import { State } from "./state";
|
14
|
+
import { runInAction } from "mobx";
|
15
|
+
import DefaultTaskItem from "../../modules/tasks/components/TaskItem/DefaultTaskItem";
|
16
|
+
import DocumentItemFrame from "@voplus/morpho-document/es/controls/DocumentItemFrame";
|
17
|
+
import ListView from "@voplus/morpho-ui/es/components/layout/ListView/ListView2";
|
18
|
+
import TaskPropertiesView from "../../modules/tasks/components/TaskPropertiesView";
|
19
|
+
import moment from "moment";
|
20
|
+
const TeamTaskList = (props) => {
|
21
|
+
const match = useRouteMatch();
|
22
|
+
const layout = useLayout();
|
23
|
+
const documentStore = useDocumentStore();
|
24
|
+
const defaultTaskStatus = ["NotStarted", "Progress"];
|
25
|
+
const [activeId, setActiveId] = useState("");
|
26
|
+
const state = useMemo(() => new State(props.id), []);
|
27
|
+
// 先临时解决 Nav menu 中没有 total
|
28
|
+
useTaskListEffect(null, (result, total) => runInAction(() => (state.taskTotals.unscheduled = total || 0)), state.tUnscheduled);
|
29
|
+
useTaskListEffect(null, (result, total) => runInAction(() => (state.taskTotals.today = total || 0)), state.tToday);
|
30
|
+
useTaskListEffect(null, (result, total) => runInAction(() => (state.taskTotals.week = total || 0)), state.tWeek);
|
31
|
+
useTaskListEffect(null, (result, total) => runInAction(() => (state.taskTotals.month = total || 0)), state.tMonth);
|
32
|
+
const list = useCreateListDataState({
|
33
|
+
filterDefaults: {
|
34
|
+
includes: "tags",
|
35
|
+
filters: filters(),
|
36
|
+
},
|
37
|
+
}, [match.params.dueDate]);
|
38
|
+
/** useOnNewDocument, useOnDeleteDocument的sugar syntax 自動更新list. */
|
39
|
+
useAutoUpdateListData(list, (d) => d.type === "Task" && !d.parentId);
|
40
|
+
useOnNewDocument((s, doc) => {
|
41
|
+
if (doc.type === "Task" && !doc.parentId)
|
42
|
+
state.taskTotals[match.params.dueDate.toLowerCase()]++;
|
43
|
+
});
|
44
|
+
useOnDeleteDocument((s, doc) => {
|
45
|
+
if (doc.type === "Task" && !doc.parentId)
|
46
|
+
state.taskTotals[match.params.dueDate.toLowerCase()]--;
|
47
|
+
});
|
48
|
+
/** 如果 list.filters.options变更了就重渲染,使下一行的useTaskListEffect 可以接收新参数*/
|
49
|
+
useRenderOnChange(() => list.filters.options);
|
50
|
+
/** 把ListDataState传给useTaskListEffect,使之可以自動更新loading, hasmore. */
|
51
|
+
useTaskListEffect(list, (result, total) => {
|
52
|
+
list.union(result);
|
53
|
+
runInAction(() => {
|
54
|
+
state.taskTotals[match.params.dueDate.toLowerCase()] = total;
|
55
|
+
});
|
56
|
+
if (props.onMenuTotal)
|
57
|
+
props.onMenuTotal(state.taskTotals);
|
58
|
+
}, {
|
59
|
+
Total: true,
|
60
|
+
...list.filters.options,
|
61
|
+
});
|
62
|
+
return observe(() => (React.createElement(ListDataContext.Provider, { value: list },
|
63
|
+
React.createElement(ListView, { headerProps: {
|
64
|
+
viewTitle: "Team Tasks",
|
65
|
+
addAble: false,
|
66
|
+
filterViewProps: {
|
67
|
+
columns: [React.createElement(TaskStatusFilter, { key: "TaskStatusFilter", defaultValue: defaultTaskStatus })],
|
68
|
+
onFilter,
|
69
|
+
},
|
70
|
+
sortOptions: [
|
71
|
+
{ label: "Name", value: "Name" },
|
72
|
+
{ label: "Start Date", value: "StartDate" },
|
73
|
+
{ label: "Due Date", value: "DueDate" },
|
74
|
+
{ label: "Priority", value: "Flag" },
|
75
|
+
],
|
76
|
+
}, className: "my-space-tasks", moveAfter: moveAfter, propertiesView: (id) => React.createElement(TaskPropertiesView, { id: id }), renderItem: ({ item, connectDragSource }) => (React.createElement(React.Fragment, null,
|
77
|
+
React.createElement(DocumentItemFrame, { key: item.id, frameProps: { active: activeId === item.id }, onClick: () => {
|
78
|
+
setActiveId(item.id);
|
79
|
+
layout.history.push(generatePath(match.path, {
|
80
|
+
id: match.params.id,
|
81
|
+
dueDate: match.params.dueDate,
|
82
|
+
active: item.id,
|
83
|
+
}));
|
84
|
+
} },
|
85
|
+
React.createElement(DefaultTaskItem, { id: item.id, memberAlign: "block", connectDragSource: connectDragSource })))) }))));
|
86
|
+
function filters() {
|
87
|
+
const todayFilter = {
|
88
|
+
c: "DueDate",
|
89
|
+
o: "between",
|
90
|
+
l: "And",
|
91
|
+
v1: moment().startOf("day").format("YYYY-MM-DD HH:mm:ss"),
|
92
|
+
v2: moment().endOf("day").format("YYYY-MM-DD HH:mm:ss"),
|
93
|
+
};
|
94
|
+
const weekFilter = {
|
95
|
+
c: "DueDate",
|
96
|
+
o: "between",
|
97
|
+
l: "And",
|
98
|
+
v1: moment().startOf("week").format("YYYY-MM-DD HH:mm:ss"),
|
99
|
+
v2: moment().endOf("week").format("YYYY-MM-DD HH:mm:ss"),
|
100
|
+
};
|
101
|
+
const monthFilter = {
|
102
|
+
c: "DueDate",
|
103
|
+
o: "between",
|
104
|
+
l: "And",
|
105
|
+
v1: moment().startOf("month").format("YYYY-MM-DD HH:mm:ss"),
|
106
|
+
v2: moment().endOf("month").format("YYYY-MM-DD HH:mm:ss"),
|
107
|
+
};
|
108
|
+
const unscheduledFilter = [
|
109
|
+
{
|
110
|
+
c: "DueDate",
|
111
|
+
o: "is null",
|
112
|
+
l: "And",
|
113
|
+
v1: "",
|
114
|
+
},
|
115
|
+
{
|
116
|
+
c: "TaskStatus",
|
117
|
+
o: "contains",
|
118
|
+
l: "And",
|
119
|
+
v1: JSON.stringify(["NotStarted", "Progress"]),
|
120
|
+
},
|
121
|
+
{ c: "Members", o: "contains", l: "And", v1: JSON.stringify([props.id]) },
|
122
|
+
];
|
123
|
+
let filter = [
|
124
|
+
{ c: "Members", o: "contains", l: "And", v1: JSON.stringify([props.id]) },
|
125
|
+
{ c: "Status", o: "!=", v1: "Draft", l: "And" },
|
126
|
+
{ c: "TaskStatus", o: "contains", l: "And", v1: JSON.stringify(["NotStarted", "Progress"]) },
|
127
|
+
];
|
128
|
+
switch (match.params.dueDate) {
|
129
|
+
case "unscheduled":
|
130
|
+
filter = unscheduledFilter;
|
131
|
+
break;
|
132
|
+
case "today":
|
133
|
+
filter = [todayFilter, ...filter];
|
134
|
+
break;
|
135
|
+
case "week":
|
136
|
+
filter = [weekFilter, ...filter];
|
137
|
+
break;
|
138
|
+
case "month":
|
139
|
+
filter = [monthFilter, ...filter];
|
140
|
+
break;
|
141
|
+
default:
|
142
|
+
return filter;
|
143
|
+
}
|
144
|
+
return filter;
|
145
|
+
}
|
146
|
+
async function moveAfter(id, afterId) {
|
147
|
+
await documentStore.moveAfter(id, afterId);
|
148
|
+
}
|
149
|
+
function onFilter(context) {
|
150
|
+
context.paging.Page = 1;
|
151
|
+
context.filter();
|
152
|
+
}
|
153
|
+
};
|
154
|
+
export default TeamTaskList;
|
155
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/TeamTaskList/index.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import { LoadDocumentListOptions } from "@voplus/morpho-document-core";
|
2
|
+
import { TaskStatus } from "../../data/task";
|
3
|
+
export declare class State {
|
4
|
+
private id;
|
5
|
+
/** DueDate of the Tasks list Total */
|
6
|
+
taskTotals: {
|
7
|
+
today: number;
|
8
|
+
week: number;
|
9
|
+
month: number;
|
10
|
+
unscheduled: number;
|
11
|
+
};
|
12
|
+
constructor(id: string);
|
13
|
+
updateTaskTotal(oldStatus: TaskStatus, status: TaskStatus): void;
|
14
|
+
/** tasks list DueDate(today) Options */
|
15
|
+
get tToday(): LoadDocumentListOptions;
|
16
|
+
/** tasks list DueDate(week) Options */
|
17
|
+
get tWeek(): LoadDocumentListOptions;
|
18
|
+
/** tasks list DueDate(month) Options */
|
19
|
+
get tMonth(): LoadDocumentListOptions;
|
20
|
+
/** tasks list DueDate(unscheduled) Options */
|
21
|
+
get tUnscheduled(): LoadDocumentListOptions;
|
22
|
+
}
|
@@ -0,0 +1,158 @@
|
|
1
|
+
import { __decorate } from "tslib";
|
2
|
+
import { action, computed, makeObservable, observable } from "mobx";
|
3
|
+
import moment from "moment";
|
4
|
+
export class State {
|
5
|
+
constructor(id) {
|
6
|
+
Object.defineProperty(this, "id", {
|
7
|
+
enumerable: true,
|
8
|
+
configurable: true,
|
9
|
+
writable: true,
|
10
|
+
value: id
|
11
|
+
});
|
12
|
+
/** DueDate of the Tasks list Total */
|
13
|
+
Object.defineProperty(this, "taskTotals", {
|
14
|
+
enumerable: true,
|
15
|
+
configurable: true,
|
16
|
+
writable: true,
|
17
|
+
value: {
|
18
|
+
today: 0,
|
19
|
+
week: 0,
|
20
|
+
month: 0,
|
21
|
+
unscheduled: 0,
|
22
|
+
}
|
23
|
+
});
|
24
|
+
makeObservable(this);
|
25
|
+
}
|
26
|
+
updateTaskTotal(oldStatus, status) {
|
27
|
+
this.taskTotals[oldStatus.toLowerCase()]--;
|
28
|
+
this.taskTotals[status.toLowerCase()]++;
|
29
|
+
}
|
30
|
+
/** tasks list DueDate(today) Options */
|
31
|
+
get tToday() {
|
32
|
+
return {
|
33
|
+
Total: true,
|
34
|
+
List: false,
|
35
|
+
Filters: [
|
36
|
+
{
|
37
|
+
c: "DueDate",
|
38
|
+
o: "between",
|
39
|
+
l: "And",
|
40
|
+
v1: moment().startOf("day").format("YYYY-MM-DD HH:mm:ss"),
|
41
|
+
v2: moment().endOf("day").format("YYYY-MM-DD HH:mm:ss"),
|
42
|
+
},
|
43
|
+
{ c: "Status", o: "!=", l: "And", v1: "Draft" },
|
44
|
+
{
|
45
|
+
c: "TaskStatus",
|
46
|
+
o: "contains",
|
47
|
+
l: "And",
|
48
|
+
v1: JSON.stringify(["NotStarted", "Progress"]),
|
49
|
+
},
|
50
|
+
{
|
51
|
+
c: "Members",
|
52
|
+
o: "contains",
|
53
|
+
l: "And",
|
54
|
+
v1: JSON.stringify([this.id]),
|
55
|
+
},
|
56
|
+
],
|
57
|
+
};
|
58
|
+
}
|
59
|
+
/** tasks list DueDate(week) Options */
|
60
|
+
get tWeek() {
|
61
|
+
return {
|
62
|
+
Total: true,
|
63
|
+
List: false,
|
64
|
+
Filters: [
|
65
|
+
{
|
66
|
+
c: "DueDate",
|
67
|
+
o: "between",
|
68
|
+
l: "And",
|
69
|
+
v1: moment().startOf("week").format("YYYY-MM-DD HH:mm:ss"),
|
70
|
+
v2: moment().endOf("week").format("YYYY-MM-DD HH:mm:ss"),
|
71
|
+
},
|
72
|
+
{ c: "Status", o: "!=", l: "And", v1: "Draft" },
|
73
|
+
{
|
74
|
+
c: "TaskStatus",
|
75
|
+
o: "contains",
|
76
|
+
l: "And",
|
77
|
+
v1: JSON.stringify(["NotStarted", "Progress"]),
|
78
|
+
},
|
79
|
+
{
|
80
|
+
c: "Members",
|
81
|
+
o: "contains",
|
82
|
+
l: "And",
|
83
|
+
v1: JSON.stringify([this.id]),
|
84
|
+
},
|
85
|
+
],
|
86
|
+
};
|
87
|
+
}
|
88
|
+
/** tasks list DueDate(month) Options */
|
89
|
+
get tMonth() {
|
90
|
+
return {
|
91
|
+
Total: true,
|
92
|
+
List: false,
|
93
|
+
Filters: [
|
94
|
+
{
|
95
|
+
c: "DueDate",
|
96
|
+
o: "between",
|
97
|
+
l: "And",
|
98
|
+
v1: moment().startOf("month").format("YYYY-MM-DD HH:mm:ss"),
|
99
|
+
v2: moment().endOf("month").format("YYYY-MM-DD HH:mm:ss"),
|
100
|
+
},
|
101
|
+
{ c: "Status", o: "!=", l: "And", v1: "Draft" },
|
102
|
+
{
|
103
|
+
c: "TaskStatus",
|
104
|
+
o: "contains",
|
105
|
+
l: "And",
|
106
|
+
v1: JSON.stringify(["NotStarted", "Progress"]),
|
107
|
+
},
|
108
|
+
{
|
109
|
+
c: "Members",
|
110
|
+
o: "contains",
|
111
|
+
l: "And",
|
112
|
+
v1: JSON.stringify([this.id]),
|
113
|
+
},
|
114
|
+
],
|
115
|
+
};
|
116
|
+
}
|
117
|
+
/** tasks list DueDate(unscheduled) Options */
|
118
|
+
get tUnscheduled() {
|
119
|
+
return {
|
120
|
+
Total: true,
|
121
|
+
List: false,
|
122
|
+
Filters: [
|
123
|
+
{
|
124
|
+
c: "TaskStatus",
|
125
|
+
o: "contains",
|
126
|
+
l: "And",
|
127
|
+
v1: JSON.stringify(["NotStarted", "Progress"]),
|
128
|
+
},
|
129
|
+
{ c: "DueDate", o: "is null", l: "And", v1: "" },
|
130
|
+
{
|
131
|
+
c: "Members",
|
132
|
+
o: "contains",
|
133
|
+
l: "And",
|
134
|
+
v1: JSON.stringify([this.id]),
|
135
|
+
},
|
136
|
+
],
|
137
|
+
};
|
138
|
+
}
|
139
|
+
}
|
140
|
+
__decorate([
|
141
|
+
observable
|
142
|
+
], State.prototype, "taskTotals", void 0);
|
143
|
+
__decorate([
|
144
|
+
action
|
145
|
+
], State.prototype, "updateTaskTotal", null);
|
146
|
+
__decorate([
|
147
|
+
computed
|
148
|
+
], State.prototype, "tToday", null);
|
149
|
+
__decorate([
|
150
|
+
computed
|
151
|
+
], State.prototype, "tWeek", null);
|
152
|
+
__decorate([
|
153
|
+
computed
|
154
|
+
], State.prototype, "tMonth", null);
|
155
|
+
__decorate([
|
156
|
+
computed
|
157
|
+
], State.prototype, "tUnscheduled", null);
|
158
|
+
//# sourceMappingURL=state.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/components/TeamTaskList/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAGpE,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,OAAO,KAAK;IASjB,YAAoB,EAAU;;;;;mBAAV;;QARpB,sCAAsC;QAC1B;;;;mBAAoB;gBAC/B,KAAK,EAAE,CAAC;gBACR,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE,CAAC;gBACR,WAAW,EAAE,CAAC;aACd;WAAC;QAGD,cAAc,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAGM,eAAe,CAAC,SAAqB,EAAE,MAAkB;QAC/D,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;IACzC,CAAC;IAED,wCAAwC;IAExC,IAAW,MAAM;QAChB,OAAO;YACN,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,KAAK;YACX,OAAO,EAAE;gBACR;oBACC,CAAC,EAAE,SAAS;oBACZ,CAAC,EAAE,SAAS;oBACZ,CAAC,EAAE,KAAK;oBACR,EAAE,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;oBACzD,EAAE,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;iBACvD;gBACD,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAW,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE;gBACtD;oBACC,CAAC,EAAE,YAAY;oBACf,CAAC,EAAE,UAAU;oBACb,CAAC,EAAE,KAAK;oBACR,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;iBAC9C;gBACD;oBACC,CAAC,EAAE,SAAS;oBACZ,CAAC,EAAE,UAAU;oBACb,CAAC,EAAE,KAAK;oBACR,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBAC7B;aACD;SACD,CAAC;IACH,CAAC;IAED,uCAAuC;IAEvC,IAAW,KAAK;QACf,OAAO;YACN,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,KAAK;YACX,OAAO,EAAE;gBACR;oBACC,CAAC,EAAE,SAAS;oBACZ,CAAC,EAAE,SAAS;oBACZ,CAAC,EAAE,KAAK;oBACR,EAAE,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;oBAC1D,EAAE,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;iBACxD;gBACD,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAW,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE;gBACtD;oBACC,CAAC,EAAE,YAAY;oBACf,CAAC,EAAE,UAAU;oBACb,CAAC,EAAE,KAAK;oBACR,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;iBAC9C;gBACD;oBACC,CAAC,EAAE,SAAS;oBACZ,CAAC,EAAE,UAAU;oBACb,CAAC,EAAE,KAAK;oBACR,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBAC7B;aACD;SACD,CAAC;IACH,CAAC;IAED,wCAAwC;IAExC,IAAW,MAAM;QAChB,OAAO;YACN,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,KAAK;YACX,OAAO,EAAE;gBACR;oBACC,CAAC,EAAE,SAAS;oBACZ,CAAC,EAAE,SAAS;oBACZ,CAAC,EAAE,KAAK;oBACR,EAAE,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;oBAC3D,EAAE,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;iBACzD;gBACD,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAW,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE;gBACtD;oBACC,CAAC,EAAE,YAAY;oBACf,CAAC,EAAE,UAAU;oBACb,CAAC,EAAE,KAAK;oBACR,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;iBAC9C;gBACD;oBACC,CAAC,EAAE,SAAS;oBACZ,CAAC,EAAE,UAAU;oBACb,CAAC,EAAE,KAAK;oBACR,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBAC7B;aACD;SACD,CAAC;IACH,CAAC;IAED,8CAA8C;IAE9C,IAAW,YAAY;QACtB,OAAO;YACN,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,KAAK;YACX,OAAO,EAAE;gBACR;oBACC,CAAC,EAAE,YAAY;oBACf,CAAC,EAAE,UAAU;oBACb,CAAC,EAAE,KAAK;oBACR,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;iBAC9C;gBACD,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAgB,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE;gBACvD;oBACC,CAAC,EAAE,SAAS;oBACZ,CAAC,EAAE,UAAU;oBACb,CAAC,EAAE,KAAK;oBACR,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBAC7B;aACD;SACD,CAAC;IACH,CAAC;CACD;AArIY;IAAX,UAAU;yCAKT;AAOF;IADC,MAAM;4CAIN;AAID;IADC,QAAQ;mCA4BR;AAID;IADC,QAAQ;kCA4BR;AAID;IADC,QAAQ;mCA4BR;AAID;IADC,QAAQ;yCAqBR"}
|