@voplus/morpho-workspace 1.1.0-dev034 → 1.1.0-dev036
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/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 +7 -7
- package/es/modules/meeting/components/AgendaList/AgendaItem/index.js.map +1 -1
- package/es/modules/meeting/components/AgendaList/AgendaNewForm/index.js +1 -1
- package/es/modules/meeting/components/AgendaList/AgendaNewForm/index.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/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 +13 -12
- package/es/modules/tasks/components/TaskPropertiesView/index.js.map +1 -1
- package/es/modules/tasks/components/TaskQuickViewDialog/index.js +7 -3
- 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 +3 -2
- package/es/modules/tasks/pages/TaskList/index.js.map +1 -1
- package/es/modules/tasks/pages/TaskTabView/index.js +26 -26
- 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 +59 -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 +14 -14
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/pages/Space/pages/MySpace/state.ts"],"names":[],"mappings":";AAAA,OAAO,MAAkB,MAAM,QAAQ,CAAC;AAIxC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,MAAM,OAAO,KAAK;IAAlB;QACoB,YAAO,GAAG,EAAE,CAAC;IAkBjC,CAAC;IAdA,IAAW,OAAO;;QACjB,IAAI,OAAA,IAAI,CAAC,OAAO,0CAAG,CAAC,OAAM,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,0CAAG,CAAC,OAAM,IAAI;YAAE,OAAO,EAAE,CAAC;QACxE,MAAM,KAAK,eAAG,IAAI,CAAC,OAAO,0CAAG,CAAC,oCAAK,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5E,MAAM,GAAG,eAAG,IAAI,CAAC,OAAO,0CAAG,CAAC,oCAAK,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxD,OAAO;YACN;gBACC,CAAC,EAAE,SAAS;gBACZ,CAAC,EAAE,SAAS;gBACZ,CAAC,EAAE,KAAK;gBACR,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;gBACvD,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;aACnC;SACjB,CAAC;IACH,CAAC;CACD;AAlBY;IAAX,UAAU;sCAAqB;AAEpB;IAAX,UAAU;sCAAoC"}
|
@@ -0,0 +1,88 @@
|
|
1
|
+
import { Button, Input, Modal, Tooltip } from "@voplus/antd";
|
2
|
+
import React, { useEffect, useState } from "react";
|
3
|
+
import { faSave, faTrashAlt, faUndo } from "@fortawesome/pro-light-svg-icons";
|
4
|
+
import { useAction, useActionStore } from "../../data";
|
5
|
+
import ActionType from "../ActionType";
|
6
|
+
import DateInputEditor from "@voplus/morpho-ui/es/controls/InlineEdit/editors/DateInputEditor";
|
7
|
+
import { Edit } from "@voplus/morpho-document/es/controls/ToolBar/buttons";
|
8
|
+
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
9
|
+
import { InlineEdit } from "@voplus/morpho-ui";
|
10
|
+
import { ItemState } from "./state";
|
11
|
+
import ToolBar2 from "@voplus/morpho-document/es/controls/ToolBar/ToolBar2";
|
12
|
+
import classnames from "classnames";
|
13
|
+
import { isEqual } from "lodash-es";
|
14
|
+
import moment from "moment";
|
15
|
+
import { useObserver } from "mobx-react-lite";
|
16
|
+
const Item = (props) => {
|
17
|
+
const { id } = props;
|
18
|
+
const [state] = useState(new ItemState());
|
19
|
+
const store = useActionStore();
|
20
|
+
state.action = useAction(id);
|
21
|
+
useEffect(() => {
|
22
|
+
state.note = state.action.note ? state.action.note : "";
|
23
|
+
}, [state.action.note]);
|
24
|
+
return useObserver(() => (React.createElement("div", { className: classnames("action-item", {
|
25
|
+
"action-item_hover": state.isHover
|
26
|
+
}), onMouseLeave: () => (state.isHover = false), onMouseOver: () => (state.isHover = true) },
|
27
|
+
state.action.due && (React.createElement("div", { className: classnames("data-icon") },
|
28
|
+
React.createElement(InlineEdit, { defaultValue: moment(state.action.due), content: v => (React.createElement("span", { style: { cursor: "pointer" } }, v ? moment(v.store.value).format("DD MMM YYYY") : "Add Date")), editor: DateInputEditor, onSave: onSave }))),
|
29
|
+
React.createElement("div", { className: "action-context" },
|
30
|
+
React.createElement(ActionType, { type: state.action.type, className: "action-type", onchange: type => store.editAction(state.action.id, { Type: type }) }),
|
31
|
+
state.editable ? (React.createElement(Input.TextArea, { autoSize: true, autoFocus: true, value: state.note, onChange: e => (state.note = e.target.value) })) : (React.createElement("span", { className: "action-note" }, state.note))),
|
32
|
+
React.createElement("div", null,
|
33
|
+
state.isHover && !state.editable && (React.createElement("div", { className: classnames("hover-operate-icon", { show: state.isHover }) },
|
34
|
+
React.createElement(ToolBar2, { id: state.action.id, showMenu: false },
|
35
|
+
React.createElement(Edit, { action: onEdit }),
|
36
|
+
React.createElement(Tooltip, { title: "Eelete" },
|
37
|
+
React.createElement(Button, { size: "small", shape: "circle", className: "delete-btn", onClick: onDelete },
|
38
|
+
React.createElement(FAIcon, { icon: faTrashAlt })))))),
|
39
|
+
state.editable && (React.createElement("div", { className: "editable-save" },
|
40
|
+
React.createElement(Button, { size: "small", shape: "circle", onClick: () => {
|
41
|
+
state.editable = false;
|
42
|
+
state.note = state.action.note ? state.action.note : "";
|
43
|
+
} },
|
44
|
+
React.createElement(FAIcon, { icon: faUndo })),
|
45
|
+
React.createElement(Button, { type: "primary", ghost: true, size: "small", shape: "circle", disabled: !hasChanges, loading: state.loading, className: "margin-left-10", onClick: save },
|
46
|
+
React.createElement(FAIcon, { icon: faSave }))))))));
|
47
|
+
/** delete action */
|
48
|
+
function onDelete() {
|
49
|
+
Modal.confirm({
|
50
|
+
title: "Do you want to delete this item?",
|
51
|
+
onOk() {
|
52
|
+
return store.deleteAction([id], {});
|
53
|
+
}
|
54
|
+
});
|
55
|
+
}
|
56
|
+
/** edit text */
|
57
|
+
function onEdit() {
|
58
|
+
state.isHover = false;
|
59
|
+
state.editable = true;
|
60
|
+
}
|
61
|
+
function hasChanges() {
|
62
|
+
if (!state.note)
|
63
|
+
return;
|
64
|
+
const name = state.action.note;
|
65
|
+
const originalData = { name };
|
66
|
+
const modifiedData = {
|
67
|
+
name: state.note.trim()
|
68
|
+
};
|
69
|
+
return !isEqual(originalData, modifiedData);
|
70
|
+
}
|
71
|
+
// update note
|
72
|
+
async function save() {
|
73
|
+
const params = { Note: state.note };
|
74
|
+
state.loading = true;
|
75
|
+
await store.editAction(id, params);
|
76
|
+
state.loading = false;
|
77
|
+
state.editable = false;
|
78
|
+
}
|
79
|
+
// update date
|
80
|
+
function onSave(v) {
|
81
|
+
// date未变更不保存
|
82
|
+
if (moment(v).isSame(state.action.due, "day"))
|
83
|
+
return;
|
84
|
+
store.editAction(id, { Due: v.format("YYYY-MM-DD") });
|
85
|
+
}
|
86
|
+
};
|
87
|
+
export default Item;
|
88
|
+
//# sourceMappingURL=Item.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Item.js","sourceRoot":"","sources":["../../../../../src/pages/Work/components/ActionPlan/Item.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
import { useActionListEffect, useOnDeleteAction, useOnNewAction, useWorkContext } from "../../data";
|
2
|
+
import React, { useState } from "react";
|
3
|
+
import { faFilePlus, faPlus } from "@fortawesome/pro-light-svg-icons";
|
4
|
+
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
5
|
+
import Item from "./Item";
|
6
|
+
import ScheduleActionForm from "../ScheduleActionForm";
|
7
|
+
import { State } from "./state";
|
8
|
+
import { Timeline } from "@voplus/antd";
|
9
|
+
import classnames from "classnames";
|
10
|
+
import moment from "moment";
|
11
|
+
import styles from "./index.less";
|
12
|
+
import { useObserver } from "mobx-react-lite";
|
13
|
+
const ActionPlan = (props) => {
|
14
|
+
const { id } = props;
|
15
|
+
const [state] = useState(new State());
|
16
|
+
const context = useWorkContext();
|
17
|
+
useActionListEffect(list => {
|
18
|
+
state.list = list;
|
19
|
+
const actions = list === null || list === void 0 ? void 0 : list.slice().sort((a, b) => moment(a === null || a === void 0 ? void 0 : a.due).valueOf() - moment(b === null || b === void 0 ? void 0 : b.due).valueOf());
|
20
|
+
/** 最早到期的action */
|
21
|
+
// context.setActionItem(actions[0]);
|
22
|
+
context.actionItem = actions[0];
|
23
|
+
}, {
|
24
|
+
Filters: [{ c: "ParentNodeId", o: "=", l: "And", v1: id }]
|
25
|
+
});
|
26
|
+
useOnNewAction((s, action) => {
|
27
|
+
if (action.parentNodeID === id)
|
28
|
+
state.list = [...state.list, action];
|
29
|
+
});
|
30
|
+
useOnDeleteAction((s, action) => {
|
31
|
+
if (action.parentNodeID === id)
|
32
|
+
state.list = state.list.filter(item => item.id !== action.id);
|
33
|
+
});
|
34
|
+
const dotElement = (log) => {
|
35
|
+
return (React.createElement("span", { className: "dot-icon", style: { borderColor: "#8bc34a" } },
|
36
|
+
React.createElement(FAIcon, { icon: faFilePlus, color: "#8bc34a" })));
|
37
|
+
};
|
38
|
+
return useObserver(() => {
|
39
|
+
var _a;
|
40
|
+
return (React.createElement(Timeline, { className: classnames(styles["action-plan"], props.className) },
|
41
|
+
React.createElement(Timeline.Item, { key: "add", dot: React.createElement(FAIcon, { style: { fontSize: "17px" }, icon: faPlus }) },
|
42
|
+
!state.visible && (React.createElement("div", { id: "ActionPlan", className: "add-action", onClick: changeVisible }, "Schedule an action")),
|
43
|
+
React.createElement(ScheduleActionForm, { id: id, className: state.visible ? "show" : "", cancel: changeVisible, finish: changeVisible })), (_a = state.list) === null || _a === void 0 ? void 0 :
|
44
|
+
_a.map((item, index) => (React.createElement(Timeline.Item, { key: index, dot: dotElement(item) },
|
45
|
+
React.createElement(Item, { id: item.id }))))));
|
46
|
+
});
|
47
|
+
/** create new action */
|
48
|
+
function changeVisible() {
|
49
|
+
state.visible = !state.visible;
|
50
|
+
}
|
51
|
+
};
|
52
|
+
export default ActionPlan;
|
53
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/pages/Work/components/ActionPlan/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGN,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAEtE,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,kBAAkB,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,UAAU,GAAG,CAAC,KAAyC,EAAE,EAAE;IAChE,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;IACrB,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IAEjC,mBAAmB,CAClB,IAAI,CAAC,EAAE;QACN,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,OAAO,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CACjB,KAAK,GACN,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,mBAAmB;QACnB,qCAAqC;QACrC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC,EACD;QACC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;KAC1D,CACD,CAAC;IAEF,cAAc,CAAC,CAAC,CAAc,EAAE,MAAe,EAAE,EAAE;QAClD,IAAI,MAAM,CAAC,YAAY,KAAK,EAAE;YAAE,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,iBAAiB,CAAC,CAAC,CAAc,EAAE,MAAe,EAAE,EAAE;QACrD,IAAI,MAAM,CAAC,YAAY,KAAK,EAAE;YAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,CAAC,GAAY,EAAE,EAAE;QACnC,OAAO,CACN,8BAAM,SAAS,EAAC,UAAU,EAAC,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE;YAC3D,oBAAC,MAAM,IAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAC,SAAS,GAAG,CACtC,CACP,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,WAAW,CAAC,GAAG,EAAE;;QAAC,OAAA,CACxB,oBAAC,QAAQ,IAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;YACtE,oBAAC,QAAQ,CAAC,IAAI,IAAC,GAAG,EAAC,KAAK,EAAC,GAAG,EAAE,oBAAC,MAAM,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAI;gBACjF,CAAC,KAAK,CAAC,OAAO,IAAI,CAClB,6BAAK,EAAE,EAAC,YAAY,EAAC,SAAS,EAAC,YAAY,EAAC,OAAO,EAAE,aAAa,yBAE5D,CACN;gBACD,oBAAC,kBAAkB,IAClB,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EACtC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,aAAa,GACpB,CACa,QACf,KAAK,CAAC,IAAI;eAAE,GAAG,CAAC,CAAC,IAAS,EAAE,KAAa,EAAE,EAAE,CAAC,CAC9C,oBAAC,QAAQ,CAAC,IAAI,IAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC;gBAC/C,oBAAC,IAAI,IAAC,EAAE,EAAE,IAAI,CAAC,EAAE,GAAI,CACN,CAChB,EACS,CACX,CAAA;KAAA,CAAC,CAAC;IAEH,wBAAwB;IACxB,SAAS,aAAa;QACrB,KAAK,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;IAChC,CAAC;AACF,CAAC,CAAC;AACF,eAAe,UAAU,CAAC"}
|
@@ -0,0 +1,96 @@
|
|
1
|
+
@import "~@voplus/antd/es/style/themes/default";
|
2
|
+
|
3
|
+
.action-plan {
|
4
|
+
// height: 100%;
|
5
|
+
padding: 13px 0 0 15px;
|
6
|
+
margin: 15px 20px;
|
7
|
+
:global {
|
8
|
+
.dot-icon {
|
9
|
+
display: inline-block;
|
10
|
+
width: 30px;
|
11
|
+
height: 30px;
|
12
|
+
line-height: 28px;
|
13
|
+
border: 1px solid transparent;
|
14
|
+
border-radius: 50%;
|
15
|
+
font-size: 17px;
|
16
|
+
}
|
17
|
+
.add-action {
|
18
|
+
color: #1890ff;
|
19
|
+
padding-top: 3px;
|
20
|
+
cursor: pointer;
|
21
|
+
}
|
22
|
+
.action-item {
|
23
|
+
.hover-operate-icon {
|
24
|
+
display: flex;
|
25
|
+
position: absolute;
|
26
|
+
right: 0;
|
27
|
+
top: 50%;
|
28
|
+
transform: translateY(-50%);
|
29
|
+
z-index: 100;
|
30
|
+
align-items: center;
|
31
|
+
visibility: hidden;
|
32
|
+
.delete-btn {
|
33
|
+
color: #f5222d;
|
34
|
+
background: #fff;
|
35
|
+
border-color: #f5222d;
|
36
|
+
cursor: pointer;
|
37
|
+
&:hover {
|
38
|
+
background-color: #f5222d;
|
39
|
+
color: #fff;
|
40
|
+
}
|
41
|
+
}
|
42
|
+
&.show {
|
43
|
+
// display: block;
|
44
|
+
visibility: visible;
|
45
|
+
}
|
46
|
+
}
|
47
|
+
.editable-save{
|
48
|
+
display: flex;
|
49
|
+
position: absolute;
|
50
|
+
right: 0;
|
51
|
+
top: 50%;
|
52
|
+
transform: translateY(-50%);
|
53
|
+
z-index: 100;
|
54
|
+
align-items: center;
|
55
|
+
}
|
56
|
+
.action-context{
|
57
|
+
display: flex;
|
58
|
+
textarea.ant-input{
|
59
|
+
flex: 0.8;
|
60
|
+
}
|
61
|
+
}
|
62
|
+
.action-type {
|
63
|
+
padding-right: 10px;
|
64
|
+
color: #000;
|
65
|
+
font-style: italic;
|
66
|
+
}
|
67
|
+
.action-note {
|
68
|
+
padding-right: 15px;
|
69
|
+
font-weight: 500;
|
70
|
+
color: #000;
|
71
|
+
}
|
72
|
+
.date-time {
|
73
|
+
font-size: 14px;
|
74
|
+
color: #444;
|
75
|
+
}
|
76
|
+
}
|
77
|
+
|
78
|
+
.ant-timeline-item-content {
|
79
|
+
top: -14px;
|
80
|
+
margin: 0 0 0 50px;
|
81
|
+
line-height: 28px;
|
82
|
+
color: #333;
|
83
|
+
}
|
84
|
+
.schedule-action-form {
|
85
|
+
height: 0;
|
86
|
+
opacity: 0;
|
87
|
+
transition: height 0.3s, opacity 0.2s ease-out;
|
88
|
+
overflow: hidden;
|
89
|
+
&.show {
|
90
|
+
height: auto;
|
91
|
+
opacity: 1;
|
92
|
+
overflow: visible;
|
93
|
+
}
|
94
|
+
}
|
95
|
+
}
|
96
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { IAction } from "../../data";
|
2
|
+
export declare class State {
|
3
|
+
list: IAction[];
|
4
|
+
/** visible ScheduleActionForm */
|
5
|
+
visible: boolean;
|
6
|
+
}
|
7
|
+
export declare class ItemState {
|
8
|
+
action: IAction;
|
9
|
+
/** action item note */
|
10
|
+
note: string;
|
11
|
+
isHover: boolean;
|
12
|
+
editable: boolean;
|
13
|
+
/** 保存数据加载中 */
|
14
|
+
loading: boolean;
|
15
|
+
}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import { __decorate } from "tslib";
|
2
|
+
import { observable } from "mobx";
|
3
|
+
export class State {
|
4
|
+
constructor() {
|
5
|
+
/** visible ScheduleActionForm */
|
6
|
+
this.visible = false;
|
7
|
+
}
|
8
|
+
}
|
9
|
+
__decorate([
|
10
|
+
observable
|
11
|
+
], State.prototype, "list", void 0);
|
12
|
+
__decorate([
|
13
|
+
observable
|
14
|
+
], State.prototype, "visible", void 0);
|
15
|
+
export class ItemState {
|
16
|
+
constructor() {
|
17
|
+
/** action item note */
|
18
|
+
this.note = "";
|
19
|
+
this.isHover = false;
|
20
|
+
this.editable = false;
|
21
|
+
/** 保存数据加载中 */
|
22
|
+
this.loading = false;
|
23
|
+
}
|
24
|
+
}
|
25
|
+
__decorate([
|
26
|
+
observable
|
27
|
+
], ItemState.prototype, "action", void 0);
|
28
|
+
__decorate([
|
29
|
+
observable
|
30
|
+
], ItemState.prototype, "note", void 0);
|
31
|
+
__decorate([
|
32
|
+
observable
|
33
|
+
], ItemState.prototype, "isHover", void 0);
|
34
|
+
__decorate([
|
35
|
+
observable
|
36
|
+
], ItemState.prototype, "editable", void 0);
|
37
|
+
__decorate([
|
38
|
+
observable
|
39
|
+
], ItemState.prototype, "loading", void 0);
|
40
|
+
//# sourceMappingURL=state.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/pages/Work/components/ActionPlan/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAU,UAAU,EAAE,MAAM,MAAM,CAAC;AAI1C,MAAM,OAAO,KAAK;IAAlB;QAEC,kCAAkC;QACf,YAAO,GAAG,KAAK,CAAC;IACpC,CAAC;CAAA;AAHY;IAAX,UAAU;mCAAwB;AAEvB;IAAX,UAAU;sCAAwB;AAGpC,MAAM,OAAO,SAAS;IAAtB;QAEC,uBAAuB;QACJ,SAAI,GAAG,EAAE,CAAC;QACV,YAAO,GAAG,KAAK,CAAC;QAChB,aAAQ,GAAG,KAAK,CAAC;QACpC,cAAc;QACK,YAAO,GAAG,KAAK,CAAC;IACpC,CAAC;CAAA;AAPY;IAAX,UAAU;yCAAwB;AAEvB;IAAX,UAAU;uCAAkB;AACjB;IAAX,UAAU;0CAAwB;AACvB;IAAX,UAAU;2CAAyB;AAExB;IAAX,UAAU;0CAAwB"}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
import "./index.less";
|
3
|
+
declare const ActionType: {
|
4
|
+
(props: {
|
5
|
+
editable?: boolean | undefined;
|
6
|
+
type: "Followup" | "Meeting" | "Call";
|
7
|
+
size?: "lg" | "sm" | "xs" | undefined;
|
8
|
+
className?: string | undefined;
|
9
|
+
onchange?: ((params?: any) => void) | undefined;
|
10
|
+
}): JSX.Element;
|
11
|
+
defaultProps: {
|
12
|
+
editable: boolean;
|
13
|
+
};
|
14
|
+
};
|
15
|
+
export default ActionType;
|
@@ -0,0 +1,32 @@
|
|
1
|
+
import "./index.less";
|
2
|
+
import { Dropdown, Menu } from "@voplus/antd";
|
3
|
+
import React, { useEffect, useState } from "react";
|
4
|
+
import { faExclamationCircle, faStar } from "@fortawesome/free-solid-svg-icons";
|
5
|
+
import classnames from "classnames";
|
6
|
+
import { faCircle } from "@fortawesome/pro-light-svg-icons";
|
7
|
+
import { library } from "@fortawesome/fontawesome-svg-core";
|
8
|
+
import { useObserver } from "mobx-react-lite";
|
9
|
+
library.add(faStar, faCircle, faExclamationCircle);
|
10
|
+
const ActionType = (props) => {
|
11
|
+
const { editable } = props;
|
12
|
+
const [type, setType] = useState(props.type);
|
13
|
+
const menu = useObserver(() => (React.createElement(Menu, { onClick: onClick, className: "flag-menu" },
|
14
|
+
React.createElement(Menu.Item, { key: "Followup" }, "Followup"),
|
15
|
+
React.createElement(Menu.Item, { key: "Meeting" }, "Meeting"),
|
16
|
+
React.createElement(Menu.Item, { key: "Call" }, "Call"))));
|
17
|
+
useEffect(() => {
|
18
|
+
setType(props.type);
|
19
|
+
}, [props.type]);
|
20
|
+
return useObserver(() => (React.createElement(React.Fragment, null, editable ? (React.createElement(Dropdown, { overlay: menu, trigger: ["click", "hover"] },
|
21
|
+
React.createElement("span", { className: classnames("action-type", props.className) }, type))) : (React.createElement("span", { className: classnames("action-type", "readonly", props.className) }, type)))));
|
22
|
+
function onClick({ key }) {
|
23
|
+
var _a;
|
24
|
+
setType(key);
|
25
|
+
(_a = props.onchange) === null || _a === void 0 ? void 0 : _a.call(props, key);
|
26
|
+
}
|
27
|
+
};
|
28
|
+
ActionType.defaultProps = {
|
29
|
+
editable: true
|
30
|
+
};
|
31
|
+
export default ActionType;
|
32
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/pages/Work/components/ActionType/index.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAEtB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAEhF,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;AACnD,MAAM,UAAU,GAAG,CAAC,KAMnB,EAAE,EAAE;IACJ,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC3B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE7C,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,CAC9B,oBAAC,IAAI,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW;QAC7C,oBAAC,IAAI,CAAC,IAAI,IAAC,GAAG,EAAC,UAAU,eAAqB;QAC9C,oBAAC,IAAI,CAAC,IAAI,IAAC,GAAG,EAAC,SAAS,cAAoB;QAC5C,oBAAC,IAAI,CAAC,IAAI,IAAC,GAAG,EAAC,MAAM,WAAiB,CAChC,CACP,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,oBAAC,KAAK,CAAC,QAAQ,QACb,QAAQ,CAAC,CAAC,CAAC,CACX,oBAAC,QAAQ,IAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QACnD,8BAAM,SAAS,EAAE,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,IAAG,IAAI,CAAQ,CAChE,CACX,CAAC,CAAC,CAAC,CACH,8BAAM,SAAS,EAAE,UAAU,CAAC,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,IAAG,IAAI,CAAQ,CACtF,CACe,CACjB,CAAC,CAAC;IAEH,SAAS,OAAO,CAAC,EAAE,GAAG,EAAO;;QAC5B,OAAO,CAAC,GAAG,CAAC,CAAC;QACb,MAAA,KAAK,CAAC,QAAQ,+CAAd,KAAK,EAAY,GAAG,EAAE;IACvB,CAAC;AACF,CAAC,CAAC;AACF,UAAU,CAAC,YAAY,GAAG;IACzB,QAAQ,EAAE,IAAI;CACd,CAAC;AACF,eAAe,UAAU,CAAC"}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
@import "~@voplus/antd/es/style/themes/default.less";
|
2
|
+
:global {
|
3
|
+
.action-type {
|
4
|
+
cursor: pointer;
|
5
|
+
|
6
|
+
.svg-inline--fa:hover {
|
7
|
+
opacity: 0.5;
|
8
|
+
// color: @primary-color !important;
|
9
|
+
}
|
10
|
+
&.readonly {
|
11
|
+
cursor: default;
|
12
|
+
}
|
13
|
+
}
|
14
|
+
.flag-menu {
|
15
|
+
.svg-inline--fa {
|
16
|
+
margin-right: 10px;
|
17
|
+
font-size: 15px;
|
18
|
+
}
|
19
|
+
}
|
20
|
+
}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
import "./index.less";
|
3
|
+
import { IAction } from "../../data";
|
4
|
+
declare const ScheduleActionForm: (props: {
|
5
|
+
id: string;
|
6
|
+
cancel?: (() => void) | undefined;
|
7
|
+
finish?: ((action?: IAction | undefined) => void) | undefined;
|
8
|
+
className?: string | undefined;
|
9
|
+
}) => JSX.Element;
|
10
|
+
export default ScheduleActionForm;
|
@@ -0,0 +1,50 @@
|
|
1
|
+
import "./index.less";
|
2
|
+
import { useActionStore } from "../../data";
|
3
|
+
import { Button, DatePicker, Form, Input, Select, Space } from "@voplus/antd";
|
4
|
+
import React, { useState } from "react";
|
5
|
+
import classnames from "classnames";
|
6
|
+
import moment from "moment";
|
7
|
+
const ScheduleActionForm = (props) => {
|
8
|
+
const { id, cancel, finish, className } = props;
|
9
|
+
const [form] = Form.useForm();
|
10
|
+
const [loading, setLoading] = useState(false);
|
11
|
+
const actionStore = useActionStore();
|
12
|
+
return (React.createElement("div", { className: classnames("schedule-action-form", className) },
|
13
|
+
React.createElement("h3", null, "Schedule Action"),
|
14
|
+
React.createElement(Form, { form: form, layout: "vertical", onFinish: onFinish },
|
15
|
+
React.createElement(Form.Item, { name: "ActionType", label: "Type", rules: [{ required: true }] },
|
16
|
+
React.createElement(Select, { disabled: loading },
|
17
|
+
React.createElement(Select.Option, { value: "Followup" }, "Followup"),
|
18
|
+
React.createElement(Select.Option, { value: "Meeting" }, "Meeting"),
|
19
|
+
React.createElement(Select.Option, { value: "Call" }, "Call"))),
|
20
|
+
React.createElement(Form.Item, { name: "Due", label: "Due" },
|
21
|
+
React.createElement(DatePicker, { disabled: loading })),
|
22
|
+
React.createElement(Form.Item, { name: "Note", label: "Note" },
|
23
|
+
React.createElement(Input.TextArea, { rows: 3, placeholder: "Add a Note", disabled: loading })),
|
24
|
+
React.createElement(Form.Item, { className: "schedule-action-form_btn" },
|
25
|
+
React.createElement(Space, null,
|
26
|
+
React.createElement(Button, { htmlType: "button", disabled: loading, onClick: rest }, "Cancel"),
|
27
|
+
React.createElement(Button, { type: "primary", htmlType: "submit", loading: loading }, "Schedule"))))));
|
28
|
+
/** submit Action */
|
29
|
+
async function onFinish(values) {
|
30
|
+
const { ActionType, Due, Note } = values;
|
31
|
+
setLoading(true);
|
32
|
+
const r = await actionStore.createAction({
|
33
|
+
ParentNodeId: id,
|
34
|
+
ActionType,
|
35
|
+
Due: Due ? moment(Due) : "",
|
36
|
+
Note
|
37
|
+
});
|
38
|
+
setLoading(false);
|
39
|
+
if (finish)
|
40
|
+
finish(r);
|
41
|
+
}
|
42
|
+
/** reset */
|
43
|
+
function rest() {
|
44
|
+
form.resetFields();
|
45
|
+
if (cancel)
|
46
|
+
cancel();
|
47
|
+
}
|
48
|
+
};
|
49
|
+
export default ScheduleActionForm;
|
50
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/pages/Work/components/ScheduleActionForm/index.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import { useWork, useWorkStore } from "../../data";
|
2
|
+
import CheckList from "@voplus/morpho-ui/es/controls/CheckList";
|
3
|
+
import React from "react";
|
4
|
+
import { useObserver } from "mobx-react-lite";
|
5
|
+
const WorkCheckList = (props) => {
|
6
|
+
const { id } = props;
|
7
|
+
const work = useWork(id);
|
8
|
+
const workStore = useWorkStore();
|
9
|
+
return useObserver(() => (React.createElement(CheckList, { list: work.checkList || [], allowAdd: true, allowChange: !work.readonly, moveAfter: moveAfter, onChange: onChange, onCreate: onCreate, onDelete: onDelete })));
|
10
|
+
/** Add a check item */
|
11
|
+
function onCreate(item) {
|
12
|
+
onSave([{ item, checked: false }, ...(work.checkList || [])]);
|
13
|
+
}
|
14
|
+
/** change check item */
|
15
|
+
function onChange(checkItem) {
|
16
|
+
const { id, item, checked } = checkItem;
|
17
|
+
const checkList = work.checkList || [];
|
18
|
+
checkList.splice(id, 1, { item, checked });
|
19
|
+
onSave(checkList);
|
20
|
+
}
|
21
|
+
/** delete check item */
|
22
|
+
function onDelete(checkItem) {
|
23
|
+
const checkList = work.checkList || [];
|
24
|
+
checkList.splice(checkItem.id, 1);
|
25
|
+
onSave(checkList);
|
26
|
+
}
|
27
|
+
/** sort checkList */
|
28
|
+
function moveAfter(id, afterId, checkList) {
|
29
|
+
onSave(checkList);
|
30
|
+
}
|
31
|
+
/** update workCheckList */
|
32
|
+
async function onSave(checkList) {
|
33
|
+
const CheckList = checkList.map(c => ({ Item: c.item, Checked: c.checked }));
|
34
|
+
await workStore.edit(id, { CheckList });
|
35
|
+
}
|
36
|
+
};
|
37
|
+
export default WorkCheckList;
|
38
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/pages/Work/components/WorkCheckList/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,SAAS,MAAM,yCAAyC,CAAC;AAChE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,aAAa,GAAG,CAAC,KAAqB,EAAE,EAAE;IAC/C,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;IAErB,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IAEzB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,oBAAC,SAAS,IACT,IAAI,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE,EAC1B,QAAQ,QACR,WAAW,EAAE,CAAC,IAAI,CAAC,QAAQ,EAC3B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GACjB,CACF,CAAC,CAAC;IACH,uBAAuB;IACvB,SAAS,QAAQ,CAAC,IAAY;QAC7B,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,wBAAwB;IACxB,SAAS,QAAQ,CAAC,SAAyD;QAC1E,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QACvC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3C,MAAM,CAAC,SAAS,CAAC,CAAC;IACnB,CAAC;IACD,wBAAwB;IACxB,SAAS,QAAQ,CAAC,SAAyD;QAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QACvC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,SAAS,CAAC,CAAC;IACnB,CAAC;IACD,qBAAqB;IACrB,SAAS,SAAS,CACjB,EAAU,EACV,OAAe,EACf,SAA2D;QAE3D,MAAM,CAAC,SAAS,CAAC,CAAC;IACnB,CAAC;IACD,2BAA2B;IAC3B,KAAK,UAAU,MAAM,CAAC,SAA+C;QACpE,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC7E,MAAM,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IACzC,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import { useWorkContext } from "../../../data";
|
2
|
+
import React, { useState } from "react";
|
3
|
+
import { Button } from "@voplus/antd";
|
4
|
+
import Card from "@voplus/morpho-ui/es/controls/Card";
|
5
|
+
import { State } from "./state";
|
6
|
+
import { useObserver } from "mobx-react-lite";
|
7
|
+
const WorkActionsCard = (props) => {
|
8
|
+
// const { action } = props;
|
9
|
+
const [state] = useState(new State());
|
10
|
+
const context = useWorkContext();
|
11
|
+
useObserver(() => {
|
12
|
+
state.action = context.actionItem;
|
13
|
+
});
|
14
|
+
return useObserver(() => (React.createElement(Card, { bordered: true, shadow: true, className: "work-card" },
|
15
|
+
React.createElement("div", { className: "card-title" }, "Next Action"),
|
16
|
+
state.action ? (React.createElement(React.Fragment, null,
|
17
|
+
React.createElement("div", { className: "blocking-number" }, state.action.note))) : (React.createElement(Button, { type: "link", size: "large", onClick: onSchedule, style: { padding: "0" } }, "Schedule")))));
|
18
|
+
function onSchedule() {
|
19
|
+
// 查找锚点
|
20
|
+
const anchorElement = document.getElementById("ActionPlan");
|
21
|
+
// 如果对应id的锚点存在,跳转到锚点
|
22
|
+
if (anchorElement) {
|
23
|
+
anchorElement.scrollIntoView({ block: "start", behavior: "smooth" });
|
24
|
+
}
|
25
|
+
}
|
26
|
+
};
|
27
|
+
export default WorkActionsCard;
|
28
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/pages/Work/components/WorkSummaryCards/WorkActionsCard/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,IAAI,MAAM,oCAAoC,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,eAAe,GAAG,CAAC,KAA2B,EAAE,EAAE;IACvD,4BAA4B;IAC5B,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IAEjC,WAAW,CAAC,GAAG,EAAE;QAChB,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,oBAAC,IAAI,IAAC,QAAQ,QAAC,MAAM,QAAC,SAAS,EAAC,WAAW;QAC1C,6BAAK,SAAS,EAAC,YAAY,kBAAkB;QAC5C,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CACf,oBAAC,KAAK,CAAC,QAAQ;YACd,6BAAK,SAAS,EAAC,iBAAiB,IAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAO,CAE1C,CACjB,CAAC,CAAC,CAAC,CACH,oBAAC,MAAM,IAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,eAEpE,CACT,CACK,CACP,CAAC,CAAC;IACH,SAAS,UAAU;QAClB,OAAO;QACP,MAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAC5D,oBAAoB;QACpB,IAAI,aAAa,EAAE;YAClB,aAAa,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;SACrE;IACF,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../../src/pages/Work/components/WorkSummaryCards/WorkActionsCard/state.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,MAAM,OAAO,KAAK;CAEjB;AADY;IAAX,UAAU;qCAAyB"}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import Card from "@voplus/morpho-ui/es/controls/Card";
|
2
|
+
import React from "react";
|
3
|
+
import { useObserver } from "mobx-react-lite";
|
4
|
+
const WorkBlockingsCard = (props) => {
|
5
|
+
return useObserver(() => (React.createElement(Card, { bordered: true, shadow: true, className: "work-card" },
|
6
|
+
React.createElement("div", { style: { height: "100%" }, onClick: props.onClick },
|
7
|
+
React.createElement("div", { className: "card-title" }, "Blocking Work"),
|
8
|
+
React.createElement("div", { className: "blocking-number" }, "2")))));
|
9
|
+
};
|
10
|
+
export default WorkBlockingsCard;
|
11
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/pages/Work/components/WorkSummaryCards/WorkBlockingsCard/index.tsx"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,oCAAoC,CAAC;AACtD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,iBAAiB,GAAG,CAAC,KAE1B,EAAE,EAAE;IACJ,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,oBAAC,IAAI,IAAC,QAAQ,QAAC,MAAM,QAAC,SAAS,EAAC,WAAW;QAC1C,6BAAK,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO;YACrD,6BAAK,SAAS,EAAC,YAAY,oBAAoB;YAC/C,6BAAK,SAAS,EAAC,iBAAiB,QAAQ,CACnC,CACA,CACP,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|