@3sc/common-component 0.0.2 → 0.0.3

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.
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ require("core-js/modules/web.dom-collections.iterator.js");
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _Constant = require("../../utils/Constant");
10
+ var _sortIcon = _interopRequireDefault(require("../sort-icon"));
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ const TableDetail = _ref => {
13
+ var _Object$entries;
14
+ let {
15
+ data,
16
+ handleSort,
17
+ sortDir,
18
+ sortKey
19
+ } = _ref;
20
+ return /*#__PURE__*/_react.default.createElement("table", {
21
+ className: "table"
22
+ }, /*#__PURE__*/_react.default.createElement("thead", null, /*#__PURE__*/_react.default.createElement("tr", null, (_Object$entries = Object.entries(_Constant.detailsHeadObj)) === null || _Object$entries === void 0 ? void 0 : _Object$entries.map((_ref2, index) => {
23
+ let [col, colKey] = _ref2;
24
+ return /*#__PURE__*/_react.default.createElement("th", {
25
+ key: index
26
+ }, /*#__PURE__*/_react.default.createElement("span", {
27
+ onClick: () => handleSort(colKey)
28
+ }, col, /*#__PURE__*/_react.default.createElement(_sortIcon.default, {
29
+ column: colKey,
30
+ sortKey: sortKey,
31
+ sortDir: sortDir
32
+ })));
33
+ }))), /*#__PURE__*/_react.default.createElement("tbody", null, data.map((item, index) => /*#__PURE__*/_react.default.createElement("tr", {
34
+ key: index
35
+ }, /*#__PURE__*/_react.default.createElement("td", null, item.sku_name), /*#__PURE__*/_react.default.createElement("td", null, item.node), /*#__PURE__*/_react.default.createElement("td", null, item.channel_name)))));
36
+ };
37
+ var _default = exports.default = TableDetail;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.description.js");
4
+ require("core-js/modules/es.object.assign.js");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _material = require("@mui/material");
11
+ var _styles = require("@mui/material/styles");
12
+ const _excluded = ["adornmentIcon"];
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
15
+ 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; }
16
+ 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; }
17
+ 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; }
18
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
19
+ 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); }
20
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
21
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
22
+ const CustomizeTextField = (0, _styles.styled)(_material.TextField)(_ref => {
23
+ let {
24
+ theme
25
+ } = _ref;
26
+ return {
27
+ "& .MuiInputBase-root": {
28
+ height: "3.52rem"
29
+ },
30
+ "& .MuiFormLabel-root": {
31
+ color: "".concat(theme.palette.input.border, " !important"),
32
+ fontSize: "1rem",
33
+ marginTop: "0.4rem"
34
+ },
35
+ "& label.Mui-focused": {
36
+ color: theme.palette.input.color
37
+ },
38
+ "& .MuiInput-underline:after": {
39
+ borderBottomColor: theme.palette.input.border,
40
+ borderBottomWidth: "0.1rem"
41
+ },
42
+ "& .MuiOutlinedInput-root": {
43
+ "& fieldset": {
44
+ borderColor: theme.palette.input.border,
45
+ borderWidth: "0.1rem"
46
+ },
47
+ "&:hover fieldset": {
48
+ borderColor: theme.palette.input.border,
49
+ borderWidth: "0.1rem"
50
+ },
51
+ "&.Mui-focused fieldset": {
52
+ borderColor: theme.palette.input.border,
53
+ borderWidth: "0.1rem"
54
+ }
55
+ }
56
+ };
57
+ });
58
+ const InputField = _ref2 => {
59
+ let {
60
+ adornmentIcon
61
+ } = _ref2,
62
+ otherProps = _objectWithoutProperties(_ref2, _excluded);
63
+ return /*#__PURE__*/_react.default.createElement(CustomizeTextField, _extends({}, otherProps, {
64
+ InputProps: _objectSpread({}, adornmentIcon ? adornmentIcon : {})
65
+ }));
66
+ };
67
+ var _default = exports.default = InputField;
@@ -9,8 +9,10 @@ var _react = _interopRequireDefault(require("react"));
9
9
  var _material = require("@mui/material");
10
10
  var _styles = require("@mui/material/styles");
11
11
  var _Refresh = _interopRequireDefault(require("@mui/icons-material/Refresh"));
12
+ var _Close = _interopRequireDefault(require("@mui/icons-material/Close"));
12
13
  var _colors = require("@mui/material/colors");
13
- const _excluded = ["title", "children", "onRefresh", "loading", "handleShowAll", "handleMarkAllAsRead", "isMarkAllAsRead"];
14
+ var _Constant = require("../utils/Constant");
15
+ const _excluded = ["title", "subTitle", "children", "onRefresh", "onClose", "loading", "handleShowAll", "handleMarkAllAsRead", "isMarkAllAsRead", "width", "headerIconType", "isDialogActionShow", "className"];
14
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
17
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
16
18
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
@@ -21,7 +23,6 @@ const CustomizeDialog = (0, _styles.styled)(_material.Dialog)(_ref => {
21
23
  } = _ref;
22
24
  return {
23
25
  "& .MuiPaper-root": {
24
- width: 350,
25
26
  borderRadius: 8,
26
27
  border: "1px solid ".concat(_colors.grey[50]),
27
28
  boxShadow: theme.shadows[5]
@@ -37,38 +38,75 @@ const CustomizeDialog = (0, _styles.styled)(_material.Dialog)(_ref => {
37
38
  const MyDialog = _ref2 => {
38
39
  let {
39
40
  title,
41
+ subTitle,
40
42
  children,
41
43
  onRefresh,
44
+ onClose,
42
45
  loading,
43
46
  handleShowAll,
44
47
  handleMarkAllAsRead,
45
- isMarkAllAsRead
48
+ isMarkAllAsRead,
49
+ width,
50
+ headerIconType,
51
+ isDialogActionShow,
52
+ className
46
53
  } = _ref2,
47
54
  otherProps = _objectWithoutProperties(_ref2, _excluded);
48
- return /*#__PURE__*/_react.default.createElement(CustomizeDialog, _extends({}, otherProps, {
49
- className: "notification-dialog"
55
+ const headerIcon = () => {
56
+ switch (headerIconType) {
57
+ case _Constant.HEADER_ICON_TYPE.REFRESH:
58
+ return /*#__PURE__*/_react.default.createElement(_material.IconButton, {
59
+ disabled: loading,
60
+ "aria-label": "close",
61
+ sx: {
62
+ position: "absolute",
63
+ right: 8,
64
+ top: 8,
65
+ color: "primary.main"
66
+ },
67
+ onClick: onRefresh
68
+ }, /*#__PURE__*/_react.default.createElement(_Refresh.default, {
69
+ fontSize: "medium"
70
+ }));
71
+ case _Constant.HEADER_ICON_TYPE.CLOSE:
72
+ return /*#__PURE__*/_react.default.createElement(_material.IconButton, {
73
+ "aria-label": "close",
74
+ sx: {
75
+ position: "absolute",
76
+ right: 8,
77
+ top: 8,
78
+ color: "primary.main"
79
+ },
80
+ onClick: onClose
81
+ }, /*#__PURE__*/_react.default.createElement(_Close.default, {
82
+ fontSize: "medium"
83
+ }));
84
+ default:
85
+ return null;
86
+ }
87
+ };
88
+ return /*#__PURE__*/_react.default.createElement(CustomizeDialog, _extends({
89
+ maxWidth: "md",
90
+ onClose: onClose
91
+ }, otherProps, {
92
+ className: ["notification-dialog", className].join(" ")
50
93
  }), /*#__PURE__*/_react.default.createElement(_material.DialogTitle, {
51
94
  sx: {
52
- p: 1
95
+ p: 1,
96
+ display: "flex"
97
+ }
98
+ }, /*#__PURE__*/_react.default.createElement(_material.Box, {
99
+ sx: {
100
+ gap: 1,
101
+ display: "flex"
53
102
  }
54
103
  }, /*#__PURE__*/_react.default.createElement(_material.Box, null, /*#__PURE__*/_react.default.createElement(_material.Typography, {
55
104
  variant: "h6",
56
105
  className: "title"
57
- }, title), /*#__PURE__*/_react.default.createElement(_material.IconButton, {
58
- disabled: loading,
59
- "aria-label": "close",
60
- sx: {
61
- position: "absolute",
62
- right: 8,
63
- top: 8,
64
- color: "primary.main"
65
- },
66
- onClick: onRefresh
67
- }, /*#__PURE__*/_react.default.createElement(_Refresh.default, {
68
- fontSize: "small"
69
- })))), /*#__PURE__*/_react.default.createElement(_material.DialogContent, {
70
- dividers: true
71
- }, children), /*#__PURE__*/_react.default.createElement(_material.DialogActions, {
106
+ }, title), subTitle && /*#__PURE__*/_react.default.createElement(_material.Typography, {
107
+ variant: "h6",
108
+ className: "title sub-title"
109
+ }, subTitle)), headerIcon())), children, isDialogActionShow && /*#__PURE__*/_react.default.createElement(_material.DialogActions, {
72
110
  className: "dialog-action"
73
111
  }, /*#__PURE__*/_react.default.createElement(_material.Button, {
74
112
  onClick: handleShowAll,
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _Pagination = _interopRequireDefault(require("@mui/material/Pagination"));
9
+ var _material = require("@mui/material");
10
+ var _logs = _interopRequireDefault(require("./logs"));
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ const MyPagination = _ref => {
13
+ let {
14
+ page,
15
+ rowPerPage,
16
+ total,
17
+ handleChangePage,
18
+ isLogo,
19
+ isMarkAllRead
20
+ } = _ref;
21
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Pagination.default, {
22
+ count: Math.ceil(total / rowPerPage),
23
+ page: page,
24
+ onChange: (_, page) => {
25
+ handleChangePage(page);
26
+ },
27
+ sx: {
28
+ margin: "1rem 0",
29
+ "& .MuiPaginationItem-root": {
30
+ fontSize: "1.25rem",
31
+ "& .MuiSvgIcon-root": {
32
+ fontSize: "2.2rem",
33
+ color: "primary.main"
34
+ }
35
+ }
36
+ },
37
+ color: "primary",
38
+ shape: "rounded",
39
+ showFirstButton: true,
40
+ showLastButton: true
41
+ }), isLogo && /*#__PURE__*/_react.default.createElement(_logs.default, {
42
+ start: page * rowPerPage - rowPerPage + 1,
43
+ end: page * rowPerPage > total ? total : page * rowPerPage,
44
+ total: total
45
+ }), isMarkAllRead && /*#__PURE__*/_react.default.createElement(_material.Button, {
46
+ variant: "contained",
47
+ className: "view-all"
48
+ }, "Mark Read"));
49
+ };
50
+ var _default = exports.default = MyPagination;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _material = require("@mui/material");
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ const Logs = _ref => {
11
+ let {
12
+ start,
13
+ end,
14
+ total
15
+ } = _ref;
16
+ return /*#__PURE__*/_react.default.createElement(_material.Box, {
17
+ component: "h1",
18
+ sx: {
19
+ fontSize: "1.5rem",
20
+ fontWeight: 500
21
+ }
22
+ }, start, " - ", end, " of ", total, " logs");
23
+ };
24
+ var _default = exports.default = Logs;
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _material = require("@mui/material");
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _colors = require("@mui/material/colors");
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ const Card = _ref => {
13
+ let {
14
+ type,
15
+ title,
16
+ subTitle,
17
+ subType,
18
+ isRead,
19
+ handleShowDetails,
20
+ handleRead,
21
+ isCheckBox,
22
+ isSubType
23
+ } = _ref;
24
+ return /*#__PURE__*/_react.default.createElement(_material.Box, {
25
+ className: "card"
26
+ }, /*#__PURE__*/_react.default.createElement(_material.Stack, {
27
+ display: "flex",
28
+ flexDirection: "row",
29
+ alignItems: "start",
30
+ gap: 1
31
+ }, type && /*#__PURE__*/_react.default.createElement(_material.Badge, {
32
+ color: type,
33
+ variant: "dot",
34
+ className: "badge"
35
+ }), isCheckBox && /*#__PURE__*/_react.default.createElement(_material.Checkbox, {
36
+ disabled: isRead
37
+ }), /*#__PURE__*/_react.default.createElement(_material.Typography, {
38
+ variant: "h6",
39
+ component: "span",
40
+ className: ["title-card", isRead && "read"].join(" ")
41
+ }, title)), /*#__PURE__*/_react.default.createElement(_material.Stack, {
42
+ display: "flex",
43
+ justifyContent: "space-between",
44
+ flexDirection: "row",
45
+ alignItems: "start",
46
+ gap: 1
47
+ }, isSubType && /*#__PURE__*/_react.default.createElement(_material.Chip, {
48
+ label: subType,
49
+ variant: "filled",
50
+ size: "small",
51
+ sx: {
52
+ fontFamily: "Montserrat, sans-serif",
53
+ fontWeight: "medium",
54
+ color: "primary.main",
55
+ ml: 5
56
+ }
57
+ }), /*#__PURE__*/_react.default.createElement(_material.Typography, {
58
+ variant: "body2",
59
+ component: "div",
60
+ className: ["sub-title", isRead && "read"].join(" ")
61
+ }, subTitle)), /*#__PURE__*/_react.default.createElement(_material.Stack, {
62
+ display: "flex",
63
+ flexDirection: "row",
64
+ justifyContent: "end",
65
+ gap: 1
66
+ }, /*#__PURE__*/_react.default.createElement(_material.Chip, {
67
+ onClick: handleShowDetails,
68
+ label: "Show Details",
69
+ component: "button",
70
+ variant: "filled",
71
+ clickable: true,
72
+ size: "small",
73
+ sx: {
74
+ fontFamily: "Montserrat, sans-serif",
75
+ fontWeight: "medium",
76
+ color: _colors.blue[500]
77
+ }
78
+ }), !isRead && /*#__PURE__*/_react.default.createElement(_material.Chip, {
79
+ onClick: handleRead,
80
+ label: "Mark as Read",
81
+ component: "button",
82
+ variant: "filled",
83
+ clickable: true,
84
+ size: "small",
85
+ sx: {
86
+ fontFamily: "Montserrat, sans-serif",
87
+ fontWeight: "medium",
88
+ color: "primary.main"
89
+ }
90
+ })));
91
+ };
92
+ var _default = exports.default = Card;
93
+ Card.propTypes = {
94
+ type: _propTypes.default.string,
95
+ title: _propTypes.default.string,
96
+ subTitle: _propTypes.default.string,
97
+ isRead: _propTypes.default.bool,
98
+ handleShowDetails: _propTypes.default.func,
99
+ handleRead: _propTypes.default.func
100
+ };
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _material = require("@mui/material");
9
+ var _card = _interopRequireDefault(require("./card"));
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+ var _commonFun = require("../../helper/common-fun");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ const NotificationCard = _ref => {
14
+ let {
15
+ data,
16
+ handleRead: _handleRead,
17
+ handleShowDetails: _handleShowDetails
18
+ } = _ref;
19
+ return /*#__PURE__*/_react.default.createElement(_material.Box, null, data.map((item, index) => {
20
+ return /*#__PURE__*/_react.default.createElement(_card.default, {
21
+ key: index,
22
+ type: "success",
23
+ title: item.message,
24
+ subTitle: (0, _commonFun.fullFormatDate)(item.createdAt),
25
+ isRead: item.isRead,
26
+ handleShowDetails: () => _handleShowDetails(item.id),
27
+ handleRead: () => _handleRead(item.id)
28
+ });
29
+ }));
30
+ };
31
+ var _default = exports.default = NotificationCard;
32
+ NotificationCard.propTypes = {
33
+ data: _propTypes.default.array,
34
+ handleRead: _propTypes.default.func,
35
+ handleShowDetails: _propTypes.default.func
36
+ };
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _material = require("@mui/material");
9
+ var _styles = require("@mui/material/styles");
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ const BootstrapInput = (0, _styles.styled)(_material.InputBase)(_ref => {
12
+ let {
13
+ theme
14
+ } = _ref;
15
+ return {
16
+ "& .MuiInputBase-input": {
17
+ color: theme.palette.input.border,
18
+ borderRadius: 4,
19
+ position: "relative",
20
+ backgroundColor: theme.palette.background.paper,
21
+ border: "1px solid ".concat(theme.palette.input.border),
22
+ fontSize: ".9rem",
23
+ fontWeight: 500,
24
+ fontFamily: "Montserrat, sans-serif",
25
+ padding: "11px 26px 10px 12px",
26
+ transition: theme.transitions.create(["border-color", "box-shadow"])
27
+ }
28
+ };
29
+ });
30
+ const SelectField = _ref2 => {
31
+ let {
32
+ option,
33
+ value,
34
+ handleSelectChange
35
+ } = _ref2;
36
+ return /*#__PURE__*/_react.default.createElement(_material.FormControl, {
37
+ sx: {
38
+ width: 120
39
+ }
40
+ }, /*#__PURE__*/_react.default.createElement(_material.Select, {
41
+ onChange: handleSelectChange,
42
+ value: value,
43
+ size: "small",
44
+ input: /*#__PURE__*/_react.default.createElement(BootstrapInput, null),
45
+ sx: {
46
+ "& .MuiSelected": {
47
+ color: "primary.main"
48
+ }
49
+ }
50
+ }, option.map((item, index) => /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
51
+ key: index,
52
+ value: item.value
53
+ }, item.label))));
54
+ };
55
+ var _default = exports.default = SelectField;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ const SortIcon = _ref => {
10
+ let {
11
+ sortKey,
12
+ sortDir,
13
+ column
14
+ } = _ref;
15
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, sortKey === column ? !sortDir ? /*#__PURE__*/_react.default.createElement("i", {
16
+ className: "fa fa-arrow-up",
17
+ "aria-hidden": "true"
18
+ }) : /*#__PURE__*/_react.default.createElement("i", {
19
+ className: "fa fa-arrow-down",
20
+ "aria-hidden": "true"
21
+ }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("i", {
22
+ className: "fa fa-sort",
23
+ "aria-hidden": "true"
24
+ })));
25
+ };
26
+ var _default = exports.default = SortIcon;
@@ -8,6 +8,9 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.default = exports.TasksDispatchContext = exports.TasksContext = void 0;
9
9
  require("core-js/modules/web.dom-collections.iterator.js");
10
10
  var _react = _interopRequireWildcard(require("react"));
11
+ var _ActionType = _interopRequireDefault(require("../utils/ActionType"));
12
+ var _ErrorMsg = _interopRequireDefault(require("../utils/ErrorMsg"));
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
14
  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); }
12
15
  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; }
13
16
  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; }
@@ -31,27 +34,31 @@ function MyContext(_ref) {
31
34
  var _default = exports.default = MyContext;
32
35
  function tasksReducer(tasks, action) {
33
36
  switch (action.type) {
34
- case "loading":
37
+ case _ActionType.default.LOADING:
35
38
  return _objectSpread(_objectSpread({}, tasks), {}, {
36
39
  loading: action.loading
37
40
  });
38
- case "success":
41
+ case _ActionType.default.SUCCESS:
39
42
  {
40
43
  return _objectSpread(_objectSpread({}, tasks), {}, {
41
44
  data: action.data
42
45
  });
43
46
  }
44
- case "error":
47
+ case _ActionType.default.MARK_ALL_AS_READ:
48
+ return _objectSpread(_objectSpread({}, tasks), {}, {
49
+ isMarkAllAsRead: action.isMarkAllAsRead
50
+ });
51
+ case _ActionType.default.ERROR:
45
52
  return _objectSpread(_objectSpread({}, tasks), {}, {
46
53
  error: action.error
47
54
  });
48
55
  default:
49
- throw new Error("Unhandled action type: ".concat(action));
56
+ throw new Error("".concat(_ErrorMsg.default.UNHANDLED, ": ").concat(action));
50
57
  }
51
58
  }
52
59
  const initialTasks = {
53
60
  loading: false,
54
61
  data: [],
55
62
  error: "",
56
- isMarkAllAsRead: true
63
+ isMarkAllAsRead: false
57
64
  };
@@ -12,6 +12,10 @@ const theme = (0, _material.createTheme)({
12
12
  },
13
13
  secondary: {
14
14
  main: "#1D1D1B"
15
+ },
16
+ input: {
17
+ color: "rgba(0, 0, 0, 0.87)",
18
+ border: "#ACB2BA"
15
19
  }
16
20
  }
17
21
  });
@@ -3,7 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getLocalStorage = void 0;
6
+ exports.sortByKeyArr = exports.searchByKeyArr = exports.getLocalStorage = exports.fullFormatDate = exports.filterAlertData = exports.detectMarkAllAsRead = exports.dataSlice = exports.createPayloadMarkAllAsRead = void 0;
7
+ require("core-js/modules/es.array.sort.js");
8
+ require("core-js/modules/es.array.includes.js");
9
+ require("core-js/modules/es.string.includes.js");
10
+ require("core-js/modules/es.string.trim.js");
7
11
  const getLocalStorage = key => {
8
12
  const value = localStorage.getItem(key);
9
13
  if (value) {
@@ -11,4 +15,76 @@ const getLocalStorage = key => {
11
15
  }
12
16
  return "";
13
17
  };
14
- exports.getLocalStorage = getLocalStorage;
18
+ exports.getLocalStorage = getLocalStorage;
19
+ const fullFormatDate = date => {
20
+ const currentDate = new Date(date);
21
+ const options = {
22
+ year: "numeric",
23
+ month: "long",
24
+ day: "2-digit",
25
+ hour: "2-digit",
26
+ minute: "2-digit",
27
+ second: "2-digit",
28
+ hour12: true
29
+ };
30
+ const formattedDate = currentDate.toLocaleString("en-US", options);
31
+ return formattedDate;
32
+ };
33
+ exports.fullFormatDate = fullFormatDate;
34
+ const filterAlertData = data => {
35
+ const newData = data.sort((a, b) => {
36
+ if (a.isRead === b.isRead) {
37
+ return 0;
38
+ } else if (b.isRead) {
39
+ return -1;
40
+ } else {
41
+ return 1;
42
+ }
43
+ }).slice(0, 9);
44
+ return newData;
45
+ };
46
+ exports.filterAlertData = filterAlertData;
47
+ const detectMarkAllAsRead = data => {
48
+ let count = 0;
49
+ for (let i = 0; i < data.length; i++) {
50
+ if (!data[i].isRead) count++;
51
+ ;
52
+ }
53
+ return count;
54
+ };
55
+ exports.detectMarkAllAsRead = detectMarkAllAsRead;
56
+ const createPayloadMarkAllAsRead = data => {
57
+ const payload = [];
58
+ data.forEach(item => {
59
+ if (!item.isRead) {
60
+ payload.push(item.id);
61
+ }
62
+ });
63
+ return payload;
64
+ };
65
+ exports.createPayloadMarkAllAsRead = createPayloadMarkAllAsRead;
66
+ const searchByKeyArr = (data, keyArr, value) => {
67
+ const newData = data.filter(item => {
68
+ return keyArr.some(key => {
69
+ return item[key].toLowerCase().includes(value.trim().toLowerCase());
70
+ });
71
+ });
72
+ return newData;
73
+ };
74
+ exports.searchByKeyArr = searchByKeyArr;
75
+ const sortByKeyArr = (data, key, order) => {
76
+ const newData = data.sort((a, b) => {
77
+ if (order === "asc") {
78
+ return a[key].toLowerCase().localeCompare(b[key].toLowerCase());
79
+ } else {
80
+ return b[key].toLowerCase().localeCompare(a[key].toLowerCase());
81
+ }
82
+ });
83
+ return newData;
84
+ };
85
+ exports.sortByKeyArr = sortByKeyArr;
86
+ const dataSlice = (data, page, rowPerPage) => {
87
+ const newData = data.slice((page - 1) * rowPerPage, page * rowPerPage);
88
+ return newData;
89
+ };
90
+ exports.dataSlice = dataSlice;
@@ -1,2 +1,7 @@
1
1
  $primary-color: #E94F1C;
2
- $secondary-color: #1D1D1B;
2
+ $secondary-color: #1D1D1B;
3
+ $light-grey: #ACB2BA;
4
+ $table-header: #efefef;
5
+ $table-td-color: #212529;
6
+
7
+ // other variables