mario-core 2.9.422-feedback → 2.9.424-feedback
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/index.d.ts +2 -1
- package/dist/index.js +539 -512
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +518 -492
- package/dist/index.modern.js.map +1 -1
- package/package.json +105 -105
- package/dist/containers/Login/views/block/BlockAssignTeacherByCode.d.ts +0 -8
package/dist/index.js
CHANGED
|
@@ -41369,14 +41369,7 @@ var BlockCreatePassword = function BlockCreatePassword() {
|
|
|
41369
41369
|
className: "" + styles["img-login-rectangle"]
|
|
41370
41370
|
}), React__default.createElement("p", {
|
|
41371
41371
|
className: "" + styles["title-login"]
|
|
41372
|
-
}, "You cannot regenerate the password"))))
|
|
41373
|
-
lg: 4,
|
|
41374
|
-
md: 4,
|
|
41375
|
-
className: "" + styles["img-box"]
|
|
41376
|
-
}, React__default.createElement("img", {
|
|
41377
|
-
src: "/images/img-login.png",
|
|
41378
|
-
className: "" + styles["img-login"]
|
|
41379
|
-
})));
|
|
41372
|
+
}, "You cannot regenerate the password")))));
|
|
41380
41373
|
});
|
|
41381
41374
|
};
|
|
41382
41375
|
|
|
@@ -41941,6 +41934,212 @@ var TheHeaderDropdown = function TheHeaderDropdown(_ref) {
|
|
|
41941
41934
|
})), t("log_out")))));
|
|
41942
41935
|
};
|
|
41943
41936
|
|
|
41937
|
+
var apiGetLanguage = function apiGetLanguage() {
|
|
41938
|
+
return api.get(BASE_URL + "/api/language");
|
|
41939
|
+
};
|
|
41940
|
+
|
|
41941
|
+
var apiUpdateLanguage = function apiUpdateLanguage(lang) {
|
|
41942
|
+
return api.put(BASE_URL + "/api/language?lang=" + lang);
|
|
41943
|
+
};
|
|
41944
|
+
|
|
41945
|
+
var LANGUAGE_SYSTEM = "LANGUAGE_SYSTEM";
|
|
41946
|
+
|
|
41947
|
+
var useLanguages = function useLanguages() {
|
|
41948
|
+
var dispatch = reactRedux.useDispatch();
|
|
41949
|
+
|
|
41950
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
41951
|
+
i18n = _useTranslation.i18n;
|
|
41952
|
+
|
|
41953
|
+
var language = reactRedux.useSelector(function (state) {
|
|
41954
|
+
return state.common.language;
|
|
41955
|
+
});
|
|
41956
|
+
var defaultLanguage = getCookieValue(LANGUAGE_SYSTEM) != null ? getCookieValue(LANGUAGE_SYSTEM) : DEFAULT_LANGUAGE_CODE;
|
|
41957
|
+
|
|
41958
|
+
var _useState = React.useState([]),
|
|
41959
|
+
languageList = _useState[0],
|
|
41960
|
+
setLanguageList = _useState[1];
|
|
41961
|
+
|
|
41962
|
+
var _useState2 = React.useState(false),
|
|
41963
|
+
dropdownOpen = _useState2[0],
|
|
41964
|
+
setDropdownOpen = _useState2[1];
|
|
41965
|
+
|
|
41966
|
+
var _useState3 = React.useState(defaultLanguage),
|
|
41967
|
+
currentLang = _useState3[0],
|
|
41968
|
+
setCurrentLang = _useState3[1];
|
|
41969
|
+
|
|
41970
|
+
var toggle = function toggle() {
|
|
41971
|
+
return setDropdownOpen(function (prevState) {
|
|
41972
|
+
return !prevState;
|
|
41973
|
+
});
|
|
41974
|
+
};
|
|
41975
|
+
|
|
41976
|
+
var changeLanguageApp = function changeLanguageApp(lang) {
|
|
41977
|
+
try {
|
|
41978
|
+
var _temp3 = function _temp3() {
|
|
41979
|
+
dispatch(setLoading(false));
|
|
41980
|
+
};
|
|
41981
|
+
|
|
41982
|
+
dispatch(setLoading(true));
|
|
41983
|
+
|
|
41984
|
+
var _temp4 = _catch(function () {
|
|
41985
|
+
return Promise.resolve(apiUpdateLanguage(lang)).then(function () {
|
|
41986
|
+
i18n.changeLanguage(lang);
|
|
41987
|
+
setCurrentLang(lang);
|
|
41988
|
+
dispatch(setLanguage(lang));
|
|
41989
|
+
});
|
|
41990
|
+
}, function (err) {
|
|
41991
|
+
var _err$response, _err$response$data;
|
|
41992
|
+
|
|
41993
|
+
dispatch(setAlert({
|
|
41994
|
+
type: "danger",
|
|
41995
|
+
message: ((_err$response = err.response) === null || _err$response === void 0 ? void 0 : (_err$response$data = _err$response.data) === null || _err$response$data === void 0 ? void 0 : _err$response$data.title) || err.message
|
|
41996
|
+
}));
|
|
41997
|
+
});
|
|
41998
|
+
|
|
41999
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
|
|
42000
|
+
} catch (e) {
|
|
42001
|
+
return Promise.reject(e);
|
|
42002
|
+
}
|
|
42003
|
+
};
|
|
42004
|
+
|
|
42005
|
+
var getListLanguage = function getListLanguage() {
|
|
42006
|
+
try {
|
|
42007
|
+
var _temp6 = _catch(function () {
|
|
42008
|
+
return Promise.resolve(apiGetLanguage()).then(function (res) {
|
|
42009
|
+
setLanguageList(res.data);
|
|
42010
|
+
});
|
|
42011
|
+
}, function (err) {
|
|
42012
|
+
var _err$response2, _err$response2$data;
|
|
42013
|
+
|
|
42014
|
+
dispatch(setAlert({
|
|
42015
|
+
type: "danger",
|
|
42016
|
+
message: ((_err$response2 = err.response) === null || _err$response2 === void 0 ? void 0 : (_err$response2$data = _err$response2.data) === null || _err$response2$data === void 0 ? void 0 : _err$response2$data.title) || err.message
|
|
42017
|
+
}));
|
|
42018
|
+
});
|
|
42019
|
+
|
|
42020
|
+
return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
|
|
42021
|
+
} catch (e) {
|
|
42022
|
+
return Promise.reject(e);
|
|
42023
|
+
}
|
|
42024
|
+
};
|
|
42025
|
+
|
|
42026
|
+
React.useEffect(function () {
|
|
42027
|
+
defaultLanguage != language && changeLanguageApp(defaultLanguage);
|
|
42028
|
+
getListLanguage();
|
|
42029
|
+
}, []);
|
|
42030
|
+
return {
|
|
42031
|
+
languageList: languageList,
|
|
42032
|
+
toggle: toggle,
|
|
42033
|
+
dropdownOpen: dropdownOpen,
|
|
42034
|
+
currentLang: currentLang,
|
|
42035
|
+
changeLanguageApp: changeLanguageApp,
|
|
42036
|
+
setCurrentLang: setCurrentLang
|
|
42037
|
+
};
|
|
42038
|
+
};
|
|
42039
|
+
|
|
42040
|
+
var TheLanguageDropdown = function TheLanguageDropdown() {
|
|
42041
|
+
var _useLanguages = useLanguages(),
|
|
42042
|
+
languageList = _useLanguages.languageList,
|
|
42043
|
+
toggle = _useLanguages.toggle,
|
|
42044
|
+
dropdownOpen = _useLanguages.dropdownOpen,
|
|
42045
|
+
currentLang = _useLanguages.currentLang,
|
|
42046
|
+
changeLanguageApp = _useLanguages.changeLanguageApp;
|
|
42047
|
+
|
|
42048
|
+
var currentLanguage = React.useMemo(function () {
|
|
42049
|
+
var current = languageList.find(function (i) {
|
|
42050
|
+
return i.code === currentLang;
|
|
42051
|
+
});
|
|
42052
|
+
if (!current) return null;
|
|
42053
|
+
return React__default.createElement(React__default.Fragment, null, React__default.createElement("img", {
|
|
42054
|
+
className: "mr-2 " + styles['dropdown-menu-flag'],
|
|
42055
|
+
src: "" + getStaticFileUrl(current.image)
|
|
42056
|
+
}), " ", current.name);
|
|
42057
|
+
}, [currentLang, languageList]);
|
|
42058
|
+
return React__default.createElement(reactstrap.Dropdown, {
|
|
42059
|
+
isOpen: dropdownOpen,
|
|
42060
|
+
toggle: toggle,
|
|
42061
|
+
className: "" + styles["dropdown-menu"]
|
|
42062
|
+
}, React__default.createElement(reactstrap.DropdownToggle, {
|
|
42063
|
+
className: styles["header-avatar"] + " d-flex align-items-center"
|
|
42064
|
+
}, React__default.createElement("span", {
|
|
42065
|
+
style: {
|
|
42066
|
+
color: "#000",
|
|
42067
|
+
textTransform: "capitalize",
|
|
42068
|
+
display: 'flex',
|
|
42069
|
+
alignItems: 'center'
|
|
42070
|
+
}
|
|
42071
|
+
}, currentLanguage, React__default.createElement(bs.BsChevronDown, {
|
|
42072
|
+
className: "ml-2",
|
|
42073
|
+
style: {
|
|
42074
|
+
fontSize: '10px'
|
|
42075
|
+
}
|
|
42076
|
+
}))), React__default.createElement(reactstrap.DropdownMenu, {
|
|
42077
|
+
className: styles["dropdown-content-language"]
|
|
42078
|
+
}, !!languageList && languageList.length > 0 && languageList.map(function (lang, index) {
|
|
42079
|
+
return React__default.createElement(reactstrap.DropdownItem, {
|
|
42080
|
+
key: lang.code,
|
|
42081
|
+
className: styles["dropdown-change"] + " px-0 py-0 " + (index === languageList.length - 1 ? "pb-2" : "pt-2"),
|
|
42082
|
+
onClick: function onClick() {
|
|
42083
|
+
return changeLanguageApp(lang.code);
|
|
42084
|
+
}
|
|
42085
|
+
}, React__default.createElement("div", {
|
|
42086
|
+
className: styles["dropdown-item-language"] + " " + styles["item-logout"] + " " + (currentLang == lang.code ? styles['dropdown-item-language-active'] : "") + " d-flex align-items-center w-100"
|
|
42087
|
+
}, React__default.createElement("span", {
|
|
42088
|
+
className: "mr-2 d-flex hover-opacity"
|
|
42089
|
+
}, React__default.createElement("img", {
|
|
42090
|
+
style: {
|
|
42091
|
+
width: "30px",
|
|
42092
|
+
height: "25px",
|
|
42093
|
+
borderRadius: "5px"
|
|
42094
|
+
},
|
|
42095
|
+
src: getStaticFileUrl(lang.image)
|
|
42096
|
+
})), lang.name));
|
|
42097
|
+
})));
|
|
42098
|
+
};
|
|
42099
|
+
|
|
42100
|
+
var TheHeader = function TheHeader(_ref) {
|
|
42101
|
+
var onToggleModel = _ref.onToggleModel;
|
|
42102
|
+
var dispatch = reactRedux.useDispatch();
|
|
42103
|
+
var sidebarShow = reactRedux.useSelector(function (state) {
|
|
42104
|
+
return state.common.sidebarShow;
|
|
42105
|
+
});
|
|
42106
|
+
|
|
42107
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
42108
|
+
t = _useTranslation.t;
|
|
42109
|
+
|
|
42110
|
+
var toggleSidebarMobile = function toggleSidebarMobile() {
|
|
42111
|
+
var val = [false, "responsive"].includes(sidebarShow) ? true : "responsive";
|
|
42112
|
+
dispatch(setSidebar(val));
|
|
42113
|
+
};
|
|
42114
|
+
|
|
42115
|
+
var isDistrict = window.location.host.includes("-district");
|
|
42116
|
+
return React__default.createElement(react.CHeader, {
|
|
42117
|
+
withSubheader: true,
|
|
42118
|
+
className: "d-flex align-items-center justify-content-end"
|
|
42119
|
+
}, React__default.createElement(react.CToggler, {
|
|
42120
|
+
inHeader: true,
|
|
42121
|
+
className: "ml-md-3 d-lg-none",
|
|
42122
|
+
onClick: toggleSidebarMobile
|
|
42123
|
+
}), React__default.createElement(react.CHeaderBrand, {
|
|
42124
|
+
className: "mx-auto flex-grow-1 d-lg-none",
|
|
42125
|
+
to: "/"
|
|
42126
|
+
}, React__default.createElement("img", {
|
|
42127
|
+
src: getStaticFileUrl(Images.LOGO_HEADER),
|
|
42128
|
+
className: styles["header-logo"]
|
|
42129
|
+
})), React__default.createElement(react.CHeaderNav, {
|
|
42130
|
+
className: "pr-3"
|
|
42131
|
+
}, React__default.createElement(TheLanguageDropdown, null), React__default.createElement("a", {
|
|
42132
|
+
className: "mr-3",
|
|
42133
|
+
style: {
|
|
42134
|
+
color: '#000'
|
|
42135
|
+
},
|
|
42136
|
+
href: '/privacy-policy',
|
|
42137
|
+
target: "blank"
|
|
42138
|
+
}, t("privacy_policy")), !isDistrict && React__default.createElement(NotificationButton, null), React__default.createElement(TheHeaderDropdown, {
|
|
42139
|
+
onToggleModel: onToggleModel
|
|
42140
|
+
})));
|
|
42141
|
+
};
|
|
42142
|
+
|
|
41944
42143
|
var TITLE$3 = "Not found";
|
|
41945
42144
|
|
|
41946
42145
|
var NotFound = function NotFound() {
|
|
@@ -41998,34 +42197,286 @@ var TheContent = function TheContent(_ref) {
|
|
|
41998
42197
|
|
|
41999
42198
|
var TheContent$1 = React__default.memo(TheContent);
|
|
42000
42199
|
|
|
42001
|
-
var
|
|
42002
|
-
|
|
42003
|
-
|
|
42004
|
-
|
|
42005
|
-
|
|
42200
|
+
var loadingStyle = {
|
|
42201
|
+
minWidth: "100vw",
|
|
42202
|
+
minHeight: "100vh",
|
|
42203
|
+
position: "fixed",
|
|
42204
|
+
top: 0,
|
|
42205
|
+
left: 0,
|
|
42206
|
+
zIndex: 999999999,
|
|
42207
|
+
backgroundColor: "rgba(0, 0, 0, 0.4)",
|
|
42208
|
+
display: "flex",
|
|
42209
|
+
justifyContent: "center",
|
|
42210
|
+
alignItems: "center"
|
|
42006
42211
|
};
|
|
42007
42212
|
|
|
42008
|
-
var
|
|
42009
|
-
var
|
|
42010
|
-
|
|
42011
|
-
|
|
42012
|
-
|
|
42013
|
-
|
|
42014
|
-
style:
|
|
42015
|
-
|
|
42016
|
-
|
|
42017
|
-
|
|
42018
|
-
|
|
42019
|
-
|
|
42213
|
+
var Loading = function Loading() {
|
|
42214
|
+
var isLoading = reactRedux.useSelector(function (state) {
|
|
42215
|
+
return state.common.isLoading;
|
|
42216
|
+
});
|
|
42217
|
+
localStorage.setItem("LAST_TIME_REQUETST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
|
|
42218
|
+
return isLoading ? React__default.createElement("div", {
|
|
42219
|
+
style: loadingStyle
|
|
42220
|
+
}, React__default.createElement("div", {
|
|
42221
|
+
className: "spinner-border text-secondary",
|
|
42222
|
+
role: "status"
|
|
42223
|
+
}, React__default.createElement("span", {
|
|
42224
|
+
className: "sr-only"
|
|
42225
|
+
}, "Loading..."))) : null;
|
|
42020
42226
|
};
|
|
42021
42227
|
|
|
42022
|
-
var
|
|
42023
|
-
|
|
42024
|
-
|
|
42025
|
-
|
|
42026
|
-
|
|
42027
|
-
|
|
42028
|
-
|
|
42228
|
+
var firstCheckToken = function firstCheckToken() {
|
|
42229
|
+
return Promise.resolve(_catch(function () {
|
|
42230
|
+
var token = getAccessToken();
|
|
42231
|
+
return token ? Promise.resolve(checkToken(token)).then(function (tokenStatus) {
|
|
42232
|
+
return tokenStatus.data ? true : false;
|
|
42233
|
+
}) : false;
|
|
42234
|
+
}, function () {
|
|
42235
|
+
return false;
|
|
42236
|
+
}));
|
|
42237
|
+
};
|
|
42238
|
+
|
|
42239
|
+
var canAccess = function canAccess(userRoles, componentRoles) {
|
|
42240
|
+
if (!Array.isArray(userRoles)) {
|
|
42241
|
+
return false;
|
|
42242
|
+
}
|
|
42243
|
+
|
|
42244
|
+
if (Array.isArray(componentRoles)) {
|
|
42245
|
+
var intersects = userRoles.filter(function (i) {
|
|
42246
|
+
return componentRoles.includes(i);
|
|
42247
|
+
});
|
|
42248
|
+
return intersects.length > 0;
|
|
42249
|
+
}
|
|
42250
|
+
|
|
42251
|
+
return true;
|
|
42252
|
+
};
|
|
42253
|
+
|
|
42254
|
+
var ModelSelectRole = function ModelSelectRole(_ref) {
|
|
42255
|
+
var _handleUserRole;
|
|
42256
|
+
|
|
42257
|
+
var open = _ref.open,
|
|
42258
|
+
onToggleModel = _ref.onToggleModel;
|
|
42259
|
+
var dispatch = reactRedux.useDispatch();
|
|
42260
|
+
|
|
42261
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
42262
|
+
t = _useTranslation.t;
|
|
42263
|
+
|
|
42264
|
+
var history = reactRouterDom.useHistory();
|
|
42265
|
+
var pathname = window.location.pathname;
|
|
42266
|
+
var user = reactRedux.useSelector(function (state) {
|
|
42267
|
+
return state.common.user;
|
|
42268
|
+
});
|
|
42269
|
+
var roles = user === null || user === void 0 ? void 0 : user.roles;
|
|
42270
|
+
|
|
42271
|
+
var handleSelectUserRoles = function handleSelectUserRoles(roles) {
|
|
42272
|
+
dispatch(setLoading(true));
|
|
42273
|
+
var roleSelect = roles.includes("Teacher/Assistant") ? ["Teacher", "Assistant"] : roles;
|
|
42274
|
+
dispatch(setUser(_extends({}, user, {
|
|
42275
|
+
roles: roleSelect
|
|
42276
|
+
})));
|
|
42277
|
+
localStorage.setItem("ROLES", roleSelect.toString());
|
|
42278
|
+
onToggleModel();
|
|
42279
|
+
|
|
42280
|
+
if (roles.includes("Parent")) {
|
|
42281
|
+
history.push("/parent");
|
|
42282
|
+
} else if (roles.includes("Admin")) {
|
|
42283
|
+
history.push("/admin/home");
|
|
42284
|
+
} else {
|
|
42285
|
+
pathname !== "/home" ? history.push("/home") : window.location.reload();
|
|
42286
|
+
}
|
|
42287
|
+
};
|
|
42288
|
+
|
|
42289
|
+
return React__default.createElement(reactstrap.Modal, {
|
|
42290
|
+
isOpen: open,
|
|
42291
|
+
toggle: function toggle() {
|
|
42292
|
+
return onToggleModel();
|
|
42293
|
+
},
|
|
42294
|
+
className: "" + styles["model-switch-roles"],
|
|
42295
|
+
centered: true
|
|
42296
|
+
}, React__default.createElement("p", {
|
|
42297
|
+
className: "" + styles["title"]
|
|
42298
|
+
}, t("continue_as")), React__default.createElement("div", null, (_handleUserRole = handleUserRole(user === null || user === void 0 ? void 0 : user.roles)) === null || _handleUserRole === void 0 ? void 0 : _handleUserRole.map(function (r) {
|
|
42299
|
+
return React__default.createElement("p", {
|
|
42300
|
+
key: r,
|
|
42301
|
+
className: styles["item-select-role"] + " " + styles[roles.includes("Teacher") && roles.includes("Assistant") && r === "Teacher/Assistant" && !roles.includes("Admin") || roles.includes("Admin") && r === "Admin" || roles.includes(r) && !roles.includes("Admin") ? "item-role-active" : ""],
|
|
42302
|
+
onClick: function onClick() {
|
|
42303
|
+
return handleSelectUserRoles([r]);
|
|
42304
|
+
}
|
|
42305
|
+
}, r == "SecondaryTeacher" ? "Support Teacher" : r);
|
|
42306
|
+
})));
|
|
42307
|
+
};
|
|
42308
|
+
|
|
42309
|
+
var TheLayout = function TheLayout(_ref) {
|
|
42310
|
+
var routes = _ref.routes,
|
|
42311
|
+
navigation = _ref.navigation;
|
|
42312
|
+
var history = reactRouterDom.useHistory();
|
|
42313
|
+
var dispatch = reactRedux.useDispatch();
|
|
42314
|
+
var user = reactRedux.useSelector(function (state) {
|
|
42315
|
+
return state.common.user;
|
|
42316
|
+
});
|
|
42317
|
+
var language = reactRedux.useSelector(function (state) {
|
|
42318
|
+
return state.common.language;
|
|
42319
|
+
});
|
|
42320
|
+
|
|
42321
|
+
var _useState = React.useState(false),
|
|
42322
|
+
openModelSelectRole = _useState[0],
|
|
42323
|
+
setOpenModelSelectRole = _useState[1];
|
|
42324
|
+
|
|
42325
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
42326
|
+
t = _useTranslation.t;
|
|
42327
|
+
|
|
42328
|
+
var location = reactRouterDom.useLocation();
|
|
42329
|
+
var isNotification = location.pathname.includes("notifications");
|
|
42330
|
+
var isDistrict = window.location.host.includes("-district");
|
|
42331
|
+
|
|
42332
|
+
var handleToggleModel = function handleToggleModel() {
|
|
42333
|
+
setOpenModelSelectRole(!openModelSelectRole);
|
|
42334
|
+
};
|
|
42335
|
+
|
|
42336
|
+
var authRoutes = React.useMemo(function () {
|
|
42337
|
+
return routes.filter(function (route) {
|
|
42338
|
+
return canAccess(user === null || user === void 0 ? void 0 : user.roles, route.roles);
|
|
42339
|
+
}).filter(function (route) {
|
|
42340
|
+
return !!route.isDistrict === isDistrict;
|
|
42341
|
+
});
|
|
42342
|
+
}, [user, language]);
|
|
42343
|
+
var authNavigations = React.useMemo(function () {
|
|
42344
|
+
return navigation.map(function (item) {
|
|
42345
|
+
var _item$_children, _item$_children2;
|
|
42346
|
+
|
|
42347
|
+
return _extends({}, item, {
|
|
42348
|
+
name: t(item.name),
|
|
42349
|
+
_children: item !== null && item !== void 0 && (_item$_children = item._children) !== null && _item$_children !== void 0 && _item$_children.length ? item === null || item === void 0 ? void 0 : (_item$_children2 = item._children) === null || _item$_children2 === void 0 ? void 0 : _item$_children2.map(function (x) {
|
|
42350
|
+
return _extends({}, x, {
|
|
42351
|
+
name: t(x.name)
|
|
42352
|
+
});
|
|
42353
|
+
}) : undefined
|
|
42354
|
+
});
|
|
42355
|
+
}).filter(function (nav) {
|
|
42356
|
+
return canAccess(user === null || user === void 0 ? void 0 : user.roles, nav.roles);
|
|
42357
|
+
}).filter(function (nav) {
|
|
42358
|
+
return !!nav.isDistrict === isDistrict;
|
|
42359
|
+
});
|
|
42360
|
+
}, [user, language]);
|
|
42361
|
+
|
|
42362
|
+
var getInformationSetting = function getInformationSetting() {
|
|
42363
|
+
try {
|
|
42364
|
+
var _temp2 = _catch(function () {
|
|
42365
|
+
return Promise.resolve(getSchoolSettings()).then(function (res) {
|
|
42366
|
+
dispatch(setSandboxMode(res.data.isSandboxMode));
|
|
42367
|
+
});
|
|
42368
|
+
}, function (err) {
|
|
42369
|
+
console.error(err);
|
|
42370
|
+
});
|
|
42371
|
+
|
|
42372
|
+
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
|
|
42373
|
+
} catch (e) {
|
|
42374
|
+
return Promise.reject(e);
|
|
42375
|
+
}
|
|
42376
|
+
};
|
|
42377
|
+
|
|
42378
|
+
React.useEffect(function () {
|
|
42379
|
+
checkAuthentication();
|
|
42380
|
+
}, []);
|
|
42381
|
+
React.useEffect(function () {
|
|
42382
|
+
getInformationSetting();
|
|
42383
|
+
}, [location.pathname]);
|
|
42384
|
+
|
|
42385
|
+
var checkAuthentication = function checkAuthentication() {
|
|
42386
|
+
try {
|
|
42387
|
+
var _temp4 = _catch(function () {
|
|
42388
|
+
return Promise.resolve(firstCheckToken()).then(function (tokenStatus) {
|
|
42389
|
+
tokenStatus ? loadInfo() : resetAuth();
|
|
42390
|
+
});
|
|
42391
|
+
}, function () {
|
|
42392
|
+
resetAuth();
|
|
42393
|
+
});
|
|
42394
|
+
|
|
42395
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
|
|
42396
|
+
} catch (e) {
|
|
42397
|
+
return Promise.reject(e);
|
|
42398
|
+
}
|
|
42399
|
+
};
|
|
42400
|
+
|
|
42401
|
+
var loadInfo = function loadInfo() {
|
|
42402
|
+
try {
|
|
42403
|
+
var _temp6 = _catch(function () {
|
|
42404
|
+
return Promise.resolve(getInfo()).then(function (info) {
|
|
42405
|
+
var _info$data, _info$data$roles;
|
|
42406
|
+
|
|
42407
|
+
if (!info || !(info !== null && info !== void 0 && (_info$data = info.data) !== null && _info$data !== void 0 && (_info$data$roles = _info$data.roles) !== null && _info$data$roles !== void 0 && _info$data$roles.includes("Admin"))) {
|
|
42408
|
+
resetAuth();
|
|
42409
|
+
}
|
|
42410
|
+
|
|
42411
|
+
dispatch(setUser(info.data));
|
|
42412
|
+
});
|
|
42413
|
+
}, function () {
|
|
42414
|
+
resetAuth();
|
|
42415
|
+
});
|
|
42416
|
+
|
|
42417
|
+
return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
|
|
42418
|
+
} catch (e) {
|
|
42419
|
+
return Promise.reject(e);
|
|
42420
|
+
}
|
|
42421
|
+
};
|
|
42422
|
+
|
|
42423
|
+
var resetAuth = function resetAuth() {
|
|
42424
|
+
localStorage.removeItem(ACCESS_TOKEN);
|
|
42425
|
+
sessionStorage.removeItem(ACCESS_TOKEN);
|
|
42426
|
+
localStorage.removeItem("ROLES");
|
|
42427
|
+
history.push("/");
|
|
42428
|
+
};
|
|
42429
|
+
|
|
42430
|
+
if (!user) {
|
|
42431
|
+
return React__default.createElement(Loading, null);
|
|
42432
|
+
}
|
|
42433
|
+
|
|
42434
|
+
return React__default.createElement("div", {
|
|
42435
|
+
className: "c-app c-default-layout"
|
|
42436
|
+
}, !isNotification && React__default.createElement(TheSidebar, {
|
|
42437
|
+
navigation: authNavigations
|
|
42438
|
+
}), React__default.createElement("div", {
|
|
42439
|
+
className: "c-wrapper"
|
|
42440
|
+
}, !isNotification && React__default.createElement(TheHeader, {
|
|
42441
|
+
onToggleModel: handleToggleModel
|
|
42442
|
+
}), React__default.createElement("div", {
|
|
42443
|
+
className: "c-body bg-white"
|
|
42444
|
+
}, React__default.createElement(TheContent$1, {
|
|
42445
|
+
routes: authRoutes
|
|
42446
|
+
}))), React__default.createElement(ModelSelectRole, {
|
|
42447
|
+
open: openModelSelectRole,
|
|
42448
|
+
onToggleModel: handleToggleModel
|
|
42449
|
+
}));
|
|
42450
|
+
};
|
|
42451
|
+
|
|
42452
|
+
var buttonTextStyle = {
|
|
42453
|
+
fontWeight: 500
|
|
42454
|
+
};
|
|
42455
|
+
var buttonStyle = {
|
|
42456
|
+
height: 38
|
|
42457
|
+
};
|
|
42458
|
+
|
|
42459
|
+
var AddButton = function AddButton(_ref) {
|
|
42460
|
+
var text = _ref.text,
|
|
42461
|
+
onClick = _ref.onClick;
|
|
42462
|
+
return React__default.createElement(reactstrap.Button, {
|
|
42463
|
+
onClick: onClick,
|
|
42464
|
+
color: 'success',
|
|
42465
|
+
style: buttonStyle,
|
|
42466
|
+
className: 'd-flex align-items-center'
|
|
42467
|
+
}, React__default.createElement(fa.FaPlus, null), React__default.createElement("span", {
|
|
42468
|
+
className: 'ml-2',
|
|
42469
|
+
style: buttonTextStyle
|
|
42470
|
+
}, text));
|
|
42471
|
+
};
|
|
42472
|
+
|
|
42473
|
+
var DeleteButtonIcon = function DeleteButtonIcon(_ref) {
|
|
42474
|
+
var onClick = _ref.onClick,
|
|
42475
|
+
className = _ref.className;
|
|
42476
|
+
return React__default.createElement("div", {
|
|
42477
|
+
className: "d-inline text-center cursor-pointer hover-opacity",
|
|
42478
|
+
title: "Delete",
|
|
42479
|
+
onClick: onClick
|
|
42029
42480
|
}, React__default.createElement(fa.FaTrashAlt, {
|
|
42030
42481
|
className: className
|
|
42031
42482
|
}));
|
|
@@ -51378,34 +51829,6 @@ var UserDetail = function UserDetail() {
|
|
|
51378
51829
|
});
|
|
51379
51830
|
};
|
|
51380
51831
|
|
|
51381
|
-
var loadingStyle = {
|
|
51382
|
-
minWidth: "100vw",
|
|
51383
|
-
minHeight: "100vh",
|
|
51384
|
-
position: "fixed",
|
|
51385
|
-
top: 0,
|
|
51386
|
-
left: 0,
|
|
51387
|
-
zIndex: 999999999,
|
|
51388
|
-
backgroundColor: "rgba(0, 0, 0, 0.4)",
|
|
51389
|
-
display: "flex",
|
|
51390
|
-
justifyContent: "center",
|
|
51391
|
-
alignItems: "center"
|
|
51392
|
-
};
|
|
51393
|
-
|
|
51394
|
-
var Loading = function Loading() {
|
|
51395
|
-
var isLoading = reactRedux.useSelector(function (state) {
|
|
51396
|
-
return state.common.isLoading;
|
|
51397
|
-
});
|
|
51398
|
-
localStorage.setItem("LAST_TIME_REQUETST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
|
|
51399
|
-
return isLoading ? React__default.createElement("div", {
|
|
51400
|
-
style: loadingStyle
|
|
51401
|
-
}, React__default.createElement("div", {
|
|
51402
|
-
className: "spinner-border text-secondary",
|
|
51403
|
-
role: "status"
|
|
51404
|
-
}, React__default.createElement("span", {
|
|
51405
|
-
className: "sr-only"
|
|
51406
|
-
}, "Loading..."))) : null;
|
|
51407
|
-
};
|
|
51408
|
-
|
|
51409
51832
|
var ScrollToTop = function ScrollToTop() {
|
|
51410
51833
|
var _useLocation = reactRouterDom.useLocation(),
|
|
51411
51834
|
pathname = _useLocation.pathname;
|
|
@@ -51513,7 +51936,12 @@ var CommonHeader = function CommonHeader(_ref) {
|
|
|
51513
51936
|
}, header))));
|
|
51514
51937
|
};
|
|
51515
51938
|
|
|
51939
|
+
var IDLE_MINUTES_WARNING = 13;
|
|
51940
|
+
var AUTO_LOGOUT_MINUTES = 15;
|
|
51941
|
+
|
|
51516
51942
|
var NotificationLogoutModal = function NotificationLogoutModal() {
|
|
51943
|
+
var history = reactRouterDom.useHistory();
|
|
51944
|
+
|
|
51517
51945
|
var _useState = React.useState(false),
|
|
51518
51946
|
isOpen = _useState[0],
|
|
51519
51947
|
setIsOpen = _useState[1];
|
|
@@ -51525,37 +51953,65 @@ var NotificationLogoutModal = function NotificationLogoutModal() {
|
|
|
51525
51953
|
objTime = _useState2[0],
|
|
51526
51954
|
setObjTime = _useState2[1];
|
|
51527
51955
|
|
|
51956
|
+
var getLastActivity = function getLastActivity() {
|
|
51957
|
+
try {
|
|
51958
|
+
var _localStorage$getItem, _localStorage, _localStorage$getItem2;
|
|
51959
|
+
|
|
51960
|
+
return (_localStorage$getItem = (_localStorage = localStorage) === null || _localStorage === void 0 ? void 0 : (_localStorage$getItem2 = _localStorage.getItem) === null || _localStorage$getItem2 === void 0 ? void 0 : _localStorage$getItem2.call(_localStorage, "LAST_ACTIVITY_TIME")) != null ? _localStorage$getItem : null;
|
|
51961
|
+
} catch (_unused) {
|
|
51962
|
+
return null;
|
|
51963
|
+
}
|
|
51964
|
+
};
|
|
51965
|
+
|
|
51966
|
+
var doLogout = function doLogout() {
|
|
51967
|
+
localStorage.removeItem(ACCESS_TOKEN);
|
|
51968
|
+
sessionStorage.removeItem(ACCESS_TOKEN);
|
|
51969
|
+
localStorage.removeItem("ROLES");
|
|
51970
|
+
localStorage.removeItem("LAST_ACTIVITY_TIME");
|
|
51971
|
+
setIsOpen(false);
|
|
51972
|
+
history.replace("/login");
|
|
51973
|
+
};
|
|
51974
|
+
|
|
51528
51975
|
var checkOpenModalLogout = function checkOpenModalLogout() {
|
|
51529
|
-
var
|
|
51530
|
-
|
|
51976
|
+
var accessToken = getAccessToken();
|
|
51977
|
+
if (!accessToken) return;
|
|
51978
|
+
var lastActivity = getLastActivity();
|
|
51979
|
+
|
|
51980
|
+
if (!lastActivity) {
|
|
51981
|
+
var _localStorage2, _localStorage2$setIte;
|
|
51982
|
+
|
|
51983
|
+
(_localStorage2 = localStorage) === null || _localStorage2 === void 0 ? void 0 : (_localStorage2$setIte = _localStorage2.setItem) === null || _localStorage2$setIte === void 0 ? void 0 : _localStorage2$setIte.call(_localStorage2, "LAST_ACTIVITY_TIME", new Date().toISOString());
|
|
51984
|
+
return;
|
|
51985
|
+
}
|
|
51986
|
+
|
|
51987
|
+
var timeMoment = moment(lastActivity, "YYYY-MM-DD HH:mm");
|
|
51531
51988
|
var currentTime = moment(moment().utc().format("YYYY-MM-DD HH:mm"));
|
|
51532
51989
|
var minutes = currentTime.diff(timeMoment, "minutes");
|
|
51533
|
-
var timeLogout = utcToLocalTime(currentTime.add(16 - minutes, 'minutes').format("YYYY-MM-DD HH:mm"), "HH:mm");
|
|
51534
51990
|
|
|
51535
|
-
if (minutes
|
|
51536
|
-
|
|
51991
|
+
if (minutes >= AUTO_LOGOUT_MINUTES) {
|
|
51992
|
+
doLogout();
|
|
51993
|
+
return;
|
|
51994
|
+
}
|
|
51995
|
+
|
|
51996
|
+
var timeLogout = utcToLocalTime(currentTime.add(AUTO_LOGOUT_MINUTES - minutes, 'minutes').format("YYYY-MM-DD HH:mm"), "HH:mm");
|
|
51997
|
+
|
|
51998
|
+
if (minutes >= IDLE_MINUTES_WARNING) {
|
|
51999
|
+
setObjTime({
|
|
51537
52000
|
minutes: minutes,
|
|
51538
52001
|
timeLogout: timeLogout
|
|
51539
|
-
};
|
|
51540
|
-
|
|
51541
|
-
onToggle();
|
|
52002
|
+
});
|
|
52003
|
+
setIsOpen(true);
|
|
51542
52004
|
}
|
|
51543
52005
|
};
|
|
51544
52006
|
|
|
51545
52007
|
React.useEffect(function () {
|
|
51546
|
-
var
|
|
51547
|
-
|
|
51548
|
-
|
|
51549
|
-
|
|
51550
|
-
|
|
51551
|
-
|
|
51552
|
-
|
|
51553
|
-
return clearInterval(interval);
|
|
51554
|
-
};
|
|
51555
|
-
}
|
|
51556
|
-
|
|
51557
|
-
return;
|
|
51558
|
-
}, [location.href]);
|
|
52008
|
+
var interval = setInterval(function () {
|
|
52009
|
+
checkOpenModalLogout();
|
|
52010
|
+
}, 60 * 1000);
|
|
52011
|
+
return function () {
|
|
52012
|
+
return clearInterval(interval);
|
|
52013
|
+
};
|
|
52014
|
+
}, []);
|
|
51559
52015
|
|
|
51560
52016
|
var onToggle = function onToggle() {
|
|
51561
52017
|
setIsOpen(!isOpen);
|
|
@@ -51567,7 +52023,7 @@ var NotificationLogoutModal = function NotificationLogoutModal() {
|
|
|
51567
52023
|
size: "xs"
|
|
51568
52024
|
}, React__default.createElement(reactstrap.ModalHeader, {
|
|
51569
52025
|
toggle: onToggle
|
|
51570
|
-
}, "Notification Logout"), React__default.createElement(reactstrap.ModalBody, null, "Are you still here? You have had no action for " + (objTime === null || objTime === void 0 ? void 0 : objTime.minutes) + " mins. \n Your account could be log out after " + (
|
|
52026
|
+
}, "Notification Logout"), React__default.createElement(reactstrap.ModalBody, null, "Are you still here? You have had no action for " + (objTime === null || objTime === void 0 ? void 0 : objTime.minutes) + " mins. \n Your account could be log out after " + (AUTO_LOGOUT_MINUTES - (objTime === null || objTime === void 0 ? void 0 : objTime.minutes)) + " mins at " + (objTime === null || objTime === void 0 ? void 0 : objTime.timeLogout) + " if you don't action."), React__default.createElement(reactstrap.ModalFooter, {
|
|
51571
52027
|
className: "text-right"
|
|
51572
52028
|
}, React__default.createElement(reactstrap.Button, {
|
|
51573
52029
|
color: "primary",
|
|
@@ -54429,32 +54885,6 @@ var store = toolkit.configureStore({
|
|
|
54429
54885
|
}
|
|
54430
54886
|
});
|
|
54431
54887
|
|
|
54432
|
-
var firstCheckToken = function firstCheckToken() {
|
|
54433
|
-
return Promise.resolve(_catch(function () {
|
|
54434
|
-
var token = getAccessToken();
|
|
54435
|
-
return token ? Promise.resolve(checkToken(token)).then(function (tokenStatus) {
|
|
54436
|
-
return tokenStatus.data ? true : false;
|
|
54437
|
-
}) : false;
|
|
54438
|
-
}, function () {
|
|
54439
|
-
return false;
|
|
54440
|
-
}));
|
|
54441
|
-
};
|
|
54442
|
-
|
|
54443
|
-
var canAccess = function canAccess(userRoles, componentRoles) {
|
|
54444
|
-
if (!Array.isArray(userRoles)) {
|
|
54445
|
-
return false;
|
|
54446
|
-
}
|
|
54447
|
-
|
|
54448
|
-
if (Array.isArray(componentRoles)) {
|
|
54449
|
-
var intersects = userRoles.filter(function (i) {
|
|
54450
|
-
return componentRoles.includes(i);
|
|
54451
|
-
});
|
|
54452
|
-
return intersects.length > 0;
|
|
54453
|
-
}
|
|
54454
|
-
|
|
54455
|
-
return true;
|
|
54456
|
-
};
|
|
54457
|
-
|
|
54458
54888
|
var isInViewport = function isInViewport(el) {
|
|
54459
54889
|
var rect = el === null || el === void 0 ? void 0 : el.getBoundingClientRect();
|
|
54460
54890
|
return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth);
|
|
@@ -54488,410 +54918,6 @@ var generateRandomString = (function () {
|
|
|
54488
54918
|
return (Math.random() + 1).toString(36).substring(7);
|
|
54489
54919
|
});
|
|
54490
54920
|
|
|
54491
|
-
var apiGetLanguage = function apiGetLanguage() {
|
|
54492
|
-
return api.get(BASE_URL + "/api/language");
|
|
54493
|
-
};
|
|
54494
|
-
|
|
54495
|
-
var apiUpdateLanguage = function apiUpdateLanguage(lang) {
|
|
54496
|
-
return api.put(BASE_URL + "/api/language?lang=" + lang);
|
|
54497
|
-
};
|
|
54498
|
-
|
|
54499
|
-
var LANGUAGE_SYSTEM = "LANGUAGE_SYSTEM";
|
|
54500
|
-
|
|
54501
|
-
var useLanguages = function useLanguages() {
|
|
54502
|
-
var dispatch = reactRedux.useDispatch();
|
|
54503
|
-
|
|
54504
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
54505
|
-
i18n = _useTranslation.i18n;
|
|
54506
|
-
|
|
54507
|
-
var language = reactRedux.useSelector(function (state) {
|
|
54508
|
-
return state.common.language;
|
|
54509
|
-
});
|
|
54510
|
-
var defaultLanguage = getCookieValue(LANGUAGE_SYSTEM) != null ? getCookieValue(LANGUAGE_SYSTEM) : DEFAULT_LANGUAGE_CODE;
|
|
54511
|
-
|
|
54512
|
-
var _useState = React.useState([]),
|
|
54513
|
-
languageList = _useState[0],
|
|
54514
|
-
setLanguageList = _useState[1];
|
|
54515
|
-
|
|
54516
|
-
var _useState2 = React.useState(false),
|
|
54517
|
-
dropdownOpen = _useState2[0],
|
|
54518
|
-
setDropdownOpen = _useState2[1];
|
|
54519
|
-
|
|
54520
|
-
var _useState3 = React.useState(defaultLanguage),
|
|
54521
|
-
currentLang = _useState3[0],
|
|
54522
|
-
setCurrentLang = _useState3[1];
|
|
54523
|
-
|
|
54524
|
-
var toggle = function toggle() {
|
|
54525
|
-
return setDropdownOpen(function (prevState) {
|
|
54526
|
-
return !prevState;
|
|
54527
|
-
});
|
|
54528
|
-
};
|
|
54529
|
-
|
|
54530
|
-
var changeLanguageApp = function changeLanguageApp(lang) {
|
|
54531
|
-
try {
|
|
54532
|
-
var _temp3 = function _temp3() {
|
|
54533
|
-
dispatch(setLoading(false));
|
|
54534
|
-
};
|
|
54535
|
-
|
|
54536
|
-
dispatch(setLoading(true));
|
|
54537
|
-
|
|
54538
|
-
var _temp4 = _catch(function () {
|
|
54539
|
-
return Promise.resolve(apiUpdateLanguage(lang)).then(function () {
|
|
54540
|
-
i18n.changeLanguage(lang);
|
|
54541
|
-
setCurrentLang(lang);
|
|
54542
|
-
dispatch(setLanguage(lang));
|
|
54543
|
-
});
|
|
54544
|
-
}, function (err) {
|
|
54545
|
-
var _err$response, _err$response$data;
|
|
54546
|
-
|
|
54547
|
-
dispatch(setAlert({
|
|
54548
|
-
type: "danger",
|
|
54549
|
-
message: ((_err$response = err.response) === null || _err$response === void 0 ? void 0 : (_err$response$data = _err$response.data) === null || _err$response$data === void 0 ? void 0 : _err$response$data.title) || err.message
|
|
54550
|
-
}));
|
|
54551
|
-
});
|
|
54552
|
-
|
|
54553
|
-
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
|
|
54554
|
-
} catch (e) {
|
|
54555
|
-
return Promise.reject(e);
|
|
54556
|
-
}
|
|
54557
|
-
};
|
|
54558
|
-
|
|
54559
|
-
var getListLanguage = function getListLanguage() {
|
|
54560
|
-
try {
|
|
54561
|
-
var _temp6 = _catch(function () {
|
|
54562
|
-
return Promise.resolve(apiGetLanguage()).then(function (res) {
|
|
54563
|
-
setLanguageList(res.data);
|
|
54564
|
-
});
|
|
54565
|
-
}, function (err) {
|
|
54566
|
-
var _err$response2, _err$response2$data;
|
|
54567
|
-
|
|
54568
|
-
dispatch(setAlert({
|
|
54569
|
-
type: "danger",
|
|
54570
|
-
message: ((_err$response2 = err.response) === null || _err$response2 === void 0 ? void 0 : (_err$response2$data = _err$response2.data) === null || _err$response2$data === void 0 ? void 0 : _err$response2$data.title) || err.message
|
|
54571
|
-
}));
|
|
54572
|
-
});
|
|
54573
|
-
|
|
54574
|
-
return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
|
|
54575
|
-
} catch (e) {
|
|
54576
|
-
return Promise.reject(e);
|
|
54577
|
-
}
|
|
54578
|
-
};
|
|
54579
|
-
|
|
54580
|
-
React.useEffect(function () {
|
|
54581
|
-
defaultLanguage != language && changeLanguageApp(defaultLanguage);
|
|
54582
|
-
getListLanguage();
|
|
54583
|
-
}, []);
|
|
54584
|
-
return {
|
|
54585
|
-
languageList: languageList,
|
|
54586
|
-
toggle: toggle,
|
|
54587
|
-
dropdownOpen: dropdownOpen,
|
|
54588
|
-
currentLang: currentLang,
|
|
54589
|
-
changeLanguageApp: changeLanguageApp,
|
|
54590
|
-
setCurrentLang: setCurrentLang
|
|
54591
|
-
};
|
|
54592
|
-
};
|
|
54593
|
-
|
|
54594
|
-
var TheLanguageDropdown = function TheLanguageDropdown() {
|
|
54595
|
-
var _useLanguages = useLanguages(),
|
|
54596
|
-
languageList = _useLanguages.languageList,
|
|
54597
|
-
toggle = _useLanguages.toggle,
|
|
54598
|
-
dropdownOpen = _useLanguages.dropdownOpen,
|
|
54599
|
-
currentLang = _useLanguages.currentLang,
|
|
54600
|
-
changeLanguageApp = _useLanguages.changeLanguageApp;
|
|
54601
|
-
|
|
54602
|
-
var currentLanguage = React.useMemo(function () {
|
|
54603
|
-
var current = languageList.find(function (i) {
|
|
54604
|
-
return i.code === currentLang;
|
|
54605
|
-
});
|
|
54606
|
-
if (!current) return null;
|
|
54607
|
-
return React__default.createElement(React__default.Fragment, null, React__default.createElement("img", {
|
|
54608
|
-
className: "mr-2 " + styles['dropdown-menu-flag'],
|
|
54609
|
-
src: "" + getStaticFileUrl(current.image)
|
|
54610
|
-
}), " ", current.name);
|
|
54611
|
-
}, [currentLang, languageList]);
|
|
54612
|
-
return React__default.createElement(reactstrap.Dropdown, {
|
|
54613
|
-
isOpen: dropdownOpen,
|
|
54614
|
-
toggle: toggle,
|
|
54615
|
-
className: "" + styles["dropdown-menu"]
|
|
54616
|
-
}, React__default.createElement(reactstrap.DropdownToggle, {
|
|
54617
|
-
className: styles["header-avatar"] + " d-flex align-items-center"
|
|
54618
|
-
}, React__default.createElement("span", {
|
|
54619
|
-
style: {
|
|
54620
|
-
color: "#000",
|
|
54621
|
-
textTransform: "capitalize",
|
|
54622
|
-
display: 'flex',
|
|
54623
|
-
alignItems: 'center'
|
|
54624
|
-
}
|
|
54625
|
-
}, currentLanguage, React__default.createElement(bs.BsChevronDown, {
|
|
54626
|
-
className: "ml-2",
|
|
54627
|
-
style: {
|
|
54628
|
-
fontSize: '10px'
|
|
54629
|
-
}
|
|
54630
|
-
}))), React__default.createElement(reactstrap.DropdownMenu, {
|
|
54631
|
-
className: styles["dropdown-content-language"]
|
|
54632
|
-
}, !!languageList && languageList.length > 0 && languageList.map(function (lang, index) {
|
|
54633
|
-
return React__default.createElement(reactstrap.DropdownItem, {
|
|
54634
|
-
key: lang.code,
|
|
54635
|
-
className: styles["dropdown-change"] + " px-0 py-0 " + (index === languageList.length - 1 ? "pb-2" : "pt-2"),
|
|
54636
|
-
onClick: function onClick() {
|
|
54637
|
-
return changeLanguageApp(lang.code);
|
|
54638
|
-
}
|
|
54639
|
-
}, React__default.createElement("div", {
|
|
54640
|
-
className: styles["dropdown-item-language"] + " " + styles["item-logout"] + " " + (currentLang == lang.code ? styles['dropdown-item-language-active'] : "") + " d-flex align-items-center w-100"
|
|
54641
|
-
}, React__default.createElement("span", {
|
|
54642
|
-
className: "mr-2 d-flex hover-opacity"
|
|
54643
|
-
}, React__default.createElement("img", {
|
|
54644
|
-
style: {
|
|
54645
|
-
width: "30px",
|
|
54646
|
-
height: "25px",
|
|
54647
|
-
borderRadius: "5px"
|
|
54648
|
-
},
|
|
54649
|
-
src: getStaticFileUrl(lang.image)
|
|
54650
|
-
})), lang.name));
|
|
54651
|
-
})));
|
|
54652
|
-
};
|
|
54653
|
-
|
|
54654
|
-
var TheHeader = function TheHeader(_ref) {
|
|
54655
|
-
var onToggleModel = _ref.onToggleModel;
|
|
54656
|
-
var dispatch = reactRedux.useDispatch();
|
|
54657
|
-
var sidebarShow = reactRedux.useSelector(function (state) {
|
|
54658
|
-
return state.common.sidebarShow;
|
|
54659
|
-
});
|
|
54660
|
-
|
|
54661
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
54662
|
-
t = _useTranslation.t;
|
|
54663
|
-
|
|
54664
|
-
var toggleSidebarMobile = function toggleSidebarMobile() {
|
|
54665
|
-
var val = [false, "responsive"].includes(sidebarShow) ? true : "responsive";
|
|
54666
|
-
dispatch(setSidebar(val));
|
|
54667
|
-
};
|
|
54668
|
-
|
|
54669
|
-
var isDistrict = window.location.host.includes("-district");
|
|
54670
|
-
return React__default.createElement(react.CHeader, {
|
|
54671
|
-
withSubheader: true,
|
|
54672
|
-
className: "d-flex align-items-center justify-content-end"
|
|
54673
|
-
}, React__default.createElement(react.CToggler, {
|
|
54674
|
-
inHeader: true,
|
|
54675
|
-
className: "ml-md-3 d-lg-none",
|
|
54676
|
-
onClick: toggleSidebarMobile
|
|
54677
|
-
}), React__default.createElement(react.CHeaderBrand, {
|
|
54678
|
-
className: "mx-auto flex-grow-1 d-lg-none",
|
|
54679
|
-
to: "/"
|
|
54680
|
-
}, React__default.createElement("img", {
|
|
54681
|
-
src: getStaticFileUrl(Images.LOGO_HEADER),
|
|
54682
|
-
className: styles["header-logo"]
|
|
54683
|
-
})), React__default.createElement(react.CHeaderNav, {
|
|
54684
|
-
className: "pr-3"
|
|
54685
|
-
}, React__default.createElement(TheLanguageDropdown, null), React__default.createElement("a", {
|
|
54686
|
-
className: "mr-3",
|
|
54687
|
-
style: {
|
|
54688
|
-
color: '#000'
|
|
54689
|
-
},
|
|
54690
|
-
href: '/privacy-policy',
|
|
54691
|
-
target: "blank"
|
|
54692
|
-
}, t("privacy_policy")), !isDistrict && React__default.createElement(NotificationButton, null), React__default.createElement(TheHeaderDropdown, {
|
|
54693
|
-
onToggleModel: onToggleModel
|
|
54694
|
-
})));
|
|
54695
|
-
};
|
|
54696
|
-
|
|
54697
|
-
var ModelSelectRole = function ModelSelectRole(_ref) {
|
|
54698
|
-
var _handleUserRole;
|
|
54699
|
-
|
|
54700
|
-
var open = _ref.open,
|
|
54701
|
-
onToggleModel = _ref.onToggleModel;
|
|
54702
|
-
var dispatch = reactRedux.useDispatch();
|
|
54703
|
-
|
|
54704
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
54705
|
-
t = _useTranslation.t;
|
|
54706
|
-
|
|
54707
|
-
var history = reactRouterDom.useHistory();
|
|
54708
|
-
var pathname = window.location.pathname;
|
|
54709
|
-
var user = reactRedux.useSelector(function (state) {
|
|
54710
|
-
return state.common.user;
|
|
54711
|
-
});
|
|
54712
|
-
var roles = user === null || user === void 0 ? void 0 : user.roles;
|
|
54713
|
-
|
|
54714
|
-
var handleSelectUserRoles = function handleSelectUserRoles(roles) {
|
|
54715
|
-
dispatch(setLoading(true));
|
|
54716
|
-
var roleSelect = roles.includes("Teacher/Assistant") ? ["Teacher", "Assistant"] : roles;
|
|
54717
|
-
dispatch(setUser(_extends({}, user, {
|
|
54718
|
-
roles: roleSelect
|
|
54719
|
-
})));
|
|
54720
|
-
localStorage.setItem("ROLES", roleSelect.toString());
|
|
54721
|
-
onToggleModel();
|
|
54722
|
-
|
|
54723
|
-
if (roles.includes("Parent")) {
|
|
54724
|
-
history.push("/parent");
|
|
54725
|
-
} else if (roles.includes("Admin")) {
|
|
54726
|
-
history.push("/admin/home");
|
|
54727
|
-
} else {
|
|
54728
|
-
pathname !== "/home" ? history.push("/home") : window.location.reload();
|
|
54729
|
-
}
|
|
54730
|
-
};
|
|
54731
|
-
|
|
54732
|
-
return React__default.createElement(reactstrap.Modal, {
|
|
54733
|
-
isOpen: open,
|
|
54734
|
-
toggle: function toggle() {
|
|
54735
|
-
return onToggleModel();
|
|
54736
|
-
},
|
|
54737
|
-
className: "" + styles["model-switch-roles"],
|
|
54738
|
-
centered: true
|
|
54739
|
-
}, React__default.createElement("p", {
|
|
54740
|
-
className: "" + styles["title"]
|
|
54741
|
-
}, t("continue_as")), React__default.createElement("div", null, (_handleUserRole = handleUserRole(user === null || user === void 0 ? void 0 : user.roles)) === null || _handleUserRole === void 0 ? void 0 : _handleUserRole.map(function (r) {
|
|
54742
|
-
return React__default.createElement("p", {
|
|
54743
|
-
key: r,
|
|
54744
|
-
className: styles["item-select-role"] + " " + styles[roles.includes("Teacher") && roles.includes("Assistant") && r === "Teacher/Assistant" && !roles.includes("Admin") || roles.includes("Admin") && r === "Admin" || roles.includes(r) && !roles.includes("Admin") ? "item-role-active" : ""],
|
|
54745
|
-
onClick: function onClick() {
|
|
54746
|
-
return handleSelectUserRoles([r]);
|
|
54747
|
-
}
|
|
54748
|
-
}, r == "SecondaryTeacher" ? "Support Teacher" : r);
|
|
54749
|
-
})));
|
|
54750
|
-
};
|
|
54751
|
-
|
|
54752
|
-
var TheLayout = function TheLayout(_ref) {
|
|
54753
|
-
var routes = _ref.routes,
|
|
54754
|
-
navigation = _ref.navigation;
|
|
54755
|
-
var history = reactRouterDom.useHistory();
|
|
54756
|
-
var dispatch = reactRedux.useDispatch();
|
|
54757
|
-
var user = reactRedux.useSelector(function (state) {
|
|
54758
|
-
return state.common.user;
|
|
54759
|
-
});
|
|
54760
|
-
var language = reactRedux.useSelector(function (state) {
|
|
54761
|
-
return state.common.language;
|
|
54762
|
-
});
|
|
54763
|
-
|
|
54764
|
-
var _useState = React.useState(false),
|
|
54765
|
-
openModelSelectRole = _useState[0],
|
|
54766
|
-
setOpenModelSelectRole = _useState[1];
|
|
54767
|
-
|
|
54768
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
54769
|
-
t = _useTranslation.t;
|
|
54770
|
-
|
|
54771
|
-
var location = reactRouterDom.useLocation();
|
|
54772
|
-
var isNotification = location.pathname.includes("notifications");
|
|
54773
|
-
var isDistrict = window.location.host.includes("-district");
|
|
54774
|
-
|
|
54775
|
-
var handleToggleModel = function handleToggleModel() {
|
|
54776
|
-
setOpenModelSelectRole(!openModelSelectRole);
|
|
54777
|
-
};
|
|
54778
|
-
|
|
54779
|
-
var authRoutes = React.useMemo(function () {
|
|
54780
|
-
return routes.filter(function (route) {
|
|
54781
|
-
return canAccess(user === null || user === void 0 ? void 0 : user.roles, route.roles);
|
|
54782
|
-
}).filter(function (route) {
|
|
54783
|
-
return !!route.isDistrict === isDistrict;
|
|
54784
|
-
});
|
|
54785
|
-
}, [user, language]);
|
|
54786
|
-
var authNavigations = React.useMemo(function () {
|
|
54787
|
-
return navigation.map(function (item) {
|
|
54788
|
-
var _item$_children, _item$_children2;
|
|
54789
|
-
|
|
54790
|
-
return _extends({}, item, {
|
|
54791
|
-
name: t(item.name),
|
|
54792
|
-
_children: item !== null && item !== void 0 && (_item$_children = item._children) !== null && _item$_children !== void 0 && _item$_children.length ? item === null || item === void 0 ? void 0 : (_item$_children2 = item._children) === null || _item$_children2 === void 0 ? void 0 : _item$_children2.map(function (x) {
|
|
54793
|
-
return _extends({}, x, {
|
|
54794
|
-
name: t(x.name)
|
|
54795
|
-
});
|
|
54796
|
-
}) : undefined
|
|
54797
|
-
});
|
|
54798
|
-
}).filter(function (nav) {
|
|
54799
|
-
return canAccess(user === null || user === void 0 ? void 0 : user.roles, nav.roles);
|
|
54800
|
-
}).filter(function (nav) {
|
|
54801
|
-
return !!nav.isDistrict === isDistrict;
|
|
54802
|
-
});
|
|
54803
|
-
}, [user, language]);
|
|
54804
|
-
|
|
54805
|
-
var getInformationSetting = function getInformationSetting() {
|
|
54806
|
-
try {
|
|
54807
|
-
var _temp2 = _catch(function () {
|
|
54808
|
-
return Promise.resolve(getSchoolSettings()).then(function (res) {
|
|
54809
|
-
dispatch(setSandboxMode(res.data.isSandboxMode));
|
|
54810
|
-
});
|
|
54811
|
-
}, function (err) {
|
|
54812
|
-
console.error(err);
|
|
54813
|
-
});
|
|
54814
|
-
|
|
54815
|
-
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
|
|
54816
|
-
} catch (e) {
|
|
54817
|
-
return Promise.reject(e);
|
|
54818
|
-
}
|
|
54819
|
-
};
|
|
54820
|
-
|
|
54821
|
-
React.useEffect(function () {
|
|
54822
|
-
checkAuthentication();
|
|
54823
|
-
}, []);
|
|
54824
|
-
React.useEffect(function () {
|
|
54825
|
-
getInformationSetting();
|
|
54826
|
-
}, [location.pathname]);
|
|
54827
|
-
|
|
54828
|
-
var checkAuthentication = function checkAuthentication() {
|
|
54829
|
-
try {
|
|
54830
|
-
var _temp4 = _catch(function () {
|
|
54831
|
-
return Promise.resolve(firstCheckToken()).then(function (tokenStatus) {
|
|
54832
|
-
tokenStatus ? loadInfo() : resetAuth();
|
|
54833
|
-
});
|
|
54834
|
-
}, function () {
|
|
54835
|
-
resetAuth();
|
|
54836
|
-
});
|
|
54837
|
-
|
|
54838
|
-
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
|
|
54839
|
-
} catch (e) {
|
|
54840
|
-
return Promise.reject(e);
|
|
54841
|
-
}
|
|
54842
|
-
};
|
|
54843
|
-
|
|
54844
|
-
var loadInfo = function loadInfo() {
|
|
54845
|
-
try {
|
|
54846
|
-
var _temp6 = _catch(function () {
|
|
54847
|
-
return Promise.resolve(getInfo()).then(function (info) {
|
|
54848
|
-
var _info$data, _info$data$roles;
|
|
54849
|
-
|
|
54850
|
-
if (!info || !(info !== null && info !== void 0 && (_info$data = info.data) !== null && _info$data !== void 0 && (_info$data$roles = _info$data.roles) !== null && _info$data$roles !== void 0 && _info$data$roles.includes("Admin"))) {
|
|
54851
|
-
resetAuth();
|
|
54852
|
-
}
|
|
54853
|
-
|
|
54854
|
-
dispatch(setUser(info.data));
|
|
54855
|
-
});
|
|
54856
|
-
}, function () {
|
|
54857
|
-
resetAuth();
|
|
54858
|
-
});
|
|
54859
|
-
|
|
54860
|
-
return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
|
|
54861
|
-
} catch (e) {
|
|
54862
|
-
return Promise.reject(e);
|
|
54863
|
-
}
|
|
54864
|
-
};
|
|
54865
|
-
|
|
54866
|
-
var resetAuth = function resetAuth() {
|
|
54867
|
-
localStorage.removeItem(ACCESS_TOKEN);
|
|
54868
|
-
sessionStorage.removeItem(ACCESS_TOKEN);
|
|
54869
|
-
localStorage.removeItem("ROLES");
|
|
54870
|
-
history.push("/");
|
|
54871
|
-
};
|
|
54872
|
-
|
|
54873
|
-
if (!user) {
|
|
54874
|
-
return React__default.createElement(Loading, null);
|
|
54875
|
-
}
|
|
54876
|
-
|
|
54877
|
-
return React__default.createElement("div", {
|
|
54878
|
-
className: "c-app c-default-layout"
|
|
54879
|
-
}, !isNotification && React__default.createElement(TheSidebar, {
|
|
54880
|
-
navigation: authNavigations
|
|
54881
|
-
}), React__default.createElement("div", {
|
|
54882
|
-
className: "c-wrapper"
|
|
54883
|
-
}, !isNotification && React__default.createElement(TheHeader, {
|
|
54884
|
-
onToggleModel: handleToggleModel
|
|
54885
|
-
}), React__default.createElement("div", {
|
|
54886
|
-
className: "c-body bg-white"
|
|
54887
|
-
}, React__default.createElement(TheContent$1, {
|
|
54888
|
-
routes: authRoutes
|
|
54889
|
-
}))), React__default.createElement(ModelSelectRole, {
|
|
54890
|
-
open: openModelSelectRole,
|
|
54891
|
-
onToggleModel: handleToggleModel
|
|
54892
|
-
}));
|
|
54893
|
-
};
|
|
54894
|
-
|
|
54895
54921
|
var amplitudeClient = amplitude;
|
|
54896
54922
|
|
|
54897
54923
|
Object.defineProperty(exports, 'I18nextProvider', {
|
|
@@ -54996,6 +55022,7 @@ exports.editTab = editTab;
|
|
|
54996
55022
|
exports.editorConfig = editorConfig;
|
|
54997
55023
|
exports.firstCheckToken = firstCheckToken;
|
|
54998
55024
|
exports.generateRandomString = generateRandomString;
|
|
55025
|
+
exports.getAccessToken = getAccessToken;
|
|
54999
55026
|
exports.getCookieValue = getCookieValue;
|
|
55000
55027
|
exports.getFileUrl = getFileUrl;
|
|
55001
55028
|
exports.getInfo = getInfo;
|