@voplus/morpho-workspace 1.0.0-dev40 → 1.0.0-dev42
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.js +16 -11
- package/es/components/AvatarList/index.js.map +1 -1
- package/es/components/AvatarList/index.less +13 -4
- 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/PageListView/index.d.ts +1 -7
- package/es/components/PageListView/index.js +16 -63
- package/es/components/PageListView/index.js.map +1 -1
- package/es/components/PageListView/index.less +3 -64
- package/es/components/PageListView/state.d.ts +0 -3
- package/es/components/PageListView/state.js +0 -12
- package/es/components/PageListView/state.js.map +1 -1
- package/es/components/ToolBar/index.d.ts +4 -1
- package/es/components/ToolBar/index.js +17 -6
- package/es/components/ToolBar/index.js.map +1 -1
- package/es/components/ToolBar/index.less +3 -0
- package/es/controls/FlagIcon/index.d.ts +2 -1
- package/es/controls/FlagIcon/index.js +15 -5
- package/es/controls/FlagIcon/index.js.map +1 -1
- package/es/data/board/BoardStore.d.ts +21 -0
- package/es/data/board/BoardStore.js +39 -0
- package/es/data/board/BoardStore.js.map +1 -0
- package/es/data/board/hooks.d.ts +12 -0
- package/es/data/board/hooks.js +24 -0
- package/es/data/board/hooks.js.map +1 -0
- package/es/data/board/index.d.ts +4 -0
- package/es/data/board/index.js +3 -0
- package/es/data/board/index.js.map +1 -0
- package/es/data/board/interfaces.d.ts +25 -0
- package/es/data/board/interfaces.js +1 -0
- package/es/data/board/interfaces.js.map +1 -0
- package/es/data/board/mock.d.ts +3 -0
- package/es/data/board/mock.js +37 -0
- package/es/data/board/mock.js.map +1 -0
- package/es/data/board/types.d.ts +14 -0
- package/es/data/board/types.js +1 -0
- package/es/data/board/types.js.map +1 -0
- package/es/data/meeting/interfaces.d.ts +1 -0
- package/es/data/task/interfaces.d.ts +1 -0
- package/es/modules/BoardView/components/BoardColumn/index.d.ts +5 -2
- package/es/modules/BoardView/components/BoardColumn/index.js +49 -224
- package/es/modules/BoardView/components/BoardColumn/index.js.map +1 -1
- package/es/modules/BoardView/components/BoardColumn/index.less +49 -108
- package/es/modules/BoardView/components/BoardColumn/state.d.ts +11 -0
- package/es/modules/BoardView/components/BoardColumn/state.js +38 -0
- package/es/modules/BoardView/components/BoardColumn/state.js.map +1 -0
- package/es/modules/BoardView/components/BoardList/index.d.ts +5 -0
- package/es/modules/BoardView/components/BoardList/index.js +35 -0
- package/es/modules/BoardView/components/BoardList/index.js.map +1 -0
- package/es/modules/BoardView/components/BoardList/index.less +39 -0
- package/es/modules/BoardView/components/BoardList/state.d.ts +7 -0
- package/es/modules/BoardView/components/BoardList/state.js +23 -0
- package/es/modules/BoardView/components/BoardList/state.js.map +1 -0
- package/es/modules/BoardView/components/NewTaskForm/index.d.ts +11 -0
- package/es/modules/BoardView/components/NewTaskForm/index.js +66 -0
- package/es/modules/BoardView/components/NewTaskForm/index.js.map +1 -0
- package/es/modules/BoardView/components/NewTaskForm/index.less +91 -0
- package/es/modules/BoardView/components/NewTaskForm/state.d.ts +24 -0
- package/es/modules/BoardView/components/NewTaskForm/state.js +37 -0
- package/es/modules/BoardView/components/NewTaskForm/state.js.map +1 -0
- package/es/modules/BoardView/components/TaskCard/index.d.ts +4 -1
- package/es/modules/BoardView/components/TaskCard/index.js +113 -33
- package/es/modules/BoardView/components/TaskCard/index.js.map +1 -1
- package/es/modules/BoardView/components/TaskCard/index.less +55 -19
- package/es/modules/BoardView/components/TaskCard/state.d.ts +15 -0
- package/es/modules/BoardView/components/TaskCard/state.js +54 -0
- package/es/modules/BoardView/components/TaskCard/state.js.map +1 -0
- package/es/modules/BoardView/components/TaskList/index.d.ts +10 -0
- package/es/modules/BoardView/components/TaskList/index.js +45 -0
- package/es/modules/BoardView/components/TaskList/index.js.map +1 -0
- package/es/modules/BoardView/components/TaskList/state.d.ts +7 -0
- package/es/modules/BoardView/components/TaskList/state.js +23 -0
- package/es/modules/BoardView/components/TaskList/state.js.map +1 -0
- package/es/modules/BoardView/pages/BoardViewList/index.d.ts +2 -2
- package/es/modules/BoardView/pages/BoardViewList/index.js +13 -11
- package/es/modules/BoardView/pages/BoardViewList/index.js.map +1 -1
- package/es/modules/BoardView/pages/BoardViewRoutes.js +1 -1
- package/es/modules/BoardView/pages/BoardViewRoutes.js.map +1 -1
- package/es/modules/calendar/CalendarRoutes.d.ts +11 -0
- package/es/modules/calendar/CalendarRoutes.js +25 -0
- package/es/modules/calendar/CalendarRoutes.js.map +1 -0
- package/es/modules/calendar/pages/CalendarMonth/index.d.ts +6 -0
- package/es/modules/calendar/pages/CalendarMonth/index.js +72 -0
- package/es/modules/calendar/pages/CalendarMonth/index.js.map +1 -0
- package/es/modules/calendar/pages/CalendarMonth/index.less +0 -0
- package/es/modules/calendar/pages/CalendarMonth/state.d.ts +10 -0
- package/es/modules/calendar/pages/CalendarMonth/state.js +31 -0
- package/es/modules/calendar/pages/CalendarMonth/state.js.map +1 -0
- package/es/modules/calendar/pages/CalendarWeek/index.d.ts +0 -0
- package/es/modules/calendar/pages/CalendarWeek/index.js +1 -0
- package/es/modules/calendar/pages/CalendarWeek/index.js.map +1 -0
- package/es/modules/meeting/MeetingRoutes.js +2 -2
- package/es/modules/meeting/MeetingRoutes.js.map +1 -1
- package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/index.d.ts +1 -0
- package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/index.js +4 -4
- package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/index.js.map +1 -1
- package/es/modules/meeting/components/AgendaList/AgendaItem/index.js +6 -7
- package/es/modules/meeting/components/AgendaList/AgendaItem/index.js.map +1 -1
- package/es/modules/meeting/components/AgendaList/AgendaItem/index.less +9 -13
- package/es/modules/meeting/components/AgendaList/index.js +23 -18
- package/es/modules/meeting/components/AgendaList/index.js.map +1 -1
- package/es/modules/meeting/components/AgendaList/index.less +4 -35
- package/es/modules/meeting/components/AgendaList/state.d.ts +1 -1
- package/es/modules/meeting/components/AgendaList/state.js +2 -2
- package/es/modules/meeting/components/MeetingDescription/index.d.ts +6 -0
- package/es/modules/meeting/components/MeetingDescription/index.js +26 -0
- package/es/modules/meeting/components/MeetingDescription/index.js.map +1 -0
- package/es/modules/meeting/components/MeetingDescription/index.less +12 -0
- package/es/modules/meeting/components/MeetingDetail/index.js +23 -44
- package/es/modules/meeting/components/MeetingDetail/index.js.map +1 -1
- package/es/modules/meeting/components/MeetingHeader/index.d.ts +10 -0
- package/es/modules/meeting/components/MeetingHeader/index.js +94 -0
- package/es/modules/meeting/components/MeetingHeader/index.js.map +1 -0
- package/es/modules/meeting/components/MeetingHeader/index.less +26 -0
- package/es/modules/meeting/components/MeetingItem/index.d.ts +0 -1
- package/es/modules/meeting/components/MeetingItem/index.js +7 -54
- package/es/modules/meeting/components/MeetingItem/index.js.map +1 -1
- package/es/modules/meeting/components/MeetingItem/index.less +7 -81
- package/es/modules/meeting/components/MeetingQuickViewDialog/index.d.ts +7 -0
- package/es/modules/meeting/components/MeetingQuickViewDialog/index.js +11 -0
- package/es/modules/meeting/components/MeetingQuickViewDialog/index.js.map +1 -0
- package/es/modules/meeting/components/MeetingQuickViewDialog/index.less +0 -0
- package/es/modules/meeting/pages/MeetingList/index.js +40 -0
- package/es/modules/meeting/pages/MeetingList/index.js.map +1 -0
- package/es/modules/meeting/{components → pages}/MeetingList/state.d.ts +2 -0
- package/es/modules/meeting/{components → pages}/MeetingList/state.js +4 -0
- package/es/modules/meeting/pages/MeetingList/state.js.map +1 -0
- package/es/modules/meeting/pages/MeetingTabView/index.js +25 -37
- package/es/modules/meeting/pages/MeetingTabView/index.js.map +1 -1
- package/es/modules/meeting/pages/MeetingTabView/index.less +4 -0
- package/es/modules/tasks/TasksRoutes.d.ts +0 -6
- package/es/modules/tasks/TasksRoutes.js +3 -11
- package/es/modules/tasks/TasksRoutes.js.map +1 -1
- package/es/modules/tasks/components/SubTaskList/index.js +28 -9
- package/es/modules/tasks/components/SubTaskList/index.js.map +1 -1
- package/es/modules/tasks/components/SubTaskList/index.less +3 -67
- package/es/modules/tasks/components/TaskDescription/index.d.ts +6 -0
- package/es/modules/tasks/components/TaskDescription/index.js +33 -0
- package/es/modules/tasks/components/TaskDescription/index.js.map +1 -0
- package/es/modules/tasks/components/TaskDescription/index.less +11 -0
- package/es/modules/tasks/components/TaskDetail/index.js +20 -56
- package/es/modules/tasks/components/TaskDetail/index.js.map +1 -1
- package/es/modules/tasks/components/TaskHeader/index.d.ts +10 -0
- package/es/modules/tasks/components/TaskHeader/index.js +46 -0
- package/es/modules/tasks/components/TaskHeader/index.js.map +1 -0
- package/es/modules/tasks/components/TaskHeader/index.less +6 -0
- package/es/modules/tasks/components/TaskItem/TaskItem.js +94 -48
- package/es/modules/tasks/components/TaskItem/TaskItem.js.map +1 -1
- package/es/modules/tasks/components/TaskItem/index.less +6 -2
- package/es/modules/tasks/components/TaskItem/state.d.ts +2 -0
- package/es/modules/tasks/components/TaskItem/state.js +8 -0
- package/es/modules/tasks/components/TaskItem/state.js.map +1 -1
- package/es/modules/tasks/components/TaskQuickViewDialog/index.d.ts +7 -0
- package/es/modules/tasks/components/TaskQuickViewDialog/index.js +11 -0
- package/es/modules/tasks/components/TaskQuickViewDialog/index.js.map +1 -0
- package/es/modules/tasks/components/TaskQuickViewDialog/index.less +7 -0
- package/es/modules/tasks/pages/TaskList/index.js +75 -0
- package/es/modules/tasks/pages/TaskList/index.js.map +1 -0
- package/es/modules/tasks/{components → pages}/TaskList/state.d.ts +2 -1
- package/es/modules/tasks/pages/TaskList/state.js.map +1 -0
- package/es/modules/tasks/pages/TaskTabView/index.js +34 -29
- package/es/modules/tasks/pages/TaskTabView/index.js.map +1 -1
- package/es/modules/tasks/pages/TaskTabView/index.less +3 -3
- package/es/modules/tasks/pages/TaskTabView/state.d.ts +0 -1
- package/es/modules/tasks/pages/TaskTabView/state.js +0 -4
- package/es/modules/tasks/pages/TaskTabView/state.js.map +1 -1
- package/package.json +14 -10
- package/es/modules/BoardView/components/AddBoard/index.d.ts +0 -3
- package/es/modules/BoardView/components/AddBoard/index.js +0 -24
- package/es/modules/BoardView/components/AddBoard/index.js.map +0 -1
- package/es/modules/BoardView/components/AddBoard/index.less +0 -48
- package/es/modules/meeting/components/MeetingList/index.js +0 -36
- package/es/modules/meeting/components/MeetingList/index.js.map +0 -1
- package/es/modules/meeting/components/MeetingList/state.js.map +0 -1
- package/es/modules/meeting/pages/MeetingListView/index.d.ts +0 -3
- package/es/modules/meeting/pages/MeetingListView/index.js +0 -8
- package/es/modules/meeting/pages/MeetingListView/index.js.map +0 -1
- package/es/modules/tasks/components/TaskList/index.js +0 -76
- package/es/modules/tasks/components/TaskList/index.js.map +0 -1
- package/es/modules/tasks/components/TaskList/state.js.map +0 -1
- package/es/modules/tasks/pages/TaskDefaultView/index.d.ts +0 -3
- package/es/modules/tasks/pages/TaskDefaultView/index.js +0 -63
- package/es/modules/tasks/pages/TaskDefaultView/index.js.map +0 -1
- package/es/modules/tasks/pages/TaskListView/index.d.ts +0 -3
- package/es/modules/tasks/pages/TaskListView/index.js +0 -9
- package/es/modules/tasks/pages/TaskListView/index.js.map +0 -1
- /package/es/modules/meeting/{components → pages}/MeetingList/index.d.ts +0 -0
- /package/es/modules/tasks/{components → pages}/TaskList/index.d.ts +0 -0
- /package/es/modules/tasks/{components → pages}/TaskList/state.js +0 -0
@@ -1,46 +1,40 @@
|
|
1
1
|
import React, { useContext, useEffect, useState } from "react";
|
2
|
-
import {
|
2
|
+
import { Icon, Skeleton, Tabs } from "@voplus/antd";
|
3
3
|
import Comment from "@voplus/morpho-collaboration/es/components/Comment";
|
4
4
|
import DocumentList from "@voplus/morpho-document/es/components/DocumentList";
|
5
5
|
import AsideContent from "@voplus/morpho-ui/es/components/layout/AsideContent";
|
6
6
|
import RichTextEditor from "@voplus/morpho-ui/es/controls/RichTextEditor";
|
7
7
|
import { useObserver } from "mobx-react-lite";
|
8
8
|
import ActivityLog from "../../../../components/ActivityLog";
|
9
|
-
import
|
10
|
-
import { useLayout, useTabItem } from "@voplus/morpho-data";
|
9
|
+
import { useTabItem } from "@voplus/morpho-data";
|
11
10
|
import { __RouterContext } from "react-router";
|
12
11
|
import { useMeeting, useMeetingStore } from "../../../../data/meeting";
|
13
12
|
import "../../../../styles/common.less";
|
14
13
|
import AgendaList from "../../components/AgendaList";
|
15
|
-
import
|
14
|
+
import MeetingHeader from "../../components/MeetingHeader";
|
16
15
|
import styles from "./index.less";
|
17
|
-
import { useDocumentStore } from "@voplus/morpho-document";
|
18
16
|
const MeetingTabView = () => {
|
19
17
|
const { match } = useContext(__RouterContext);
|
20
18
|
const id = match.params.id;
|
21
|
-
const
|
19
|
+
const [reload, setReload] = useState(true);
|
20
|
+
const meeting = useMeeting(id, { reload: reload });
|
22
21
|
const readonly = meeting.status === "Readonly";
|
23
22
|
const tab = useTabItem();
|
24
23
|
tab.title = "Meeting Detail";
|
25
24
|
const meetingStore = useMeetingStore();
|
26
|
-
const documentStore = useDocumentStore();
|
27
|
-
const [scrollParentRef, setScrollParentRef] = useState();
|
28
25
|
const [asideContext] = useState(AsideContent.createContext());
|
29
|
-
const
|
26
|
+
const onReLoad = () => {
|
27
|
+
setReload(!reload);
|
28
|
+
};
|
30
29
|
useEffect(() => {
|
31
30
|
asideContext.openAside(AsideElement, { span: 12 });
|
32
31
|
}, []);
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
documentStore.edit(id, { Status: "Readonly" });
|
40
|
-
};
|
41
|
-
const onUnlock = () => {
|
42
|
-
documentStore.edit(id, { Status: "Normal" });
|
43
|
-
};
|
32
|
+
useObserver(() => {
|
33
|
+
useEffect(() => {
|
34
|
+
if (!reload)
|
35
|
+
setReload(true);
|
36
|
+
}, [reload]);
|
37
|
+
});
|
44
38
|
const AsideElement = (React.createElement("div", { className: "module-tab-view_aside" },
|
45
39
|
React.createElement(Tabs, { defaultActiveKey: "1" },
|
46
40
|
React.createElement(Tabs.TabPane, { tab: "Documents", key: "1" },
|
@@ -50,23 +44,17 @@ const MeetingTabView = () => {
|
|
50
44
|
React.createElement(Tabs.TabPane, { tab: "Activities", key: "3" },
|
51
45
|
React.createElement("div", { className: "module-box" },
|
52
46
|
React.createElement(ActivityLog, { showHeader: false }))))));
|
53
|
-
return useObserver(() => (React.createElement("div", { className: "module-tab-view" },
|
54
|
-
React.createElement(
|
55
|
-
React.createElement("div", { className:
|
56
|
-
React.createElement(
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
React.createElement("div", { className: "margin-top-10" },
|
65
|
-
React.createElement(Button, { size: "small" }, "+tag")))),
|
66
|
-
React.createElement(RichTextEditor, { readOnly: readonly, editable: false, content: meeting.description, placeholder: React.createElement("span", null,
|
67
|
-
React.createElement(Icon, { type: "edit" }),
|
68
|
-
"Add Description"), onSave: v => meetingStore.edit(id, { Description: v }) }))),
|
69
|
-
React.createElement(AgendaList, { preview: true, readOnly: readonly, parentId: id }))))));
|
47
|
+
return useObserver(() => (React.createElement("div", { className: "module-tab-view" }, reload && (React.createElement(AsideContent, { context: asideContext },
|
48
|
+
React.createElement("div", { className: styles["meeting-tab-view"] },
|
49
|
+
React.createElement("div", { className: "meeting-tab-view_header" },
|
50
|
+
React.createElement(MeetingHeader, { id: id, onReLoad: onReLoad, onExpand: () => asideContext.asideContent
|
51
|
+
? asideContext.closeAside()
|
52
|
+
: asideContext.openAside(AsideElement, { span: 12 }) }),
|
53
|
+
React.createElement(Skeleton, { loading: !meeting.loaded },
|
54
|
+
React.createElement(RichTextEditor, { readOnly: readonly, editable: false, content: meeting.description || "", placeholder: React.createElement("span", null,
|
55
|
+
React.createElement(Icon, { type: "edit" }),
|
56
|
+
"Add Description"), onSave: v => meetingStore.edit(id, { Description: v }) }))),
|
57
|
+
React.createElement(AgendaList, { preview: true, readOnly: readonly, parentId: id })))))));
|
70
58
|
};
|
71
59
|
export default MeetingTabView;
|
72
60
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/meeting/pages/MeetingTabView/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE/D,OAAO,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/meeting/pages/MeetingTabView/index.tsx"],"names":[],"mappings":"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"}
|
@@ -12,12 +12,6 @@ declare const Routes: {
|
|
12
12
|
getUrl: (id: string) => string;
|
13
13
|
component: () => JSX.Element;
|
14
14
|
};
|
15
|
-
Tab: {
|
16
|
-
route: string;
|
17
|
-
tabPattern: RegExp;
|
18
|
-
getUrl: (id: string) => string;
|
19
|
-
component: () => JSX.Element;
|
20
|
-
};
|
21
15
|
addRoutes: () => void;
|
22
16
|
};
|
23
17
|
export default Routes;
|
@@ -1,21 +1,19 @@
|
|
1
1
|
import React from "react";
|
2
2
|
import { Route, Switch } from "react-router";
|
3
3
|
import { BaseRoutes } from "@voplus/morpho-data";
|
4
|
-
import
|
5
|
-
import TaskListView from "./pages/TaskListView";
|
4
|
+
import TaskList from "./pages/TaskList";
|
6
5
|
import TaskTabView from "./pages/TaskTabView";
|
7
6
|
const TaskRoutes = () => {
|
8
7
|
return (React.createElement(Switch, null,
|
9
8
|
React.createElement(Route, { path: Routes.TaskList.route, exact: true, component: Routes.TaskList.component }),
|
10
|
-
React.createElement(Route, { path: Routes.Task.route, exact: true, component: Routes.Task.component })
|
11
|
-
React.createElement(Route, { path: Routes.Tab.route, exact: true, component: Routes.Tab.component })));
|
9
|
+
React.createElement(Route, { path: Routes.Task.route, exact: true, component: Routes.Task.component })));
|
12
10
|
};
|
13
11
|
const Routes = {
|
14
12
|
TaskList: {
|
15
13
|
route: "/tasks",
|
16
14
|
tabPattern: RegExp("/tasks"),
|
17
15
|
getUrl: () => `/tasks`,
|
18
|
-
component:
|
16
|
+
component: TaskList
|
19
17
|
},
|
20
18
|
Task: {
|
21
19
|
route: "/tasks/:id",
|
@@ -23,12 +21,6 @@ const Routes = {
|
|
23
21
|
getUrl: (id) => `/tasks/${id}`,
|
24
22
|
component: TaskTabView
|
25
23
|
},
|
26
|
-
Tab: {
|
27
|
-
route: "/tasks/tab/:id",
|
28
|
-
tabPattern: RegExp("/tasks/tab/[^/]+"),
|
29
|
-
getUrl: (id) => `/tasks/tab/${id}`,
|
30
|
-
component: TaskDefaultView
|
31
|
-
},
|
32
24
|
addRoutes: () => {
|
33
25
|
BaseRoutes.routes.push({
|
34
26
|
name: "task",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"TasksRoutes.js","sourceRoot":"","sources":["../../../src/modules/tasks/TasksRoutes.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,
|
1
|
+
{"version":3,"file":"TasksRoutes.js","sourceRoot":"","sources":["../../../src/modules/tasks/TasksRoutes.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAE9C,MAAM,UAAU,GAAG,GAAG,EAAE;IACvB,OAAO,CACN,oBAAC,MAAM;QACN,oBAAC,KAAK,IAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,GAAI;QACzF,oBAAC,KAAK,IAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,GAAI,CACzE,CACT,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG;IACd,QAAQ,EAAE;QACT,KAAK,EAAE,QAAQ;QACf,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC5B,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ;QACtB,SAAS,EAAE,QAAQ;KACnB;IACD,IAAI,EAAE;QACL,KAAK,EAAE,YAAY;QACnB,UAAU,EAAE,MAAM,CAAC,cAAc,CAAC;QAClC,MAAM,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE;QACtC,SAAS,EAAE,WAAW;KACtB;IAED,SAAS,EAAE,GAAG,EAAE;QACf,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;YACtB,IAAI,EAAE,MAAM;YACZ,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;YACtC,SAAS,EAAE,oBAAC,UAAU,OAAG;SACzB,CAAC,CAAC;QACH,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;YACtB,IAAI,EAAE,WAAW;YACjB,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU;YAC1C,SAAS,EAAE,oBAAC,UAAU,OAAG;SACzB,CAAC,CAAC;IACJ,CAAC;CACD,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
@@ -1,13 +1,9 @@
|
|
1
1
|
import classnames from "classnames";
|
2
2
|
import React, { useEffect, useRef, useState } from "react";
|
3
|
-
import
|
4
|
-
// import PageListView from "@voplus/morpho-ui/es/controls/PageListView";
|
5
|
-
import PageListView from "../../../../components/PageListView";
|
6
|
-
import SortViewDropdown from "../../../../controls/SortViewDropdown";
|
3
|
+
import { ListView } from "@voplus/morpho-ui";
|
7
4
|
import TaskItem from "../TaskItem";
|
8
5
|
import "./index.less";
|
9
6
|
import { FileStore } from "@voplus/morpho-document/es/data/FileStore/FileContext";
|
10
|
-
import FilterListDropdown from "@voplus/morpho-ui/es/components/layout/ListView/controls/FilterListDropdown";
|
11
7
|
import { toJS } from "mobx";
|
12
8
|
import { useObserver } from "mobx-react-lite";
|
13
9
|
import { useTaskListEffect, useTaskStore } from "../../../../data/task";
|
@@ -45,6 +41,9 @@ const SubTaskList = (props) => {
|
|
45
41
|
state.loading = true;
|
46
42
|
state.page = state.page + 1;
|
47
43
|
};
|
44
|
+
const onMove = (ids) => {
|
45
|
+
store.onMove(ids);
|
46
|
+
};
|
48
47
|
const onSort = async (value) => {
|
49
48
|
reset();
|
50
49
|
state.data = value;
|
@@ -70,7 +69,7 @@ const SubTaskList = (props) => {
|
|
70
69
|
state.page = 1;
|
71
70
|
state.tasks = [];
|
72
71
|
state.loading = true;
|
73
|
-
ref.current
|
72
|
+
// ref.current!.reset();
|
74
73
|
};
|
75
74
|
const scrollParentRef = useRef();
|
76
75
|
const ref = useRef();
|
@@ -81,9 +80,29 @@ const SubTaskList = (props) => {
|
|
81
80
|
}, [props.parentId]);
|
82
81
|
return useObserver(() => (React.createElement(React.Fragment, null,
|
83
82
|
React.createElement("div", { className: classnames("sub-task-list", props.className) },
|
84
|
-
!state.showMore && (React.createElement(
|
85
|
-
|
86
|
-
|
83
|
+
!state.showMore && (React.createElement(ListView
|
84
|
+
// ref={ref}
|
85
|
+
, {
|
86
|
+
// ref={ref}
|
87
|
+
renderId: props.parentId, addAble: !readonly, subTitle: "Sub-Tasks", showMultiple: true, data: state.tasks, page: state.page, loading: state.loading, loadMore: loadMore, onDelete: onDelete, onMove: onMove, onSort: onSort, onFilter: onFilter, onAdd: () => (state.addAble = true), moveAfter: moveAfter, renderItem: ({ item, index, connectDragSource, multiple }) => (React.createElement(TaskItem, { type: "sub", id: item.id, index: index, connectDragSource: connectDragSource, multiple: multiple, readonly: readonly })) })
|
88
|
+
/* {(list: any[], multiple: boolean) => (
|
89
|
+
<SortDnD
|
90
|
+
list={list}
|
91
|
+
moveAfter={moveAfter}
|
92
|
+
text={(task: any, index: number, connectDragSource: any) => (
|
93
|
+
<TaskItem
|
94
|
+
type="sub"
|
95
|
+
id={task.id}
|
96
|
+
index={index}
|
97
|
+
connectDragSource={connectDragSource}
|
98
|
+
multiple={multiple}
|
99
|
+
readonly={readonly}
|
100
|
+
/>
|
101
|
+
)}
|
102
|
+
/>
|
103
|
+
)}
|
104
|
+
</ListView> */
|
105
|
+
),
|
87
106
|
state.addAble && (React.createElement(NewTaskForm, { simple: true, parentId: props.parentId, block: true, onSave: onCancel, onCancel: onCancel, onShowMore: () => (state.showMore = !state.showMore) }))))));
|
88
107
|
};
|
89
108
|
SubTaskList.defaultProps = {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tasks/components/SubTaskList/index.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tasks/components/SubTaskList/index.tsx"],"names":[],"mappings":"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"}
|
@@ -5,74 +5,10 @@
|
|
5
5
|
display: flex;
|
6
6
|
flex-direction: column;
|
7
7
|
height: 100%;
|
8
|
-
.
|
9
|
-
position: relative;
|
10
|
-
display: flex;
|
11
|
-
justify-content: space-between;
|
12
|
-
align-items: center;
|
13
|
-
// padding: 2px 0 10px 0;
|
14
|
-
padding: 10px 0;
|
15
|
-
margin: 0 20px;
|
16
|
-
color: #000;
|
8
|
+
.multiple-icon-text {
|
17
9
|
font-size: 15px;
|
18
|
-
font-weight:
|
19
|
-
|
20
|
-
.multiple-icon-text {
|
21
|
-
cursor: pointer;
|
22
|
-
.ant-btn {
|
23
|
-
padding: 0 10px 0 0;
|
24
|
-
font-size: 16px;
|
25
|
-
}
|
26
|
-
}
|
27
|
-
.select-operate-btn {
|
28
|
-
.ant-btn {
|
29
|
-
padding: 0 10px;
|
30
|
-
font-style: italic;
|
31
|
-
}
|
32
|
-
.del-btn {
|
33
|
-
color: #ff4d4f;
|
34
|
-
&:hover {
|
35
|
-
color: #ff7875;
|
36
|
-
}
|
37
|
-
}
|
38
|
-
.cancel-btn {
|
39
|
-
color: #666;
|
40
|
-
&:hover {
|
41
|
-
color: @primary-color;
|
42
|
-
}
|
43
|
-
}
|
44
|
-
}
|
45
|
-
.operate-icon span {
|
46
|
-
margin-left: 10px;
|
47
|
-
cursor: pointer;
|
48
|
-
}
|
49
|
-
.plus-icon {
|
50
|
-
display: inline-block;
|
51
|
-
padding: 4px;
|
52
|
-
font-size: 13px;
|
53
|
-
line-height: 1px;
|
54
|
-
background: #1abc9c;
|
55
|
-
cursor: pointer;
|
56
|
-
}
|
57
|
-
}
|
58
|
-
.sub-task-list_header:after {
|
59
|
-
position: absolute;
|
60
|
-
content: "";
|
61
|
-
left: 0;
|
62
|
-
bottom: 0;
|
63
|
-
right: 0;
|
64
|
-
border-bottom: 1px solid @border-color-base;
|
65
|
-
}
|
66
|
-
.sub-task-list_page {
|
67
|
-
flex: 1;
|
68
|
-
// overflow-x: hidden;
|
69
|
-
padding: 10px 0 20px 0;
|
70
|
-
.task-row-item {
|
71
|
-
padding: 0 20px;
|
72
|
-
}
|
73
|
-
.select-checkbox {
|
74
|
-
padding: 5px 10px 0 0;
|
75
|
-
}
|
10
|
+
font-weight: 600;
|
11
|
+
color: #000;
|
76
12
|
}
|
77
13
|
}
|
78
14
|
}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import { faEdit } from "@fortawesome/pro-light-svg-icons";
|
2
|
+
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
3
|
+
import { Skeleton } from "@voplus/antd";
|
4
|
+
import RichTextEditor from "@voplus/morpho-ui/es/controls/RichTextEditor";
|
5
|
+
import { useObserver } from "mobx-react-lite";
|
6
|
+
import React, { useEffect, useState } from "react";
|
7
|
+
import { useTaskStore } from "../../../../data/task";
|
8
|
+
import { useTask } from "../../../../data/task/hooks";
|
9
|
+
import SubTaskList from "../SubTaskList";
|
10
|
+
import styles from "./index.less";
|
11
|
+
const TaskDescription = (props) => {
|
12
|
+
const tasks = useTaskStore();
|
13
|
+
const id = props.id;
|
14
|
+
useEffect(() => {
|
15
|
+
task.loaded = false;
|
16
|
+
}, [id]);
|
17
|
+
useEffect(() => {
|
18
|
+
setReload(props.readonly ? true : false);
|
19
|
+
}, [props.readonly]);
|
20
|
+
const [reload, setReload] = useState(false);
|
21
|
+
const task = useTask(id, { reload: reload });
|
22
|
+
const readonly = task.status === "Readonly" ? true : false;
|
23
|
+
const [scrollParentRef, setScrollParentRef] = useState();
|
24
|
+
return useObserver(() => (React.createElement("div", { className: styles["sub-task-tab-view"], ref: ref => setScrollParentRef(ref) },
|
25
|
+
React.createElement("div", { className: "task-description" },
|
26
|
+
React.createElement(Skeleton, { loading: !task.loaded, active: true },
|
27
|
+
React.createElement(RichTextEditor, { readOnly: readonly, editable: false, defaultValue: id, content: task.description || "", placeholder: readonly ? ("No description") : (React.createElement("span", null,
|
28
|
+
React.createElement(FAIcon, { icon: faEdit }),
|
29
|
+
"Add Description")), onSave: v => tasks.edit(task.id, { Description: v }) }))),
|
30
|
+
React.createElement(SubTaskList, { parentId: id, readonly: readonly, scrollParentRef: scrollParentRef }))));
|
31
|
+
};
|
32
|
+
export default TaskDescription;
|
33
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tasks/components/TaskDescription/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,cAAc,MAAM,8CAA8C,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,WAAW,MAAM,gBAAgB,CAAC;AACzC,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,MAAM,eAAe,GAAG,CAAC,KAAyC,EAAE,EAAE;IACrE,MAAM,KAAK,GAAG,YAAa,EAAE,CAAC;IAC9B,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IACpB,SAAU,CAAC,GAAG,EAAE;QACf,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACrB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACT,SAAS,CAAC,GAAG,EAAE;QACd,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,EAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,EAAE,CAAC;IAEzD,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,6BAAK,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC;QAC/E,6BAAK,SAAS,EAAC,kBAAkB;YAChC,oBAAC,QAAQ,IAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM;gBACtC,oBAAC,cAAc,IACd,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,KAAK,EACf,YAAY,EAAE,EAAE,EAChB,OAAO,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,EAC/B,WAAW,EACV,QAAQ,CAAC,CAAC,CAAC,CACV,gBAAgB,CAChB,CAAC,CAAC,CAAC,CACH;wBACC,oBAAC,MAAM,IAAC,IAAI,EAAE,MAAM,GAAI;0CAElB,CACP,EAEF,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,GACnD,CACQ,CACN;QACN,oBAAC,WAAW,IAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,GAAI,CAC9E,CACN,CAAC,CAAC;AACJ,CAAC,CAAC;AACF,eAAe,eAAe,CAAC"}
|
@@ -1,75 +1,39 @@
|
|
1
|
-
import
|
2
|
-
import { faEdit } from "@fortawesome/pro-light-svg-icons";
|
3
|
-
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
4
|
-
import { Button, Row, Skeleton, Tabs } from "@voplus/antd";
|
1
|
+
import { Spin, Tabs } from "@voplus/antd";
|
5
2
|
import Comment from "@voplus/morpho-collaboration/es/components/Comment";
|
6
|
-
import { useDocumentStore } from "@voplus/morpho-document";
|
7
3
|
import DocumentList from "@voplus/morpho-document/es/components/DocumentList";
|
8
|
-
import ActivityLog from "../../../../components/ActivityLog";
|
9
|
-
import ToolBar from "../../../../components/ToolBar";
|
10
|
-
import SubTaskList from "../SubTaskList";
|
11
|
-
import TaskItem from "../TaskItem";
|
12
|
-
import { useAsideContentContext } from "@voplus/morpho-ui/es/components/layout/AsideContent";
|
13
4
|
import { useObserver } from "mobx-react-lite";
|
14
|
-
import {
|
5
|
+
import React, { useEffect, useState } from "react";
|
6
|
+
import ActivityLog from "../../../../components/ActivityLog";
|
15
7
|
import { useTask } from "../../../../data/task/hooks";
|
16
|
-
|
17
|
-
import
|
18
|
-
import RichTextEditor from "@voplus/morpho-ui/es/controls/RichTextEditor";
|
19
|
-
import styles from "./index.less";
|
20
|
-
// id of the task
|
8
|
+
import TaskDescription from "../TaskDescription";
|
9
|
+
import TaskHeader from "../TaskHeader";
|
21
10
|
const TaskDetail = (props) => {
|
22
|
-
// const { match } = useContext(__RouterContext) as {
|
23
|
-
// match: match<any>;
|
24
|
-
// };
|
25
|
-
const tasks = useTaskStore();
|
26
|
-
const documents = useDocumentStore();
|
27
11
|
const id = props.id;
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
const
|
32
|
-
|
33
|
-
const readonly = task.status === "Readonly" ? true : false;
|
34
|
-
const [scrollParentRef, setScrollParentRef] = useState();
|
35
|
-
const asideContext = useAsideContentContext();
|
36
|
-
const onItemDelete = async () => {
|
37
|
-
await tasks.delete([id], { DeleteChilds: true });
|
38
|
-
asideContext.closeAside();
|
39
|
-
};
|
40
|
-
const onMove = () => {
|
41
|
-
store.onMove([id]);
|
12
|
+
const [reload, setReload] = useState(true);
|
13
|
+
const task = useTask(id, { reload: reload });
|
14
|
+
const [readonly, setReadonly] = useState();
|
15
|
+
const onChangeReadonly = (newReadonly) => {
|
16
|
+
setReadonly(newReadonly);
|
42
17
|
};
|
43
|
-
const
|
44
|
-
|
18
|
+
const onReLoad = () => {
|
19
|
+
setReload(!reload);
|
45
20
|
};
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
React.createElement(TaskItem, { type: "detail", id: task.id }),
|
53
|
-
React.createElement("div", { className: styles["task-tool-bar"] },
|
54
|
-
React.createElement(ToolBar, { id: id, size: "small", timer: true, url: `/tasks/${id}`, del: !readonly, move: !readonly, lock: task.status === "Draft" || task.status === "Normal", unlock: task.status === "Readonly", onDelete: onItemDelete, onMove: onMove, onPaste: () => store.onPaste(() => tasks.move(store.moveIds, task.id)), onLock: onLock, onUnlock: onUnlock }),
|
55
|
-
React.createElement("div", { className: "margin-top-10" },
|
56
|
-
React.createElement(Button, { size: "small" }, "+tag"))))),
|
21
|
+
useEffect(() => {
|
22
|
+
if (!reload && task.loaded)
|
23
|
+
setReload(true);
|
24
|
+
}, [reload]);
|
25
|
+
return useObserver(() => reload ? (React.createElement("div", { className: "module-detail-view" },
|
26
|
+
React.createElement(TaskHeader, { id: id, onChangeReadonly: onChangeReadonly, onReLoad: onReLoad }),
|
57
27
|
React.createElement(Tabs, { defaultActiveKey: "Details" },
|
58
28
|
React.createElement(Tabs.TabPane, { tab: "Details", key: "Details" },
|
59
|
-
React.createElement(
|
60
|
-
React.createElement("div", { className: "task-description" },
|
61
|
-
React.createElement(Skeleton, { loading: !task.loaded, active: true },
|
62
|
-
React.createElement(RichTextEditor, { readOnly: readonly, editable: false, defaultValue: id, content: task.description || "", placeholder: readonly ? ("No description") : (React.createElement("span", null,
|
63
|
-
React.createElement(FAIcon, { icon: faEdit }),
|
64
|
-
"Add Description")), onSave: v => tasks.edit(task.id, { Description: v }) }))),
|
65
|
-
React.createElement(SubTaskList, { parentId: id, readonly: readonly, scrollParentRef: scrollParentRef }))),
|
29
|
+
React.createElement(TaskDescription, { id: id, readonly: readonly })),
|
66
30
|
React.createElement(Tabs.TabPane, { tab: "Documents", key: "Documents" },
|
67
31
|
React.createElement(DocumentList, { id: id })),
|
68
32
|
React.createElement(Tabs.TabPane, { tab: "Comments", key: "Comments" },
|
69
33
|
React.createElement(Comment, { channelId: task.channelId })),
|
70
34
|
React.createElement(Tabs.TabPane, { tab: "Activities", key: "Activities" },
|
71
35
|
React.createElement("div", { className: "module-box" },
|
72
|
-
React.createElement(ActivityLog, null)))))));
|
36
|
+
React.createElement(ActivityLog, null)))))) : (React.createElement(Spin, null)));
|
73
37
|
};
|
74
38
|
export default TaskDetail;
|
75
39
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tasks/components/TaskDetail/index.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tasks/components/TaskDetail/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,OAAO,MAAM,oDAAoD,CAAC;AACzE,OAAO,YAAY,MAAM,oDAAoD,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,WAAW,MAAM,oCAAoC,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,eAAe,MAAM,oBAAoB,CAAC;AACjD,OAAO,UAAU,MAAM,eAAe,CAAC;AAEvC,MAAM,UAAU,GAAG,CAAC,KAAwC,EAAE,EAAE;IAC/D,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IACpB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,EAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAE,CAAC;IAC3C,MAAM,gBAAgB,GAAG,CAAC,WAAoB,EAAE,EAAE;QACjD,WAAW,CAAC,WAAW,CAAC,CAAC;IAC1B,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,GAAG,EAAE;QACrB,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM;YAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,OAAO,WAAW,CAAC,GAAG,EAAE,CACvB,MAAM,CAAC,CAAC,CAAC,CACR,6BAAK,SAAS,EAAC,oBAAoB;QAClC,oBAAC,UAAU,IAAC,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,GAAI;QAE9E,oBAAC,IAAI,IAAC,gBAAgB,EAAC,SAAS;YAC/B,oBAAC,IAAI,CAAC,OAAO,IAAC,GAAG,EAAC,SAAS,EAAC,GAAG,EAAC,SAAS;gBACxC,oBAAC,eAAe,IAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAI,CACjC;YACf,oBAAC,IAAI,CAAC,OAAO,IAAC,GAAG,EAAC,WAAW,EAAC,GAAG,EAAC,WAAW;gBAC5C,oBAAC,YAAY,IAAC,EAAE,EAAE,EAAE,GAAI,CACV;YACf,oBAAC,IAAI,CAAC,OAAO,IAAC,GAAG,EAAC,UAAU,EAAC,GAAG,EAAC,UAAU;gBAC1C,oBAAC,OAAO,IAAC,SAAS,EAAE,IAAI,CAAC,SAAS,GAAI,CACxB;YACf,oBAAC,IAAI,CAAC,OAAO,IAAC,GAAG,EAAC,YAAY,EAAC,GAAG,EAAC,YAAY;gBAC9C,6BAAK,SAAS,EAAC,YAAY;oBAC1B,oBAAC,WAAW,OAAG,CACV,CACQ,CACT,CACF,CACN,CAAC,CAAC,CAAC,CACH,oBAAC,IAAI,OAAG,CACR,CACD,CAAC;AACH,CAAC,CAAC;AACF,eAAe,UAAU,CAAC"}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
import "./index.less";
|
3
|
+
declare const TaskHeader: (props: {
|
4
|
+
id: string;
|
5
|
+
onChangeReadonly?: any;
|
6
|
+
reload?: boolean | undefined;
|
7
|
+
onReLoad?: (() => void) | undefined;
|
8
|
+
onExpand?: (() => void) | undefined;
|
9
|
+
}) => JSX.Element;
|
10
|
+
export default TaskHeader;
|
@@ -0,0 +1,46 @@
|
|
1
|
+
import React, { useState } from "react";
|
2
|
+
import { Skeleton } from "@voplus/antd";
|
3
|
+
import { useDocumentStore } from "@voplus/morpho-document";
|
4
|
+
import ToolBar from "../../../../components/ToolBar";
|
5
|
+
import TaskItem from "../TaskItem";
|
6
|
+
import { useAsideContentContext } from "@voplus/morpho-ui/es/components/layout/AsideContent";
|
7
|
+
import { useObserver } from "mobx-react-lite";
|
8
|
+
import { useTaskStore } from "../../../../data/task";
|
9
|
+
import { useTask } from "../../../../data/task/hooks";
|
10
|
+
import { FileStore } from "@voplus/morpho-document/es/data/FileStore/FileContext";
|
11
|
+
import "./index.less";
|
12
|
+
const TaskHeader = (props) => {
|
13
|
+
const tasks = useTaskStore();
|
14
|
+
const documents = useDocumentStore();
|
15
|
+
const { id, reload, onReLoad, onExpand } = props;
|
16
|
+
// useEffect!(() => {
|
17
|
+
// task.loaded = false;
|
18
|
+
// }, [id]);
|
19
|
+
const [store] = useState(new FileStore());
|
20
|
+
const task = useTask(id, { reload: !!reload });
|
21
|
+
const readonly = task.status === "Readonly" ? true : false;
|
22
|
+
const asideContext = useAsideContentContext();
|
23
|
+
const onItemDelete = async () => {
|
24
|
+
await tasks.delete([id], { DeleteChilds: true });
|
25
|
+
asideContext.closeAside();
|
26
|
+
};
|
27
|
+
const onMove = () => {
|
28
|
+
store.onMove([id]);
|
29
|
+
};
|
30
|
+
const onLock = async () => {
|
31
|
+
await documents.edit(task.id, { Status: "Readonly" });
|
32
|
+
if (props.onChangeReadonly)
|
33
|
+
props.onChangeReadonly(true);
|
34
|
+
};
|
35
|
+
const onUnlock = async () => {
|
36
|
+
await documents.edit(task.id, { Status: "Normal" });
|
37
|
+
if (props.onChangeReadonly)
|
38
|
+
props.onChangeReadonly(false);
|
39
|
+
};
|
40
|
+
return useObserver(() => (React.createElement("div", { className: "task-detail_header" },
|
41
|
+
React.createElement(Skeleton, { loading: !task.loaded, active: true },
|
42
|
+
React.createElement(TaskItem, { type: "detail", id: task.id }),
|
43
|
+
React.createElement(ToolBar, { id: id, reload: true, size: "small", timer: true, url: !!onExpand ? "" : `/tasks/${id}`, expand: !!onExpand, del: !readonly, move: !readonly, lock: task.status === "Draft" || task.status === "Normal", unlock: task.status === "Readonly", onDelete: onItemDelete, onMove: onMove, onPaste: () => store.onPaste(() => tasks.move(store.moveIds, task.id)), onLock: onLock, onUnlock: onUnlock, onReLoad: onReLoad, onExpand: onExpand })))));
|
44
|
+
};
|
45
|
+
export default TaskHeader;
|
46
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tasks/components/TaskHeader/index.tsx"],"names":[],"mappings":"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"}
|