@voplus/morpho-workspace 6.0.100 → 6.0.101
Sign up to get free protection for your applications and to get access to all the features.
- package/es/modules/notification/components/NotificationList/index.js +14 -37
- package/es/modules/notification/components/NotificationList/index.js.map +1 -1
- package/es/modules/notification/components/NotificationListHeader/index.d.ts +7 -0
- package/es/modules/notification/components/NotificationListHeader/index.js +37 -0
- package/es/modules/notification/components/NotificationListHeader/index.js.map +1 -0
- package/package.json +1 -1
@@ -2,30 +2,21 @@ import React, { useEffect, useState } from "react";
|
|
2
2
|
import { useNotificationListEffect, useNotificationStore, } from "../../../../data/notification";
|
3
3
|
import { ListDataContext, useCreateListDataState } from "@voplus/morpho-ui/es/data";
|
4
4
|
import { observe, useRenderOnChange } from "@voplus/morpho-ui";
|
5
|
-
import { message
|
6
|
-
import { FlagFilter } from "@voplus/morpho-document/es/controls/filters";
|
7
|
-
import PageHeaderBoard from "@voplus/morpho-ui/es/components/layout/headers/PageHeaderBoard";
|
5
|
+
import { message } from "antd";
|
8
6
|
import { CSSTransition } from "react-transition-group";
|
9
|
-
import { useApplicationContext } from "@voplus/morpho-data";
|
10
7
|
import { runInAction } from "mobx";
|
11
|
-
import
|
8
|
+
import NotificationListHeader from "../NotificationListHeader";
|
12
9
|
import ListView from "@voplus/morpho-ui/es/components/layout/ListView/ListView2";
|
13
10
|
import DocumentNotificationCard from "../DocumentNotificationCard";
|
14
|
-
import { faBell } from "@fortawesome/pro-solid-svg-icons";
|
15
|
-
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
16
11
|
import AsideContent from "@voplus/morpho-ui/es/components/layout/AsideContent";
|
17
12
|
import NodePropertiesView from "@voplus/morpho-document-core/es/components/NodePropertiesView";
|
18
|
-
import classnames from "classnames";
|
19
13
|
import S from "string";
|
20
14
|
import "./index.less";
|
21
15
|
const NotificationList = (props) => {
|
22
16
|
const store = useNotificationStore();
|
23
|
-
const context = useApplicationContext();
|
24
17
|
const [asideContext] = useState(AsideContent.createContext());
|
25
|
-
const [statusActive, setStatusActive] = useState("All");
|
26
|
-
// const list = useCreateListDataState<INotificaiton>({}, []);
|
27
18
|
const list = useCreateListDataState({ filterDefaults: { filters: filters() } }, [
|
28
|
-
|
19
|
+
props.status,
|
29
20
|
]);
|
30
21
|
/** 如果 list.filters.options变更了就重渲染,使下一行的useNotificaitonListEffect 可以接收新参数*/
|
31
22
|
useRenderOnChange(() => list.filters.options);
|
@@ -54,23 +45,10 @@ const NotificationList = (props) => {
|
|
54
45
|
});
|
55
46
|
}
|
56
47
|
}, [props.active]);
|
57
|
-
useEffect(() => {
|
58
|
-
setStatusActive(S(props.status).capitalize().toString());
|
59
|
-
}, [props.status]);
|
60
|
-
const status = ["All", "Unread", "Read", "Later", "Dismissed"];
|
61
48
|
return observe(() => (React.createElement(ListDataContext.Provider, { value: list },
|
62
49
|
React.createElement(AsideContent, { context: asideContext },
|
63
50
|
React.createElement("div", { className: "my-space-notifications" },
|
64
|
-
React.createElement(
|
65
|
-
React.createElement(ListHeaderTool, { addAble: false, filterViewProps: context.host.isTest
|
66
|
-
? {
|
67
|
-
columns: [React.createElement(FlagFilter, { key: "Flag" })],
|
68
|
-
}
|
69
|
-
: undefined, sortable: context.host.isTest ? true : false, searchHeader: context.host.isTest ? true : false, searchOptions: { placeholder: "Search in notifications" }, preExtra: () => (React.createElement("div", { className: "notifications-status" },
|
70
|
-
status.map((item, index) => (React.createElement(Button, { key: index, className: classnames(item, {
|
71
|
-
active: statusActive === item,
|
72
|
-
}), onClick: () => onClickStatus(item) }, item))),
|
73
|
-
context.host.isTest && React.createElement(Divider, { type: "vertical" }))) }),
|
51
|
+
React.createElement(NotificationListHeader, { status: props.status, onClickStatus: props.onClickStatus }),
|
74
52
|
React.createElement(ListView, { headerProps: { visible: false }, className: "notifications-list", asideable: false, renderItem: ({ item }) => {
|
75
53
|
return (React.createElement(CSSTransition, { key: item.id, in: list.isRemoving(item.id) !== true, timeout: 300, classNames: "notification-card" },
|
76
54
|
React.createElement(DocumentNotificationCard, { id: item.id, active: props.active === item.id ? true : false, className: "doc-notification-card", onClick: (ev) => {
|
@@ -79,17 +57,21 @@ const NotificationList = (props) => {
|
|
79
57
|
const visible = path.some((item) => item.className === "notification-card-content");
|
80
58
|
/** fix: notification card里的任何对话框(比如:pdf/file viewer quick view) 任何button 都按不了,一按就close */
|
81
59
|
if (visible) {
|
82
|
-
// asideContext?.openAside(<PropertiesView id={item.node.id} />, {
|
83
|
-
// span: 12,
|
84
|
-
// });
|
85
60
|
(_a = props.onClickItem) === null || _a === void 0 ? void 0 : _a.call(props, ev, item);
|
86
61
|
}
|
87
62
|
}, onChangeStatus: (status) => editStatus(item.id, status) })));
|
88
63
|
} }))))));
|
89
64
|
function filters() {
|
90
|
-
if (
|
65
|
+
if (props.status == "all")
|
91
66
|
return [];
|
92
|
-
return [
|
67
|
+
return [
|
68
|
+
{
|
69
|
+
c: "Status",
|
70
|
+
o: "=",
|
71
|
+
l: "And",
|
72
|
+
v1: S(props.status).capitalize().toString(),
|
73
|
+
},
|
74
|
+
];
|
93
75
|
}
|
94
76
|
function editStatus(id, status) {
|
95
77
|
runInAction(async () => {
|
@@ -98,16 +80,11 @@ const NotificationList = (props) => {
|
|
98
80
|
const old = item.status;
|
99
81
|
await store.edit(id, { data: { status: status }, error: "message" });
|
100
82
|
(_a = props.onItemStatusChanged) === null || _a === void 0 ? void 0 : _a.call(props, old, item);
|
101
|
-
if (
|
83
|
+
if (props.status === "unread" && item.status === "Read")
|
102
84
|
return;
|
103
85
|
list.remove(item.id, { delay: 300 });
|
104
86
|
});
|
105
87
|
}
|
106
|
-
function onClickStatus(item) {
|
107
|
-
var _a;
|
108
|
-
setStatusActive(item);
|
109
|
-
(_a = props.onClickStatus) === null || _a === void 0 ? void 0 : _a.call(props, item);
|
110
|
-
}
|
111
88
|
};
|
112
89
|
export default NotificationList;
|
113
90
|
//# 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,MAAM,OAAO,CAAC;AACnD,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;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/notification/components/NotificationList/index.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import React from "react";
|
2
|
+
declare const NotificationListHeader: (props: {
|
3
|
+
/** status of notifications shown on the list. */
|
4
|
+
status: string;
|
5
|
+
onClickStatus?: ((status: string) => void) | undefined;
|
6
|
+
}) => React.JSX.Element;
|
7
|
+
export default NotificationListHeader;
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import React, { useEffect, useState } from "react";
|
2
|
+
import { observe } from "@voplus/morpho-ui";
|
3
|
+
import { Button, Divider } from "antd";
|
4
|
+
import { FlagFilter } from "@voplus/morpho-document/es/controls/filters";
|
5
|
+
import PageHeaderBoard from "@voplus/morpho-ui/es/components/layout/headers/PageHeaderBoard";
|
6
|
+
import { useApplicationContext } from "@voplus/morpho-data";
|
7
|
+
import ListHeaderTool from "@voplus/morpho-ui/es/components/layout/ListView/headers/ListHeaderTool";
|
8
|
+
import { faBell } from "@fortawesome/pro-solid-svg-icons";
|
9
|
+
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
10
|
+
import classnames from "classnames";
|
11
|
+
import S from "string";
|
12
|
+
const NotificationListHeader = (props) => {
|
13
|
+
const context = useApplicationContext();
|
14
|
+
const [statusActive, setStatusActive] = useState("All");
|
15
|
+
useEffect(() => {
|
16
|
+
setStatusActive(S(props.status).capitalize().toString());
|
17
|
+
}, [props.status]);
|
18
|
+
const status = ["All", "Unread", "Read", "Later", "Dismissed"];
|
19
|
+
return observe(() => (React.createElement("div", { className: "notifications-header" },
|
20
|
+
React.createElement(PageHeaderBoard, { title: "Your Notifications Center", background: true, icon: React.createElement(FAIcon, { icon: faBell }) }),
|
21
|
+
React.createElement(ListHeaderTool, { addAble: false, filterViewProps: context.host.isTest
|
22
|
+
? {
|
23
|
+
columns: [React.createElement(FlagFilter, { key: "Flag" })],
|
24
|
+
}
|
25
|
+
: undefined, sortable: context.host.isTest ? true : false, searchHeader: context.host.isTest ? true : false, searchOptions: { placeholder: "Search in notifications" }, preExtra: () => (React.createElement("div", { className: "notifications-status" },
|
26
|
+
status.map((item, index) => (React.createElement(Button, { key: index, className: classnames(item, {
|
27
|
+
active: statusActive === item,
|
28
|
+
}), onClick: () => onClickStatus(item) }, item))),
|
29
|
+
context.host.isTest && React.createElement(Divider, { type: "vertical" }))) }))));
|
30
|
+
function onClickStatus(item) {
|
31
|
+
var _a;
|
32
|
+
setStatusActive(item);
|
33
|
+
(_a = props.onClickStatus) === null || _a === void 0 ? void 0 : _a.call(props, item);
|
34
|
+
}
|
35
|
+
};
|
36
|
+
export default NotificationListHeader;
|
37
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/notification/components/NotificationListHeader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AACzE,OAAO,eAAe,MAAM,gEAAgE,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,cAAc,MAAM,wEAAwE,CAAC;AACpG,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,MAAM,sBAAsB,GAAG,CAAC,KAK/B,EAAE,EAAE;IACJ,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;IACxC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExD,SAAS,CAAC,GAAG,EAAE;QACd,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnB,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAE/D,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,6BAAK,SAAS,EAAC,sBAAsB;QACpC,oBAAC,eAAe,IACf,KAAK,EAAC,2BAA2B,EACjC,UAAU,QACV,IAAI,EAAE,oBAAC,MAAM,IAAC,IAAI,EAAE,MAAM,GAAI,GAC7B;QACF,oBAAC,cAAc,IACd,OAAO,EAAE,KAAK,EACd,eAAe,EACd,OAAO,CAAC,IAAI,CAAC,MAAM;gBAClB,CAAC,CAAC;oBACA,OAAO,EAAE,CAAC,oBAAC,UAAU,IAAC,GAAG,EAAC,MAAM,GAAG,CAAC;iBACnC;gBACH,CAAC,CAAC,SAAS,EAEb,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAC5C,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAChD,aAAa,EAAE,EAAE,WAAW,EAAE,yBAAyB,EAAE,EACzD,QAAQ,EAAE,GAAG,EAAE,CAAC,CACf,6BAAK,SAAS,EAAC,sBAAsB;gBACnC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC5B,oBAAC,MAAM,IACN,GAAG,EAAE,KAAK,EACV,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE;wBAC3B,MAAM,EAAE,YAAY,KAAK,IAAI;qBAC7B,CAAC,EACF,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAEjC,IAAI,CACG,CACT,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,oBAAC,OAAO,IAAC,IAAI,EAAC,UAAU,GAAG,CAC9C,CACN,GACA,CACG,CACN,CAAC,CAAC;IAEH,SAAS,aAAa,CAAC,IAAY;;QAClC,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,MAAA,KAAK,CAAC,aAAa,sDAAG,IAAI,CAAC,CAAC;IAC7B,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|