@3sc/common-component 0.0.2 → 0.0.4

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/dist/App.js CHANGED
@@ -10,10 +10,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
10
10
  function App() {
11
11
  return /*#__PURE__*/_react.default.createElement("div", {
12
12
  className: "App"
13
- }, "hello", /*#__PURE__*/_react.default.createElement(_modules.Notification, {
14
- tenantId: "e9cbadf0-a2c3-4f0b-b358-e9368ccd093c",
15
- buId: "1b97f147-5c15-4bd4-9d5d-8a63129caf3d",
16
- snopId: "dee67439-9306-408a-b79c-99c4265dc5a3"
17
- }));
13
+ }, "hello", /*#__PURE__*/_react.default.createElement(_modules.Notification, null));
18
14
  }
19
- var _default = exports.default = App;
15
+ var _default = exports.default = App; // tenantId="9a33965c-162a-4089-8cb1-5e631e3cdd8a"
16
+ // buId="d628f9a3-1968-4102-b578-727616b382f3"
17
+ // snopId="13a53238-f493-41a5-9d17-7b95aeed7964"
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.weak-map.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ require("core-js/modules/web.dom-collections.iterator.js");
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _material = require("@mui/material");
11
+ var _ErrorMsg = _interopRequireDefault(require("../../utils/ErrorMsg"));
12
+ var _inputField = _interopRequireDefault(require("../input-field"));
13
+ var _Search = _interopRequireDefault(require("@mui/icons-material/Search"));
14
+ var _Refresh = _interopRequireDefault(require("@mui/icons-material/Refresh"));
15
+ var _Constant = require("../../utils/Constant");
16
+ var _card = _interopRequireDefault(require("../notification-card/card"));
17
+ var _commonFun = require("../../helper/common-fun");
18
+ var _myPagination = _interopRequireDefault(require("../my-pagination"));
19
+ var _logs = _interopRequireDefault(require("../my-pagination/logs"));
20
+ var _reactSelect = _interopRequireDefault(require("../select-field/react-select"));
21
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
23
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
24
+ const AlertBody = _ref => {
25
+ let {
26
+ loading,
27
+ isEmpty,
28
+ data,
29
+ handleShowDetails: _handleShowDetails,
30
+ handleRead: _handleRead,
31
+ handleRefresh
32
+ } = _ref;
33
+ const [inputValue, setInputValue] = (0, _react.useState)("");
34
+ const [page, setPage] = (0, _react.useState)(1);
35
+ const [rowPerPage, setRowPerPage] = (0, _react.useState)(10);
36
+ const [total, setTotal] = (0, _react.useState)(0);
37
+ const [newData, setNewData] = (0, _react.useState)([]);
38
+ const [selectedAlert, setSelectedAlert] = (0, _react.useState)([]);
39
+ (0, _react.useEffect)(() => {
40
+ if (inputValue) {
41
+ const newData = (0, _commonFun.searchByKeyArr)(data, _Constant.alertSearchKey, inputValue);
42
+ setNewData((0, _commonFun.dataSlice)(newData, page, rowPerPage));
43
+ setTotal(newData.length);
44
+ return;
45
+ }
46
+ setNewData((0, _commonFun.dataSlice)(data, page, rowPerPage));
47
+ setTotal(data.length);
48
+ }, [inputValue, data, page, rowPerPage]);
49
+ const handleSelectChange = e => {
50
+ setPage(1);
51
+ setRowPerPage(e.value);
52
+ };
53
+ const handleChangePage = page => {
54
+ setPage(page);
55
+ };
56
+ const handleSearch = e => {
57
+ const value = e.target.value;
58
+ if (value) setPage(1);
59
+ setInputValue(value);
60
+ };
61
+
62
+ // checkbox handler
63
+ const handleCheckboxChange = (e, value) => {
64
+ const checked = e.target.checked;
65
+ if (checked) {
66
+ setSelectedAlert(prev => [...prev, value]);
67
+ } else {
68
+ setSelectedAlert(prev => prev.filter(item => item !== value));
69
+ }
70
+ };
71
+ const handleAllRead = () => {
72
+ _handleRead(selectedAlert);
73
+ setSelectedAlert([]);
74
+ };
75
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_material.DialogContent, {
76
+ dividers: true,
77
+ sx: {
78
+ pt: "0 !important"
79
+ }
80
+ }, /*#__PURE__*/_react.default.createElement(_material.Box, {
81
+ sx: loading || isEmpty ? {
82
+ display: "flex",
83
+ justifyContent: "center",
84
+ alignItems: "center",
85
+ minHeight: 320
86
+ } : {}
87
+ }, loading ? /*#__PURE__*/_react.default.createElement(_material.CircularProgress, null) : isEmpty ? /*#__PURE__*/_react.default.createElement(_material.Typography, {
88
+ className: "no-record"
89
+ }, _ErrorMsg.default.NRF) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_material.Box, {
90
+ className: "sticky-input-select"
91
+ }, /*#__PURE__*/_react.default.createElement(_material.Box, {
92
+ sx: {
93
+ display: "flex",
94
+ gap: 1
95
+ }
96
+ }, /*#__PURE__*/_react.default.createElement(_inputField.default, {
97
+ value: inputValue,
98
+ onChange: handleSearch,
99
+ label: "Search",
100
+ focused: true,
101
+ adornmentIcon: {
102
+ startAdornment: /*#__PURE__*/_react.default.createElement(_material.InputAdornment, {
103
+ position: "start"
104
+ }, /*#__PURE__*/_react.default.createElement(_Search.default, null))
105
+ }
106
+ }), /*#__PURE__*/_react.default.createElement(_reactSelect.default, {
107
+ value: {
108
+ value: rowPerPage,
109
+ label: "Show ".concat(rowPerPage, " Rows")
110
+ },
111
+ option: _Constant.optionRow,
112
+ handleSelectChange: handleSelectChange
113
+ }), /*#__PURE__*/_react.default.createElement(_material.IconButton, {
114
+ color: "primary",
115
+ onClick: handleRefresh
116
+ }, /*#__PURE__*/_react.default.createElement(_Refresh.default, {
117
+ fontSize: "medium"
118
+ }))), /*#__PURE__*/_react.default.createElement(_logs.default, {
119
+ start: page * rowPerPage - rowPerPage + 1,
120
+ end: page * rowPerPage > total ? total : page * rowPerPage,
121
+ total: total
122
+ })), newData.map((item, index) => {
123
+ return /*#__PURE__*/_react.default.createElement(_card.default, {
124
+ key: index,
125
+ isCheckBox: true,
126
+ title: item.message,
127
+ subTitle: (0, _commonFun.fullFormatDate)(item.createdAt),
128
+ isRead: item.isRead,
129
+ handleShowDetails: () => _handleShowDetails(item.id),
130
+ handleRead: () => _handleRead([item.id]),
131
+ subType: item.sub_type,
132
+ isSubType: true,
133
+ selectedAlert: selectedAlert,
134
+ id: item.id,
135
+ handleCheckboxChange: handleCheckboxChange
136
+ });
137
+ })))), !(loading || isEmpty) && /*#__PURE__*/_react.default.createElement(_material.DialogActions, {
138
+ sx: {
139
+ justifyContent: "space-between",
140
+ gap: 1
141
+ },
142
+ className: "action-show-all-dialog"
143
+ }, /*#__PURE__*/_react.default.createElement(_myPagination.default, {
144
+ page: page,
145
+ rowPerPage: rowPerPage,
146
+ total: total,
147
+ handleChangePage: handleChangePage,
148
+ isMarkAllRead: true,
149
+ selectedAlert: selectedAlert,
150
+ handleAllRead: handleAllRead
151
+ })));
152
+ };
153
+ var _default = exports.default = AlertBody;
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.weak-map.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ require("core-js/modules/web.dom-collections.iterator.js");
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _material = require("@mui/material");
11
+ var _ErrorMsg = _interopRequireDefault(require("../../utils/ErrorMsg"));
12
+ var _inputField = _interopRequireDefault(require("../input-field"));
13
+ var _Search = _interopRequireDefault(require("@mui/icons-material/Search"));
14
+ var _Constant = require("../../utils/Constant");
15
+ var _myPagination = _interopRequireDefault(require("../my-pagination"));
16
+ var _tableDetail = _interopRequireDefault(require("./table-detail"));
17
+ var _commonFun = require("../../helper/common-fun");
18
+ var _reactSelect = _interopRequireDefault(require("../select-field/react-select"));
19
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
21
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
+ const DetailsBody = _ref => {
23
+ let {
24
+ loading,
25
+ isEmpty,
26
+ data
27
+ } = _ref;
28
+ const [inputValue, setInputValue] = (0, _react.useState)("");
29
+ const [page, setPage] = (0, _react.useState)(1);
30
+ const [rowPerPage, setRowPerPage] = (0, _react.useState)(10);
31
+ const [total, setTotal] = (0, _react.useState)(0);
32
+ const [newData, setNewData] = (0, _react.useState)([]);
33
+ const [sortDir, setSortDir] = (0, _react.useState)(false);
34
+ const [sortKey, setSortKey] = (0, _react.useState)("");
35
+ (0, _react.useEffect)(() => {
36
+ if (inputValue || sortKey) {
37
+ const newData = (0, _commonFun.searchByKeyArr)(data, _Constant.detailsSearchKey, inputValue);
38
+ if (sortKey) {
39
+ const sortedData = (0, _commonFun.sortByKeyArr)(newData, sortKey, sortDir ? "asc" : "desc");
40
+ setNewData((0, _commonFun.dataSlice)(sortedData, page, rowPerPage));
41
+ setTotal(sortedData.length);
42
+ return;
43
+ }
44
+ setNewData((0, _commonFun.dataSlice)(newData, page, rowPerPage));
45
+ setTotal(newData.length);
46
+ return;
47
+ }
48
+ setNewData((0, _commonFun.dataSlice)(data, page, rowPerPage));
49
+ setTotal(data.length);
50
+ }, [inputValue, data, page, rowPerPage, sortDir, sortKey]);
51
+ const handleSelectChange = e => {
52
+ setPage(1);
53
+ setRowPerPage(e.value);
54
+ };
55
+ const handleChangePage = page => {
56
+ setPage(page);
57
+ };
58
+ const handleSearch = e => {
59
+ const value = e.target.value;
60
+ if (value) setPage(1);
61
+ setInputValue(value);
62
+ };
63
+
64
+ // sort function
65
+ const handleSort = key => {
66
+ setSortDir(!sortDir);
67
+ setSortKey(key);
68
+ };
69
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_material.DialogContent, {
70
+ dividers: true,
71
+ sx: {
72
+ pt: "0 !important"
73
+ }
74
+ }, /*#__PURE__*/_react.default.createElement(_material.Box, {
75
+ sx: loading || isEmpty ? {
76
+ display: "flex",
77
+ justifyContent: "center",
78
+ alignItems: "center",
79
+ minHeight: 320
80
+ } : {}
81
+ }, loading ? /*#__PURE__*/_react.default.createElement(_material.CircularProgress, null) : isEmpty ? /*#__PURE__*/_react.default.createElement(_material.Typography, {
82
+ className: "no-record"
83
+ }, _ErrorMsg.default.NRF) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_material.Box, {
84
+ className: "sticky-input-select"
85
+ }, /*#__PURE__*/_react.default.createElement(_material.Box, {
86
+ sx: {
87
+ display: "flex",
88
+ gap: 1
89
+ }
90
+ }, /*#__PURE__*/_react.default.createElement(_inputField.default, {
91
+ value: inputValue,
92
+ onChange: handleSearch,
93
+ label: "Search",
94
+ focused: true,
95
+ adornmentIcon: {
96
+ startAdornment: /*#__PURE__*/_react.default.createElement(_material.InputAdornment, {
97
+ position: "start"
98
+ }, /*#__PURE__*/_react.default.createElement(_Search.default, null))
99
+ }
100
+ }), /*#__PURE__*/_react.default.createElement(_reactSelect.default, {
101
+ value: {
102
+ value: rowPerPage,
103
+ label: "Show ".concat(rowPerPage, " Rows")
104
+ },
105
+ option: _Constant.optionRow,
106
+ handleSelectChange: handleSelectChange
107
+ }))), newData.length === 0 ? /*#__PURE__*/_react.default.createElement(_material.Typography, {
108
+ className: "no-record"
109
+ }, _ErrorMsg.default.NRF) : /*#__PURE__*/_react.default.createElement(_tableDetail.default, {
110
+ data: newData,
111
+ handleSort: handleSort,
112
+ sortDir: sortDir,
113
+ sortKey: sortKey
114
+ })))), !(loading || isEmpty) && /*#__PURE__*/_react.default.createElement(_material.DialogActions, {
115
+ sx: {
116
+ justifyContent: "space-between",
117
+ gap: 1
118
+ },
119
+ className: "action-show-all-dialog"
120
+ }, /*#__PURE__*/_react.default.createElement(_myPagination.default, {
121
+ page: page,
122
+ rowPerPage: rowPerPage,
123
+ total: total,
124
+ handleChangePage: handleChangePage,
125
+ isLogo: true
126
+ })));
127
+ };
128
+ var _default = exports.default = DetailsBody;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.symbol.description.js");
3
4
  require("core-js/modules/es.weak-map.js");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
@@ -7,6 +8,8 @@ Object.defineProperty(exports, "__esModule", {
7
8
  exports.default = void 0;
8
9
  require("core-js/modules/web.dom-collections.iterator.js");
9
10
  require("core-js/modules/es.promise.js");
11
+ require("core-js/modules/es.array.includes.js");
12
+ require("core-js/modules/es.string.includes.js");
10
13
  var _react = _interopRequireWildcard(require("react"));
11
14
  var _material = require("@mui/material");
12
15
  var _bell = _interopRequireDefault(require("../bell"));
@@ -15,15 +18,22 @@ require("./style.scss");
15
18
  var _myContext = require("../../config/my-context");
16
19
  var _notification = require("../../services/notification");
17
20
  var _StatusCode = _interopRequireDefault(require("../../utils/StatusCode"));
21
+ var _notificationCard = _interopRequireDefault(require("../notification-card"));
22
+ var _commonFun = require("../../helper/common-fun");
23
+ var _ActionType = _interopRequireDefault(require("../../utils/ActionType"));
24
+ var _ErrorMsg = _interopRequireDefault(require("../../utils/ErrorMsg"));
25
+ var _Constant = require("../../utils/Constant");
26
+ var _alertBody = _interopRequireDefault(require("./alert-body"));
27
+ var _detailsBody = _interopRequireDefault(require("./details-body"));
18
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
29
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
20
30
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
21
- const Alert = _ref => {
22
- let {
23
- tenantId,
24
- buId,
25
- snopId
26
- } = _ref;
31
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
32
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
33
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
34
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
35
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
36
+ const Alert = () => {
27
37
  const dispatch = (0, _react.useContext)(_myContext.TasksDispatchContext);
28
38
  const {
29
39
  loading,
@@ -31,77 +41,223 @@ const Alert = _ref => {
31
41
  isMarkAllAsRead
32
42
  } = (0, _react.useContext)(_myContext.TasksContext);
33
43
  const [open, setOpen] = (0, _react.useState)(false);
44
+ const [showAllAlert, setShowAllAlert] = (0, _react.useState)(false);
45
+ const [showDetails, setShowDetails] = (0, _react.useState)(false);
46
+ const [detailsData, setDetailsData] = (0, _react.useState)({});
47
+ const isEmpty = data.length === 0;
34
48
  const fetchNotification = (0, _react.useCallback)(async () => {
35
49
  dispatch({
36
- type: "loading",
50
+ type: _ActionType.default.LOADING,
37
51
  loading: true
38
52
  });
39
53
  dispatch({
40
- type: "success",
54
+ type: _ActionType.default.SUCCESS,
41
55
  data: []
42
56
  });
57
+ dispatch({
58
+ type: _ActionType.default.MARK_ALL_AS_READ,
59
+ isMarkAllAsRead: {
60
+ count: 0,
61
+ boo: false
62
+ }
63
+ });
43
64
  try {
44
- const res = await (0, _notification.getNotification)({
45
- tenantId,
46
- buId,
47
- snopId
48
- });
65
+ const res = await (0, _notification.getNotification)();
49
66
  if (res.status === _StatusCode.default.OK) {
50
- var _res$data;
67
+ var _res$data, _res$data2;
51
68
  dispatch({
52
- type: "success",
69
+ type: _ActionType.default.SUCCESS,
53
70
  data: ((_res$data = res.data) === null || _res$data === void 0 || (_res$data = _res$data.responseData) === null || _res$data === void 0 ? void 0 : _res$data.response) || []
54
71
  });
72
+ const isMarkAll = (0, _commonFun.detectMarkAllAsRead)(((_res$data2 = res.data) === null || _res$data2 === void 0 || (_res$data2 = _res$data2.responseData) === null || _res$data2 === void 0 ? void 0 : _res$data2.response) || []);
73
+ dispatch({
74
+ type: _ActionType.default.MARK_ALL_AS_READ,
75
+ isMarkAllAsRead: {
76
+ count: isMarkAll,
77
+ boo: isMarkAll > 0
78
+ }
79
+ });
55
80
  }
56
81
  } catch (err) {
57
82
  dispatch({
58
- type: "error",
59
- error: "Something went wrong!"
83
+ type: _ActionType.default.ERROR,
84
+ error: _ErrorMsg.default.SWR
60
85
  });
61
86
  } finally {
62
87
  dispatch({
63
- type: "loading",
88
+ type: _ActionType.default.LOADING,
64
89
  loading: false
65
90
  });
66
91
  }
67
- }, [tenantId, buId, snopId, dispatch]);
92
+ }, [dispatch]);
68
93
  (0, _react.useEffect)(() => {
69
94
  fetchNotification();
70
95
  }, [fetchNotification]);
71
- const handleOpen = () => {
72
- setOpen(!open);
73
- };
96
+ const handleOpen = () => setOpen(!open);
74
97
  const handleClose = () => setOpen(!open);
98
+ const handleShowAllAlert = () => setShowAllAlert(!showAllAlert);
99
+ const handleHideAllAlert = () => setShowAllAlert(!showAllAlert);
100
+ const handleOpenDetails = () => setShowDetails(!showDetails);
101
+ const handleHideDetails = () => setShowDetails(!showDetails);
75
102
  const handleRefresh = () => {
76
103
  fetchNotification();
77
104
  };
78
- const handleShowAll = () => {};
79
- const handleMarkAllAsRead = () => {};
80
- console.log("loading", loading, data);
105
+ const handleShowAll = () => {
106
+ handleShowAllAlert();
107
+ };
108
+ const handleShowDetails = id => {
109
+ const filterData = data.find(item => item.id === id);
110
+ setDetailsData(filterData);
111
+ handleOpenDetails();
112
+ };
113
+
114
+ // mark as read function
115
+ const handleRead = async id => {
116
+ if (id.length === 0) return;
117
+ dispatch({
118
+ type: _ActionType.default.LOADING,
119
+ loading: true
120
+ });
121
+ try {
122
+ const res = await (0, _notification.putNotification)(id);
123
+ if (res.status === _StatusCode.default.OK) {
124
+ let count = 0;
125
+ const newData = data.map(item => {
126
+ if (!item.isRead) count++;
127
+ if (id.includes(item.id)) {
128
+ return _objectSpread(_objectSpread({}, item), {}, {
129
+ isRead: true
130
+ });
131
+ }
132
+ return item;
133
+ });
134
+ dispatch({
135
+ type: _ActionType.default.MARK_ALL_AS_READ,
136
+ isMarkAllAsRead: {
137
+ count: count,
138
+ boo: count > 0
139
+ }
140
+ });
141
+ dispatch({
142
+ type: _ActionType.default.SUCCESS,
143
+ data: newData
144
+ });
145
+ }
146
+ } catch (e) {
147
+ dispatch({
148
+ type: _ActionType.default.ERROR,
149
+ error: _ErrorMsg.default.SWR
150
+ });
151
+ } finally {
152
+ dispatch({
153
+ type: _ActionType.default.LOADING,
154
+ loading: false
155
+ });
156
+ }
157
+ };
158
+
159
+ // mark all as read function
160
+ const handleMarkAllAsRead = async () => {
161
+ const payload = (0, _commonFun.createPayloadMarkAllAsRead)(data);
162
+ dispatch({
163
+ type: _ActionType.default.LOADING,
164
+ loading: true
165
+ });
166
+ try {
167
+ const res = await (0, _notification.putNotification)(payload);
168
+ if (res.status === _StatusCode.default.OK) {
169
+ const newData = data.map(item => {
170
+ return _objectSpread(_objectSpread({}, item), {}, {
171
+ isRead: true
172
+ });
173
+ });
174
+ dispatch({
175
+ type: _ActionType.default.SUCCESS,
176
+ data: newData
177
+ });
178
+ dispatch({
179
+ type: _ActionType.default.MARK_ALL_AS_READ,
180
+ isMarkAllAsRead: {
181
+ count: 0,
182
+ boo: false
183
+ }
184
+ });
185
+ }
186
+ } catch (e) {
187
+ dispatch({
188
+ type: _ActionType.default.ERROR,
189
+ error: _ErrorMsg.default.SWR
190
+ });
191
+ } finally {
192
+ dispatch({
193
+ type: _ActionType.default.LOADING,
194
+ loading: false
195
+ });
196
+ }
197
+ };
81
198
  return /*#__PURE__*/_react.default.createElement(_material.Box, null, /*#__PURE__*/_react.default.createElement(_material.Box, {
82
199
  sx: {
83
200
  display: "flex",
84
201
  justifyContent: "center"
85
202
  }
86
203
  }, /*#__PURE__*/_react.default.createElement(_bell.default, {
87
- count: (data === null || data === void 0 ? void 0 : data.length) || 0,
204
+ count: isMarkAllAsRead.count,
88
205
  handleClick: handleOpen
89
206
  })), /*#__PURE__*/_react.default.createElement(_myDialog.default, {
90
207
  title: "Alerts",
91
208
  open: open,
92
- loading: loading || false,
93
- isMarkAllAsRead: isMarkAllAsRead || false,
209
+ loading: loading,
210
+ isMarkAllAsRead: isMarkAllAsRead,
94
211
  onClose: handleClose,
95
212
  onRefresh: handleRefresh,
96
213
  handleShowAll: handleShowAll,
97
- handleMarkAllAsRead: handleMarkAllAsRead
214
+ handleMarkAllAsRead: handleMarkAllAsRead,
215
+ headerIconType: _Constant.HEADER_ICON_TYPE.REFRESH,
216
+ isDialogActionShow: true,
217
+ className: "alert-dialog-main"
218
+ }, /*#__PURE__*/_react.default.createElement(_material.DialogContent, {
219
+ dividers: true
98
220
  }, /*#__PURE__*/_react.default.createElement(_material.Box, {
99
- sx: {
221
+ sx: loading || isEmpty ? {
100
222
  display: "flex",
101
223
  justifyContent: "center",
102
224
  alignItems: "center",
103
225
  height: 320
226
+ } : {
227
+ height: 320
104
228
  }
105
- }, loading ? /*#__PURE__*/_react.default.createElement(_material.CircularProgress, null) : /*#__PURE__*/_react.default.createElement(_material.Box, null, "Alert"))));
229
+ }, loading ? /*#__PURE__*/_react.default.createElement(_material.CircularProgress, null) : isEmpty ? /*#__PURE__*/_react.default.createElement(_material.Typography, {
230
+ className: "no-record"
231
+ }, _ErrorMsg.default.NRF) : /*#__PURE__*/_react.default.createElement(_notificationCard.default, {
232
+ data: (0, _commonFun.filterAlertData)(data),
233
+ handleRead: handleRead,
234
+ handleShowDetails: handleShowDetails
235
+ })))), /*#__PURE__*/_react.default.createElement(_myDialog.default, {
236
+ title: "Alerts",
237
+ open: showAllAlert,
238
+ loading: loading,
239
+ onClose: handleHideAllAlert,
240
+ onRefresh: handleRefresh,
241
+ headerIconType: _Constant.HEADER_ICON_TYPE.CLOSE,
242
+ className: "alert-dialog"
243
+ }, /*#__PURE__*/_react.default.createElement(_alertBody.default, {
244
+ loading: loading,
245
+ isEmpty: isEmpty,
246
+ data: data,
247
+ handleRefresh: handleRefresh,
248
+ handleShowDetails: handleShowDetails,
249
+ handleRead: handleRead
250
+ })), /*#__PURE__*/_react.default.createElement(_myDialog.default, {
251
+ title: detailsData === null || detailsData === void 0 ? void 0 : detailsData.message,
252
+ subTitle: detailsData === null || detailsData === void 0 ? void 0 : detailsData.remark,
253
+ open: showDetails,
254
+ onClose: handleHideDetails,
255
+ headerIconType: _Constant.HEADER_ICON_TYPE.CLOSE,
256
+ className: "alert-dialog"
257
+ }, /*#__PURE__*/_react.default.createElement(_detailsBody.default, {
258
+ loading: loading,
259
+ isEmpty: isEmpty,
260
+ data: (detailsData === null || detailsData === void 0 ? void 0 : detailsData.notificationDetails) || []
261
+ })));
106
262
  };
107
263
  var _default = exports.default = Alert;