@voplus/morpho-workspace 1.1.0-dev014 → 1.1.0-dev016
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/changelog.md +5 -3
- package/es/data/board/BoardColumnStore.d.ts +3 -13
- package/es/data/board/BoardColumnStore.js +2 -24
- package/es/data/board/BoardColumnStore.js.map +1 -1
- package/es/data/board/BoardStore.d.ts +2 -12
- package/es/data/board/BoardStore.js +1 -23
- package/es/data/board/BoardStore.js.map +1 -1
- package/es/data/board/contexts/BoardListContextState/index.d.ts +19 -0
- package/es/data/board/contexts/BoardListContextState/index.js +49 -0
- package/es/data/board/contexts/BoardListContextState/index.js.map +1 -0
- package/es/data/board/index.d.ts +1 -1
- package/es/data/board/index.js +1 -1
- package/es/data/board/index.js.map +1 -1
- package/es/modules/board/components/Board/index.js +34 -41
- package/es/modules/board/components/Board/index.js.map +1 -1
- package/es/modules/board/components/Board/index.less +83 -51
- package/es/modules/board/components/Board/state.d.ts +22 -5
- package/es/modules/board/components/Board/state.js +70 -15
- package/es/modules/board/components/Board/state.js.map +1 -1
- package/es/modules/board/components/BoardColumn/index.js +21 -35
- package/es/modules/board/components/BoardColumn/index.js.map +1 -1
- package/es/modules/board/components/BoardColumn/index.less +22 -12
- package/es/modules/board/components/BoardColumn/state.d.ts +17 -18
- package/es/modules/board/components/BoardColumn/state.js +43 -42
- package/es/modules/board/components/BoardColumn/state.js.map +1 -1
- package/es/modules/board/components/DocumentCard/index.d.ts +0 -2
- package/es/modules/board/components/DocumentCard/index.js +16 -79
- package/es/modules/board/components/DocumentCard/index.js.map +1 -1
- package/es/modules/board/components/DocumentCard/index.less +16 -13
- package/es/modules/board/components/DocumentCard/state.d.ts +6 -6
- package/es/modules/board/components/DocumentCard/state.js +34 -21
- package/es/modules/board/components/DocumentCard/state.js.map +1 -1
- package/es/modules/board/components/SubDocument/index.d.ts +13 -0
- package/es/modules/board/components/SubDocument/index.js +13 -0
- package/es/modules/board/components/SubDocument/index.js.map +1 -0
- package/es/modules/board/components/SubDocumentList/index.d.ts +4 -0
- package/es/modules/board/components/SubDocumentList/index.js +74 -0
- package/es/modules/board/components/SubDocumentList/index.js.map +1 -0
- package/es/modules/board/components/SubDocumentList/index.less +28 -0
- package/es/modules/board/components/SubDocumentList/state.d.ts +25 -0
- package/es/modules/board/components/SubDocumentList/state.js +60 -0
- package/es/modules/board/components/SubDocumentList/state.js.map +1 -0
- package/es/modules/board/components/TaskCard/index.js +27 -76
- package/es/modules/board/components/TaskCard/index.js.map +1 -1
- package/es/modules/board/components/TaskCard/index.less +9 -4
- package/es/modules/board/components/TaskCard/state.d.ts +1 -8
- package/es/modules/board/components/TaskCard/state.js +28 -23
- package/es/modules/board/components/TaskCard/state.js.map +1 -1
- package/package.json +1 -1
- package/es/data/board/LinkStore.d.ts +0 -11
- package/es/data/board/LinkStore.js +0 -44
- package/es/data/board/LinkStore.js.map +0 -1
- package/es/modules/board/components/LinkList/index.d.ts +0 -4
- package/es/modules/board/components/LinkList/index.js +0 -38
- package/es/modules/board/components/LinkList/index.js.map +0 -1
- package/es/modules/board/components/LinkList/state.d.ts +0 -15
- package/es/modules/board/components/LinkList/state.js +0 -37
- package/es/modules/board/components/LinkList/state.js.map +0 -1
- package/es/modules/board/components/links/index.d.ts +0 -12
- package/es/modules/board/components/links/index.js +0 -26
- package/es/modules/board/components/links/index.js.map +0 -1
@@ -1,97 +1,48 @@
|
|
1
|
-
import { Button, Checkbox
|
1
|
+
import { Button, Checkbox } from "@voplus/antd";
|
2
2
|
import React, { useState } from "react";
|
3
3
|
import { State } from "./state";
|
4
|
-
import {
|
4
|
+
import { faSave, faUndo } from "@fortawesome/pro-light-svg-icons";
|
5
5
|
import { useTask, useTaskStore } from "../../../../data/task";
|
6
6
|
import AvatarList from "../../../../components/AvatarList";
|
7
7
|
import Card from "@voplus/morpho-ui/es/controls/Card";
|
8
|
-
import
|
8
|
+
import DocumentName from "@voplus/morpho-document/es/components/DocumentName";
|
9
9
|
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
10
10
|
import FlagIcon from "@voplus/morpho-document/es/controls/FlagIcon";
|
11
|
-
import
|
12
|
-
import
|
13
|
-
import TaskQuickViewDialog from "../../../tasks/components/TaskQuickViewDialog";
|
11
|
+
import QuickDataIcon from "@voplus/morpho-document/es/controls/QuickDataIcon";
|
12
|
+
import TaskTimeBox from "../../../tasks/components/TaskTimeBox";
|
14
13
|
import ToolBar from "@voplus/morpho-document/es/controls/ToolBar";
|
15
14
|
import classnames from "classnames";
|
16
|
-
import moment from "moment";
|
17
15
|
import styles from "./index.less";
|
18
16
|
import { useDocumentStore } from "@voplus/morpho-document";
|
19
|
-
import { useLayout } from "@voplus/morpho-data";
|
20
17
|
import { useObserver } from "mobx-react-lite";
|
21
18
|
const TaskCard = (props) => {
|
22
19
|
const taskStore = useTaskStore();
|
23
20
|
const documentStore = useDocumentStore();
|
24
21
|
const [state] = useState(new State(taskStore, documentStore));
|
25
|
-
const
|
26
|
-
const { id, leftId, linkId, multiple } = { ...props };
|
22
|
+
const { id, multiple } = { ...props };
|
27
23
|
state.task = useTask(id);
|
28
24
|
state.props = props;
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
(state.task.documents || 0) - (state.task.tasks || 0)),
|
51
|
-
React.createElement("span", null,
|
52
|
-
React.createElement(FAIcon, { icon: faCommentDots }),
|
53
|
-
state.task.comments || 0),
|
54
|
-
React.createElement("span", null,
|
55
|
-
React.createElement(FAIcon, { icon: faCopy }),
|
56
|
-
(state.task.members && state.task.members.length) || 0)));
|
57
|
-
return useObserver(() => {
|
58
|
-
var _a, _b;
|
59
|
-
return (React.createElement(Card, { className: styles["task-card"], padding: "15px 12px", shadow: true },
|
60
|
-
React.createElement("div", { className: "task-card-item", onMouseOver: () => (state.isHover = !multiple && !state.editable), onMouseLeave: () => (state.isHover = false) },
|
61
|
-
React.createElement("div", { className: "task-card-head" },
|
62
|
-
multiple && React.createElement(Checkbox, { value: state.task.id, className: "multiple-box" }),
|
63
|
-
!multiple && (React.createElement(FlagIcon, { id: state.task.id, editable: !state.readonly, flag: state.task.flag, color: state.task.taskStatus === "Done" || state.isHover
|
64
|
-
? "rgba(168, 168, 168,0.5)"
|
65
|
-
: "#999", onchange: (e) => state.changeImportant(e), className: "task-icon-star" })),
|
66
|
-
state.editable ? (React.createElement(Spin, { spinning: state.loading },
|
67
|
-
React.createElement(Input.TextArea, { className: "task-card-title", autoSize: true, autoFocus: true, value: state.name, onChange: e => (state.name = e.target.value) }))) : (React.createElement("div", { className: "task-card-title", onClick: () => (state.visibleQuickView = true) }, ((_a = state.task.name) === null || _a === void 0 ? void 0 : _a.length) > 25 ? (React.createElement(Tooltip, { title: state.task.name, placement: "topLeft" },
|
68
|
-
React.createElement("span", null, state.task.name))) : (state.task.name))),
|
69
|
-
React.createElement(AvatarList, { num: 2, multiple: state.editable, editable: state.editable, list: [...(state.task.members || []), ...state.childMembers], onChange: (ids) => (state.ids = ids) })),
|
70
|
-
React.createElement("div", { className: "task-card-control" },
|
71
|
-
(state.editable || state.task.dueDate) && (React.createElement("span", null,
|
72
|
-
React.createElement(InlineEdit, { editable: state.editable && !state.readonly, defaultValue: state.task.dueDate ? moment(state.task.dueDate) : "", content: v => (React.createElement(React.Fragment, null,
|
73
|
-
React.createElement(FAIcon, { icon: faClock }),
|
74
|
-
React.createElement("span", null, v.store.value
|
75
|
-
? moment(v.store.value.toString()).format("D MMM YYYY")
|
76
|
-
: state.editable
|
77
|
-
? "Add Task Time"
|
78
|
-
: ""))), editTrigger: "click", onSave: (v) => (v ? taskStore.edit(state.task.id, { DueDate: v }) : null), editor: DateInputEditor }))),
|
79
|
-
iconList),
|
80
|
-
React.createElement("div", { className: "task-card-label" },
|
81
|
-
!state.isHover &&
|
82
|
-
!state.editable && ((_b = state.task.label) === null || _b === void 0 ? void 0 : _b.map((item, index) => (React.createElement("div", { key: index, className: classnames("item", item === "project" && "project") },
|
83
|
-
item,
|
84
|
-
item === "project" && (React.createElement("span", { className: "close" },
|
85
|
-
React.createElement(FAIcon, { icon: faTimes }))))))),
|
86
|
-
state.isHover && !state.editable && (React.createElement("div", { className: classnames("hover-operate-icon", { show: state.isHover }) },
|
87
|
-
React.createElement(ToolBar, { id: props.id, size: "small", url: `/tasks/${id}`, edit: false, hoverEdit: !state.readonly, deleteTitel: "Do you want to remove this item from board ?", onDelete: () => state.delete(), onEdit: () => state.edit(), onMove: onMove, onPaste: onPaste, onLock: () => state.lock(), onUnlock: () => state.unlock() }))),
|
88
|
-
state.editable && (React.createElement("div", { className: "task-card-editable-name" },
|
89
|
-
React.createElement(Button, { shape: "circle", size: "small", onClick: () => (state.editable = false) },
|
90
|
-
React.createElement(FAIcon, { icon: faUndo })),
|
91
|
-
React.createElement(Button, { type: "primary", size: "small", ghost: true, shape: "circle", onClick: () => state.save() },
|
92
|
-
React.createElement(FAIcon, { icon: faSave })))))),
|
93
|
-
React.createElement(TaskQuickViewDialog, { id: props.id, visible: state.visibleQuickView, onCancel: () => (state.visibleQuickView = false) })));
|
94
|
-
});
|
25
|
+
return useObserver(() => (React.createElement(Card, { className: styles["task-card"], padding: "15px 12px", shadow: true },
|
26
|
+
React.createElement("div", { className: "task-card-item", onMouseOver: () => (state.isHover = !multiple && !state.editable), onMouseLeave: () => (state.isHover = false) },
|
27
|
+
React.createElement("div", { className: "task-card-head" },
|
28
|
+
multiple && React.createElement(Checkbox, { value: state.task.id, className: "multiple-box" }),
|
29
|
+
!multiple && (React.createElement(FlagIcon, { id: state.task.id, editable: !state.readonly, flag: state.task.flag, className: "task-flag" })),
|
30
|
+
React.createElement(DocumentName, { id: id, includes: "tags,task-number-reports", editable: state.editable, onChange: value => (state.name = value), className: "task-name", status: false, showTags: false }),
|
31
|
+
React.createElement(AvatarList, { num: 2, multiple: state.editable, editable: state.editable, list: [...(state.task.members || []), ...state.childMembers], onChange: (ids) => (state.ids = ids) })),
|
32
|
+
React.createElement("div", { className: "task-card-control" },
|
33
|
+
React.createElement("div", null,
|
34
|
+
React.createElement(TaskTimeBox, { id: id, estimatedHours: state.task.estimatedHours || 0, schedule: [state.task.startDate, state.task.dueDate], editable: !state.readonly &&
|
35
|
+
!!(state.editable || state.task.startDate || state.task.estimatedHours), className: "task-time-box" })),
|
36
|
+
React.createElement("div", null,
|
37
|
+
React.createElement(QuickDataIcon, { id: id, includes: "tags,task-number-reports" }))),
|
38
|
+
React.createElement("div", { className: "task-card-label" },
|
39
|
+
state.isHover && !state.editable && (React.createElement("div", { className: classnames("hover-operate-icon", { show: state.isHover }) },
|
40
|
+
React.createElement(ToolBar, { id: props.id, size: "small", url: `/tasks/${id}`, edit: false, hoverEdit: !state.readonly, deleteTitel: "Do you want to remove this item from board ?", onEdit: () => state.edit() }))),
|
41
|
+
state.editable && (React.createElement("div", { className: "task-card-editable-name" },
|
42
|
+
React.createElement(Button, { shape: "circle", onClick: () => (state.editable = false) },
|
43
|
+
React.createElement(FAIcon, { icon: faUndo })),
|
44
|
+
React.createElement(Button, { type: "primary", ghost: true, shape: "circle", disabled: !state.hasChanges, loading: state.loading, className: "margin-left-10", onClick: () => state.save() },
|
45
|
+
React.createElement(FAIcon, { icon: faSave })))))))));
|
95
46
|
};
|
96
47
|
export default TaskCard;
|
97
48
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/board/components/TaskCard/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/board/components/TaskCard/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,KAAK,EAAiB,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,UAAU,MAAM,mCAAmC,CAAC;AAC3D,OAAO,IAAI,MAAM,oCAAoC,CAAC;AACtD,OAAO,YAAY,MAAM,oDAAoD,CAAC;AAC9E,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,QAAQ,MAAM,8CAA8C,CAAC;AACpE,OAAO,aAAa,MAAM,mDAAmD,CAAC;AAC9E,OAAO,WAAW,MAAM,uCAAuC,CAAC;AAChE,OAAO,OAAO,MAAM,6CAA6C,CAAC;AAClE,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAE,EAAE;IACzC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;IAC9D,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IACtC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IACzB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IAEpB,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,oBAAC,IAAI,IAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,EAAC,WAAW,EAAC,MAAM,EAAE,IAAI;QACrE,6BACC,SAAS,EAAC,gBAAgB,EAC1B,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EACjE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;YAE3C,6BAAK,SAAS,EAAC,gBAAgB;gBAC7B,QAAQ,IAAI,oBAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAC,cAAc,GAAG;gBACvE,CAAC,QAAQ,IAAI,CACb,oBAAC,QAAQ,IACR,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EACjB,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,EACzB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EACrB,SAAS,EAAC,WAAW,GACpB,CACF;gBACD,oBAAC,YAAY,IACZ,EAAE,EAAE,EAAE,EACN,QAAQ,EAAC,0BAA0B,EACnC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,EACvC,SAAS,EAAC,WAAW,EACrB,MAAM,EAAE,KAAK,EACb,QAAQ,EAAE,KAAK,GACd;gBACF,oBAAC,UAAU,IACV,GAAG,EAAE,CAAC,EACN,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,YAAY,CAAC,EAC5D,QAAQ,EAAE,CAAC,GAAa,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,GAC7C,CACG;YACN,6BAAK,SAAS,EAAC,mBAAmB;gBACjC;oBACC,oBAAC,WAAW,IACX,EAAE,EAAE,EAAE,EACN,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,EAC9C,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EACpD,QAAQ,EACP,CAAC,KAAK,CAAC,QAAQ;4BACf,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAExE,SAAS,EAAC,eAAe,GACxB,CACG;gBACN;oBACC,oBAAC,aAAa,IAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAC,0BAA0B,GAAG,CACxD,CACD;YACN,6BAAK,SAAS,EAAC,iBAAiB;gBAa9B,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CACpC,6BAAK,SAAS,EAAE,UAAU,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;oBACxE,oBAAC,OAAO,IACP,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,IAAI,EAAC,OAAO,EACZ,GAAG,EAAE,UAAU,EAAE,EAAE,EACnB,IAAI,EAAE,KAAK,EACX,SAAS,EAAE,CAAC,KAAK,CAAC,QAAQ,EAC1B,WAAW,EAAC,8CAA8C,EAC1D,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,GACzB,CACG,CACN;gBACA,KAAK,CAAC,QAAQ,IAAI,CAClB,6BAAK,SAAS,EAAC,yBAAyB;oBACvC,oBAAC,MAAM,IAAC,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;wBAC7D,oBAAC,MAAM,IAAC,IAAI,EAAE,MAAM,GAAI,CAChB;oBACT,oBAAC,MAAM,IACN,IAAI,EAAC,SAAS,EACd,KAAK,QACL,KAAK,EAAC,QAAQ,EACd,QAAQ,EAAE,CAAC,KAAK,CAAC,UAAU,EAC3B,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,SAAS,EAAC,gBAAgB,EAC1B,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE;wBAE3B,oBAAC,MAAM,IAAC,IAAI,EAAE,MAAM,GAAI,CAChB,CACJ,CACN,CACI,CACD,CACA,CACP,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
@@ -1,12 +1,18 @@
|
|
1
1
|
@import "../../../../style/common.less";
|
2
2
|
.task-card {
|
3
|
-
margin-bottom: 15px;
|
3
|
+
// margin-bottom: 15px;
|
4
4
|
background: #ffffff;
|
5
5
|
cursor: pointer;
|
6
6
|
:global {
|
7
7
|
.task-card-head {
|
8
8
|
display: flex;
|
9
9
|
align-items: center;
|
10
|
+
.task-flag{
|
11
|
+
width: 20px;
|
12
|
+
}
|
13
|
+
.task-name{
|
14
|
+
flex: 1;
|
15
|
+
}
|
10
16
|
.task-card-title {
|
11
17
|
flex: 1;
|
12
18
|
font-size: 16px;
|
@@ -18,12 +24,11 @@
|
|
18
24
|
}
|
19
25
|
}
|
20
26
|
.task-card-control {
|
21
|
-
margin-top: 6px;
|
22
27
|
display: flex;
|
23
28
|
align-items: center;
|
24
|
-
padding: 5px 0;
|
25
29
|
font-size: 13px;
|
26
30
|
color: #666;
|
31
|
+
line-height: 24px;
|
27
32
|
& > span {
|
28
33
|
display: flex;
|
29
34
|
align-items: center;
|
@@ -48,7 +53,7 @@
|
|
48
53
|
}
|
49
54
|
.task-card-label {
|
50
55
|
height: 24px;
|
51
|
-
margin-top:
|
56
|
+
margin-top: 4px;
|
52
57
|
.item {
|
53
58
|
display: inline-block;
|
54
59
|
font-size: 13px;
|
@@ -2,10 +2,6 @@ import { ITask, TaskStore } from "../../../../data/task";
|
|
2
2
|
import { DocumentStore } from "@voplus/morpho-document";
|
3
3
|
export declare type TaskCardProps = {
|
4
4
|
id: string;
|
5
|
-
/** link leftId */
|
6
|
-
leftId?: string;
|
7
|
-
/** link id */
|
8
|
-
linkId?: string;
|
9
5
|
reload?: boolean;
|
10
6
|
multiple?: boolean;
|
11
7
|
};
|
@@ -23,18 +19,15 @@ export declare class State {
|
|
23
19
|
editable: boolean;
|
24
20
|
/** edit task save loading */
|
25
21
|
loading: boolean;
|
26
|
-
/** task QuickView */
|
27
|
-
visibleQuickView: boolean;
|
28
22
|
isHover: boolean;
|
29
23
|
reload: boolean;
|
30
24
|
get readonly(): boolean;
|
31
25
|
get childMembers(): any[];
|
26
|
+
get hasChanges(): boolean | undefined;
|
32
27
|
/** edit task */
|
33
28
|
edit(): void;
|
34
29
|
/** edit task save */
|
35
30
|
save(): Promise<void>;
|
36
|
-
/** delete link */
|
37
|
-
delete(): void;
|
38
31
|
/** task Lock */
|
39
32
|
lock(): void;
|
40
33
|
/** task unlock */
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import { __decorate } from "tslib";
|
2
|
-
import { action, computed, observable } from "mobx";
|
2
|
+
import { action, computed, observable, toJS } from "mobx";
|
3
|
+
import { isEqual } from "lodash-es";
|
3
4
|
let State = /** @class */ (() => {
|
4
5
|
class State {
|
5
6
|
constructor(_store, _docStore) {
|
@@ -13,8 +14,6 @@ let State = /** @class */ (() => {
|
|
13
14
|
this.editable = false;
|
14
15
|
/** edit task save loading */
|
15
16
|
this.loading = false;
|
16
|
-
/** task QuickView */
|
17
|
-
this.visibleQuickView = false;
|
18
17
|
this.isHover = false;
|
19
18
|
this.reload = false;
|
20
19
|
}
|
@@ -29,6 +28,21 @@ let State = /** @class */ (() => {
|
|
29
28
|
disabled: true
|
30
29
|
}));
|
31
30
|
}
|
31
|
+
get hasChanges() {
|
32
|
+
if (!this.name)
|
33
|
+
return;
|
34
|
+
const ids = toJS([...(this.task.members || []), ...this.childMembers].map(({ id }) => id));
|
35
|
+
const { name, startDate, dueDate, estimatedHours } = this.task;
|
36
|
+
const originalData = { name, ids };
|
37
|
+
const modifiedData = {
|
38
|
+
name: this.name.trim(),
|
39
|
+
ids: this.ids
|
40
|
+
// startDate: toJS(this.schedule)[0],
|
41
|
+
// dueDate: toJS(this.schedule)[1],
|
42
|
+
// estimatedHours: this.estimatedHours || estimatedHours
|
43
|
+
};
|
44
|
+
return !isEqual(originalData, modifiedData);
|
45
|
+
}
|
32
46
|
/** edit task */
|
33
47
|
edit() {
|
34
48
|
this.name = this.task.name;
|
@@ -38,22 +52,16 @@ let State = /** @class */ (() => {
|
|
38
52
|
}
|
39
53
|
/** edit task save */
|
40
54
|
async save() {
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
this.loading = false;
|
50
|
-
}
|
55
|
+
const params = { Name: this.name, MemberIds: this.ids };
|
56
|
+
// if (this.estimatedHours) params = { ...params, EstimatedHours: this.estimatedHours };
|
57
|
+
// if (this.schedule[0])
|
58
|
+
// params = { ...params, StartDate: this.schedule[0], DueDate: this.schedule[1] };
|
59
|
+
this.loading = true;
|
60
|
+
await this._store.edit(this.task.id, params);
|
61
|
+
this.loading = false;
|
62
|
+
// }
|
51
63
|
this.editable = false;
|
52
64
|
}
|
53
|
-
/** delete link */
|
54
|
-
delete() {
|
55
|
-
this._docStore.editLinks(this.props.leftId, { RemoveLinks: [this.props.linkId] });
|
56
|
-
}
|
57
65
|
/** task Lock */
|
58
66
|
lock() {
|
59
67
|
this._docStore.edit(this.task.id, { Status: "Readonly" });
|
@@ -84,9 +92,6 @@ let State = /** @class */ (() => {
|
|
84
92
|
__decorate([
|
85
93
|
observable
|
86
94
|
], State.prototype, "loading", void 0);
|
87
|
-
__decorate([
|
88
|
-
observable
|
89
|
-
], State.prototype, "visibleQuickView", void 0);
|
90
95
|
__decorate([
|
91
96
|
observable
|
92
97
|
], State.prototype, "isHover", void 0);
|
@@ -99,15 +104,15 @@ let State = /** @class */ (() => {
|
|
99
104
|
__decorate([
|
100
105
|
computed
|
101
106
|
], State.prototype, "childMembers", null);
|
107
|
+
__decorate([
|
108
|
+
computed
|
109
|
+
], State.prototype, "hasChanges", null);
|
102
110
|
__decorate([
|
103
111
|
action
|
104
112
|
], State.prototype, "edit", null);
|
105
113
|
__decorate([
|
106
114
|
action
|
107
115
|
], State.prototype, "save", null);
|
108
|
-
__decorate([
|
109
|
-
action
|
110
|
-
], State.prototype, "delete", null);
|
111
116
|
__decorate([
|
112
117
|
action
|
113
118
|
], State.prototype, "lock", null);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/modules/board/components/TaskCard/state.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/modules/board/components/TaskCard/state.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,11 +0,0 @@
|
|
1
|
-
export declare type MoveLinkOptions = {
|
2
|
-
leftId?: string;
|
3
|
-
rightId?: string;
|
4
|
-
linkId?: string;
|
5
|
-
};
|
6
|
-
export declare class LinkStore {
|
7
|
-
get moveIds(): any;
|
8
|
-
onMove(links: MoveLinkOptions[]): import("@voplus/antd/es/message").MessageType;
|
9
|
-
onPaste(loader: () => Promise<any>): void;
|
10
|
-
clear(): void;
|
11
|
-
}
|
@@ -1,44 +0,0 @@
|
|
1
|
-
import { __decorate } from "tslib";
|
2
|
-
import { action, computed } from "mobx";
|
3
|
-
import { message } from "@voplus/antd";
|
4
|
-
let LinkStore = /** @class */ (() => {
|
5
|
-
class LinkStore {
|
6
|
-
get moveIds() {
|
7
|
-
const moveIds = sessionStorage.getItem("moveIds");
|
8
|
-
return moveIds ? JSON.parse(moveIds) : [];
|
9
|
-
}
|
10
|
-
onMove(links) {
|
11
|
-
const moveIds = links;
|
12
|
-
if (!moveIds.length)
|
13
|
-
return message.warning("nothing to cut");
|
14
|
-
window.sessionStorage.setItem("moveIds", JSON.stringify(moveIds));
|
15
|
-
return message.success("Replicating Success");
|
16
|
-
}
|
17
|
-
onPaste(loader) {
|
18
|
-
if (this.moveIds.length) {
|
19
|
-
loader();
|
20
|
-
this.clear();
|
21
|
-
}
|
22
|
-
else
|
23
|
-
message.warning("nothing to cut");
|
24
|
-
}
|
25
|
-
clear() {
|
26
|
-
window.sessionStorage.clear();
|
27
|
-
}
|
28
|
-
}
|
29
|
-
__decorate([
|
30
|
-
computed
|
31
|
-
], LinkStore.prototype, "moveIds", null);
|
32
|
-
__decorate([
|
33
|
-
action
|
34
|
-
], LinkStore.prototype, "onMove", null);
|
35
|
-
__decorate([
|
36
|
-
action
|
37
|
-
], LinkStore.prototype, "onPaste", null);
|
38
|
-
__decorate([
|
39
|
-
action
|
40
|
-
], LinkStore.prototype, "clear", null);
|
41
|
-
return LinkStore;
|
42
|
-
})();
|
43
|
-
export { LinkStore };
|
44
|
-
//# sourceMappingURL=LinkStore.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"LinkStore.js","sourceRoot":"","sources":["../../../src/data/board/LinkStore.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAOvC;IAAA,MAAa,SAAS;QAErB,IAAI,OAAO;YACV,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAClD,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,CAAC;QAEM,MAAM,CAAC,KAAwB;YACrC,MAAM,OAAO,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,MAAM;gBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC9D,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAClE,OAAO,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAC/C,CAAC;QAEM,OAAO,CAAC,MAA0B;YACxC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACxB,MAAM,EAAE,CAAC;gBACT,IAAI,CAAC,KAAK,EAAE,CAAC;aACb;;gBAAM,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC1C,CAAC;QAEM,KAAK;YACX,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC/B,CAAC;KACD;IAtBA;QADC,QAAQ;4CAIR;IAED;QADC,MAAM;2CAMN;IAED;QADC,MAAM;4CAMN;IAED;QADC,MAAM;0CAGN;IACF,gBAAC;KAAA;SAxBY,SAAS"}
|
@@ -1,38 +0,0 @@
|
|
1
|
-
import { useDocumentLinkListEffect, useOnDeleteLink, useOnNewLink } from "@voplus/morpho-document";
|
2
|
-
import { State } from "./state";
|
3
|
-
import React, { useEffect, useState } from "react";
|
4
|
-
import { observer, useObserver } from "mobx-react-lite";
|
5
|
-
import DocumentCard from "../DocumentCard";
|
6
|
-
import { Draggable } from "react-beautiful-dnd";
|
7
|
-
import TaskCard from "../TaskCard";
|
8
|
-
import { useFilterOptionsContext } from "@voplus/morpho-ui/es/data";
|
9
|
-
const LinkList = (props) => {
|
10
|
-
const [state] = useState(new State());
|
11
|
-
/** linkList filters list options */
|
12
|
-
const lo = useFilterOptionsContext();
|
13
|
-
state.props = props;
|
14
|
-
const { destination, source } = { ...props };
|
15
|
-
useEffect(() => {
|
16
|
-
state.move();
|
17
|
-
}, [destination, source]);
|
18
|
-
useDocumentLinkListEffect(props.id, list => {
|
19
|
-
state.links = list;
|
20
|
-
props.onLinkNum(state.links.length);
|
21
|
-
}, lo.options);
|
22
|
-
useOnNewLink((s, doc) => {
|
23
|
-
if (doc.left.id === props.id && doc.left.id !== (destination === null || destination === void 0 ? void 0 : destination.id)) {
|
24
|
-
state.links.push(doc);
|
25
|
-
props.onLinkNum(state.links.length);
|
26
|
-
}
|
27
|
-
});
|
28
|
-
useOnDeleteLink((s, doc) => {
|
29
|
-
if (doc.left.id === props.id && doc.left.id !== (source === null || source === void 0 ? void 0 : source.id)) {
|
30
|
-
state.links.splice(state.links.findIndex(item => item.id === doc.id), 1);
|
31
|
-
props.onLinkNum(state.links.length);
|
32
|
-
}
|
33
|
-
});
|
34
|
-
return useObserver(() => (React.createElement(React.Fragment, null, state.links.map((link, index) => (React.createElement(Draggable, { key: link.id, draggableId: `${link.id}/${link.right.id}`, index: index }, (dragProvided, dragSnapshot) => (React.createElement("div", Object.assign({ className: "link-container", isdragging: dragSnapshot.isDragging.toString(), isgroupedover: Boolean(dragSnapshot.combineTargetFor).toString(), ref: dragProvided.innerRef }, dragProvided.draggableProps, dragProvided.dragHandleProps, { "data-is-dragging": dragSnapshot.isDragging, "data-testid": props.id, "data-index": index }),
|
35
|
-
React.createElement("div", { className: "link-content" }, link.right.type === "Task" ? (React.createElement(TaskCard, { id: link.right.id, linkId: link.id, leftId: link.left.id })) : (React.createElement(DocumentCard, { id: link.right.id, linkId: link.id, leftId: link.left.id })))))))))));
|
36
|
-
};
|
37
|
-
export default observer(LinkList);
|
38
|
-
//# sourceMappingURL=index.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/board/components/LinkList/index.tsx"],"names":[],"mappings":"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"}
|
@@ -1,15 +0,0 @@
|
|
1
|
-
export declare type LinkListProps = {
|
2
|
-
id: string;
|
3
|
-
/** return link number */
|
4
|
-
onLinkNum?: (params?: any) => void;
|
5
|
-
/** move 目标数据 */
|
6
|
-
destination?: any;
|
7
|
-
/** move 原数据 */
|
8
|
-
source?: any;
|
9
|
-
};
|
10
|
-
export declare class State {
|
11
|
-
props: LinkListProps;
|
12
|
-
links: any[];
|
13
|
-
/** link move function */
|
14
|
-
move(): void;
|
15
|
-
}
|
@@ -1,37 +0,0 @@
|
|
1
|
-
import { __decorate } from "tslib";
|
2
|
-
import { action, observable } from "mobx";
|
3
|
-
let State = /** @class */ (() => {
|
4
|
-
class State {
|
5
|
-
constructor() {
|
6
|
-
this.links = [];
|
7
|
-
}
|
8
|
-
/** link move function */
|
9
|
-
move() {
|
10
|
-
var _a, _b;
|
11
|
-
if (((_a = this.props.source) === null || _a === void 0 ? void 0 : _a.id) === this.props.id) {
|
12
|
-
this.links.splice(this.links.findIndex(item => item.id.toString() === this.props.source.linkId), 1);
|
13
|
-
this.props.onLinkNum(this.links.length);
|
14
|
-
}
|
15
|
-
const index = this.links.findIndex(item => item.right.id.toString() === this.props.destination.rightId);
|
16
|
-
if (((_b = this.props.destination) === null || _b === void 0 ? void 0 : _b.id) === this.props.id && index === -1) {
|
17
|
-
const doc = {
|
18
|
-
id: this.props.destination.linkId,
|
19
|
-
left: { id: this.props.destination.id },
|
20
|
-
right: { id: this.props.destination.rightId }
|
21
|
-
};
|
22
|
-
const index = this.props.destination.index;
|
23
|
-
this.links.splice(index, 0, doc);
|
24
|
-
this.props.onLinkNum(this.links.length);
|
25
|
-
}
|
26
|
-
}
|
27
|
-
}
|
28
|
-
__decorate([
|
29
|
-
observable
|
30
|
-
], State.prototype, "links", void 0);
|
31
|
-
__decorate([
|
32
|
-
action
|
33
|
-
], State.prototype, "move", null);
|
34
|
-
return State;
|
35
|
-
})();
|
36
|
-
export { State };
|
37
|
-
//# sourceMappingURL=state.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/modules/board/components/LinkList/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAW1C;IAAA,MAAa,KAAK;QAAlB;YAEoB,UAAK,GAAU,EAAE,CAAC;QA0BtC,CAAC;QAxBA,yBAAyB;QAElB,IAAI;;YACV,IAAI,OAAA,IAAI,CAAC,KAAK,CAAC,MAAM,0CAAE,EAAE,MAAK,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;gBAC5C,IAAI,CAAC,KAAK,CAAC,MAAM,CAChB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAC7E,CAAC,CACD,CAAC;gBACF,IAAI,CAAC,KAAK,CAAC,SAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aACzC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CACjC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CACnE,CAAC;YACF,IAAI,OAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,EAAE,MAAK,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBACjE,MAAM,GAAG,GAAG;oBACX,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM;oBACjC,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE;oBACvC,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE;iBAC7C,CAAC;gBACF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;gBAC3C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBACjC,IAAI,CAAC,KAAK,CAAC,SAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aACzC;QACF,CAAC;KACD;IA1BY;QAAX,UAAU;wCAA0B;IAIrC;QADC,MAAM;qCAsBN;IACF,YAAC;KAAA;SA5BY,KAAK"}
|
@@ -1,12 +0,0 @@
|
|
1
|
-
/// <reference types="react" />
|
2
|
-
declare const Links: (props: {
|
3
|
-
id: string;
|
4
|
-
listId: string;
|
5
|
-
listType?: string | undefined;
|
6
|
-
addAble?: boolean | undefined;
|
7
|
-
onAddAble?: ((params?: boolean | undefined) => void) | undefined;
|
8
|
-
onLinkNum?: ((params?: any) => void) | undefined;
|
9
|
-
destination?: any;
|
10
|
-
source?: any;
|
11
|
-
}) => JSX.Element;
|
12
|
-
export default Links;
|
@@ -1,26 +0,0 @@
|
|
1
|
-
import React, { useEffect, useState } from "react";
|
2
|
-
import { useObserver } from "mobx-react-lite";
|
3
|
-
import { Droppable } from "react-beautiful-dnd";
|
4
|
-
import NewTaskForm from "../NewTaskForm";
|
5
|
-
import LinkList from "../LinkList";
|
6
|
-
const Links = (props) => {
|
7
|
-
const { listId = "LIST", listType, destination, source } = props;
|
8
|
-
/** add link */
|
9
|
-
const [addLinkAble, setAddLinkAble] = useState(false);
|
10
|
-
useEffect(() => {
|
11
|
-
setAddLinkAble(props.addAble);
|
12
|
-
}, [props.addAble]);
|
13
|
-
/** show add link module */
|
14
|
-
const onAddAble = () => {
|
15
|
-
setAddLinkAble(!addLinkAble);
|
16
|
-
props.onAddAble(addLinkAble);
|
17
|
-
};
|
18
|
-
return useObserver(() => (React.createElement(Droppable, { droppableId: listId, type: listType }, (dropProvided, dropSnapshot) => (React.createElement("div", Object.assign({ className: "wrapper", isdraggingover: dropSnapshot.isDraggingOver.toString(), isdraggingfrom: Boolean(dropSnapshot.draggingFromThisWith).toString() }, dropProvided.droppableProps),
|
19
|
-
React.createElement("div", { className: "dropZone", ref: dropProvided.innerRef },
|
20
|
-
React.createElement(LinkList, { id: props.id, onLinkNum: props.onLinkNum, destination: destination, source: source }),
|
21
|
-
addLinkAble && React.createElement(NewTaskForm, { parentId: props.id }),
|
22
|
-
React.createElement("span", { className: "addTask", onClick: onAddAble }, "+ NEW TASK"),
|
23
|
-
dropProvided.placeholder))))));
|
24
|
-
};
|
25
|
-
export default Links;
|
26
|
-
//# sourceMappingURL=index.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/board/components/links/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,WAAW,EAAY,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,WAAW,MAAM,gBAAgB,CAAC;AACzC,OAAO,QAAQ,MAAM,aAAa,CAAC;AAEnC,MAAM,KAAK,GAAG,CAAC,KASd,EAAE,EAAE;IACJ,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACjE,eAAe;IACf,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtD,SAAS,CAAC,GAAG,EAAE;QACd,cAAc,CAAC,KAAK,CAAC,OAAQ,CAAC,CAAC;IAChC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACpB,2BAA2B;IAC3B,MAAM,SAAS,GAAG,GAAG,EAAE;QACtB,cAAc,CAAC,CAAC,WAAW,CAAC,CAAC;QAC7B,KAAK,CAAC,SAAU,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC,CAAC;IACF,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,oBAAC,SAAS,IAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,IAC5C,CAAC,YAAiB,EAAE,YAAiB,EAAE,EAAE,CAAC,CAC1C,2CACC,SAAS,EAAC,SAAS,EACnB,cAAc,EAAE,YAAY,CAAC,cAAc,CAAC,QAAQ,EAAE,EACtD,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,IACjE,YAAY,CAAC,cAAc;QAE/B,6BAAK,SAAS,EAAC,UAAU,EAAC,GAAG,EAAE,YAAY,CAAC,QAAQ;YACnD,oBAAC,QAAQ,IACR,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,GACb;YACD,WAAW,IAAI,oBAAC,WAAW,IAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,GAAI;YACnD,8BAAM,SAAS,EAAC,SAAS,EAAC,OAAO,EAAE,SAAS,iBAErC;YACN,YAAY,CAAC,WAAW,CACpB,CACD,CACN,CACU,CACZ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
|