@voplus/morpho-workspace 6.1.32 → 6.1.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/modules/notification/components/DocumentNotificationCard/NotificationMobileCard.d.ts +4 -0
- package/es/modules/notification/components/DocumentNotificationCard/NotificationMobileCard.js +60 -0
- package/es/modules/notification/components/DocumentNotificationCard/NotificationMobileCard.js.map +1 -0
- package/es/modules/notification/components/DocumentNotificationCard/index.d.ts +3 -2
- package/es/modules/notification/components/DocumentNotificationCard/index.js +31 -27
- package/es/modules/notification/components/DocumentNotificationCard/index.js.map +1 -1
- package/es/modules/notification/components/DocumentNotificationCard/index.less +38 -0
- package/es/modules/notification/components/NotificationList/index.d.ts +17 -2
- package/es/modules/notification/components/NotificationList/index.js +39 -26
- package/es/modules/notification/components/NotificationList/index.js.map +1 -1
- package/es/modules/notification/components/NotificationOverview/index.d.ts +2 -0
- package/es/modules/notification/components/NotificationOverview/index.js +4 -4
- package/es/modules/notification/components/NotificationOverview/index.js.map +1 -1
- package/es/modules/notification/pages/NotificationListPage/index.js +1 -0
- package/es/modules/notification/pages/NotificationListPage/index.js.map +1 -1
- package/es/modules/notification/pages/NotificationListPage/state.d.ts +2 -0
- package/es/modules/notification/pages/NotificationListPage/state.js +19 -8
- package/es/modules/notification/pages/NotificationListPage/state.js.map +1 -1
- package/es/modules/notification/pages/NotificationListPage2/NotificationMobileListPage.d.ts +7 -0
- package/es/modules/notification/pages/NotificationListPage2/NotificationMobileListPage.js +35 -0
- package/es/modules/notification/pages/NotificationListPage2/NotificationMobileListPage.js.map +1 -0
- package/es/modules/notification/pages/NotificationListPage2/index.d.ts +4 -0
- package/es/modules/notification/pages/NotificationListPage2/index.js +61 -0
- package/es/modules/notification/pages/NotificationListPage2/index.js.map +1 -0
- package/es/modules/notification/pages/NotificationListPage2/index.less +38 -0
- package/es/modules/notification/pages/NotificationListPage2/state.d.ts +14 -0
- package/es/modules/notification/pages/NotificationListPage2/state.js +99 -0
- package/es/modules/notification/pages/NotificationListPage2/state.js.map +1 -0
- package/package.json +1 -1
@@ -0,0 +1,60 @@
|
|
1
|
+
import { Button, Space } from "antd";
|
2
|
+
import { useNotification, } from "../../../../data/notification";
|
3
|
+
import { useAsideContentContext } from "@voplus/morpho-ui/es/components/layout/AsideContent";
|
4
|
+
import ProseMirrorViewer from "@voplus/morpho-text/es/controls/ProseMirror/Viewer";
|
5
|
+
import React, { useState, useEffect, useRef } from "react";
|
6
|
+
import AvatarItem from "@voplus/morpho-org/es/components/AvatarList/AvatarItem";
|
7
|
+
import NotificationNewTaskForm from "../../../tasks/components/NotificationNewTaskForm";
|
8
|
+
import classnames from "classnames";
|
9
|
+
import dayjs from "dayjs";
|
10
|
+
import { observe } from "@voplus/morpho-ui";
|
11
|
+
const NotificationMobileCard = (props) => {
|
12
|
+
const elementRef = useRef(null);
|
13
|
+
const asideContext = useAsideContentContext();
|
14
|
+
const notification = useNotification(props.id);
|
15
|
+
const [showMirror, setShowMirror] = useState(true);
|
16
|
+
useEffect(() => {
|
17
|
+
const measureHeight = () => {
|
18
|
+
if (elementRef.current) {
|
19
|
+
let element = elementRef.current.getElementsByClassName("ProseMirror")[0];
|
20
|
+
if ((element === null || element === void 0 ? void 0 : element.offsetHeight) > 85)
|
21
|
+
setShowMirror(false);
|
22
|
+
}
|
23
|
+
};
|
24
|
+
measureHeight();
|
25
|
+
}, []);
|
26
|
+
return observe(() => {
|
27
|
+
var _a, _b, _c, _d;
|
28
|
+
return (React.createElement("div", { className: "notification-card-content mobile", onClick: props.onClick },
|
29
|
+
React.createElement("div", { className: "notification-card-header" },
|
30
|
+
notification.createdBy && React.createElement(AvatarItem, { id: notification.createdBy.id }),
|
31
|
+
React.createElement("div", { className: "notification-title" },
|
32
|
+
React.createElement("div", { className: "notification-name" }, (_a = notification.createdBy) === null || _a === void 0 ? void 0 : _a.name),
|
33
|
+
React.createElement("div", null, ((_b = notification.content) === null || _b === void 0 ? void 0 : _b.title) === "Mention Notification"
|
34
|
+
? "mentioned you in ____"
|
35
|
+
: (_c = notification.content) === null || _c === void 0 ? void 0 : _c.title),
|
36
|
+
notification.notificationType && (React.createElement("span", { className: "notification-tags" }, notification.notificationType)))),
|
37
|
+
React.createElement("div", { ref: elementRef, className: classnames("notification-content-viewer", { show: showMirror }) },
|
38
|
+
React.createElement(ProseMirrorViewer, { html: (_d = notification.content) === null || _d === void 0 ? void 0 : _d.content }),
|
39
|
+
!showMirror && (React.createElement("div", { className: "read-more", onClick: () => setShowMirror(true) }, "Read More ..."))),
|
40
|
+
React.createElement("div", { className: "notification-footer" },
|
41
|
+
React.createElement("div", { className: "notification-date" }, dayjs.utc(notification.createDate).local().format("DD MMM YYYY | hh:mm A")),
|
42
|
+
React.createElement("div", { className: "notification-btn" },
|
43
|
+
React.createElement(Space, null,
|
44
|
+
notification.status !== "Dismissed" && (React.createElement(Button, { className: "btn-task-form", onClick: (ev) => {
|
45
|
+
var _a;
|
46
|
+
ev.stopPropagation();
|
47
|
+
asideContext.openAside(React.createElement(NotificationNewTaskForm, { showView: true, self: true, title: `Followup ${notification.content.title}`, description: `<div><p>This is a follow-up task of:</p><h3>Notification Content</h3><p>${notification.content.content}</p></div>`, parentId: (_a = notification.node) === null || _a === void 0 ? void 0 : _a.id, onCancel: () => asideContext === null || asideContext === void 0 ? void 0 : asideContext.closeAside() }), { span: 12 });
|
48
|
+
} }, "Create Task")),
|
49
|
+
notification.status !== "Dismissed" && (React.createElement(Button, { className: "btn-dismiss", onClick: (ev) => onChangeStatus(ev, "Dismissed") }, "Dismiss")),
|
50
|
+
notification.status === "Dismissed" && (React.createElement(Button, { className: "btn-unDismiss", onClick: (ev) => onChangeStatus(ev, "Read") }, "Undo Dismiss")),
|
51
|
+
notification.status !== "Later" && notification.status !== "Dismissed" && (React.createElement(Button, { className: "btn-later", onClick: (ev) => onChangeStatus(ev, "Later") }, "Later")))))));
|
52
|
+
});
|
53
|
+
function onChangeStatus(ev, status) {
|
54
|
+
var _a;
|
55
|
+
(_a = props.onChangeStatus) === null || _a === void 0 ? void 0 : _a.call(props, status);
|
56
|
+
ev.stopPropagation();
|
57
|
+
}
|
58
|
+
};
|
59
|
+
export default NotificationMobileCard;
|
60
|
+
//# sourceMappingURL=NotificationMobileCard.js.map
|
package/es/modules/notification/components/DocumentNotificationCard/NotificationMobileCard.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"NotificationMobileCard.js","sourceRoot":"","sources":["../../../../../src/modules/notification/components/DocumentNotificationCard/NotificationMobileCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAGN,eAAe,GACf,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAC7F,OAAO,iBAAiB,MAAM,oDAAoD,CAAC;AACnF,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,UAAU,MAAM,wDAAwD,CAAC;AAChF,OAAO,uBAAuB,MAAM,mDAAmD,CAAC;AAExF,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,sBAAsB,GAAG,CAAC,KAA4B,EAAE,EAAE;IAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,YAAY,GAAG,sBAAsB,EAAE,CAAC;IAC9C,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,EAAE,CAA0B,CAAC;IACxE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEnD,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,aAAa,GAAG,GAAG,EAAE;YAC1B,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxB,IAAI,OAAO,GAAI,UAAU,CAAC,OAAe,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnF,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,IAAG,EAAE;oBAAE,aAAa,CAAC,KAAK,CAAC,CAAC;YACtD,CAAC;QACF,CAAC,CAAC;QAEF,aAAa,EAAE,CAAC;IACjB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,OAAO,CAAC,GAAG,EAAE;;QAAC,OAAA,CACpB,6BAAK,SAAS,EAAC,kCAAkC,EAAC,OAAO,EAAE,KAAK,CAAC,OAAO;YACvE,6BAAK,SAAS,EAAC,0BAA0B;gBACvC,YAAY,CAAC,SAAS,IAAI,oBAAC,UAAU,IAAC,EAAE,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,GAAI;gBACxE,6BAAK,SAAS,EAAC,oBAAoB;oBAClC,6BAAK,SAAS,EAAC,mBAAmB,IAAE,MAAA,YAAY,CAAC,SAAS,0CAAE,IAAI,CAAO;oBACvE,iCACE,CAAA,MAAA,YAAY,CAAC,OAAO,0CAAE,KAAK,MAAK,sBAAsB;wBACtD,CAAC,CAAC,uBAAuB;wBACzB,CAAC,CAAC,MAAA,YAAY,CAAC,OAAO,0CAAE,KAAK,CACzB;oBACL,YAAY,CAAC,gBAAgB,IAAI,CACjC,8BAAM,SAAS,EAAC,mBAAmB,IAAE,YAAY,CAAC,gBAAgB,CAAQ,CAC1E,CACI,CACD;YACN,6BACC,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,UAAU,CAAC,6BAA6B,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;gBAE1E,oBAAC,iBAAiB,IAAC,IAAI,EAAE,MAAA,YAAY,CAAC,OAAO,0CAAE,OAAO,GAAI;gBACzD,CAAC,UAAU,IAAI,CACf,6BAAK,SAAS,EAAC,WAAW,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,oBAEvD,CACN,CACI;YACN,6BAAK,SAAS,EAAC,qBAAqB;gBACnC,6BAAK,SAAS,EAAC,mBAAmB,IAChC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CACtE;gBACN,6BAAK,SAAS,EAAC,kBAAkB;oBAChC,oBAAC,KAAK;wBACJ,YAAY,CAAC,MAAM,KAAK,WAAW,IAAI,CACvC,oBAAC,MAAM,IACN,SAAS,EAAC,eAAe,EACzB,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE;;gCACf,EAAE,CAAC,eAAe,EAAE,CAAC;gCACrB,YAAa,CAAC,SAAS,CACtB,oBAAC,uBAAuB,IACvB,QAAQ,QACR,IAAI,QACJ,KAAK,EAAE,YAAY,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAC/C,WAAW,EAAE,2EAA2E,YAAY,CAAC,OAAO,CAAC,OAAO,YAAY,EAChI,QAAQ,EAAE,MAAA,YAAY,CAAC,IAAI,0CAAE,EAAE,EAC/B,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,EAAE,GACzC,EACF,EAAE,IAAI,EAAE,EAAE,EAAE,CACZ,CAAC;4BACH,CAAC,kBAGO,CACT;wBACA,YAAY,CAAC,MAAM,KAAK,WAAW,IAAI,CACvC,oBAAC,MAAM,IAAC,SAAS,EAAC,aAAa,EAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,WAAW,CAAC,cAEvE,CACT;wBACA,YAAY,CAAC,MAAM,KAAK,WAAW,IAAI,CACvC,oBAAC,MAAM,IAAC,SAAS,EAAC,eAAe,EAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,mBAEpE,CACT;wBACA,YAAY,CAAC,MAAM,KAAK,OAAO,IAAI,YAAY,CAAC,MAAM,KAAK,WAAW,IAAI,CAC1E,oBAAC,MAAM,IAAC,SAAS,EAAC,WAAW,EAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,YAEjE,CACT,CACM,CACH,CACD,CACD,CACN,CAAA;KAAA,CAAC,CAAC;IAEH,SAAS,cAAc,CAAC,EAAO,EAAE,MAA0B;;QAC1D,MAAA,KAAK,CAAC,cAAc,sDAAG,MAAM,CAAC,CAAC;QAC/B,EAAE,CAAC,eAAe,EAAE,CAAC;IACtB,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|
@@ -1,10 +1,11 @@
|
|
1
1
|
import { NotificationStatus } from "../../../../data/notification";
|
2
2
|
import React from "react";
|
3
|
-
|
3
|
+
export type NotificationCardProps = {
|
4
4
|
id: string;
|
5
5
|
active?: boolean;
|
6
6
|
className?: string;
|
7
7
|
onClick?: React.MouseEventHandler<HTMLDivElement>;
|
8
8
|
onChangeStatus?: (state: NotificationStatus) => void;
|
9
|
-
}
|
9
|
+
};
|
10
|
+
declare const DocumentNotificationCard: (props: NotificationCardProps) => React.JSX.Element;
|
10
11
|
export default DocumentNotificationCard;
|
@@ -1,12 +1,13 @@
|
|
1
1
|
import { Button, Space } from "antd";
|
2
2
|
import { useNotification, } from "../../../../data/notification";
|
3
|
-
import { useApplicationContext } from "@voplus/morpho-data";
|
3
|
+
import { useLayout, useApplicationContext } from "@voplus/morpho-data";
|
4
4
|
import Card from "@voplus/morpho-ui/es/controls/Card";
|
5
5
|
import { useAsideContentContext } from "@voplus/morpho-ui/es/components/layout/AsideContent";
|
6
6
|
import ProseMirrorViewer from "@voplus/morpho-text/es/controls/ProseMirror/Viewer";
|
7
7
|
import React, { useState, useEffect, useRef } from "react";
|
8
8
|
import AvatarItem from "@voplus/morpho-org/es/components/AvatarList/AvatarItem";
|
9
9
|
import NotificationNewTaskForm from "../../../tasks/components/NotificationNewTaskForm";
|
10
|
+
import NotificationMobileCard from "./NotificationMobileCard";
|
10
11
|
import classnames from "classnames";
|
11
12
|
import dayjs from "dayjs";
|
12
13
|
import { observe } from "@voplus/morpho-ui";
|
@@ -14,6 +15,7 @@ import styles from "./index.less";
|
|
14
15
|
const DocumentNotificationCard = (props) => {
|
15
16
|
const context = useApplicationContext();
|
16
17
|
const elementRef = useRef(null);
|
18
|
+
const layout = useLayout();
|
17
19
|
const asideContext = useAsideContentContext();
|
18
20
|
const notification = useNotification(props.id);
|
19
21
|
const [showMirror, setShowMirror] = useState(true);
|
@@ -29,33 +31,35 @@ const DocumentNotificationCard = (props) => {
|
|
29
31
|
}, []);
|
30
32
|
return observe(() => {
|
31
33
|
var _a, _b, _c, _d;
|
32
|
-
return (React.createElement(Card, { className: classnames(styles["notification-card"], props.className, {
|
34
|
+
return (React.createElement(Card, { className: classnames(styles["notification-card"], props.className, {
|
35
|
+
mobile: layout.ui.mobile,
|
36
|
+
active: props.active,
|
37
|
+
}), bordered: true,
|
33
38
|
//hoverShadow
|
34
|
-
shadow: true },
|
35
|
-
React.createElement("div", { className: "notification-card-
|
36
|
-
React.createElement(
|
37
|
-
|
38
|
-
React.createElement("div", { className: "notification-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
React.createElement(
|
45
|
-
|
46
|
-
|
47
|
-
React.createElement("div", { className: "notification-
|
48
|
-
|
49
|
-
React.createElement(
|
50
|
-
React.createElement(
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
notification.status !== "Later" && notification.status !== "Dismissed" && (React.createElement(Button, { className: "btn-later", onClick: (ev) => onChangeStatus(ev, "Later") }, "Later"))))))));
|
39
|
+
shadow: true }, layout.ui.mobile ? (React.createElement(NotificationMobileCard, { ...props })) : (React.createElement("div", { className: "notification-card-content", onClick: props.onClick },
|
40
|
+
React.createElement("div", { className: "notification-card-header" },
|
41
|
+
notification.createdBy && React.createElement(AvatarItem, { id: notification.createdBy.id }),
|
42
|
+
React.createElement("div", { className: "notification-title" },
|
43
|
+
React.createElement("div", { className: "notification-name" }, (_a = notification.createdBy) === null || _a === void 0 ? void 0 : _a.name),
|
44
|
+
React.createElement("div", null, ((_b = notification.content) === null || _b === void 0 ? void 0 : _b.title) === "Mention Notification"
|
45
|
+
? "mentioned you in ____"
|
46
|
+
: (_c = notification.content) === null || _c === void 0 ? void 0 : _c.title)),
|
47
|
+
React.createElement("div", null, notification.notificationType && (React.createElement("span", { className: "notification-tags" }, notification.notificationType)))),
|
48
|
+
React.createElement("div", { ref: elementRef, className: classnames("notification-content-viewer", { show: showMirror }) },
|
49
|
+
React.createElement(ProseMirrorViewer, { html: (_d = notification.content) === null || _d === void 0 ? void 0 : _d.content }),
|
50
|
+
!showMirror && (React.createElement("div", { className: "read-more", onClick: () => setShowMirror(true) }, "Read More ..."))),
|
51
|
+
React.createElement("div", { className: "notification-footer" },
|
52
|
+
React.createElement("div", { className: "notification-date" }, dayjs.utc(notification.createDate).local().format("DD MMM YYYY | hh:mm A")),
|
53
|
+
React.createElement("div", { className: "notification-btn" },
|
54
|
+
React.createElement(Space, null,
|
55
|
+
notification.status !== "Dismissed" && (React.createElement(Button, { className: "btn-task-form", onClick: (ev) => {
|
56
|
+
var _a;
|
57
|
+
ev.stopPropagation();
|
58
|
+
asideContext.openAside(React.createElement(NotificationNewTaskForm, { showView: true, self: true, title: `Followup ${notification.content.title}`, description: `<div><p>This is a follow-up task of:</p><h3>Notification Content</h3><p>${notification.content.content}</p></div>`, parentId: (_a = notification.node) === null || _a === void 0 ? void 0 : _a.id, onCancel: () => asideContext === null || asideContext === void 0 ? void 0 : asideContext.closeAside() }), { span: 12 });
|
59
|
+
} }, "Create Task")),
|
60
|
+
notification.status !== "Dismissed" && (React.createElement(Button, { className: "btn-dismiss", onClick: (ev) => onChangeStatus(ev, "Dismissed") }, "Dismiss")),
|
61
|
+
notification.status === "Dismissed" && (React.createElement(Button, { className: "btn-unDismiss", onClick: (ev) => onChangeStatus(ev, "Read") }, "Undo Dismiss")),
|
62
|
+
notification.status !== "Later" && notification.status !== "Dismissed" && (React.createElement(Button, { className: "btn-later", onClick: (ev) => onChangeStatus(ev, "Later") }, "Later")))))))));
|
59
63
|
});
|
60
64
|
function onChangeStatus(ev, status) {
|
61
65
|
var _a;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/notification/components/DocumentNotificationCard/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAGN,eAAe,GACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/notification/components/DocumentNotificationCard/index.tsx"],"names":[],"mappings":"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"}
|
@@ -17,6 +17,10 @@
|
|
17
17
|
box-shadow: 0px 3px 6px #e0efff !important;
|
18
18
|
}
|
19
19
|
|
20
|
+
&:global(.mobile) {
|
21
|
+
margin: 12px;
|
22
|
+
}
|
23
|
+
|
20
24
|
:global {
|
21
25
|
.notification-card-header {
|
22
26
|
display: flex;
|
@@ -90,5 +94,39 @@
|
|
90
94
|
border: 1px solid #5d5d5d;
|
91
95
|
}
|
92
96
|
}
|
97
|
+
.notification-card-content {
|
98
|
+
&.mobile {
|
99
|
+
font-size: 12px;
|
100
|
+
.notification-card-header {
|
101
|
+
font-weight: 500;
|
102
|
+
.notification-title {
|
103
|
+
line-height: 17px;
|
104
|
+
.notification-name {
|
105
|
+
color: @primary-color;
|
106
|
+
}
|
107
|
+
}
|
108
|
+
.notification-tags {
|
109
|
+
margin-top: 5px;
|
110
|
+
}
|
111
|
+
}
|
112
|
+
.notification-content-viewer {
|
113
|
+
background: #f9f9f9;
|
114
|
+
padding: 12px;
|
115
|
+
border-radius: @border-radius;
|
116
|
+
}
|
117
|
+
.notification-footer {
|
118
|
+
display: block;
|
119
|
+
.notification-btn {
|
120
|
+
text-align: right;
|
121
|
+
margin-top: 12px;
|
122
|
+
}
|
123
|
+
}
|
124
|
+
.ProseMirror {
|
125
|
+
font-size: 12px;
|
126
|
+
font-weight: 500;
|
127
|
+
color: #5d5d5d;
|
128
|
+
}
|
129
|
+
}
|
130
|
+
}
|
93
131
|
}
|
94
132
|
}
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import React from "react";
|
2
2
|
import { INotification } from "../../../../data/notification";
|
3
|
+
import { FilterOption } from "@voplus/morpho-data";
|
3
4
|
import "./index.less";
|
4
|
-
|
5
|
+
export type NotificationListProps = {
|
5
6
|
/** status of notifications shown on the list. */
|
6
7
|
status: string;
|
7
8
|
/** The current active item */
|
@@ -9,5 +10,19 @@ declare const NotificationList: (props: {
|
|
9
10
|
/** Call back when an item has been clicked on the list. */
|
10
11
|
onClickItem?: (ev: React.MouseEvent<HTMLDivElement, MouseEvent>, item: INotification) => void;
|
11
12
|
onClickStatus?: (status: string) => void;
|
12
|
-
|
13
|
+
/** 头部的显示方式 */
|
14
|
+
headerType?: "dashboard" | "tool";
|
15
|
+
/** 是否允在 listView 内部打开 aside */
|
16
|
+
asideable?: boolean;
|
17
|
+
filterOptions?: FilterOption[];
|
18
|
+
/** Call back when received total number of Notification. */
|
19
|
+
onTotal?: (total: number) => void;
|
20
|
+
};
|
21
|
+
declare const NotificationList: {
|
22
|
+
(props: NotificationListProps): React.JSX.Element;
|
23
|
+
defaultProps: {
|
24
|
+
headerType: string;
|
25
|
+
asideable: boolean;
|
26
|
+
};
|
27
|
+
};
|
13
28
|
export default NotificationList;
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import React, { useEffect, useState, useMemo } from "react";
|
2
2
|
import { useNotificationListEffect, useNotificationStore, } from "../../../../data/notification";
|
3
3
|
import { ListDataContext, useCreateListDataState } from "@voplus/morpho-ui/es/data";
|
4
|
-
import { observe, useRenderOnChange } from "@voplus/morpho-ui";
|
4
|
+
import { observe, useRenderOnChange, useAsideContentContext } from "@voplus/morpho-ui";
|
5
5
|
import { message, Alert } from "antd";
|
6
6
|
import { useApplicationContext } from "@voplus/morpho-data";
|
7
7
|
import { runInAction } from "mobx";
|
@@ -11,24 +11,31 @@ import DocumentNotificationCard from "../DocumentNotificationCard";
|
|
11
11
|
import AsideContent from "@voplus/morpho-ui/es/components/layout/AsideContent";
|
12
12
|
import Viewer from "@voplus/morpho-text/es/controls/ProseMirror/Viewer";
|
13
13
|
import NodePropertiesView from "@voplus/morpho-document-core/es/components/NodePropertiesView";
|
14
|
+
import ListHeaderTool from "@voplus/morpho-ui/es/components/layout/ListView/headers/ListHeaderTool";
|
15
|
+
import { useViewLayoutContext } from "@voplus/morpho-ui/es/components/layout/DefaultViewLayout/ViewLayoutContext";
|
14
16
|
import { NotificationListContext, NotificationListState } from "./state";
|
15
17
|
import { useUnit } from "@voplus/morpho-org/es/data";
|
16
18
|
import S from "string";
|
17
19
|
import "./index.less";
|
18
20
|
const NotificationList = (props) => {
|
21
|
+
const { headerType, filterOptions } = props;
|
19
22
|
const store = useNotificationStore();
|
20
23
|
const { user } = useApplicationContext();
|
24
|
+
const layoutContext = useViewLayoutContext();
|
21
25
|
const context = useMemo(() => new NotificationListState(), []);
|
22
|
-
const [asideContext] = useState(AsideContent.createContext());
|
26
|
+
const [asideContext] = useState(props.asideable ? AsideContent.createContext() : useAsideContentContext());
|
23
27
|
const list = useCreateListDataState({ filterDefaults: { filters: filters() } }, [
|
24
28
|
props.status,
|
29
|
+
filterOptions,
|
25
30
|
]);
|
26
31
|
const unit = useUnit(user.info.unit.id, { includes: "notes" });
|
27
32
|
/** 如果 list.filters.options变更了就重渲染,使下一行的useNotificationListEffect 可以接收新参数*/
|
28
33
|
useRenderOnChange(() => list.filters.options);
|
29
34
|
/** 把ListDataState传给useNotificationListEffect,使之可以自動更新loading, hasmore. */
|
30
35
|
useNotificationListEffect(list, (result, total) => {
|
36
|
+
var _a;
|
31
37
|
list.union(result);
|
38
|
+
(_a = props.onTotal) === null || _a === void 0 ? void 0 : _a.call(props, total !== null && total !== void 0 ? total : 0);
|
32
39
|
}, {
|
33
40
|
Total: true,
|
34
41
|
...list.filters.options,
|
@@ -43,43 +50,45 @@ const NotificationList = (props) => {
|
|
43
50
|
list.insert(res, 0);
|
44
51
|
if (res.status === "Unread")
|
45
52
|
editStatus(res.id, "Read");
|
46
|
-
asideContext === null || asideContext === void 0 ? void 0 : asideContext.openAside(React.createElement(NodePropertiesView, { node: res.node }), { span: 12 });
|
53
|
+
asideContext === null || asideContext === void 0 ? void 0 : asideContext.openAside(React.createElement(NodePropertiesView, { node: res.node }), { span: (layoutContext === null || layoutContext === void 0 ? void 0 : layoutContext.asideColSpan) ? layoutContext.asideColSpan : 12 });
|
47
54
|
})
|
48
55
|
.catch((e) => { });
|
49
56
|
});
|
50
57
|
}
|
51
58
|
}, [props.active]);
|
52
|
-
|
59
|
+
const content = observe(() => {
|
53
60
|
var _a;
|
54
61
|
return (React.createElement(ListDataContext.Provider, { value: list },
|
55
|
-
React.createElement(
|
56
|
-
React.createElement(
|
57
|
-
React.createElement("div", { className: "my-space-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
}, onChangeStatus: (status) => editStatus(item.id, status) })) }))))));
|
62
|
+
React.createElement(NotificationListContext.Provider, { value: context },
|
63
|
+
React.createElement("div", { className: "my-space-notifications" },
|
64
|
+
React.createElement("div", { className: "my-space-alert-content" }, (_a = unit.notes) === null || _a === void 0 ? void 0 : _a.map((n, i) => (React.createElement(Alert, { key: i, showIcon: true, closable: true, type: (n.type.substring(0, 1).toLowerCase() + n.type.substring(1)), className: "dashboard-alert normal-alert notifications-alert", message: React.createElement(React.Fragment, null,
|
65
|
+
React.createElement("div", { className: "title-group" }, n.group),
|
66
|
+
React.createElement(Viewer, { html: n.note })) })))),
|
67
|
+
headerType === "dashboard" ? (React.createElement(NotificationListHeader, { status: props.status, onClickStatus: props.onClickStatus })) : (React.createElement(ListHeaderTool, { addAble: false, sortable: false, searchOptions: { placeholder: "Search in notifications" } })),
|
68
|
+
React.createElement(ListView, { headerProps: { visible: false }, className: "notifications-list", asideable: false, renderItem: ({ item }) => (React.createElement(DocumentNotificationCard, { className: "doc-notification-card", id: item.id, active: props.active === item.id, onClick: (ev) => {
|
69
|
+
var _a, _b;
|
70
|
+
const path = ev.nativeEvent.composedPath();
|
71
|
+
const visible = path.some((item) => item.className === "notification-card-content");
|
72
|
+
/** fix: notification card里的任何对话框(比如:pdf/file viewer quick view) 任何button 都按不了,一按就close */
|
73
|
+
if (visible && ((_a = item === null || item === void 0 ? void 0 : item.node) === null || _a === void 0 ? void 0 : _a.id)) {
|
74
|
+
(_b = props.onClickItem) === null || _b === void 0 ? void 0 : _b.call(props, ev, item);
|
75
|
+
}
|
76
|
+
}, onChangeStatus: (status) => editStatus(item.id, status) })) })))));
|
71
77
|
});
|
78
|
+
return observe(() => props.asideable ? React.createElement(AsideContent, { context: asideContext }, content) : content);
|
72
79
|
function filters() {
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
{
|
80
|
+
let filter = [];
|
81
|
+
if (props.status && props.status !== "all") {
|
82
|
+
filter.push({
|
77
83
|
c: "Status",
|
78
84
|
o: "=",
|
79
85
|
l: "And",
|
80
86
|
v1: S(props.status).capitalize().toString(),
|
81
|
-
}
|
82
|
-
|
87
|
+
});
|
88
|
+
}
|
89
|
+
if (filterOptions)
|
90
|
+
filter = filterOptions;
|
91
|
+
return filter;
|
83
92
|
}
|
84
93
|
function editStatus(id, status) {
|
85
94
|
runInAction(async () => {
|
@@ -93,5 +102,9 @@ const NotificationList = (props) => {
|
|
93
102
|
});
|
94
103
|
}
|
95
104
|
};
|
105
|
+
NotificationList.defaultProps = {
|
106
|
+
headerType: "dashboard",
|
107
|
+
asideable: true,
|
108
|
+
};
|
96
109
|
export default NotificationList;
|
97
110
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/notification/components/NotificationList/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAIN,yBAAyB,EACzB,oBAAoB,GACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/notification/components/NotificationList/index.tsx"],"names":[],"mappings":"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"}
|
@@ -1,5 +1,7 @@
|
|
1
|
+
import { NotificationStatus } from "../../../../data/notification";
|
1
2
|
import React from "react";
|
2
3
|
export type NotificationOverviewProps = {
|
4
|
+
status?: NotificationStatus[];
|
3
5
|
onOverviewItemClick?: () => void;
|
4
6
|
};
|
5
7
|
declare const NotificationOverview: (props: NotificationOverviewProps) => React.JSX.Element;
|
@@ -7,15 +7,15 @@ import { useQuickFilterContext } from "@voplus/morpho-ui/es/data/QuickFilterCont
|
|
7
7
|
import { Skeleton } from "antd";
|
8
8
|
import classnames from "classnames";
|
9
9
|
import React from "react";
|
10
|
-
const status = ["Read", "Unread", "Later", "Dismissed"];
|
11
10
|
const NotificationOverview = (props) => {
|
11
|
+
const { status } = props;
|
12
12
|
const context = useQuickFilterContext();
|
13
13
|
return observe(() => (React.createElement(Scrollbars, { autoHide: true },
|
14
14
|
React.createElement(Skeleton, { loading: context.loading },
|
15
|
-
React.createElement(PanelOverview, { className: "notification-overview", overviewAll: React.createElement(OverviewAll, { className: classnames({ active: context.actives.includes("All") }), total: context.getCount("All"), description: "Total All Notifications", onClick: () => onClick("All") }), overviewList: status.map((i) => (React.createElement(OverviewItem, { key: i, className: classnames({ active: context.actives.includes(i) }), total: context.getCount(i), description: i, onClick: () => onClick(i) }))) })))));
|
16
|
-
function onClick(
|
15
|
+
React.createElement(PanelOverview, { className: "notification-overview", overviewAll: React.createElement(OverviewAll, { className: classnames({ active: context.actives.includes("All") }), total: context.getCount("All"), description: "Total All Notifications", onClick: () => onClick("All") }), overviewList: status === null || status === void 0 ? void 0 : status.map((i) => (React.createElement(OverviewItem, { key: i, className: classnames({ active: context.actives.includes(i) }), total: context.getCount(i), description: i, onClick: () => onClick(i) }))) })))));
|
16
|
+
function onClick(s) {
|
17
17
|
var _a;
|
18
|
-
context.triggerFilter(
|
18
|
+
context.triggerFilter(s);
|
19
19
|
(_a = props.onOverviewItemClick) === null || _a === void 0 ? void 0 : _a.call(props);
|
20
20
|
}
|
21
21
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/notification/components/NotificationOverview/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,YAAY,MAAM,0DAA0D,CAAC;AACpF,OAAO,WAAW,MAAM,yDAAyD,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,aAAa,MAAM,6CAA6C,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAErF,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/notification/components/NotificationOverview/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,YAAY,MAAM,0DAA0D,CAAC;AACpF,OAAO,WAAW,MAAM,yDAAyD,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,aAAa,MAAM,6CAA6C,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAErF,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,MAAM,oBAAoB,GAAG,CAAC,KAAgC,EAAE,EAAE;IACjE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;IAExC,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,oBAAC,UAAU,IAAC,QAAQ;QACnB,oBAAC,QAAQ,IAAC,OAAO,EAAE,OAAO,CAAC,OAAO;YACjC,oBAAC,aAAa,IACb,SAAS,EAAC,uBAAuB,EACjC,WAAW,EACV,oBAAC,WAAW,IACX,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAClE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC9B,WAAW,EAAC,yBAAyB,EACrC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAC5B,EAEH,YAAY,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAChC,oBAAC,YAAY,IACZ,GAAG,EAAE,CAAC,EACN,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAC9D,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAC1B,WAAW,EAAE,CAAC,EACd,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GACxB,CACF,CAAC,GACD,CACQ,CACC,CACb,CAAC,CAAC;IAEH,SAAS,OAAO,CAAC,CAAS;;QACzB,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACzB,MAAA,KAAK,CAAC,mBAAmB,qDAAI,CAAC;IAC/B,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
@@ -28,6 +28,7 @@ const NotificationListPage = (props) => {
|
|
28
28
|
var _a, _b;
|
29
29
|
return (React.createElement(QuickFilterContext.Provider, { value: context },
|
30
30
|
React.createElement(DefaultViewLayout, { className: styles["notification-list-page"], header: React.createElement(PageHeadDashboard, { avatarIcon: React.createElement(FAIcon, { icon: faBell }), title: props.title, upAble: true, description: props.description }), propertiesWidth: "295px", properties: React.createElement(NotificationPanel, { overviewProps: {
|
31
|
+
status: state.status,
|
31
32
|
onOverviewItemClick: () => state.onOverviewItemClick(context.actives),
|
32
33
|
}, notificationFilterProps: {
|
33
34
|
onFilter(options) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/notification/pages/NotificationListPage/index.tsx"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/notification/pages/NotificationListPage/index.tsx"],"names":[],"mappings":"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"}
|
@@ -1,8 +1,10 @@
|
|
1
1
|
import { FilterOption } from "@voplus/morpho-data";
|
2
2
|
import { ListFilterOptions } from "@voplus/morpho-ui/es/data/QuickFilterContext";
|
3
|
+
import { NotificationStatus } from "../../../../data/notification";
|
3
4
|
export declare class State {
|
4
5
|
private parentId?;
|
5
6
|
/** 默认值 */
|
7
|
+
status: NotificationStatus[];
|
6
8
|
filerOptions?: FilterOption[];
|
7
9
|
defaultFilter: FilterOption[];
|
8
10
|
listFilterOptions?: ListFilterOptions[];
|
@@ -9,6 +9,12 @@ export class State {
|
|
9
9
|
value: parentId
|
10
10
|
});
|
11
11
|
/** 默认值 */
|
12
|
+
Object.defineProperty(this, "status", {
|
13
|
+
enumerable: true,
|
14
|
+
configurable: true,
|
15
|
+
writable: true,
|
16
|
+
value: ["Read", "Unread", "Later", "Dismissed"]
|
17
|
+
});
|
12
18
|
Object.defineProperty(this, "filerOptions", {
|
13
19
|
enumerable: true,
|
14
20
|
configurable: true,
|
@@ -30,16 +36,18 @@ export class State {
|
|
30
36
|
makeObservable(this);
|
31
37
|
if (this.parentId)
|
32
38
|
this.defaultFilter = [{ c: "Target", o: "=", l: "And", v1: this.parentId }];
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
39
|
+
let statusFilter = [];
|
40
|
+
this.status.map((s) => {
|
41
|
+
statusFilter.push({
|
42
|
+
name: s,
|
43
|
+
filters: {
|
44
|
+
Filters: [...this.defaultFilter, { c: "NotificationStatus", o: "=", v1: s, l: "And" }],
|
45
|
+
},
|
46
|
+
});
|
47
|
+
});
|
37
48
|
this.listFilterOptions = [
|
38
49
|
{ name: "All", filters: { Filters: this.defaultFilter } },
|
39
|
-
|
40
|
-
{ name: "Unread", filters: { Filters: [...this.defaultFilter, unread] } },
|
41
|
-
{ name: "Later", filters: { Filters: [...this.defaultFilter, later] } },
|
42
|
-
{ name: "Dismissed", filters: { Filters: [...this.defaultFilter, dismissed] } },
|
50
|
+
...statusFilter,
|
43
51
|
];
|
44
52
|
this.onFilterOptions();
|
45
53
|
}
|
@@ -63,6 +71,9 @@ export class State {
|
|
63
71
|
}
|
64
72
|
}
|
65
73
|
}
|
74
|
+
__decorate([
|
75
|
+
observable
|
76
|
+
], State.prototype, "status", void 0);
|
66
77
|
__decorate([
|
67
78
|
observable
|
68
79
|
], State.prototype, "filerOptions", void 0);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/modules/notification/pages/NotificationListPage/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/modules/notification/pages/NotificationListPage/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAKhE,MAAM,OAAO,KAAK;IAOjB,YAA2B,QAAiB;QAAzB;;;;mBAAQ,QAAQ;WAAS;QAN5C,UAAU;QACS;;;;mBAA+B,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC;WAAC;QACxE;;;;;WAA8B;QAC9B;;;;mBAAgC,EAAE;WAAC;QACnC;;;;;WAAwC;QAG1D,cAAc,CAAC,IAAI,CAAC,CAAC;QAErB,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE/F,IAAI,YAAY,GAAwB,EAAE,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACrB,YAAY,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,CAAC;gBACP,OAAO,EAAE;oBACR,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;iBACtF;aACD,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,GAAG;YACxB,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE;YACzD,GAAG,YAAY;SACf,CAAC;QAEF,IAAI,CAAC,eAAe,EAAE,CAAC;IACxB,CAAC;IAEc,eAAe,CAAC,OAAwB;;QACtD,IAAI,CAAC,YAAY,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;QAElC,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAA,EAAE,CAAC;YACnF,MAAA,IAAI,CAAC,YAAY,0CAAE,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;QAChD,CAAC;IACF,CAAC;IAEc,mBAAmB,CAAC,CAAY;QAC9C,IAAI,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,EAAE,CAAC;QACxB,CAAC;aAAM,CAAC;YACP,IAAI,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,GAAmB,EAAE,CAAC;YAC3B,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM;gBACjB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1F,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;IACF,CAAC;CACD;AA/CmB;IAAlB,UAAU;qCAAgF;AACxE;IAAlB,UAAU;2CAAsC;AAC9B;IAAlB,UAAU;4CAA2C;AACnC;IAAlB,UAAU;gDAAgD;AAyB5C;IAAd,MAAM;4CAMN;AAEc;IAAd,MAAM;gDAUN"}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { NotificationListProps } from "../../components/NotificationList";
|
3
|
+
import { State } from "./state";
|
4
|
+
declare const NotificationMobileListPage: (props: NotificationListProps & {
|
5
|
+
state: State;
|
6
|
+
}) => React.JSX.Element;
|
7
|
+
export default NotificationMobileListPage;
|
@@ -0,0 +1,35 @@
|
|
1
|
+
import React, { useState } from "react";
|
2
|
+
import { observe } from "@voplus/morpho-ui";
|
3
|
+
import NotificationList from "../../components/NotificationList";
|
4
|
+
import MobileDefaultViewLayout from "@voplus/morpho-ui/es/components/layout/MobileDefaultViewLayout";
|
5
|
+
import DocumentTabs from "@voplus/morpho-document/es/components/DocumentTabs";
|
6
|
+
import { useQuickFilterContext } from "@voplus/morpho-ui/es/data/QuickFilterContext";
|
7
|
+
import ActivityLog from "@voplus/morpho-org/es/components/ActivityLog2/ActivityLog2";
|
8
|
+
import NotificationPanel from "../../components/NotificationPanel";
|
9
|
+
const NotificationMobileListPage = (props) => {
|
10
|
+
const { state } = props;
|
11
|
+
const context = useQuickFilterContext();
|
12
|
+
const [activeKey, setActiveKey] = useState("NotificationList");
|
13
|
+
return observe(() => (React.createElement(MobileDefaultViewLayout, { className: "notification-list-page_mobile", title: "Your Notifications Center", properties: React.createElement(NotificationPanel, { overviewProps: {
|
14
|
+
status: state.notificationStatus,
|
15
|
+
onOverviewItemClick: () => state.onOverviewItemClick(context.actives),
|
16
|
+
}, notificationFilterProps: {
|
17
|
+
onFilter(options) {
|
18
|
+
state.onFilterOptions(options);
|
19
|
+
},
|
20
|
+
} }) },
|
21
|
+
React.createElement(DocumentTabs, { id: "", active: "NotificationList", tabItems: [
|
22
|
+
{
|
23
|
+
key: "NotificationList",
|
24
|
+
label: "Notification List",
|
25
|
+
children: (React.createElement(NotificationList, { ...props, asideable: false, headerType: "tool", filterOptions: state.filerOptions, onTotal: (total) => context.onChangeTotal(total) })),
|
26
|
+
},
|
27
|
+
{
|
28
|
+
key: "Activities",
|
29
|
+
label: "Activities",
|
30
|
+
children: (React.createElement(React.Fragment, null, activeKey === "Activities" ? (React.createElement(ActivityLog, { id: "", bar: false })) : null)),
|
31
|
+
},
|
32
|
+
], onChange: (key) => setActiveKey(key) }))));
|
33
|
+
};
|
34
|
+
export default NotificationMobileListPage;
|
35
|
+
//# sourceMappingURL=NotificationMobileListPage.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"NotificationMobileListPage.js","sourceRoot":"","sources":["../../../../../src/modules/notification/pages/NotificationListPage2/NotificationMobileListPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,gBAA2C,MAAM,mCAAmC,CAAC;AAC5F,OAAO,uBAAuB,MAAM,gEAAgE,CAAC;AACrG,OAAO,YAAY,MAAM,oDAAoD,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,WAAW,MAAM,4DAA4D,CAAC;AACrF,OAAO,iBAAiB,MAAM,oCAAoC,CAAC;AAGnE,MAAM,0BAA0B,GAAG,CAAC,KAA+C,EAAE,EAAE;IACtF,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACxB,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;IACxC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAS,kBAAkB,CAAC,CAAC;IAEvE,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,oBAAC,uBAAuB,IACvB,SAAS,EAAC,+BAA+B,EACzC,KAAK,EAAC,2BAA2B,EACjC,UAAU,EACT,oBAAC,iBAAiB,IACjB,aAAa,EAAE;gBACd,MAAM,EAAE,KAAK,CAAC,kBAAkB;gBAChC,mBAAmB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC;aACrE,EACD,uBAAuB,EAAE;gBACxB,QAAQ,CAAC,OAAO;oBACf,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAChC,CAAC;aACD,GACA;QAGH,oBAAC,YAAY,IACZ,EAAE,EAAC,EAAE,EACL,MAAM,EAAC,kBAAkB,EACzB,QAAQ,EAAE;gBACT;oBACC,GAAG,EAAE,kBAAkB;oBACvB,KAAK,EAAE,mBAAmB;oBAC1B,QAAQ,EAAE,CACT,oBAAC,gBAAgB,OACZ,KAAK,EACT,SAAS,EAAE,KAAK,EAChB,UAAU,EAAC,MAAM,EACjB,aAAa,EAAE,KAAK,CAAC,YAAY,EACjC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,GAC/C,CACF;iBACD;gBACD;oBACC,GAAG,EAAE,YAAY;oBACjB,KAAK,EAAE,YAAY;oBACnB,QAAQ,EAAE,CACT,0CACE,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,CAC7B,oBAAC,WAAW,IACX,EAAE,EAAC,EAAE,EACL,GAAG,EAAE,KAAK,GAKT,CACF,CAAC,CAAC,CAAC,IAAI,CACN,CACH;iBACD;aACD,EACD,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,GACnC,CACuB,CAC1B,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,0BAA0B,CAAC"}
|
@@ -0,0 +1,61 @@
|
|
1
|
+
import React, { useState, useMemo, useEffect } from "react";
|
2
|
+
import { faBell } from "@fortawesome/pro-solid-svg-icons";
|
3
|
+
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
4
|
+
import PageHeadDashboard from "@voplus/morpho-ui/es/components/layout/headers/PageHeadDashboard";
|
5
|
+
import DefaultViewLayout from "@voplus/morpho-ui/es/components/layout/DefaultViewLayout";
|
6
|
+
import { observe } from "@voplus/morpho-ui";
|
7
|
+
import NotificationList from "../../components/NotificationList";
|
8
|
+
import DocumentTabs from "@voplus/morpho-document/es/components/DocumentTabs";
|
9
|
+
import ActivityLog from "@voplus/morpho-org/es/components/ActivityLog2/ActivityLog2";
|
10
|
+
import FilterLabel from "@voplus/morpho-ui/es/controls/FilterLabel";
|
11
|
+
import NotificationPanel from "../../components/NotificationPanel";
|
12
|
+
import { QuickFilterContext, QuickFilterContextState, } from "@voplus/morpho-ui/es/data/QuickFilterContext";
|
13
|
+
import { useNotificationStore } from "../../../../data/notification";
|
14
|
+
import { useLayout } from "@voplus/morpho-data";
|
15
|
+
import NotificationMobileListPage from "./NotificationMobileListPage";
|
16
|
+
import S from "string";
|
17
|
+
import { State } from "./state";
|
18
|
+
import styles from "./index.less";
|
19
|
+
const NotificationListPage = (props) => {
|
20
|
+
const layout = useLayout();
|
21
|
+
const store = useNotificationStore();
|
22
|
+
const [state] = useState(new State(props.status));
|
23
|
+
const [activeKey, setActiveKey] = useState("NotificationList");
|
24
|
+
const context = useMemo(() => new QuickFilterContextState({
|
25
|
+
store: store,
|
26
|
+
listFilterOptions: state.listFilterOptions,
|
27
|
+
}), []);
|
28
|
+
useEffect(() => {
|
29
|
+
if (props.status)
|
30
|
+
context.actives = [S(props.status).capitalize().toString()];
|
31
|
+
context.loadCounts();
|
32
|
+
}, []);
|
33
|
+
return observe(() => {
|
34
|
+
var _a, _b;
|
35
|
+
return (React.createElement(QuickFilterContext.Provider, { value: context }, layout.ui.mobile ? (React.createElement(NotificationMobileListPage, { ...props, state: state })) : (React.createElement(DefaultViewLayout, { className: styles["notification-list-page_2"], header: React.createElement(PageHeadDashboard, { avatarIcon: React.createElement(FAIcon, { icon: faBell }), title: "Your Notifications Center", upAble: true, description: "Stay updated: your latest alerts and notifications." }), propertiesWidth: "295px", properties: React.createElement(NotificationPanel, { overviewProps: {
|
36
|
+
status: state.notificationStatus,
|
37
|
+
onOverviewItemClick: () => state.onOverviewItemClick(context.actives),
|
38
|
+
}, notificationFilterProps: {
|
39
|
+
onFilter(options) {
|
40
|
+
state.onFilterOptions(options);
|
41
|
+
},
|
42
|
+
} }) },
|
43
|
+
React.createElement(DocumentTabs, { id: "", active: "NotificationList", tabItems: [
|
44
|
+
{
|
45
|
+
key: "NotificationList",
|
46
|
+
label: "Notification List",
|
47
|
+
children: (React.createElement(NotificationList, { ...props, asideable: false, headerType: "tool", filterOptions: state.filerOptions, onTotal: (total) => context.onChangeTotal(total) })),
|
48
|
+
},
|
49
|
+
{
|
50
|
+
key: "Activities",
|
51
|
+
label: "Activities",
|
52
|
+
children: (React.createElement(React.Fragment, null, activeKey === "Activities" ? (React.createElement(ActivityLog, { id: "", bar: false })) : null)),
|
53
|
+
},
|
54
|
+
], onChange: (key) => setActiveKey(key), tabBarExtraContent: activeKey === "NotificationList" ? (React.createElement("div", { className: "list-tabBar-filter" }, ((_a = context.actives) === null || _a === void 0 ? void 0 : _a.includes("All")) ? ("Showed: Total All Notifications") : ((_b = context.actives) === null || _b === void 0 ? void 0 : _b.length) ? (React.createElement(FilterLabel, { status: context.actives, maxCount: 2, onFilter: (s) => {
|
55
|
+
context.onFilterLabel(s);
|
56
|
+
state.onOverviewItemClick(context.actives);
|
57
|
+
} })) : undefined)) : undefined })))));
|
58
|
+
});
|
59
|
+
};
|
60
|
+
export default NotificationListPage;
|
61
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/notification/pages/NotificationListPage2/index.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,38 @@
|
|
1
|
+
.notification-list-page_2 {
|
2
|
+
:global {
|
3
|
+
.default-view-context {
|
4
|
+
.ant-tabs-nav {
|
5
|
+
margin-bottom: 0;
|
6
|
+
}
|
7
|
+
.page-head-dashboard {
|
8
|
+
.page-head-general.page {
|
9
|
+
border: none;
|
10
|
+
}
|
11
|
+
.page-head-content {
|
12
|
+
display: none;
|
13
|
+
}
|
14
|
+
.list-view-header-tool {
|
15
|
+
flex: 1;
|
16
|
+
.search-header-tool .ant-input-outlined {
|
17
|
+
width: 100%;
|
18
|
+
}
|
19
|
+
}
|
20
|
+
}
|
21
|
+
.all-new-notification-body {
|
22
|
+
margin-top: 0;
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
26
|
+
}
|
27
|
+
|
28
|
+
:global {
|
29
|
+
.notification-list-page_mobile {
|
30
|
+
.my-space-notifications .list-view-header-tool {
|
31
|
+
padding: 12px;
|
32
|
+
input {
|
33
|
+
font-size: 12px;
|
34
|
+
font-weight: 500;
|
35
|
+
}
|
36
|
+
}
|
37
|
+
}
|
38
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { FilterOption } from "@voplus/morpho-data";
|
2
|
+
import { ListFilterOptions } from "@voplus/morpho-ui/es/data/QuickFilterContext";
|
3
|
+
import { NotificationStatus } from "../../../../data/notification";
|
4
|
+
export declare class State {
|
5
|
+
private status?;
|
6
|
+
/** 默认值 */
|
7
|
+
notificationStatus: NotificationStatus[];
|
8
|
+
filerOptions?: FilterOption[];
|
9
|
+
defaultFilter: FilterOption[];
|
10
|
+
listFilterOptions?: ListFilterOptions[];
|
11
|
+
constructor(status?: string | undefined);
|
12
|
+
onFilterOptions(options?: FilterOption[]): void;
|
13
|
+
onOverviewItemClick(s?: string[]): void;
|
14
|
+
}
|
@@ -0,0 +1,99 @@
|
|
1
|
+
import { __decorate } from "tslib";
|
2
|
+
import { action, makeObservable, observable, toJS } from "mobx";
|
3
|
+
import S from "string";
|
4
|
+
export class State {
|
5
|
+
constructor(status) {
|
6
|
+
Object.defineProperty(this, "status", {
|
7
|
+
enumerable: true,
|
8
|
+
configurable: true,
|
9
|
+
writable: true,
|
10
|
+
value: status
|
11
|
+
});
|
12
|
+
/** 默认值 */
|
13
|
+
Object.defineProperty(this, "notificationStatus", {
|
14
|
+
enumerable: true,
|
15
|
+
configurable: true,
|
16
|
+
writable: true,
|
17
|
+
value: [
|
18
|
+
"Read",
|
19
|
+
"Unread",
|
20
|
+
"Later",
|
21
|
+
"Dismissed",
|
22
|
+
]
|
23
|
+
});
|
24
|
+
Object.defineProperty(this, "filerOptions", {
|
25
|
+
enumerable: true,
|
26
|
+
configurable: true,
|
27
|
+
writable: true,
|
28
|
+
value: void 0
|
29
|
+
});
|
30
|
+
Object.defineProperty(this, "defaultFilter", {
|
31
|
+
enumerable: true,
|
32
|
+
configurable: true,
|
33
|
+
writable: true,
|
34
|
+
value: []
|
35
|
+
});
|
36
|
+
Object.defineProperty(this, "listFilterOptions", {
|
37
|
+
enumerable: true,
|
38
|
+
configurable: true,
|
39
|
+
writable: true,
|
40
|
+
value: void 0
|
41
|
+
});
|
42
|
+
makeObservable(this);
|
43
|
+
let statusFilter = [];
|
44
|
+
this.notificationStatus.map((s) => {
|
45
|
+
statusFilter.push({
|
46
|
+
name: s,
|
47
|
+
filters: {
|
48
|
+
Filters: [...this.defaultFilter, { c: "Status", o: "=", v1: s, l: "And" }],
|
49
|
+
},
|
50
|
+
});
|
51
|
+
});
|
52
|
+
this.listFilterOptions = [
|
53
|
+
{ name: "All", filters: { Filters: this.defaultFilter } },
|
54
|
+
...statusFilter,
|
55
|
+
];
|
56
|
+
if (this.status)
|
57
|
+
this.onFilterOptions([{ c: "Status", o: "=", l: "And", v1: S(this.status).capitalize().toString() }]);
|
58
|
+
else
|
59
|
+
this.onFilterOptions();
|
60
|
+
}
|
61
|
+
onFilterOptions(options) {
|
62
|
+
var _a;
|
63
|
+
this.filerOptions = options !== null && options !== void 0 ? options : [];
|
64
|
+
if (this.defaultFilter) {
|
65
|
+
(_a = this.filerOptions) === null || _a === void 0 ? void 0 : _a.push(...this.defaultFilter);
|
66
|
+
}
|
67
|
+
}
|
68
|
+
onOverviewItemClick(s) {
|
69
|
+
if (s === null || s === void 0 ? void 0 : s.includes("All")) {
|
70
|
+
this.onFilterOptions();
|
71
|
+
}
|
72
|
+
else {
|
73
|
+
let status = toJS(s);
|
74
|
+
let f = [];
|
75
|
+
if (status === null || status === void 0 ? void 0 : status.length)
|
76
|
+
f.push({ c: "Status", o: "contains", l: "And", v1: JSON.stringify(status) });
|
77
|
+
this.onFilterOptions(f);
|
78
|
+
}
|
79
|
+
}
|
80
|
+
}
|
81
|
+
__decorate([
|
82
|
+
observable
|
83
|
+
], State.prototype, "notificationStatus", void 0);
|
84
|
+
__decorate([
|
85
|
+
observable
|
86
|
+
], State.prototype, "filerOptions", void 0);
|
87
|
+
__decorate([
|
88
|
+
observable
|
89
|
+
], State.prototype, "defaultFilter", void 0);
|
90
|
+
__decorate([
|
91
|
+
observable
|
92
|
+
], State.prototype, "listFilterOptions", void 0);
|
93
|
+
__decorate([
|
94
|
+
action
|
95
|
+
], State.prototype, "onFilterOptions", null);
|
96
|
+
__decorate([
|
97
|
+
action
|
98
|
+
], State.prototype, "onOverviewItemClick", null);
|
99
|
+
//# sourceMappingURL=state.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/modules/notification/pages/NotificationListPage2/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEhE,OAAO,CAAC,MAAM,QAAQ,CAAC;AAIvB,MAAM,OAAO,KAAK;IAYjB,YAA2B,MAAe;QAAvB;;;;mBAAQ,MAAM;WAAS;QAX1C,UAAU;QACS;;;;mBAA2C;gBAC7D,MAAM;gBACN,QAAQ;gBACR,OAAO;gBACP,WAAW;aACX;WAAC;QACiB;;;;;WAA8B;QAC9B;;;;mBAAgC,EAAE;WAAC;QACnC;;;;;WAAwC;QAG1D,cAAc,CAAC,IAAI,CAAC,CAAC;QAErB,IAAI,YAAY,GAAwB,EAAE,CAAC;QAC3C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACjC,YAAY,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,CAAC;gBACP,OAAO,EAAE;oBACR,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;iBAC1E;aACD,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,GAAG;YACxB,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE;YACzD,GAAG,YAAY;SACf,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;;YAClH,IAAI,CAAC,eAAe,EAAE,CAAC;IAC7B,CAAC;IAEc,eAAe,CAAC,OAAwB;;QACtD,IAAI,CAAC,YAAY,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;QAElC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAA,IAAI,CAAC,YAAY,0CAAE,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;QAChD,CAAC;IACF,CAAC;IAEc,mBAAmB,CAAC,CAAY;QAC9C,IAAI,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,EAAE,CAAC;QACxB,CAAC;aAAM,CAAC;YACP,IAAI,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,GAAmB,EAAE,CAAC;YAC3B,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM;gBACjB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC9E,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;IACF,CAAC;CACD;AAnDmB;IAAlB,UAAU;iDAKT;AACiB;IAAlB,UAAU;2CAAsC;AAC9B;IAAlB,UAAU;4CAA2C;AACnC;IAAlB,UAAU;gDAAgD;AAwB5C;IAAd,MAAM;4CAMN;AAEc;IAAd,MAAM;gDAUN"}
|