@voplus/morpho-workspace 1.1.0-dev033 → 1.1.0-dev035
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/changelog.md +3 -0
- package/es/modules/board/components/BoardColumn/index.js +1 -1
- package/es/modules/board/components/BoardColumn/index.js.map +1 -1
- package/es/modules/calendar/pages/CalendarMonth/index.js +2 -1
- package/es/modules/calendar/pages/CalendarMonth/index.js.map +1 -1
- package/es/modules/meeting/MeetingRoutes.d.ts +3 -1
- package/es/modules/meeting/components/AgendaList/AgendaItem/index.js +8 -8
- package/es/modules/meeting/components/AgendaList/AgendaItem/index.js.map +1 -1
- package/es/modules/meeting/components/AgendaList/AgendaItem/index.less +4 -2
- package/es/modules/meeting/components/AgendaList/AgendaItem/state.d.ts +2 -0
- package/es/modules/meeting/components/AgendaList/AgendaItem/state.js +5 -0
- package/es/modules/meeting/components/AgendaList/AgendaItem/state.js.map +1 -1
- package/es/modules/meeting/components/MeetingDescription/index.js +5 -12
- package/es/modules/meeting/components/MeetingDescription/index.js.map +1 -1
- package/es/modules/meeting/components/MeetingHeader/index.js +7 -2
- package/es/modules/meeting/components/MeetingHeader/index.js.map +1 -1
- package/es/modules/meeting/pages/MeetingList/index.d.ts +3 -1
- package/es/modules/meeting/pages/MeetingList/index.js +3 -2
- package/es/modules/meeting/pages/MeetingList/index.js.map +1 -1
- package/es/modules/meeting/pages/MeetingPrintView/index.js +2 -3
- package/es/modules/meeting/pages/MeetingPrintView/index.js.map +1 -1
- package/es/modules/meeting/pages/MeetingTabView/index.js +4 -8
- package/es/modules/meeting/pages/MeetingTabView/index.js.map +1 -1
- package/es/modules/tasks/TasksRoutes.d.ts +3 -1
- package/es/modules/tasks/components/NewTaskForm/index.js +1 -1
- package/es/modules/tasks/components/NewTaskForm/index.js.map +1 -1
- package/es/modules/tasks/components/SubTaskList/index.js +6 -1
- package/es/modules/tasks/components/SubTaskList/index.js.map +1 -1
- package/es/modules/tasks/components/TaskDescription/index.js +7 -10
- package/es/modules/tasks/components/TaskDescription/index.js.map +1 -1
- package/es/modules/tasks/components/TaskItem/SubTaskItem.js +17 -8
- package/es/modules/tasks/components/TaskItem/SubTaskItem.js.map +1 -1
- package/es/modules/tasks/components/TaskItem/state.d.ts +2 -0
- package/es/modules/tasks/components/TaskItem/state.js.map +1 -1
- package/es/modules/tasks/components/TaskItem/subTaskItem.less +12 -1
- package/es/modules/tasks/components/TaskPropertiesView/index.js +12 -11
- package/es/modules/tasks/components/TaskPropertiesView/index.js.map +1 -1
- package/es/modules/tasks/components/TaskQuickViewDialog/index.js +6 -2
- package/es/modules/tasks/components/TaskQuickViewDialog/index.js.map +1 -1
- package/es/modules/tasks/pages/TaskList/index.d.ts +3 -1
- package/es/modules/tasks/pages/TaskList/index.js +9 -3
- package/es/modules/tasks/pages/TaskList/index.js.map +1 -1
- package/es/modules/tasks/pages/TaskTabView/index.js +25 -25
- package/es/modules/tasks/pages/TaskTabView/index.js.map +1 -1
- package/es/pages/Project/ProjectDefaultView/index.d.ts +3 -0
- package/es/pages/Project/ProjectDefaultView/index.js +65 -0
- package/es/pages/Project/ProjectDefaultView/index.js.map +1 -0
- package/es/pages/Project/ProjectDefaultView/index.less +22 -0
- package/es/pages/Project/data/ProjectStore.d.ts +10 -0
- package/es/pages/Project/data/ProjectStore.js +16 -0
- package/es/pages/Project/data/ProjectStore.js.map +1 -0
- package/es/pages/Project/data/hook.d.ts +9 -0
- package/es/pages/Project/data/hook.js +20 -0
- package/es/pages/Project/data/hook.js.map +1 -0
- package/es/pages/Project/data/index.d.ts +3 -0
- package/es/pages/Project/data/index.js +4 -0
- package/es/pages/Project/data/index.js.map +1 -0
- package/es/pages/Project/data/interfaces.d.ts +2 -0
- package/es/pages/Project/data/interfaces.js +1 -0
- package/es/pages/Project/data/interfaces.js.map +1 -0
- package/es/pages/Routes.d.ts +23 -0
- package/es/pages/Routes.js +51 -0
- package/es/pages/Routes.js.map +1 -0
- package/es/pages/Space/components/Documents/index.d.ts +6 -0
- package/es/pages/Space/components/Documents/index.js +41 -0
- package/es/pages/Space/components/Documents/index.js.map +1 -0
- package/es/pages/Space/components/Documents/index.less +9 -0
- package/es/pages/Space/components/Notes/index.d.ts +4 -0
- package/es/pages/Space/components/Notes/index.js +26 -0
- package/es/pages/Space/components/Notes/index.js.map +1 -0
- package/es/pages/Space/components/Notes/index.less +0 -0
- package/es/pages/Space/components/Projects/index.d.ts +6 -0
- package/es/pages/Space/components/Projects/index.js +36 -0
- package/es/pages/Space/components/Projects/index.js.map +1 -0
- package/es/pages/Space/components/Projects/index.less +0 -0
- package/es/pages/Space/components/Tasks/index.d.ts +7 -0
- package/es/pages/Space/components/Tasks/index.js +43 -0
- package/es/pages/Space/components/Tasks/index.js.map +1 -0
- package/es/pages/Space/components/Tasks/index.less +17 -0
- package/es/pages/Space/components/TextNoteCard/index.d.ts +6 -0
- package/es/pages/Space/components/TextNoteCard/index.js +22 -0
- package/es/pages/Space/components/TextNoteCard/index.js.map +1 -0
- package/es/pages/Space/components/TextNoteCard/index.less +29 -0
- package/es/pages/Space/components/Works/index.d.ts +6 -0
- package/es/pages/Space/components/Works/index.js +43 -0
- package/es/pages/Space/components/Works/index.js.map +1 -0
- package/es/pages/Space/components/Works/index.less +18 -0
- package/es/pages/Space/pages/MySpace/index.d.ts +4 -0
- package/es/pages/Space/pages/MySpace/index.js +65 -0
- package/es/pages/Space/pages/MySpace/index.js.map +1 -0
- package/es/pages/Space/pages/MySpace/index.less +60 -0
- package/es/pages/Space/pages/MySpace/state.d.ts +9 -0
- package/es/pages/Space/pages/MySpace/state.js +31 -0
- package/es/pages/Space/pages/MySpace/state.js.map +1 -0
- package/es/pages/Work/components/ActionPlan/Item.d.ts +5 -0
- package/es/pages/Work/components/ActionPlan/Item.js +88 -0
- package/es/pages/Work/components/ActionPlan/Item.js.map +1 -0
- package/es/pages/Work/components/ActionPlan/index.d.ts +6 -0
- package/es/pages/Work/components/ActionPlan/index.js +53 -0
- package/es/pages/Work/components/ActionPlan/index.js.map +1 -0
- package/es/pages/Work/components/ActionPlan/index.less +96 -0
- package/es/pages/Work/components/ActionPlan/state.d.ts +15 -0
- package/es/pages/Work/components/ActionPlan/state.js +40 -0
- package/es/pages/Work/components/ActionPlan/state.js.map +1 -0
- package/es/pages/Work/components/ActionType/index.d.ts +15 -0
- package/es/pages/Work/components/ActionType/index.js +32 -0
- package/es/pages/Work/components/ActionType/index.js.map +1 -0
- package/es/pages/Work/components/ActionType/index.less +20 -0
- package/es/pages/Work/components/ScheduleActionForm/index.d.ts +10 -0
- package/es/pages/Work/components/ScheduleActionForm/index.js +50 -0
- package/es/pages/Work/components/ScheduleActionForm/index.js.map +1 -0
- package/es/pages/Work/components/ScheduleActionForm/index.less +15 -0
- package/es/pages/Work/components/WorkCheckList/index.d.ts +5 -0
- package/es/pages/Work/components/WorkCheckList/index.js +38 -0
- package/es/pages/Work/components/WorkCheckList/index.js.map +1 -0
- package/es/pages/Work/components/WorkSummaryCards/WorkActionsCard/index.d.ts +6 -0
- package/es/pages/Work/components/WorkSummaryCards/WorkActionsCard/index.js +28 -0
- package/es/pages/Work/components/WorkSummaryCards/WorkActionsCard/index.js.map +1 -0
- package/es/pages/Work/components/WorkSummaryCards/WorkActionsCard/state.d.ts +4 -0
- package/es/pages/Work/components/WorkSummaryCards/WorkActionsCard/state.js +8 -0
- package/es/pages/Work/components/WorkSummaryCards/WorkActionsCard/state.js.map +1 -0
- package/es/pages/Work/components/WorkSummaryCards/WorkBlockingsCard/index.d.ts +5 -0
- package/es/pages/Work/components/WorkSummaryCards/WorkBlockingsCard/index.js +11 -0
- package/es/pages/Work/components/WorkSummaryCards/WorkBlockingsCard/index.js.map +1 -0
- package/es/pages/Work/components/WorkSummaryCards/WorkDueCard/index.d.ts +5 -0
- package/es/pages/Work/components/WorkSummaryCards/WorkDueCard/index.js +22 -0
- package/es/pages/Work/components/WorkSummaryCards/WorkDueCard/index.js.map +1 -0
- package/es/pages/Work/components/WorkSummaryCards/WorkDueCard/state.d.ts +3 -0
- package/es/pages/Work/components/WorkSummaryCards/WorkDueCard/state.js +8 -0
- package/es/pages/Work/components/WorkSummaryCards/WorkDueCard/state.js.map +1 -0
- package/es/pages/Work/components/WorkSummaryCards/index.d.ts +5 -0
- package/es/pages/Work/components/WorkSummaryCards/index.js +57 -0
- package/es/pages/Work/components/WorkSummaryCards/index.js.map +1 -0
- package/es/pages/Work/components/WorkSummaryCards/index.less +32 -0
- package/es/pages/Work/components/WorkSummaryCards/state.d.ts +8 -0
- package/es/pages/Work/components/WorkSummaryCards/state.js +22 -0
- package/es/pages/Work/components/WorkSummaryCards/state.js.map +1 -0
- package/es/pages/Work/components/WorkTrail/index.d.ts +5 -0
- package/es/pages/Work/components/WorkTrail/index.js +14 -0
- package/es/pages/Work/components/WorkTrail/index.js.map +1 -0
- package/es/pages/Work/components/WorkTrail/index.less +18 -0
- package/es/pages/Work/data/ActionStore.d.ts +65 -0
- package/es/pages/Work/data/ActionStore.js +90 -0
- package/es/pages/Work/data/ActionStore.js.map +1 -0
- package/es/pages/Work/data/WorkContext.d.ts +12 -0
- package/es/pages/Work/data/WorkContext.js +26 -0
- package/es/pages/Work/data/WorkContext.js.map +1 -0
- package/es/pages/Work/data/WorkStore.d.ts +10 -0
- package/es/pages/Work/data/WorkStore.js +16 -0
- package/es/pages/Work/data/WorkStore.js.map +1 -0
- package/es/pages/Work/data/hook.d.ts +8 -0
- package/es/pages/Work/data/hook.js +44 -0
- package/es/pages/Work/data/hook.js.map +1 -0
- package/es/pages/Work/data/index.d.ts +6 -0
- package/es/pages/Work/data/index.js +7 -0
- package/es/pages/Work/data/index.js.map +1 -0
- package/es/pages/Work/data/interfaces.d.ts +36 -0
- package/es/pages/Work/data/interfaces.js +1 -0
- package/es/pages/Work/data/interfaces.js.map +1 -0
- package/es/pages/Work/data/useActionListEffect.d.ts +7 -0
- package/es/pages/Work/data/useActionListEffect.js +15 -0
- package/es/pages/Work/data/useActionListEffect.js.map +1 -0
- package/es/pages/Work/pages/WorkDefaultView/index.d.ts +3 -0
- package/es/pages/Work/pages/WorkDefaultView/index.js +59 -0
- package/es/pages/Work/pages/WorkDefaultView/index.js.map +1 -0
- package/es/pages/Work/pages/WorkDefaultView/index.less +12 -0
- package/es/pages/Work/pages/WorkDefaultView/state.d.ts +4 -0
- package/es/pages/Work/pages/WorkDefaultView/state.js +12 -0
- package/es/pages/Work/pages/WorkDefaultView/state.js.map +1 -0
- package/es/routes.js +2 -0
- package/es/routes.js.map +1 -1
- package/package.json +7 -7
@@ -0,0 +1,9 @@
|
|
1
|
+
import { LoadDocumentListOptions, LoadDocumentOptions } from "@voplus/morpho-document-core";
|
2
|
+
import { IProject } from "./interfaces";
|
3
|
+
import { ListDataContextState } from "@voplus/morpho-ui/es/data";
|
4
|
+
export declare const useProject: (id: string, options?: LoadDocumentOptions | undefined) => import("@voplus/morpho-document-core").IDocument;
|
5
|
+
/** React hook to retrieve a list of tasks
|
6
|
+
* @param effect - Effect callback to be ran after successful retrieved the list.
|
7
|
+
* @param options - Optional task list loading options.
|
8
|
+
*/
|
9
|
+
export declare const useProjectListEffect: (list: ListDataContextState<IProject> | null, effect: (list: IProject[]) => void, options?: LoadDocumentListOptions | undefined) => void;
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { useDocumentListLoaderEffect, useDocumentStore } from "@voplus/morpho-document-core";
|
2
|
+
import { useLoadCountedMapItem } from "@voplus/morpho-data";
|
3
|
+
import { useProjectStore } from "./ProjectStore";
|
4
|
+
export const useProject = (id, options) => {
|
5
|
+
options = options ? options : {};
|
6
|
+
const store = useProjectStore();
|
7
|
+
const documents = useDocumentStore();
|
8
|
+
return useLoadCountedMapItem(id, documents.items, () => store.load(id, options), options);
|
9
|
+
};
|
10
|
+
/** React hook to retrieve a list of tasks
|
11
|
+
* @param effect - Effect callback to be ran after successful retrieved the list.
|
12
|
+
* @param options - Optional task list loading options.
|
13
|
+
*/
|
14
|
+
export const useProjectListEffect = (list, effect, options) => {
|
15
|
+
const deps = options ? options : {};
|
16
|
+
const projects = useProjectStore();
|
17
|
+
// Call useDocumentListEffect and ensure won't load twice for same loading options.
|
18
|
+
return useDocumentListLoaderEffect(list, effect, () => projects.loadList(options), [deps]);
|
19
|
+
};
|
20
|
+
//# sourceMappingURL=hook.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../../src/pages/Project/data/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,2BAA2B,EAC3B,gBAAgB,EAChB,MAAM,8BAA8B,CAAC;AAItC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAU,EAAE,OAA6B,EAAE,EAAE;IACvE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,EAA0B,CAAC;IAC1D,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IAErC,OAAO,qBAAqB,CAAC,EAAE,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;AAC5F,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CACnC,IAA2C,EAC3C,MAAkC,EAClC,OAAiC,EAChC,EAAE;IACH,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,EAA8B,CAAC;IACjE,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IAEnC,mFAAmF;IACnF,OAAO,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5F,CAAC,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/pages/Project/data/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
//# sourceMappingURL=interfaces.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/pages/Project/data/interfaces.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
declare const Routes: {
|
3
|
+
ProjectDefaultView: {
|
4
|
+
route: string;
|
5
|
+
tabPattern: RegExp;
|
6
|
+
getUrl: (id: string) => string;
|
7
|
+
component: () => JSX.Element;
|
8
|
+
};
|
9
|
+
WorkDefaultView: {
|
10
|
+
route: string;
|
11
|
+
tabPattern: RegExp;
|
12
|
+
getUrl: (id: string) => string;
|
13
|
+
component: () => JSX.Element;
|
14
|
+
};
|
15
|
+
MySpace: {
|
16
|
+
route: string;
|
17
|
+
tabPattern: RegExp;
|
18
|
+
getUrl: () => string;
|
19
|
+
component: () => JSX.Element;
|
20
|
+
};
|
21
|
+
addRoutes: () => void;
|
22
|
+
};
|
23
|
+
export default Routes;
|
@@ -0,0 +1,51 @@
|
|
1
|
+
import { Route, Switch } from "react-router";
|
2
|
+
import { BaseRoutes } from "@voplus/morpho-data";
|
3
|
+
import MySpace from "./Space/pages/MySpace";
|
4
|
+
import ProjectDefaultView from "./Project/ProjectDefaultView";
|
5
|
+
import React from "react";
|
6
|
+
import WorkDefaultView from "./Work/pages/WorkDefaultView";
|
7
|
+
const ProjectRoutes = () => {
|
8
|
+
return (React.createElement(Switch, null,
|
9
|
+
React.createElement(Route, { path: Routes.ProjectDefaultView.route, exact: true, component: Routes.ProjectDefaultView.component }),
|
10
|
+
React.createElement(Route, { path: Routes.WorkDefaultView.route, exact: true, component: Routes.WorkDefaultView.component }),
|
11
|
+
React.createElement(Route, { path: Routes.MySpace.route, exact: true, component: Routes.MySpace.component })));
|
12
|
+
};
|
13
|
+
const Routes = {
|
14
|
+
ProjectDefaultView: {
|
15
|
+
route: "/project/:id",
|
16
|
+
tabPattern: RegExp("/project/[^/]+"),
|
17
|
+
getUrl: (id) => `/project/${id}`,
|
18
|
+
component: ProjectDefaultView
|
19
|
+
},
|
20
|
+
WorkDefaultView: {
|
21
|
+
route: "/work/:id",
|
22
|
+
tabPattern: RegExp("/work/[^/]+"),
|
23
|
+
getUrl: (id) => `/work/${id}`,
|
24
|
+
component: WorkDefaultView
|
25
|
+
},
|
26
|
+
MySpace: {
|
27
|
+
route: "/my-space",
|
28
|
+
tabPattern: RegExp("/my-space"),
|
29
|
+
getUrl: () => `/my-space`,
|
30
|
+
component: MySpace
|
31
|
+
},
|
32
|
+
addRoutes: () => {
|
33
|
+
BaseRoutes.routes.push({
|
34
|
+
name: "ProjectDefaultView",
|
35
|
+
tabBasePattern: Routes.ProjectDefaultView.tabPattern,
|
36
|
+
component: React.createElement(ProjectRoutes, null)
|
37
|
+
});
|
38
|
+
BaseRoutes.routes.push({
|
39
|
+
name: "WorkDefaultView",
|
40
|
+
tabBasePattern: Routes.WorkDefaultView.tabPattern,
|
41
|
+
component: React.createElement(ProjectRoutes, null)
|
42
|
+
});
|
43
|
+
BaseRoutes.routes.push({
|
44
|
+
name: "MySpace",
|
45
|
+
tabBasePattern: Routes.MySpace.tabPattern,
|
46
|
+
component: React.createElement(ProjectRoutes, null)
|
47
|
+
});
|
48
|
+
}
|
49
|
+
};
|
50
|
+
export default Routes;
|
51
|
+
//# sourceMappingURL=Routes.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Routes.js","sourceRoot":"","sources":["../../src/pages/Routes.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,kBAAkB,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAE3D,MAAM,aAAa,GAAG,GAAG,EAAE;IAC1B,OAAO,CACN,oBAAC,MAAM;QACN,oBAAC,KAAK,IACL,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,KAAK,EACrC,KAAK,EAAE,IAAI,EACX,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,SAAS,GAC7C;QACF,oBAAC,KAAK,IACL,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,KAAK,EAClC,KAAK,EAAE,IAAI,EACX,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,SAAS,GAC1C;QACF,oBAAC,KAAK,IAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,GAAI,CAC/E,CACT,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG;IACd,kBAAkB,EAAE;QACnB,KAAK,EAAE,cAAc;QACrB,UAAU,EAAE,MAAM,CAAC,gBAAgB,CAAC;QACpC,MAAM,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,YAAY,EAAE,EAAE;QACxC,SAAS,EAAE,kBAAkB;KAC7B;IACD,eAAe,EAAE;QAChB,KAAK,EAAE,WAAW;QAClB,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC;QACjC,MAAM,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE;QACrC,SAAS,EAAE,eAAe;KAC1B;IACD,OAAO,EAAE;QACR,KAAK,EAAE,WAAW;QAClB,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC;QAC/B,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW;QACzB,SAAS,EAAE,OAAO;KAClB;IAED,SAAS,EAAE,GAAG,EAAE;QACf,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;YACtB,IAAI,EAAE,oBAAoB;YAC1B,cAAc,EAAE,MAAM,CAAC,kBAAkB,CAAC,UAAU;YACpD,SAAS,EAAE,oBAAC,aAAa,OAAG;SAC5B,CAAC,CAAC;QACH,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;YACtB,IAAI,EAAE,iBAAiB;YACvB,cAAc,EAAE,MAAM,CAAC,eAAe,CAAC,UAAU;YACjD,SAAS,EAAE,oBAAC,aAAa,OAAG;SAC5B,CAAC,CAAC;QACH,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;YACtB,IAAI,EAAE,SAAS;YACf,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU;YACzC,SAAS,EAAE,oBAAC,aAAa,OAAG;SAC5B,CAAC,CAAC;IACJ,CAAC;CACD,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
import "./index.less";
|
2
|
+
import { useAutoUpdateListData, useDocumentListEffect } from "@voplus/morpho-document-core";
|
3
|
+
import { ListDataContext, useCreateListDataState } from "@voplus/morpho-ui/es/data";
|
4
|
+
import DocumentIcon from "@voplus/morpho-document/es/pages/VSubmit/components/DocumentIcon";
|
5
|
+
import React from "react";
|
6
|
+
import Scrollbars from "react-custom-scrollbars";
|
7
|
+
import { SearchOutlined } from "@ant-design/icons";
|
8
|
+
import SortViewDropdown from "@voplus/morpho-ui/es/components/layout/ListView/controls/SortViewDropdown";
|
9
|
+
import TimeoutInput from "@voplus/morpho-ui/es/controls/TimeoutInput";
|
10
|
+
import { useObserver } from "mobx-react-lite";
|
11
|
+
import { useRenderOnChange } from "@voplus/morpho-ui";
|
12
|
+
const Documents = (props) => {
|
13
|
+
const { id } = props;
|
14
|
+
/** 建立 ListView 和useDocumentListEffect所需的ListDataState. 会根据state.id重建所以不需reset. */
|
15
|
+
const list = useCreateListDataState({
|
16
|
+
filterDefaults: {
|
17
|
+
includes: "tags,path",
|
18
|
+
filters: [{ c: "ParentNodeId", o: "=", l: "And", v1: id }]
|
19
|
+
}
|
20
|
+
}, [id]);
|
21
|
+
/** 如果 list.filters.options变更了就重渲染,使下一行的useDocumentListEffect 可以接收新参数*/
|
22
|
+
useRenderOnChange(() => list.filters.options);
|
23
|
+
/** 把ListDataState传给useDocumentListEffect,使之可以自動更新loading, hasmore. */
|
24
|
+
useDocumentListEffect(list, result => list.union(result), list.filters.options);
|
25
|
+
/** useOnNewDocument, useOnDeleteDocument的sugar syntax 自動更新list. */
|
26
|
+
useAutoUpdateListData(list, d => d.parentId === id);
|
27
|
+
return useObserver(() => (React.createElement("div", { className: "my-space-view_content" },
|
28
|
+
React.createElement("header", null,
|
29
|
+
React.createElement("div", { className: "title" }, "My Documents"),
|
30
|
+
React.createElement("div", null,
|
31
|
+
React.createElement(SortViewDropdown, { onSort: onSort, className: "sort-btn" }),
|
32
|
+
React.createElement(TimeoutInput, { suffix: React.createElement(SearchOutlined, null), allowClear: true, onIdle: e => console.log(e, "e") }))),
|
33
|
+
React.createElement(Scrollbars, { autoHide: true },
|
34
|
+
React.createElement("div", { className: "my-document-view_list" },
|
35
|
+
React.createElement(ListDataContext.Provider, { value: list }, list.data.map(i => (React.createElement(DocumentIcon, { id: i.id, key: i.id })))))))));
|
36
|
+
function onSort(sort) {
|
37
|
+
list.triggerSort(sort);
|
38
|
+
}
|
39
|
+
};
|
40
|
+
export default Documents;
|
41
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/pages/Space/components/Documents/index.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAEtB,OAAO,EAEN,qBAAqB,EACrB,qBAAqB,EACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEpF,OAAO,YAAY,MAAM,kEAAkE,CAAC;AAC5F,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,gBAAgB,MAAM,2EAA2E,CAAC;AACzG,OAAO,YAAY,MAAM,4CAA4C,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,SAAS,GAAG,CAAC,KAAqB,EAAE,EAAE;IAC3C,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;IAErB,kFAAkF;IAClF,MAAM,IAAI,GAAG,sBAAsB,CAClC;QACC,cAAc,EAAE;YACf,QAAQ,EAAE,WAAW;YACrB,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;SAC1D;KACD,EACD,CAAC,EAAE,CAAC,CACJ,CAAC;IAEF,uEAAuE;IACvE,iBAAiB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9C,sEAAsE;IACtE,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhF,mEAAmE;IACnE,qBAAqB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC;IAEpD,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,6BAAK,SAAS,EAAC,uBAAuB;QACrC;YACC,6BAAK,SAAS,EAAC,OAAO,mBAAmB;YACzC;gBACC,oBAAC,gBAAgB,IAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAC,UAAU,GAAG;gBACzD,oBAAC,YAAY,IAAC,MAAM,EAAE,oBAAC,cAAc,OAAG,EAAE,UAAU,QAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAI,CACpF,CACE;QACT,oBAAC,UAAU,IAAC,QAAQ;YACnB,6BAAK,SAAS,EAAC,uBAAuB;gBACrC,oBAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,IAAI,IACnC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACnB,oBAAC,YAAY,IAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAI,CACrC,CAAC,CACwB,CACtB,CACM,CACR,CACN,CAAC,CAAC;IACH,SAAS,MAAM,CAAC,IAAqB;QACpC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import "./index.less";
|
2
|
+
import React from "react";
|
3
|
+
import Scrollbars from "react-custom-scrollbars";
|
4
|
+
import { SearchOutlined } from "@ant-design/icons";
|
5
|
+
import SortViewDropdown from "@voplus/morpho-ui/es/components/layout/ListView/controls/SortViewDropdown";
|
6
|
+
import TextNoteCard from "../TextNoteCard";
|
7
|
+
import TimeoutInput from "@voplus/morpho-ui/es/controls/TimeoutInput";
|
8
|
+
import { useObserver } from "mobx-react-lite";
|
9
|
+
const Notes = () => {
|
10
|
+
return useObserver(() => (React.createElement("div", { className: "my-space-view_content" },
|
11
|
+
React.createElement("header", null,
|
12
|
+
React.createElement("div", { className: "title" }, "My Notes"),
|
13
|
+
React.createElement("div", null,
|
14
|
+
React.createElement(SortViewDropdown, { onSort: onSort, className: "sort-btn" }),
|
15
|
+
React.createElement(TimeoutInput, { suffix: React.createElement(SearchOutlined, null), allowClear: true, onIdle: e => console.log(e, "e") }))),
|
16
|
+
React.createElement(Scrollbars, { autoHide: true },
|
17
|
+
React.createElement("div", { className: "my-space-view_list" },
|
18
|
+
React.createElement(TextNoteCard, { id: "14b8b88d-2cd3-4364-8f7c-ac07006a0093" }),
|
19
|
+
React.createElement(TextNoteCard, { id: "14b8b88d-2cd3-4364-8f7c-ac07006a0093" }))))));
|
20
|
+
function onSort(sort) {
|
21
|
+
console.log(sort, "sort");
|
22
|
+
// list.triggerSort(sort);
|
23
|
+
}
|
24
|
+
};
|
25
|
+
export default Notes;
|
26
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/pages/Space/components/Notes/index.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAEtB,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,gBAAgB,MAAM,2EAA2E,CAAC;AACzG,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,YAAY,MAAM,4CAA4C,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,KAAK,GAAG,GAAG,EAAE;IAClB,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,6BAAK,SAAS,EAAC,uBAAuB;QACrC;YACC,6BAAK,SAAS,EAAC,OAAO,eAAe;YACrC;gBACC,oBAAC,gBAAgB,IAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAC,UAAU,GAAG;gBACzD,oBAAC,YAAY,IAAC,MAAM,EAAE,oBAAC,cAAc,OAAG,EAAE,UAAU,QAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAI,CACpF,CACE;QACT,oBAAC,UAAU,IAAC,QAAQ;YACnB,6BAAK,SAAS,EAAC,oBAAoB;gBAClC,oBAAC,YAAY,IAAC,EAAE,EAAC,sCAAsC,GAAG;gBAC1D,oBAAC,YAAY,IAAC,EAAE,EAAC,sCAAsC,GAAG,CACrD,CACM,CACR,CACN,CAAC,CAAC;IACH,SAAS,MAAM,CAAC,IAAqB;QACpC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1B,0BAA0B;IAC3B,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
File without changes
|
@@ -0,0 +1,36 @@
|
|
1
|
+
import "./index.less";
|
2
|
+
import { ListDataContext, useCreateListDataState } from "@voplus/morpho-ui/es/data";
|
3
|
+
import React from "react";
|
4
|
+
import DocumentCard from "@voplus/morpho-document/es/components/DocumentCard";
|
5
|
+
import Scrollbars from "react-custom-scrollbars";
|
6
|
+
import { SearchOutlined } from "@ant-design/icons";
|
7
|
+
import SortViewDropdown from "@voplus/morpho-ui/es/components/layout/ListView/controls/SortViewDropdown";
|
8
|
+
import TimeoutInput from "@voplus/morpho-ui/es/controls/TimeoutInput";
|
9
|
+
import { useDocumentListEffect } from "@voplus/morpho-document-core";
|
10
|
+
import { useObserver } from "mobx-react-lite";
|
11
|
+
const Projects = (props) => {
|
12
|
+
const { id } = props;
|
13
|
+
const list = useCreateListDataState({
|
14
|
+
filterDefaults: {
|
15
|
+
includes: "tags,task-number-reports",
|
16
|
+
filters: [{ c: "ParentNodeId", o: "=", l: "And", v1: id }]
|
17
|
+
}
|
18
|
+
}, []);
|
19
|
+
useDocumentListEffect(list, result => list.union(result), list.filters.options);
|
20
|
+
// useProjectListEffect(list, result => list.union(result), list.filters.options);
|
21
|
+
return useObserver(() => (React.createElement("div", { className: "my-space-view_content" },
|
22
|
+
React.createElement("header", null,
|
23
|
+
React.createElement("div", { className: "title" }, "My Projects"),
|
24
|
+
React.createElement("div", null,
|
25
|
+
React.createElement("div", null,
|
26
|
+
React.createElement(SortViewDropdown, { onSort: onSort, className: "sort-btn" }),
|
27
|
+
React.createElement(TimeoutInput, { suffix: React.createElement(SearchOutlined, null), allowClear: true, onIdle: e => console.log(e, "e") })))),
|
28
|
+
React.createElement(Scrollbars, { autoHide: true },
|
29
|
+
React.createElement("div", { className: "my-space-view_list" },
|
30
|
+
React.createElement(ListDataContext.Provider, { value: list }, list.data.map(i => (React.createElement(DocumentCard, { id: i.id, key: i.id })))))))));
|
31
|
+
function onSort(sort) {
|
32
|
+
list.triggerSort(sort);
|
33
|
+
}
|
34
|
+
};
|
35
|
+
export default Projects;
|
36
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/pages/Space/components/Projects/index.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAEtB,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,OAAO,YAAY,MAAM,oDAAoD,CAAC;AAE9E,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,gBAAgB,MAAM,2EAA2E,CAAC;AACzG,OAAO,YAAY,MAAM,4CAA4C,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,QAAQ,GAAG,CAAC,KAAqB,EAAE,EAAE;IAC1C,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;IAErB,MAAM,IAAI,GAAG,sBAAsB,CAClC;QACC,cAAc,EAAE;YACf,QAAQ,EAAE,0BAA0B;YACpC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;SAC1D;KACD,EACD,EAAE,CACF,CAAC;IAEF,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAChF,kFAAkF;IAElF,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,6BAAK,SAAS,EAAC,uBAAuB;QACrC;YACC,6BAAK,SAAS,EAAC,OAAO,kBAAkB;YACxC;gBACC;oBACC,oBAAC,gBAAgB,IAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAC,UAAU,GAAG;oBACzD,oBAAC,YAAY,IACZ,MAAM,EAAE,oBAAC,cAAc,OAAG,EAC1B,UAAU,QACV,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAC/B,CACG,CACD,CACE;QACT,oBAAC,UAAU,IAAC,QAAQ;YACnB,6BAAK,SAAS,EAAC,oBAAoB;gBAClC,oBAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,IAAI,IACnC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACnB,oBAAC,YAAY,IAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAI,CACrC,CAAC,CACwB,CACtB,CACM,CACR,CACN,CAAC,CAAC;IACH,SAAS,MAAM,CAAC,IAAqB;QACpC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
File without changes
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import "./index.less";
|
2
|
+
import { ListDataContext, useCreateListDataState } from "@voplus/morpho-ui/es/data";
|
3
|
+
import React, { useEffect } from "react";
|
4
|
+
import { useAutoUpdateListData, useDocumentStore } from "@voplus/morpho-document-core";
|
5
|
+
import DocumentItemFrame from "@voplus/morpho-document/es/controls/DocumentItemFrame";
|
6
|
+
import ListView from "@voplus/morpho-ui/es/components/layout/ListView/ListView2";
|
7
|
+
import NewTaskForm from "../../../../modules/tasks/components/NewTaskForm";
|
8
|
+
import SubTaskItem from "../../../../modules/tasks/components/TaskItem/SubTaskItem";
|
9
|
+
import { useObserver } from "mobx-react-lite";
|
10
|
+
import { useRenderOnChange } from "@voplus/morpho-ui";
|
11
|
+
import { useTaskListEffect } from "../../../../data/task/hooks";
|
12
|
+
const TaskList = (props) => {
|
13
|
+
const documentStore = useDocumentStore();
|
14
|
+
const list = useCreateListDataState({
|
15
|
+
filterDefaults: {
|
16
|
+
includes: "tags,task-number-reports"
|
17
|
+
}
|
18
|
+
}, []);
|
19
|
+
useEffect(() => {
|
20
|
+
if (props.filters)
|
21
|
+
list.clear();
|
22
|
+
}, [props.filters]);
|
23
|
+
list.filters.options.Filters = props.filters || [];
|
24
|
+
/** useOnNewDocument, useOnDeleteDocument的sugar syntax 自動更新list. */
|
25
|
+
useAutoUpdateListData(list, d => d.type === "Task" && !d.parentId);
|
26
|
+
/** 如果 list.filters.options变更了就重渲染,使下一行的useTaskListEffect 可以接收新参数*/
|
27
|
+
useRenderOnChange(() => list.filters.options);
|
28
|
+
/** 把ListDataState传给useTaskListEffect,使之可以自動更新loading, hasmore. */
|
29
|
+
useTaskListEffect(list, result => list.union(result), list.filters.options);
|
30
|
+
return useObserver(() => (React.createElement(ListDataContext.Provider, { value: list },
|
31
|
+
React.createElement(ListView, { headerProps: { viewTitle: "My Tasks" }, formViewTitle: "Add Task", className: "my-space-tasks", formView: React.createElement(NewTaskForm, null), moveAfter: moveAfter, renderItem: ({ item, connectDragSource }) => (React.createElement(React.Fragment, null,
|
32
|
+
React.createElement(DocumentItemFrame, { key: item.id, frameProps: {
|
33
|
+
hoverEffect: "background",
|
34
|
+
hoverBackgroundProps: { color: "#f2f2f2" },
|
35
|
+
style: { border: "none", flex: "1" }
|
36
|
+
} },
|
37
|
+
React.createElement(SubTaskItem, { id: item.id, memberAlign: "block", connectDragSource: connectDragSource })))) }))));
|
38
|
+
async function moveAfter(id, afterId) {
|
39
|
+
await documentStore.moveAfter(id, afterId);
|
40
|
+
}
|
41
|
+
};
|
42
|
+
export default TaskList;
|
43
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/pages/Space/components/Tasks/index.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAEtB,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGvF,OAAO,iBAAiB,MAAM,uDAAuD,CAAC;AAGtF,OAAO,QAAQ,MAAM,2DAA2D,CAAC;AACjF,OAAO,WAAW,MAAM,kDAAkD,CAAC;AAC3E,OAAO,WAAW,MAAM,2DAA2D,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,MAAM,QAAQ,GAAG,CAAC,KAAmC,EAAE,EAAE;IACxD,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IAEzC,MAAM,IAAI,GAAG,sBAAsB,CAClC;QACC,cAAc,EAAE;YACf,QAAQ,EAAE,0BAA0B;SACpC;KACD,EACD,EAAE,CACF,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,KAAK,CAAC,OAAO;YAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAEpB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;IAEnD,mEAAmE;IACnE,qBAAqB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEnE,mEAAmE;IACnE,iBAAiB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9C,kEAAkE;IAClE,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE5E,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,oBAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,IAAI;QACpC,oBAAC,QAAQ,IACR,WAAW,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,EACtC,aAAa,EAAC,UAAU,EACxB,SAAS,EAAC,gBAAgB,EAC1B,QAAQ,EAAE,oBAAC,WAAW,OAAG,EACzB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAO,EAAE,EAAE,CAAC,CACjD,oBAAC,KAAK,CAAC,QAAQ;gBACd,oBAAC,iBAAiB,IACjB,GAAG,EAAE,IAAI,CAAC,EAAE,EACZ,UAAU,EAAE;wBACX,WAAW,EAAE,YAAY;wBACzB,oBAAoB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;wBAC1C,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE;qBACpC;oBAED,oBAAC,WAAW,IAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,EAAC,OAAO,EAAC,iBAAiB,EAAE,iBAAiB,GAAI,CACnE,CACJ,CACjB,GACA,CACwB,CAC3B,CAAC,CAAC;IACH,KAAK,UAAU,SAAS,CAAC,EAAU,EAAE,OAAe;QACnD,MAAM,aAAa,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
:global {
|
2
|
+
.my-space-tasks {
|
3
|
+
background-color: #fff;
|
4
|
+
padding: 0 !important;
|
5
|
+
.sub-task-item {
|
6
|
+
position: relative;
|
7
|
+
&:after {
|
8
|
+
position: absolute;
|
9
|
+
content: "";
|
10
|
+
left: 20px;
|
11
|
+
right: 0;
|
12
|
+
bottom: 0;
|
13
|
+
border-bottom: 1px solid #d9d9d9;
|
14
|
+
}
|
15
|
+
}
|
16
|
+
}
|
17
|
+
}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import "./index.less";
|
2
|
+
import React, { useState } from "react";
|
3
|
+
import Card from "@voplus/morpho-ui/es/controls/Card";
|
4
|
+
import { Open } from "@voplus/morpho-document/es/controls/ToolBar/buttons";
|
5
|
+
import { Skeleton } from "@voplus/antd";
|
6
|
+
import ToolBar from "@voplus/morpho-document/es/controls/ToolBar/ToolBar2";
|
7
|
+
import Viewer from "@voplus/morpho-text/es/controls/ProseMirror/Viewer";
|
8
|
+
import moment from "moment";
|
9
|
+
import { useObserver } from "mobx-react-lite";
|
10
|
+
const TextNoteCard = (props) => {
|
11
|
+
const { id } = props;
|
12
|
+
// const text = useDocument(id);
|
13
|
+
const text = { loading: false, date: "2020-08-03" };
|
14
|
+
const [isHover, setHover] = useState(false);
|
15
|
+
return useObserver(() => (React.createElement(Card, { className: "text-note-card", shadow: true }, text.loading ? (React.createElement(Skeleton, { active: true })) : (React.createElement("div", { className: "document-card-item", onMouseOver: () => setHover(true), onMouseLeave: () => setHover(false) },
|
16
|
+
React.createElement("div", { className: "text-note-card_header" },
|
17
|
+
React.createElement("div", null, moment(text.date).format("D MMM YYYY")),
|
18
|
+
React.createElement(ToolBar, { id: id }, isHover && React.createElement(Open, { url: `/document/${props.id}` }))),
|
19
|
+
React.createElement(Viewer, { html: "<p>而困扰看看付款人快快加入空间方可入库公开</p><p>饿哦港口而开宫口而口渴OK被控科比</p><p>而顾客OK认购款扼控扼控控哦空空</p><p>而顾客OK认购款扼控扼控控哦空空</p><p>而顾客OK认购款扼控扼控控哦空空</p><p>而顾客OK认购款扼控扼控控哦空空</p>" }))))));
|
20
|
+
};
|
21
|
+
export default TextNoteCard;
|
22
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/pages/Space/components/TextNoteCard/index.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,IAAI,MAAM,oCAAoC,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,qDAAqD,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,OAAO,MAAM,sDAAsD,CAAC;AAC3E,OAAO,MAAM,MAAM,oDAAoD,CAAC;AACxE,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,YAAY,GAAG,CAAC,KAAqB,EAAE,EAAE;IAC9C,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;IAErB,gCAAgC;IAChC,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAEpD,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5C,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,oBAAC,IAAI,IAAC,SAAS,EAAC,gBAAgB,EAAC,MAAM,EAAE,IAAI,IAC3C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CACf,oBAAC,QAAQ,IAAC,MAAM,SAAG,CACnB,CAAC,CAAC,CAAC,CACH,6BACC,SAAS,EAAC,oBAAoB,EAC9B,WAAW,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EACjC,YAAY,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;QAEnC,6BAAK,SAAS,EAAC,uBAAuB;YACrC,iCAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAO;YACnD,oBAAC,OAAO,IAAC,EAAE,EAAE,EAAE,IAAG,OAAO,IAAI,oBAAC,IAAI,IAAC,GAAG,EAAE,aAAa,KAAK,CAAC,EAAE,EAAE,GAAI,CAAW,CACzE;QACN,oBAAC,MAAM,IACN,IAAI,EACH,iJAAiJ,GAEjJ,CASG,CACN,CACK,CACP,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
@import "../../../../style/common.less";
|
2
|
+
:global {
|
3
|
+
.text-note-card {
|
4
|
+
padding: 0;
|
5
|
+
.text-note-card_header {
|
6
|
+
display: flex;
|
7
|
+
justify-content: space-between;
|
8
|
+
padding: 10px 20px;
|
9
|
+
color: #000;
|
10
|
+
font-weight: 500;
|
11
|
+
font-size: 16px;
|
12
|
+
.tool-bar {
|
13
|
+
.ant-btn {
|
14
|
+
margin-left: 5px;
|
15
|
+
}
|
16
|
+
.ant-btn + .ant-btn {
|
17
|
+
margin-right: 0;
|
18
|
+
}
|
19
|
+
}
|
20
|
+
}
|
21
|
+
.ProseMirror-container {
|
22
|
+
height: 180px;
|
23
|
+
padding: 0 20px;
|
24
|
+
}
|
25
|
+
&:hover .text-note-card_header {
|
26
|
+
color: @primary-color;
|
27
|
+
}
|
28
|
+
}
|
29
|
+
}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import "./index.less";
|
2
|
+
import { useAutoUpdateListData, useDocumentListEffect, useDocumentStore } from "@voplus/morpho-document-core";
|
3
|
+
import { ListDataContext, useCreateListDataState } from "@voplus/morpho-ui/es/data";
|
4
|
+
import React from "react";
|
5
|
+
import DocumentHeader from "@voplus/morpho-document/es/components/DocumentHeader";
|
6
|
+
import DocumentItemFrame from "@voplus/morpho-document/es/controls/DocumentItemFrame";
|
7
|
+
import ListView from "@voplus/morpho-ui/es/components/layout/ListView/ListView2";
|
8
|
+
import { useObserver } from "mobx-react-lite";
|
9
|
+
import { useRenderOnChange } from "@voplus/morpho-ui";
|
10
|
+
const Works = (props) => {
|
11
|
+
const { id } = props;
|
12
|
+
const documentStore = useDocumentStore();
|
13
|
+
/** 建立 ListView 和useDocumentListEffect所需的ListDataState. 会根据state.id重建所以不需reset. */
|
14
|
+
const list = useCreateListDataState({
|
15
|
+
filterDefaults: {
|
16
|
+
includes: "tags,path",
|
17
|
+
filters: [{ c: "ParentNodeId", o: "=", l: "And", v1: id }]
|
18
|
+
}
|
19
|
+
}, [id]);
|
20
|
+
/** 如果 list.filters.options变更了就重渲染,使下一行的useDocumentListEffect 可以接收新参数*/
|
21
|
+
useRenderOnChange(() => list.filters.options);
|
22
|
+
/** 把ListDataState传给useDocumentListEffect,使之可以自動更新loading, hasmore. */
|
23
|
+
useDocumentListEffect(list, result => list.union(result), list.filters.options);
|
24
|
+
/** useOnNewDocument, useOnDeleteDocument的sugar syntax 自動更新list. */
|
25
|
+
useAutoUpdateListData(list, d => d.parentId === id);
|
26
|
+
return useObserver(() => (React.createElement(ListDataContext.Provider, { value: list },
|
27
|
+
React.createElement(ListView, { headerProps: { viewTitle: "My Works" },
|
28
|
+
// formViewTitle="Add Task"
|
29
|
+
className: "my-space-works",
|
30
|
+
// formView={<NewTaskForm />}
|
31
|
+
moveAfter: moveAfter, renderItem: ({ item, connectDragSource }) => (React.createElement(React.Fragment, null,
|
32
|
+
React.createElement(DocumentItemFrame, { key: item.id, frameProps: {
|
33
|
+
hoverEffect: "background",
|
34
|
+
hoverBackgroundProps: { color: "#f2f2f2" },
|
35
|
+
style: { border: "none", flex: "1" }
|
36
|
+
} },
|
37
|
+
React.createElement(DocumentHeader, { id: item.id, itemHover: true })))) }))));
|
38
|
+
async function moveAfter(id, afterId) {
|
39
|
+
await documentStore.moveAfter(id, afterId);
|
40
|
+
}
|
41
|
+
};
|
42
|
+
export default Works;
|
43
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/pages/Space/components/Works/index.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAEtB,OAAO,EAEN,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,cAAc,MAAM,sDAAsD,CAAC;AAClF,OAAO,iBAAiB,MAAM,uDAAuD,CAAC;AACtF,OAAO,QAAQ,MAAM,2DAA2D,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,KAAK,GAAG,CAAC,KAAqB,EAAE,EAAE;IACvC,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;IAErB,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IAEzC,kFAAkF;IAClF,MAAM,IAAI,GAAG,sBAAsB,CAClC;QACC,cAAc,EAAE;YACf,QAAQ,EAAE,WAAW;YACrB,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;SAC1D;KACD,EACD,CAAC,EAAE,CAAC,CACJ,CAAC;IAEF,uEAAuE;IACvE,iBAAiB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9C,sEAAsE;IACtE,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhF,mEAAmE;IACnE,qBAAqB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC;IAEpD,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,oBAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,IAAI;QACpC,oBAAC,QAAQ,IACR,WAAW,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE;YACtC,2BAA2B;YAC3B,SAAS,EAAC,gBAAgB;YAC1B,6BAA6B;YAC7B,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAO,EAAE,EAAE,CAAC,CACjD,oBAAC,KAAK,CAAC,QAAQ;gBACd,oBAAC,iBAAiB,IACjB,GAAG,EAAE,IAAI,CAAC,EAAE,EACZ,UAAU,EAAE;wBACX,WAAW,EAAE,YAAY;wBACzB,oBAAoB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;wBAC1C,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE;qBACpC;oBAED,oBAAC,cAAc,IAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,SAAG,CACtB,CACJ,CACjB,GACA,CACwB,CAC3B,CAAC,CAAC;IACH,KAAK,UAAU,SAAS,CAAC,EAAU,EAAE,OAAe;QACnD,MAAM,aAAa,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
:global {
|
2
|
+
.my-space-works {
|
3
|
+
background-color: #fff;
|
4
|
+
padding: 0 !important;
|
5
|
+
.document-header-default {
|
6
|
+
position: relative;
|
7
|
+
background-color: transparent;
|
8
|
+
&:after {
|
9
|
+
position: absolute;
|
10
|
+
content: "";
|
11
|
+
left: 20px;
|
12
|
+
right: 0;
|
13
|
+
bottom: 0;
|
14
|
+
border-bottom: 1px solid #d9d9d9;
|
15
|
+
}
|
16
|
+
}
|
17
|
+
}
|
18
|
+
}
|
@@ -0,0 +1,65 @@
|
|
1
|
+
import "./index.less";
|
2
|
+
import { Menu, Skeleton } from "@voplus/antd";
|
3
|
+
import React, { useEffect, useState } from "react";
|
4
|
+
import { faBallotCheck, faBooks, faProjectDiagram, faStickyNote, faTasks } from "@fortawesome/pro-light-svg-icons";
|
5
|
+
import { useApplicationContext, useTabItem } from "@voplus/morpho-data";
|
6
|
+
import Documents from "../../components/Documents";
|
7
|
+
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
8
|
+
import MainContent from "@voplus/morpho-ui/es/components/layout/MainContent";
|
9
|
+
import Notes from "../../components/Notes";
|
10
|
+
import Projects from "../../components/Projects";
|
11
|
+
import Scrollbars from "react-custom-scrollbars";
|
12
|
+
import { State } from "./state";
|
13
|
+
import SubMenu from "@voplus/antd/es/menu/SubMenu";
|
14
|
+
import Tasks from "../../components/Tasks";
|
15
|
+
import Works from "../../components/Works";
|
16
|
+
import moment from "moment";
|
17
|
+
import { useObserver } from "mobx-react-lite";
|
18
|
+
import { useUnit } from "@voplus/morpho-document/es/modules/unit/data";
|
19
|
+
const MySpace = () => {
|
20
|
+
const { user } = useApplicationContext();
|
21
|
+
const unit = useUnit(user.info.id, { reload: true });
|
22
|
+
const tab = useTabItem();
|
23
|
+
const [state] = useState(new State());
|
24
|
+
useEffect(() => {
|
25
|
+
tab.title = "My Space";
|
26
|
+
}, []);
|
27
|
+
return useObserver(() => (React.createElement(MainContent, { className: "my-space-view" },
|
28
|
+
React.createElement("nav", null,
|
29
|
+
React.createElement(Scrollbars, { autoHide: true },
|
30
|
+
React.createElement(Menu, { mode: "inline", defaultSelectedKeys: ["Documents"], onClick: onClick },
|
31
|
+
React.createElement(Menu.Item, { key: "Documents", icon: React.createElement(FAIcon, { icon: faBooks }) }, "My Documents"),
|
32
|
+
React.createElement(Menu.Item, { key: "Notes", icon: React.createElement(FAIcon, { icon: faStickyNote }) }, "My Notes"),
|
33
|
+
React.createElement(Menu.Item, { key: "Projects", icon: React.createElement(FAIcon, { icon: faProjectDiagram }) }, "My Projects"),
|
34
|
+
React.createElement(SubMenu, { key: "Tasks", icon: React.createElement(FAIcon, { icon: faTasks }), title: "My Tasks" },
|
35
|
+
React.createElement(Menu.Item, { key: "TaskToday" }, "Today(2)"),
|
36
|
+
React.createElement(Menu.Item, { key: "TaskWeek" }, "This Week(4)"),
|
37
|
+
React.createElement(Menu.Item, { key: "TaskMonth" }, "This Month(5)"),
|
38
|
+
React.createElement(Menu.Item, { key: "TaskUnscheduled" }, "Unscheduled(6)")),
|
39
|
+
React.createElement(SubMenu, { key: "Works", icon: React.createElement(FAIcon, { icon: faBallotCheck }), title: "My Works" },
|
40
|
+
React.createElement(Menu.Item, { key: "WorkToday" }, "Today(2)"),
|
41
|
+
React.createElement(Menu.Item, { key: "WorkWeek" }, "This Week(4)"),
|
42
|
+
React.createElement(Menu.Item, { key: "WorkMonth" }, "This Month(5)"),
|
43
|
+
React.createElement(Menu.Item, { key: "WorkUnscheduled" }, "Unscheduled(6)"))))),
|
44
|
+
!unit.loading ? (state.menuKey === "Notes" ? (React.createElement(Notes, null)) : state.menuKey === "Projects" ? (React.createElement(Projects, { id: unit.containerId || "598054f2-0bc1-4fd4-a0ed-ac0d0078b038" })) : state.menuKey.includes("Work") ? (React.createElement(Works, { id: unit.containerId || "598054f2-0bc1-4fd4-a0ed-ac0d0078b038" })) : state.menuKey.includes("Task") ? (React.createElement(Tasks, { filters: state.filters })) : (React.createElement(Documents, { id: unit.containerId || "598054f2-0bc1-4fd4-a0ed-ac0d0078b038" }))) : (React.createElement(Skeleton, { active: true })))));
|
45
|
+
function onClick({ key }) {
|
46
|
+
state.menuKey = key;
|
47
|
+
if (key.includes("Today"))
|
48
|
+
state.dueDate = [moment().startOf("day"), moment().endOf("day")];
|
49
|
+
if (key.includes("Week"))
|
50
|
+
state.dueDate = [moment().startOf("week"), moment().endOf("week")];
|
51
|
+
if (key.includes("Month"))
|
52
|
+
state.dueDate = [moment().startOf("month"), moment().endOf("month")];
|
53
|
+
if (key.includes("Unscheduled"))
|
54
|
+
state.dueDate = [
|
55
|
+
moment()
|
56
|
+
.add(1, "months")
|
57
|
+
.startOf("month"),
|
58
|
+
moment()
|
59
|
+
.add(1, "months")
|
60
|
+
.endOf("month")
|
61
|
+
];
|
62
|
+
}
|
63
|
+
};
|
64
|
+
export default MySpace;
|
65
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/pages/Space/pages/MySpace/index.tsx"],"names":[],"mappings":"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"}
|