@voplus/morpho-workspace 1.0.0-dev59 → 1.0.0-dev60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/AvatarList/AvatarMenu.d.ts +4 -0
- package/es/components/AvatarList/AvatarMenu.js +79 -0
- package/es/components/AvatarList/AvatarMenu.js.map +1 -0
- package/es/components/AvatarList/state.d.ts +10 -0
- package/es/components/AvatarList/state.js +4 -0
- package/es/components/AvatarList/state.js.map +1 -1
- package/es/components/TagView/index.d.ts +15 -0
- package/es/components/TagView/index.js +87 -0
- package/es/components/TagView/index.js.map +1 -0
- package/es/components/TagView/index.less +37 -0
- package/es/components/TagView/state.d.ts +14 -0
- package/es/components/TagView/state.js +48 -0
- package/es/components/TagView/state.js.map +1 -0
- package/es/data/board/LinkStore.d.ts +11 -0
- package/es/data/board/LinkStore.js +40 -0
- package/es/data/board/LinkStore.js.map +1 -0
- package/es/data/board/index.d.ts +1 -0
- package/es/data/board/index.js +1 -0
- package/es/data/board/index.js.map +1 -1
- package/es/data/task/interfaces.d.ts +2 -1
- package/es/modules/BoardView/components/Board/index.d.ts +5 -0
- package/es/modules/BoardView/components/Board/index.js +144 -0
- package/es/modules/BoardView/components/Board/index.js.map +1 -0
- package/es/modules/BoardView/components/{BoardList → Board}/index.less +10 -0
- package/es/modules/BoardView/components/Board/state.d.ts +4 -0
- package/es/modules/BoardView/components/Board/state.js +11 -0
- package/es/modules/BoardView/components/Board/state.js.map +1 -0
- package/es/modules/BoardView/components/BoardColumn/index.d.ts +3 -1
- package/es/modules/BoardView/components/BoardColumn/index.js +46 -44
- package/es/modules/BoardView/components/BoardColumn/index.js.map +1 -1
- package/es/modules/BoardView/components/BoardColumn/index.less +163 -7
- package/es/modules/BoardView/components/DocumentCard/index.js +8 -11
- package/es/modules/BoardView/components/DocumentCard/index.js.map +1 -1
- package/es/modules/BoardView/components/LinkList/index.d.ts +2 -5
- package/es/modules/BoardView/components/LinkList/index.js +24 -34
- package/es/modules/BoardView/components/LinkList/index.js.map +1 -1
- package/es/modules/BoardView/components/TaskCard/index.d.ts +0 -1
- package/es/modules/BoardView/components/TaskCard/index.js +12 -13
- package/es/modules/BoardView/components/TaskCard/index.js.map +1 -1
- package/es/modules/BoardView/components/links/index.d.ts +12 -0
- package/es/modules/BoardView/components/links/index.js +24 -0
- package/es/modules/BoardView/components/links/index.js.map +1 -0
- package/es/modules/BoardView/pages/BoardViewList/index.d.ts +1 -3
- package/es/modules/BoardView/pages/BoardViewList/index.js +13 -14
- package/es/modules/BoardView/pages/BoardViewList/index.js.map +1 -1
- package/es/modules/BoardView/pages/BoardViewList/state.d.ts +5 -0
- package/es/modules/BoardView/pages/BoardViewList/state.js +14 -0
- package/es/modules/BoardView/pages/BoardViewList/state.js.map +1 -0
- package/es/modules/BoardView/pages/BoardViewRoutes.d.ts +16 -2
- package/es/modules/BoardView/pages/BoardViewRoutes.js +33 -4
- package/es/modules/BoardView/pages/BoardViewRoutes.js.map +1 -1
- package/es/modules/meeting/components/MeetingDescription/index.js +6 -8
- package/es/modules/meeting/components/MeetingDescription/index.js.map +1 -1
- package/es/modules/meeting/components/MeetingDetail/index.less +1 -0
- package/es/modules/meeting/pages/MeetingPrintView/index.js +5 -7
- package/es/modules/meeting/pages/MeetingPrintView/index.js.map +1 -1
- package/es/modules/meeting/pages/MeetingPrintView/index.less +53 -0
- package/es/modules/meeting/pages/MeetingTabView/index.js +3 -5
- package/es/modules/meeting/pages/MeetingTabView/index.js.map +1 -1
- package/es/modules/tasks/components/TaskDescription/index.js +6 -8
- package/es/modules/tasks/components/TaskDescription/index.js.map +1 -1
- package/es/modules/tasks/components/TaskDescription/index.less +1 -0
- package/es/modules/tasks/components/TaskDetail/index.js +2 -1
- package/es/modules/tasks/components/TaskDetail/index.js.map +1 -1
- package/es/modules/tasks/components/TaskHeader/index.js +6 -3
- package/es/modules/tasks/components/TaskHeader/index.js.map +1 -1
- package/es/modules/tasks/components/TaskItem/TaskItem.d.ts +1 -0
- package/es/modules/tasks/components/TaskItem/TaskItem.js +3 -3
- package/es/modules/tasks/components/TaskItem/TaskItem.js.map +1 -1
- package/es/modules/tasks/pages/TaskTabView/index.js +7 -8
- package/es/modules/tasks/pages/TaskTabView/index.js.map +1 -1
- package/package.json +6 -5
- package/es/modules/BoardView/components/BoardList/index.d.ts +0 -5
- package/es/modules/BoardView/components/BoardList/index.js +0 -84
- package/es/modules/BoardView/components/BoardList/index.js.map +0 -1
- package/es/modules/BoardView/components/BoardList/state.d.ts +0 -14
- package/es/modules/BoardView/components/BoardList/state.js +0 -59
- package/es/modules/BoardView/components/BoardList/state.js.map +0 -1
- package/es/modules/BoardView/components/ReactBeautifulDnd/authorItem.d.ts +0 -14
- package/es/modules/BoardView/components/ReactBeautifulDnd/authorItem.js +0 -45
- package/es/modules/BoardView/components/ReactBeautifulDnd/authorItem.js.map +0 -1
- package/es/modules/BoardView/components/ReactBeautifulDnd/authorList.d.ts +0 -21
- package/es/modules/BoardView/components/ReactBeautifulDnd/authorList.js +0 -34
- package/es/modules/BoardView/components/ReactBeautifulDnd/authorList.js.map +0 -1
- package/es/modules/BoardView/components/ReactBeautifulDnd/board.d.ts +0 -9
- package/es/modules/BoardView/components/ReactBeautifulDnd/board.js +0 -129
- package/es/modules/BoardView/components/ReactBeautifulDnd/board.js.map +0 -1
- package/es/modules/BoardView/components/ReactBeautifulDnd/column.d.ts +0 -11
- package/es/modules/BoardView/components/ReactBeautifulDnd/column.js +0 -29
- package/es/modules/BoardView/components/ReactBeautifulDnd/column.js.map +0 -1
- package/es/modules/BoardView/components/ReactBeautifulDnd/data.d.ts +0 -3
- package/es/modules/BoardView/components/ReactBeautifulDnd/data.js +0 -109
- package/es/modules/BoardView/components/ReactBeautifulDnd/data.js.map +0 -1
- package/es/modules/BoardView/components/ReactBeautifulDnd/index.less +0 -162
- package/es/modules/BoardView/components/ReactBeautifulDnd/state.d.ts +0 -13
- package/es/modules/BoardView/components/ReactBeautifulDnd/state.js +0 -36
- package/es/modules/BoardView/components/ReactBeautifulDnd/state.js.map +0 -1
@@ -18,10 +18,17 @@
|
|
18
18
|
font-size: 16px;
|
19
19
|
text-align: center;
|
20
20
|
line-height: 50px;
|
21
|
+
margin: 8px 0;
|
21
22
|
> div {
|
22
23
|
cursor: pointer;
|
23
24
|
}
|
24
25
|
}
|
26
|
+
.ant-spin-nested-loading {
|
27
|
+
margin: 8px 0 8px 8px;
|
28
|
+
> div > .ant-spin {
|
29
|
+
height: 50px;
|
30
|
+
}
|
31
|
+
}
|
25
32
|
.add-board-able {
|
26
33
|
display: flex;
|
27
34
|
justify-content: center;
|
@@ -45,6 +52,9 @@
|
|
45
52
|
margin-left: 8px;
|
46
53
|
}
|
47
54
|
}
|
55
|
+
.ant-calendar {
|
56
|
+
max-width: 250px;
|
57
|
+
}
|
48
58
|
}
|
49
59
|
}
|
50
60
|
.board_header {
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { __decorate } from "tslib";
|
2
|
+
import { observable } from "mobx";
|
3
|
+
export class State {
|
4
|
+
constructor() {
|
5
|
+
this.boardcolumns = [];
|
6
|
+
}
|
7
|
+
}
|
8
|
+
__decorate([
|
9
|
+
observable
|
10
|
+
], State.prototype, "boardcolumns", void 0);
|
11
|
+
//# sourceMappingURL=state.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/modules/BoardView/components/Board/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAGlC,MAAM,OAAO,KAAK;IAAlB;QACoB,iBAAY,GAAmB,EAAE,CAAC;IACtD,CAAC;CAAA;AADY;IAAX,UAAU;2CAA0C"}
|
@@ -2,72 +2,73 @@ import { faEllipsisH, faPlus } from "@fortawesome/pro-light-svg-icons";
|
|
2
2
|
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
3
3
|
import { Checkbox, Input, Spin, message } from "@voplus/antd";
|
4
4
|
import DocumentMenu from "@voplus/morpho-document/es/components/DocumentMenu";
|
5
|
-
import
|
5
|
+
import { Scrollbars } from "react-custom-scrollbars";
|
6
6
|
import { useObserver } from "mobx-react-lite";
|
7
7
|
import React, { useState } from "react";
|
8
8
|
import classnames from "classnames";
|
9
|
-
import {
|
9
|
+
import { LinkStore } from "../../../../data/board";
|
10
10
|
import DocumentSelectDialog from "@voplus/morpho-document/es/components/DocumentSelectDialog";
|
11
11
|
import { useBoardColumnStore, useBoardColumn } from "../../../../data/board";
|
12
12
|
import { useDocumentStore } from "@voplus/morpho-document";
|
13
|
-
import
|
13
|
+
import { Draggable } from "react-beautiful-dnd";
|
14
|
+
import Links from "../links";
|
14
15
|
import styles from "./index.less";
|
15
16
|
import { State } from "./state";
|
16
17
|
const BoardColumn = (props) => {
|
18
|
+
const { index, destination, source } = { ...props };
|
17
19
|
const documentStore = useDocumentStore();
|
18
20
|
const boardStore = useBoardColumnStore();
|
19
|
-
const [store] = useState(new
|
21
|
+
const [store] = useState(new LinkStore());
|
20
22
|
const [state] = useState(new State());
|
21
|
-
|
22
|
-
|
23
|
+
const [editable, setEditable] = useState(false);
|
24
|
+
const [reload, setReload] = useState(!!props.reload);
|
25
|
+
const [name, setName] = useState("");
|
26
|
+
const [linkL, setLinkL] = useState(0); //link数量
|
27
|
+
const [addLinks, setAddLinks] = useState(false);
|
28
|
+
state.boardcolumn = useBoardColumn(props.id, { reload: reload });
|
23
29
|
const onAddTaskAble = (addAble) => {
|
24
30
|
state.AddBoardAble = addAble;
|
25
31
|
};
|
26
32
|
const onBlur = async () => {
|
27
|
-
|
28
|
-
if (!state.name) {
|
33
|
+
if (!name) {
|
29
34
|
return message.warn("Title is required");
|
30
35
|
}
|
31
|
-
if (
|
36
|
+
if (name.trim() === state.boardcolumn.name) {
|
32
37
|
// 没有变动无需请求
|
33
|
-
return (
|
38
|
+
return setEditable(false);
|
34
39
|
}
|
35
|
-
|
36
|
-
state.boardcolumn.name =
|
37
|
-
|
40
|
+
documentStore.edit(props.id, { Name: name });
|
41
|
+
state.boardcolumn.name = name;
|
42
|
+
setEditable(!editable);
|
38
43
|
};
|
39
44
|
const onEdit = () => {
|
40
|
-
state.
|
41
|
-
|
45
|
+
setName(state.boardcolumn.name);
|
46
|
+
setEditable(!editable);
|
42
47
|
};
|
43
48
|
const onDelete = async () => {
|
44
49
|
await boardStore.delete([state.boardcolumn.id], { DeleteChilds: true });
|
45
50
|
};
|
46
51
|
const onMove = () => {
|
47
|
-
store.onMove([props.id]);
|
52
|
+
// store.onMove([props.id]);
|
48
53
|
};
|
49
54
|
const onPaste = async () => {
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
+
if (!store.moveIds.length)
|
56
|
+
return message.warn("nothing to cut");
|
57
|
+
const sourceId = store.moveIds[0]?.leftId;
|
58
|
+
if (!sourceId)
|
59
|
+
return message.warn("Not a link file");
|
60
|
+
const AddLinks = store.moveIds.map(({ rightId }) => ({
|
61
|
+
Type: "Association",
|
62
|
+
RightId: rightId
|
63
|
+
}));
|
64
|
+
const RemoveLinks = store.moveIds.map(({ linkId }) => linkId);
|
65
|
+
await store.onPaste(() => documentStore.moveLinks(props.id, sourceId, AddLinks, RemoveLinks));
|
66
|
+
setReload(true);
|
55
67
|
};
|
56
|
-
const
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
// 有变更才保存
|
61
|
-
if (!noChange) {
|
62
|
-
await boardStore.edit(state.boardcolumn.id, { Name: state.name });
|
63
|
-
}
|
64
|
-
state.editable = false;
|
65
|
-
};
|
66
|
-
const onSelect = async (ids) => {
|
67
|
-
await documentStore.editLinks(props.id, {
|
68
|
-
AddLinks: [{ Type: "Association", RightId: ids[0] }]
|
69
|
-
});
|
70
|
-
state.AddLinks = false;
|
68
|
+
const onSelect = async (links) => {
|
69
|
+
const AddLinks = links.map((RightId) => ({ Type: "Association", RightId: RightId }));
|
70
|
+
await documentStore.editLinks(props.id, { AddLinks });
|
71
|
+
setAddLinks(false);
|
71
72
|
};
|
72
73
|
const onCheckAllChange = (e) => {
|
73
74
|
state.checkAll = e.target.checked;
|
@@ -77,19 +78,20 @@ const BoardColumn = (props) => {
|
|
77
78
|
state.checkAll = checkAll;
|
78
79
|
// state.checkAll = checkedValues.length === state.boardcolumn.length;
|
79
80
|
};
|
80
|
-
return useObserver(() => (React.createElement("div", { className: classnames(styles["board-column"]) },
|
81
|
-
React.createElement(
|
81
|
+
return useObserver(() => (React.createElement(Draggable, { draggableId: state.boardcolumn.id, index: index }, (provided, snapshot) => (React.createElement("div", Object.assign({ className: classnames(styles["board-column"], snapshot.isDragging && "action"), ref: provided.innerRef }, provided.draggableProps),
|
82
|
+
React.createElement("div", Object.assign({ className: "content-top", style: { borderTop: ` solid 2px ${props.colorStyle}` } }, provided.dragHandleProps),
|
82
83
|
React.createElement("div", { className: "board-name" },
|
83
84
|
state.checked && React.createElement(Checkbox, { onChange: onCheckAllChange, checked: state.checkAll }),
|
84
|
-
|
85
|
-
React.createElement(Input.TextArea, { autosize: true, autoFocus: true, value:
|
86
|
-
!
|
85
|
+
editable ? (React.createElement(Spin, { spinning: state.loading },
|
86
|
+
React.createElement(Input.TextArea, { autosize: true, autoFocus: true, value: name, onBlur: onBlur, onChange: e => setName(e.target.value) }))) : (React.createElement("div", { className: "task-card-title" }, state.boardcolumn.name)),
|
87
|
+
!editable && React.createElement("span", { className: "board-length" }, linkL)),
|
87
88
|
React.createElement("div", { className: "board-control" },
|
88
89
|
React.createElement(DocumentMenu, { icon: faEllipsisH, onEdit: onEdit, onDelete: onDelete, onPaste: onPaste }),
|
89
|
-
React.createElement("span", { onClick: () => (
|
90
|
+
React.createElement("span", { onClick: () => setAddLinks(!addLinks) },
|
90
91
|
React.createElement(FAIcon, { style: { marginLeft: "15px", color: props.colorStyle }, icon: faPlus })))),
|
91
|
-
React.createElement(
|
92
|
-
|
92
|
+
React.createElement(Scrollbars, null,
|
93
|
+
React.createElement(Links, { id: props.id, listId: state.boardcolumn.id, listType: "QUOTE", addAble: state.AddBoardAble, onAddAble: onAddTaskAble, onLinkNum: (links) => setLinkL(links), destination: destination, source: source })),
|
94
|
+
addLinks && (React.createElement(DocumentSelectDialog, { parentId: "1bcb6b00-cf75-4c6d-9147-ab5d003567d3", onSelect: onSelect })))))));
|
93
95
|
};
|
94
96
|
export default BoardColumn;
|
95
97
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/BoardView/components/BoardColumn/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAU,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,YAAY,MAAM,oDAAoD,CAAC;AAC9E,OAAO,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/BoardView/components/BoardColumn/index.tsx"],"names":[],"mappings":"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"}
|
@@ -1,19 +1,32 @@
|
|
1
1
|
.board-column {
|
2
|
-
|
2
|
+
min-width: 250px;
|
3
|
+
margin: 8px;
|
3
4
|
display: flex;
|
4
5
|
flex-direction: column;
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
overflow: hidden;
|
6
|
+
&:global(.action) {
|
7
|
+
opacity: 0.5;
|
8
|
+
}
|
9
9
|
:global {
|
10
|
+
.header {
|
11
|
+
display: flex;
|
12
|
+
align-items: center;
|
13
|
+
justify-content: center;
|
14
|
+
border-top-left-radius: 2px;
|
15
|
+
border-top-right-radius: 2px;
|
16
|
+
background-color: #e6f7ff;
|
17
|
+
transition: background-color 0.2s ease;
|
18
|
+
|
19
|
+
&:hover {
|
20
|
+
background-color: #afd3e4;
|
21
|
+
}
|
22
|
+
}
|
10
23
|
.content-top {
|
11
|
-
flex: 1;
|
24
|
+
// flex: 1;
|
12
25
|
display: flex;
|
13
26
|
justify-content: space-between;
|
14
27
|
height: 50px;
|
15
28
|
line-height: 50px;
|
16
|
-
padding: 0
|
29
|
+
padding: 0 15px;
|
17
30
|
background: #ffffff;
|
18
31
|
margin-bottom: 15px;
|
19
32
|
.board-name {
|
@@ -63,5 +76,148 @@
|
|
63
76
|
padding: 0 6px;
|
64
77
|
margin-bottom: 15px;
|
65
78
|
}
|
79
|
+
.title {
|
80
|
+
padding: 8px;
|
81
|
+
transition: background-color ease 0.2s;
|
82
|
+
flex-grow: 1;
|
83
|
+
user-select: none;
|
84
|
+
position: relative;
|
85
|
+
&:focus {
|
86
|
+
outline: 2px solid #e6f7ff;
|
87
|
+
outline-offset: 2px;
|
88
|
+
}
|
89
|
+
}
|
90
|
+
.dropZone {
|
91
|
+
/* stop the list collapsing when empty */
|
92
|
+
min-height: 250px;
|
93
|
+
|
94
|
+
/*
|
95
|
+
not relying on the items for a margin-bottom
|
96
|
+
as it will collapse when the list is empty
|
97
|
+
*/
|
98
|
+
padding-bottom: 8px;
|
99
|
+
}
|
100
|
+
.wrapper {
|
101
|
+
flex: 1;
|
102
|
+
display: flex;
|
103
|
+
flex-direction: column;
|
104
|
+
// padding: 8px;
|
105
|
+
border: 8px;
|
106
|
+
padding-bottom: 0;
|
107
|
+
transition: background-color 0.2s ease, opacity 0.1s ease;
|
108
|
+
user-select: none;
|
109
|
+
width: 250px;
|
110
|
+
// background: #e6f7ff;
|
111
|
+
}
|
112
|
+
.scrollContainer {
|
113
|
+
overflow-x: hidden;
|
114
|
+
overflow-y: auto;
|
115
|
+
max-height: 250px;
|
116
|
+
}
|
117
|
+
.link-container {
|
118
|
+
border-radius: 2px;
|
119
|
+
// border: 2px solid transparent;
|
120
|
+
// border-color: ${props => getBorderColor(props.isDragging, props.colors)};
|
121
|
+
// background-color: ${props =>
|
122
|
+
// getBackgroundColor(props.isDragging, props.isGroupedOver, props.colors)};
|
123
|
+
// box-shadow: ${({ isDragging }) =>
|
124
|
+
// isDragging ? `2px 2px 1px ${colors.N70}` : 'none'};
|
125
|
+
// background: #ffffff;
|
126
|
+
// box-sizing: border-box;
|
127
|
+
// padding: 8px;
|
128
|
+
min-height: 40px;
|
129
|
+
// margin-bottom: 8px;
|
130
|
+
user-select: none;
|
131
|
+
|
132
|
+
/* anchor overrides */
|
133
|
+
color: #1f2021;
|
134
|
+
|
135
|
+
&:hover,
|
136
|
+
&:active {
|
137
|
+
color: #afd3e4;
|
138
|
+
text-decoration: none;
|
139
|
+
}
|
140
|
+
|
141
|
+
&:focus {
|
142
|
+
outline: none;
|
143
|
+
// border-color: ${props => props.colors.hard};
|
144
|
+
box-shadow: none;
|
145
|
+
}
|
146
|
+
|
147
|
+
/* flexbox */
|
148
|
+
display: flex;
|
149
|
+
}
|
150
|
+
.avatar {
|
151
|
+
width: 40px;
|
152
|
+
height: 40px;
|
153
|
+
border-radius: 50%;
|
154
|
+
margin-right: 8px;
|
155
|
+
flex-shrink: 0;
|
156
|
+
flex-grow: 0;
|
157
|
+
}
|
158
|
+
.cloneBadge {
|
159
|
+
background: #afd3e4;
|
160
|
+
bottom: 4px;
|
161
|
+
border: 2px solid #e6f7ff;
|
162
|
+
border-radius: 50%;
|
163
|
+
box-sizing: border-box;
|
164
|
+
font-size: 10px;
|
165
|
+
position: absolute;
|
166
|
+
right: -13px;
|
167
|
+
top: -13px;
|
168
|
+
transform: rotate(40deg);
|
169
|
+
|
170
|
+
height: 40px;
|
171
|
+
width: 40px;
|
172
|
+
|
173
|
+
display: flex;
|
174
|
+
justify-content: center;
|
175
|
+
align-items: center;
|
176
|
+
}
|
177
|
+
.link-content {
|
178
|
+
/* flex child */
|
179
|
+
flex-grow: 1;
|
180
|
+
|
181
|
+
/*
|
182
|
+
Needed to wrap text in ie11
|
183
|
+
https://stackoverflow.com/questions/35111090/why-ie11-doesnt-wrap-the-text-in-flexbox
|
184
|
+
*/
|
185
|
+
flex-basis: 100%;
|
186
|
+
|
187
|
+
/* flex parent */
|
188
|
+
display: flex;
|
189
|
+
flex-direction: column;
|
190
|
+
}
|
191
|
+
.blockQuote {
|
192
|
+
&::before {
|
193
|
+
content: open-quote;
|
194
|
+
}
|
195
|
+
|
196
|
+
&::after {
|
197
|
+
content: close-quote;
|
198
|
+
}
|
199
|
+
}
|
200
|
+
.footer {
|
201
|
+
display: flex;
|
202
|
+
margin-top: 8px;
|
203
|
+
align-items: center;
|
204
|
+
}
|
205
|
+
.author {
|
206
|
+
color: #333333;
|
207
|
+
flex-grow: 0;
|
208
|
+
margin: 0;
|
209
|
+
background-color: #eeeeee;
|
210
|
+
border-radius: 2px;
|
211
|
+
font-weight: normal;
|
212
|
+
padding: 4px;
|
213
|
+
}
|
214
|
+
.quoteId {
|
215
|
+
flex-grow: 1;
|
216
|
+
flex-shrink: 1;
|
217
|
+
margin: 0;
|
218
|
+
font-weight: normal;
|
219
|
+
text-overflow: ellipsis;
|
220
|
+
text-align: right;
|
221
|
+
}
|
66
222
|
}
|
67
223
|
}
|
@@ -2,7 +2,7 @@ import { faBars, faCommentDots, faCopy, faPaperclip, faSave, faUndo } from "@for
|
|
2
2
|
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
3
3
|
import { Button, Checkbox, Input, message, Spin } from "@voplus/antd";
|
4
4
|
import { useDocument, useDocumentStore } from "@voplus/morpho-document";
|
5
|
-
import {
|
5
|
+
import { LinkStore } from "../../../../data/board";
|
6
6
|
import Card from "@voplus/morpho-ui/es/controls/Card";
|
7
7
|
import classnames from "classnames";
|
8
8
|
import { useObserver } from "mobx-react-lite";
|
@@ -13,17 +13,13 @@ import styles from "./index.less";
|
|
13
13
|
import { State } from "./state";
|
14
14
|
const DocumentCard = (props) => {
|
15
15
|
const [state] = useState(new State());
|
16
|
-
const [store] = useState(new
|
17
|
-
// const taskStore = useTaskStore();
|
16
|
+
const [store] = useState(new LinkStore());
|
18
17
|
const documentStore = useDocumentStore();
|
19
18
|
const [parentReadonly, setParentReadonly] = useState(false);
|
19
|
+
const { id, leftId, linkId } = { ...props };
|
20
20
|
state.reload = !!props.reload;
|
21
21
|
state.document = useDocument(props.id, { reload: parentReadonly });
|
22
22
|
const readonly = state.document.status === "Readonly";
|
23
|
-
const onSaveMember = async (ids) => {
|
24
|
-
// state.ids = ids;
|
25
|
-
// await taskStore.edit(state.document.id, { MemberIds: ids });
|
26
|
-
};
|
27
23
|
const onSave = async () => {
|
28
24
|
if (!state.name) {
|
29
25
|
return message.warn("Title is required");
|
@@ -46,12 +42,13 @@ const DocumentCard = (props) => {
|
|
46
42
|
documentStore.editLinks(props.leftId, { RemoveLinks: [props.linkId] });
|
47
43
|
};
|
48
44
|
const onMove = () => {
|
49
|
-
store.onMove([
|
45
|
+
store.onMove([{ leftId: leftId, rightId: id, linkId: linkId }]);
|
50
46
|
};
|
51
47
|
const onPaste = async () => {
|
52
|
-
|
48
|
+
const moveIds = store.moveIds.map((item) => item.rightId);
|
49
|
+
if (moveIds.some((id) => id === props.id))
|
53
50
|
return message.warn("Cannot move to itself");
|
54
|
-
await store.onPaste(() => documentStore.move(
|
51
|
+
await store.onPaste(() => documentStore.move(moveIds, id));
|
55
52
|
state.reload = true;
|
56
53
|
};
|
57
54
|
const onLock = () => {
|
@@ -76,7 +73,7 @@ const DocumentCard = (props) => {
|
|
76
73
|
React.createElement(FAIcon, { icon: faCopy }),
|
77
74
|
0)));
|
78
75
|
const { multiple } = props;
|
79
|
-
return useObserver(() => (React.createElement(Card, { className: styles["task-card"], shadow: true },
|
76
|
+
return useObserver(() => (React.createElement(Card, { className: styles["task-card"], padding: "15px 12px", shadow: true },
|
80
77
|
React.createElement("div", { className: "task-card-item", onMouseOver: () => (state.isHover = true), onMouseLeave: () => (state.isHover = false) },
|
81
78
|
React.createElement("div", { className: "task-card-head" },
|
82
79
|
multiple && React.createElement(Checkbox, { value: state.document.id, className: "multiple-box" }),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/BoardView/components/DocumentCard/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACN,MAAM,EACN,aAAa,EACb,MAAM,EACN,WAAW,EACX,MAAM,EACN,MAAM,EACN,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAc,IAAI,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/BoardView/components/DocumentCard/index.tsx"],"names":[],"mappings":"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"}
|
@@ -1,11 +1,8 @@
|
|
1
1
|
import React from "react";
|
2
2
|
declare const _default: React.FunctionComponent<{
|
3
3
|
id: string;
|
4
|
-
addAble?: boolean | undefined;
|
5
|
-
onAddAble?: ((params?: boolean | undefined) => void) | undefined;
|
6
|
-
checked?: boolean | undefined;
|
7
|
-
checkAll?: boolean | undefined;
|
8
|
-
onCheck?: ((params?: any) => void) | undefined;
|
9
4
|
onLinkNum?: ((params?: any) => void) | undefined;
|
5
|
+
destination?: any;
|
6
|
+
source?: any;
|
10
7
|
}>;
|
11
8
|
export default _default;
|
@@ -1,60 +1,50 @@
|
|
1
|
-
import { Checkbox } from "@voplus/antd";
|
2
|
-
import SortDnD from "@voplus/morpho-ui/es/controls/SortDnD";
|
3
1
|
import { useObserver, observer } from "mobx-react-lite";
|
4
|
-
import React, {
|
5
|
-
import { Scrollbars } from "react-custom-scrollbars";
|
6
|
-
import NewTaskForm from "../NewTaskForm";
|
2
|
+
import React, { useState, useEffect } from "react";
|
7
3
|
import TaskCard from "../TaskCard";
|
8
4
|
import DocumentCard from "../DocumentCard";
|
9
5
|
import { State } from "./state";
|
10
6
|
import { useOnNewLink, useOnDeleteLink, useDocumentLinkListEffect } from "@voplus/morpho-document";
|
11
7
|
import { useListOptionsContext } from "@voplus/morpho-ui";
|
8
|
+
import { Draggable } from "react-beautiful-dnd";
|
12
9
|
const LinkList = (props) => {
|
13
10
|
const [state] = useState(new State());
|
14
11
|
const lo = useListOptionsContext();
|
12
|
+
const { destination, source } = { ...props };
|
15
13
|
useEffect(() => {
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
14
|
+
if (source?.id === props.id) {
|
15
|
+
state.links.splice(state.links.findIndex(item => item.id.toString() === source.linkId), 1);
|
16
|
+
props.onLinkNum(state.links.length);
|
17
|
+
}
|
18
|
+
const index = state.links.findIndex(item => item.right.id.toString() === destination.rightId);
|
19
|
+
if (destination?.id === props.id && index === -1) {
|
20
|
+
const doc = {
|
21
|
+
id: destination.linkId,
|
22
|
+
left: { id: destination.id },
|
23
|
+
right: { id: destination.rightId }
|
24
|
+
};
|
25
|
+
const index = props.destination.index;
|
26
|
+
state.links.splice(index, 0, doc);
|
27
|
+
props.onLinkNum(state.links.length);
|
28
|
+
}
|
29
|
+
}, [props.destination, props.source]);
|
21
30
|
useDocumentLinkListEffect(props.id, list => {
|
22
|
-
props.onLinkNum(list.length);
|
23
31
|
state.links = list;
|
32
|
+
props.onLinkNum(state.links.length);
|
24
33
|
}, lo.listOptions);
|
25
34
|
useOnNewLink((s, doc) => {
|
26
|
-
if (doc.left.id === props.id) {
|
35
|
+
if (doc.left.id === props.id && doc.left.id !== destination?.id) {
|
27
36
|
state.links.push(doc);
|
28
37
|
props.onLinkNum(state.links.length);
|
29
38
|
}
|
30
39
|
});
|
31
40
|
useOnDeleteLink((s, doc) => {
|
32
|
-
if (doc.left.id === props.id) {
|
41
|
+
if (doc.left.id === props.id && doc.left.id !== source?.id) {
|
33
42
|
state.links.splice(state.links.findIndex(item => item.id === doc.id), 1);
|
34
43
|
props.onLinkNum(state.links.length);
|
35
44
|
}
|
36
45
|
});
|
37
|
-
|
38
|
-
|
39
|
-
props.onAddAble(state.addBoardAble);
|
40
|
-
};
|
41
|
-
const moveAfter = async (id, afterId, list) => {
|
42
|
-
console.log("move", id, afterId, list);
|
43
|
-
// await boards.moveAfter(id, afterId);
|
44
|
-
// state.links = list;
|
45
|
-
};
|
46
|
-
const onCheck = (checkedValues) => {
|
47
|
-
state.checkIds = checkedValues;
|
48
|
-
const checkAll = checkedValues.length === state.links.length;
|
49
|
-
props.onCheck(checkAll);
|
50
|
-
};
|
51
|
-
return useObserver(() => (React.createElement(Scrollbars, null,
|
52
|
-
React.createElement(Checkbox.Group, { value: state.checkIds, onChange: onCheck, style: { width: "100%" } },
|
53
|
-
React.createElement(SortDnD, { list: state.links, moveAfter: moveAfter, text: (task, index, connectDragSource) => (React.createElement(React.Fragment, null,
|
54
|
-
task.right.type === "Task" && (React.createElement(TaskCard, { id: task.right.id, linkId: task.id, leftId: task.left.id, multiple: props.checked, connectDragSource: connectDragSource })),
|
55
|
-
task.right.type === "Document" && (React.createElement(DocumentCard, { id: task.right.id, linkId: task.id, leftId: task.left.id, multiple: props.checked, connectDragSource: connectDragSource })))) })),
|
56
|
-
state.addBoardAble && React.createElement(NewTaskForm, { parentId: props.id }),
|
57
|
-
React.createElement("span", { className: "addTask", onClick: onAddAble }, "+ NEW TASK"))));
|
46
|
+
return useObserver(() => (React.createElement(React.Fragment, null, state.links.map((link, index) => (React.createElement(Draggable, { key: link.id, draggableId: `${link.id}/${link.right.id}`, index: index }, (dragProvided, dragSnapshot) => (React.createElement("div", Object.assign({ className: "link-container", isdragging: dragSnapshot.isDragging.toString(), isgroupedover: Boolean(dragSnapshot.combineTargetFor).toString(), ref: dragProvided.innerRef }, dragProvided.draggableProps, dragProvided.dragHandleProps, { "data-is-dragging": dragSnapshot.isDragging, "data-testid": props.id, "data-index": index }),
|
47
|
+
React.createElement("div", { className: "link-content" }, link.right.type === "Task" ? (React.createElement(TaskCard, { id: link.right.id, linkId: link.id, leftId: link.left.id })) : (React.createElement(DocumentCard, { id: link.right.id, linkId: link.id, leftId: link.left.id })))))))))));
|
58
48
|
};
|
59
49
|
export default observer(LinkList);
|
60
50
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/BoardView/components/LinkList/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/BoardView/components/LinkList/index.tsx"],"names":[],"mappings":"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"}
|