@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.
Files changed (121) hide show
  1. package/es/components/ActivityLog/index.d.ts +0 -1
  2. package/es/components/ActivityLog/index.js +55 -81
  3. package/es/components/ActivityLog/index.js.map +1 -1
  4. package/es/components/ActivityLog/index.less +38 -25
  5. package/es/components/ActivityLog/state.d.ts +13 -0
  6. package/es/components/ActivityLog/state.js +48 -0
  7. package/es/components/ActivityLog/state.js.map +1 -0
  8. package/es/components/AvatarList/AvatarMenu.d.ts +4 -0
  9. package/es/components/AvatarList/AvatarMenu.js +79 -0
  10. package/es/components/AvatarList/AvatarMenu.js.map +1 -0
  11. package/es/components/AvatarList/state.d.ts +10 -0
  12. package/es/components/AvatarList/state.js +4 -0
  13. package/es/components/AvatarList/state.js.map +1 -1
  14. package/es/components/{Reference → Links}/Item.d.ts +1 -0
  15. package/es/components/{Reference → Links}/Item.js +2 -1
  16. package/es/components/Links/Item.js.map +1 -0
  17. package/es/components/{Reference → Links}/index.d.ts +0 -1
  18. package/es/components/{Reference → Links}/index.js +37 -25
  19. package/es/components/Links/index.js.map +1 -0
  20. package/es/components/{Reference → Links}/index.less +8 -5
  21. package/es/components/{Reference → Links}/state.d.ts +4 -0
  22. package/es/components/{Reference → Links}/state.js +16 -0
  23. package/es/components/Links/state.js.map +1 -0
  24. package/es/components/TagView/index.d.ts +15 -0
  25. package/es/components/TagView/index.js +87 -0
  26. package/es/components/TagView/index.js.map +1 -0
  27. package/es/components/TagView/index.less +37 -0
  28. package/es/components/TagView/state.d.ts +14 -0
  29. package/es/components/TagView/state.js +48 -0
  30. package/es/components/TagView/state.js.map +1 -0
  31. package/es/data/board/LinkStore.d.ts +11 -0
  32. package/es/data/board/LinkStore.js +40 -0
  33. package/es/data/board/LinkStore.js.map +1 -0
  34. package/es/data/board/index.d.ts +1 -0
  35. package/es/data/board/index.js +1 -0
  36. package/es/data/board/index.js.map +1 -1
  37. package/es/data/task/interfaces.d.ts +2 -1
  38. package/es/modules/BoardView/components/Board/index.d.ts +5 -0
  39. package/es/modules/BoardView/components/Board/index.js +144 -0
  40. package/es/modules/BoardView/components/Board/index.js.map +1 -0
  41. package/es/modules/BoardView/components/{BoardList → Board}/index.less +10 -0
  42. package/es/modules/BoardView/components/Board/state.d.ts +4 -0
  43. package/es/modules/BoardView/components/Board/state.js +11 -0
  44. package/es/modules/BoardView/components/Board/state.js.map +1 -0
  45. package/es/modules/BoardView/components/BoardColumn/index.d.ts +3 -1
  46. package/es/modules/BoardView/components/BoardColumn/index.js +46 -44
  47. package/es/modules/BoardView/components/BoardColumn/index.js.map +1 -1
  48. package/es/modules/BoardView/components/BoardColumn/index.less +163 -7
  49. package/es/modules/BoardView/components/DocumentCard/index.js +8 -11
  50. package/es/modules/BoardView/components/DocumentCard/index.js.map +1 -1
  51. package/es/modules/BoardView/components/LinkList/index.d.ts +2 -5
  52. package/es/modules/BoardView/components/LinkList/index.js +24 -34
  53. package/es/modules/BoardView/components/LinkList/index.js.map +1 -1
  54. package/es/modules/BoardView/components/TaskCard/index.d.ts +0 -1
  55. package/es/modules/BoardView/components/TaskCard/index.js +12 -13
  56. package/es/modules/BoardView/components/TaskCard/index.js.map +1 -1
  57. package/es/modules/BoardView/components/links/index.d.ts +12 -0
  58. package/es/modules/BoardView/components/links/index.js +24 -0
  59. package/es/modules/BoardView/components/links/index.js.map +1 -0
  60. package/es/modules/BoardView/pages/BoardViewList/index.d.ts +1 -3
  61. package/es/modules/BoardView/pages/BoardViewList/index.js +13 -14
  62. package/es/modules/BoardView/pages/BoardViewList/index.js.map +1 -1
  63. package/es/modules/BoardView/pages/BoardViewList/state.d.ts +5 -0
  64. package/es/modules/BoardView/pages/BoardViewList/state.js +14 -0
  65. package/es/modules/BoardView/pages/BoardViewList/state.js.map +1 -0
  66. package/es/modules/BoardView/pages/BoardViewRoutes.d.ts +16 -2
  67. package/es/modules/BoardView/pages/BoardViewRoutes.js +33 -4
  68. package/es/modules/BoardView/pages/BoardViewRoutes.js.map +1 -1
  69. package/es/modules/document/pages/DocumentTabView/index.js +1 -1
  70. package/es/modules/document/pages/DocumentTabView/index.js.map +1 -1
  71. package/es/modules/meeting/components/MeetingDescription/index.js +6 -8
  72. package/es/modules/meeting/components/MeetingDescription/index.js.map +1 -1
  73. package/es/modules/meeting/components/MeetingDetail/index.js +18 -13
  74. package/es/modules/meeting/components/MeetingDetail/index.js.map +1 -1
  75. package/es/modules/meeting/components/MeetingDetail/index.less +1 -0
  76. package/es/modules/meeting/pages/MeetingPrintView/index.js +5 -7
  77. package/es/modules/meeting/pages/MeetingPrintView/index.js.map +1 -1
  78. package/es/modules/meeting/pages/MeetingPrintView/index.less +53 -0
  79. package/es/modules/meeting/pages/MeetingTabView/index.js +14 -17
  80. package/es/modules/meeting/pages/MeetingTabView/index.js.map +1 -1
  81. package/es/modules/tasks/components/TaskDescription/index.js +6 -8
  82. package/es/modules/tasks/components/TaskDescription/index.js.map +1 -1
  83. package/es/modules/tasks/components/TaskDescription/index.less +1 -0
  84. package/es/modules/tasks/components/TaskDetail/index.js +4 -3
  85. package/es/modules/tasks/components/TaskDetail/index.js.map +1 -1
  86. package/es/modules/tasks/components/TaskHeader/index.js +6 -3
  87. package/es/modules/tasks/components/TaskHeader/index.js.map +1 -1
  88. package/es/modules/tasks/components/TaskItem/TaskItem.d.ts +1 -0
  89. package/es/modules/tasks/components/TaskItem/TaskItem.js +4 -4
  90. package/es/modules/tasks/components/TaskItem/TaskItem.js.map +1 -1
  91. package/es/modules/tasks/pages/TaskTabView/index.js +11 -16
  92. package/es/modules/tasks/pages/TaskTabView/index.js.map +1 -1
  93. package/package.json +16 -15
  94. package/es/components/Reference/Item.js.map +0 -1
  95. package/es/components/Reference/index.js.map +0 -1
  96. package/es/components/Reference/state.js.map +0 -1
  97. package/es/modules/BoardView/components/BoardList/index.d.ts +0 -5
  98. package/es/modules/BoardView/components/BoardList/index.js +0 -84
  99. package/es/modules/BoardView/components/BoardList/index.js.map +0 -1
  100. package/es/modules/BoardView/components/BoardList/state.d.ts +0 -14
  101. package/es/modules/BoardView/components/BoardList/state.js +0 -59
  102. package/es/modules/BoardView/components/BoardList/state.js.map +0 -1
  103. package/es/modules/BoardView/components/ReactBeautifulDnd/authorItem.d.ts +0 -14
  104. package/es/modules/BoardView/components/ReactBeautifulDnd/authorItem.js +0 -45
  105. package/es/modules/BoardView/components/ReactBeautifulDnd/authorItem.js.map +0 -1
  106. package/es/modules/BoardView/components/ReactBeautifulDnd/authorList.d.ts +0 -21
  107. package/es/modules/BoardView/components/ReactBeautifulDnd/authorList.js +0 -34
  108. package/es/modules/BoardView/components/ReactBeautifulDnd/authorList.js.map +0 -1
  109. package/es/modules/BoardView/components/ReactBeautifulDnd/board.d.ts +0 -9
  110. package/es/modules/BoardView/components/ReactBeautifulDnd/board.js +0 -129
  111. package/es/modules/BoardView/components/ReactBeautifulDnd/board.js.map +0 -1
  112. package/es/modules/BoardView/components/ReactBeautifulDnd/column.d.ts +0 -11
  113. package/es/modules/BoardView/components/ReactBeautifulDnd/column.js +0 -29
  114. package/es/modules/BoardView/components/ReactBeautifulDnd/column.js.map +0 -1
  115. package/es/modules/BoardView/components/ReactBeautifulDnd/data.d.ts +0 -3
  116. package/es/modules/BoardView/components/ReactBeautifulDnd/data.js +0 -109
  117. package/es/modules/BoardView/components/ReactBeautifulDnd/data.js.map +0 -1
  118. package/es/modules/BoardView/components/ReactBeautifulDnd/index.less +0 -162
  119. package/es/modules/BoardView/components/ReactBeautifulDnd/state.d.ts +0 -13
  120. package/es/modules/BoardView/components/ReactBeautifulDnd/state.js +0 -36
  121. package/es/modules/BoardView/components/ReactBeautifulDnd/state.js.map +0 -1
@@ -1,7 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  declare const ActivityLog: (props: {
3
3
  id: string;
4
- showHeader?: boolean | undefined;
5
4
  className?: string | undefined;
6
5
  }) => JSX.Element;
7
6
  export default ActivityLog;
@@ -1,91 +1,65 @@
1
- import React from "react";
2
- import classnames from "classnames";
3
- import moment from "moment";
4
- import { Timeline, Avatar } from "@voplus/antd";
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
- console.log(list, "9999");
13
- }
14
- // {
15
- // Page: { Page: 1, PageSize: 50 }
16
- // }
17
- );
18
- const data = [
19
- {
20
- avatar: "https://zos.alipayobjects.com/rmsportal/ODTLcjxAfvqbxHnVXCYX.png",
21
- userName: "John Doe",
22
- content: "We supply a series of design principles",
23
- datetime: "2019-06-19 1:2:3"
24
- },
25
- {
26
- avatar: "https://zos.alipayobjects.com/rmsportal/ODTLcjxAfvqbxHnVXCYX.png",
27
- content: "We supply a series of design principles",
28
- type: "invoice",
29
- datetime: "2019-06-8 0:0:9"
30
- },
31
- {
32
- avatar: "https://zos.alipayobjects.com/rmsportal/ODTLcjxAfvqbxHnVXCYX.png",
33
- content: "We supply a series of design principles",
34
- type: "right",
35
- datetime: "2019-06-26"
36
- },
37
- {
38
- avatar: "https://zos.alipayobjects.com/rmsportal/ODTLcjxAfvqbxHnVXCYX.png",
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 (React.createElement("div", { className: classnames(styles["activity-log"], props.className) },
81
- props.showHeader && (React.createElement("div", { className: classnames(styles["module-header-title"], styles["margin-bottom-25"], "header") }, "Activity Log")),
82
- React.createElement(Timeline, null, data.map((item, index) => (React.createElement(Timeline.Item, { key: index, dot: dotElement(item.type, item.avatar) },
83
- React.createElement("p", null,
84
- React.createElement("span", null, item.userName ? item.userName + "," : ""),
85
- item.content),
86
- React.createElement("p", { className: "date-time" }, moment().diff(moment(item.datetime), "days") > 7
87
- ? moment(item.datetime).format("HH:mm:ss DD MMM, YYYY")
88
- : moment(item.datetime).fromNow())))))));
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":"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"}
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
- padding: 13px 0 0 15px;
6
- .ant-avatar-image {
7
- width: 34px;
8
- height: 34px;
9
- border: 1px solid #f2f2f2;
10
- }
11
- .dot-icon {
12
- display: inline-block;
13
- width: 34px;
14
- height: 34px;
15
- line-height: 32px;
16
- border: 1px solid transparent;
17
- border-radius: 50%;
18
- font-size: 17px;
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
- .ant-timeline-item-content {
21
- top: -11px;
22
- margin: 0 0 0 60px;
23
- line-height: 22px;
33
+ .action {
34
+ padding-right: 15px;
35
+ font-weight: 500;
24
36
  color: #000;
25
- span {
26
- font-weight: bold;
27
- }
28
- .date-time {
29
- font-size: 12px;
30
- color: #444;
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,4 @@
1
+ /// <reference types="react" />
2
+ import { AvatarListProps } from "./state";
3
+ declare const AvatarMenu: (props: AvatarListProps) => JSX.Element;
4
+ export default AvatarMenu;
@@ -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":"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"}
@@ -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;AAElC,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;IACzC,CAAC;CAAA;AAVY;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"}
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"}
@@ -2,6 +2,7 @@
2
2
  import "./index.less";
3
3
  declare const Item: (props: {
4
4
  id: string;
5
+ type?: string | undefined;
5
6
  multiple?: boolean | undefined;
6
7
  onRemove?: (() => void) | undefined;
7
8
  }) => JSX.Element;
@@ -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,6 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  declare const Reference: (props: {
3
3
  id: string;
4
- className?: any;
5
4
  }) => JSX.Element;
6
5
  export default Reference;
@@ -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, Dropdown, Menu } from "@voplus/antd";
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
- const onCheckType = ({ key }) => {
59
- state.type = key;
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
- const menu = (React.createElement(Menu, { onClick: onCheckType },
75
- React.createElement(Menu.Item, { key: "Reference" }, "Reference")));
76
- return useObserver(() => (React.createElement("div", { className: styles["reference-view"] }, state.loading ? (React.createElement(Spin, { tip: "Loading...", indicator: React.createElement(Icon, { type: "loading", spin: true, className: "padding-top-10" }) })) : (React.createElement(React.Fragment, null,
77
- React.createElement("div", { className: "reference-header" },
78
- !state.multiple ? (!!(state.links && state.links.length) ? (React.createElement("div", { className: "multiple-remove", onClick: () => (state.multiple = true) },
79
- React.createElement(Button, { type: "link" },
80
- React.createElement(FAIcon, { icon: faCheckSquare })),
81
- "Remove")) : (React.createElement("div", null))) : (React.createElement("div", { className: "multiple-remove-btn" },
82
- React.createElement(Checkbox, { onChange: onCheckAll, checked: !!state.checkAll }, "Select All"),
83
- React.createElement(Button, { type: "link", className: "del-btn", onClick: () => onRemove() }, "Move"),
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(Dropdown, { overlay: menu, trigger: ["click"] },
87
- React.createElement("span", { className: "plus-icon" },
88
- React.createElement(FAIcon, { icon: faPlus, color: "#fff" }))))),
89
- !!(state.links && state.links.length) ? (React.createElement(Scrollbars, null,
90
- React.createElement(Checkbox.Group, { value: state.ids, onChange: onCheck, className: "reference-view-page" }, state.links.map((item) => (React.createElement(Item, { key: item.id, id: item.right.id, multiple: state.multiple, onRemove: () => onRemove(item.id) })))))) : (React.createElement(Empty, { className: "padding-top-10" })),
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