@voplus/morpho-workspace 6.0.100 → 6.0.102
Sign up to get free protection for your applications and to get access to all the features.
- package/es/modules/board/pages/BoardPage/index.js +4 -16
- package/es/modules/board/pages/BoardPage/index.js.map +1 -1
- package/es/modules/notification/components/NotificationList/index.d.ts +1 -5
- package/es/modules/notification/components/NotificationList/index.js +32 -55
- package/es/modules/notification/components/NotificationList/index.js.map +1 -1
- package/es/modules/notification/components/NotificationList/state.d.ts +21 -0
- package/es/modules/notification/components/NotificationList/state.js +104 -0
- package/es/modules/notification/components/NotificationList/state.js.map +1 -0
- package/es/modules/notification/components/NotificationListHeader/index.d.ts +7 -0
- package/es/modules/notification/components/NotificationListHeader/index.js +58 -0
- package/es/modules/notification/components/NotificationListHeader/index.js.map +1 -0
- package/es/obsolete/space/components/Notifications/index.js +0 -7
- package/es/obsolete/space/components/Notifications/index.js.map +1 -1
- package/package.json +1 -1
@@ -1,22 +1,18 @@
|
|
1
1
|
import React, { useEffect } from "react";
|
2
2
|
import BoardTabs from "../../components/BoardTabs";
|
3
3
|
import { useBoard } from "../../../../data/board";
|
4
|
-
import PageHeaderBoard from "@voplus/morpho-ui/es/components/layout/headers/PageHeaderBoard";
|
5
4
|
import { observe } from "@voplus/morpho-ui";
|
6
5
|
import { useParams } from "react-router-dom";
|
7
|
-
import {
|
8
|
-
import { useLayout, useTabItem } from "@voplus/morpho-data";
|
9
|
-
import DocumentPageHeader from "@voplus/morpho-document/es/components/DocumentPageHeader";
|
6
|
+
import { useTabItem } from "@voplus/morpho-data";
|
10
7
|
import { useFrame } from "@voplus/morpho-document/es/components/ViewFrame/ViewFrameContext";
|
8
|
+
import PathHeader from "@voplus/morpho-document/es/components/ViewFrame/PathHeader";
|
11
9
|
import { runInAction } from "mobx";
|
12
10
|
import "./index.less";
|
13
11
|
const BoardPage = (props) => {
|
14
12
|
const params = useParams();
|
15
13
|
const frame = useFrame();
|
16
14
|
const id = props.id || params.id || "";
|
17
|
-
const
|
18
|
-
const layout = useLayout();
|
19
|
-
const board = useBoard(id, { includes: "path" });
|
15
|
+
const board = useBoard(id);
|
20
16
|
frame.header = null;
|
21
17
|
/** set tab title */
|
22
18
|
const tab = useTabItem();
|
@@ -25,16 +21,8 @@ const BoardPage = (props) => {
|
|
25
21
|
}, []);
|
26
22
|
return observe(() => (React.createElement("div", { className: "board-page" },
|
27
23
|
React.createElement("div", { className: "board-page-content" },
|
28
|
-
React.createElement(
|
29
|
-
current: { id: id, name: board.name },
|
30
|
-
path: board.path,
|
31
|
-
onBreadCrumb: onNavigate,
|
32
|
-
} }),
|
24
|
+
React.createElement(PathHeader, { id: id }),
|
33
25
|
React.createElement(BoardTabs, { id: id })))));
|
34
|
-
function onNavigate(aId) {
|
35
|
-
const route = meta.getRoute({ id: id, type: "Document" });
|
36
|
-
layout.history.push(`${route}?active=${aId}`);
|
37
|
-
}
|
38
26
|
};
|
39
27
|
export default BoardPage;
|
40
28
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/board/pages/BoardPage/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,SAAS,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/board/pages/BoardPage/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,SAAS,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,kEAAkE,CAAC;AAC5F,OAAO,UAAU,MAAM,4DAA4D,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,cAAc,CAAC;AAEtB,MAAM,SAAS,GAAG,CAAC,KAAsB,EAAE,EAAE;IAC5C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IAEpB,oBAAoB;IACpB,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,SAAS,CAAC,GAAG,EAAE;QACd,WAAW,CAAC,GAAG,EAAE,WAAC,OAAA,CAAC,GAAG,CAAC,KAAK,GAAG,MAAA,KAAK,CAAC,IAAI,mCAAI,UAAU,CAAC,CAAA,EAAA,CAAC,CAAC;IAC3D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,6BAAK,SAAS,EAAC,YAAY;QAC1B,6BAAK,SAAS,EAAC,oBAAoB;YAClC,oBAAC,UAAU,IAAC,EAAE,EAAE,EAAE,GAAI;YACtB,oBAAC,SAAS,IAAC,EAAE,EAAE,EAAE,GAAI,CAChB,CACD,CACN,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import React from "react";
|
2
|
-
import { INotification
|
2
|
+
import { INotification } from "../../../../data/notification";
|
3
3
|
import "./index.less";
|
4
4
|
declare const NotificationList: (props: {
|
5
5
|
/** status of notifications shown on the list. */
|
@@ -9,9 +9,5 @@ declare const NotificationList: (props: {
|
|
9
9
|
/** Call back when an item has been clicked on the list. */
|
10
10
|
onClickItem?: ((ev: React.MouseEvent<HTMLDivElement, MouseEvent>, item: INotification) => void) | undefined;
|
11
11
|
onClickStatus?: ((status: string) => void) | undefined;
|
12
|
-
/** Call back when received total number of notifications. */
|
13
|
-
onTotal?: ((total: number) => void) | undefined;
|
14
|
-
/** Call back when an item's status changed. */
|
15
|
-
onItemStatusChanged?: ((old: NotificationStatus, item: INotification) => void) | undefined;
|
16
12
|
}) => React.JSX.Element;
|
17
13
|
export default NotificationList;
|
@@ -1,39 +1,30 @@
|
|
1
|
-
import React, { useEffect, useState } from "react";
|
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
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
|
13
|
+
import { NotificationListContext, NotificationListState } from "./state";
|
19
14
|
import S from "string";
|
20
15
|
import "./index.less";
|
21
16
|
const NotificationList = (props) => {
|
22
17
|
const store = useNotificationStore();
|
23
|
-
const context =
|
18
|
+
const context = useMemo(() => new NotificationListState(), []);
|
24
19
|
const [asideContext] = useState(AsideContent.createContext());
|
25
|
-
const [statusActive, setStatusActive] = useState("All");
|
26
|
-
// const list = useCreateListDataState<INotificaiton>({}, []);
|
27
20
|
const list = useCreateListDataState({ filterDefaults: { filters: filters() } }, [
|
28
|
-
|
21
|
+
props.status,
|
29
22
|
]);
|
30
23
|
/** 如果 list.filters.options变更了就重渲染,使下一行的useNotificaitonListEffect 可以接收新参数*/
|
31
24
|
useRenderOnChange(() => list.filters.options);
|
32
25
|
/** 把ListDataState传给useNotificaitonListEffect,使之可以自動更新loading, hasmore. */
|
33
26
|
useNotificationListEffect(list, (result, total) => {
|
34
|
-
var _a;
|
35
27
|
list.union(result);
|
36
|
-
(_a = props.onTotal) === null || _a === void 0 ? void 0 : _a.call(props, total);
|
37
28
|
}, {
|
38
29
|
Total: true,
|
39
30
|
...list.filters.options,
|
@@ -54,60 +45,46 @@ 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
|
-
React.createElement(
|
64
|
-
React.createElement(
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
const path = ev.nativeEvent.composedPath();
|
79
|
-
const visible = path.some((item) => item.className === "notification-card-content");
|
80
|
-
/** fix: notification card里的任何对话框(比如:pdf/file viewer quick view) 任何button 都按不了,一按就close */
|
81
|
-
if (visible) {
|
82
|
-
// asideContext?.openAside(<PropertiesView id={item.node.id} />, {
|
83
|
-
// span: 12,
|
84
|
-
// });
|
85
|
-
(_a = props.onClickItem) === null || _a === void 0 ? void 0 : _a.call(props, ev, item);
|
86
|
-
}
|
87
|
-
}, onChangeStatus: (status) => editStatus(item.id, status) })));
|
88
|
-
} }))))));
|
50
|
+
React.createElement(NotificationListContext.Provider, { value: context },
|
51
|
+
React.createElement("div", { className: "my-space-notifications" },
|
52
|
+
React.createElement(NotificationListHeader, { status: props.status, onClickStatus: props.onClickStatus }),
|
53
|
+
React.createElement(ListView, { headerProps: { visible: false }, className: "notifications-list", asideable: false, renderItem: ({ item }) => {
|
54
|
+
return (React.createElement(CSSTransition, { key: item.id, in: list.isRemoving(item.id) !== true, timeout: 300, classNames: "notification-card" },
|
55
|
+
React.createElement(DocumentNotificationCard, { id: item.id, active: props.active === item.id ? true : false, className: "doc-notification-card", onClick: (ev) => {
|
56
|
+
var _a;
|
57
|
+
const path = ev.nativeEvent.composedPath();
|
58
|
+
const visible = path.some((item) => item.className === "notification-card-content");
|
59
|
+
/** fix: notification card里的任何对话框(比如:pdf/file viewer quick view) 任何button 都按不了,一按就close */
|
60
|
+
if (visible) {
|
61
|
+
(_a = props.onClickItem) === null || _a === void 0 ? void 0 : _a.call(props, ev, item);
|
62
|
+
}
|
63
|
+
}, onChangeStatus: (status) => editStatus(item.id, status) })));
|
64
|
+
} })))))));
|
89
65
|
function filters() {
|
90
|
-
if (
|
66
|
+
if (props.status == "all")
|
91
67
|
return [];
|
92
|
-
return [
|
68
|
+
return [
|
69
|
+
{
|
70
|
+
c: "Status",
|
71
|
+
o: "=",
|
72
|
+
l: "And",
|
73
|
+
v1: S(props.status).capitalize().toString(),
|
74
|
+
},
|
75
|
+
];
|
93
76
|
}
|
94
77
|
function editStatus(id, status) {
|
95
78
|
runInAction(async () => {
|
96
|
-
var _a;
|
97
79
|
const item = store.items.get(id);
|
98
80
|
const old = item.status;
|
99
81
|
await store.edit(id, { data: { status: status }, error: "message" });
|
100
|
-
|
101
|
-
if (
|
82
|
+
context.updateNotificationTotal(old, item.status);
|
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;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/notification/components/NotificationList/index.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { LoadDocumentListOptions } from "@voplus/morpho-document-core";
|
3
|
+
import { NotificationStatus } from "../../../../data/notification";
|
4
|
+
/** Notification state */
|
5
|
+
export declare class NotificationListState {
|
6
|
+
constructor();
|
7
|
+
/** status All Notifications list Total */
|
8
|
+
notificationTotals: Record<string, number>;
|
9
|
+
updateNotificationTotal(oldStatus: NotificationStatus, status: NotificationStatus): void;
|
10
|
+
/** Notifications list Options */
|
11
|
+
get nUnreadOptions(): LoadDocumentListOptions;
|
12
|
+
/** Notifications list Read Options */
|
13
|
+
get nReadOptions(): LoadDocumentListOptions;
|
14
|
+
/** Notifications list Later Options */
|
15
|
+
get nLaterOptions(): LoadDocumentListOptions;
|
16
|
+
/** Notifications list Dismissed Options */
|
17
|
+
get nDismissedOptions(): LoadDocumentListOptions;
|
18
|
+
getTotal(status: string): number | null;
|
19
|
+
}
|
20
|
+
export declare const NotificationListContext: React.Context<NotificationListState | null>;
|
21
|
+
export declare const useNotificationListContext: () => NotificationListState;
|
@@ -0,0 +1,104 @@
|
|
1
|
+
import { __decorate } from "tslib";
|
2
|
+
import React, { useContext } from "react";
|
3
|
+
import { action, computed, observable, makeObservable } from "mobx";
|
4
|
+
/** Notification state */
|
5
|
+
export class NotificationListState {
|
6
|
+
constructor() {
|
7
|
+
/** status All Notifications list Total */
|
8
|
+
Object.defineProperty(this, "notificationTotals", {
|
9
|
+
enumerable: true,
|
10
|
+
configurable: true,
|
11
|
+
writable: true,
|
12
|
+
value: {
|
13
|
+
unread: 0,
|
14
|
+
read: 0,
|
15
|
+
later: 0,
|
16
|
+
dismissed: 0,
|
17
|
+
}
|
18
|
+
});
|
19
|
+
makeObservable(this);
|
20
|
+
}
|
21
|
+
updateNotificationTotal(oldStatus, status) {
|
22
|
+
this.notificationTotals[oldStatus.toLowerCase()]--;
|
23
|
+
this.notificationTotals[status.toLowerCase()]++;
|
24
|
+
}
|
25
|
+
/** Notifications list Options */
|
26
|
+
get nUnreadOptions() {
|
27
|
+
return {
|
28
|
+
Total: true,
|
29
|
+
List: false,
|
30
|
+
Filters: [{ c: "Status", o: "=", l: "And", v1: "Unread" }],
|
31
|
+
};
|
32
|
+
}
|
33
|
+
/** Notifications list Read Options */
|
34
|
+
get nReadOptions() {
|
35
|
+
return {
|
36
|
+
Total: true,
|
37
|
+
List: false,
|
38
|
+
Filters: [{ c: "Status", o: "=", l: "And", v1: "Read" }],
|
39
|
+
};
|
40
|
+
}
|
41
|
+
/** Notifications list Later Options */
|
42
|
+
get nLaterOptions() {
|
43
|
+
return {
|
44
|
+
Total: true,
|
45
|
+
List: false,
|
46
|
+
Filters: [{ c: "Status", o: "=", l: "And", v1: "Later" }],
|
47
|
+
};
|
48
|
+
}
|
49
|
+
/** Notifications list Dismissed Options */
|
50
|
+
get nDismissedOptions() {
|
51
|
+
return {
|
52
|
+
Total: true,
|
53
|
+
List: false,
|
54
|
+
Filters: [{ c: "Status", o: "=", l: "And", v1: "Dismissed" }],
|
55
|
+
};
|
56
|
+
}
|
57
|
+
getTotal(status) {
|
58
|
+
switch (status) {
|
59
|
+
case "Unread": {
|
60
|
+
return this.notificationTotals.unread;
|
61
|
+
}
|
62
|
+
case "Read": {
|
63
|
+
return this.notificationTotals.read;
|
64
|
+
}
|
65
|
+
case "Later": {
|
66
|
+
return this.notificationTotals.later;
|
67
|
+
}
|
68
|
+
case "Dismissed": {
|
69
|
+
return this.notificationTotals.dismissed;
|
70
|
+
}
|
71
|
+
default:
|
72
|
+
return null;
|
73
|
+
}
|
74
|
+
}
|
75
|
+
}
|
76
|
+
__decorate([
|
77
|
+
observable
|
78
|
+
], NotificationListState.prototype, "notificationTotals", void 0);
|
79
|
+
__decorate([
|
80
|
+
action
|
81
|
+
], NotificationListState.prototype, "updateNotificationTotal", null);
|
82
|
+
__decorate([
|
83
|
+
computed
|
84
|
+
], NotificationListState.prototype, "nUnreadOptions", null);
|
85
|
+
__decorate([
|
86
|
+
computed
|
87
|
+
], NotificationListState.prototype, "nReadOptions", null);
|
88
|
+
__decorate([
|
89
|
+
computed
|
90
|
+
], NotificationListState.prototype, "nLaterOptions", null);
|
91
|
+
__decorate([
|
92
|
+
computed
|
93
|
+
], NotificationListState.prototype, "nDismissedOptions", null);
|
94
|
+
__decorate([
|
95
|
+
action
|
96
|
+
], NotificationListState.prototype, "getTotal", null);
|
97
|
+
export const NotificationListContext = React.createContext(null);
|
98
|
+
export const useNotificationListContext = () => {
|
99
|
+
const context = useContext(NotificationListContext);
|
100
|
+
if (context == null)
|
101
|
+
throw new Error("Menu Context not found. Please use <NotificationListContext.Provider value={}/>");
|
102
|
+
return context;
|
103
|
+
};
|
104
|
+
//# sourceMappingURL=state.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/modules/notification/components/NotificationList/state.ts"],"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,58 @@
|
|
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 PageHeaderPath from "@voplus/morpho-ui/es/components/layout/headers/PageHeaderPath";
|
6
|
+
import { useNotificationListEffect } from "../../../../data/notification";
|
7
|
+
import { useApplicationContext } from "@voplus/morpho-data";
|
8
|
+
import ListHeaderTool from "@voplus/morpho-ui/es/components/layout/ListView/headers/ListHeaderTool";
|
9
|
+
import { faBell } from "@fortawesome/pro-solid-svg-icons";
|
10
|
+
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
11
|
+
import classnames from "classnames";
|
12
|
+
import { runInAction } from "mobx";
|
13
|
+
import { useNotificationListContext } from "../NotificationList/state";
|
14
|
+
import S from "string";
|
15
|
+
const NotificationListHeader = (props) => {
|
16
|
+
const context = useApplicationContext();
|
17
|
+
const nContext = useNotificationListContext();
|
18
|
+
const [statusActive, setStatusActive] = useState("All");
|
19
|
+
useEffect(() => {
|
20
|
+
setStatusActive(S(props.status).capitalize().toString());
|
21
|
+
}, [props.status]);
|
22
|
+
const status = ["All", "Unread", "Read", "Later", "Dismissed"];
|
23
|
+
useNotificationListEffect(null, (result, total) => runInAction(() => (nContext.notificationTotals.unread = total || 0)), nContext.nUnreadOptions);
|
24
|
+
useNotificationListEffect(null, (result, total) => runInAction(() => (nContext.notificationTotals.read = total || 0)), nContext.nReadOptions);
|
25
|
+
useNotificationListEffect(null, (result, total) => runInAction(() => (nContext.notificationTotals.later = total || 0)), nContext.nLaterOptions);
|
26
|
+
useNotificationListEffect(null, (result, total) => runInAction(() => (nContext.notificationTotals.dismissed = total || 0)), nContext.nDismissedOptions);
|
27
|
+
return observe(() => (React.createElement("div", { className: "notifications-header" },
|
28
|
+
React.createElement(PageHeaderPath, { title: "Your Notifications Center", background: true, icon: React.createElement(FAIcon, { icon: faBell }) }),
|
29
|
+
React.createElement(ListHeaderTool, { addAble: false, filterViewProps: context.host.isTest
|
30
|
+
? {
|
31
|
+
columns: [React.createElement(FlagFilter, { key: "Flag" })],
|
32
|
+
}
|
33
|
+
: 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" },
|
34
|
+
status.map((item, index) => (React.createElement(Button, { key: index, className: classnames(item, {
|
35
|
+
active: statusActive === item,
|
36
|
+
}), onClick: () => onClickStatus(item) },
|
37
|
+
item,
|
38
|
+
item !== "All" && (React.createElement(React.Fragment, null,
|
39
|
+
"\u00A0(",
|
40
|
+
item === "Unread"
|
41
|
+
? nContext.notificationTotals.unread
|
42
|
+
: item === "Read"
|
43
|
+
? nContext.notificationTotals.read
|
44
|
+
: item === "Later"
|
45
|
+
? nContext.notificationTotals.later
|
46
|
+
: item === "Dismissed"
|
47
|
+
? nContext.notificationTotals.dismissed
|
48
|
+
: 0,
|
49
|
+
")"))))),
|
50
|
+
context.host.isTest && React.createElement(Divider, { type: "vertical" }))) }))));
|
51
|
+
function onClickStatus(item) {
|
52
|
+
var _a;
|
53
|
+
setStatusActive(item);
|
54
|
+
(_a = props.onClickStatus) === null || _a === void 0 ? void 0 : _a.call(props, item);
|
55
|
+
}
|
56
|
+
};
|
57
|
+
export default NotificationListHeader;
|
58
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/notification/components/NotificationListHeader/index.tsx"],"names":[],"mappings":"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"}
|
@@ -3,7 +3,6 @@ import { Result, Skeleton } from "antd";
|
|
3
3
|
import NotificationList from "../../../../modules/notification/components/NotificationList";
|
4
4
|
import { generatePath } from "react-router";
|
5
5
|
import { observe } from "@voplus/morpho-ui";
|
6
|
-
import { runInAction } from "mobx";
|
7
6
|
import { useLayout } from "@voplus/morpho-data";
|
8
7
|
import { useNotificationStore } from "../../../../data/notification";
|
9
8
|
import { useParams } from "react-router-dom";
|
@@ -29,12 +28,6 @@ const Notifications = (props) => {
|
|
29
28
|
React.createElement(Skeleton, { loading: params.status === "redirect" },
|
30
29
|
React.createElement(NotificationList, { status: params.status, active: params.active, onClickItem: (ev, item) => {
|
31
30
|
layout.history.push(generatePath(props.path, { status: params.status, active: item.id }));
|
32
|
-
}, onTotal: (total) => {
|
33
|
-
runInAction(() => {
|
34
|
-
props.state.notificationTotals[params.status] = total;
|
35
|
-
});
|
36
|
-
}, onItemStatusChanged: (old, item) => {
|
37
|
-
props.state.updateNotificationTotal(old, item.status);
|
38
31
|
} })))));
|
39
32
|
};
|
40
33
|
export default Notifications;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/obsolete/space/components/Notifications/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAExC,OAAO,gBAAgB,MAAM,8DAA8D,CAAC;AAE5F,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/obsolete/space/components/Notifications/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAExC,OAAO,gBAAgB,MAAM,8DAA8D,CAAC;AAE5F,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,aAAa,GAAG,CAAC,KAAqC,EAAE,EAAE;IAC/D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtC,SAAS,CAAC,GAAG,EAAE;QACd,8DAA8D;QAC9D,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnD,KAAK;iBACH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;iBACnB,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACd,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACpF,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBACZ,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;QACL,CAAC;IACF,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAEpB,OAAO,OAAO,CAAC,GAAG,EAAE,CACnB,KAAK,CAAC,CAAC,CAAC,CACP,oBAAC,MAAM,IAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAS,GAAI,CAC3C,CAAC,CAAC,CAAC,CACH,6BAAK,SAAS,EAAC,kBAAkB;QAChC,oBAAC,QAAQ,IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,UAAU;YAC9C,oBAAC,gBAAgB,IAChB,MAAM,EAAE,MAAM,CAAC,MAAO,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,WAAW,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE;oBACzB,MAAM,CAAC,OAAO,CAAC,IAAI,CAClB,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CACpE,CAAC;gBACH,CAAC,GASA,CACQ,CACN,CACN,CACD,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
|