@voplus/morpho-workspace 1.1.0-dev014 → 1.1.0-dev018
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 +5 -3
- package/es/controls/filters/AssigneeViewFilter/index.js +43 -0
- package/es/controls/filters/AssigneeViewFilter/index.js.map +1 -0
- package/es/controls/filters/AssigneeViewFilter/state.d.ts +14 -0
- package/es/controls/filters/AssigneeViewFilter/state.js +43 -0
- package/es/controls/filters/AssigneeViewFilter/state.js.map +1 -0
- package/es/controls/filters/DueDateFilter/index.d.ts +3 -0
- package/es/controls/filters/DueDateFilter/index.js +22 -0
- package/es/controls/filters/DueDateFilter/index.js.map +1 -0
- package/es/controls/filters/DueDateFilter/state.d.ts +11 -0
- package/es/controls/filters/DueDateFilter/state.js +36 -0
- package/es/controls/filters/DueDateFilter/state.js.map +1 -0
- package/es/controls/filters/StartDateFilter/index.d.ts +3 -0
- package/es/controls/filters/StartDateFilter/index.js +22 -0
- package/es/controls/filters/StartDateFilter/index.js.map +1 -0
- package/es/controls/filters/StartDateFilter/state.d.ts +11 -0
- package/es/controls/filters/StartDateFilter/state.js +36 -0
- package/es/controls/filters/StartDateFilter/state.js.map +1 -0
- package/es/controls/filters/TaskStatusFilter/index.d.ts +3 -0
- package/es/controls/filters/TaskStatusFilter/index.js +21 -0
- package/es/controls/filters/TaskStatusFilter/index.js.map +1 -0
- package/es/controls/filters/TaskStatusFilter/state.d.ts +16 -0
- package/es/controls/filters/TaskStatusFilter/state.js +46 -0
- package/es/controls/filters/TaskStatusFilter/state.js.map +1 -0
- package/es/controls/filters/index.d.ts +4 -0
- package/es/controls/filters/index.js +5 -0
- package/es/controls/filters/index.js.map +1 -0
- package/es/data/board/BoardColumnStore.d.ts +3 -13
- package/es/data/board/BoardColumnStore.js +2 -24
- package/es/data/board/BoardColumnStore.js.map +1 -1
- package/es/data/board/BoardStore.d.ts +2 -12
- package/es/data/board/BoardStore.js +1 -23
- package/es/data/board/BoardStore.js.map +1 -1
- package/es/data/board/contexts/BoardListContextState/index.d.ts +19 -0
- package/es/data/board/contexts/BoardListContextState/index.js +49 -0
- package/es/data/board/contexts/BoardListContextState/index.js.map +1 -0
- package/es/data/board/index.d.ts +1 -1
- package/es/data/board/index.js +1 -1
- package/es/data/board/index.js.map +1 -1
- package/es/modules/board/components/Board/index.js +34 -41
- package/es/modules/board/components/Board/index.js.map +1 -1
- package/es/modules/board/components/Board/index.less +83 -51
- package/es/modules/board/components/Board/state.d.ts +22 -5
- package/es/modules/board/components/Board/state.js +70 -15
- package/es/modules/board/components/Board/state.js.map +1 -1
- package/es/modules/board/components/BoardColumn/index.js +21 -35
- package/es/modules/board/components/BoardColumn/index.js.map +1 -1
- package/es/modules/board/components/BoardColumn/index.less +22 -12
- package/es/modules/board/components/BoardColumn/state.d.ts +17 -18
- package/es/modules/board/components/BoardColumn/state.js +43 -42
- package/es/modules/board/components/BoardColumn/state.js.map +1 -1
- package/es/modules/board/components/DocumentCard/index.d.ts +0 -2
- package/es/modules/board/components/DocumentCard/index.js +16 -79
- package/es/modules/board/components/DocumentCard/index.js.map +1 -1
- package/es/modules/board/components/DocumentCard/index.less +16 -13
- package/es/modules/board/components/DocumentCard/state.d.ts +6 -6
- package/es/modules/board/components/DocumentCard/state.js +34 -21
- package/es/modules/board/components/DocumentCard/state.js.map +1 -1
- package/es/modules/board/components/SubDocument/index.d.ts +13 -0
- package/es/modules/board/components/SubDocument/index.js +13 -0
- package/es/modules/board/components/SubDocument/index.js.map +1 -0
- package/es/modules/board/components/SubDocumentList/index.d.ts +4 -0
- package/es/modules/board/components/SubDocumentList/index.js +74 -0
- package/es/modules/board/components/SubDocumentList/index.js.map +1 -0
- package/es/modules/board/components/SubDocumentList/index.less +28 -0
- package/es/modules/board/components/SubDocumentList/state.d.ts +25 -0
- package/es/modules/board/components/SubDocumentList/state.js +60 -0
- package/es/modules/board/components/SubDocumentList/state.js.map +1 -0
- package/es/modules/board/components/TaskCard/index.js +27 -76
- package/es/modules/board/components/TaskCard/index.js.map +1 -1
- package/es/modules/board/components/TaskCard/index.less +9 -4
- package/es/modules/board/components/TaskCard/state.d.ts +1 -8
- package/es/modules/board/components/TaskCard/state.js +28 -23
- package/es/modules/board/components/TaskCard/state.js.map +1 -1
- package/es/modules/meeting/components/AgendaList/index.js +4 -7
- package/es/modules/meeting/components/AgendaList/index.js.map +1 -1
- package/es/modules/meeting/components/MeetingQuickViewDialog/index.js +1 -1
- package/es/modules/meeting/components/MeetingQuickViewDialog/index.js.map +1 -1
- package/es/modules/meeting/pages/MeetingList/index.js +6 -5
- package/es/modules/meeting/pages/MeetingList/index.js.map +1 -1
- package/es/modules/tasks/components/SubTaskList/index.js +11 -4
- package/es/modules/tasks/components/SubTaskList/index.js.map +1 -1
- package/es/modules/tasks/components/TaskQuickViewDialog/index.js +1 -1
- package/es/modules/tasks/components/TaskQuickViewDialog/index.js.map +1 -1
- package/es/modules/tasks/pages/TaskList/index.js +10 -7
- package/es/modules/tasks/pages/TaskList/index.js.map +1 -1
- package/package.json +3 -3
- package/es/controls/AssigneeViewFilter/index.js +0 -41
- package/es/controls/AssigneeViewFilter/index.js.map +0 -1
- package/es/data/board/LinkStore.d.ts +0 -11
- package/es/data/board/LinkStore.js +0 -44
- package/es/data/board/LinkStore.js.map +0 -1
- package/es/modules/board/components/LinkList/index.d.ts +0 -4
- package/es/modules/board/components/LinkList/index.js +0 -38
- package/es/modules/board/components/LinkList/index.js.map +0 -1
- package/es/modules/board/components/LinkList/state.d.ts +0 -15
- package/es/modules/board/components/LinkList/state.js +0 -37
- package/es/modules/board/components/LinkList/state.js.map +0 -1
- package/es/modules/board/components/links/index.d.ts +0 -12
- package/es/modules/board/components/links/index.js +0 -26
- package/es/modules/board/components/links/index.js.map +0 -1
- /package/es/controls/{AssigneeViewFilter → filters/AssigneeViewFilter}/index.d.ts +0 -0
- /package/es/controls/{AssigneeViewFilter → filters/AssigneeViewFilter}/index.less +0 -0
@@ -0,0 +1,49 @@
|
|
1
|
+
import { __decorate } from "tslib";
|
2
|
+
import { action, computed, observable, toJS } from "mobx";
|
3
|
+
import { createContext, useContext } from "react";
|
4
|
+
let BoardListContextState = /** @class */ (() => {
|
5
|
+
class BoardListContextState {
|
6
|
+
/** Construct a new BoardListContextState
|
7
|
+
* @param options - Optional initial Document options values.
|
8
|
+
*/
|
9
|
+
constructor(options) {
|
10
|
+
if (options) {
|
11
|
+
this.filters = options.filters;
|
12
|
+
}
|
13
|
+
}
|
14
|
+
replace(o) {
|
15
|
+
if (!this.filters)
|
16
|
+
this.filters = [];
|
17
|
+
const index = this.filters.findIndex(v => v.c === o.c);
|
18
|
+
if (index == -1) {
|
19
|
+
this.filters.push(o);
|
20
|
+
}
|
21
|
+
else {
|
22
|
+
this.filters[index] = o;
|
23
|
+
}
|
24
|
+
}
|
25
|
+
get options() {
|
26
|
+
return {
|
27
|
+
Filters: toJS(this.filters)
|
28
|
+
};
|
29
|
+
}
|
30
|
+
}
|
31
|
+
__decorate([
|
32
|
+
observable
|
33
|
+
], BoardListContextState.prototype, "filters", void 0);
|
34
|
+
__decorate([
|
35
|
+
action
|
36
|
+
], BoardListContextState.prototype, "replace", null);
|
37
|
+
__decorate([
|
38
|
+
computed
|
39
|
+
], BoardListContextState.prototype, "options", null);
|
40
|
+
return BoardListContextState;
|
41
|
+
})();
|
42
|
+
export { BoardListContextState };
|
43
|
+
/** React context for ListContextState. */
|
44
|
+
export const BoardtListContext = createContext(null);
|
45
|
+
/** React hook to retrieve the nearest ListContextState. */
|
46
|
+
export function useBoardtListContext() {
|
47
|
+
return useContext(BoardtListContext);
|
48
|
+
}
|
49
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/data/board/contexts/BoardListContextState/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAIlD;IAAA,MAAa,qBAAqB;QAGjC;;WAEG;QACH,YAAmB,OAAsC;YACxD,IAAI,OAAO,EAAE;gBACZ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;aAC/B;QACF,CAAC;QAIM,OAAO,CAAC,CAAe;YAC7B,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAErC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,IAAI,KAAK,IAAI,CAAC,CAAC,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACrB;iBAAM;gBACN,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACxB;QACF,CAAC;QAID,IAAW,OAAO;YACjB,OAAO;gBACN,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;aAC3B,CAAC;QACH,CAAC;KACD;IA/BY;QAAX,UAAU;0DAAiC;IAa5C;QAFC,MAAM;wDAWN;IAID;QAFC,QAAQ;wDAMR;IACF,4BAAC;KAAA;SAhCY,qBAAqB;AAkClC,0CAA0C;AAC1C,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAwB,IAAW,CAAC,CAAC;AAEnF,2DAA2D;AAC3D,MAAM,UAAU,oBAAoB;IACnC,OAAO,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACtC,CAAC"}
|
package/es/data/board/index.d.ts
CHANGED
package/es/data/board/index.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
export * from "./interfaces";
|
2
2
|
export * from "./BoardStore";
|
3
3
|
export * from "./BoardColumnStore";
|
4
|
-
export * from "./LinkStore";
|
5
4
|
export * from "./hooks";
|
6
5
|
export * from "./types";
|
6
|
+
export * from "./contexts/BoardListContextState";
|
7
7
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data/board/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data/board/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,kCAAkC,CAAC"}
|
@@ -1,28 +1,28 @@
|
|
1
|
+
import { BoardListContextState, BoardtListContext, useBoardColumnListEffect, useBoardColumnStore } from "../../../../data/board";
|
2
|
+
import { CreateDateFilter, DocumentStatusFilter, FlagFilter } from "@voplus/morpho-document/es/controls/filters";
|
1
3
|
import { DragDropContext, Droppable } from "react-beautiful-dnd";
|
2
|
-
import { FilterOptionsContext, FilterOptionsContextState } from "@voplus/morpho-ui/es/data";
|
3
|
-
import { FilterViewContext, FilterViewContextState } from "@voplus/morpho-ui/es/data/FilterViewContext";
|
4
4
|
import { Input, Spin } from "@voplus/antd";
|
5
|
+
import { ListDataContext, useCreateListDataState } from "@voplus/morpho-ui/es/data";
|
5
6
|
import { Observer, useObserver } from "mobx-react-lite";
|
6
7
|
import React, { useEffect, useState } from "react";
|
7
8
|
import { faCheck, faTimes } from "@fortawesome/pro-light-svg-icons";
|
8
|
-
import { useBoardColumnListEffect, useBoardColumnStore } from "../../../../data/board";
|
9
9
|
import BoardColumn from "../BoardColumn";
|
10
10
|
import Card from "@voplus/morpho-ui/es/controls/Card";
|
11
11
|
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
12
|
-
import
|
12
|
+
import ListHeader from "@voplus/morpho-ui/es/components/layout/ListView/headers/ListHeader";
|
13
13
|
import { Scrollbars } from "react-custom-scrollbars";
|
14
14
|
import SearchHeader from "@voplus/morpho-ui/es/components/layout/ListView/components/SearchHeader";
|
15
|
-
import SortViewDropdown from "@voplus/morpho-ui/es/components/layout/ListView/controls/SortViewDropdown";
|
16
15
|
import { State } from "./state";
|
17
16
|
import styles from "./index.less";
|
18
|
-
import { toJS } from "mobx";
|
19
17
|
import { useDocumentStore } from "@voplus/morpho-document";
|
20
18
|
const Board = (props) => {
|
21
19
|
const boards = useBoardColumnStore();
|
22
20
|
const documentStore = useDocumentStore();
|
23
21
|
const [state] = useState(new State(boards, documentStore));
|
24
|
-
/**
|
25
|
-
const
|
22
|
+
/** 建立 ListView 和useTaskListEffect所需的ListDataState. 会根据parentId重建所以不需reset. */
|
23
|
+
const list = useCreateListDataState({}, []);
|
24
|
+
/**把store 传给子级 DocumentItem*/
|
25
|
+
const [lists] = useState(new BoardListContextState());
|
26
26
|
state.props = props;
|
27
27
|
useEffect(state.subscribeOnBoardCreateCallback, []);
|
28
28
|
useBoardColumnListEffect(list => {
|
@@ -30,20 +30,6 @@ const Board = (props) => {
|
|
30
30
|
}, {
|
31
31
|
Filters: [{ c: "ParentNodeId", o: "=", l: "And", v1: props.parentId }]
|
32
32
|
});
|
33
|
-
/** BoardColumn filters sort */
|
34
|
-
const onSort = (value) => {
|
35
|
-
listoptions.sort = value;
|
36
|
-
};
|
37
|
-
/** BoardColumn filters status */
|
38
|
-
const onFilter = (value) => {
|
39
|
-
const { status } = value;
|
40
|
-
listoptions.replace({
|
41
|
-
c: "LinkStatus",
|
42
|
-
o: "contains",
|
43
|
-
l: "And",
|
44
|
-
v1: toJS(JSON.stringify(status))
|
45
|
-
});
|
46
|
-
};
|
47
33
|
/** BoardColumn filters name */
|
48
34
|
const onSearch = (value) => {
|
49
35
|
if (state.timeout) {
|
@@ -51,7 +37,12 @@ const Board = (props) => {
|
|
51
37
|
}
|
52
38
|
state.timeout = setTimeout(() => {
|
53
39
|
state.timeout = null;
|
54
|
-
|
40
|
+
lists.replace({
|
41
|
+
c: "Name",
|
42
|
+
o: "contains",
|
43
|
+
l: "And",
|
44
|
+
v1: value
|
45
|
+
});
|
55
46
|
}, 1500);
|
56
47
|
};
|
57
48
|
const board = useObserver(() => (React.createElement(Droppable, { droppableId: props.parentId, type: "COLUMN", direction: "horizontal" }, provided => (React.createElement(Scrollbars, { autoHide: true },
|
@@ -64,26 +55,28 @@ const Board = (props) => {
|
|
64
55
|
},
|
65
56
|
// eslint-disable-next-line @typescript-eslint/unbound-method
|
66
57
|
ref: provided.innerRef }, provided.droppableProps), (_a = state.boardcolumns) === null || _a === void 0 ? void 0 :
|
67
|
-
_a.map((item, index) => (React.createElement(BoardColumn, { key: item.id, index: index, id: item.id, reload: state.reload, colorStyle: state.colorList[index % 6], destination: state.destination, source: state.source }))),
|
58
|
+
_a.map((item, index) => (React.createElement(BoardColumn, { key: item.id, index: index, id: item.id, reload: state.reload, colorStyle: state.colorList[index % 6], destination: state.destination, source: state.source, onIds: (v) => state.onIds(v) }))),
|
68
59
|
provided.placeholder));
|
69
60
|
}))))));
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
React.createElement(
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
61
|
+
return useObserver(() => (React.createElement(BoardtListContext.Provider, { value: lists },
|
62
|
+
React.createElement(ListDataContext.Provider, { value: list },
|
63
|
+
React.createElement("div", { className: styles["board-context"] },
|
64
|
+
React.createElement(ListHeader, { header: React.createElement(SearchHeader, { onChange: onSearch }), filterViewProps: {
|
65
|
+
columns: [
|
66
|
+
React.createElement(CreateDateFilter, { key: "createDateFilter" }),
|
67
|
+
React.createElement(FlagFilter, { key: "flagFilter" }),
|
68
|
+
React.createElement(DocumentStatusFilter, { key: "documentStatusFilter" })
|
69
|
+
]
|
70
|
+
}, addAble: false }),
|
71
|
+
React.createElement("div", { className: "board-list" },
|
72
|
+
React.createElement(DragDropContext, { onDragEnd: (result) => state.onDragEnd(result) }, board),
|
73
|
+
React.createElement("div", { className: "add-board-controls" }, state.addBoardColumnAble && (React.createElement(Spin, { spinning: state.addLoading },
|
74
|
+
React.createElement(Card, { className: "add-board-able", padding: "0 15px", style: { borderTop: ` solid 2px #3AC43A` } },
|
75
|
+
React.createElement(Input, { placeholder: "STATUS NAME", value: state.name, onChange: e => (state.name = e.target.value) }),
|
76
|
+
React.createElement(FAIcon, { icon: faCheck, onClick: () => state.onSave() }),
|
77
|
+
React.createElement(FAIcon, { icon: faTimes, onClick: () => (state.addBoardColumnAble = false) }))))),
|
78
|
+
React.createElement("div", { className: "add-board" },
|
79
|
+
React.createElement("div", { onClick: () => (state.addBoardColumnAble = true) }, "+ ADD"))))))));
|
87
80
|
};
|
88
81
|
export default Board;
|
89
82
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/board/components/Board/index.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/board/components/Board/index.tsx"],"names":[],"mappings":"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"}
|
@@ -1,67 +1,99 @@
|
|
1
|
-
.board-
|
1
|
+
.board-context {
|
2
2
|
height: 100%;
|
3
3
|
display: flex;
|
4
|
-
|
5
|
-
margin: 10px;
|
6
|
-
padding: 0 10px;
|
4
|
+
flex-direction: column;
|
7
5
|
:global {
|
8
|
-
.
|
9
|
-
flex: 1;
|
6
|
+
.list-view-header {
|
10
7
|
display: flex;
|
11
|
-
|
12
|
-
|
8
|
+
justify-content: space-between;
|
9
|
+
align-items: center;
|
10
|
+
padding: 10px 20px;
|
11
|
+
border-bottom: 1px solid #f2f2f2;
|
12
|
+
background: #ffffff;
|
13
|
+
.view-title {
|
14
|
+
color: #000;
|
15
|
+
font-size: 16px;
|
16
|
+
font-weight: 600;
|
13
17
|
}
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
margin: 8px 0;
|
22
|
-
> div {
|
18
|
+
.plus-icon {
|
19
|
+
display: inline-block;
|
20
|
+
padding: 4px;
|
21
|
+
margin-left: 10px;
|
22
|
+
font-size: 13px;
|
23
|
+
line-height: 1px;
|
24
|
+
background: #1abc9c;
|
23
25
|
cursor: pointer;
|
24
26
|
}
|
25
|
-
|
26
|
-
|
27
|
-
margin: 8px 0 8px 8px;
|
28
|
-
> div > .ant-spin {
|
29
|
-
height: 50px;
|
27
|
+
.margin-left-10 {
|
28
|
+
margin-left: 10px;
|
30
29
|
}
|
31
30
|
}
|
32
|
-
.
|
31
|
+
.board-list {
|
32
|
+
height: 100%;
|
33
33
|
display: flex;
|
34
|
-
justify-content:
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
.ant-input {
|
44
|
-
padding: 0;
|
45
|
-
border: none;
|
34
|
+
justify-content: space-between;
|
35
|
+
padding: 10px 12px;
|
36
|
+
|
37
|
+
.board-sortDnD {
|
38
|
+
flex: 1;
|
39
|
+
display: flex;
|
40
|
+
> div {
|
41
|
+
flex: 1;
|
42
|
+
}
|
46
43
|
}
|
47
|
-
.
|
48
|
-
|
44
|
+
.add-board {
|
45
|
+
width: 100px;
|
46
|
+
min-width: 100px;
|
47
|
+
font-size: 16px;
|
48
|
+
text-align: center;
|
49
|
+
line-height: 50px;
|
50
|
+
margin: 8px 0;
|
51
|
+
> div {
|
52
|
+
cursor: pointer;
|
53
|
+
}
|
49
54
|
}
|
50
|
-
.
|
51
|
-
|
52
|
-
|
55
|
+
.add-board-controls {
|
56
|
+
.ant-spin-nested-loading {
|
57
|
+
margin: 8px 0 8px 8px;
|
58
|
+
> div > .ant-spin {
|
59
|
+
height: 50px;
|
60
|
+
}
|
61
|
+
}
|
62
|
+
}
|
63
|
+
.add-board-able {
|
64
|
+
display: flex;
|
65
|
+
justify-content: center;
|
66
|
+
align-items: center;
|
67
|
+
height: 50px;
|
68
|
+
color: #000000;
|
69
|
+
line-height: 50px;
|
70
|
+
padding: 0 10px;
|
71
|
+
background: #ffffff;
|
72
|
+
margin-bottom: 15px;
|
73
|
+
min-width: 150px;
|
74
|
+
.ant-input {
|
75
|
+
padding: 0;
|
76
|
+
border: none;
|
77
|
+
}
|
78
|
+
.ant-input:focus {
|
79
|
+
box-shadow: none;
|
80
|
+
}
|
81
|
+
.svg-inline--fa {
|
82
|
+
cursor: pointer;
|
83
|
+
margin-left: 8px;
|
84
|
+
}
|
85
|
+
}
|
86
|
+
.ant-calendar {
|
87
|
+
max-width: 250px;
|
53
88
|
}
|
54
|
-
}
|
55
|
-
.ant-calendar {
|
56
|
-
max-width: 250px;
|
57
89
|
}
|
58
90
|
}
|
59
91
|
}
|
60
|
-
.board_header {
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
}
|
92
|
+
// .board_header {
|
93
|
+
// display: flex;
|
94
|
+
// justify-content: space-between;
|
95
|
+
// align-items: center;
|
96
|
+
// padding: 10px 20px;
|
97
|
+
// border-bottom: 1px solid #f2f2f2;
|
98
|
+
// background-color: #ffffff;
|
99
|
+
// }
|
@@ -1,14 +1,21 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
1
|
+
import { BoardColumnStore, IBoardColumn } from "../../../../data/board";
|
2
|
+
import { DocumentStore, IDocument } from "@voplus/morpho-document";
|
3
|
+
import { FilterOption } from "@voplus/morpho-data";
|
3
4
|
export declare type BoardListProps = {
|
4
5
|
parentId: string;
|
5
6
|
};
|
7
|
+
export interface IBoardIds {
|
8
|
+
id: string;
|
9
|
+
ids: string[];
|
10
|
+
}
|
6
11
|
export declare class State {
|
7
12
|
private _store;
|
8
13
|
private _docStore;
|
9
14
|
props: BoardListProps;
|
10
15
|
constructor(_store: BoardColumnStore, _docStore: DocumentStore);
|
11
16
|
boardcolumns: IBoardColumn[];
|
17
|
+
/** board ids */
|
18
|
+
ids: IBoardIds[];
|
12
19
|
/** search filter 1.5秒 */
|
13
20
|
timeout: any;
|
14
21
|
/** add BoardColumn name */
|
@@ -24,11 +31,21 @@ export declare class State {
|
|
24
31
|
destination: any;
|
25
32
|
/** BoardColumn head border-top color */
|
26
33
|
colorList: string[];
|
27
|
-
|
28
|
-
|
34
|
+
/** documentlist filter name */
|
35
|
+
filterName: string;
|
36
|
+
filterList?: FilterOption[];
|
37
|
+
onBoardColumnCreated: (s: DocumentStore, t: IDocument) => void;
|
38
|
+
onBoardColumnDeleted: (s: DocumentStore, t: IDocument) => void;
|
29
39
|
subscribeOnBoardCreateCallback: () => () => void;
|
30
40
|
/** add BoardColumn save */
|
31
41
|
onSave: () => Promise<any>;
|
32
42
|
/** 拖拽方法 */
|
33
|
-
onDragEnd(result: any): void
|
43
|
+
onDragEnd(result: any): Promise<void>;
|
44
|
+
/** 存储ids 放便拖拽后查找 afterId */
|
45
|
+
onIds(v: any): void;
|
46
|
+
/**
|
47
|
+
* document filters
|
48
|
+
* @return document filters
|
49
|
+
*/
|
50
|
+
get filters(): any[];
|
34
51
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { __decorate } from "tslib";
|
2
|
-
import { action, observable } from "mobx";
|
2
|
+
import { action, computed, observable } from "mobx";
|
3
3
|
import { message } from "@voplus/antd";
|
4
4
|
let State = /** @class */ (() => {
|
5
5
|
class State {
|
@@ -7,6 +7,8 @@ let State = /** @class */ (() => {
|
|
7
7
|
this._store = _store;
|
8
8
|
this._docStore = _docStore;
|
9
9
|
this.boardcolumns = [];
|
10
|
+
/** board ids */
|
11
|
+
this.ids = [];
|
10
12
|
/** search filter 1.5秒 */
|
11
13
|
this.timeout = null;
|
12
14
|
/** add BoardColumn name */
|
@@ -18,21 +20,25 @@ let State = /** @class */ (() => {
|
|
18
20
|
this.addBoardColumnAble = false;
|
19
21
|
/** BoardColumn head border-top color */
|
20
22
|
this.colorList = ["#765FEE", "#fe4066", "#FFC832", "#FF8F5E", "#16ecec", "#FFC832"];
|
23
|
+
/** documentlist filter name */
|
24
|
+
this.filterName = "";
|
25
|
+
this.filterList = [];
|
21
26
|
this.onBoardColumnCreated = (s, t) => {
|
22
|
-
if (t.parentId === this.props.parentId) {
|
27
|
+
if (t.parentId === this.props.parentId && t.type == "BoardColumn") {
|
23
28
|
this.boardcolumns.push(t);
|
24
29
|
this.reload = true;
|
25
30
|
}
|
26
31
|
};
|
27
32
|
this.onBoardColumnDeleted = (s, t) => {
|
28
|
-
|
33
|
+
if (t.type == "BoardColumn")
|
34
|
+
this.boardcolumns = this.boardcolumns.filter(item => item.id !== t.id);
|
29
35
|
};
|
30
36
|
this.subscribeOnBoardCreateCallback = () => {
|
31
|
-
this.
|
32
|
-
this.
|
37
|
+
this._docStore.DocumentCreatedEvent.subscribe(this.onBoardColumnCreated);
|
38
|
+
this._docStore.DocumentDeletedEvent.subscribe(this.onBoardColumnDeleted);
|
33
39
|
return () => {
|
34
|
-
this.
|
35
|
-
this.
|
40
|
+
this._docStore.DocumentCreatedEvent.unsubscribe(this.onBoardColumnCreated);
|
41
|
+
this._docStore.DocumentDeletedEvent.unsubscribe(this.onBoardColumnDeleted);
|
36
42
|
};
|
37
43
|
};
|
38
44
|
/** add BoardColumn save */
|
@@ -46,7 +52,7 @@ let State = /** @class */ (() => {
|
|
46
52
|
};
|
47
53
|
}
|
48
54
|
/** 拖拽方法 */
|
49
|
-
onDragEnd(result) {
|
55
|
+
async onDragEnd(result) {
|
50
56
|
// dropped nowhere
|
51
57
|
if (!result.destination) {
|
52
58
|
return;
|
@@ -71,21 +77,58 @@ let State = /** @class */ (() => {
|
|
71
77
|
this.boardcolumns.splice(destination.index, 0, removed);
|
72
78
|
return;
|
73
79
|
}
|
74
|
-
|
75
|
-
|
76
|
-
this._docStore.moveLinks(destination.droppableId, source.droppableId, [{ Type: "Association", RightId: rightId, Position: destination.index }], [linkId]);
|
77
|
-
this.source = { id: source.droppableId, linkId: linkId };
|
80
|
+
// destination,source 数据 传给SubDocumentList 进行reordering list
|
81
|
+
this.source = { parentId: source.droppableId, id: draggableId };
|
78
82
|
this.destination = {
|
79
|
-
|
80
|
-
|
81
|
-
linkId: linkId,
|
83
|
+
parentId: destination.droppableId,
|
84
|
+
id: draggableId,
|
82
85
|
index: destination.index
|
83
86
|
};
|
87
|
+
let afterId = "";
|
88
|
+
const idsList = this.ids.filter(item => item.id === destination.droppableId);
|
89
|
+
const index = destination.index - 1;
|
90
|
+
if (index >= 0) {
|
91
|
+
afterId = idsList[0].ids[index];
|
92
|
+
}
|
93
|
+
if (destination.droppableId === source.droppableId) {
|
94
|
+
this._docStore.moveAfter(draggableId, afterId);
|
95
|
+
}
|
96
|
+
else {
|
97
|
+
await this._docStore.move([draggableId], destination.droppableId);
|
98
|
+
if (afterId !== "") {
|
99
|
+
this._docStore.moveAfter(draggableId, afterId);
|
100
|
+
}
|
101
|
+
}
|
102
|
+
}
|
103
|
+
/** 存储ids 放便拖拽后查找 afterId */
|
104
|
+
onIds(v) {
|
105
|
+
const index = this.ids.findIndex(i => i.id === v.id);
|
106
|
+
if (index == -1) {
|
107
|
+
this.ids.push({ id: v.id, ids: v.ids });
|
108
|
+
}
|
109
|
+
else {
|
110
|
+
this.ids[index] = { id: v.id, ids: v.ids };
|
111
|
+
}
|
112
|
+
}
|
113
|
+
/**
|
114
|
+
* document filters
|
115
|
+
* @return document filters
|
116
|
+
*/
|
117
|
+
get filters() {
|
118
|
+
let filters = [];
|
119
|
+
if (this.filterName) {
|
120
|
+
filters.push({ c: "Name", o: "contains", v1: this.filterName, l: "And" });
|
121
|
+
}
|
122
|
+
filters = [...filters, ...this.filterList];
|
123
|
+
return filters;
|
84
124
|
}
|
85
125
|
}
|
86
126
|
__decorate([
|
87
127
|
observable
|
88
128
|
], State.prototype, "boardcolumns", void 0);
|
129
|
+
__decorate([
|
130
|
+
observable
|
131
|
+
], State.prototype, "ids", void 0);
|
89
132
|
__decorate([
|
90
133
|
observable
|
91
134
|
], State.prototype, "timeout", void 0);
|
@@ -110,12 +153,24 @@ let State = /** @class */ (() => {
|
|
110
153
|
__decorate([
|
111
154
|
observable
|
112
155
|
], State.prototype, "colorList", void 0);
|
156
|
+
__decorate([
|
157
|
+
observable
|
158
|
+
], State.prototype, "filterName", void 0);
|
159
|
+
__decorate([
|
160
|
+
observable
|
161
|
+
], State.prototype, "filterList", void 0);
|
113
162
|
__decorate([
|
114
163
|
action
|
115
164
|
], State.prototype, "onSave", void 0);
|
116
165
|
__decorate([
|
117
166
|
action
|
118
167
|
], State.prototype, "onDragEnd", null);
|
168
|
+
__decorate([
|
169
|
+
action
|
170
|
+
], State.prototype, "onIds", null);
|
171
|
+
__decorate([
|
172
|
+
computed
|
173
|
+
], State.prototype, "filters", null);
|
119
174
|
return State;
|
120
175
|
})();
|
121
176
|
export { State };
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/modules/board/components/Board/state.ts"],"names":[],"mappings":";
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/modules/board/components/Board/state.ts"],"names":[],"mappings":"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"}
|