@voplus/morpho-workspace 1.0.0-dev25 → 1.0.0-dev26
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/components/AvatarList/index.d.ts +1 -1
- package/es/components/AvatarList/index.js +13 -6
- package/es/components/AvatarList/index.js.map +1 -1
- package/es/components/AvatarList/state.d.ts +1 -0
- package/es/components/AvatarList/state.js +4 -0
- package/es/components/AvatarList/state.js.map +1 -1
- package/es/components/PermissionModal/index.d.ts +7 -0
- package/es/components/PermissionModal/index.js +18 -0
- package/es/components/PermissionModal/index.js.map +1 -0
- package/es/components/ToolBar/index.d.ts +1 -2
- package/es/components/ToolBar/index.js +11 -27
- package/es/components/ToolBar/index.js.map +1 -1
- package/es/controls/DocumentStatusLabel/index.js +1 -1
- package/es/controls/DocumentStatusLabel/index.js.map +1 -1
- package/es/controls/SortViewDropdown/index.d.ts +2 -2
- package/es/controls/SortViewDropdown/index.js +4 -3
- package/es/controls/SortViewDropdown/index.js.map +1 -1
- package/es/controls/StarIcon/index.js +1 -1
- package/es/controls/StarIcon/index.js.map +1 -1
- package/es/data/contexts/StoreContext/index.js +1 -1
- package/es/data/contexts/StoreContext/index.js.map +1 -1
- package/es/data/meeting/AgendaStore.d.ts +3 -2
- package/es/data/meeting/AgendaStore.js.map +1 -1
- package/es/data/meeting/interfaces.d.ts +2 -0
- package/es/data/meeting/types.d.ts +8 -3
- package/es/modules/document/components/DocumentDetail/index.js +1 -1
- package/es/modules/document/components/DocumentDetail/index.js.map +1 -1
- package/es/modules/document/components/DocumentItem/index.js +1 -1
- package/es/modules/document/components/DocumentItem/index.js.map +1 -1
- package/es/modules/document/pages/DocumentTabView/index.js +2 -2
- package/es/modules/document/pages/DocumentTabView/index.js.map +1 -1
- package/es/modules/meeting/MeetingRoutes.d.ts +17 -0
- package/es/modules/meeting/MeetingRoutes.js +38 -0
- package/es/modules/meeting/MeetingRoutes.js.map +1 -0
- package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskItem/index.d.ts +7 -0
- package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskItem/index.js +36 -0
- package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskItem/index.js.map +1 -0
- package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskItem/index.less +59 -0
- package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/index.d.ts +4 -0
- package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/index.js +39 -0
- package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/index.js.map +1 -0
- package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/state.d.ts +18 -0
- package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/state.js +40 -0
- package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/state.js.map +1 -0
- package/es/modules/meeting/components/AgendaList/AgendaItem/index.d.ts +5 -4
- package/es/modules/meeting/components/AgendaList/AgendaItem/index.js +40 -16
- package/es/modules/meeting/components/AgendaList/AgendaItem/index.js.map +1 -1
- package/es/modules/meeting/components/AgendaList/AgendaItem/index.less +47 -17
- package/es/modules/meeting/components/AgendaList/AgendaItem/state.d.ts +4 -0
- package/es/modules/meeting/components/AgendaList/AgendaItem/state.js +15 -0
- package/es/modules/meeting/components/AgendaList/AgendaItem/state.js.map +1 -0
- package/es/modules/meeting/components/AgendaList/AgendaNewForm/index.d.ts +1 -1
- package/es/modules/meeting/components/AgendaList/AgendaNewForm/index.js +13 -14
- package/es/modules/meeting/components/AgendaList/AgendaNewForm/index.js.map +1 -1
- package/es/modules/meeting/components/AgendaList/AgendaNewForm/index.less +16 -6
- package/es/modules/meeting/components/AgendaList/AgendaNewForm/state.d.ts +1 -0
- package/es/modules/meeting/components/AgendaList/AgendaNewForm/state.js +4 -0
- package/es/modules/meeting/components/AgendaList/AgendaNewForm/state.js.map +1 -1
- package/es/modules/meeting/components/AgendaList/index.d.ts +2 -6
- package/es/modules/meeting/components/AgendaList/index.js +28 -38
- package/es/modules/meeting/components/AgendaList/index.js.map +1 -1
- package/es/modules/meeting/components/AgendaList/index.less +9 -69
- package/es/modules/meeting/components/AgendaList/state.d.ts +15 -1
- package/es/modules/meeting/components/AgendaList/state.js +26 -4
- package/es/modules/meeting/components/AgendaList/state.js.map +1 -1
- package/es/modules/meeting/components/MeetingDetail/index.d.ts +2 -3
- package/es/modules/meeting/components/MeetingDetail/index.js +20 -13
- package/es/modules/meeting/components/MeetingDetail/index.js.map +1 -1
- package/es/modules/meeting/components/MeetingDetail/index.less +14 -0
- package/es/modules/meeting/components/MeetingItem/index.d.ts +2 -2
- package/es/modules/meeting/components/MeetingItem/index.js +18 -18
- package/es/modules/meeting/components/MeetingItem/index.js.map +1 -1
- package/es/modules/meeting/components/MeetingItem/index.less +1 -0
- package/es/modules/meeting/components/MeetingItem/state.js.map +1 -1
- package/es/modules/meeting/components/MeetingList/index.d.ts +2 -2
- package/es/modules/meeting/components/MeetingList/index.js +9 -8
- package/es/modules/meeting/components/MeetingList/index.js.map +1 -1
- package/es/modules/meeting/components/MeetingList/state.js.map +1 -1
- package/es/modules/meeting/components/NewMeetingForm/index.js +8 -7
- package/es/modules/meeting/components/NewMeetingForm/index.js.map +1 -1
- package/es/modules/meeting/components/NewMeetingForm/state.d.ts +1 -0
- package/es/modules/meeting/components/NewMeetingForm/state.js +5 -0
- package/es/modules/meeting/components/NewMeetingForm/state.js.map +1 -1
- package/es/modules/meeting/pages/MeetingTabView/index.d.ts +2 -2
- package/es/modules/meeting/pages/MeetingTabView/index.js +18 -10
- package/es/modules/meeting/pages/MeetingTabView/index.js.map +1 -1
- package/es/modules/meeting/pages/MeetingTabView/index.less +3 -0
- package/es/modules/tasks/components/NewTaskForm/index.d.ts +4 -4
- package/es/modules/tasks/components/NewTaskForm/index.js +6 -4
- package/es/modules/tasks/components/NewTaskForm/index.js.map +1 -1
- package/es/modules/tasks/components/NewTaskForm/state.js.map +1 -1
- package/es/modules/tasks/components/SubTaskList/index.js +19 -19
- package/es/modules/tasks/components/SubTaskList/index.js.map +1 -1
- package/es/modules/tasks/components/TaskDetail/index.d.ts +2 -2
- package/es/modules/tasks/components/TaskDetail/index.js +13 -20
- package/es/modules/tasks/components/TaskDetail/index.js.map +1 -1
- package/es/modules/tasks/components/TaskItem/TaskItem.d.ts +2 -4
- package/es/modules/tasks/components/TaskItem/TaskItem.js +15 -41
- package/es/modules/tasks/components/TaskItem/TaskItem.js.map +1 -1
- package/es/modules/tasks/components/TaskItem/index.less +1 -1
- package/es/modules/tasks/components/TaskList/index.js +28 -28
- package/es/modules/tasks/components/TaskList/index.js.map +1 -1
- package/es/modules/tasks/pages/TaskDefaultView/index.d.ts +2 -2
- package/es/modules/tasks/pages/TaskDefaultView/index.js +7 -12
- package/es/modules/tasks/pages/TaskDefaultView/index.js.map +1 -1
- package/es/modules/tasks/pages/TaskTabView/index.d.ts +2 -2
- package/es/modules/tasks/pages/TaskTabView/index.js +26 -27
- package/es/modules/tasks/pages/TaskTabView/index.js.map +1 -1
- package/package.json +7 -6
- package/es/components/SortDnD/Card.d.ts +0 -19
- package/es/components/SortDnD/Card.js +0 -58
- package/es/components/SortDnD/Card.js.map +0 -1
- package/es/components/SortDnD/Container.d.ts +0 -15
- package/es/components/SortDnD/Container.js +0 -34
- package/es/components/SortDnD/Container.js.map +0 -1
- package/es/components/SortDnD/index.d.ts +0 -9
- package/es/components/SortDnD/index.js +0 -13
- package/es/components/SortDnD/index.js.map +0 -1
- package/es/components/SortDnD/index.less +0 -21
- package/es/components/SortDnD/type.d.ts +0 -4
- package/es/components/SortDnD/type.js +0 -4
- package/es/components/SortDnD/type.js.map +0 -1
- package/es/modules/meeting/components/AgendaList/TaskItem/index.d.ts +0 -5
- package/es/modules/meeting/components/AgendaList/TaskItem/index.js +0 -40
- package/es/modules/meeting/components/AgendaList/TaskItem/index.js.map +0 -1
- package/es/modules/meeting/components/AgendaList/TaskItem/index.less +0 -50
- package/es/modules/meeting/pages/MeetingRoutes.d.ts +0 -3
- package/es/modules/meeting/pages/MeetingRoutes.js +0 -10
- package/es/modules/meeting/pages/MeetingRoutes.js.map +0 -1
- package/es/modules/tasks/components/PermissionModal/index.d.ts +0 -5
- package/es/modules/tasks/components/PermissionModal/index.js +0 -14
- package/es/modules/tasks/components/PermissionModal/index.js.map +0 -1
- package/es/modules/user/pages/Profile/index.d.ts +0 -11
- package/es/modules/user/pages/Profile/index.js +0 -79
- package/es/modules/user/pages/Profile/index.js.map +0 -1
- package/es/modules/user/pages/Profile/index.less +0 -45
- /package/es/{modules/tasks/components → components}/PermissionModal/index.less +0 -0
@@ -0,0 +1,36 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { faPaperclip } from "@fortawesome/pro-light-svg-icons";
|
3
|
+
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
4
|
+
import AvatarList from "../../../../../../../components/AvatarList";
|
5
|
+
import StarIcon from "../../../../../../../controls/StarIcon";
|
6
|
+
import { InlineEdit } from "@voplus/morpho-ui";
|
7
|
+
import { useObserver } from "mobx-react-lite";
|
8
|
+
import moment from "moment";
|
9
|
+
import MoreOperateDropdown from "../../../../../../../controls/MoreOperateDropdown";
|
10
|
+
import { useTask, useTaskStore } from "../../../../../../../data/task";
|
11
|
+
import "./index.less";
|
12
|
+
import { Row } from "@voplus/antd";
|
13
|
+
const AgendaTaskItem = (props) => {
|
14
|
+
const { id, editable } = props;
|
15
|
+
const taskStore = useTaskStore();
|
16
|
+
const task = useTask(id, { reload: false });
|
17
|
+
const onSaveTask = async (value) => {
|
18
|
+
await taskStore.edit(id, { Name: value });
|
19
|
+
};
|
20
|
+
const onChangeMember = (ids) => {
|
21
|
+
taskStore.edit(id, { MemberIds: ids });
|
22
|
+
};
|
23
|
+
return useObserver(() => (React.createElement("div", { className: "agenda-task-item" },
|
24
|
+
React.createElement(Row, { type: "flex" },
|
25
|
+
React.createElement(StarIcon, { important: task.important, color: task.taskStatus === "Done" ? "rgba(168, 168, 168,0.5)" : "#999", onchange: () => taskStore.edit(task.id, { Important: !task.important }), className: "margin-right-10" }),
|
26
|
+
React.createElement(InlineEdit, { editable: editable, defaultValue: task.name, content: v => React.createElement("span", null, v.store.value), onSave: onSaveTask })),
|
27
|
+
React.createElement("div", { className: "task-aside" },
|
28
|
+
React.createElement(AvatarList, { list: task.members || [], editable: editable, onChange: onChangeMember }),
|
29
|
+
React.createElement("span", { className: "margin-left-15" },
|
30
|
+
React.createElement(FAIcon, { icon: faPaperclip, className: "margin-right-5" }),
|
31
|
+
(task.documents || 0) - (task.tasks || 0)),
|
32
|
+
React.createElement("span", { className: "margin-left-15" }, moment(task.dueDate).format("MMM DD")),
|
33
|
+
React.createElement(MoreOperateDropdown, { open: true, edit: false, url: `/tasks/${props.id}`, onDelete: () => taskStore.delete(id, { DeleteChilds: true }), className: "task-more-operate" })))));
|
34
|
+
};
|
35
|
+
export default AgendaTaskItem;
|
36
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../src/modules/meeting/components/AgendaList/AgendaItem/components/TaskItem/index.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,59 @@
|
|
1
|
+
@import "~@voplus/antd/es/style/themes/default.less";
|
2
|
+
:global {
|
3
|
+
.agenda-task-item {
|
4
|
+
display: flex;
|
5
|
+
justify-content: space-between;
|
6
|
+
align-items: center;
|
7
|
+
position: relative;
|
8
|
+
color: #444;
|
9
|
+
padding: 8px 0;
|
10
|
+
cursor: pointer;
|
11
|
+
& + .agenda-task-item:after {
|
12
|
+
position: absolute;
|
13
|
+
content: "";
|
14
|
+
width: 100%;
|
15
|
+
top: 0;
|
16
|
+
border-top: 1px solid @border-color-base;
|
17
|
+
}
|
18
|
+
&:hover {
|
19
|
+
.task-aside .task-more-operate {
|
20
|
+
opacity: 1;
|
21
|
+
}
|
22
|
+
}
|
23
|
+
.completed-icon {
|
24
|
+
font-size: 15px;
|
25
|
+
margin-right: 10px;
|
26
|
+
color: #999;
|
27
|
+
cursor: pointer;
|
28
|
+
&.completed {
|
29
|
+
color: #52c41a;
|
30
|
+
}
|
31
|
+
&:hover {
|
32
|
+
color: #52c41a;
|
33
|
+
}
|
34
|
+
}
|
35
|
+
.task-aside {
|
36
|
+
.task-more-operate {
|
37
|
+
opacity: 0;
|
38
|
+
margin-left: 10px;
|
39
|
+
}
|
40
|
+
.priority-low,
|
41
|
+
.priority-high {
|
42
|
+
padding: 2px 8px;
|
43
|
+
font-size: 12px;
|
44
|
+
color: #fff;
|
45
|
+
font-style: normal;
|
46
|
+
border-radius: 12px;
|
47
|
+
}
|
48
|
+
.priority-low {
|
49
|
+
background: #ff0000;
|
50
|
+
}
|
51
|
+
.priority-high {
|
52
|
+
background: #ff9b00;
|
53
|
+
}
|
54
|
+
}
|
55
|
+
.document-upload {
|
56
|
+
margin: 10px 20px;
|
57
|
+
}
|
58
|
+
}
|
59
|
+
}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import React, { useEffect, useState } from "react";
|
2
|
+
import TaskItem from "../TaskItem";
|
3
|
+
import { faPlus } from "@fortawesome/pro-light-svg-icons";
|
4
|
+
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
5
|
+
import { Modal, Skeleton } from "@voplus/antd";
|
6
|
+
import { useObserver } from "mobx-react-lite";
|
7
|
+
import { useTaskListEffect, useTaskStore } from "../../../../../../../data/task";
|
8
|
+
import NewTaskForm from "../../../../../../tasks/components/NewTaskForm";
|
9
|
+
// import "./index.less";
|
10
|
+
import { State } from "./state";
|
11
|
+
const AgendaItem = (props) => {
|
12
|
+
const { id, name, editable } = props;
|
13
|
+
const taskStore = useTaskStore();
|
14
|
+
const [state] = useState(new State(taskStore));
|
15
|
+
state.props = props;
|
16
|
+
useEffect(state.subscribeOnTaskCreateCallback, []);
|
17
|
+
useTaskListEffect(list => {
|
18
|
+
state.tasks = list || [];
|
19
|
+
state.loading = false;
|
20
|
+
console.log(545454);
|
21
|
+
}, {
|
22
|
+
Filters: [{ c: "Document.ParentNodeId", o: "=", l: "And", v1: id }],
|
23
|
+
Page: { Page: 1, PageSize: 500 }
|
24
|
+
});
|
25
|
+
const setVisible = (visible) => {
|
26
|
+
state.visible = visible;
|
27
|
+
};
|
28
|
+
// const [desc, setDesc] = useState(agenda.desc);
|
29
|
+
return useObserver(() => (React.createElement(Skeleton, { loading: state.loading },
|
30
|
+
state.tasks.map((task) => (React.createElement(TaskItem, { key: task.id, id: task.id, editable: editable }))),
|
31
|
+
editable && (React.createElement("div", { className: "agenda-task-item" },
|
32
|
+
React.createElement("span", { onClick: () => setVisible(true) },
|
33
|
+
React.createElement(FAIcon, { icon: faPlus }),
|
34
|
+
" Add Task"))),
|
35
|
+
React.createElement(Modal, { title: name, visible: state.visible, onCancel: () => setVisible(false), footer: null },
|
36
|
+
React.createElement(NewTaskForm, { parentId: id, onCancel: () => (state.visible = false), onSave: () => setVisible(false) })))));
|
37
|
+
};
|
38
|
+
export default AgendaItem;
|
39
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../src/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,QAAQ,MAAM,aAAa,CAAC;AAEnC,OAAO,EAAgB,MAAM,EAAc,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAS,iBAAiB,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACxF,OAAO,WAAW,MAAM,gDAAgD,CAAC;AACzE,yBAAyB;AACzB,OAAO,EAAmB,KAAK,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,UAAU,GAAG,CAAC,KAAsB,EAAE,EAAE;IAC7C,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACrC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/C,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IAEpB,SAAS,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC;IAEnD,iBAAiB,CAChB,IAAI,CAAC,EAAE;QACN,KAAK,CAAC,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC,EACD;QACC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,uBAAuB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QACnE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE;KAChC,CACD,CAAC;IACF,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAE,EAAE;QACvC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC,CAAC;IACF,iDAAiD;IACjD,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,oBAAC,QAAQ,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO;QAC9B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAW,EAAE,EAAE,CAAC,CACjC,oBAAC,QAAQ,IAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAC3D,CAAC;QACD,QAAQ,IAAI,CACZ,6BAAK,SAAS,EAAC,kBAAkB;YAChC,8BAAM,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;gBACpC,oBAAC,MAAM,IAAC,IAAI,EAAE,MAAM,GAAI;4BAClB,CACF,CACN;QACD,oBAAC,KAAK,IAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI;YAC1F,oBAAC,WAAW,IACX,QAAQ,EAAE,EAAE,EACZ,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,EACvC,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,GAC9B,CACK,CACE,CACX,CAAC,CAAC;AACJ,CAAC,CAAC;AACF,eAAe,UAAU,CAAC"}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { ITask, TaskStore } from "../../../../../../../data/task";
|
2
|
+
export declare type AgendaItemProps = {
|
3
|
+
id: string;
|
4
|
+
name: string;
|
5
|
+
editable?: boolean;
|
6
|
+
};
|
7
|
+
export declare class State {
|
8
|
+
private _store;
|
9
|
+
props: AgendaItemProps;
|
10
|
+
constructor(_store: TaskStore);
|
11
|
+
tasks: ITask[];
|
12
|
+
visible: boolean;
|
13
|
+
loading: boolean;
|
14
|
+
onTaskCreated: (s: TaskStore, t: ITask) => void;
|
15
|
+
onTaskMoved: (s: TaskStore, t: ITask) => void;
|
16
|
+
onTaskDeleted: (s: TaskStore, t: ITask) => void;
|
17
|
+
subscribeOnTaskCreateCallback: () => () => void;
|
18
|
+
}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import { __decorate } from "tslib";
|
2
|
+
import { observable } from "mobx";
|
3
|
+
export class State {
|
4
|
+
constructor(_store) {
|
5
|
+
this._store = _store;
|
6
|
+
this.tasks = [];
|
7
|
+
this.visible = false;
|
8
|
+
this.loading = false;
|
9
|
+
this.onTaskCreated = (s, t) => {
|
10
|
+
if (t.parentId === this.props.id) {
|
11
|
+
this.tasks.push(t);
|
12
|
+
}
|
13
|
+
};
|
14
|
+
this.onTaskMoved = (s, t) => {
|
15
|
+
if (t.parentId === this.props.id)
|
16
|
+
this.tasks = [t, ...this.tasks];
|
17
|
+
};
|
18
|
+
this.onTaskDeleted = (s, t) => {
|
19
|
+
this.tasks = this.tasks.filter(task => task.id !== t.id);
|
20
|
+
};
|
21
|
+
this.subscribeOnTaskCreateCallback = () => {
|
22
|
+
this._store.ItemCreatedEvent.subscribe(this.onTaskCreated);
|
23
|
+
this._store.ItemDeletedEvent.subscribe(this.onTaskDeleted);
|
24
|
+
return () => {
|
25
|
+
this._store.ItemCreatedEvent.unsubscribe(this.onTaskCreated);
|
26
|
+
this._store.ItemDeletedEvent.unsubscribe(this.onTaskDeleted);
|
27
|
+
};
|
28
|
+
};
|
29
|
+
}
|
30
|
+
}
|
31
|
+
__decorate([
|
32
|
+
observable
|
33
|
+
], State.prototype, "tasks", void 0);
|
34
|
+
__decorate([
|
35
|
+
observable
|
36
|
+
], State.prototype, "visible", void 0);
|
37
|
+
__decorate([
|
38
|
+
observable
|
39
|
+
], State.prototype, "loading", void 0);
|
40
|
+
//# sourceMappingURL=state.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../../../../src/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAKlC,MAAM,OAAO,KAAK;IAEjB,YAA2B,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;QAEzB,UAAK,GAAY,EAAE,CAAC;QACpB,YAAO,GAAY,KAAK,CAAC;QACzB,YAAO,GAAY,KAAK,CAAC;QAErC,kBAAa,GAAG,CAAC,CAAY,EAAE,CAAQ,EAAE,EAAE;YACjD,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;gBACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACnB;QACF,CAAC,CAAC;QAEK,gBAAW,GAAG,CAAC,CAAY,EAAE,CAAQ,EAAE,EAAE;YAC/C,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE;gBAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACnE,CAAC,CAAC;QAEK,kBAAa,GAAG,CAAC,CAAY,EAAE,CAAQ,EAAE,EAAE;YACjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC;QAEK,kCAA6B,GAAG,GAAG,EAAE;YAC3C,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC3D,OAAO,GAAG,EAAE;gBACX,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC7D,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9D,CAAC,CAAC;QACH,CAAC,CAAC;IA3B6C,CAAC;CA4BhD;AA1BY;IAAX,UAAU;oCAA4B;AAC3B;IAAX,UAAU;sCAAiC;AAChC;IAAX,UAAU;sCAAiC"}
|
@@ -1,7 +1,8 @@
|
|
1
1
|
/// <reference types="react" />
|
2
|
-
|
2
|
+
import "./index.less";
|
3
|
+
declare const AgendaItem: (props: {
|
3
4
|
id: string;
|
4
|
-
|
5
|
-
|
5
|
+
index?: number | undefined;
|
6
|
+
connectDragSource?: any;
|
6
7
|
}) => JSX.Element;
|
7
|
-
export default
|
8
|
+
export default AgendaItem;
|
@@ -1,23 +1,47 @@
|
|
1
1
|
import React, { useState } from "react";
|
2
|
+
import TaskList from "./components/TaskList";
|
3
|
+
import { faAngleRight, faBars } from "@fortawesome/pro-light-svg-icons";
|
4
|
+
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
5
|
+
import { TextEditor } from "@voplus/morpho-text";
|
6
|
+
import { InlineEdit } from "@voplus/morpho-ui";
|
7
|
+
import classnames from "classnames";
|
2
8
|
import { useObserver } from "mobx-react-lite";
|
3
|
-
import
|
4
|
-
import
|
5
|
-
import
|
6
|
-
import
|
7
|
-
|
8
|
-
const { id } = props;
|
9
|
+
import MoreOperateDropdown from "../../../../../controls/MoreOperateDropdown";
|
10
|
+
import { useAgenda, useAgendaStore } from "../../../../../data/meeting";
|
11
|
+
import "./index.less";
|
12
|
+
import { State } from "./state";
|
13
|
+
const AgendaItem = (props) => {
|
14
|
+
const { id, index, connectDragSource } = props;
|
15
|
+
const agendaStore = useAgendaStore();
|
9
16
|
const agenda = useAgenda(id, { reload: true });
|
10
17
|
const [state] = useState(new State());
|
11
|
-
|
12
|
-
state.
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
}
|
18
|
+
const onClick = () => {
|
19
|
+
state.foldable = !state.foldable;
|
20
|
+
};
|
21
|
+
const onSave = async (value) => {
|
22
|
+
await agendaStore.edit(id, { Name: value });
|
23
|
+
};
|
24
|
+
const onEdit = () => {
|
25
|
+
state.editable = !state.editable;
|
26
|
+
state.foldable = true;
|
27
|
+
};
|
28
|
+
const onDelete = async () => {
|
29
|
+
await agendaStore.delete(id, { DeleteChilds: true });
|
30
|
+
};
|
17
31
|
// const [desc, setDesc] = useState(agenda.desc);
|
18
|
-
return
|
19
|
-
React.createElement("div", { className: "agenda-item
|
20
|
-
|
21
|
-
|
32
|
+
return useObserver(() => (React.createElement(React.Fragment, null,
|
33
|
+
React.createElement("div", { className: "agenda-item" },
|
34
|
+
React.createElement("div", { className: "agenda-item-header", onClick: onClick },
|
35
|
+
React.createElement("div", { className: "agenda-item-name" },
|
36
|
+
React.createElement("span", { className: "agenda-item-index" }, (index || 0) + 1 + "."),
|
37
|
+
React.createElement(FAIcon, { icon: faAngleRight, className: classnames("collapse-arrow", { "collapse-active": !state.foldable }) }),
|
38
|
+
React.createElement(InlineEdit, { editable: state.editable, defaultValue: agenda.name, content: v => React.createElement("span", null, v.store.value), onSave: onSave })),
|
39
|
+
connectDragSource(React.createElement("span", { className: classnames("sort-icon-move", { show: state.editable }) },
|
40
|
+
React.createElement(FAIcon, { icon: faBars, color: "#222" }))),
|
41
|
+
React.createElement(MoreOperateDropdown, { onDelete: onDelete, onEdit: onEdit })),
|
42
|
+
state.foldable && (React.createElement("div", { className: classnames("agenda-item-box", { "collapse-inactive": !state.foldable }) },
|
43
|
+
React.createElement(TextEditor, { id: id, textOnly: !state.editable, className: classnames({ "agenda-description": state.editable }) }),
|
44
|
+
React.createElement(TaskList, { id: id, name: agenda.name, editable: state.editable })))))));
|
22
45
|
};
|
46
|
+
export default AgendaItem;
|
23
47
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/meeting/components/AgendaList/AgendaItem/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/meeting/components/AgendaList/AgendaItem/index.tsx"],"names":[],"mappings":"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"}
|
@@ -1,27 +1,57 @@
|
|
1
1
|
@import "../../../../../styles/common.less";
|
2
2
|
:global {
|
3
3
|
.agenda-item {
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
4
|
+
margin: 0 20px;
|
5
|
+
border-bottom: 1px solid #d9d9d9;
|
6
|
+
.agenda-item-name {
|
7
|
+
display: flex;
|
8
|
+
flex: 1;
|
9
|
+
overflow: hidden;
|
10
|
+
white-space: nowrap;
|
11
|
+
text-overflow: ellipsis;
|
10
12
|
}
|
11
|
-
.agenda-item-
|
12
|
-
|
13
|
+
.agenda-item-index {
|
14
|
+
display: inline-block;
|
15
|
+
width: 30px;
|
13
16
|
}
|
14
|
-
.agenda-
|
17
|
+
.agenda-item-header {
|
15
18
|
display: flex;
|
16
|
-
justify-content:
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
19
|
+
justify-content: space-between;
|
20
|
+
align-items: center;
|
21
|
+
padding: 10px 0;
|
22
|
+
transition: all 0.3s;
|
23
|
+
cursor: pointer;
|
24
|
+
&:hover .sort-icon-move,
|
25
|
+
.sort-icon-move.show {
|
26
|
+
opacity: 1;
|
27
|
+
}
|
28
|
+
.collapse-arrow {
|
21
29
|
display: inline-block;
|
22
|
-
width:
|
23
|
-
|
24
|
-
|
30
|
+
width: 10px;
|
31
|
+
font-size: 20px;
|
32
|
+
line-height: 1px;
|
33
|
+
margin-right: 10px;
|
34
|
+
vertical-align: bottom;
|
35
|
+
transition: transform 0.24s;
|
36
|
+
&.collapse-active {
|
37
|
+
transform: rotate(90deg);
|
38
|
+
}
|
39
|
+
}
|
40
|
+
.sort-icon-move {
|
41
|
+
opacity: 0;
|
42
|
+
cursor: move;
|
43
|
+
font-size: 15px;
|
44
|
+
margin-right: 10px;
|
45
|
+
}
|
46
|
+
}
|
47
|
+
.agenda-item-box {
|
48
|
+
transition: height 0.2s @ease-out;
|
49
|
+
&.collapse-inactive {
|
50
|
+
display: none;
|
51
|
+
}
|
52
|
+
.agenda-description {
|
53
|
+
padding-bottom: 10px;
|
54
|
+
min-height: 150px;
|
25
55
|
}
|
26
56
|
}
|
27
57
|
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { __decorate } from "tslib";
|
2
|
+
import { observable } from "mobx";
|
3
|
+
export class State {
|
4
|
+
constructor() {
|
5
|
+
this.foldable = false;
|
6
|
+
this.editable = false;
|
7
|
+
}
|
8
|
+
}
|
9
|
+
__decorate([
|
10
|
+
observable
|
11
|
+
], State.prototype, "foldable", void 0);
|
12
|
+
__decorate([
|
13
|
+
observable
|
14
|
+
], State.prototype, "editable", void 0);
|
15
|
+
//# sourceMappingURL=state.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../../src/modules/meeting/components/AgendaList/AgendaItem/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,MAAM,OAAO,KAAK;IAAlB;QACoB,aAAQ,GAAY,KAAK,CAAC;QAC1B,aAAQ,GAAY,KAAK,CAAC;IAC9C,CAAC;CAAA;AAFY;IAAX,UAAU;uCAAkC;AACjC;IAAX,UAAU;uCAAkC"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import React from "react";
|
2
2
|
declare const _default: React.ForwardRefExoticComponent<{
|
3
3
|
id?: string | undefined;
|
4
|
-
|
4
|
+
single?: boolean | undefined;
|
5
5
|
addOnly?: boolean | undefined;
|
6
6
|
onChange?: ((params?: any) => void) | undefined;
|
7
7
|
} & React.RefAttributes<unknown>>;
|
@@ -4,10 +4,10 @@ import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
|
4
4
|
import { Button, Input, message } from "@voplus/antd";
|
5
5
|
import { useObserver } from "mobx-react-lite";
|
6
6
|
import { State } from "./state";
|
7
|
-
import {
|
7
|
+
import { useAgendaStore } from "../../../../../data/meeting";
|
8
8
|
import styles from "./index.less";
|
9
9
|
export default forwardRef((props, ref) => {
|
10
|
-
const
|
10
|
+
const agendaStore = useAgendaStore();
|
11
11
|
const [state] = useState(new State());
|
12
12
|
const Params = { Name: "" };
|
13
13
|
// cancel add agenda
|
@@ -23,25 +23,24 @@ export default forwardRef((props, ref) => {
|
|
23
23
|
props.onChange(state.params);
|
24
24
|
};
|
25
25
|
// save agenda
|
26
|
-
const onItemSave = async (
|
27
|
-
if (
|
28
|
-
return;
|
29
|
-
if (!item.Name)
|
26
|
+
const onItemSave = async (e) => {
|
27
|
+
if (!e.target.value)
|
30
28
|
return message.warning("Title is required");
|
31
|
-
|
32
|
-
state.
|
33
|
-
return message.success("Save Success");
|
29
|
+
await agendaStore.create({ ParentId: props.id, Name: e.target.value });
|
30
|
+
state.name = "";
|
34
31
|
};
|
35
32
|
useImperativeHandle(ref, () => ({
|
36
33
|
clear: () => (state.params = [])
|
37
34
|
}));
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
35
|
+
const { single } = props;
|
36
|
+
return useObserver(() => single ? (React.createElement("div", { className: styles["agenda-new-form_single"] },
|
37
|
+
React.createElement(Input, { autoFocus: true, value: state.name, onChange: e => (state.name = e.target.value), placeholder: "Agenda", onPressEnter: onItemSave }))) : (React.createElement(React.Fragment, null,
|
38
|
+
state.params.map((item, index) => (React.createElement("div", { key: index, className: styles["agenda-new-form_default"] },
|
39
|
+
React.createElement("span", null, index + 1 + "、"),
|
40
|
+
React.createElement(Input, { autoFocus: true, value: item.Name, onChange: e => onChange(item, e.target.value), onKeyDown: e => onCancelAdd(index, e) }),
|
42
41
|
React.createElement("span", { onClick: e => state.params.splice(index, 1), className: "delete" },
|
43
42
|
React.createElement(FAIcon, { icon: faTrashAlt, color: "#666" }))))),
|
44
|
-
React.createElement("div", { className: !!state.params.length
|
43
|
+
React.createElement("div", { className: !!state.params.length ? styles["padding-top-10"] : "" },
|
45
44
|
React.createElement(Button, { type: "link", disabled: state.params.length > 10, className: styles["agenda-new-form_btn"], onClick: onAddAgenda },
|
46
45
|
React.createElement(FAIcon, { icon: faPlus }),
|
47
46
|
"Add agenda item")))));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/meeting/components/AgendaList/AgendaNewForm/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEzE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/meeting/components/AgendaList/AgendaNewForm/index.tsx"],"names":[],"mappings":"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"}
|
@@ -1,8 +1,20 @@
|
|
1
1
|
@import "~@voplus/antd/es/style/themes/default.less";
|
2
2
|
@import "../../../../../styles/common.less";
|
3
3
|
|
4
|
-
.agenda-new-
|
5
|
-
|
4
|
+
.agenda-new-form_single {
|
5
|
+
padding: 10px 20px;
|
6
|
+
border-top: 1px solid @border-color-base;
|
7
|
+
:global {
|
8
|
+
.ant-input {
|
9
|
+
padding: 0;
|
10
|
+
border: 0;
|
11
|
+
box-shadow: none;
|
12
|
+
color: @heading-color;
|
13
|
+
}
|
14
|
+
}
|
15
|
+
}
|
16
|
+
|
17
|
+
.agenda-new-form_default {
|
6
18
|
position: relative;
|
7
19
|
display: flex;
|
8
20
|
align-items: center;
|
@@ -24,12 +36,10 @@
|
|
24
36
|
.agenda-new-form_collapse {
|
25
37
|
padding: 7px 15px;
|
26
38
|
}
|
27
|
-
.agenda-new-form_default:last-child
|
28
|
-
.agenda-new-form_collapse:last-child {
|
39
|
+
.agenda-new-form_default:last-child {
|
29
40
|
margin-bottom: 15px;
|
30
41
|
}
|
31
|
-
.agenda-new-form_collapse:after
|
32
|
-
.agenda-new-form_default:after {
|
42
|
+
.agenda-new-form_collapse:after {
|
33
43
|
position: absolute;
|
34
44
|
content: "";
|
35
45
|
left: 0;
|
@@ -2,9 +2,13 @@ import { __decorate } from "tslib";
|
|
2
2
|
import { observable } from "mobx";
|
3
3
|
export class State {
|
4
4
|
constructor() {
|
5
|
+
this.name = "";
|
5
6
|
this.params = [];
|
6
7
|
}
|
7
8
|
}
|
9
|
+
__decorate([
|
10
|
+
observable
|
11
|
+
], State.prototype, "name", void 0);
|
8
12
|
__decorate([
|
9
13
|
observable
|
10
14
|
], State.prototype, "params", void 0);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../../src/modules/meeting/components/AgendaList/AgendaNewForm/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,MAAM,OAAO,KAAK;IAAlB;QACoB,WAAM,GAAU,EAAE,CAAC;IACvC,CAAC;CAAA;
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../../src/modules/meeting/components/AgendaList/AgendaNewForm/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,MAAM,OAAO,KAAK;IAAlB;QACoB,SAAI,GAAW,EAAE,CAAC;QAClB,WAAM,GAAU,EAAE,CAAC;IACvC,CAAC;CAAA;AAFY;IAAX,UAAU;mCAA0B;AACzB;IAAX,UAAU;qCAA2B"}
|
@@ -1,9 +1,5 @@
|
|
1
1
|
/// <reference types="react" />
|
2
2
|
import "./index.less";
|
3
|
-
|
4
|
-
|
5
|
-
isAdd?: boolean | undefined;
|
6
|
-
className?: string | undefined;
|
7
|
-
preview?: boolean | undefined;
|
8
|
-
}) => JSX.Element;
|
3
|
+
import { AgendaListProps } from "./state";
|
4
|
+
declare const AgendaList: (props: AgendaListProps) => JSX.Element;
|
9
5
|
export default AgendaList;
|