@voplus/morpho-workspace 1.0.0-dev25 → 1.0.0-dev27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/es/components/AvatarList/index.d.ts +1 -1
  2. package/es/components/AvatarList/index.js +13 -6
  3. package/es/components/AvatarList/index.js.map +1 -1
  4. package/es/components/AvatarList/state.d.ts +1 -0
  5. package/es/components/AvatarList/state.js +4 -0
  6. package/es/components/AvatarList/state.js.map +1 -1
  7. package/es/components/PermissionModal/index.d.ts +7 -0
  8. package/es/components/PermissionModal/index.js +18 -0
  9. package/es/components/PermissionModal/index.js.map +1 -0
  10. package/es/components/ToolBar/index.d.ts +1 -2
  11. package/es/components/ToolBar/index.js +11 -27
  12. package/es/components/ToolBar/index.js.map +1 -1
  13. package/es/controls/DocumentStatusLabel/index.js +1 -1
  14. package/es/controls/DocumentStatusLabel/index.js.map +1 -1
  15. package/es/controls/SortViewDropdown/index.d.ts +2 -2
  16. package/es/controls/SortViewDropdown/index.js +4 -3
  17. package/es/controls/SortViewDropdown/index.js.map +1 -1
  18. package/es/controls/StarIcon/index.js +1 -1
  19. package/es/controls/StarIcon/index.js.map +1 -1
  20. package/es/data/contexts/StoreContext/index.js +1 -1
  21. package/es/data/contexts/StoreContext/index.js.map +1 -1
  22. package/es/data/meeting/AgendaStore.d.ts +3 -2
  23. package/es/data/meeting/AgendaStore.js.map +1 -1
  24. package/es/data/meeting/interfaces.d.ts +2 -0
  25. package/es/data/meeting/types.d.ts +8 -3
  26. package/es/modules/document/components/DocumentDetail/index.js +1 -1
  27. package/es/modules/document/components/DocumentDetail/index.js.map +1 -1
  28. package/es/modules/document/components/DocumentItem/index.js +1 -1
  29. package/es/modules/document/components/DocumentItem/index.js.map +1 -1
  30. package/es/modules/document/pages/DocumentTabView/index.js +2 -2
  31. package/es/modules/document/pages/DocumentTabView/index.js.map +1 -1
  32. package/es/modules/meeting/MeetingRoutes.d.ts +17 -0
  33. package/es/modules/meeting/MeetingRoutes.js +38 -0
  34. package/es/modules/meeting/MeetingRoutes.js.map +1 -0
  35. package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskItem/index.d.ts +7 -0
  36. package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskItem/index.js +36 -0
  37. package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskItem/index.js.map +1 -0
  38. package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskItem/index.less +59 -0
  39. package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/index.d.ts +4 -0
  40. package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/index.js +39 -0
  41. package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/index.js.map +1 -0
  42. package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/state.d.ts +18 -0
  43. package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/state.js +40 -0
  44. package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/state.js.map +1 -0
  45. package/es/modules/meeting/components/AgendaList/AgendaItem/index.d.ts +5 -4
  46. package/es/modules/meeting/components/AgendaList/AgendaItem/index.js +40 -16
  47. package/es/modules/meeting/components/AgendaList/AgendaItem/index.js.map +1 -1
  48. package/es/modules/meeting/components/AgendaList/AgendaItem/index.less +47 -17
  49. package/es/modules/meeting/components/AgendaList/AgendaItem/state.d.ts +4 -0
  50. package/es/modules/meeting/components/AgendaList/AgendaItem/state.js +15 -0
  51. package/es/modules/meeting/components/AgendaList/AgendaItem/state.js.map +1 -0
  52. package/es/modules/meeting/components/AgendaList/AgendaNewForm/index.d.ts +1 -1
  53. package/es/modules/meeting/components/AgendaList/AgendaNewForm/index.js +13 -14
  54. package/es/modules/meeting/components/AgendaList/AgendaNewForm/index.js.map +1 -1
  55. package/es/modules/meeting/components/AgendaList/AgendaNewForm/index.less +16 -6
  56. package/es/modules/meeting/components/AgendaList/AgendaNewForm/state.d.ts +1 -0
  57. package/es/modules/meeting/components/AgendaList/AgendaNewForm/state.js +4 -0
  58. package/es/modules/meeting/components/AgendaList/AgendaNewForm/state.js.map +1 -1
  59. package/es/modules/meeting/components/AgendaList/index.d.ts +2 -6
  60. package/es/modules/meeting/components/AgendaList/index.js +28 -38
  61. package/es/modules/meeting/components/AgendaList/index.js.map +1 -1
  62. package/es/modules/meeting/components/AgendaList/index.less +9 -69
  63. package/es/modules/meeting/components/AgendaList/state.d.ts +15 -1
  64. package/es/modules/meeting/components/AgendaList/state.js +26 -4
  65. package/es/modules/meeting/components/AgendaList/state.js.map +1 -1
  66. package/es/modules/meeting/components/MeetingDetail/index.d.ts +2 -3
  67. package/es/modules/meeting/components/MeetingDetail/index.js +20 -13
  68. package/es/modules/meeting/components/MeetingDetail/index.js.map +1 -1
  69. package/es/modules/meeting/components/MeetingDetail/index.less +14 -0
  70. package/es/modules/meeting/components/MeetingItem/index.d.ts +2 -2
  71. package/es/modules/meeting/components/MeetingItem/index.js +18 -18
  72. package/es/modules/meeting/components/MeetingItem/index.js.map +1 -1
  73. package/es/modules/meeting/components/MeetingItem/index.less +1 -0
  74. package/es/modules/meeting/components/MeetingItem/state.js.map +1 -1
  75. package/es/modules/meeting/components/MeetingList/index.d.ts +2 -2
  76. package/es/modules/meeting/components/MeetingList/index.js +9 -8
  77. package/es/modules/meeting/components/MeetingList/index.js.map +1 -1
  78. package/es/modules/meeting/components/MeetingList/state.js.map +1 -1
  79. package/es/modules/meeting/components/NewMeetingForm/index.js +8 -7
  80. package/es/modules/meeting/components/NewMeetingForm/index.js.map +1 -1
  81. package/es/modules/meeting/components/NewMeetingForm/state.d.ts +1 -0
  82. package/es/modules/meeting/components/NewMeetingForm/state.js +5 -0
  83. package/es/modules/meeting/components/NewMeetingForm/state.js.map +1 -1
  84. package/es/modules/meeting/pages/MeetingTabView/index.d.ts +2 -2
  85. package/es/modules/meeting/pages/MeetingTabView/index.js +18 -10
  86. package/es/modules/meeting/pages/MeetingTabView/index.js.map +1 -1
  87. package/es/modules/meeting/pages/MeetingTabView/index.less +3 -0
  88. package/es/modules/tasks/components/NewTaskForm/index.d.ts +4 -4
  89. package/es/modules/tasks/components/NewTaskForm/index.js +6 -4
  90. package/es/modules/tasks/components/NewTaskForm/index.js.map +1 -1
  91. package/es/modules/tasks/components/NewTaskForm/state.js.map +1 -1
  92. package/es/modules/tasks/components/SubTaskList/index.js +19 -19
  93. package/es/modules/tasks/components/SubTaskList/index.js.map +1 -1
  94. package/es/modules/tasks/components/TaskDetail/index.d.ts +2 -2
  95. package/es/modules/tasks/components/TaskDetail/index.js +13 -20
  96. package/es/modules/tasks/components/TaskDetail/index.js.map +1 -1
  97. package/es/modules/tasks/components/TaskItem/TaskItem.d.ts +2 -4
  98. package/es/modules/tasks/components/TaskItem/TaskItem.js +15 -41
  99. package/es/modules/tasks/components/TaskItem/TaskItem.js.map +1 -1
  100. package/es/modules/tasks/components/TaskItem/index.less +1 -1
  101. package/es/modules/tasks/components/TaskList/index.js +28 -28
  102. package/es/modules/tasks/components/TaskList/index.js.map +1 -1
  103. package/es/modules/tasks/pages/TaskDefaultView/index.d.ts +2 -2
  104. package/es/modules/tasks/pages/TaskDefaultView/index.js +7 -12
  105. package/es/modules/tasks/pages/TaskDefaultView/index.js.map +1 -1
  106. package/es/modules/tasks/pages/TaskTabView/index.d.ts +2 -2
  107. package/es/modules/tasks/pages/TaskTabView/index.js +26 -27
  108. package/es/modules/tasks/pages/TaskTabView/index.js.map +1 -1
  109. package/es/routes.js +2 -0
  110. package/es/routes.js.map +1 -1
  111. package/package.json +7 -6
  112. package/es/components/SortDnD/Card.d.ts +0 -19
  113. package/es/components/SortDnD/Card.js +0 -58
  114. package/es/components/SortDnD/Card.js.map +0 -1
  115. package/es/components/SortDnD/Container.d.ts +0 -15
  116. package/es/components/SortDnD/Container.js +0 -34
  117. package/es/components/SortDnD/Container.js.map +0 -1
  118. package/es/components/SortDnD/index.d.ts +0 -9
  119. package/es/components/SortDnD/index.js +0 -13
  120. package/es/components/SortDnD/index.js.map +0 -1
  121. package/es/components/SortDnD/index.less +0 -21
  122. package/es/components/SortDnD/type.d.ts +0 -4
  123. package/es/components/SortDnD/type.js +0 -4
  124. package/es/components/SortDnD/type.js.map +0 -1
  125. package/es/modules/meeting/components/AgendaList/TaskItem/index.d.ts +0 -5
  126. package/es/modules/meeting/components/AgendaList/TaskItem/index.js +0 -40
  127. package/es/modules/meeting/components/AgendaList/TaskItem/index.js.map +0 -1
  128. package/es/modules/meeting/components/AgendaList/TaskItem/index.less +0 -50
  129. package/es/modules/meeting/pages/MeetingRoutes.d.ts +0 -3
  130. package/es/modules/meeting/pages/MeetingRoutes.js +0 -10
  131. package/es/modules/meeting/pages/MeetingRoutes.js.map +0 -1
  132. package/es/modules/tasks/components/PermissionModal/index.d.ts +0 -5
  133. package/es/modules/tasks/components/PermissionModal/index.js +0 -14
  134. package/es/modules/tasks/components/PermissionModal/index.js.map +0 -1
  135. package/es/modules/user/pages/Profile/index.d.ts +0 -11
  136. package/es/modules/user/pages/Profile/index.js +0 -79
  137. package/es/modules/user/pages/Profile/index.js.map +0 -1
  138. package/es/modules/user/pages/Profile/index.less +0 -45
  139. /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,4 @@
1
+ /// <reference types="react" />
2
+ import { AgendaItemProps } from "./state";
3
+ declare const AgendaItem: (props: AgendaItemProps) => JSX.Element;
4
+ export default AgendaItem;
@@ -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
- declare const _default: (props: {
2
+ import "./index.less";
3
+ declare const AgendaItem: (props: {
3
4
  id: string;
4
- data?: any;
5
- preview?: boolean | undefined;
5
+ index?: number | undefined;
6
+ connectDragSource?: any;
6
7
  }) => JSX.Element;
7
- export default _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 { useAgenda } from "../../../../../data/meeting";
4
- import NewTaskForm from "../../../../tasks/components/NewTaskForm";
5
- import { State } from "../state";
6
- import styles from "./index.less";
7
- export default (props) => {
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
- useObserver(() => {
12
- state.tasks = [
13
- { id: "1111", name: "Task one", completed: true, parentId: "", loaded: true, type: "" },
14
- { id: "2222", name: "Task two", completed: true, parentId: "", loaded: true, type: "" }
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 props.preview ? (React.createElement("div", { className: "agenda-item" },
19
- React.createElement("div", { className: "agenda-item-title" }, agenda.name))) : (React.createElement("div", { className: "agenda-item" }, state.tasks && state.tasks.length > 0 && (React.createElement(React.Fragment, null,
20
- React.createElement("div", { className: styles["padding-top-10"] },
21
- React.createElement(NewTaskForm, { simple: true }))))));
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,EAAa,QAAQ,EAAE,MAAM,OAAO,CAAC;AAOnD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,WAAW,MAAM,0CAA0C,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,MAAM,MAAM,cAAc,CAAC;AAGlC,eAAe,CAAC,KAAoD,EAAE,EAAE;IACvE,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;IACrB,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IACtC,WAAW,CAAC,GAAG,EAAE;QAChB,KAAK,CAAC,KAAK,GAAG;YACb,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;YACvF,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;SACvF,CAAC;IACH,CAAC,CAAC,CAAC;IACH,iDAAiD;IACjD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CACtB,6BAAK,SAAS,EAAE,aAAa;QAC5B,6BAAK,SAAS,EAAC,mBAAmB,IAAE,MAAM,CAAC,IAAI,CAAO,CAKjD,CACN,CAAC,CAAC,CAAC,CACH,6BAAK,SAAS,EAAE,aAAa,IAa3B,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CACzC,oBAAC,KAAK,CAAC,QAAQ;QAId,6BAAK,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC;YACvC,oBAAC,WAAW,IAAC,MAAM,EAAE,IAAI,GAAI,CACxB,CACU,CACjB,CACI,CACN,CAAC;AACH,CAAC,CAAC"}
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
- flex: 1;
5
- .agenda-item-title {
6
- line-height: 26px;
7
- color: rgba(0, 0, 0, 0.85);
8
- font-weight: 500;
9
- font-size: 15px;
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-desc {
12
- margin-bottom: 10px;
13
+ .agenda-item-index {
14
+ display: inline-block;
15
+ width: 30px;
13
16
  }
14
- .agenda-task-header {
17
+ .agenda-item-header {
15
18
  display: flex;
16
- justify-content: flex-end;
17
- color: #000;
18
- font-weight: 500;
19
- padding: 5px 0;
20
- span {
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: 70px;
23
- text-align: center;
24
- color: #333;
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,4 @@
1
+ export declare class State {
2
+ foldable: boolean;
3
+ editable: boolean;
4
+ }
@@ -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
- pIndex?: number | undefined;
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 { useMeetingStore } from "../../../../../data/meeting";
7
+ import { useAgendaStore } from "../../../../../data/meeting";
8
8
  import styles from "./index.less";
9
9
  export default forwardRef((props, ref) => {
10
- const meetingStore = useMeetingStore();
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 (item, index) => {
27
- if (props.addOnly)
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
- // await meetingStore.edit(props.id!, {Agendas: [{Name: item.Name}})
32
- state.params.splice(index, 1);
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
- return useObserver(() => (React.createElement(React.Fragment, null,
39
- state.params.map((item, index) => (React.createElement("div", { key: index, className: props.pIndex ? styles["agenda-new-form_collapse"] : styles["agenda-new-form_default"] },
40
- React.createElement("span", null, (props.pIndex || 0) + index + 1 + ""),
41
- React.createElement(Input, { autoFocus: true, value: item.Name, placeholder: "", onChange: e => onChange(item, e.target.value), onPressEnter: e => onItemSave(item, index), onKeyDown: e => onCancelAdd(index, e) }),
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 || !!props.pIndex ? styles["padding-top-10"] : "" },
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":"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"}
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-form_default,
5
- .agenda-new-form_collapse {
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;
@@ -1,3 +1,4 @@
1
1
  export declare class State {
2
+ name: string;
2
3
  params: any[];
3
4
  }
@@ -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;AADY;IAAX,UAAU;qCAA2B"}
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
- declare const AgendaList: (props: {
4
- parentId: string;
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;