phx-react 1.3.986 → 1.3.987
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/cjs/components/MainWrapV3/MainWrapV3.js +256 -241
- package/dist/cjs/components/MainWrapV3/MainWrapV3.js.map +1 -1
- package/dist/cjs/query/index.d.ts +1 -1
- package/dist/cjs/query/index.js +1 -1
- package/dist/cjs/query/index.js.map +1 -1
- package/dist/esm/components/MainWrapV3/MainWrapV3.js +256 -241
- package/dist/esm/components/MainWrapV3/MainWrapV3.js.map +1 -1
- package/dist/esm/query/index.d.ts +1 -1
- package/dist/esm/query/index.js +1 -1
- package/dist/esm/query/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -20,7 +20,6 @@ var query_1 = require("../../query");
|
|
|
20
20
|
var Card_1 = require("../Card");
|
|
21
21
|
var getEnvPublic_1 = tslib_1.__importDefault(require("../Func/getEnvPublic"));
|
|
22
22
|
var saveCookiesClient_1 = tslib_1.__importDefault(require("../Func/saveCookiesClient"));
|
|
23
|
-
var LoadingProvider_1 = require("../LoadingProvider");
|
|
24
23
|
var appearance_styled_1 = tslib_1.__importDefault(require("./appearance/appearance-styled"));
|
|
25
24
|
var nav_mobile_1 = tslib_1.__importDefault(require("./navigator/nav-mobile"));
|
|
26
25
|
var sub_menu_style_1 = require("./style/sub-menu-style");
|
|
@@ -29,6 +28,7 @@ var image_1 = tslib_1.__importDefault(require("next/image"));
|
|
|
29
28
|
var axios_1 = tslib_1.__importDefault(require("axios"));
|
|
30
29
|
var getCookieSession_1 = tslib_1.__importDefault(require("../Func/getCookieSession"));
|
|
31
30
|
var helpers_1 = require("../../helpers/helpers");
|
|
31
|
+
var LoadingProvider_1 = require("../LoadingProvider");
|
|
32
32
|
fontawesome_svg_core_1.library.add(free_solid_svg_icons_1.fas);
|
|
33
33
|
function classNames() {
|
|
34
34
|
var classes = [];
|
|
@@ -38,61 +38,48 @@ function classNames() {
|
|
|
38
38
|
return classes.filter(Boolean).join(' ');
|
|
39
39
|
}
|
|
40
40
|
var PHXMainWrapV3 = function (_a) {
|
|
41
|
-
var _b, _c, _d, _e;
|
|
42
|
-
var children = _a.children, getDataCookies = _a.getDataCookies,
|
|
41
|
+
var _b, _c, _d, _e, _f;
|
|
42
|
+
var children = _a.children, getDataCookies = _a.getDataCookies, _g = _a.hiddenLeftMenu, hiddenLeftMenu = _g === void 0 ? false : _g, _h = _a.logoHeight, logoHeight = _h === void 0 ? '28px' : _h, _j = _a.multipleMenu, multipleMenu = _j === void 0 ? false : _j, params = _a.params, pathName = _a.pathName, router = _a.router;
|
|
43
43
|
var pid = (params ? params : {}).pid;
|
|
44
|
-
var
|
|
45
|
-
var
|
|
46
|
-
var
|
|
47
|
-
var
|
|
48
|
-
var
|
|
49
|
-
var
|
|
50
|
-
var
|
|
51
|
-
var
|
|
52
|
-
var
|
|
53
|
-
var
|
|
54
|
-
var
|
|
55
|
-
var
|
|
56
|
-
var
|
|
57
|
-
var
|
|
58
|
-
var
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
44
|
+
var _k = (0, react_2.useState)(false), modal = _k[0], setModal = _k[1];
|
|
45
|
+
var _l = (0, react_2.useState)(true), openSubMenu = _l[0], setOpenSubMenu = _l[1];
|
|
46
|
+
var _m = (0, react_2.useState)(''), campaignName = _m[0], setCampaignName = _m[1];
|
|
47
|
+
var _o = (0, react_2.useState)(false), sidebarOpen = _o[0], setSidebarOpen = _o[1];
|
|
48
|
+
var _p = (0, react_2.useState)([]), subNavigation = _p[0], setSubNavigation = _p[1];
|
|
49
|
+
var _q = (0, react_2.useState)([]), navigation = _q[0], setNavigation = _q[1];
|
|
50
|
+
var _r = (0, react_2.useState)(false), modalSignOut = _r[0], setModalSignOut = _r[1];
|
|
51
|
+
var _s = (0, react_2.useState)(true), showBanner = _s[0], setShowBanner = _s[1];
|
|
52
|
+
var _t = (0, react_2.useState)(true), isLoading = _t[0], setIsLoading = _t[1];
|
|
53
|
+
var sessionCookie = (0, react_2.useRef)((0, getCookieSession_1["default"])());
|
|
54
|
+
var userSessionInfo = (_b = sessionCookie.current) === null || _b === void 0 ? void 0 : _b.user_info;
|
|
55
|
+
var schoolInfoId = userSessionInfo === null || userSessionInfo === void 0 ? void 0 : userSessionInfo.school_id;
|
|
56
|
+
var userId = userSessionInfo === null || userSessionInfo === void 0 ? void 0 : userSessionInfo.id;
|
|
57
|
+
var setGlobalLoading = (0, LoadingProvider_1.useLoading)().setLoading;
|
|
58
|
+
var _u = (0, react_2.useState)({
|
|
59
|
+
loadingMenu: true,
|
|
60
|
+
loadingSchool: true,
|
|
61
|
+
listSchool: [],
|
|
62
|
+
logo: {
|
|
63
|
+
path: '',
|
|
64
|
+
height: logoHeight
|
|
65
|
+
},
|
|
66
|
+
menu: [],
|
|
67
|
+
schoolId: null,
|
|
68
|
+
configLayout: undefined,
|
|
69
|
+
perCode: [],
|
|
70
|
+
roleCode: [],
|
|
71
|
+
isLoadingPermission: true,
|
|
72
|
+
sourceAvatar: ((_c = userSessionInfo === null || userSessionInfo === void 0 ? void 0 : userSessionInfo.user_avatar) === null || _c === void 0 ? void 0 : _c.size_small) || (userSessionInfo === null || userSessionInfo === void 0 ? void 0 : userSessionInfo.avatar) || constants_1.DEFAULT_AVATAR
|
|
73
|
+
}), dataInitMain = _u[0], setDataInitMain = _u[1];
|
|
62
74
|
var locationPathname = typeof window !== 'undefined' ? window.location.pathname : '';
|
|
63
75
|
var locationArr = locationPathname.split('/').filter(Boolean);
|
|
64
76
|
var basePath = locationArr.slice(0, locationArr.length - pathName.split('/').filter(Boolean).length).join('/');
|
|
65
77
|
var pathNameWithBasePath = "".concat(basePath ? "".concat('/' + basePath) : '').concat(pathName);
|
|
66
|
-
var setGlobalLoading = (0, LoadingProvider_1.useLoading)().setLoading;
|
|
67
78
|
function enablePer(code, arr) {
|
|
68
79
|
if (!code)
|
|
69
80
|
return true;
|
|
70
81
|
return arr === null || arr === void 0 ? void 0 : arr.some(function (item) { return item === code; });
|
|
71
82
|
}
|
|
72
|
-
var _2 = (0, react_2.useState)({
|
|
73
|
-
path: '',
|
|
74
|
-
height: logoHeight
|
|
75
|
-
}), logo = _2[0], setLogo = _2[1];
|
|
76
|
-
var sessionCookie = (0, react_2.useRef)((0, getCookieSession_1["default"])());
|
|
77
|
-
var userSessionInfo = (_b = sessionCookie.current) === null || _b === void 0 ? void 0 : _b.user_info;
|
|
78
|
-
var schoolInfoId = userSessionInfo === null || userSessionInfo === void 0 ? void 0 : userSessionInfo.school_id;
|
|
79
|
-
var userId = userSessionInfo === null || userSessionInfo === void 0 ? void 0 : userSessionInfo.id;
|
|
80
|
-
function compareObjects(settingQuery, settingCookies) {
|
|
81
|
-
var keysSettingQuery = Object.keys(settingQuery);
|
|
82
|
-
if (keysSettingQuery.length !== Object.keys(settingCookies).length) {
|
|
83
|
-
return false;
|
|
84
|
-
}
|
|
85
|
-
for (var _i = 0, keysSettingQuery_1 = keysSettingQuery; _i < keysSettingQuery_1.length; _i++) {
|
|
86
|
-
var key = keysSettingQuery_1[_i];
|
|
87
|
-
if (!Object.prototype.hasOwnProperty.call(settingCookies, key)) {
|
|
88
|
-
return false;
|
|
89
|
-
}
|
|
90
|
-
if (settingQuery[key] !== settingCookies[key]) {
|
|
91
|
-
return false;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
return true;
|
|
95
|
-
}
|
|
96
83
|
// Lấy code phân quyền trong menu từ path hiện tại
|
|
97
84
|
function getCodesByPath(dataMenu, currentPath) {
|
|
98
85
|
var lastMatchingCode = null;
|
|
@@ -120,6 +107,12 @@ var PHXMainWrapV3 = function (_a) {
|
|
|
120
107
|
}
|
|
121
108
|
// code phân quyền path hiện tại
|
|
122
109
|
var currentCode = getCodesByPath(navigation, locationPathname);
|
|
110
|
+
var requireLoginValidation = function () {
|
|
111
|
+
var currentURL = window.location.href;
|
|
112
|
+
var url = currentURL.split('/');
|
|
113
|
+
var loginPush = "".concat(url[0], "//").concat(url[2], "/login-sso");
|
|
114
|
+
window.location.replace(loginPush);
|
|
115
|
+
};
|
|
123
116
|
var checkIsQuitJob = function (_a) {
|
|
124
117
|
var profileStaff = _a.profileStaff, profileTeacher = _a.profileTeacher;
|
|
125
118
|
try {
|
|
@@ -144,7 +137,7 @@ var PHXMainWrapV3 = function (_a) {
|
|
|
144
137
|
return tslib_1.__generator(this, function (_e) {
|
|
145
138
|
switch (_e.label) {
|
|
146
139
|
case 0:
|
|
147
|
-
_e.trys.push([0, 2,
|
|
140
|
+
_e.trys.push([0, 2, , 3]);
|
|
148
141
|
return [4 /*yield*/, (0, clientQueryV3_1["default"])({
|
|
149
142
|
query: query_1.GET_PERMISSION_DETAIL_USER_V3,
|
|
150
143
|
variables: { id: userId, school_id: schoolInfoId }
|
|
@@ -158,117 +151,98 @@ var PHXMainWrapV3 = function (_a) {
|
|
|
158
151
|
routePermissions = permissionCodes.filter(function (p) { return !p.is_action; }).map(function (p) { return p.code; });
|
|
159
152
|
actionPermissions = permissionCodes.filter(function (p) { return p.is_action; }).map(function (p) { return p.code; });
|
|
160
153
|
actionPermissionMap = Object.fromEntries(actionPermissions.map(function (code) { return [code, true]; }));
|
|
161
|
-
// Mã hoá và lưu vào cookie
|
|
162
|
-
(0, saveCookiesClient_1["default"])({ value: tslib_1.__assign(tslib_1.__assign({}, sessionCookie.current), { action_permission: actionPermissionMap }) });
|
|
163
154
|
uniqueRoutePermissions = Array.from(new Set(routePermissions));
|
|
164
|
-
|
|
165
|
-
return [3 /*break*/, 4];
|
|
155
|
+
return [2 /*return*/, { uniqueRoutePermissions: uniqueRoutePermissions, actionPermissionMap: actionPermissionMap }];
|
|
166
156
|
case 2:
|
|
167
157
|
error_1 = _e.sent();
|
|
168
158
|
console.error('Error fetching school data:', error_1);
|
|
169
|
-
return [
|
|
170
|
-
case 3:
|
|
171
|
-
setIsLoadingPermission(false);
|
|
172
|
-
return [7 /*endfinally*/];
|
|
173
|
-
case 4: return [2 /*return*/];
|
|
159
|
+
return [2 /*return*/, { uniqueRoutePermissions: null, actionPermissionMap: null }];
|
|
160
|
+
case 3: return [2 /*return*/];
|
|
174
161
|
}
|
|
175
162
|
});
|
|
176
163
|
}); };
|
|
177
164
|
var getProfileByUser = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
178
|
-
var response, profileUser,
|
|
165
|
+
var response, profileUser, avatar, email, full_name, profile_staff, profile_teacher, user_avatar, user_roles, error_2;
|
|
179
166
|
return tslib_1.__generator(this, function (_a) {
|
|
180
167
|
switch (_a.label) {
|
|
181
168
|
case 0:
|
|
182
|
-
|
|
183
|
-
return [2 /*return*/];
|
|
184
|
-
_a.label = 1;
|
|
185
|
-
case 1:
|
|
186
|
-
_a.trys.push([1, 3, , 4]);
|
|
169
|
+
_a.trys.push([0, 2, , 3]);
|
|
187
170
|
return [4 /*yield*/, (0, clientQueryV3_1["default"])({
|
|
188
171
|
query: query_1.QUERY_GET_PROFILE_USER,
|
|
189
172
|
variables: {
|
|
190
173
|
user_id: userId
|
|
191
174
|
}
|
|
192
175
|
})];
|
|
193
|
-
case
|
|
176
|
+
case 1:
|
|
194
177
|
response = _a.sent();
|
|
195
178
|
profileUser = response.data.users_by_pk;
|
|
196
|
-
profile_staff = profileUser.profile_staff, profile_teacher = profileUser.profile_teacher, user_roles = profileUser.user_roles;
|
|
179
|
+
avatar = profileUser.avatar, email = profileUser.email, full_name = profileUser.full_name, profile_staff = profileUser.profile_staff, profile_teacher = profileUser.profile_teacher, user_avatar = profileUser.user_avatar, user_roles = profileUser.user_roles;
|
|
197
180
|
// check user is quit job
|
|
198
|
-
checkIsQuitJob({
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
181
|
+
checkIsQuitJob({
|
|
182
|
+
profileStaff: profile_staff,
|
|
183
|
+
profileTeacher: profile_teacher
|
|
184
|
+
});
|
|
185
|
+
// renew list role in cookie
|
|
186
|
+
return [2 /*return*/, {
|
|
187
|
+
avatar: avatar,
|
|
188
|
+
user_avatar: user_avatar,
|
|
189
|
+
full_name: full_name,
|
|
190
|
+
email: email,
|
|
191
|
+
user_roles: user_roles
|
|
192
|
+
}];
|
|
193
|
+
case 2:
|
|
209
194
|
error_2 = _a.sent();
|
|
210
195
|
console.log(error_2);
|
|
211
|
-
return [
|
|
212
|
-
case
|
|
196
|
+
return [2 /*return*/];
|
|
197
|
+
case 3: return [2 /*return*/];
|
|
213
198
|
}
|
|
214
199
|
});
|
|
215
200
|
}); };
|
|
216
|
-
var fetchDataSchool = function () {
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
var _a, _b, _c, _d, _e;
|
|
224
|
-
return tslib_1.__generator(this, function (_f) {
|
|
225
|
-
switch (_f.label) {
|
|
226
|
-
case 0:
|
|
227
|
-
setIsLoading(true);
|
|
228
|
-
_f.label = 1;
|
|
229
|
-
case 1:
|
|
230
|
-
_f.trys.push([1, 3, , 4]);
|
|
231
|
-
return [4 /*yield*/, (0, clientQueryV3_1["default"])({
|
|
232
|
-
query: query_1.GET_SCHOOL_V3,
|
|
233
|
-
variables: { group_id: group_id, school_name_id: school_name_id, user_id: id },
|
|
234
|
-
isDelay: false
|
|
235
|
-
})];
|
|
236
|
-
case 2:
|
|
237
|
-
res = _f.sent();
|
|
238
|
-
listSchool_1 = (_b = (_a = res === null || res === void 0 ? void 0 : res.data) === null || _a === void 0 ? void 0 : _a.school_name[0]) === null || _b === void 0 ? void 0 : _b.schools;
|
|
239
|
-
if ((listSchool_1 === null || listSchool_1 === void 0 ? void 0 : listSchool_1.length) > 0) {
|
|
240
|
-
setLoadingSchool(false);
|
|
241
|
-
setListSchool(listSchool_1);
|
|
242
|
-
}
|
|
243
|
-
setIsLoading(false);
|
|
244
|
-
settingFetchData = (_d = (_c = res === null || res === void 0 ? void 0 : res.data) === null || _c === void 0 ? void 0 : _c.setting_site[0]) === null || _d === void 0 ? void 0 : _d.value_setting;
|
|
245
|
-
if (settingFetchData) {
|
|
246
|
-
cleanedJsonString = settingFetchData.replace(/^"(.*)"$/, '$1');
|
|
247
|
-
jsonObjectSetting = JSON.parse(cleanedJsonString);
|
|
248
|
-
setConfigLayout(jsonObjectSetting);
|
|
249
|
-
settingSiteCookie = (_e = sessionCookie.current) === null || _e === void 0 ? void 0 : _e.setting_site;
|
|
250
|
-
// Nếu chưa có trong cookie hoặc data trong cookie và db khác nhau
|
|
251
|
-
if (!settingSiteCookie || !compareObjects(jsonObjectSetting, settingSiteCookie)) {
|
|
252
|
-
(0, saveCookiesClient_1["default"])({ value: tslib_1.__assign(tslib_1.__assign({}, sessionCookie.current), { setting_site: jsonObjectSetting }) });
|
|
253
|
-
}
|
|
254
|
-
}
|
|
201
|
+
var fetchDataSchool = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
202
|
+
var id, _a, group_id, school_name_id, school_id, settingSiteDb, res, dataSchool, settingFetchData, cleanedJsonString, error_3;
|
|
203
|
+
var _b, _c, _d, _e;
|
|
204
|
+
return tslib_1.__generator(this, function (_f) {
|
|
205
|
+
switch (_f.label) {
|
|
206
|
+
case 0:
|
|
207
|
+
if (!userSessionInfo)
|
|
255
208
|
return [2 /*return*/];
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
209
|
+
id = userSessionInfo.id, _a = userSessionInfo.school, group_id = _a.school_name.group_id, school_name_id = _a.school_name_id, school_id = userSessionInfo.school_id;
|
|
210
|
+
setIsLoading(true);
|
|
211
|
+
settingSiteDb = undefined;
|
|
212
|
+
_f.label = 1;
|
|
213
|
+
case 1:
|
|
214
|
+
_f.trys.push([1, 3, , 4]);
|
|
215
|
+
return [4 /*yield*/, (0, clientQueryV3_1["default"])({
|
|
216
|
+
query: query_1.GET_SCHOOL_V3,
|
|
217
|
+
variables: { group_id: group_id, school_name_id: school_name_id, user_id: id },
|
|
218
|
+
isDelay: false
|
|
219
|
+
})];
|
|
220
|
+
case 2:
|
|
221
|
+
res = _f.sent();
|
|
222
|
+
dataSchool = (_c = (_b = res === null || res === void 0 ? void 0 : res.data) === null || _b === void 0 ? void 0 : _b.school_name[0]) === null || _c === void 0 ? void 0 : _c.schools;
|
|
223
|
+
settingFetchData = (_e = (_d = res === null || res === void 0 ? void 0 : res.data) === null || _d === void 0 ? void 0 : _d.setting_site[0]) === null || _e === void 0 ? void 0 : _e.value_setting;
|
|
224
|
+
if (settingFetchData) {
|
|
225
|
+
cleanedJsonString = settingFetchData.replace(/^"(.*)"$/, '$1');
|
|
226
|
+
settingSiteDb = JSON.parse(cleanedJsonString);
|
|
227
|
+
}
|
|
228
|
+
setIsLoading(false);
|
|
229
|
+
return [2 /*return*/, {
|
|
230
|
+
settingSiteDb: settingSiteDb,
|
|
231
|
+
loadingSchool: dataSchool.length === 0,
|
|
232
|
+
listSchool: dataSchool,
|
|
233
|
+
schoolId: school_id
|
|
234
|
+
}];
|
|
235
|
+
case 3:
|
|
236
|
+
error_3 = _f.sent();
|
|
237
|
+
setIsLoading(false);
|
|
238
|
+
console.error('Error fetching school data:', error_3);
|
|
239
|
+
return [2 /*return*/];
|
|
240
|
+
case 4: return [2 /*return*/];
|
|
241
|
+
}
|
|
268
242
|
});
|
|
269
|
-
};
|
|
243
|
+
}); };
|
|
270
244
|
var fetchDataMenu = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
271
|
-
var envPublic, menuUrl, logoMenuTop, data,
|
|
245
|
+
var envPublic, menuUrl, logoMenuTop, data, menuJson;
|
|
272
246
|
return tslib_1.__generator(this, function (_a) {
|
|
273
247
|
switch (_a.label) {
|
|
274
248
|
case 0: return [4 /*yield*/, (0, getEnvPublic_1["default"])()];
|
|
@@ -285,10 +259,53 @@ var PHXMainWrapV3 = function (_a) {
|
|
|
285
259
|
data = _a.sent();
|
|
286
260
|
return [4 /*yield*/, data.json()];
|
|
287
261
|
case 3:
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
262
|
+
menuJson = _a.sent();
|
|
263
|
+
return [2 /*return*/, {
|
|
264
|
+
loadingMenu: false,
|
|
265
|
+
logo: { path: logoMenuTop, height: logoHeight },
|
|
266
|
+
menu: menuJson
|
|
267
|
+
}];
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
}); };
|
|
271
|
+
var fetchInitData = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
272
|
+
var _a, loadingMenu, logo, menu, profileNew, dataPer, dataSchool, actionPermissionMap, uniqueRoutePermissions;
|
|
273
|
+
var _b;
|
|
274
|
+
return tslib_1.__generator(this, function (_c) {
|
|
275
|
+
switch (_c.label) {
|
|
276
|
+
case 0: return [4 /*yield*/, fetchDataMenu()];
|
|
277
|
+
case 1:
|
|
278
|
+
_a = _c.sent(), loadingMenu = _a.loadingMenu, logo = _a.logo, menu = _a.menu;
|
|
279
|
+
return [4 /*yield*/, getProfileByUser()];
|
|
280
|
+
case 2:
|
|
281
|
+
profileNew = _c.sent();
|
|
282
|
+
return [4 /*yield*/, fetchDataPer()];
|
|
283
|
+
case 3:
|
|
284
|
+
dataPer = _c.sent();
|
|
285
|
+
return [4 /*yield*/, fetchDataSchool()];
|
|
286
|
+
case 4:
|
|
287
|
+
dataSchool = _c.sent();
|
|
288
|
+
actionPermissionMap = dataPer.actionPermissionMap, uniqueRoutePermissions = dataPer.uniqueRoutePermissions;
|
|
289
|
+
setDataInitMain({
|
|
290
|
+
logo: logo,
|
|
291
|
+
menu: menu,
|
|
292
|
+
loadingMenu: loadingMenu,
|
|
293
|
+
schoolId: (dataSchool === null || dataSchool === void 0 ? void 0 : dataSchool.schoolId) || null,
|
|
294
|
+
loadingSchool: !!(dataSchool === null || dataSchool === void 0 ? void 0 : dataSchool.loadingSchool),
|
|
295
|
+
listSchool: (dataSchool === null || dataSchool === void 0 ? void 0 : dataSchool.listSchool) || [],
|
|
296
|
+
isLoadingPermission: false,
|
|
297
|
+
perCode: uniqueRoutePermissions,
|
|
298
|
+
roleCode: (profileNew === null || profileNew === void 0 ? void 0 : profileNew.user_roles.map(function (userRole) { var _a; return (_a = userRole === null || userRole === void 0 ? void 0 : userRole.role) === null || _a === void 0 ? void 0 : _a.role_code; })) || [],
|
|
299
|
+
configLayout: (dataSchool === null || dataSchool === void 0 ? void 0 : dataSchool.settingSiteDb) || undefined,
|
|
300
|
+
sourceAvatar: ((_b = profileNew === null || profileNew === void 0 ? void 0 : profileNew.user_avatar) === null || _b === void 0 ? void 0 : _b.size_small) || (profileNew === null || profileNew === void 0 ? void 0 : profileNew.avatar) || constants_1.DEFAULT_AVATAR
|
|
301
|
+
});
|
|
302
|
+
(0, saveCookiesClient_1["default"])({
|
|
303
|
+
value: tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, sessionCookie.current), (actionPermissionMap && {
|
|
304
|
+
action_permission: actionPermissionMap || []
|
|
305
|
+
})), { setting_site: (dataSchool === null || dataSchool === void 0 ? void 0 : dataSchool.settingSiteDb) || {} }), (profileNew && {
|
|
306
|
+
user_info: tslib_1.__assign(tslib_1.__assign({}, userSessionInfo), profileNew)
|
|
307
|
+
}))
|
|
308
|
+
});
|
|
292
309
|
return [2 /*return*/];
|
|
293
310
|
}
|
|
294
311
|
});
|
|
@@ -299,21 +316,13 @@ var PHXMainWrapV3 = function (_a) {
|
|
|
299
316
|
requireLoginValidation();
|
|
300
317
|
return;
|
|
301
318
|
}
|
|
302
|
-
|
|
303
|
-
getProfileByUser();
|
|
304
|
-
fetchDataSchool();
|
|
319
|
+
fetchInitData();
|
|
305
320
|
}, []);
|
|
306
|
-
var
|
|
307
|
-
|
|
308
|
-
var url = currentURL.split('/');
|
|
309
|
-
var loginPush = "".concat(url[0], "//").concat(url[2], "/login-sso");
|
|
310
|
-
window.location.replace(loginPush);
|
|
311
|
-
};
|
|
312
|
-
var isEqualUrl = function (parentHref, pathName) {
|
|
313
|
-
if (!parentHref || !pathName) {
|
|
321
|
+
var isEqualUrl = function (parentHref, pathNameCompare) {
|
|
322
|
+
if (!parentHref || !pathNameCompare) {
|
|
314
323
|
return false;
|
|
315
324
|
}
|
|
316
|
-
var pathNameSplit =
|
|
325
|
+
var pathNameSplit = pathNameCompare.split('/');
|
|
317
326
|
var hrefSplit = parentHref.split('/');
|
|
318
327
|
if (!pathNameSplit || !hrefSplit) {
|
|
319
328
|
return false;
|
|
@@ -343,9 +352,9 @@ var PHXMainWrapV3 = function (_a) {
|
|
|
343
352
|
return parentSplit[1] === pathNameSplit[3];
|
|
344
353
|
}
|
|
345
354
|
};
|
|
346
|
-
var isBelongParent = function (parentUrl,
|
|
355
|
+
var isBelongParent = function (parentUrl, pathNameCompare, isMicroservice) {
|
|
347
356
|
var parentSplit = parentUrl.split('/');
|
|
348
|
-
var pathNameSplit =
|
|
357
|
+
var pathNameSplit = pathNameCompare.split('/');
|
|
349
358
|
if (isMicroservice) {
|
|
350
359
|
return isBelongParentWithMicroservice(parentSplit, pathNameSplit);
|
|
351
360
|
}
|
|
@@ -361,7 +370,7 @@ var PHXMainWrapV3 = function (_a) {
|
|
|
361
370
|
return pathNameSplit[1] === 'admissions';
|
|
362
371
|
};
|
|
363
372
|
var loadParentNavigation = function (path) {
|
|
364
|
-
var mainNavigation = menu;
|
|
373
|
+
var mainNavigation = dataInitMain.menu;
|
|
365
374
|
var naviSize = mainNavigation.length;
|
|
366
375
|
for (var i = 0; i < naviSize; i++) {
|
|
367
376
|
var item = mainNavigation[i];
|
|
@@ -400,7 +409,7 @@ var PHXMainWrapV3 = function (_a) {
|
|
|
400
409
|
setNavigation(mainNavigation);
|
|
401
410
|
};
|
|
402
411
|
var loadChildrenCampaign = function (path) {
|
|
403
|
-
var mainNavigation = menu;
|
|
412
|
+
var mainNavigation = dataInitMain.menu;
|
|
404
413
|
var naviSize = mainNavigation.length;
|
|
405
414
|
for (var i = 0; i < naviSize; i++) {
|
|
406
415
|
var item = mainNavigation[i];
|
|
@@ -436,7 +445,8 @@ var PHXMainWrapV3 = function (_a) {
|
|
|
436
445
|
setNavigation(mainNavigation);
|
|
437
446
|
};
|
|
438
447
|
var checkChildrenCampaign = function (path) {
|
|
439
|
-
var
|
|
448
|
+
var _a;
|
|
449
|
+
var campaignMenu = (_a = dataInitMain.menu) === null || _a === void 0 ? void 0 : _a.find(function (item) { return item.path === '/admissions/campaign/list'; });
|
|
440
450
|
var campaignChild = campaignMenu === null || campaignMenu === void 0 ? void 0 : campaignMenu.child;
|
|
441
451
|
var listChild = campaignChild === null || campaignChild === void 0 ? void 0 : campaignChild.find(function (item) { return item.path === '/campaign/list'; });
|
|
442
452
|
var isChild = listChild === null || listChild === void 0 ? void 0 : listChild.childrenByParentDetail.find(function (item) { return isBelongParent(item.path, path, false); });
|
|
@@ -468,7 +478,7 @@ var PHXMainWrapV3 = function (_a) {
|
|
|
468
478
|
loadParentNavigation(pathNameWithBasePath);
|
|
469
479
|
}
|
|
470
480
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
471
|
-
}, [
|
|
481
|
+
}, [dataInitMain, pid, pathNameWithBasePath]);
|
|
472
482
|
(0, react_2.useEffect)(function () {
|
|
473
483
|
var isAdmissions = checkAdmissions(pathNameWithBasePath);
|
|
474
484
|
if (isAdmissions) {
|
|
@@ -485,7 +495,7 @@ var PHXMainWrapV3 = function (_a) {
|
|
|
485
495
|
else {
|
|
486
496
|
setOpenSubMenu(true);
|
|
487
497
|
}
|
|
488
|
-
}, [pathNameWithBasePath,
|
|
498
|
+
}, [pathNameWithBasePath, dataInitMain]);
|
|
489
499
|
var loadSubNavigation = function (path, isChild, childPath) {
|
|
490
500
|
var subLength = subNavigation.length;
|
|
491
501
|
var newSub = [];
|
|
@@ -527,7 +537,7 @@ var PHXMainWrapV3 = function (_a) {
|
|
|
527
537
|
router.push(item.path);
|
|
528
538
|
}
|
|
529
539
|
};
|
|
530
|
-
var
|
|
540
|
+
var _v = dataInitMain.logo, height = _v.height, topMenuLogoFromEnv = _v.path;
|
|
531
541
|
var handleModalSignOut = function () { return setModalSignOut(true); };
|
|
532
542
|
var handleRedirectRouter = function (path) {
|
|
533
543
|
var currentURL = window.location.href;
|
|
@@ -581,11 +591,11 @@ var PHXMainWrapV3 = function (_a) {
|
|
|
581
591
|
var currentIndexActive = item.find(function (s) { return s.current; });
|
|
582
592
|
return currentIndexActive ? currentIndexActive.id > currentItem.id : false;
|
|
583
593
|
};
|
|
584
|
-
var
|
|
585
|
-
var
|
|
586
|
-
var
|
|
594
|
+
var _w = (0, react_2.useState)(false), openNavName = _w[0], setOpenNavName = _w[1];
|
|
595
|
+
var _x = (0, react_2.useState)(false), showSearchBar = _x[0], setShowSearchBar = _x[1];
|
|
596
|
+
var _y = (0, react_2.useState)(null), selected = _y[0], setSelected = _y[1];
|
|
587
597
|
var handleOpenModal = function (id) {
|
|
588
|
-
setModal(id !== schoolId);
|
|
598
|
+
setModal(id !== dataInitMain.schoolId);
|
|
589
599
|
setSelected(id);
|
|
590
600
|
};
|
|
591
601
|
var handlePrimaryModal = function () {
|
|
@@ -595,7 +605,9 @@ var PHXMainWrapV3 = function (_a) {
|
|
|
595
605
|
var schoolIdCurrent = userSessionInfo.school_id;
|
|
596
606
|
if (newSchoolId && newSchoolId !== schoolIdCurrent) {
|
|
597
607
|
var userInfoNew = tslib_1.__assign(tslib_1.__assign({}, userSessionInfo), { school_id: newSchoolId });
|
|
598
|
-
(0, saveCookiesClient_1["default"])({
|
|
608
|
+
(0, saveCookiesClient_1["default"])({
|
|
609
|
+
value: tslib_1.__assign(tslib_1.__assign({}, sessionCookie.current), { user_info: userInfoNew })
|
|
610
|
+
});
|
|
599
611
|
window.location.replace(constants_1.ROUTE_DASHBOARD);
|
|
600
612
|
}
|
|
601
613
|
}
|
|
@@ -605,20 +617,19 @@ var PHXMainWrapV3 = function (_a) {
|
|
|
605
617
|
}
|
|
606
618
|
setModal(false);
|
|
607
619
|
};
|
|
608
|
-
var sourceAvatar = ((_c = userSessionInfo === null || userSessionInfo === void 0 ? void 0 : userSessionInfo.user_avatar) === null || _c === void 0 ? void 0 : _c.size_small) || (userSessionInfo === null || userSessionInfo === void 0 ? void 0 : userSessionInfo.avatar) || constants_1.DEFAULT_AVATAR;
|
|
609
620
|
// settings page
|
|
610
621
|
var isSettings = function () {
|
|
611
622
|
var pathNameSplit = pathNameWithBasePath.split('/');
|
|
612
623
|
return pathNameSplit[1] === 'setting';
|
|
613
624
|
};
|
|
614
|
-
var checkLogoHeader = (configLayout === null ||
|
|
625
|
+
var checkLogoHeader = ((_d = dataInitMain.configLayout) === null || _d === void 0 ? void 0 : _d.logo_dashboard) || topMenuLogoFromEnv || constants_1.DEFAULT_LOGO_DASHBOARD;
|
|
615
626
|
return (react_2["default"].createElement(react_2["default"].Fragment, null,
|
|
616
627
|
react_2["default"].createElement("div", { className: 'flex min-h-full flex-col' },
|
|
617
|
-
react_2["default"].createElement(appearance_styled_1["default"], { configLayout: configLayout, settingSiteCookie: getDataCookies ? (
|
|
628
|
+
react_2["default"].createElement(appearance_styled_1["default"], { configLayout: dataInitMain === null || dataInitMain === void 0 ? void 0 : dataInitMain.configLayout, settingSiteCookie: getDataCookies ? (_e = (0, helpers_1.decryptCookie)(getDataCookies)) === null || _e === void 0 ? void 0 : _e.setting_site : null }),
|
|
618
629
|
react_2["default"].createElement("header", { className: 'header-color-styled fixed top-0 z-50 min-w-full border-gray-200 bg-white' },
|
|
619
630
|
react_2["default"].createElement("div", { className: 'header-styled mx-auto flex h-14 items-center justify-between bg-[#1a1a1a] pr-4' },
|
|
620
|
-
react_2["default"].createElement("div", { className: 'flex items-center gap-x-3' },
|
|
621
|
-
react_2["default"].createElement("a", { className: 'flex w-full items-center', href: '/' }, topMenuLogoFromEnv ? (react_2["default"].createElement(react_2["default"].Fragment, null, isLoading ? (react_2["default"].createElement("div", { className: 'header-loading-logo ml-3 h-8 w-full animate-pulse' })) : (react_2["default"].createElement("img", { alt: 'Logo', className: 'ml-3
|
|
631
|
+
react_2["default"].createElement("div", { className: 'flex items-center gap-x-3 lg:w-32' },
|
|
632
|
+
react_2["default"].createElement("a", { className: 'flex w-full items-center', href: '/' }, topMenuLogoFromEnv ? (react_2["default"].createElement(react_2["default"].Fragment, null, isLoading ? (react_2["default"].createElement("div", { className: 'header-loading-logo ml-3 h-8 w-full animate-pulse' })) : (react_2["default"].createElement("img", { alt: 'Logo', className: 'ml-3 w-auto', src: checkLogoHeader, style: { height: height } })))) : (react_2["default"].createElement(react_2["default"].Fragment, null))),
|
|
622
633
|
react_2["default"].createElement("div", { className: 'flex items-center lg:hidden' },
|
|
623
634
|
react_2["default"].createElement("button", { className: 'bg-grey-100 mr-3 inline-flex items-center justify-center rounded-md p-1 text-gray-600 hover:bg-white focus:outline-none focus:ring-2 focus:ring-inset focus:ring-white', onClick: function () { return setSidebarOpen(true); }, type: 'button' },
|
|
624
635
|
react_2["default"].createElement("span", { className: 'sr-only' }, "Open sidebar"),
|
|
@@ -631,33 +642,34 @@ var PHXMainWrapV3 = function (_a) {
|
|
|
631
642
|
react_2["default"].createElement(react_1.Menu.Button, { className: 'flex max-w-xs items-center rounded-full bg-gray-800 text-sm focus:outline-none focus:ring-2 focus:ring-white focus:ring-offset-2 focus:ring-offset-gray-800' },
|
|
632
643
|
react_2["default"].createElement("span", { className: 'sr-only' }, "Open user menu"),
|
|
633
644
|
isLoading ? (react_2["default"].createElement("div", { className: 'flex animate-pulse' },
|
|
634
|
-
react_2["default"].createElement("div", { className: 'header-loading-avatar h-8 w-8 rounded-full' }))) : (react_2["default"].createElement("img", { alt: '', className: 'h-8 w-8 rounded-full', src: sourceAvatar })))),
|
|
645
|
+
react_2["default"].createElement("div", { className: 'header-loading-avatar h-8 w-8 rounded-full' }))) : (react_2["default"].createElement("img", { alt: '', className: 'h-8 w-8 rounded-full', src: dataInitMain.sourceAvatar })))),
|
|
635
646
|
react_2["default"].createElement(react_1.Transition, { as: react_2.Fragment, enter: 'transition ease-out duration-100', enterFrom: 'transform opacity-0 scale-95', enterTo: 'transform opacity-100 scale-100', leave: 'transition ease-in duration-75', leaveFrom: 'transform opacity-100 scale-100', leaveTo: 'transform opacity-0 scale-95' },
|
|
636
647
|
react_2["default"].createElement(react_1.Menu.Items, { className: ' absolute right-0 z-10 mt-2 w-[340px] origin-top-right rounded-md bg-white px-2 shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none' },
|
|
637
648
|
react_2["default"].createElement(react_1.Menu.Item, null,
|
|
638
649
|
react_2["default"].createElement("div", { "aria-hidden": true, className: 'px-2 pb-2 pt-4 text-sm font-semibold text-gray-900 ' }, "Ch\u1ECDn tr\u01B0\u1EDDng")),
|
|
639
|
-
!loadingSchool ? (react_2["default"].createElement(react_2["default"].Fragment, null, listSchool
|
|
650
|
+
!dataInitMain.loadingSchool ? (react_2["default"].createElement(react_2["default"].Fragment, null, dataInitMain.listSchool
|
|
640
651
|
.filter(function (val) {
|
|
641
|
-
if (!enablePer(constants_1.switchSchool, perCode)) {
|
|
642
|
-
return val.id === schoolId;
|
|
652
|
+
if (!enablePer(constants_1.switchSchool, dataInitMain.perCode)) {
|
|
653
|
+
return val.id === dataInitMain.schoolId;
|
|
643
654
|
}
|
|
644
655
|
else {
|
|
645
656
|
return true;
|
|
646
657
|
}
|
|
647
658
|
})
|
|
648
659
|
.map(function (item) { return (react_2["default"].createElement(react_1.Menu.Item, { key: item.id },
|
|
649
|
-
react_2["default"].createElement("div", { "aria-hidden": true, className: "".concat(item.id === schoolId &&
|
|
650
|
-
listSchool.length > 1 &&
|
|
651
|
-
!enablePer(constants_1.switchSchool, perCode) === false
|
|
660
|
+
react_2["default"].createElement("div", { "aria-hidden": true, className: "".concat(item.id === dataInitMain.schoolId &&
|
|
661
|
+
dataInitMain.listSchool.length > 1 &&
|
|
662
|
+
!enablePer(constants_1.switchSchool, dataInitMain.perCode) === false
|
|
652
663
|
? 'rounded-lg bg-zinc-200 font-semibold text-gray-900 '
|
|
653
|
-
: 'font-normal ', " \n ").concat(item.id !== schoolId &&
|
|
654
|
-
(listSchool.length === 1 ||
|
|
664
|
+
: 'font-normal ', " \n ").concat(item.id !== dataInitMain.schoolId &&
|
|
665
|
+
(dataInitMain.listSchool.length === 1 ||
|
|
666
|
+
!enablePer(constants_1.switchSchool, dataInitMain.perCode)) === false
|
|
655
667
|
? 'cursor-pointer hover:rounded-lg hover:bg-gray-100'
|
|
656
668
|
: '', "\n relative mb-1 flex items-center justify-between px-2 py-1.5 text-sm text-gray-900"), onClick: function () { return handleOpenModal(item.id); } },
|
|
657
669
|
react_2["default"].createElement("p", { className: 'max-w-[95%] truncate' }, item.name),
|
|
658
|
-
item.id === schoolId &&
|
|
659
|
-
listSchool.length > 1 &&
|
|
660
|
-
!enablePer(constants_1.switchSchool, perCode) === false && (react_2["default"].createElement(solid_2.CheckIcon, { "aria-hidden": 'true', className: 'h-4 w-4' }))))); }))) : (react_2["default"].createElement(Skeleton_1.PHXSkeleton, { className: 'flex-1 px-2 py-2', type: 'single' })),
|
|
670
|
+
item.id === dataInitMain.schoolId &&
|
|
671
|
+
dataInitMain.listSchool.length > 1 &&
|
|
672
|
+
!enablePer(constants_1.switchSchool, dataInitMain.perCode) === false && (react_2["default"].createElement(solid_2.CheckIcon, { "aria-hidden": 'true', className: 'h-4 w-4' }))))); }))) : (react_2["default"].createElement(Skeleton_1.PHXSkeleton, { className: 'flex-1 px-2 py-2', type: 'single' })),
|
|
661
673
|
react_2["default"].createElement("div", { className: 'border-b pt-1.5' }),
|
|
662
674
|
react_2["default"].createElement(react_1.Menu.Item, null,
|
|
663
675
|
react_2["default"].createElement("div", { "aria-hidden": true, className: 'px-2 pb-2 pt-4 text-sm font-semibold text-gray-900' }, "T\u00F9y ch\u1ECDn")),
|
|
@@ -684,7 +696,7 @@ var PHXMainWrapV3 = function (_a) {
|
|
|
684
696
|
react_2["default"].createElement("span", { className: 'sr-only' }, "Close sidebar"),
|
|
685
697
|
react_2["default"].createElement(outline_1.XMarkIcon, { "aria-hidden": 'true', className: 'h-6 w-6 text-white' })))),
|
|
686
698
|
react_2["default"].createElement("div", { className: 'mt-8 h-0 flex-1 overflow-y-auto pb-4 pt-5' },
|
|
687
|
-
react_2["default"].createElement(nav_mobile_1["default"], { menu: menu, path: pathNameWithBasePath, permission: perCode, router: router, setSideBarOpen: function () { return setSidebarOpen(false); } })))),
|
|
699
|
+
react_2["default"].createElement(nav_mobile_1["default"], { menu: dataInitMain.menu, path: pathNameWithBasePath, permission: dataInitMain.perCode, router: router, setSideBarOpen: function () { return setSidebarOpen(false); } })))),
|
|
688
700
|
react_2["default"].createElement("div", { "aria-hidden": 'true', className: 'w-14 flex-shrink-0' })))),
|
|
689
701
|
react_2["default"].createElement("div", { className: 'hidden lg:flex lg:flex-shrink-0' },
|
|
690
702
|
react_2["default"].createElement("div", { className: 'flex' },
|
|
@@ -692,7 +704,7 @@ var PHXMainWrapV3 = function (_a) {
|
|
|
692
704
|
react_2["default"].createElement("div", { "aria-hidden": true, className: "".concat(openNavName ? 'w-64' : 'w-14', " menu-styled z-10 flex h-full flex-col justify-between border-r !bg-gray-200 transition-all duration-300 lg:fixed"), onMouseOut: function () { return setOpenNavName(false); }, onMouseOver: function () { return setOpenNavName(true); } },
|
|
693
705
|
react_2["default"].createElement("div", { className: classNames('flex flex-1 flex-col', openNavName ? 'overflow-y-auto' : 'overflow-y-hidden') },
|
|
694
706
|
react_2["default"].createElement("div", { className: 'relative flex-1' },
|
|
695
|
-
react_2["default"].createElement("div", { "aria-label": 'Sidebar', className: 'hidden overflow-x-hidden md:block md:flex-shrink-0 md:overflow-y-auto' }, !hiddenLeftMenu && (react_2["default"].createElement("div", { className: "space-y- flex ".concat(openNavName ? 'w-64' : 'w-12', " flex-col overflow-hidden p-3") }, navigation.map(function (item, index) { return (react_2["default"].createElement("div", { key: index, className: 'w-full' }, enablePer(item.code, perCode) && (react_2["default"].createElement("a", { className: "".concat(classNames(item.current && !openNavName
|
|
707
|
+
react_2["default"].createElement("div", { "aria-label": 'Sidebar', className: 'hidden overflow-x-hidden md:block md:flex-shrink-0 md:overflow-y-auto' }, !hiddenLeftMenu && (react_2["default"].createElement("div", { className: "space-y- flex ".concat(openNavName ? 'w-64' : 'w-12', " flex-col overflow-hidden p-3") }, navigation.map(function (item, index) { return (react_2["default"].createElement("div", { key: index, className: 'w-full' }, enablePer(item.code, dataInitMain.perCode) && (react_2["default"].createElement("a", { className: "".concat(classNames(item.current && !openNavName
|
|
696
708
|
? 'menu-bg-color-icon-active-styled font-semibold' // màu background của icon đang active của menu
|
|
697
709
|
: 'menu-icon-color-styled', // màu icon của menu
|
|
698
710
|
!openNavName
|
|
@@ -714,7 +726,7 @@ var PHXMainWrapV3 = function (_a) {
|
|
|
714
726
|
react_2["default"].createElement(image_1["default"], { alt: 'icon', className: classNames('h-[1.125rem] w-[1.125rem] text-gray-950', openNavName && 'mt-[0.2rem]'), height: 0, src: item.current ? Icon_1.Icons["".concat(item.code, "_SOLID")] : Icon_1.Icons[item.code], width: 0 })),
|
|
715
727
|
openNavName && (react_2["default"].createElement("div", { className: 'h-6' },
|
|
716
728
|
react_2["default"].createElement("p", { className: "mt-0.5 h-full text-[0.86rem] text-[#353A44] transition-all duration-300 ".concat(openNavName ? 'opacity-100' : 'opacity-0') }, item.name)))))))); })))))),
|
|
717
|
-
react_2["default"].createElement("div", { className: classNames('border-t', navigation.length > 0 && ((
|
|
729
|
+
react_2["default"].createElement("div", { className: classNames('border-t', navigation.length > 0 && ((_f = navigation[0]) === null || _f === void 0 ? void 0 : _f.isSchoolink) ? 'border-[#1c222b]' : 'border-indigo-100') },
|
|
718
730
|
react_2["default"].createElement("div", { className: "mb-14 flex ".concat(openNavName ? 'w-64' : 'w-12', " overflow-hidden p-3") },
|
|
719
731
|
react_2["default"].createElement("a", { className: classNames('z-0', !openNavName
|
|
720
732
|
? 'inline-flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg'
|
|
@@ -742,75 +754,78 @@ var PHXMainWrapV3 = function (_a) {
|
|
|
742
754
|
react_2["default"].createElement("button", { className: 'mr-1 inline-flex items-center rounded-lg border-gray-300 bg-transparent px-2 py-1 text-xs font-medium text-gray-700 hover:bg-gray-200 active:bg-gray-300 active:pb-[0.2rem] active:pt-[0.3rem] active:shadow-[0rem_0.125rem_0.1rem_0rem_#0004_inset]', onClick: function () { return handleBackMenu(); }, type: 'button' },
|
|
743
755
|
react_2["default"].createElement(solid_1.ArrowLeftIcon, { className: 'h-5 w-5' })),
|
|
744
756
|
react_2["default"].createElement("p", { className: 'text-sm font-medium text-slate-600' }, campaignName))),
|
|
745
|
-
react_2["default"].createElement("div", { className: 'flex-1 overflow-y-auto pt-3' }, subNavigation.map(function (item, subNavIndex) {
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
react_2["default"].createElement("
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
: '
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
? sub_menu_style_1.styles.
|
|
764
|
-
:
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
757
|
+
react_2["default"].createElement("div", { className: 'flex-1 overflow-y-auto pt-3' }, subNavigation.map(function (item, subNavIndex) {
|
|
758
|
+
var _a;
|
|
759
|
+
return (react_2["default"].createElement("div", { key: subNavIndex }, ((_a = dataInitMain.roleCode) === null || _a === void 0 ? void 0 : _a.length) > 0 ? (react_2["default"].createElement(react_2["default"].Fragment, null, enablePer(item.code, dataInitMain.perCode) ? (react_2["default"].createElement(react_2["default"].Fragment, null,
|
|
760
|
+
(item === null || item === void 0 ? void 0 : item.isMicroservice) ? (react_2["default"].createElement("a", { "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, "aria-hidden": true, className: classNames((item === null || item === void 0 ? void 0 : item.current)
|
|
761
|
+
? 'rounded-lg bg-white' // màu background menu cha khi active
|
|
762
|
+
: 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', // màu background khi hover vào menu cha
|
|
763
|
+
'mx-3 flex cursor-pointer border-slate-200 p-2'), href: item.path }, !dataInitMain.loadingMenu ? (react_2["default"].createElement("div", { className: 'ml-1 flex items-center text-[0.84rem]' },
|
|
764
|
+
react_2["default"].createElement("div", { className: 'flex items-center gap-x-3' },
|
|
765
|
+
react_2["default"].createElement("p", { className: classNames('leading-5', (item === null || item === void 0 ? void 0 : item.current) ? '' : 'font-normal text-[#353A44]') }, item === null || item === void 0 ? void 0 : item.name)),
|
|
766
|
+
react_2["default"].createElement("p", { className: 'mt-1 text-slate-500' }, item === null || item === void 0 ? void 0 : item.description))) : (react_2["default"].createElement(Skeleton_1.PHXSkeleton, { className: 'mr-3 flex-1', type: 'single' })))) : (react_2["default"].createElement("div", { "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, "aria-hidden": true, className: classNames((item === null || item === void 0 ? void 0 : item.current)
|
|
767
|
+
? 'rounded-lg bg-white' // màu background menu cha khi active
|
|
768
|
+
: 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', // màu background khi hover vào menu cha
|
|
769
|
+
'mx-3 flex cursor-pointer border-slate-200 p-2'), onClick: function () { return subNavigationTriggerClicked(item); } }, !dataInitMain.loadingMenu ? (react_2["default"].createElement("div", { className: 'ml-1 flex items-center text-[0.84rem]' },
|
|
770
|
+
react_2["default"].createElement("div", { className: 'flex items-center gap-x-3' },
|
|
771
|
+
react_2["default"].createElement("p", { className: classNames('leading-5', (item === null || item === void 0 ? void 0 : item.current) ? '' : 'font-normal text-[#353A44]') }, item === null || item === void 0 ? void 0 : item.name)),
|
|
772
|
+
react_2["default"].createElement("p", { className: 'mt-1 text-slate-500' }, item === null || item === void 0 ? void 0 : item.description))) : (react_2["default"].createElement(Skeleton_1.PHXSkeleton, { className: 'mr-3 flex-1', type: 'single' })))),
|
|
773
|
+
item.showChild && item.child && (react_2["default"].createElement(react_2["default"].Fragment, null, item.child.map(function (children, childIndex) { return (react_2["default"].createElement("div", { key: childIndex, className: classNames('relative') },
|
|
774
|
+
react_2["default"].createElement("div", { style: (children === null || children === void 0 ? void 0 : children.current)
|
|
775
|
+
? sub_menu_style_1.styles.childMenuActiveBefore
|
|
776
|
+
: checkChildBefore(item.child, children)
|
|
777
|
+
? sub_menu_style_1.styles.childMenuBefBefore
|
|
778
|
+
: {} }),
|
|
779
|
+
react_2["default"].createElement("div", { "aria-hidden": true, className: classNames('mx-3 flex cursor-pointer border-slate-200 p-2 text-[0.84rem]', (children === null || children === void 0 ? void 0 : children.current)
|
|
780
|
+
? 'rounded-lg bg-white text-[#353A44]' // màu chữ menu con khi active
|
|
781
|
+
: 'hover:rounded-lg hover:bg-white hover:bg-opacity-50 hover:text-[#353A44]'), onClick: enablePer(children.code, dataInitMain.perCode)
|
|
782
|
+
? function () { return subNavigationTriggerClicked(children, item); }
|
|
783
|
+
: undefined },
|
|
784
|
+
react_2["default"].createElement("div", { className: 'flex items-center gap-x-3' },
|
|
785
|
+
react_2["default"].createElement("div", { className: 'w-3' }),
|
|
786
|
+
react_2["default"].createElement("p", { className: classNames('my-[0.05rem] ml-3 leading-5', !enablePer(children.code, dataInitMain.perCode)
|
|
787
|
+
? 'font-normal text-gray-300'
|
|
788
|
+
: (children === null || children === void 0 ? void 0 : children.current)
|
|
789
|
+
? ''
|
|
790
|
+
: 'font-normal text-[#353A44]') }, children.name))),
|
|
791
|
+
react_2["default"].createElement("div", { style: (children === null || children === void 0 ? void 0 : children.current)
|
|
792
|
+
? sub_menu_style_1.styles.childMenuActiveAfter
|
|
793
|
+
: checkChildBefore(item.child, children)
|
|
794
|
+
? sub_menu_style_1.styles.childMenuBefAfter
|
|
795
|
+
: {} }))); }))))) : (react_2["default"].createElement("div", { "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, className: classNames((item === null || item === void 0 ? void 0 : item.current)
|
|
796
|
+
? 'rounded-lg bg-white '
|
|
797
|
+
: 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', // hover:bg-white
|
|
798
|
+
'mx-3 flex cursor-pointer border-slate-200 p-2') }, !dataInitMain.loadingMenu ? (react_2["default"].createElement("div", { className: 'ml-1 flex items-center text-[0.84rem]' },
|
|
799
|
+
react_2["default"].createElement("div", { className: 'flex items-center gap-x-3 text-gray-700' },
|
|
800
|
+
react_2["default"].createElement("p", { className: classNames('font-normal leading-5 text-gray-300') }, item === null || item === void 0 ? void 0 : item.name)),
|
|
801
|
+
react_2["default"].createElement("p", { className: 'mt-1 text-slate-500' }, item === null || item === void 0 ? void 0 : item.description))) : (react_2["default"].createElement(Skeleton_1.PHXSkeleton, { className: 'mr-3 flex-1', type: 'single' })))))) : (react_2["default"].createElement(react_2["default"].Fragment, null,
|
|
802
|
+
(item === null || item === void 0 ? void 0 : item.isMicroservice) ? (react_2["default"].createElement("a", { "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, "aria-hidden": true, className: classNames((item === null || item === void 0 ? void 0 : item.current)
|
|
803
|
+
? 'rounded-lg bg-white' // màu background menu cha khi active
|
|
804
|
+
: 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', // màu background khi hover vào menu cha
|
|
805
|
+
'mx-3 flex cursor-pointer border-slate-200 p-2'), href: item.path }, !dataInitMain.loadingMenu ? (react_2["default"].createElement("div", { className: 'ml-1 flex items-center text-[0.84rem]' },
|
|
770
806
|
react_2["default"].createElement("div", { className: 'flex items-center gap-x-3' },
|
|
771
|
-
react_2["default"].createElement("
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
: 'font-normal text-[#353A44]') }, children.name))),
|
|
777
|
-
react_2["default"].createElement("div", { style: (children === null || children === void 0 ? void 0 : children.current)
|
|
778
|
-
? sub_menu_style_1.styles.childMenuActiveAfter
|
|
779
|
-
: checkChildBefore(item.child, children)
|
|
780
|
-
? sub_menu_style_1.styles.childMenuBefAfter
|
|
781
|
-
: {} }))); }))))) : (react_2["default"].createElement("div", { "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, className: classNames((item === null || item === void 0 ? void 0 : item.current)
|
|
782
|
-
? 'rounded-lg bg-white '
|
|
783
|
-
: 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', // hover:bg-white
|
|
784
|
-
'mx-3 flex cursor-pointer border-slate-200 p-2') }, !loadingMenu ? (react_2["default"].createElement("div", { className: 'ml-1 flex items-center text-[0.84rem]' },
|
|
785
|
-
react_2["default"].createElement("div", { className: 'flex items-center gap-x-3 text-gray-700' },
|
|
786
|
-
react_2["default"].createElement("p", { className: classNames('font-normal leading-5 text-gray-300') }, item === null || item === void 0 ? void 0 : item.name)),
|
|
787
|
-
react_2["default"].createElement("p", { className: 'mt-1 text-slate-500' }, item === null || item === void 0 ? void 0 : item.description))) : (react_2["default"].createElement(Skeleton_1.PHXSkeleton, { className: 'mr-3 flex-1', type: 'single' })))))) : (react_2["default"].createElement(react_2["default"].Fragment, null,
|
|
788
|
-
(item === null || item === void 0 ? void 0 : item.isMicroservice) ? (react_2["default"].createElement("a", { "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, "aria-hidden": true, className: classNames((item === null || item === void 0 ? void 0 : item.current)
|
|
789
|
-
? 'rounded-lg bg-white' // màu background menu cha khi active
|
|
790
|
-
: 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', // màu background khi hover vào menu cha
|
|
791
|
-
'mx-3 flex cursor-pointer border-slate-200 p-2'), href: item.path }, !loadingMenu ? (react_2["default"].createElement("div", { className: 'ml-1 flex items-center text-[0.84rem]' },
|
|
792
|
-
react_2["default"].createElement("div", { className: 'flex items-center gap-x-3' },
|
|
793
|
-
react_2["default"].createElement("p", { className: classNames('leading-5', (item === null || item === void 0 ? void 0 : item.current) ? '' : 'font-normal text-[#353A44]') }, item === null || item === void 0 ? void 0 : item.name)),
|
|
794
|
-
react_2["default"].createElement("p", { className: 'mt-1 text-slate-500' }, item === null || item === void 0 ? void 0 : item.description))) : (react_2["default"].createElement(Skeleton_1.PHXSkeleton, { className: 'mr-3 flex-1', type: 'single' })))) : (react_2["default"].createElement("div", { "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, "aria-hidden": true, className: classNames((item === null || item === void 0 ? void 0 : item.current)
|
|
795
|
-
? 'rounded-lg bg-white' // màu background menu cha khi active
|
|
796
|
-
: 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', // màu background khi hover vào menu cha
|
|
797
|
-
'mx-3 flex cursor-pointer border-slate-200 p-2'), onClick: function () { return subNavigationTriggerClicked(item); } }, !loadingMenu ? (react_2["default"].createElement("div", { className: 'ml-1 flex items-center text-[0.84rem]' },
|
|
798
|
-
react_2["default"].createElement("div", { className: 'flex items-center gap-x-3' },
|
|
799
|
-
react_2["default"].createElement("p", { className: classNames('leading-5', (item === null || item === void 0 ? void 0 : item.current) ? '' : 'font-normal text-[#353A44]') }, item === null || item === void 0 ? void 0 : item.name)),
|
|
800
|
-
react_2["default"].createElement("p", { className: 'mt-1 text-slate-500' }, item === null || item === void 0 ? void 0 : item.description))) : (react_2["default"].createElement(Skeleton_1.PHXSkeleton, { className: 'mr-3 flex-1', type: 'single' })))),
|
|
801
|
-
item.showChild && item.child && (react_2["default"].createElement(react_2["default"].Fragment, null, item.child.map(function (children, index) { return (react_2["default"].createElement("div", { key: index, className: classNames('relative', (children === null || children === void 0 ? void 0 : children.current) && 'child-menu-active', checkChildBefore(item.child, children) && 'child-menu-bef') },
|
|
802
|
-
react_2["default"].createElement("div", { "aria-hidden": true, className: classNames('mx-1 flex cursor-pointer border-slate-200 p-2 text-[0.84rem]', (children === null || children === void 0 ? void 0 : children.current)
|
|
803
|
-
? 'rounded-lg bg-white text-gray-900 '
|
|
804
|
-
: 'hover:rounded-lg hover:bg-white hover:bg-opacity-50 hover:text-gray-900'), onClick: function () { return subNavigationTriggerClicked(children, item); } },
|
|
807
|
+
react_2["default"].createElement("p", { className: classNames('leading-5', (item === null || item === void 0 ? void 0 : item.current) ? '' : 'font-normal text-[#353A44]') }, item === null || item === void 0 ? void 0 : item.name)),
|
|
808
|
+
react_2["default"].createElement("p", { className: 'mt-1 text-slate-500' }, item === null || item === void 0 ? void 0 : item.description))) : (react_2["default"].createElement(Skeleton_1.PHXSkeleton, { className: 'mr-3 flex-1', type: 'single' })))) : (react_2["default"].createElement("div", { "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, "aria-hidden": true, className: classNames((item === null || item === void 0 ? void 0 : item.current)
|
|
809
|
+
? 'rounded-lg bg-white' // màu background menu cha khi active
|
|
810
|
+
: 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', // màu background khi hover vào menu cha
|
|
811
|
+
'mx-3 flex cursor-pointer border-slate-200 p-2'), onClick: function () { return subNavigationTriggerClicked(item); } }, !dataInitMain.loadingMenu ? (react_2["default"].createElement("div", { className: 'ml-1 flex items-center text-[0.84rem]' },
|
|
805
812
|
react_2["default"].createElement("div", { className: 'flex items-center gap-x-3' },
|
|
806
|
-
react_2["default"].createElement("
|
|
807
|
-
|
|
813
|
+
react_2["default"].createElement("p", { className: classNames('leading-5', (item === null || item === void 0 ? void 0 : item.current) ? '' : 'font-normal text-[#353A44]') }, item === null || item === void 0 ? void 0 : item.name)),
|
|
814
|
+
react_2["default"].createElement("p", { className: 'mt-1 text-slate-500' }, item === null || item === void 0 ? void 0 : item.description))) : (react_2["default"].createElement(Skeleton_1.PHXSkeleton, { className: 'mr-3 flex-1', type: 'single' })))),
|
|
815
|
+
item.showChild && item.child && (react_2["default"].createElement(react_2["default"].Fragment, null, item.child.map(function (children, index) { return (react_2["default"].createElement("div", { key: index, className: classNames('relative', (children === null || children === void 0 ? void 0 : children.current) && 'child-menu-active', checkChildBefore(item.child, children) && 'child-menu-bef') },
|
|
816
|
+
react_2["default"].createElement("div", { "aria-hidden": true, className: classNames('mx-1 flex cursor-pointer border-slate-200 p-2 text-[0.84rem]', (children === null || children === void 0 ? void 0 : children.current)
|
|
817
|
+
? 'rounded-lg bg-white text-gray-900 '
|
|
818
|
+
: 'hover:rounded-lg hover:bg-white hover:bg-opacity-50 hover:text-gray-900'), onClick: function () { return subNavigationTriggerClicked(children, item); } },
|
|
819
|
+
react_2["default"].createElement("div", { className: 'flex items-center gap-x-3' },
|
|
820
|
+
react_2["default"].createElement("div", { className: 'w-3' }),
|
|
821
|
+
react_2["default"].createElement("p", { className: classNames('my-[0.05rem] ml-3 leading-5', (children === null || children === void 0 ? void 0 : children.current) ? 'font-semibold' : 'font-normal text-gray-600') }, children.name))))); })))))));
|
|
822
|
+
}))))))))),
|
|
808
823
|
react_2["default"].createElement("div", { className: 'flex min-w-0 flex-1 flex-col overflow-hidden' },
|
|
809
824
|
react_2["default"].createElement("main", { className: 'flex flex-1 overflow-hidden' },
|
|
810
825
|
react_2["default"].createElement("section", { "aria-labelledby": 'primary-heading', className: 'flex h-full min-w-0 flex-1 flex-col lg:order-last' },
|
|
811
826
|
react_2["default"].createElement("div", { className: 'sticky top-0 z-10 flex h-14 flex-shrink-0 border-b border-l bg-bgcl-50 px-4 sm:px-6 lg:px-4' }),
|
|
812
827
|
react_2["default"].createElement("div", { className: "".concat(openSubMenu ? 'lg:ml-[20.063rem]' : 'lg:ml-[5.063rem]', " bg-gray-100 px-6") },
|
|
813
|
-
react_2["default"].createElement("div", { className: 'py-4' }, isLoadingPermission ? ('') : enablePer(currentCode, perCode) ? (children) : (react_2["default"].createElement(Card_1.PHXCard, null,
|
|
828
|
+
react_2["default"].createElement("div", { className: 'py-4' }, dataInitMain.isLoadingPermission ? ('') : enablePer(currentCode, dataInitMain.perCode) ? (children) : (react_2["default"].createElement(Card_1.PHXCard, null,
|
|
814
829
|
react_2["default"].createElement("div", { className: 'mb-10 mt-10 sm:mb-20 sm:mt-20 lg:mb-32 lg:mt-32' },
|
|
815
830
|
react_2["default"].createElement("div", { className: 'flex items-center justify-center' },
|
|
816
831
|
react_2["default"].createElement(outline_1.LockClosedIcon, { className: 'text-gray-400', height: 70, width: 70 })),
|