sevago-sso-fe 1.0.45 → 1.0.47
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/common/constant/apps.data.d.ts +22 -0
- package/dist/common/utils/other/app.utils.d.ts +9 -0
- package/dist/common/utils/other/index.d.ts +1 -0
- package/dist/components/app-grid/app-grid.component.d.ts +1 -0
- package/dist/components/elements/icon/index.d.ts +0 -1
- package/dist/components/elements/radio/index.d.ts +0 -1
- package/dist/components/elements/tooltip/index.d.ts +0 -1
- package/dist/components/sidebar/system-monitor-sidebar.part.d.ts +2 -0
- package/dist/index.cjs.js +145 -7
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +145 -7
- package/dist/index.esm.js.map +1 -1
- package/dist/pages/dashboard/screen/system-monitor/system-monitor.screen.d.ts +2 -0
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -8127,6 +8127,26 @@ var AppGroup = /* @__PURE__ */ ((AppGroup2) => {
|
|
|
8127
8127
|
AppGroup2["CLIENT"] = "Web";
|
|
8128
8128
|
return AppGroup2;
|
|
8129
8129
|
})(AppGroup || {});
|
|
8130
|
+
var App = /* @__PURE__ */ ((App2) => {
|
|
8131
|
+
App2["E_HIRING"] = "Tuyển dụng";
|
|
8132
|
+
App2["HR"] = "Nhân sự";
|
|
8133
|
+
App2["PAYROLL"] = "Tính lương";
|
|
8134
|
+
App2["ORG"] = "Sơ đồ tổ chức";
|
|
8135
|
+
App2["CHECKIN"] = "Chấm công";
|
|
8136
|
+
App2["PROJECT"] = "Dự án";
|
|
8137
|
+
App2["REQUEST"] = "Đề xuất";
|
|
8138
|
+
App2["PROCESS"] = "Quy trình";
|
|
8139
|
+
App2["TRACKING"] = "Tiến trình";
|
|
8140
|
+
App2["CHAT"] = "Chat";
|
|
8141
|
+
App2["TRAINING"] = "Đào tạo";
|
|
8142
|
+
App2["FORM"] = "Biểu mẫu";
|
|
8143
|
+
App2["INSIDE"] = "Thông tin & CSNV";
|
|
8144
|
+
App2["BOOKING"] = "Tài nguyên";
|
|
8145
|
+
App2["FORMULA_PRICE"] = "Tính giá";
|
|
8146
|
+
App2["E_CATALOGUE"] = "E-Catalogue";
|
|
8147
|
+
App2["LANDING_PAGE"] = "Landing page";
|
|
8148
|
+
return App2;
|
|
8149
|
+
})(App || {});
|
|
8130
8150
|
const APP_GROUP_COLOR = {
|
|
8131
8151
|
[
|
|
8132
8152
|
"Workflow Engine"
|
|
@@ -8317,7 +8337,7 @@ const APP_OBJ = {
|
|
|
8317
8337
|
"Tiến trình"
|
|
8318
8338
|
/* TRACKING */
|
|
8319
8339
|
]: {
|
|
8320
|
-
path: "
|
|
8340
|
+
path: "process",
|
|
8321
8341
|
//
|
|
8322
8342
|
icon: sevagoIcon,
|
|
8323
8343
|
//
|
|
@@ -8334,7 +8354,7 @@ const APP_OBJ = {
|
|
|
8334
8354
|
"Quy trình"
|
|
8335
8355
|
/* PROCESS */
|
|
8336
8356
|
]: {
|
|
8337
|
-
path: "
|
|
8357
|
+
path: "workflow",
|
|
8338
8358
|
// Quy trình
|
|
8339
8359
|
icon: sevagoIcon,
|
|
8340
8360
|
content: "Sevago - Quy trình",
|
|
@@ -8388,6 +8408,76 @@ const APP_OBJ = {
|
|
|
8388
8408
|
]
|
|
8389
8409
|
}
|
|
8390
8410
|
};
|
|
8411
|
+
const generateOfficeAppUrl = (path, baseUrl) => ({
|
|
8412
|
+
development: `${baseUrl.development}/${path}`,
|
|
8413
|
+
staging: `${baseUrl.staging}/${path}`,
|
|
8414
|
+
production: `${baseUrl.production}/${path}`
|
|
8415
|
+
});
|
|
8416
|
+
const OFFICE_BASE_URL = {
|
|
8417
|
+
development: "https://dev.admin.office.sevago.local",
|
|
8418
|
+
staging: "https://sta.admin.office.sevago.local",
|
|
8419
|
+
production: "https://admin.office.sevago.local"
|
|
8420
|
+
};
|
|
8421
|
+
const getAppEnvKey$1 = (appKey) => {
|
|
8422
|
+
const enumKey = Object.keys(App).find(
|
|
8423
|
+
(key) => App[key] === appKey
|
|
8424
|
+
);
|
|
8425
|
+
return enumKey || null;
|
|
8426
|
+
};
|
|
8427
|
+
const generateOfficeAppsEnv = () => {
|
|
8428
|
+
const officeApps = {};
|
|
8429
|
+
const officeAppKeys = [
|
|
8430
|
+
"Tuyển dụng",
|
|
8431
|
+
"Nhân sự",
|
|
8432
|
+
"Tính lương",
|
|
8433
|
+
"Sơ đồ tổ chức",
|
|
8434
|
+
"Chấm công",
|
|
8435
|
+
"Chat",
|
|
8436
|
+
"Đào tạo",
|
|
8437
|
+
"Biểu mẫu",
|
|
8438
|
+
"Thông tin & CSNV",
|
|
8439
|
+
"Tài nguyên",
|
|
8440
|
+
"Tiến trình",
|
|
8441
|
+
"Đề xuất",
|
|
8442
|
+
"Dự án",
|
|
8443
|
+
"Quy trình"
|
|
8444
|
+
/* PROCESS */
|
|
8445
|
+
];
|
|
8446
|
+
officeAppKeys.forEach((appKey) => {
|
|
8447
|
+
const appInfo = APP_OBJ[appKey];
|
|
8448
|
+
const envKey = getAppEnvKey$1(appKey);
|
|
8449
|
+
if (appInfo && envKey) {
|
|
8450
|
+
officeApps[envKey] = generateOfficeAppUrl(appInfo.path, OFFICE_BASE_URL);
|
|
8451
|
+
}
|
|
8452
|
+
});
|
|
8453
|
+
return officeApps;
|
|
8454
|
+
};
|
|
8455
|
+
const APPS_ENV = {
|
|
8456
|
+
// url khi ấn đẩy về home sso
|
|
8457
|
+
SSO: {
|
|
8458
|
+
development: "https://dev.account.sevago.local",
|
|
8459
|
+
staging: "https://sta.account.sevago.local",
|
|
8460
|
+
production: "https://account.sevago.com.vn"
|
|
8461
|
+
},
|
|
8462
|
+
// Các url dành cho office - tự động generate từ APP_OBJ
|
|
8463
|
+
...generateOfficeAppsEnv(),
|
|
8464
|
+
// Các url ở các app khác
|
|
8465
|
+
FORMULA_PRICE: {
|
|
8466
|
+
development: "https://dev.formula-price.sevago.local",
|
|
8467
|
+
staging: "https://sta.formula-price.sevago.local",
|
|
8468
|
+
production: "https://formula-price.sevago.local"
|
|
8469
|
+
},
|
|
8470
|
+
E_CATALOGUE: {
|
|
8471
|
+
development: "https://dev.admin.e-catalogue.sevago.local",
|
|
8472
|
+
staging: "https://sta.admin.e-catalogue.sevago.local",
|
|
8473
|
+
production: "https://admin.e-catalogue.sevago.local"
|
|
8474
|
+
},
|
|
8475
|
+
LANDING_PAGE: {
|
|
8476
|
+
development: "https://dev.admin.landing-page.sevago.local",
|
|
8477
|
+
staging: "https://sta.admin.landing-page.sevago.local",
|
|
8478
|
+
production: "https://admin.landing-page.sevago.com.vn"
|
|
8479
|
+
}
|
|
8480
|
+
};
|
|
8391
8481
|
const findCurrentAccessByPath = (pathname) => {
|
|
8392
8482
|
for (const module of Object.values(APP_OBJ)) {
|
|
8393
8483
|
if (module.path && pathname.includes(module.path)) {
|
|
@@ -9082,6 +9172,36 @@ const truncateText = (text, maxLength = 27) => {
|
|
|
9082
9172
|
}
|
|
9083
9173
|
return `${text.substring(0, maxLength)}...`;
|
|
9084
9174
|
};
|
|
9175
|
+
var Environment = /* @__PURE__ */ ((Environment2) => {
|
|
9176
|
+
Environment2["DEVELOPMENT"] = "development";
|
|
9177
|
+
Environment2["STAGING"] = "staging";
|
|
9178
|
+
Environment2["PRODUCTION"] = "production";
|
|
9179
|
+
return Environment2;
|
|
9180
|
+
})(Environment || {});
|
|
9181
|
+
const getAppEnvKey = (appKey) => {
|
|
9182
|
+
const enumKey = Object.keys(App).find(
|
|
9183
|
+
(key) => App[key] === appKey
|
|
9184
|
+
);
|
|
9185
|
+
return enumKey || null;
|
|
9186
|
+
};
|
|
9187
|
+
const getCurrentEnvironment = () => {
|
|
9188
|
+
const { hostname } = window.location;
|
|
9189
|
+
if (hostname.includes("dev.")) return "development";
|
|
9190
|
+
if (hostname.includes("sta.")) return "staging";
|
|
9191
|
+
return "production";
|
|
9192
|
+
};
|
|
9193
|
+
const getAppUrl = (app, env) => {
|
|
9194
|
+
const environment = env || getCurrentEnvironment();
|
|
9195
|
+
const appKey = Object.keys(APP_OBJ).find(
|
|
9196
|
+
(key) => APP_OBJ[key].path === app.path
|
|
9197
|
+
);
|
|
9198
|
+
if (!appKey) return null;
|
|
9199
|
+
const envKey = getAppEnvKey(appKey);
|
|
9200
|
+
if (!envKey || !(envKey in APPS_ENV)) return null;
|
|
9201
|
+
const envConfig = APPS_ENV[envKey];
|
|
9202
|
+
return envConfig[environment] || null;
|
|
9203
|
+
};
|
|
9204
|
+
const getSsoUrl = (env) => APPS_ENV.SSO[env || getCurrentEnvironment()];
|
|
9085
9205
|
const timeUtils = timeUtilsMethods;
|
|
9086
9206
|
const useApps = (tab = AppGroup.ALL) => {
|
|
9087
9207
|
const listApp = useMemo(() => {
|
|
@@ -24188,7 +24308,8 @@ const AppGrid = ({
|
|
|
24188
24308
|
titleVariant = "subtitle1",
|
|
24189
24309
|
titleColor,
|
|
24190
24310
|
selectedAppId,
|
|
24191
|
-
showPagination = true
|
|
24311
|
+
showPagination = true,
|
|
24312
|
+
getAppUrl: getAppUrl2
|
|
24192
24313
|
}) => {
|
|
24193
24314
|
const theme = useTheme();
|
|
24194
24315
|
const pageSize = Math.max(1, columns * Math.max(1, rows));
|
|
@@ -24201,7 +24322,7 @@ const AppGrid = ({
|
|
|
24201
24322
|
const start = page * pageSize;
|
|
24202
24323
|
const end = start + pageSize;
|
|
24203
24324
|
const visibleApps = totalPages > 1 ? apps.slice(start, end) : apps;
|
|
24204
|
-
const findLink = (app) => app.path;
|
|
24325
|
+
const findLink = (app) => getAppUrl2 ? getAppUrl2(app) : app.path;
|
|
24205
24326
|
return /* @__PURE__ */ jsxs(Box, { sx: { position: "relative" }, children: [
|
|
24206
24327
|
/* @__PURE__ */ jsx(
|
|
24207
24328
|
Box,
|
|
@@ -24569,6 +24690,9 @@ const AppsSidebar = ({
|
|
|
24569
24690
|
captionColor: theme.palette.grey[600],
|
|
24570
24691
|
selectedAppId: currentApp?.path,
|
|
24571
24692
|
onClickItem: async (app) => {
|
|
24693
|
+
if (app.path === currentApp?.path) {
|
|
24694
|
+
return;
|
|
24695
|
+
}
|
|
24572
24696
|
await dispatch(
|
|
24573
24697
|
ACTION_ACCOUNT.resetCurrentAccessToBase(app.path)
|
|
24574
24698
|
).unwrap();
|
|
@@ -24799,14 +24923,22 @@ const TypographyContentCaption = ({
|
|
|
24799
24923
|
)
|
|
24800
24924
|
] });
|
|
24801
24925
|
};
|
|
24802
|
-
const SystemMonitorSidebarPart = ({ position, blacklist }) => {
|
|
24926
|
+
const SystemMonitorSidebarPart = ({ position, blacklist, env }) => {
|
|
24803
24927
|
const { isSidebarOpen, openSidebar, closeSidebar } = useSidebarState();
|
|
24928
|
+
const handleIconClick = () => {
|
|
24929
|
+
const ssoUrl = getSsoUrl(env);
|
|
24930
|
+
if (ssoUrl) {
|
|
24931
|
+
window.location.href = ssoUrl;
|
|
24932
|
+
} else {
|
|
24933
|
+
openSidebar();
|
|
24934
|
+
}
|
|
24935
|
+
};
|
|
24804
24936
|
return /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
24805
24937
|
/* @__PURE__ */ jsx(
|
|
24806
24938
|
ImageElement,
|
|
24807
24939
|
{
|
|
24808
24940
|
url: IconAppsSidebar,
|
|
24809
|
-
onClick:
|
|
24941
|
+
onClick: handleIconClick,
|
|
24810
24942
|
sizeType: ImageSizeType.SQUARE,
|
|
24811
24943
|
sx: { width: MAP_SIZE.medium.width, height: MAP_SIZE.medium.height }
|
|
24812
24944
|
}
|
|
@@ -24833,7 +24965,8 @@ const TypographyFilter = styled$2(Typography)(({ theme }) => ({
|
|
|
24833
24965
|
padding: `0px ${PADDING_GAP_LAYOUT}`
|
|
24834
24966
|
}));
|
|
24835
24967
|
const SystemMonitorScreen = ({
|
|
24836
|
-
blacklist
|
|
24968
|
+
blacklist,
|
|
24969
|
+
env
|
|
24837
24970
|
}) => {
|
|
24838
24971
|
const theme = useTheme();
|
|
24839
24972
|
const dispatch = useAppDispatch();
|
|
@@ -24930,6 +25063,7 @@ const SystemMonitorScreen = ({
|
|
|
24930
25063
|
iconRadius: 7,
|
|
24931
25064
|
gap: PADDING_GAP_TAB,
|
|
24932
25065
|
selectedAppId: currentApp?.path,
|
|
25066
|
+
getAppUrl: (app) => getAppUrl(app, env) || app.path,
|
|
24933
25067
|
onClickItem: async (app) => {
|
|
24934
25068
|
await dispatch(
|
|
24935
25069
|
ACTION_ACCOUNT.updateCurrentAccess(app.path)
|
|
@@ -25007,6 +25141,7 @@ export {
|
|
|
25007
25141
|
DashboardPage,
|
|
25008
25142
|
DefaultLayout,
|
|
25009
25143
|
EmptyComponent,
|
|
25144
|
+
Environment,
|
|
25010
25145
|
ErrorPage,
|
|
25011
25146
|
ForgotPasswordType,
|
|
25012
25147
|
Gender,
|
|
@@ -25104,6 +25239,8 @@ export {
|
|
|
25104
25239
|
extractNumberAtStartString,
|
|
25105
25240
|
findCurrentAccessByPath,
|
|
25106
25241
|
forgotPassword,
|
|
25242
|
+
getAppUrl,
|
|
25243
|
+
getCurrentEnvironment,
|
|
25107
25244
|
getDate,
|
|
25108
25245
|
getDateTime,
|
|
25109
25246
|
getDayOffsetPx,
|
|
@@ -25114,6 +25251,7 @@ export {
|
|
|
25114
25251
|
getListUser,
|
|
25115
25252
|
getListUserRelations,
|
|
25116
25253
|
getMonthRangeForYear,
|
|
25254
|
+
getSsoUrl,
|
|
25117
25255
|
getTimeAgo,
|
|
25118
25256
|
getTimeDate,
|
|
25119
25257
|
getUser,
|