@voplus/morpho-workspace 1.0.0-dev58 → 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/ActivityLog/index.d.ts +0 -1
- package/es/components/ActivityLog/index.js +55 -81
- package/es/components/ActivityLog/index.js.map +1 -1
- package/es/components/ActivityLog/index.less +38 -25
- package/es/components/ActivityLog/state.d.ts +13 -0
- package/es/components/ActivityLog/state.js +48 -0
- package/es/components/ActivityLog/state.js.map +1 -0
- 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/{Reference → Links}/Item.d.ts +1 -0
- package/es/components/{Reference → Links}/Item.js +2 -1
- package/es/components/Links/Item.js.map +1 -0
- package/es/components/{Reference → Links}/index.d.ts +0 -1
- package/es/components/{Reference → Links}/index.js +37 -25
- package/es/components/Links/index.js.map +1 -0
- package/es/components/{Reference → Links}/index.less +8 -5
- package/es/components/{Reference → Links}/state.d.ts +4 -0
- package/es/components/{Reference → Links}/state.js +16 -0
- package/es/components/Links/state.js.map +1 -0
- 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/document/pages/DocumentTabView/index.js +1 -1
- package/es/modules/document/pages/DocumentTabView/index.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.js +18 -13
- package/es/modules/meeting/components/MeetingDetail/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 +14 -17
- 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 +4 -3
- 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 +4 -4
- package/es/modules/tasks/components/TaskItem/TaskItem.js.map +1 -1
- package/es/modules/tasks/pages/TaskTabView/index.js +11 -16
- package/es/modules/tasks/pages/TaskTabView/index.js.map +1 -1
- package/package.json +16 -15
- package/es/components/Reference/Item.js.map +0 -1
- package/es/components/Reference/index.js.map +0 -1
- package/es/components/Reference/state.js.map +0 -1
- 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
@@ -1,91 +1,65 @@
|
|
1
|
-
import React from "react";
|
2
|
-
import
|
3
|
-
import
|
4
|
-
import {
|
5
|
-
import { faReceipt, faLockAlt, faClone } from "@fortawesome/pro-light-svg-icons";
|
1
|
+
import React, { useState } from "react";
|
2
|
+
import { Timeline, Icon } from "@voplus/antd";
|
3
|
+
import { library } from "@fortawesome/fontawesome-svg-core";
|
4
|
+
import { faPencilAlt, faTrashAlt, faClone, faFilePlus } from "@fortawesome/pro-light-svg-icons";
|
6
5
|
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
7
6
|
import { useDocumentActivityListEffect } from "@voplus/morpho-document";
|
7
|
+
import { getTypeIcon } from "@voplus/morpho-document/es/components/helper";
|
8
8
|
import styles from "./index.less";
|
9
|
+
import PageListView from "@voplus/morpho-ui/es/controls/PageListView";
|
10
|
+
import { State, getActionIcon, getActionIconColor } from "./state";
|
11
|
+
import { useObserver } from "mobx-react-lite";
|
12
|
+
import { localFormat } from "../../data/contexts/StoreContext";
|
13
|
+
library.add(faPencilAlt, faTrashAlt, faClone, faFilePlus);
|
9
14
|
const ActivityLog = (props) => {
|
10
15
|
const { id } = props;
|
16
|
+
const [state] = useState(new State());
|
17
|
+
const loadData = () => {
|
18
|
+
state.loading = true;
|
19
|
+
state.page = state.page + 1;
|
20
|
+
};
|
11
21
|
useDocumentActivityListEffect(id, list => {
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
)
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
content: "We supply a series of design principles",
|
40
|
-
type: "message",
|
41
|
-
datetime: "2019-06-26"
|
42
|
-
},
|
43
|
-
{
|
44
|
-
avatar: "https://zos.alipayobjects.com/rmsportal/ODTLcjxAfvqbxHnVXCYX.png",
|
45
|
-
userName: "John Doe",
|
46
|
-
content: "We supply a series of design principles",
|
47
|
-
datetime: "2019-06-24"
|
48
|
-
},
|
49
|
-
{
|
50
|
-
avatar: "https://zos.alipayobjects.com/rmsportal/ODTLcjxAfvqbxHnVXCYX.png",
|
51
|
-
content: "We supply a series of design principles",
|
52
|
-
type: "invoice",
|
53
|
-
datetime: "2019-06-25 22:10:22"
|
54
|
-
},
|
55
|
-
{
|
56
|
-
avatar: "https://zos.alipayobjects.com/rmsportal/ODTLcjxAfvqbxHnVXCYX.png",
|
57
|
-
content: "We supply a series of design principles",
|
58
|
-
type: "right",
|
59
|
-
datetime: "2019-06-26 22:10:22"
|
60
|
-
},
|
61
|
-
{
|
62
|
-
avatar: "https://zos.alipayobjects.com/rmsportal/ODTLcjxAfvqbxHnVXCYX.png",
|
63
|
-
content: "We supply a series of design principles",
|
64
|
-
type: "message",
|
65
|
-
datetime: "2019-06-26 22:10:22"
|
66
|
-
}
|
67
|
-
];
|
68
|
-
const dotElement = (type, avatar) => {
|
69
|
-
if (type === "invoice")
|
70
|
-
return (React.createElement("span", { className: "dot-icon", style: { borderColor: "#765fee" } },
|
71
|
-
React.createElement(FAIcon, { icon: faReceipt, color: "#765fee" })));
|
72
|
-
if (type === "right")
|
73
|
-
return (React.createElement("span", { className: "dot-icon", style: { borderColor: "#ff7285" } },
|
74
|
-
React.createElement(FAIcon, { icon: faLockAlt, color: "#ff7285" })));
|
75
|
-
if (type === "message")
|
76
|
-
return (React.createElement("span", { className: "dot-icon", style: { borderColor: "#ffca83" } },
|
77
|
-
React.createElement(FAIcon, { icon: faClone, color: "#ffca83" })));
|
78
|
-
return React.createElement(Avatar, { src: avatar });
|
22
|
+
state.activitys = list || [];
|
23
|
+
state.loading = false;
|
24
|
+
}, {
|
25
|
+
Page: { Page: state.page, PageSize: 50 }
|
26
|
+
});
|
27
|
+
const dotElement = (action, avatar) => {
|
28
|
+
return (React.createElement("span", { className: "dot-icon", style: { borderColor: getActionIconColor(action) } },
|
29
|
+
React.createElement(FAIcon, { icon: getActionIcon(action), color: getActionIconColor(action) })));
|
30
|
+
// if (type === "invoice")
|
31
|
+
// return (
|
32
|
+
// <span className="dot-icon" style={{ borderColor: "#765fee" }}>
|
33
|
+
// <Icon type={getActionIcon(action)} color="#765fee" />
|
34
|
+
// </span>
|
35
|
+
// );
|
36
|
+
// if (type === "right")
|
37
|
+
// return (
|
38
|
+
// <span className="dot-icon" style={{ borderColor: "#ff7285" }}>
|
39
|
+
// <FAIcon icon={faLockAlt} color="#ff7285" />
|
40
|
+
// </span>
|
41
|
+
// );
|
42
|
+
// if (type === "message")
|
43
|
+
// return (
|
44
|
+
// <span className="dot-icon" style={{ borderColor: "#ffca83" }}>
|
45
|
+
// <FAIcon icon={faClone} color="#ffca83" />
|
46
|
+
// </span>
|
47
|
+
// );
|
48
|
+
// return <Avatar src={avatar} />;
|
79
49
|
};
|
80
|
-
return (
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
React.createElement("
|
87
|
-
?
|
88
|
-
:
|
50
|
+
return useObserver(() => (
|
51
|
+
// <div className={classnames(styles["activity-log"], props.className)}>
|
52
|
+
React.createElement(PageListView, { data: state.activitys, loading: !!state.loading, loadMore: loadData, page: state.page, pageSize: 50 }, (list) => (React.createElement(Timeline, { className: styles["activity-log"] }, list.map((item) => (React.createElement(Timeline.Item, { key: item.id, dot: dotElement(item.action, item.avatar) },
|
53
|
+
React.createElement("div", null,
|
54
|
+
React.createElement("span", { className: "user-name" }, item.subject.name ? item.subject.name : ""),
|
55
|
+
React.createElement("span", { className: "action" }, item.action),
|
56
|
+
item.objects.map((o, index) => (React.createElement("span", { key: o.id },
|
57
|
+
index !== 0 ? "," : "",
|
58
|
+
React.createElement(Icon, { type: getTypeIcon(o.type) }),
|
59
|
+
o.name)))),
|
60
|
+
React.createElement("p", { className: "date-time" }, localFormat(item.createDate, "HH:mm:ss DD MMM, YYYY"))))))))
|
61
|
+
// </div>
|
62
|
+
));
|
89
63
|
};
|
90
64
|
export default ActivityLog;
|
91
65
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ActivityLog/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ActivityLog/index.tsx"],"names":[],"mappings":"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"}
|
@@ -1,34 +1,47 @@
|
|
1
1
|
@import "../../styles/common.less";
|
2
2
|
.activity-log {
|
3
|
+
height: 100%;
|
4
|
+
padding: 13px 0 0 15px;
|
5
|
+
margin: 15px 20px;
|
3
6
|
:global {
|
4
7
|
.ant-timeline {
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
8
|
+
}
|
9
|
+
.ant-avatar-image {
|
10
|
+
width: 34px;
|
11
|
+
height: 34px;
|
12
|
+
border: 1px solid #f2f2f2;
|
13
|
+
}
|
14
|
+
.dot-icon {
|
15
|
+
display: inline-block;
|
16
|
+
width: 34px;
|
17
|
+
height: 34px;
|
18
|
+
line-height: 32px;
|
19
|
+
border: 1px solid transparent;
|
20
|
+
border-radius: 50%;
|
21
|
+
font-size: 17px;
|
22
|
+
}
|
23
|
+
.ant-timeline-item-content {
|
24
|
+
top: -11px;
|
25
|
+
margin: 0 0 0 60px;
|
26
|
+
line-height: 22px;
|
27
|
+
color: #333;
|
28
|
+
.user-name {
|
29
|
+
font-weight: bold;
|
30
|
+
color: #000;
|
31
|
+
padding-right: 10px;
|
19
32
|
}
|
20
|
-
.
|
21
|
-
|
22
|
-
|
23
|
-
line-height: 22px;
|
33
|
+
.action {
|
34
|
+
padding-right: 15px;
|
35
|
+
font-weight: 500;
|
24
36
|
color: #000;
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
37
|
+
font-style: italic;
|
38
|
+
}
|
39
|
+
.anticon {
|
40
|
+
margin-right: 5px;
|
41
|
+
}
|
42
|
+
.date-time {
|
43
|
+
font-size: 12px;
|
44
|
+
color: #444;
|
32
45
|
}
|
33
46
|
}
|
34
47
|
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { IActivityLog } from "@voplus/morpho-collaboration/es/data/interfaces";
|
2
|
+
export declare const ActivityActionType: {
|
3
|
+
Created: string;
|
4
|
+
Changed: string;
|
5
|
+
Deleted: string;
|
6
|
+
};
|
7
|
+
export declare const getActionIcon: any;
|
8
|
+
export declare const getActionIconColor: (action: string) => "" | "#765fee" | "#ffca83" | "#ff7285";
|
9
|
+
export declare class State {
|
10
|
+
activitys: IActivityLog[];
|
11
|
+
page: number;
|
12
|
+
loading: boolean;
|
13
|
+
}
|
@@ -0,0 +1,48 @@
|
|
1
|
+
import { __decorate } from "tslib";
|
2
|
+
import { observable } from "mobx";
|
3
|
+
export const ActivityActionType = {
|
4
|
+
Created: "Created",
|
5
|
+
Changed: "Changed",
|
6
|
+
Deleted: "Deleted"
|
7
|
+
};
|
8
|
+
export const getActionIcon = (action) => {
|
9
|
+
switch (action) {
|
10
|
+
case ActivityActionType.Created:
|
11
|
+
return ["fal", "file-plus"];
|
12
|
+
case ActivityActionType.Changed:
|
13
|
+
return ["fal", "pencil-alt"];
|
14
|
+
case ActivityActionType.Deleted:
|
15
|
+
return ["fal", "trash-alt"];
|
16
|
+
default:
|
17
|
+
return "";
|
18
|
+
}
|
19
|
+
};
|
20
|
+
export const getActionIconColor = (action) => {
|
21
|
+
switch (action) {
|
22
|
+
case ActivityActionType.Created:
|
23
|
+
return "#765fee";
|
24
|
+
case ActivityActionType.Changed:
|
25
|
+
return "#ffca83";
|
26
|
+
case ActivityActionType.Deleted:
|
27
|
+
return "#ff7285";
|
28
|
+
default:
|
29
|
+
return "";
|
30
|
+
}
|
31
|
+
};
|
32
|
+
export class State {
|
33
|
+
constructor() {
|
34
|
+
this.activitys = [];
|
35
|
+
this.page = 1;
|
36
|
+
this.loading = true;
|
37
|
+
}
|
38
|
+
}
|
39
|
+
__decorate([
|
40
|
+
observable
|
41
|
+
], State.prototype, "activitys", void 0);
|
42
|
+
__decorate([
|
43
|
+
observable
|
44
|
+
], State.prototype, "page", void 0);
|
45
|
+
__decorate([
|
46
|
+
observable
|
47
|
+
], State.prototype, "loading", void 0);
|
48
|
+
//# sourceMappingURL=state.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/components/ActivityLog/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAIlC,MAAM,CAAC,MAAM,kBAAkB,GAAG;IACjC,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CAClB,CAAC;AACF,MAAM,CAAC,MAAM,aAAa,GAAQ,CAAC,MAAc,EAAE,EAAE;IACpD,QAAQ,MAAM,EAAE;QACf,KAAK,kBAAkB,CAAC,OAAO;YAC9B,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC7B,KAAK,kBAAkB,CAAC,OAAO;YAC9B,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC9B,KAAK,kBAAkB,CAAC,OAAO;YAC9B,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC7B;YACC,OAAO,EAAE,CAAC;KACX;AACF,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAE,EAAE;IACpD,QAAQ,MAAM,EAAE;QACf,KAAK,kBAAkB,CAAC,OAAO;YAC9B,OAAO,SAAS,CAAC;QAClB,KAAK,kBAAkB,CAAC,OAAO;YAC9B,OAAO,SAAS,CAAC;QAClB,KAAK,kBAAkB,CAAC,OAAO;YAC9B,OAAO,SAAS,CAAC;QAClB;YACC,OAAO,EAAE,CAAC;KACX;AACF,CAAC,CAAC;AACF,MAAM,OAAO,KAAK;IAAlB;QACa,cAAS,GAAmB,EAAE,CAAC;QAC/B,SAAI,GAAW,CAAC,CAAC;QACjB,YAAO,GAAY,IAAI,CAAC;IACrC,CAAC;CAAA;AAHY;IAAX,UAAU;wCAAgC;AAC/B;IAAX,UAAU;mCAAkB;AACjB;IAAX,UAAU;sCAAyB"}
|
@@ -0,0 +1,79 @@
|
|
1
|
+
import classnames from "classnames";
|
2
|
+
import React, { useEffect, useRef, useState } from "react";
|
3
|
+
import { faCheck } from "@fortawesome/pro-light-svg-icons";
|
4
|
+
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
5
|
+
import { Avatar, Button, Icon, Input, Menu } from "@voplus/antd";
|
6
|
+
import { useContactListEffect } from "@voplus/morpho-org";
|
7
|
+
import { useObserver } from "mobx-react-lite";
|
8
|
+
import { State } from "./state";
|
9
|
+
const AvatarMenu = (props) => {
|
10
|
+
const { multiple, list, size, editable, num, onChange } = props;
|
11
|
+
const [state] = useState(new State());
|
12
|
+
const onTick = async (item, checked) => {
|
13
|
+
if (item.disabled || !editable)
|
14
|
+
return;
|
15
|
+
state.itemId = item.id;
|
16
|
+
const checkedIds = state.items.filter(({ checked }) => checked).map(({ id }) => id);
|
17
|
+
const ids = checked ? [...checkedIds, item.id] : checkedIds.filter(id => id !== item.id);
|
18
|
+
if (props.onChange) {
|
19
|
+
state.loading = true;
|
20
|
+
await props.onChange(ids);
|
21
|
+
state.loading = false;
|
22
|
+
item.checked = !item.checked;
|
23
|
+
if (!multiple)
|
24
|
+
state.visible = false;
|
25
|
+
}
|
26
|
+
if (!!multiple)
|
27
|
+
state.members = checked
|
28
|
+
? [...state.members, item]
|
29
|
+
: state.members.filter(({ id }) => id !== item.id);
|
30
|
+
};
|
31
|
+
const searchByKeWord = (keyWord) => {
|
32
|
+
state.keyword = keyWord;
|
33
|
+
state.items = state.list.filter(({ name }) => name
|
34
|
+
.toLowerCase()
|
35
|
+
.replace(/\s*/g, "")
|
36
|
+
.indexOf(keyWord.toLowerCase().replace(/\s*/g, "")) !== -1);
|
37
|
+
};
|
38
|
+
const visibleChange = (visible) => {
|
39
|
+
state.visible = visible;
|
40
|
+
};
|
41
|
+
const load = () => {
|
42
|
+
const avatarList = state.members;
|
43
|
+
state.items = state.list.map(item => {
|
44
|
+
const avatar = avatarList.find(({ id }) => item.id === id);
|
45
|
+
return {
|
46
|
+
...item,
|
47
|
+
checked: !!(avatar && avatar.id),
|
48
|
+
disabled: !!(avatar && avatar.disabled)
|
49
|
+
};
|
50
|
+
});
|
51
|
+
};
|
52
|
+
// useObserver(() => {
|
53
|
+
useContactListEffect(list => {
|
54
|
+
state.list = list;
|
55
|
+
}, { reload: state.reload });
|
56
|
+
useEffect(() => {
|
57
|
+
if (state.visible) {
|
58
|
+
state.reload = true;
|
59
|
+
state.items = [];
|
60
|
+
load();
|
61
|
+
}
|
62
|
+
}, [state.visible]);
|
63
|
+
// });
|
64
|
+
const ref = useRef(null);
|
65
|
+
const colorList = ["#765FEE", "#fe4066", "#FFC832", "#FF8F5E", "#3AC43A", "#FFC832"];
|
66
|
+
return useObserver(() => (React.createElement(Menu, null,
|
67
|
+
React.createElement("div", { className: "avatar-search" },
|
68
|
+
React.createElement(Input.Search, { autoFocus: true, onSearch: searchByKeWord, onChange: e => searchByKeWord(e.target.value) })),
|
69
|
+
state.items.map((item, index) => (React.createElement(Menu.Item, { key: item.id },
|
70
|
+
React.createElement("div", { className: "avatar-item", onClick: () => onTick(item, !item.checked) },
|
71
|
+
React.createElement(Avatar, { src: item.url, size: size, className: "avatar-img", style: { backgroundColor: colorList[index % 6] } }),
|
72
|
+
React.createElement("span", { className: classnames({ "name-disabled": item.disabled }) }, item.name),
|
73
|
+
item.checked && (React.createElement(FAIcon, { icon: faCheck, className: classnames("icon-check", { disabled: item.disabled }) })),
|
74
|
+
state.loading && state.itemId === item.id && (React.createElement(Icon, { type: "loading", className: "icon-check" })))))),
|
75
|
+
multiple && (React.createElement("div", { className: "multiple-footer-btn" },
|
76
|
+
React.createElement(Button, { type: "link", onClick: () => visibleChange(false) }, "Ok"))))));
|
77
|
+
};
|
78
|
+
export default AvatarMenu;
|
79
|
+
//# sourceMappingURL=AvatarMenu.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"AvatarMenu.js","sourceRoot":"","sources":["../../../src/components/AvatarList/AvatarMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,EAAY,IAAI,EAAE,KAAK,EAAE,IAAI,EAAW,MAAM,cAAc,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,KAAK,EAAmB,MAAM,SAAS,CAAC;AAEjD,MAAM,UAAU,GAAG,CAAC,KAAsB,EAAE,EAAE;IAC7C,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAChE,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,KAAK,EAAE,IAAS,EAAE,OAAgB,EAAE,EAAE;QACpD,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;YAAE,OAAO;QACvC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACzF,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;QACzF,IAAI,KAAK,CAAC,QAAQ,EAAE;YACnB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YACrB,MAAM,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC1B,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,QAAQ;gBAAE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;SACrC;QACD,IAAI,CAAC,CAAC,QAAQ;YACb,KAAK,CAAC,OAAO,GAAG,OAAO;gBACtB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC1B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC;IACF,MAAM,cAAc,GAAG,CAAC,OAAY,EAAE,EAAE;QACvC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACxB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAC9B,CAAC,EAAE,IAAI,EAAO,EAAE,EAAE,CACjB,IAAI;aACF,WAAW,EAAE;aACb,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;aACnB,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAC5D,CAAC;IACH,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,CAAC,OAAgB,EAAE,EAAE;QAC1C,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,GAAG,EAAE;QACjB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC;QACjC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACnC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3D,OAAO;gBACN,GAAG,IAAI;gBACP,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,CAAC;gBAChC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC;aACvC,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,sBAAsB;IACtB,oBAAoB,CACnB,IAAI,CAAC,EAAE;QACN,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC,EACD,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CACxB,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,KAAK,CAAC,OAAO,EAAE;YAClB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YACjB,IAAI,EAAE,CAAC;SACP;IACF,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACpB,MAAM;IACN,MAAM,GAAG,GAAG,MAAM,CAAM,IAAI,CAAC,CAAC;IAC9B,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACrF,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,CACxB,oBAAC,IAAI;QACJ,6BAAK,SAAS,EAAC,eAAe;YAC7B,oBAAC,KAAK,CAAC,MAAM,IACZ,SAAS,QACT,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAC5C,CACG;QACL,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,KAAa,EAAE,EAAE,CAAC,CAC9C,oBAAC,IAAI,CAAC,IAAI,IAAC,GAAG,EAAE,IAAI,CAAC,EAAE;YACtB,6BAAK,SAAS,EAAC,aAAa,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;gBACtE,oBAAC,MAAM,IACN,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,IAAI,EAAE,IAAI,EACV,SAAS,EAAC,YAAY,EACtB,KAAK,EAAE,EAAE,eAAe,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,GAC/C;gBACF,8BAAM,SAAS,EAAE,UAAU,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAG,IAAI,CAAC,IAAI,CAAQ;gBAClF,IAAI,CAAC,OAAO,IAAI,CAChB,oBAAC,MAAM,IACN,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,UAAU,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,GAC/D,CACF;gBACA,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE,IAAI,CAC7C,oBAAC,IAAI,IAAC,IAAI,EAAC,SAAS,EAAC,SAAS,EAAC,YAAY,GAAG,CAC9C,CACI,CACK,CACZ,CAAC;QACD,QAAQ,IAAI,CACZ,6BAAK,SAAS,EAAC,qBAAqB;YACnC,oBAAC,MAAM,IAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,SAE9C,CACJ,CACN,CACK,CACP,CAAC,CAAC;AACJ,CAAC,CAAC;AACF,eAAe,UAAU,CAAC"}
|
@@ -1,3 +1,12 @@
|
|
1
|
+
export declare type AvatarListProps = {
|
2
|
+
list?: any[];
|
3
|
+
className?: string;
|
4
|
+
onChange?: (ids?: any[], members?: any[]) => void;
|
5
|
+
editable?: boolean;
|
6
|
+
num?: number;
|
7
|
+
size?: number | "large" | "small" | "default";
|
8
|
+
multiple?: boolean;
|
9
|
+
};
|
1
10
|
export declare class State {
|
2
11
|
avatarList: any[];
|
3
12
|
members: any[];
|
@@ -9,4 +18,5 @@ export declare class State {
|
|
9
18
|
num: number;
|
10
19
|
hasMore: boolean;
|
11
20
|
keyword: string;
|
21
|
+
reload: boolean;
|
12
22
|
}
|
@@ -12,6 +12,7 @@ export class State {
|
|
12
12
|
this.num = 0;
|
13
13
|
this.hasMore = false;
|
14
14
|
this.keyword = "";
|
15
|
+
this.reload = false;
|
15
16
|
}
|
16
17
|
}
|
17
18
|
__decorate([
|
@@ -44,4 +45,7 @@ __decorate([
|
|
44
45
|
__decorate([
|
45
46
|
observable
|
46
47
|
], State.prototype, "keyword", void 0);
|
48
|
+
__decorate([
|
49
|
+
observable
|
50
|
+
], State.prototype, "reload", void 0);
|
47
51
|
//# sourceMappingURL=state.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/components/AvatarList/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/components/AvatarList/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAYlC,MAAM,OAAO,KAAK;IAAlB;QACoB,eAAU,GAAU,EAAE,CAAC;QACvB,YAAO,GAAU,EAAE,CAAC;QACpB,SAAI,GAAU,EAAE,CAAC;QACjB,UAAK,GAAU,EAAE,CAAC;QAClB,WAAM,GAAW,EAAE,CAAC;QACpB,YAAO,GAAY,KAAK,CAAC;QACzB,YAAO,GAAY,KAAK,CAAC;QACzB,QAAG,GAAW,CAAC,CAAC;QAChB,YAAO,GAAY,KAAK,CAAC;QACzB,YAAO,GAAW,EAAE,CAAC;QACrB,WAAM,GAAY,KAAK,CAAC;IAC5C,CAAC;CAAA;AAXY;IAAX,UAAU;yCAA+B;AAC9B;IAAX,UAAU;sCAA4B;AAC3B;IAAX,UAAU;mCAAyB;AACxB;IAAX,UAAU;oCAA0B;AACzB;IAAX,UAAU;qCAA4B;AAC3B;IAAX,UAAU;sCAAiC;AAChC;IAAX,UAAU;sCAAiC;AAChC;IAAX,UAAU;kCAAwB;AACvB;IAAX,UAAU;sCAAiC;AAChC;IAAX,UAAU;sCAA6B;AAC5B;IAAX,UAAU;qCAAgC"}
|
@@ -11,7 +11,7 @@ import { useObserver } from "mobx-react-lite";
|
|
11
11
|
import { Checkbox } from "@voplus/antd";
|
12
12
|
import ToolBar from "../ToolBar";
|
13
13
|
const Item = (props) => {
|
14
|
-
const { id, multiple, onRemove } = props;
|
14
|
+
const { id, type, multiple, onRemove } = props;
|
15
15
|
const document = useDocument(id, { reload: false });
|
16
16
|
const getRouteByType = (type) => {
|
17
17
|
switch (type) {
|
@@ -39,6 +39,7 @@ const Item = (props) => {
|
|
39
39
|
React.createElement(FAIcon, { icon: faUsers }),
|
40
40
|
(document.members && document.members.length) || 0)));
|
41
41
|
return useObserver(() => (React.createElement("div", { className: "reference-item" },
|
42
|
+
React.createElement("div", null, type),
|
42
43
|
document.type === DocumentType.Task ? (React.createElement(React.Fragment, null,
|
43
44
|
React.createElement("div", { className: "reference-item-content" },
|
44
45
|
React.createElement("div", { className: "reference-content" },
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Item.js","sourceRoot":"","sources":["../../../src/components/Links/Item.tsx"],"names":[],"mappings":"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"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import React, { useState, useEffect } from "react";
|
2
2
|
import { useDocumentLinkListEffect, useDocumentStore } from "@voplus/morpho-document";
|
3
3
|
import DocumentSelectDialog from "@voplus/morpho-document/es/components/DocumentSelectDialog";
|
4
|
-
import { Button, Checkbox, Empty, Spin, Icon
|
4
|
+
import { Button, Checkbox, Empty, Spin, Icon } from "@voplus/antd";
|
5
5
|
import Scrollbars from "react-custom-scrollbars";
|
6
6
|
import { faPlus, faCheckSquare } from "@fortawesome/pro-light-svg-icons";
|
7
7
|
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
@@ -11,7 +11,6 @@ import { State } from "./state";
|
|
11
11
|
import { useObserver } from "mobx-react-lite";
|
12
12
|
const Reference = (props) => {
|
13
13
|
const { id } = props;
|
14
|
-
const { className } = props;
|
15
14
|
const documentStore = useDocumentStore();
|
16
15
|
const [state] = useState(new State());
|
17
16
|
const onSelect = async (links) => {
|
@@ -33,6 +32,7 @@ const Reference = (props) => {
|
|
33
32
|
state.ids = checkedValues;
|
34
33
|
state.checkAll = checkedValues.length === state.links.length;
|
35
34
|
};
|
35
|
+
// check all to remove
|
36
36
|
const onCheckAll = (e) => {
|
37
37
|
state.checkAll = e.target.checked;
|
38
38
|
const ids = state.links.map(({ right }) => right.id);
|
@@ -43,22 +43,36 @@ const Reference = (props) => {
|
|
43
43
|
state.checkAll = false;
|
44
44
|
state.ids = [];
|
45
45
|
};
|
46
|
-
useDocumentLinkListEffect(id, list => {
|
47
|
-
state.links = list;
|
48
|
-
state.loading = false;
|
49
|
-
});
|
50
46
|
// Add Link
|
51
47
|
const onLinkCreated = (s, t) => {
|
52
48
|
state.links = [...state.links, t];
|
49
|
+
filterByTypeList();
|
53
50
|
};
|
54
51
|
// Remove Link
|
55
52
|
const onLinkDeleted = (s, t) => {
|
56
53
|
state.links = state.links.filter(item => item.id !== t.id);
|
54
|
+
filterByTypeList();
|
57
55
|
};
|
58
|
-
|
59
|
-
|
56
|
+
// type: "Association" | "Reference" | "Dependent"
|
57
|
+
const onCheckType = (type) => {
|
58
|
+
state.type = type;
|
60
59
|
state.visible = true;
|
61
60
|
};
|
61
|
+
const filterByTypeList = () => {
|
62
|
+
const association = state.links.filter(item => item.type === "Association");
|
63
|
+
const dependent = state.links.filter(item => item.type === "Dependent");
|
64
|
+
const reference = state.links.filter(item => item.type === "Reference");
|
65
|
+
state.typeLinks = [
|
66
|
+
{ type: "Association", list: association || [] },
|
67
|
+
{ type: "Dependent", list: dependent || [] },
|
68
|
+
{ type: "Reference", list: reference || [] }
|
69
|
+
];
|
70
|
+
};
|
71
|
+
useDocumentLinkListEffect(id, list => {
|
72
|
+
state.links = list;
|
73
|
+
filterByTypeList();
|
74
|
+
state.loading = false;
|
75
|
+
});
|
62
76
|
useEffect(() => {
|
63
77
|
documentStore.LinkCreatedEvent.subscribe(onLinkCreated);
|
64
78
|
documentStore.LinkDeletedEvent.subscribe(onLinkDeleted);
|
@@ -71,24 +85,22 @@ const Reference = (props) => {
|
|
71
85
|
state.links = [];
|
72
86
|
// state.loading = true;
|
73
87
|
}, [id]);
|
74
|
-
|
75
|
-
React.createElement(
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
React.createElement(Button, { type: "link", className: "cancel-btn", onClick: onReset }, "Cancel"))),
|
88
|
+
return useObserver(() => state.loading ? (React.createElement("div", { className: styles["reference-view"] },
|
89
|
+
React.createElement(Spin, { tip: "Loading...", indicator: React.createElement(Icon, { type: "loading", spin: true, className: "padding-top-10" }) }))) : (React.createElement("div", { className: styles["reference-view"] },
|
90
|
+
React.createElement("div", { className: "reference-header" }, !state.multiple ? (React.createElement("div", { className: "multiple-remove", onClick: () => (state.multiple = true) },
|
91
|
+
React.createElement(Button, { type: "link" },
|
92
|
+
React.createElement(FAIcon, { icon: faCheckSquare })),
|
93
|
+
"Links")) : (React.createElement("div", { className: "multiple-remove-btn" },
|
94
|
+
React.createElement(Checkbox, { onChange: onCheckAll, checked: !!state.checkAll }, "Select All"),
|
95
|
+
React.createElement(Button, { type: "link", className: "del-btn", onClick: () => onRemove() }, "Move"),
|
96
|
+
React.createElement(Button, { type: "link", className: "cancel-btn", onClick: onReset }, "Cancel")))),
|
97
|
+
React.createElement(Scrollbars, null, state.typeLinks.map(item => (React.createElement(React.Fragment, { key: item.id },
|
85
98
|
React.createElement("div", null,
|
86
|
-
React.createElement(
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
state.visible && (React.createElement(DocumentSelectDialog, { parentId: id, onSelect: onSelect, onCancel: () => (state.visible = false) })))))));
|
99
|
+
React.createElement(Button, { type: "link", onClick: () => onCheckType(item.type) },
|
100
|
+
item.type,
|
101
|
+
React.createElement(FAIcon, { icon: faPlus, className: "margin-left-5" }))),
|
102
|
+
item.list && item.list.length ? (React.createElement(Checkbox.Group, { value: state.ids, onChange: onCheck, className: "reference-view-page" }, item.list.map((item) => (React.createElement(Item, { key: item.id, id: item.right.id === id ? item.left.id : item.right.id, type: item.type !== "Association" && item.right.id === id ? "By" : "", multiple: state.multiple, onRemove: () => onRemove(item.id) }))))) : (React.createElement(Empty, { description: "No " + item.type })))))),
|
103
|
+
state.visible && (React.createElement(DocumentSelectDialog, { parentId: id, onSelect: onSelect, onCancel: () => (state.visible = false) })))));
|
92
104
|
};
|
93
105
|
export default Reference;
|
94
106
|
//# sourceMappingURL=index.js.map
|