awing-library 2.1.224-dev → 2.1.225-dev

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.
@@ -1,8 +1,3 @@
1
- /**
2
- *
3
- * @author dauquan1108@gmail.com on 12/1/2023.
4
- *
5
- **/
6
1
  import React from 'react';
7
2
  declare const Container: React.FC;
8
3
  export default Container;
@@ -1,109 +1,26 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
39
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
40
4
  };
41
5
  Object.defineProperty(exports, "__esModule", { value: true });
42
6
  var jsx_runtime_1 = require("react/jsx-runtime");
43
- /**
44
- *
45
- * @author dauquan1108@gmail.com on 12/1/2023.
46
- *
47
- **/
48
- var react_1 = require("react");
49
- var material_1 = require("@mui/material");
50
7
  var Notifications_1 = __importDefault(require("@mui/icons-material/Notifications"));
51
- var signalr_1 = require("@microsoft/signalr");
8
+ var material_1 = require("@mui/material");
52
9
  var Constant_1 = require("../../../ACM-AXN/Common/Constant");
10
+ var react_1 = require("react");
53
11
  var Hooks_1 = __importDefault(require("../Hooks"));
54
12
  var NotificationDetail_1 = __importDefault(require("../NotificationDetail"));
55
13
  var Container = function () {
56
- var service = (0, Hooks_1.default)().service;
57
- var _a = (0, react_1.useState)(null), anchorEl = _a[0], setAnchorEl = _a[1];
58
- var _b = (0, react_1.useState)(0), totalNotification = _b[0], setTotalNotification = _b[1];
59
- var _c = (0, react_1.useState)(null), signalRConnection = _c[0], setSignalRConnection = _c[1];
14
+ var _a = (0, Hooks_1.default)(), service = _a.service, numberNotification = _a.numberNotification, onNotificationClick = _a.onNotificationClick;
15
+ var _b = (0, react_1.useState)(null), anchorEl = _b[0], setAnchorEl = _b[1];
60
16
  (0, react_1.useEffect)(function () {
61
- service.notificationsCountUnreadMessages().then(setTotalNotification);
62
- setUpSignalRConnection().then(function (connection) { return __awaiter(void 0, void 0, void 0, function () {
63
- return __generator(this, function (_a) {
64
- setSignalRConnection(connection);
65
- return [2 /*return*/];
66
- });
67
- }); });
68
- return function () {
69
- if (signalRConnection)
70
- signalRConnection.stop();
71
- };
72
- // eslint-disable-next-line react-hooks/exhaustive-deps
17
+ service.notificationsCountUnreadMessages().then(onNotificationClick);
73
18
  }, []);
74
- var setUpSignalRConnection = function () { return __awaiter(void 0, void 0, void 0, function () {
75
- var connection, err_1;
76
- return __generator(this, function (_a) {
77
- switch (_a.label) {
78
- case 0:
79
- connection = new signalr_1.HubConnectionBuilder()
80
- .withUrl("".concat(Constant_1.Constants.API_ENDPOINT, "/api/hubs/notification"))
81
- .configureLogging(signalr_1.LogLevel.None)
82
- .withAutomaticReconnect([0, 5000, 10000, 15000])
83
- .build();
84
- connection.on('ReceiveMessage', function (message) {
85
- setTotalNotification(function (prev) { return prev + 1; });
86
- });
87
- _a.label = 1;
88
- case 1:
89
- _a.trys.push([1, 3, , 4]);
90
- return [4 /*yield*/, connection.start()];
91
- case 2:
92
- _a.sent();
93
- return [3 /*break*/, 4];
94
- case 3:
95
- err_1 = _a.sent();
96
- console.log(err_1);
97
- return [3 /*break*/, 4];
98
- case 4: return [2 /*return*/, connection];
99
- }
100
- });
101
- }); };
102
19
  var handleClick = function (event) {
103
20
  var href = window.location.href;
104
21
  // nếu đang ở notifications thì click vào quả chuông sẽ không mở popover nữa.
105
22
  if (!href.includes(Constant_1.Constants.NOTIFICATIONS_PATH)) {
106
- setTotalNotification(0);
23
+ onNotificationClick(0);
107
24
  setAnchorEl(event.currentTarget);
108
25
  }
109
26
  };
@@ -112,7 +29,7 @@ var Container = function () {
112
29
  };
113
30
  var open = Boolean(anchorEl);
114
31
  var id = open ? 'simple-popover' : undefined;
115
- return ((0, jsx_runtime_1.jsxs)(material_1.Box, { component: "div", children: [(0, jsx_runtime_1.jsx)(material_1.IconButton, { "aria-describedby": id, onClick: handleClick, sx: { backgroundColor: open ? '#F98D9C' : 'inherit' }, children: (0, jsx_runtime_1.jsx)(material_1.Badge, { badgeContent: totalNotification, color: "error", children: (0, jsx_runtime_1.jsx)(Notifications_1.default, { "data-testid": "notification-icon", sx: { color: open ? '#DD040C' : 'inherit' } }) }) }), (0, jsx_runtime_1.jsx)(material_1.Popover, { id: id, open: open, anchorEl: anchorEl, onClose: handleClose, sx: { zIndex: 1100 }, anchorOrigin: {
32
+ return ((0, jsx_runtime_1.jsxs)(material_1.Box, { component: "div", children: [(0, jsx_runtime_1.jsx)(material_1.IconButton, { "aria-describedby": id, onClick: handleClick, sx: { backgroundColor: open ? '#F98D9C' : 'inherit' }, children: (0, jsx_runtime_1.jsx)(material_1.Badge, { badgeContent: numberNotification, color: "error", children: (0, jsx_runtime_1.jsx)(Notifications_1.default, { "data-testid": "notification-icon", sx: { color: open ? '#DD040C' : 'inherit' } }) }) }), (0, jsx_runtime_1.jsx)(material_1.Popover, { id: id, open: open, anchorEl: anchorEl, onClose: handleClose, sx: { zIndex: 1100 }, anchorOrigin: {
116
33
  vertical: 'bottom',
117
34
  horizontal: 'center',
118
35
  }, transformOrigin: {
@@ -1,8 +1,3 @@
1
- /**
2
- *
3
- * @author dauquan1108@gmail.com on 12/1/2023.
4
- *
5
- **/
6
1
  import React from 'react';
7
2
  import { NotificationPropsContext } from '../Types';
8
3
  export declare const NotificationPopover: React.FC<NotificationPropsContext>;
@@ -33,6 +33,8 @@ export interface CancelToken {
33
33
  }
34
34
  export interface NotificationPropsContext {
35
35
  service: NotificationService;
36
+ numberNotification: number;
37
+ onNotificationClick: (notification: number) => void;
36
38
  }
37
39
  export interface NotificationService {
38
40
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "awing-library",
3
- "version": "2.1.224-dev",
3
+ "version": "2.1.225-dev",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",