mario-core 2.9.423-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 +538 -504
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +517 -484
- 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/services/weeklyQuestService.d.ts +0 -1
- package/dist/types/WeeklyQuest.d.ts +0 -37
package/dist/index.modern.js
CHANGED
|
@@ -2,8 +2,8 @@ import 'bootstrap/dist/css/bootstrap.min.css';
|
|
|
2
2
|
import i18n from 'i18next';
|
|
3
3
|
import { initReactI18next, useTranslation } from 'react-i18next';
|
|
4
4
|
export { I18nextProvider, useTranslation } from 'react-i18next';
|
|
5
|
-
import React, { useCallback, useState, useEffect, useRef, Suspense, memo, Fragment, forwardRef, useImperativeHandle
|
|
6
|
-
import { Input, Form, FormGroup, Row, Col, Navbar, NavbarBrand, Collapse, Nav, NavItem, NavLink, Dropdown, DropdownToggle, DropdownMenu, DropdownItem, Button, Alert, Pagination, PaginationItem, PaginationLink, Table, Label,
|
|
5
|
+
import React, { useCallback, useState, useEffect, useRef, useMemo, Suspense, memo, Fragment, forwardRef, useImperativeHandle } from 'react';
|
|
6
|
+
import { Input, Form, FormGroup, Row, Col, Navbar, NavbarBrand, Collapse, Nav, NavItem, NavLink, Dropdown, DropdownToggle, DropdownMenu, DropdownItem, Modal, Button, Alert, Pagination, PaginationItem, PaginationLink, Table, Label, ModalHeader, ModalBody, ModalFooter, Popover, PopoverBody, TabContent, TabPane, Card, CardBody, CardText, Tooltip, CustomInput, CardImg, CardTitle, CardHeader } from 'reactstrap';
|
|
7
7
|
import { Link, useLocation, useHistory, Switch, Route, Prompt, useParams } from 'react-router-dom';
|
|
8
8
|
import { useDispatch, useSelector } from 'react-redux';
|
|
9
9
|
import { Formik } from 'formik';
|
|
@@ -17,7 +17,7 @@ import { track, setSessionId, init, Identify, identify } from '@amplitude/analyt
|
|
|
17
17
|
import moment from 'moment';
|
|
18
18
|
import { LogLevel, PublicClientApplication } from '@azure/msal-browser';
|
|
19
19
|
import { GiHamburgerMenu } from 'react-icons/gi';
|
|
20
|
-
import { CSidebar, CSidebarBrand, CSidebarNav, CCreateElement, CSidebarNavDivider, CSidebarNavDropdown, CSidebarNavItem, CSidebarNavTitle, CSidebarFooter,
|
|
20
|
+
import { CSidebar, CSidebarBrand, CSidebarNav, CCreateElement, CSidebarNavDivider, CSidebarNavDropdown, CSidebarNavItem, CSidebarNavTitle, CSidebarFooter, CHeader, CToggler, CHeaderBrand, CHeaderNav, CContainer } from '@coreui/react';
|
|
21
21
|
import { CgMenuRight } from 'react-icons/cg';
|
|
22
22
|
import { RiLogoutBoxRLine } from 'react-icons/ri';
|
|
23
23
|
import Pusher from 'pusher-js/with-encryption';
|
|
@@ -41933,6 +41933,212 @@ var TheHeaderDropdown = function TheHeaderDropdown(_ref) {
|
|
|
41933
41933
|
})), t("log_out")))));
|
|
41934
41934
|
};
|
|
41935
41935
|
|
|
41936
|
+
var apiGetLanguage = function apiGetLanguage() {
|
|
41937
|
+
return api.get(BASE_URL + "/api/language");
|
|
41938
|
+
};
|
|
41939
|
+
|
|
41940
|
+
var apiUpdateLanguage = function apiUpdateLanguage(lang) {
|
|
41941
|
+
return api.put(BASE_URL + "/api/language?lang=" + lang);
|
|
41942
|
+
};
|
|
41943
|
+
|
|
41944
|
+
var LANGUAGE_SYSTEM = "LANGUAGE_SYSTEM";
|
|
41945
|
+
|
|
41946
|
+
var useLanguages = function useLanguages() {
|
|
41947
|
+
var dispatch = useDispatch();
|
|
41948
|
+
|
|
41949
|
+
var _useTranslation = useTranslation(),
|
|
41950
|
+
i18n = _useTranslation.i18n;
|
|
41951
|
+
|
|
41952
|
+
var language = useSelector(function (state) {
|
|
41953
|
+
return state.common.language;
|
|
41954
|
+
});
|
|
41955
|
+
var defaultLanguage = getCookieValue(LANGUAGE_SYSTEM) != null ? getCookieValue(LANGUAGE_SYSTEM) : DEFAULT_LANGUAGE_CODE;
|
|
41956
|
+
|
|
41957
|
+
var _useState = useState([]),
|
|
41958
|
+
languageList = _useState[0],
|
|
41959
|
+
setLanguageList = _useState[1];
|
|
41960
|
+
|
|
41961
|
+
var _useState2 = useState(false),
|
|
41962
|
+
dropdownOpen = _useState2[0],
|
|
41963
|
+
setDropdownOpen = _useState2[1];
|
|
41964
|
+
|
|
41965
|
+
var _useState3 = useState(defaultLanguage),
|
|
41966
|
+
currentLang = _useState3[0],
|
|
41967
|
+
setCurrentLang = _useState3[1];
|
|
41968
|
+
|
|
41969
|
+
var toggle = function toggle() {
|
|
41970
|
+
return setDropdownOpen(function (prevState) {
|
|
41971
|
+
return !prevState;
|
|
41972
|
+
});
|
|
41973
|
+
};
|
|
41974
|
+
|
|
41975
|
+
var changeLanguageApp = function changeLanguageApp(lang) {
|
|
41976
|
+
try {
|
|
41977
|
+
var _temp3 = function _temp3() {
|
|
41978
|
+
dispatch(setLoading(false));
|
|
41979
|
+
};
|
|
41980
|
+
|
|
41981
|
+
dispatch(setLoading(true));
|
|
41982
|
+
|
|
41983
|
+
var _temp4 = _catch(function () {
|
|
41984
|
+
return Promise.resolve(apiUpdateLanguage(lang)).then(function () {
|
|
41985
|
+
i18n.changeLanguage(lang);
|
|
41986
|
+
setCurrentLang(lang);
|
|
41987
|
+
dispatch(setLanguage(lang));
|
|
41988
|
+
});
|
|
41989
|
+
}, function (err) {
|
|
41990
|
+
var _err$response, _err$response$data;
|
|
41991
|
+
|
|
41992
|
+
dispatch(setAlert({
|
|
41993
|
+
type: "danger",
|
|
41994
|
+
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
|
|
41995
|
+
}));
|
|
41996
|
+
});
|
|
41997
|
+
|
|
41998
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
|
|
41999
|
+
} catch (e) {
|
|
42000
|
+
return Promise.reject(e);
|
|
42001
|
+
}
|
|
42002
|
+
};
|
|
42003
|
+
|
|
42004
|
+
var getListLanguage = function getListLanguage() {
|
|
42005
|
+
try {
|
|
42006
|
+
var _temp6 = _catch(function () {
|
|
42007
|
+
return Promise.resolve(apiGetLanguage()).then(function (res) {
|
|
42008
|
+
setLanguageList(res.data);
|
|
42009
|
+
});
|
|
42010
|
+
}, function (err) {
|
|
42011
|
+
var _err$response2, _err$response2$data;
|
|
42012
|
+
|
|
42013
|
+
dispatch(setAlert({
|
|
42014
|
+
type: "danger",
|
|
42015
|
+
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
|
|
42016
|
+
}));
|
|
42017
|
+
});
|
|
42018
|
+
|
|
42019
|
+
return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
|
|
42020
|
+
} catch (e) {
|
|
42021
|
+
return Promise.reject(e);
|
|
42022
|
+
}
|
|
42023
|
+
};
|
|
42024
|
+
|
|
42025
|
+
useEffect(function () {
|
|
42026
|
+
defaultLanguage != language && changeLanguageApp(defaultLanguage);
|
|
42027
|
+
getListLanguage();
|
|
42028
|
+
}, []);
|
|
42029
|
+
return {
|
|
42030
|
+
languageList: languageList,
|
|
42031
|
+
toggle: toggle,
|
|
42032
|
+
dropdownOpen: dropdownOpen,
|
|
42033
|
+
currentLang: currentLang,
|
|
42034
|
+
changeLanguageApp: changeLanguageApp,
|
|
42035
|
+
setCurrentLang: setCurrentLang
|
|
42036
|
+
};
|
|
42037
|
+
};
|
|
42038
|
+
|
|
42039
|
+
var TheLanguageDropdown = function TheLanguageDropdown() {
|
|
42040
|
+
var _useLanguages = useLanguages(),
|
|
42041
|
+
languageList = _useLanguages.languageList,
|
|
42042
|
+
toggle = _useLanguages.toggle,
|
|
42043
|
+
dropdownOpen = _useLanguages.dropdownOpen,
|
|
42044
|
+
currentLang = _useLanguages.currentLang,
|
|
42045
|
+
changeLanguageApp = _useLanguages.changeLanguageApp;
|
|
42046
|
+
|
|
42047
|
+
var currentLanguage = useMemo(function () {
|
|
42048
|
+
var current = languageList.find(function (i) {
|
|
42049
|
+
return i.code === currentLang;
|
|
42050
|
+
});
|
|
42051
|
+
if (!current) return null;
|
|
42052
|
+
return React.createElement(React.Fragment, null, React.createElement("img", {
|
|
42053
|
+
className: "mr-2 " + styles['dropdown-menu-flag'],
|
|
42054
|
+
src: "" + getStaticFileUrl(current.image)
|
|
42055
|
+
}), " ", current.name);
|
|
42056
|
+
}, [currentLang, languageList]);
|
|
42057
|
+
return React.createElement(Dropdown, {
|
|
42058
|
+
isOpen: dropdownOpen,
|
|
42059
|
+
toggle: toggle,
|
|
42060
|
+
className: "" + styles["dropdown-menu"]
|
|
42061
|
+
}, React.createElement(DropdownToggle, {
|
|
42062
|
+
className: styles["header-avatar"] + " d-flex align-items-center"
|
|
42063
|
+
}, React.createElement("span", {
|
|
42064
|
+
style: {
|
|
42065
|
+
color: "#000",
|
|
42066
|
+
textTransform: "capitalize",
|
|
42067
|
+
display: 'flex',
|
|
42068
|
+
alignItems: 'center'
|
|
42069
|
+
}
|
|
42070
|
+
}, currentLanguage, React.createElement(BsChevronDown, {
|
|
42071
|
+
className: "ml-2",
|
|
42072
|
+
style: {
|
|
42073
|
+
fontSize: '10px'
|
|
42074
|
+
}
|
|
42075
|
+
}))), React.createElement(DropdownMenu, {
|
|
42076
|
+
className: styles["dropdown-content-language"]
|
|
42077
|
+
}, !!languageList && languageList.length > 0 && languageList.map(function (lang, index) {
|
|
42078
|
+
return React.createElement(DropdownItem, {
|
|
42079
|
+
key: lang.code,
|
|
42080
|
+
className: styles["dropdown-change"] + " px-0 py-0 " + (index === languageList.length - 1 ? "pb-2" : "pt-2"),
|
|
42081
|
+
onClick: function onClick() {
|
|
42082
|
+
return changeLanguageApp(lang.code);
|
|
42083
|
+
}
|
|
42084
|
+
}, React.createElement("div", {
|
|
42085
|
+
className: styles["dropdown-item-language"] + " " + styles["item-logout"] + " " + (currentLang == lang.code ? styles['dropdown-item-language-active'] : "") + " d-flex align-items-center w-100"
|
|
42086
|
+
}, React.createElement("span", {
|
|
42087
|
+
className: "mr-2 d-flex hover-opacity"
|
|
42088
|
+
}, React.createElement("img", {
|
|
42089
|
+
style: {
|
|
42090
|
+
width: "30px",
|
|
42091
|
+
height: "25px",
|
|
42092
|
+
borderRadius: "5px"
|
|
42093
|
+
},
|
|
42094
|
+
src: getStaticFileUrl(lang.image)
|
|
42095
|
+
})), lang.name));
|
|
42096
|
+
})));
|
|
42097
|
+
};
|
|
42098
|
+
|
|
42099
|
+
var TheHeader = function TheHeader(_ref) {
|
|
42100
|
+
var onToggleModel = _ref.onToggleModel;
|
|
42101
|
+
var dispatch = useDispatch();
|
|
42102
|
+
var sidebarShow = useSelector(function (state) {
|
|
42103
|
+
return state.common.sidebarShow;
|
|
42104
|
+
});
|
|
42105
|
+
|
|
42106
|
+
var _useTranslation = useTranslation(),
|
|
42107
|
+
t = _useTranslation.t;
|
|
42108
|
+
|
|
42109
|
+
var toggleSidebarMobile = function toggleSidebarMobile() {
|
|
42110
|
+
var val = [false, "responsive"].includes(sidebarShow) ? true : "responsive";
|
|
42111
|
+
dispatch(setSidebar(val));
|
|
42112
|
+
};
|
|
42113
|
+
|
|
42114
|
+
var isDistrict = window.location.host.includes("-district");
|
|
42115
|
+
return React.createElement(CHeader, {
|
|
42116
|
+
withSubheader: true,
|
|
42117
|
+
className: "d-flex align-items-center justify-content-end"
|
|
42118
|
+
}, React.createElement(CToggler, {
|
|
42119
|
+
inHeader: true,
|
|
42120
|
+
className: "ml-md-3 d-lg-none",
|
|
42121
|
+
onClick: toggleSidebarMobile
|
|
42122
|
+
}), React.createElement(CHeaderBrand, {
|
|
42123
|
+
className: "mx-auto flex-grow-1 d-lg-none",
|
|
42124
|
+
to: "/"
|
|
42125
|
+
}, React.createElement("img", {
|
|
42126
|
+
src: getStaticFileUrl(Images.LOGO_HEADER),
|
|
42127
|
+
className: styles["header-logo"]
|
|
42128
|
+
})), React.createElement(CHeaderNav, {
|
|
42129
|
+
className: "pr-3"
|
|
42130
|
+
}, React.createElement(TheLanguageDropdown, null), React.createElement("a", {
|
|
42131
|
+
className: "mr-3",
|
|
42132
|
+
style: {
|
|
42133
|
+
color: '#000'
|
|
42134
|
+
},
|
|
42135
|
+
href: '/privacy-policy',
|
|
42136
|
+
target: "blank"
|
|
42137
|
+
}, t("privacy_policy")), !isDistrict && React.createElement(NotificationButton, null), React.createElement(TheHeaderDropdown, {
|
|
42138
|
+
onToggleModel: onToggleModel
|
|
42139
|
+
})));
|
|
42140
|
+
};
|
|
42141
|
+
|
|
41936
42142
|
var TITLE$3 = "Not found";
|
|
41937
42143
|
|
|
41938
42144
|
var NotFound = function NotFound() {
|
|
@@ -41990,6 +42196,258 @@ var TheContent = function TheContent(_ref) {
|
|
|
41990
42196
|
|
|
41991
42197
|
var TheContent$1 = React.memo(TheContent);
|
|
41992
42198
|
|
|
42199
|
+
var loadingStyle = {
|
|
42200
|
+
minWidth: "100vw",
|
|
42201
|
+
minHeight: "100vh",
|
|
42202
|
+
position: "fixed",
|
|
42203
|
+
top: 0,
|
|
42204
|
+
left: 0,
|
|
42205
|
+
zIndex: 999999999,
|
|
42206
|
+
backgroundColor: "rgba(0, 0, 0, 0.4)",
|
|
42207
|
+
display: "flex",
|
|
42208
|
+
justifyContent: "center",
|
|
42209
|
+
alignItems: "center"
|
|
42210
|
+
};
|
|
42211
|
+
|
|
42212
|
+
var Loading = function Loading() {
|
|
42213
|
+
var isLoading = useSelector(function (state) {
|
|
42214
|
+
return state.common.isLoading;
|
|
42215
|
+
});
|
|
42216
|
+
localStorage.setItem("LAST_TIME_REQUETST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
|
|
42217
|
+
return isLoading ? React.createElement("div", {
|
|
42218
|
+
style: loadingStyle
|
|
42219
|
+
}, React.createElement("div", {
|
|
42220
|
+
className: "spinner-border text-secondary",
|
|
42221
|
+
role: "status"
|
|
42222
|
+
}, React.createElement("span", {
|
|
42223
|
+
className: "sr-only"
|
|
42224
|
+
}, "Loading..."))) : null;
|
|
42225
|
+
};
|
|
42226
|
+
|
|
42227
|
+
var firstCheckToken = function firstCheckToken() {
|
|
42228
|
+
return Promise.resolve(_catch(function () {
|
|
42229
|
+
var token = getAccessToken();
|
|
42230
|
+
return token ? Promise.resolve(checkToken(token)).then(function (tokenStatus) {
|
|
42231
|
+
return tokenStatus.data ? true : false;
|
|
42232
|
+
}) : false;
|
|
42233
|
+
}, function () {
|
|
42234
|
+
return false;
|
|
42235
|
+
}));
|
|
42236
|
+
};
|
|
42237
|
+
|
|
42238
|
+
var canAccess = function canAccess(userRoles, componentRoles) {
|
|
42239
|
+
if (!Array.isArray(userRoles)) {
|
|
42240
|
+
return false;
|
|
42241
|
+
}
|
|
42242
|
+
|
|
42243
|
+
if (Array.isArray(componentRoles)) {
|
|
42244
|
+
var intersects = userRoles.filter(function (i) {
|
|
42245
|
+
return componentRoles.includes(i);
|
|
42246
|
+
});
|
|
42247
|
+
return intersects.length > 0;
|
|
42248
|
+
}
|
|
42249
|
+
|
|
42250
|
+
return true;
|
|
42251
|
+
};
|
|
42252
|
+
|
|
42253
|
+
var ModelSelectRole = function ModelSelectRole(_ref) {
|
|
42254
|
+
var _handleUserRole;
|
|
42255
|
+
|
|
42256
|
+
var open = _ref.open,
|
|
42257
|
+
onToggleModel = _ref.onToggleModel;
|
|
42258
|
+
var dispatch = useDispatch();
|
|
42259
|
+
|
|
42260
|
+
var _useTranslation = useTranslation(),
|
|
42261
|
+
t = _useTranslation.t;
|
|
42262
|
+
|
|
42263
|
+
var history = useHistory();
|
|
42264
|
+
var pathname = window.location.pathname;
|
|
42265
|
+
var user = useSelector(function (state) {
|
|
42266
|
+
return state.common.user;
|
|
42267
|
+
});
|
|
42268
|
+
var roles = user === null || user === void 0 ? void 0 : user.roles;
|
|
42269
|
+
|
|
42270
|
+
var handleSelectUserRoles = function handleSelectUserRoles(roles) {
|
|
42271
|
+
dispatch(setLoading(true));
|
|
42272
|
+
var roleSelect = roles.includes("Teacher/Assistant") ? ["Teacher", "Assistant"] : roles;
|
|
42273
|
+
dispatch(setUser(_extends({}, user, {
|
|
42274
|
+
roles: roleSelect
|
|
42275
|
+
})));
|
|
42276
|
+
localStorage.setItem("ROLES", roleSelect.toString());
|
|
42277
|
+
onToggleModel();
|
|
42278
|
+
|
|
42279
|
+
if (roles.includes("Parent")) {
|
|
42280
|
+
history.push("/parent");
|
|
42281
|
+
} else if (roles.includes("Admin")) {
|
|
42282
|
+
history.push("/admin/home");
|
|
42283
|
+
} else {
|
|
42284
|
+
pathname !== "/home" ? history.push("/home") : window.location.reload();
|
|
42285
|
+
}
|
|
42286
|
+
};
|
|
42287
|
+
|
|
42288
|
+
return React.createElement(Modal, {
|
|
42289
|
+
isOpen: open,
|
|
42290
|
+
toggle: function toggle() {
|
|
42291
|
+
return onToggleModel();
|
|
42292
|
+
},
|
|
42293
|
+
className: "" + styles["model-switch-roles"],
|
|
42294
|
+
centered: true
|
|
42295
|
+
}, React.createElement("p", {
|
|
42296
|
+
className: "" + styles["title"]
|
|
42297
|
+
}, t("continue_as")), React.createElement("div", null, (_handleUserRole = handleUserRole(user === null || user === void 0 ? void 0 : user.roles)) === null || _handleUserRole === void 0 ? void 0 : _handleUserRole.map(function (r) {
|
|
42298
|
+
return React.createElement("p", {
|
|
42299
|
+
key: r,
|
|
42300
|
+
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" : ""],
|
|
42301
|
+
onClick: function onClick() {
|
|
42302
|
+
return handleSelectUserRoles([r]);
|
|
42303
|
+
}
|
|
42304
|
+
}, r == "SecondaryTeacher" ? "Support Teacher" : r);
|
|
42305
|
+
})));
|
|
42306
|
+
};
|
|
42307
|
+
|
|
42308
|
+
var TheLayout = function TheLayout(_ref) {
|
|
42309
|
+
var routes = _ref.routes,
|
|
42310
|
+
navigation = _ref.navigation;
|
|
42311
|
+
var history = useHistory();
|
|
42312
|
+
var dispatch = useDispatch();
|
|
42313
|
+
var user = useSelector(function (state) {
|
|
42314
|
+
return state.common.user;
|
|
42315
|
+
});
|
|
42316
|
+
var language = useSelector(function (state) {
|
|
42317
|
+
return state.common.language;
|
|
42318
|
+
});
|
|
42319
|
+
|
|
42320
|
+
var _useState = useState(false),
|
|
42321
|
+
openModelSelectRole = _useState[0],
|
|
42322
|
+
setOpenModelSelectRole = _useState[1];
|
|
42323
|
+
|
|
42324
|
+
var _useTranslation = useTranslation(),
|
|
42325
|
+
t = _useTranslation.t;
|
|
42326
|
+
|
|
42327
|
+
var location = useLocation();
|
|
42328
|
+
var isNotification = location.pathname.includes("notifications");
|
|
42329
|
+
var isDistrict = window.location.host.includes("-district");
|
|
42330
|
+
|
|
42331
|
+
var handleToggleModel = function handleToggleModel() {
|
|
42332
|
+
setOpenModelSelectRole(!openModelSelectRole);
|
|
42333
|
+
};
|
|
42334
|
+
|
|
42335
|
+
var authRoutes = useMemo(function () {
|
|
42336
|
+
return routes.filter(function (route) {
|
|
42337
|
+
return canAccess(user === null || user === void 0 ? void 0 : user.roles, route.roles);
|
|
42338
|
+
}).filter(function (route) {
|
|
42339
|
+
return !!route.isDistrict === isDistrict;
|
|
42340
|
+
});
|
|
42341
|
+
}, [user, language]);
|
|
42342
|
+
var authNavigations = useMemo(function () {
|
|
42343
|
+
return navigation.map(function (item) {
|
|
42344
|
+
var _item$_children, _item$_children2;
|
|
42345
|
+
|
|
42346
|
+
return _extends({}, item, {
|
|
42347
|
+
name: t(item.name),
|
|
42348
|
+
_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) {
|
|
42349
|
+
return _extends({}, x, {
|
|
42350
|
+
name: t(x.name)
|
|
42351
|
+
});
|
|
42352
|
+
}) : undefined
|
|
42353
|
+
});
|
|
42354
|
+
}).filter(function (nav) {
|
|
42355
|
+
return canAccess(user === null || user === void 0 ? void 0 : user.roles, nav.roles);
|
|
42356
|
+
}).filter(function (nav) {
|
|
42357
|
+
return !!nav.isDistrict === isDistrict;
|
|
42358
|
+
});
|
|
42359
|
+
}, [user, language]);
|
|
42360
|
+
|
|
42361
|
+
var getInformationSetting = function getInformationSetting() {
|
|
42362
|
+
try {
|
|
42363
|
+
var _temp2 = _catch(function () {
|
|
42364
|
+
return Promise.resolve(getSchoolSettings()).then(function (res) {
|
|
42365
|
+
dispatch(setSandboxMode(res.data.isSandboxMode));
|
|
42366
|
+
});
|
|
42367
|
+
}, function (err) {
|
|
42368
|
+
console.error(err);
|
|
42369
|
+
});
|
|
42370
|
+
|
|
42371
|
+
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
|
|
42372
|
+
} catch (e) {
|
|
42373
|
+
return Promise.reject(e);
|
|
42374
|
+
}
|
|
42375
|
+
};
|
|
42376
|
+
|
|
42377
|
+
useEffect(function () {
|
|
42378
|
+
checkAuthentication();
|
|
42379
|
+
}, []);
|
|
42380
|
+
useEffect(function () {
|
|
42381
|
+
getInformationSetting();
|
|
42382
|
+
}, [location.pathname]);
|
|
42383
|
+
|
|
42384
|
+
var checkAuthentication = function checkAuthentication() {
|
|
42385
|
+
try {
|
|
42386
|
+
var _temp4 = _catch(function () {
|
|
42387
|
+
return Promise.resolve(firstCheckToken()).then(function (tokenStatus) {
|
|
42388
|
+
tokenStatus ? loadInfo() : resetAuth();
|
|
42389
|
+
});
|
|
42390
|
+
}, function () {
|
|
42391
|
+
resetAuth();
|
|
42392
|
+
});
|
|
42393
|
+
|
|
42394
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
|
|
42395
|
+
} catch (e) {
|
|
42396
|
+
return Promise.reject(e);
|
|
42397
|
+
}
|
|
42398
|
+
};
|
|
42399
|
+
|
|
42400
|
+
var loadInfo = function loadInfo() {
|
|
42401
|
+
try {
|
|
42402
|
+
var _temp6 = _catch(function () {
|
|
42403
|
+
return Promise.resolve(getInfo()).then(function (info) {
|
|
42404
|
+
var _info$data, _info$data$roles;
|
|
42405
|
+
|
|
42406
|
+
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"))) {
|
|
42407
|
+
resetAuth();
|
|
42408
|
+
}
|
|
42409
|
+
|
|
42410
|
+
dispatch(setUser(info.data));
|
|
42411
|
+
});
|
|
42412
|
+
}, function () {
|
|
42413
|
+
resetAuth();
|
|
42414
|
+
});
|
|
42415
|
+
|
|
42416
|
+
return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
|
|
42417
|
+
} catch (e) {
|
|
42418
|
+
return Promise.reject(e);
|
|
42419
|
+
}
|
|
42420
|
+
};
|
|
42421
|
+
|
|
42422
|
+
var resetAuth = function resetAuth() {
|
|
42423
|
+
localStorage.removeItem(ACCESS_TOKEN);
|
|
42424
|
+
sessionStorage.removeItem(ACCESS_TOKEN);
|
|
42425
|
+
localStorage.removeItem("ROLES");
|
|
42426
|
+
history.push("/");
|
|
42427
|
+
};
|
|
42428
|
+
|
|
42429
|
+
if (!user) {
|
|
42430
|
+
return React.createElement(Loading, null);
|
|
42431
|
+
}
|
|
42432
|
+
|
|
42433
|
+
return React.createElement("div", {
|
|
42434
|
+
className: "c-app c-default-layout"
|
|
42435
|
+
}, !isNotification && React.createElement(TheSidebar, {
|
|
42436
|
+
navigation: authNavigations
|
|
42437
|
+
}), React.createElement("div", {
|
|
42438
|
+
className: "c-wrapper"
|
|
42439
|
+
}, !isNotification && React.createElement(TheHeader, {
|
|
42440
|
+
onToggleModel: handleToggleModel
|
|
42441
|
+
}), React.createElement("div", {
|
|
42442
|
+
className: "c-body bg-white"
|
|
42443
|
+
}, React.createElement(TheContent$1, {
|
|
42444
|
+
routes: authRoutes
|
|
42445
|
+
}))), React.createElement(ModelSelectRole, {
|
|
42446
|
+
open: openModelSelectRole,
|
|
42447
|
+
onToggleModel: handleToggleModel
|
|
42448
|
+
}));
|
|
42449
|
+
};
|
|
42450
|
+
|
|
41993
42451
|
var buttonTextStyle = {
|
|
41994
42452
|
fontWeight: 500
|
|
41995
42453
|
};
|
|
@@ -51370,34 +51828,6 @@ var UserDetail = function UserDetail() {
|
|
|
51370
51828
|
});
|
|
51371
51829
|
};
|
|
51372
51830
|
|
|
51373
|
-
var loadingStyle = {
|
|
51374
|
-
minWidth: "100vw",
|
|
51375
|
-
minHeight: "100vh",
|
|
51376
|
-
position: "fixed",
|
|
51377
|
-
top: 0,
|
|
51378
|
-
left: 0,
|
|
51379
|
-
zIndex: 999999999,
|
|
51380
|
-
backgroundColor: "rgba(0, 0, 0, 0.4)",
|
|
51381
|
-
display: "flex",
|
|
51382
|
-
justifyContent: "center",
|
|
51383
|
-
alignItems: "center"
|
|
51384
|
-
};
|
|
51385
|
-
|
|
51386
|
-
var Loading = function Loading() {
|
|
51387
|
-
var isLoading = useSelector(function (state) {
|
|
51388
|
-
return state.common.isLoading;
|
|
51389
|
-
});
|
|
51390
|
-
localStorage.setItem("LAST_TIME_REQUETST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
|
|
51391
|
-
return isLoading ? React.createElement("div", {
|
|
51392
|
-
style: loadingStyle
|
|
51393
|
-
}, React.createElement("div", {
|
|
51394
|
-
className: "spinner-border text-secondary",
|
|
51395
|
-
role: "status"
|
|
51396
|
-
}, React.createElement("span", {
|
|
51397
|
-
className: "sr-only"
|
|
51398
|
-
}, "Loading..."))) : null;
|
|
51399
|
-
};
|
|
51400
|
-
|
|
51401
51831
|
var ScrollToTop = function ScrollToTop() {
|
|
51402
51832
|
var _useLocation = useLocation(),
|
|
51403
51833
|
pathname = _useLocation.pathname;
|
|
@@ -51505,7 +51935,12 @@ var CommonHeader = function CommonHeader(_ref) {
|
|
|
51505
51935
|
}, header))));
|
|
51506
51936
|
};
|
|
51507
51937
|
|
|
51938
|
+
var IDLE_MINUTES_WARNING = 13;
|
|
51939
|
+
var AUTO_LOGOUT_MINUTES = 15;
|
|
51940
|
+
|
|
51508
51941
|
var NotificationLogoutModal = function NotificationLogoutModal() {
|
|
51942
|
+
var history = useHistory();
|
|
51943
|
+
|
|
51509
51944
|
var _useState = useState(false),
|
|
51510
51945
|
isOpen = _useState[0],
|
|
51511
51946
|
setIsOpen = _useState[1];
|
|
@@ -51517,37 +51952,65 @@ var NotificationLogoutModal = function NotificationLogoutModal() {
|
|
|
51517
51952
|
objTime = _useState2[0],
|
|
51518
51953
|
setObjTime = _useState2[1];
|
|
51519
51954
|
|
|
51955
|
+
var getLastActivity = function getLastActivity() {
|
|
51956
|
+
try {
|
|
51957
|
+
var _localStorage$getItem, _localStorage, _localStorage$getItem2;
|
|
51958
|
+
|
|
51959
|
+
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;
|
|
51960
|
+
} catch (_unused) {
|
|
51961
|
+
return null;
|
|
51962
|
+
}
|
|
51963
|
+
};
|
|
51964
|
+
|
|
51965
|
+
var doLogout = function doLogout() {
|
|
51966
|
+
localStorage.removeItem(ACCESS_TOKEN);
|
|
51967
|
+
sessionStorage.removeItem(ACCESS_TOKEN);
|
|
51968
|
+
localStorage.removeItem("ROLES");
|
|
51969
|
+
localStorage.removeItem("LAST_ACTIVITY_TIME");
|
|
51970
|
+
setIsOpen(false);
|
|
51971
|
+
history.replace("/login");
|
|
51972
|
+
};
|
|
51973
|
+
|
|
51520
51974
|
var checkOpenModalLogout = function checkOpenModalLogout() {
|
|
51521
|
-
var
|
|
51522
|
-
|
|
51975
|
+
var accessToken = getAccessToken();
|
|
51976
|
+
if (!accessToken) return;
|
|
51977
|
+
var lastActivity = getLastActivity();
|
|
51978
|
+
|
|
51979
|
+
if (!lastActivity) {
|
|
51980
|
+
var _localStorage2, _localStorage2$setIte;
|
|
51981
|
+
|
|
51982
|
+
(_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());
|
|
51983
|
+
return;
|
|
51984
|
+
}
|
|
51985
|
+
|
|
51986
|
+
var timeMoment = moment(lastActivity, "YYYY-MM-DD HH:mm");
|
|
51523
51987
|
var currentTime = moment(moment().utc().format("YYYY-MM-DD HH:mm"));
|
|
51524
51988
|
var minutes = currentTime.diff(timeMoment, "minutes");
|
|
51525
|
-
var timeLogout = utcToLocalTime(currentTime.add(16 - minutes, 'minutes').format("YYYY-MM-DD HH:mm"), "HH:mm");
|
|
51526
51989
|
|
|
51527
|
-
if (minutes
|
|
51528
|
-
|
|
51990
|
+
if (minutes >= AUTO_LOGOUT_MINUTES) {
|
|
51991
|
+
doLogout();
|
|
51992
|
+
return;
|
|
51993
|
+
}
|
|
51994
|
+
|
|
51995
|
+
var timeLogout = utcToLocalTime(currentTime.add(AUTO_LOGOUT_MINUTES - minutes, 'minutes').format("YYYY-MM-DD HH:mm"), "HH:mm");
|
|
51996
|
+
|
|
51997
|
+
if (minutes >= IDLE_MINUTES_WARNING) {
|
|
51998
|
+
setObjTime({
|
|
51529
51999
|
minutes: minutes,
|
|
51530
52000
|
timeLogout: timeLogout
|
|
51531
|
-
};
|
|
51532
|
-
|
|
51533
|
-
onToggle();
|
|
52001
|
+
});
|
|
52002
|
+
setIsOpen(true);
|
|
51534
52003
|
}
|
|
51535
52004
|
};
|
|
51536
52005
|
|
|
51537
52006
|
useEffect(function () {
|
|
51538
|
-
var
|
|
51539
|
-
|
|
51540
|
-
|
|
51541
|
-
|
|
51542
|
-
|
|
51543
|
-
|
|
51544
|
-
|
|
51545
|
-
return clearInterval(interval);
|
|
51546
|
-
};
|
|
51547
|
-
}
|
|
51548
|
-
|
|
51549
|
-
return;
|
|
51550
|
-
}, [location.href]);
|
|
52007
|
+
var interval = setInterval(function () {
|
|
52008
|
+
checkOpenModalLogout();
|
|
52009
|
+
}, 60 * 1000);
|
|
52010
|
+
return function () {
|
|
52011
|
+
return clearInterval(interval);
|
|
52012
|
+
};
|
|
52013
|
+
}, []);
|
|
51551
52014
|
|
|
51552
52015
|
var onToggle = function onToggle() {
|
|
51553
52016
|
setIsOpen(!isOpen);
|
|
@@ -51559,7 +52022,7 @@ var NotificationLogoutModal = function NotificationLogoutModal() {
|
|
|
51559
52022
|
size: "xs"
|
|
51560
52023
|
}, React.createElement(ModalHeader, {
|
|
51561
52024
|
toggle: onToggle
|
|
51562
|
-
}, "Notification Logout"), React.createElement(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 " + (
|
|
52025
|
+
}, "Notification Logout"), React.createElement(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.createElement(ModalFooter, {
|
|
51563
52026
|
className: "text-right"
|
|
51564
52027
|
}, React.createElement(Button, {
|
|
51565
52028
|
color: "primary",
|
|
@@ -54421,32 +54884,6 @@ var store = configureStore({
|
|
|
54421
54884
|
}
|
|
54422
54885
|
});
|
|
54423
54886
|
|
|
54424
|
-
var firstCheckToken = function firstCheckToken() {
|
|
54425
|
-
return Promise.resolve(_catch(function () {
|
|
54426
|
-
var token = getAccessToken();
|
|
54427
|
-
return token ? Promise.resolve(checkToken(token)).then(function (tokenStatus) {
|
|
54428
|
-
return tokenStatus.data ? true : false;
|
|
54429
|
-
}) : false;
|
|
54430
|
-
}, function () {
|
|
54431
|
-
return false;
|
|
54432
|
-
}));
|
|
54433
|
-
};
|
|
54434
|
-
|
|
54435
|
-
var canAccess = function canAccess(userRoles, componentRoles) {
|
|
54436
|
-
if (!Array.isArray(userRoles)) {
|
|
54437
|
-
return false;
|
|
54438
|
-
}
|
|
54439
|
-
|
|
54440
|
-
if (Array.isArray(componentRoles)) {
|
|
54441
|
-
var intersects = userRoles.filter(function (i) {
|
|
54442
|
-
return componentRoles.includes(i);
|
|
54443
|
-
});
|
|
54444
|
-
return intersects.length > 0;
|
|
54445
|
-
}
|
|
54446
|
-
|
|
54447
|
-
return true;
|
|
54448
|
-
};
|
|
54449
|
-
|
|
54450
54887
|
var isInViewport = function isInViewport(el) {
|
|
54451
54888
|
var rect = el === null || el === void 0 ? void 0 : el.getBoundingClientRect();
|
|
54452
54889
|
return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth);
|
|
@@ -54480,411 +54917,7 @@ var generateRandomString = (function () {
|
|
|
54480
54917
|
return (Math.random() + 1).toString(36).substring(7);
|
|
54481
54918
|
});
|
|
54482
54919
|
|
|
54483
|
-
var apiGetLanguage = function apiGetLanguage() {
|
|
54484
|
-
return api.get(BASE_URL + "/api/language");
|
|
54485
|
-
};
|
|
54486
|
-
|
|
54487
|
-
var apiUpdateLanguage = function apiUpdateLanguage(lang) {
|
|
54488
|
-
return api.put(BASE_URL + "/api/language?lang=" + lang);
|
|
54489
|
-
};
|
|
54490
|
-
|
|
54491
|
-
var LANGUAGE_SYSTEM = "LANGUAGE_SYSTEM";
|
|
54492
|
-
|
|
54493
|
-
var useLanguages = function useLanguages() {
|
|
54494
|
-
var dispatch = useDispatch();
|
|
54495
|
-
|
|
54496
|
-
var _useTranslation = useTranslation(),
|
|
54497
|
-
i18n = _useTranslation.i18n;
|
|
54498
|
-
|
|
54499
|
-
var language = useSelector(function (state) {
|
|
54500
|
-
return state.common.language;
|
|
54501
|
-
});
|
|
54502
|
-
var defaultLanguage = getCookieValue(LANGUAGE_SYSTEM) != null ? getCookieValue(LANGUAGE_SYSTEM) : DEFAULT_LANGUAGE_CODE;
|
|
54503
|
-
|
|
54504
|
-
var _useState = useState([]),
|
|
54505
|
-
languageList = _useState[0],
|
|
54506
|
-
setLanguageList = _useState[1];
|
|
54507
|
-
|
|
54508
|
-
var _useState2 = useState(false),
|
|
54509
|
-
dropdownOpen = _useState2[0],
|
|
54510
|
-
setDropdownOpen = _useState2[1];
|
|
54511
|
-
|
|
54512
|
-
var _useState3 = useState(defaultLanguage),
|
|
54513
|
-
currentLang = _useState3[0],
|
|
54514
|
-
setCurrentLang = _useState3[1];
|
|
54515
|
-
|
|
54516
|
-
var toggle = function toggle() {
|
|
54517
|
-
return setDropdownOpen(function (prevState) {
|
|
54518
|
-
return !prevState;
|
|
54519
|
-
});
|
|
54520
|
-
};
|
|
54521
|
-
|
|
54522
|
-
var changeLanguageApp = function changeLanguageApp(lang) {
|
|
54523
|
-
try {
|
|
54524
|
-
var _temp3 = function _temp3() {
|
|
54525
|
-
dispatch(setLoading(false));
|
|
54526
|
-
};
|
|
54527
|
-
|
|
54528
|
-
dispatch(setLoading(true));
|
|
54529
|
-
|
|
54530
|
-
var _temp4 = _catch(function () {
|
|
54531
|
-
return Promise.resolve(apiUpdateLanguage(lang)).then(function () {
|
|
54532
|
-
i18n.changeLanguage(lang);
|
|
54533
|
-
setCurrentLang(lang);
|
|
54534
|
-
dispatch(setLanguage(lang));
|
|
54535
|
-
});
|
|
54536
|
-
}, function (err) {
|
|
54537
|
-
var _err$response, _err$response$data;
|
|
54538
|
-
|
|
54539
|
-
dispatch(setAlert({
|
|
54540
|
-
type: "danger",
|
|
54541
|
-
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
|
|
54542
|
-
}));
|
|
54543
|
-
});
|
|
54544
|
-
|
|
54545
|
-
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
|
|
54546
|
-
} catch (e) {
|
|
54547
|
-
return Promise.reject(e);
|
|
54548
|
-
}
|
|
54549
|
-
};
|
|
54550
|
-
|
|
54551
|
-
var getListLanguage = function getListLanguage() {
|
|
54552
|
-
try {
|
|
54553
|
-
var _temp6 = _catch(function () {
|
|
54554
|
-
return Promise.resolve(apiGetLanguage()).then(function (res) {
|
|
54555
|
-
setLanguageList(res.data);
|
|
54556
|
-
});
|
|
54557
|
-
}, function (err) {
|
|
54558
|
-
var _err$response2, _err$response2$data;
|
|
54559
|
-
|
|
54560
|
-
dispatch(setAlert({
|
|
54561
|
-
type: "danger",
|
|
54562
|
-
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
|
|
54563
|
-
}));
|
|
54564
|
-
});
|
|
54565
|
-
|
|
54566
|
-
return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
|
|
54567
|
-
} catch (e) {
|
|
54568
|
-
return Promise.reject(e);
|
|
54569
|
-
}
|
|
54570
|
-
};
|
|
54571
|
-
|
|
54572
|
-
useEffect(function () {
|
|
54573
|
-
defaultLanguage != language && changeLanguageApp(defaultLanguage);
|
|
54574
|
-
getListLanguage();
|
|
54575
|
-
}, []);
|
|
54576
|
-
return {
|
|
54577
|
-
languageList: languageList,
|
|
54578
|
-
toggle: toggle,
|
|
54579
|
-
dropdownOpen: dropdownOpen,
|
|
54580
|
-
currentLang: currentLang,
|
|
54581
|
-
changeLanguageApp: changeLanguageApp,
|
|
54582
|
-
setCurrentLang: setCurrentLang
|
|
54583
|
-
};
|
|
54584
|
-
};
|
|
54585
|
-
|
|
54586
|
-
var TheLanguageDropdown = function TheLanguageDropdown() {
|
|
54587
|
-
var _useLanguages = useLanguages(),
|
|
54588
|
-
languageList = _useLanguages.languageList,
|
|
54589
|
-
toggle = _useLanguages.toggle,
|
|
54590
|
-
dropdownOpen = _useLanguages.dropdownOpen,
|
|
54591
|
-
currentLang = _useLanguages.currentLang,
|
|
54592
|
-
changeLanguageApp = _useLanguages.changeLanguageApp;
|
|
54593
|
-
|
|
54594
|
-
var currentLanguage = useMemo(function () {
|
|
54595
|
-
var current = languageList.find(function (i) {
|
|
54596
|
-
return i.code === currentLang;
|
|
54597
|
-
});
|
|
54598
|
-
if (!current) return null;
|
|
54599
|
-
return React.createElement(React.Fragment, null, React.createElement("img", {
|
|
54600
|
-
className: "mr-2 " + styles['dropdown-menu-flag'],
|
|
54601
|
-
src: "" + getStaticFileUrl(current.image)
|
|
54602
|
-
}), " ", current.name);
|
|
54603
|
-
}, [currentLang, languageList]);
|
|
54604
|
-
return React.createElement(Dropdown, {
|
|
54605
|
-
isOpen: dropdownOpen,
|
|
54606
|
-
toggle: toggle,
|
|
54607
|
-
className: "" + styles["dropdown-menu"]
|
|
54608
|
-
}, React.createElement(DropdownToggle, {
|
|
54609
|
-
className: styles["header-avatar"] + " d-flex align-items-center"
|
|
54610
|
-
}, React.createElement("span", {
|
|
54611
|
-
style: {
|
|
54612
|
-
color: "#000",
|
|
54613
|
-
textTransform: "capitalize",
|
|
54614
|
-
display: 'flex',
|
|
54615
|
-
alignItems: 'center'
|
|
54616
|
-
}
|
|
54617
|
-
}, currentLanguage, React.createElement(BsChevronDown, {
|
|
54618
|
-
className: "ml-2",
|
|
54619
|
-
style: {
|
|
54620
|
-
fontSize: '10px'
|
|
54621
|
-
}
|
|
54622
|
-
}))), React.createElement(DropdownMenu, {
|
|
54623
|
-
className: styles["dropdown-content-language"]
|
|
54624
|
-
}, !!languageList && languageList.length > 0 && languageList.map(function (lang, index) {
|
|
54625
|
-
return React.createElement(DropdownItem, {
|
|
54626
|
-
key: lang.code,
|
|
54627
|
-
className: styles["dropdown-change"] + " px-0 py-0 " + (index === languageList.length - 1 ? "pb-2" : "pt-2"),
|
|
54628
|
-
onClick: function onClick() {
|
|
54629
|
-
return changeLanguageApp(lang.code);
|
|
54630
|
-
}
|
|
54631
|
-
}, React.createElement("div", {
|
|
54632
|
-
className: styles["dropdown-item-language"] + " " + styles["item-logout"] + " " + (currentLang == lang.code ? styles['dropdown-item-language-active'] : "") + " d-flex align-items-center w-100"
|
|
54633
|
-
}, React.createElement("span", {
|
|
54634
|
-
className: "mr-2 d-flex hover-opacity"
|
|
54635
|
-
}, React.createElement("img", {
|
|
54636
|
-
style: {
|
|
54637
|
-
width: "30px",
|
|
54638
|
-
height: "25px",
|
|
54639
|
-
borderRadius: "5px"
|
|
54640
|
-
},
|
|
54641
|
-
src: getStaticFileUrl(lang.image)
|
|
54642
|
-
})), lang.name));
|
|
54643
|
-
})));
|
|
54644
|
-
};
|
|
54645
|
-
|
|
54646
|
-
var TheHeader = function TheHeader(_ref) {
|
|
54647
|
-
var onToggleModel = _ref.onToggleModel;
|
|
54648
|
-
var dispatch = useDispatch();
|
|
54649
|
-
var sidebarShow = useSelector(function (state) {
|
|
54650
|
-
return state.common.sidebarShow;
|
|
54651
|
-
});
|
|
54652
|
-
|
|
54653
|
-
var _useTranslation = useTranslation(),
|
|
54654
|
-
t = _useTranslation.t;
|
|
54655
|
-
|
|
54656
|
-
var toggleSidebarMobile = function toggleSidebarMobile() {
|
|
54657
|
-
var val = [false, "responsive"].includes(sidebarShow) ? true : "responsive";
|
|
54658
|
-
dispatch(setSidebar(val));
|
|
54659
|
-
};
|
|
54660
|
-
|
|
54661
|
-
var isDistrict = window.location.host.includes("-district");
|
|
54662
|
-
return React.createElement(CHeader, {
|
|
54663
|
-
withSubheader: true,
|
|
54664
|
-
className: "d-flex align-items-center justify-content-end"
|
|
54665
|
-
}, React.createElement(CToggler, {
|
|
54666
|
-
inHeader: true,
|
|
54667
|
-
className: "ml-md-3 d-lg-none",
|
|
54668
|
-
onClick: toggleSidebarMobile
|
|
54669
|
-
}), React.createElement(CHeaderBrand, {
|
|
54670
|
-
className: "mx-auto flex-grow-1 d-lg-none",
|
|
54671
|
-
to: "/"
|
|
54672
|
-
}, React.createElement("img", {
|
|
54673
|
-
src: getStaticFileUrl(Images.LOGO_HEADER),
|
|
54674
|
-
className: styles["header-logo"]
|
|
54675
|
-
})), React.createElement(CHeaderNav, {
|
|
54676
|
-
className: "pr-3"
|
|
54677
|
-
}, React.createElement(TheLanguageDropdown, null), React.createElement("a", {
|
|
54678
|
-
className: "mr-3",
|
|
54679
|
-
style: {
|
|
54680
|
-
color: '#000'
|
|
54681
|
-
},
|
|
54682
|
-
href: '/privacy-policy',
|
|
54683
|
-
target: "blank"
|
|
54684
|
-
}, t("privacy_policy")), !isDistrict && React.createElement(NotificationButton, null), React.createElement(TheHeaderDropdown, {
|
|
54685
|
-
onToggleModel: onToggleModel
|
|
54686
|
-
})));
|
|
54687
|
-
};
|
|
54688
|
-
|
|
54689
|
-
var ModelSelectRole = function ModelSelectRole(_ref) {
|
|
54690
|
-
var _handleUserRole;
|
|
54691
|
-
|
|
54692
|
-
var open = _ref.open,
|
|
54693
|
-
onToggleModel = _ref.onToggleModel;
|
|
54694
|
-
var dispatch = useDispatch();
|
|
54695
|
-
|
|
54696
|
-
var _useTranslation = useTranslation(),
|
|
54697
|
-
t = _useTranslation.t;
|
|
54698
|
-
|
|
54699
|
-
var history = useHistory();
|
|
54700
|
-
var pathname = window.location.pathname;
|
|
54701
|
-
var user = useSelector(function (state) {
|
|
54702
|
-
return state.common.user;
|
|
54703
|
-
});
|
|
54704
|
-
var roles = user === null || user === void 0 ? void 0 : user.roles;
|
|
54705
|
-
|
|
54706
|
-
var handleSelectUserRoles = function handleSelectUserRoles(roles) {
|
|
54707
|
-
dispatch(setLoading(true));
|
|
54708
|
-
var roleSelect = roles.includes("Teacher/Assistant") ? ["Teacher", "Assistant"] : roles;
|
|
54709
|
-
dispatch(setUser(_extends({}, user, {
|
|
54710
|
-
roles: roleSelect
|
|
54711
|
-
})));
|
|
54712
|
-
localStorage.setItem("ROLES", roleSelect.toString());
|
|
54713
|
-
onToggleModel();
|
|
54714
|
-
|
|
54715
|
-
if (roles.includes("Parent")) {
|
|
54716
|
-
history.push("/parent");
|
|
54717
|
-
} else if (roles.includes("Admin")) {
|
|
54718
|
-
history.push("/admin/home");
|
|
54719
|
-
} else {
|
|
54720
|
-
pathname !== "/home" ? history.push("/home") : window.location.reload();
|
|
54721
|
-
}
|
|
54722
|
-
};
|
|
54723
|
-
|
|
54724
|
-
return React.createElement(Modal, {
|
|
54725
|
-
isOpen: open,
|
|
54726
|
-
toggle: function toggle() {
|
|
54727
|
-
return onToggleModel();
|
|
54728
|
-
},
|
|
54729
|
-
className: "" + styles["model-switch-roles"],
|
|
54730
|
-
centered: true
|
|
54731
|
-
}, React.createElement("p", {
|
|
54732
|
-
className: "" + styles["title"]
|
|
54733
|
-
}, t("continue_as")), React.createElement("div", null, (_handleUserRole = handleUserRole(user === null || user === void 0 ? void 0 : user.roles)) === null || _handleUserRole === void 0 ? void 0 : _handleUserRole.map(function (r) {
|
|
54734
|
-
return React.createElement("p", {
|
|
54735
|
-
key: r,
|
|
54736
|
-
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" : ""],
|
|
54737
|
-
onClick: function onClick() {
|
|
54738
|
-
return handleSelectUserRoles([r]);
|
|
54739
|
-
}
|
|
54740
|
-
}, r == "SecondaryTeacher" ? "Support Teacher" : r);
|
|
54741
|
-
})));
|
|
54742
|
-
};
|
|
54743
|
-
|
|
54744
|
-
var TheLayout = function TheLayout(_ref) {
|
|
54745
|
-
var routes = _ref.routes,
|
|
54746
|
-
navigation = _ref.navigation;
|
|
54747
|
-
var history = useHistory();
|
|
54748
|
-
var dispatch = useDispatch();
|
|
54749
|
-
var user = useSelector(function (state) {
|
|
54750
|
-
return state.common.user;
|
|
54751
|
-
});
|
|
54752
|
-
var language = useSelector(function (state) {
|
|
54753
|
-
return state.common.language;
|
|
54754
|
-
});
|
|
54755
|
-
|
|
54756
|
-
var _useState = useState(false),
|
|
54757
|
-
openModelSelectRole = _useState[0],
|
|
54758
|
-
setOpenModelSelectRole = _useState[1];
|
|
54759
|
-
|
|
54760
|
-
var _useTranslation = useTranslation(),
|
|
54761
|
-
t = _useTranslation.t;
|
|
54762
|
-
|
|
54763
|
-
var location = useLocation();
|
|
54764
|
-
var isNotification = location.pathname.includes("notifications");
|
|
54765
|
-
var isDistrict = window.location.host.includes("-district");
|
|
54766
|
-
|
|
54767
|
-
var handleToggleModel = function handleToggleModel() {
|
|
54768
|
-
setOpenModelSelectRole(!openModelSelectRole);
|
|
54769
|
-
};
|
|
54770
|
-
|
|
54771
|
-
var authRoutes = useMemo(function () {
|
|
54772
|
-
return routes.filter(function (route) {
|
|
54773
|
-
return canAccess(user === null || user === void 0 ? void 0 : user.roles, route.roles);
|
|
54774
|
-
}).filter(function (route) {
|
|
54775
|
-
return !!route.isDistrict === isDistrict;
|
|
54776
|
-
});
|
|
54777
|
-
}, [user, language]);
|
|
54778
|
-
var authNavigations = useMemo(function () {
|
|
54779
|
-
return navigation.map(function (item) {
|
|
54780
|
-
var _item$_children, _item$_children2;
|
|
54781
|
-
|
|
54782
|
-
return _extends({}, item, {
|
|
54783
|
-
name: t(item.name),
|
|
54784
|
-
_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) {
|
|
54785
|
-
return _extends({}, x, {
|
|
54786
|
-
name: t(x.name)
|
|
54787
|
-
});
|
|
54788
|
-
}) : undefined
|
|
54789
|
-
});
|
|
54790
|
-
}).filter(function (nav) {
|
|
54791
|
-
return canAccess(user === null || user === void 0 ? void 0 : user.roles, nav.roles);
|
|
54792
|
-
}).filter(function (nav) {
|
|
54793
|
-
return !!nav.isDistrict === isDistrict;
|
|
54794
|
-
});
|
|
54795
|
-
}, [user, language]);
|
|
54796
|
-
|
|
54797
|
-
var getInformationSetting = function getInformationSetting() {
|
|
54798
|
-
try {
|
|
54799
|
-
var _temp2 = _catch(function () {
|
|
54800
|
-
return Promise.resolve(getSchoolSettings()).then(function (res) {
|
|
54801
|
-
dispatch(setSandboxMode(res.data.isSandboxMode));
|
|
54802
|
-
});
|
|
54803
|
-
}, function (err) {
|
|
54804
|
-
console.error(err);
|
|
54805
|
-
});
|
|
54806
|
-
|
|
54807
|
-
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
|
|
54808
|
-
} catch (e) {
|
|
54809
|
-
return Promise.reject(e);
|
|
54810
|
-
}
|
|
54811
|
-
};
|
|
54812
|
-
|
|
54813
|
-
useEffect(function () {
|
|
54814
|
-
checkAuthentication();
|
|
54815
|
-
}, []);
|
|
54816
|
-
useEffect(function () {
|
|
54817
|
-
getInformationSetting();
|
|
54818
|
-
}, [location.pathname]);
|
|
54819
|
-
|
|
54820
|
-
var checkAuthentication = function checkAuthentication() {
|
|
54821
|
-
try {
|
|
54822
|
-
var _temp4 = _catch(function () {
|
|
54823
|
-
return Promise.resolve(firstCheckToken()).then(function (tokenStatus) {
|
|
54824
|
-
tokenStatus ? loadInfo() : resetAuth();
|
|
54825
|
-
});
|
|
54826
|
-
}, function () {
|
|
54827
|
-
resetAuth();
|
|
54828
|
-
});
|
|
54829
|
-
|
|
54830
|
-
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
|
|
54831
|
-
} catch (e) {
|
|
54832
|
-
return Promise.reject(e);
|
|
54833
|
-
}
|
|
54834
|
-
};
|
|
54835
|
-
|
|
54836
|
-
var loadInfo = function loadInfo() {
|
|
54837
|
-
try {
|
|
54838
|
-
var _temp6 = _catch(function () {
|
|
54839
|
-
return Promise.resolve(getInfo()).then(function (info) {
|
|
54840
|
-
var _info$data, _info$data$roles;
|
|
54841
|
-
|
|
54842
|
-
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"))) {
|
|
54843
|
-
resetAuth();
|
|
54844
|
-
}
|
|
54845
|
-
|
|
54846
|
-
dispatch(setUser(info.data));
|
|
54847
|
-
});
|
|
54848
|
-
}, function () {
|
|
54849
|
-
resetAuth();
|
|
54850
|
-
});
|
|
54851
|
-
|
|
54852
|
-
return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
|
|
54853
|
-
} catch (e) {
|
|
54854
|
-
return Promise.reject(e);
|
|
54855
|
-
}
|
|
54856
|
-
};
|
|
54857
|
-
|
|
54858
|
-
var resetAuth = function resetAuth() {
|
|
54859
|
-
localStorage.removeItem(ACCESS_TOKEN);
|
|
54860
|
-
sessionStorage.removeItem(ACCESS_TOKEN);
|
|
54861
|
-
localStorage.removeItem("ROLES");
|
|
54862
|
-
history.push("/");
|
|
54863
|
-
};
|
|
54864
|
-
|
|
54865
|
-
if (!user) {
|
|
54866
|
-
return React.createElement(Loading, null);
|
|
54867
|
-
}
|
|
54868
|
-
|
|
54869
|
-
return React.createElement("div", {
|
|
54870
|
-
className: "c-app c-default-layout"
|
|
54871
|
-
}, !isNotification && React.createElement(TheSidebar, {
|
|
54872
|
-
navigation: authNavigations
|
|
54873
|
-
}), React.createElement("div", {
|
|
54874
|
-
className: "c-wrapper"
|
|
54875
|
-
}, !isNotification && React.createElement(TheHeader, {
|
|
54876
|
-
onToggleModel: handleToggleModel
|
|
54877
|
-
}), React.createElement("div", {
|
|
54878
|
-
className: "c-body bg-white"
|
|
54879
|
-
}, React.createElement(TheContent$1, {
|
|
54880
|
-
routes: authRoutes
|
|
54881
|
-
}))), React.createElement(ModelSelectRole, {
|
|
54882
|
-
open: openModelSelectRole,
|
|
54883
|
-
onToggleModel: handleToggleModel
|
|
54884
|
-
}));
|
|
54885
|
-
};
|
|
54886
|
-
|
|
54887
54920
|
var amplitudeClient = amplitude;
|
|
54888
54921
|
|
|
54889
|
-
export { ACCESS_TOKEN, ANSWER_EDITOR_HEIGHT, AcademicClassSelector, AddButton, BASE_URL, CHAT_CHANNEL, CategorySelector, CommonAlert, CommonHeader, CommonModal$1 as CommonModal, CreatableSelector, CustomPagination, CustomSelector, CustomTabs as CustomTab, DATE_FORMAT, DATE_RESULT, DEFAULT_FILTER, DEFAULT_LANGUAGE_CODE, Dashboard, DeleteButtonIcon, DetailActionButtons, EMOTIONS, EditButtonIcon, EmailTemplateDetail, EmailTemplateList, EmptyDataAlert, ErrorHandler, FULL_DATE_RESULT, FaqList, InputFile as FileInput, GOOGLE_RECAPTCHA_KEY, GalleryList, INIT_AMPLITUDE_KEY_PROD, INIT_AMPLITUDE_KEY_STAGE, IS_USER_SESSION_BROWSER, Images, LANGUAGES, LICENSE_AGGRID, LinkEditButton, Loading, Login, MediaList, NOTIFICATION_ALERT_KEY, NOTIFICATION_CHANNEL, NotFound, NotificationList, NotificationLogoutModal, NotificationModal, QUESTION_TYPES, QUESTION_TYPES_OPTIONS, QuestionCategorySelector, QuestionTypeSelector, QuitPrompt, ReactNotification, RequiredLabel$1 as RequiredLabel, SANDBOX_NOTIFICATION, SUPPORTED_LANGUAGES_CODE, SandboxAlert, SchoolList, ScrollToTop, SearchBox$1 as SearchBox, SearchBoxContainer, SkillList, StarRatingSelector, SuggestionCategorySelector, TAB_COLORS, TINY_MCE_API_KEY, TheContent$1 as TheContent, TheLayout, ToggleButton, UploadFileButton, UserContainer, UserDetail, UserList, addTab, amplitudeClient, answerQuestion, answerQuestionDataPlayer, api, apiUpload, canAccess as canAccessRoute, changeNote, changeTags, clearTab, closeTab, debounce, editTab, editorConfig, firstCheckToken, generateRandomString, getCookieValue, getFileUrl, getInfo, getStaticFileUrl, getTextFromHTML, i18n, initAmplitude, isInViewport, isLocalhost, reset, setAlert, setAssessmentList, setAssignmentList, setAssistantList, setBadgeList, setBandScoreList, setCertificateList, setClassList, setConferenceRubricList, setConversationOneToOne, setCurrentStudentId, setCurrentStudentName, setCurrentStudentUserId, setCustomAlertList, setDataPlayer, setEditItemQuesion, setEnableIEP, setEnableMarioAi, setEnableSurvey, setFeedbackList, setFilterWidget, setGoalExampleList, setImproveMyClass, setLanguage, setLearningSupportCategoryList, setLoading, setMailCategory, setModal, setMoveItemQuestion, setMyStudent, setOpenModelCongratulation, setQuestionByCategory, setQuestionCateList, setQuestionList, setReflectionList, setReflectionResultList, setResetQuestionList, setSandboxMode, setSchoolBlankDayList, setSelectQuestion, setSemesterList, setSessionPlayer, setSessionTemplateGeneralClassList, setSessionTemplateList, setStartTime, setStrategyList, setStudentIdSelectedByTeacher, setStudentList, setSubjectList, setSuggestionList, setTurnOffPassWhenChangeMode, setTutorialScreenList, setUser, setUserList, setWeeklyQuestList, showFontSize, showMenuBar, store, systemCertificateUpload, systemStudentBadge, uploadFile, useFilters, useGalleryList, utcToLocalTime };
|
|
54922
|
+
export { ACCESS_TOKEN, ANSWER_EDITOR_HEIGHT, AcademicClassSelector, AddButton, BASE_URL, CHAT_CHANNEL, CategorySelector, CommonAlert, CommonHeader, CommonModal$1 as CommonModal, CreatableSelector, CustomPagination, CustomSelector, CustomTabs as CustomTab, DATE_FORMAT, DATE_RESULT, DEFAULT_FILTER, DEFAULT_LANGUAGE_CODE, Dashboard, DeleteButtonIcon, DetailActionButtons, EMOTIONS, EditButtonIcon, EmailTemplateDetail, EmailTemplateList, EmptyDataAlert, ErrorHandler, FULL_DATE_RESULT, FaqList, InputFile as FileInput, GOOGLE_RECAPTCHA_KEY, GalleryList, INIT_AMPLITUDE_KEY_PROD, INIT_AMPLITUDE_KEY_STAGE, IS_USER_SESSION_BROWSER, Images, LANGUAGES, LICENSE_AGGRID, LinkEditButton, Loading, Login, MediaList, NOTIFICATION_ALERT_KEY, NOTIFICATION_CHANNEL, NotFound, NotificationList, NotificationLogoutModal, NotificationModal, QUESTION_TYPES, QUESTION_TYPES_OPTIONS, QuestionCategorySelector, QuestionTypeSelector, QuitPrompt, ReactNotification, RequiredLabel$1 as RequiredLabel, SANDBOX_NOTIFICATION, SUPPORTED_LANGUAGES_CODE, SandboxAlert, SchoolList, ScrollToTop, SearchBox$1 as SearchBox, SearchBoxContainer, SkillList, StarRatingSelector, SuggestionCategorySelector, TAB_COLORS, TINY_MCE_API_KEY, TheContent$1 as TheContent, TheLayout, ToggleButton, UploadFileButton, UserContainer, UserDetail, UserList, addTab, amplitudeClient, answerQuestion, answerQuestionDataPlayer, api, apiUpload, canAccess as canAccessRoute, changeNote, changeTags, clearTab, closeTab, debounce, editTab, editorConfig, firstCheckToken, generateRandomString, getAccessToken, getCookieValue, getFileUrl, getInfo, getStaticFileUrl, getTextFromHTML, i18n, initAmplitude, isInViewport, isLocalhost, reset, setAlert, setAssessmentList, setAssignmentList, setAssistantList, setBadgeList, setBandScoreList, setCertificateList, setClassList, setConferenceRubricList, setConversationOneToOne, setCurrentStudentId, setCurrentStudentName, setCurrentStudentUserId, setCustomAlertList, setDataPlayer, setEditItemQuesion, setEnableIEP, setEnableMarioAi, setEnableSurvey, setFeedbackList, setFilterWidget, setGoalExampleList, setImproveMyClass, setLanguage, setLearningSupportCategoryList, setLoading, setMailCategory, setModal, setMoveItemQuestion, setMyStudent, setOpenModelCongratulation, setQuestionByCategory, setQuestionCateList, setQuestionList, setReflectionList, setReflectionResultList, setResetQuestionList, setSandboxMode, setSchoolBlankDayList, setSelectQuestion, setSemesterList, setSessionPlayer, setSessionTemplateGeneralClassList, setSessionTemplateList, setStartTime, setStrategyList, setStudentIdSelectedByTeacher, setStudentList, setSubjectList, setSuggestionList, setTurnOffPassWhenChangeMode, setTutorialScreenList, setUser, setUserList, setWeeklyQuestList, showFontSize, showMenuBar, store, systemCertificateUpload, systemStudentBadge, uploadFile, useFilters, useGalleryList, utcToLocalTime };
|
|
54890
54923
|
//# sourceMappingURL=index.modern.js.map
|