mario-core 2.9.433-feedback → 2.9.500-release
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 +1 -2
- package/dist/index.js +496 -546
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +484 -533
- 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.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';
|
|
@@ -42063,6 +42063,212 @@ var TheHeaderDropdown = function TheHeaderDropdown(_ref) {
|
|
|
42063
42063
|
})), t("log_out")))));
|
|
42064
42064
|
};
|
|
42065
42065
|
|
|
42066
|
+
var apiGetLanguage = function apiGetLanguage() {
|
|
42067
|
+
return api.get(BASE_URL + "/api/language");
|
|
42068
|
+
};
|
|
42069
|
+
|
|
42070
|
+
var apiUpdateLanguage = function apiUpdateLanguage(lang) {
|
|
42071
|
+
return api.put(BASE_URL + "/api/language?lang=" + lang);
|
|
42072
|
+
};
|
|
42073
|
+
|
|
42074
|
+
var LANGUAGE_SYSTEM = "LANGUAGE_SYSTEM";
|
|
42075
|
+
|
|
42076
|
+
var useLanguages = function useLanguages() {
|
|
42077
|
+
var dispatch = useDispatch();
|
|
42078
|
+
|
|
42079
|
+
var _useTranslation = useTranslation(),
|
|
42080
|
+
i18n = _useTranslation.i18n;
|
|
42081
|
+
|
|
42082
|
+
var language = useSelector(function (state) {
|
|
42083
|
+
return state.common.language;
|
|
42084
|
+
});
|
|
42085
|
+
var defaultLanguage = getCookieValue(LANGUAGE_SYSTEM) != null ? getCookieValue(LANGUAGE_SYSTEM) : DEFAULT_LANGUAGE_CODE;
|
|
42086
|
+
|
|
42087
|
+
var _useState = useState([]),
|
|
42088
|
+
languageList = _useState[0],
|
|
42089
|
+
setLanguageList = _useState[1];
|
|
42090
|
+
|
|
42091
|
+
var _useState2 = useState(false),
|
|
42092
|
+
dropdownOpen = _useState2[0],
|
|
42093
|
+
setDropdownOpen = _useState2[1];
|
|
42094
|
+
|
|
42095
|
+
var _useState3 = useState(defaultLanguage),
|
|
42096
|
+
currentLang = _useState3[0],
|
|
42097
|
+
setCurrentLang = _useState3[1];
|
|
42098
|
+
|
|
42099
|
+
var toggle = function toggle() {
|
|
42100
|
+
return setDropdownOpen(function (prevState) {
|
|
42101
|
+
return !prevState;
|
|
42102
|
+
});
|
|
42103
|
+
};
|
|
42104
|
+
|
|
42105
|
+
var changeLanguageApp = function changeLanguageApp(lang) {
|
|
42106
|
+
try {
|
|
42107
|
+
var _temp3 = function _temp3() {
|
|
42108
|
+
dispatch(setLoading(false));
|
|
42109
|
+
};
|
|
42110
|
+
|
|
42111
|
+
dispatch(setLoading(true));
|
|
42112
|
+
|
|
42113
|
+
var _temp4 = _catch(function () {
|
|
42114
|
+
return Promise.resolve(apiUpdateLanguage(lang)).then(function () {
|
|
42115
|
+
i18n.changeLanguage(lang);
|
|
42116
|
+
setCurrentLang(lang);
|
|
42117
|
+
dispatch(setLanguage(lang));
|
|
42118
|
+
});
|
|
42119
|
+
}, function (err) {
|
|
42120
|
+
var _err$response, _err$response$data;
|
|
42121
|
+
|
|
42122
|
+
dispatch(setAlert({
|
|
42123
|
+
type: "danger",
|
|
42124
|
+
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
|
|
42125
|
+
}));
|
|
42126
|
+
});
|
|
42127
|
+
|
|
42128
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
|
|
42129
|
+
} catch (e) {
|
|
42130
|
+
return Promise.reject(e);
|
|
42131
|
+
}
|
|
42132
|
+
};
|
|
42133
|
+
|
|
42134
|
+
var getListLanguage = function getListLanguage() {
|
|
42135
|
+
try {
|
|
42136
|
+
var _temp6 = _catch(function () {
|
|
42137
|
+
return Promise.resolve(apiGetLanguage()).then(function (res) {
|
|
42138
|
+
setLanguageList(res.data);
|
|
42139
|
+
});
|
|
42140
|
+
}, function (err) {
|
|
42141
|
+
var _err$response2, _err$response2$data;
|
|
42142
|
+
|
|
42143
|
+
dispatch(setAlert({
|
|
42144
|
+
type: "danger",
|
|
42145
|
+
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
|
|
42146
|
+
}));
|
|
42147
|
+
});
|
|
42148
|
+
|
|
42149
|
+
return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
|
|
42150
|
+
} catch (e) {
|
|
42151
|
+
return Promise.reject(e);
|
|
42152
|
+
}
|
|
42153
|
+
};
|
|
42154
|
+
|
|
42155
|
+
useEffect(function () {
|
|
42156
|
+
defaultLanguage != language && changeLanguageApp(defaultLanguage);
|
|
42157
|
+
getListLanguage();
|
|
42158
|
+
}, []);
|
|
42159
|
+
return {
|
|
42160
|
+
languageList: languageList,
|
|
42161
|
+
toggle: toggle,
|
|
42162
|
+
dropdownOpen: dropdownOpen,
|
|
42163
|
+
currentLang: currentLang,
|
|
42164
|
+
changeLanguageApp: changeLanguageApp,
|
|
42165
|
+
setCurrentLang: setCurrentLang
|
|
42166
|
+
};
|
|
42167
|
+
};
|
|
42168
|
+
|
|
42169
|
+
var TheLanguageDropdown = function TheLanguageDropdown() {
|
|
42170
|
+
var _useLanguages = useLanguages(),
|
|
42171
|
+
languageList = _useLanguages.languageList,
|
|
42172
|
+
toggle = _useLanguages.toggle,
|
|
42173
|
+
dropdownOpen = _useLanguages.dropdownOpen,
|
|
42174
|
+
currentLang = _useLanguages.currentLang,
|
|
42175
|
+
changeLanguageApp = _useLanguages.changeLanguageApp;
|
|
42176
|
+
|
|
42177
|
+
var currentLanguage = useMemo(function () {
|
|
42178
|
+
var current = languageList.find(function (i) {
|
|
42179
|
+
return i.code === currentLang;
|
|
42180
|
+
});
|
|
42181
|
+
if (!current) return null;
|
|
42182
|
+
return React.createElement(React.Fragment, null, React.createElement("img", {
|
|
42183
|
+
className: "mr-2 " + styles['dropdown-menu-flag'],
|
|
42184
|
+
src: "" + getStaticFileUrl(current.image)
|
|
42185
|
+
}), " ", current.name);
|
|
42186
|
+
}, [currentLang, languageList]);
|
|
42187
|
+
return React.createElement(Dropdown, {
|
|
42188
|
+
isOpen: dropdownOpen,
|
|
42189
|
+
toggle: toggle,
|
|
42190
|
+
className: "" + styles["dropdown-menu"]
|
|
42191
|
+
}, React.createElement(DropdownToggle, {
|
|
42192
|
+
className: styles["header-avatar"] + " d-flex align-items-center"
|
|
42193
|
+
}, React.createElement("span", {
|
|
42194
|
+
style: {
|
|
42195
|
+
color: "#000",
|
|
42196
|
+
textTransform: "capitalize",
|
|
42197
|
+
display: 'flex',
|
|
42198
|
+
alignItems: 'center'
|
|
42199
|
+
}
|
|
42200
|
+
}, currentLanguage, React.createElement(BsChevronDown, {
|
|
42201
|
+
className: "ml-2",
|
|
42202
|
+
style: {
|
|
42203
|
+
fontSize: '10px'
|
|
42204
|
+
}
|
|
42205
|
+
}))), React.createElement(DropdownMenu, {
|
|
42206
|
+
className: styles["dropdown-content-language"]
|
|
42207
|
+
}, !!languageList && languageList.length > 0 && languageList.map(function (lang, index) {
|
|
42208
|
+
return React.createElement(DropdownItem, {
|
|
42209
|
+
key: lang.code,
|
|
42210
|
+
className: styles["dropdown-change"] + " px-0 py-0 " + (index === languageList.length - 1 ? "pb-2" : "pt-2"),
|
|
42211
|
+
onClick: function onClick() {
|
|
42212
|
+
return changeLanguageApp(lang.code);
|
|
42213
|
+
}
|
|
42214
|
+
}, React.createElement("div", {
|
|
42215
|
+
className: styles["dropdown-item-language"] + " " + styles["item-logout"] + " " + (currentLang == lang.code ? styles['dropdown-item-language-active'] : "") + " d-flex align-items-center w-100"
|
|
42216
|
+
}, React.createElement("span", {
|
|
42217
|
+
className: "mr-2 d-flex hover-opacity"
|
|
42218
|
+
}, React.createElement("img", {
|
|
42219
|
+
style: {
|
|
42220
|
+
width: "30px",
|
|
42221
|
+
height: "25px",
|
|
42222
|
+
borderRadius: "5px"
|
|
42223
|
+
},
|
|
42224
|
+
src: getStaticFileUrl(lang.image)
|
|
42225
|
+
})), lang.name));
|
|
42226
|
+
})));
|
|
42227
|
+
};
|
|
42228
|
+
|
|
42229
|
+
var TheHeader = function TheHeader(_ref) {
|
|
42230
|
+
var onToggleModel = _ref.onToggleModel;
|
|
42231
|
+
var dispatch = useDispatch();
|
|
42232
|
+
var sidebarShow = useSelector(function (state) {
|
|
42233
|
+
return state.common.sidebarShow;
|
|
42234
|
+
});
|
|
42235
|
+
|
|
42236
|
+
var _useTranslation = useTranslation(),
|
|
42237
|
+
t = _useTranslation.t;
|
|
42238
|
+
|
|
42239
|
+
var toggleSidebarMobile = function toggleSidebarMobile() {
|
|
42240
|
+
var val = [false, "responsive"].includes(sidebarShow) ? true : "responsive";
|
|
42241
|
+
dispatch(setSidebar(val));
|
|
42242
|
+
};
|
|
42243
|
+
|
|
42244
|
+
var isDistrict = window.location.host.includes("-district");
|
|
42245
|
+
return React.createElement(CHeader, {
|
|
42246
|
+
withSubheader: true,
|
|
42247
|
+
className: "d-flex align-items-center justify-content-end"
|
|
42248
|
+
}, React.createElement(CToggler, {
|
|
42249
|
+
inHeader: true,
|
|
42250
|
+
className: "ml-md-3 d-lg-none",
|
|
42251
|
+
onClick: toggleSidebarMobile
|
|
42252
|
+
}), React.createElement(CHeaderBrand, {
|
|
42253
|
+
className: "mx-auto flex-grow-1 d-lg-none",
|
|
42254
|
+
to: "/"
|
|
42255
|
+
}, React.createElement("img", {
|
|
42256
|
+
src: getStaticFileUrl(Images.LOGO_HEADER),
|
|
42257
|
+
className: styles["header-logo"]
|
|
42258
|
+
})), React.createElement(CHeaderNav, {
|
|
42259
|
+
className: "pr-3"
|
|
42260
|
+
}, React.createElement(TheLanguageDropdown, null), React.createElement("a", {
|
|
42261
|
+
className: "mr-3",
|
|
42262
|
+
style: {
|
|
42263
|
+
color: '#000'
|
|
42264
|
+
},
|
|
42265
|
+
href: '/privacy-policy',
|
|
42266
|
+
target: "blank"
|
|
42267
|
+
}, t("privacy_policy")), !isDistrict && React.createElement(NotificationButton, null), React.createElement(TheHeaderDropdown, {
|
|
42268
|
+
onToggleModel: onToggleModel
|
|
42269
|
+
})));
|
|
42270
|
+
};
|
|
42271
|
+
|
|
42066
42272
|
var TITLE$3 = "Not found";
|
|
42067
42273
|
|
|
42068
42274
|
var NotFound = function NotFound() {
|
|
@@ -42120,6 +42326,258 @@ var TheContent = function TheContent(_ref) {
|
|
|
42120
42326
|
|
|
42121
42327
|
var TheContent$1 = React.memo(TheContent);
|
|
42122
42328
|
|
|
42329
|
+
var loadingStyle = {
|
|
42330
|
+
minWidth: "100vw",
|
|
42331
|
+
minHeight: "100vh",
|
|
42332
|
+
position: "fixed",
|
|
42333
|
+
top: 0,
|
|
42334
|
+
left: 0,
|
|
42335
|
+
zIndex: 999999999,
|
|
42336
|
+
backgroundColor: "rgba(0, 0, 0, 0.4)",
|
|
42337
|
+
display: "flex",
|
|
42338
|
+
justifyContent: "center",
|
|
42339
|
+
alignItems: "center"
|
|
42340
|
+
};
|
|
42341
|
+
|
|
42342
|
+
var Loading = function Loading() {
|
|
42343
|
+
var isLoading = useSelector(function (state) {
|
|
42344
|
+
return state.common.isLoading;
|
|
42345
|
+
});
|
|
42346
|
+
localStorage.setItem("LAST_TIME_REQUETST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
|
|
42347
|
+
return isLoading ? React.createElement("div", {
|
|
42348
|
+
style: loadingStyle
|
|
42349
|
+
}, React.createElement("div", {
|
|
42350
|
+
className: "spinner-border text-secondary",
|
|
42351
|
+
role: "status"
|
|
42352
|
+
}, React.createElement("span", {
|
|
42353
|
+
className: "sr-only"
|
|
42354
|
+
}, "Loading..."))) : null;
|
|
42355
|
+
};
|
|
42356
|
+
|
|
42357
|
+
var firstCheckToken = function firstCheckToken() {
|
|
42358
|
+
return Promise.resolve(_catch(function () {
|
|
42359
|
+
var token = getAccessToken();
|
|
42360
|
+
return token ? Promise.resolve(checkToken(token)).then(function (tokenStatus) {
|
|
42361
|
+
return tokenStatus.data ? true : false;
|
|
42362
|
+
}) : false;
|
|
42363
|
+
}, function () {
|
|
42364
|
+
return false;
|
|
42365
|
+
}));
|
|
42366
|
+
};
|
|
42367
|
+
|
|
42368
|
+
var canAccess = function canAccess(userRoles, componentRoles) {
|
|
42369
|
+
if (!Array.isArray(userRoles)) {
|
|
42370
|
+
return false;
|
|
42371
|
+
}
|
|
42372
|
+
|
|
42373
|
+
if (Array.isArray(componentRoles)) {
|
|
42374
|
+
var intersects = userRoles.filter(function (i) {
|
|
42375
|
+
return componentRoles.includes(i);
|
|
42376
|
+
});
|
|
42377
|
+
return intersects.length > 0;
|
|
42378
|
+
}
|
|
42379
|
+
|
|
42380
|
+
return true;
|
|
42381
|
+
};
|
|
42382
|
+
|
|
42383
|
+
var ModelSelectRole = function ModelSelectRole(_ref) {
|
|
42384
|
+
var _handleUserRole;
|
|
42385
|
+
|
|
42386
|
+
var open = _ref.open,
|
|
42387
|
+
onToggleModel = _ref.onToggleModel;
|
|
42388
|
+
var dispatch = useDispatch();
|
|
42389
|
+
|
|
42390
|
+
var _useTranslation = useTranslation(),
|
|
42391
|
+
t = _useTranslation.t;
|
|
42392
|
+
|
|
42393
|
+
var history = useHistory();
|
|
42394
|
+
var pathname = window.location.pathname;
|
|
42395
|
+
var user = useSelector(function (state) {
|
|
42396
|
+
return state.common.user;
|
|
42397
|
+
});
|
|
42398
|
+
var roles = user === null || user === void 0 ? void 0 : user.roles;
|
|
42399
|
+
|
|
42400
|
+
var handleSelectUserRoles = function handleSelectUserRoles(roles) {
|
|
42401
|
+
dispatch(setLoading(true));
|
|
42402
|
+
var roleSelect = roles.includes("Teacher/Assistant") ? ["Teacher", "Assistant"] : roles;
|
|
42403
|
+
dispatch(setUser(_extends({}, user, {
|
|
42404
|
+
roles: roleSelect
|
|
42405
|
+
})));
|
|
42406
|
+
localStorage.setItem("ROLES", roleSelect.toString());
|
|
42407
|
+
onToggleModel();
|
|
42408
|
+
|
|
42409
|
+
if (roles.includes("Parent")) {
|
|
42410
|
+
history.push("/parent");
|
|
42411
|
+
} else if (roles.includes("Admin")) {
|
|
42412
|
+
history.push("/admin/home");
|
|
42413
|
+
} else {
|
|
42414
|
+
pathname !== "/home" ? history.push("/home") : window.location.reload();
|
|
42415
|
+
}
|
|
42416
|
+
};
|
|
42417
|
+
|
|
42418
|
+
return React.createElement(Modal, {
|
|
42419
|
+
isOpen: open,
|
|
42420
|
+
toggle: function toggle() {
|
|
42421
|
+
return onToggleModel();
|
|
42422
|
+
},
|
|
42423
|
+
className: "" + styles["model-switch-roles"],
|
|
42424
|
+
centered: true
|
|
42425
|
+
}, React.createElement("p", {
|
|
42426
|
+
className: "" + styles["title"]
|
|
42427
|
+
}, 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) {
|
|
42428
|
+
return React.createElement("p", {
|
|
42429
|
+
key: r,
|
|
42430
|
+
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" : ""],
|
|
42431
|
+
onClick: function onClick() {
|
|
42432
|
+
return handleSelectUserRoles([r]);
|
|
42433
|
+
}
|
|
42434
|
+
}, r == "SecondaryTeacher" ? "Support Teacher" : r);
|
|
42435
|
+
})));
|
|
42436
|
+
};
|
|
42437
|
+
|
|
42438
|
+
var TheLayout = function TheLayout(_ref) {
|
|
42439
|
+
var routes = _ref.routes,
|
|
42440
|
+
navigation = _ref.navigation;
|
|
42441
|
+
var history = useHistory();
|
|
42442
|
+
var dispatch = useDispatch();
|
|
42443
|
+
var user = useSelector(function (state) {
|
|
42444
|
+
return state.common.user;
|
|
42445
|
+
});
|
|
42446
|
+
var language = useSelector(function (state) {
|
|
42447
|
+
return state.common.language;
|
|
42448
|
+
});
|
|
42449
|
+
|
|
42450
|
+
var _useState = useState(false),
|
|
42451
|
+
openModelSelectRole = _useState[0],
|
|
42452
|
+
setOpenModelSelectRole = _useState[1];
|
|
42453
|
+
|
|
42454
|
+
var _useTranslation = useTranslation(),
|
|
42455
|
+
t = _useTranslation.t;
|
|
42456
|
+
|
|
42457
|
+
var location = useLocation();
|
|
42458
|
+
var isNotification = location.pathname.includes("notifications");
|
|
42459
|
+
var isDistrict = window.location.host.includes("-district");
|
|
42460
|
+
|
|
42461
|
+
var handleToggleModel = function handleToggleModel() {
|
|
42462
|
+
setOpenModelSelectRole(!openModelSelectRole);
|
|
42463
|
+
};
|
|
42464
|
+
|
|
42465
|
+
var authRoutes = useMemo(function () {
|
|
42466
|
+
return routes.filter(function (route) {
|
|
42467
|
+
return canAccess(user === null || user === void 0 ? void 0 : user.roles, route.roles);
|
|
42468
|
+
}).filter(function (route) {
|
|
42469
|
+
return !!route.isDistrict === isDistrict;
|
|
42470
|
+
});
|
|
42471
|
+
}, [user, language]);
|
|
42472
|
+
var authNavigations = useMemo(function () {
|
|
42473
|
+
return navigation.map(function (item) {
|
|
42474
|
+
var _item$_children, _item$_children2;
|
|
42475
|
+
|
|
42476
|
+
return _extends({}, item, {
|
|
42477
|
+
name: t(item.name),
|
|
42478
|
+
_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) {
|
|
42479
|
+
return _extends({}, x, {
|
|
42480
|
+
name: t(x.name)
|
|
42481
|
+
});
|
|
42482
|
+
}) : undefined
|
|
42483
|
+
});
|
|
42484
|
+
}).filter(function (nav) {
|
|
42485
|
+
return canAccess(user === null || user === void 0 ? void 0 : user.roles, nav.roles);
|
|
42486
|
+
}).filter(function (nav) {
|
|
42487
|
+
return !!nav.isDistrict === isDistrict;
|
|
42488
|
+
});
|
|
42489
|
+
}, [user, language]);
|
|
42490
|
+
|
|
42491
|
+
var getInformationSetting = function getInformationSetting() {
|
|
42492
|
+
try {
|
|
42493
|
+
var _temp2 = _catch(function () {
|
|
42494
|
+
return Promise.resolve(getSchoolSettings()).then(function (res) {
|
|
42495
|
+
dispatch(setSandboxMode(res.data.isSandboxMode));
|
|
42496
|
+
});
|
|
42497
|
+
}, function (err) {
|
|
42498
|
+
console.error(err);
|
|
42499
|
+
});
|
|
42500
|
+
|
|
42501
|
+
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
|
|
42502
|
+
} catch (e) {
|
|
42503
|
+
return Promise.reject(e);
|
|
42504
|
+
}
|
|
42505
|
+
};
|
|
42506
|
+
|
|
42507
|
+
useEffect(function () {
|
|
42508
|
+
checkAuthentication();
|
|
42509
|
+
}, []);
|
|
42510
|
+
useEffect(function () {
|
|
42511
|
+
getInformationSetting();
|
|
42512
|
+
}, [location.pathname]);
|
|
42513
|
+
|
|
42514
|
+
var checkAuthentication = function checkAuthentication() {
|
|
42515
|
+
try {
|
|
42516
|
+
var _temp4 = _catch(function () {
|
|
42517
|
+
return Promise.resolve(firstCheckToken()).then(function (tokenStatus) {
|
|
42518
|
+
tokenStatus ? loadInfo() : resetAuth();
|
|
42519
|
+
});
|
|
42520
|
+
}, function () {
|
|
42521
|
+
resetAuth();
|
|
42522
|
+
});
|
|
42523
|
+
|
|
42524
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
|
|
42525
|
+
} catch (e) {
|
|
42526
|
+
return Promise.reject(e);
|
|
42527
|
+
}
|
|
42528
|
+
};
|
|
42529
|
+
|
|
42530
|
+
var loadInfo = function loadInfo() {
|
|
42531
|
+
try {
|
|
42532
|
+
var _temp6 = _catch(function () {
|
|
42533
|
+
return Promise.resolve(getInfo()).then(function (info) {
|
|
42534
|
+
var _info$data, _info$data$roles;
|
|
42535
|
+
|
|
42536
|
+
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"))) {
|
|
42537
|
+
resetAuth();
|
|
42538
|
+
}
|
|
42539
|
+
|
|
42540
|
+
dispatch(setUser(info.data));
|
|
42541
|
+
});
|
|
42542
|
+
}, function () {
|
|
42543
|
+
resetAuth();
|
|
42544
|
+
});
|
|
42545
|
+
|
|
42546
|
+
return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
|
|
42547
|
+
} catch (e) {
|
|
42548
|
+
return Promise.reject(e);
|
|
42549
|
+
}
|
|
42550
|
+
};
|
|
42551
|
+
|
|
42552
|
+
var resetAuth = function resetAuth() {
|
|
42553
|
+
localStorage.removeItem(ACCESS_TOKEN);
|
|
42554
|
+
sessionStorage.removeItem(ACCESS_TOKEN);
|
|
42555
|
+
localStorage.removeItem("ROLES");
|
|
42556
|
+
history.push("/");
|
|
42557
|
+
};
|
|
42558
|
+
|
|
42559
|
+
if (!user) {
|
|
42560
|
+
return React.createElement(Loading, null);
|
|
42561
|
+
}
|
|
42562
|
+
|
|
42563
|
+
return React.createElement("div", {
|
|
42564
|
+
className: "c-app c-default-layout"
|
|
42565
|
+
}, !isNotification && React.createElement(TheSidebar, {
|
|
42566
|
+
navigation: authNavigations
|
|
42567
|
+
}), React.createElement("div", {
|
|
42568
|
+
className: "c-wrapper"
|
|
42569
|
+
}, !isNotification && React.createElement(TheHeader, {
|
|
42570
|
+
onToggleModel: handleToggleModel
|
|
42571
|
+
}), React.createElement("div", {
|
|
42572
|
+
className: "c-body bg-white"
|
|
42573
|
+
}, React.createElement(TheContent$1, {
|
|
42574
|
+
routes: authRoutes
|
|
42575
|
+
}))), React.createElement(ModelSelectRole, {
|
|
42576
|
+
open: openModelSelectRole,
|
|
42577
|
+
onToggleModel: handleToggleModel
|
|
42578
|
+
}));
|
|
42579
|
+
};
|
|
42580
|
+
|
|
42123
42581
|
var buttonTextStyle = {
|
|
42124
42582
|
fontWeight: 500
|
|
42125
42583
|
};
|
|
@@ -47871,8 +48329,6 @@ var useAssignStudent = function useAssignStudent(teacherSelected, assistantSelec
|
|
|
47871
48329
|
|
|
47872
48330
|
var onAssignStaffToStudents = function onAssignStaffToStudents(listUserIds) {
|
|
47873
48331
|
try {
|
|
47874
|
-
var _userSelected$filter$, _userSelected$filter;
|
|
47875
|
-
|
|
47876
48332
|
var _temp27 = function _temp27() {
|
|
47877
48333
|
dispatch(setLoading(false));
|
|
47878
48334
|
};
|
|
@@ -47893,20 +48349,6 @@ var useAssignStudent = function useAssignStudent(teacherSelected, assistantSelec
|
|
|
47893
48349
|
return Promise.resolve();
|
|
47894
48350
|
}
|
|
47895
48351
|
|
|
47896
|
-
var allUsersHaveTeachers = (_userSelected$filter$ = userSelected === null || userSelected === void 0 ? void 0 : (_userSelected$filter = userSelected.filter(function (user) {
|
|
47897
|
-
return listUserIds === null || listUserIds === void 0 ? void 0 : listUserIds.includes(user.id);
|
|
47898
|
-
})) === null || _userSelected$filter === void 0 ? void 0 : _userSelected$filter.every(function (u) {
|
|
47899
|
-
return Array.isArray(u.teachers) && u.teachers.length > 0;
|
|
47900
|
-
})) != null ? _userSelected$filter$ : false;
|
|
47901
|
-
|
|
47902
|
-
if (staffBulkAssign.teacher.length === 0 && !allUsersHaveTeachers) {
|
|
47903
|
-
dispatch(setAlert({
|
|
47904
|
-
type: "danger",
|
|
47905
|
-
message: "Please assign a teacher to each student before giving other educators access to them"
|
|
47906
|
-
}));
|
|
47907
|
-
return Promise.resolve();
|
|
47908
|
-
}
|
|
47909
|
-
|
|
47910
48352
|
dispatch(setLoading(true));
|
|
47911
48353
|
|
|
47912
48354
|
var _temp28 = _catch(function () {
|
|
@@ -51516,34 +51958,6 @@ var UserDetail = function UserDetail() {
|
|
|
51516
51958
|
});
|
|
51517
51959
|
};
|
|
51518
51960
|
|
|
51519
|
-
var loadingStyle = {
|
|
51520
|
-
minWidth: "100vw",
|
|
51521
|
-
minHeight: "100vh",
|
|
51522
|
-
position: "fixed",
|
|
51523
|
-
top: 0,
|
|
51524
|
-
left: 0,
|
|
51525
|
-
zIndex: 999999999,
|
|
51526
|
-
backgroundColor: "rgba(0, 0, 0, 0.4)",
|
|
51527
|
-
display: "flex",
|
|
51528
|
-
justifyContent: "center",
|
|
51529
|
-
alignItems: "center"
|
|
51530
|
-
};
|
|
51531
|
-
|
|
51532
|
-
var Loading = function Loading() {
|
|
51533
|
-
var isLoading = useSelector(function (state) {
|
|
51534
|
-
return state.common.isLoading;
|
|
51535
|
-
});
|
|
51536
|
-
localStorage.setItem("LAST_TIME_REQUETST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
|
|
51537
|
-
return isLoading ? React.createElement("div", {
|
|
51538
|
-
style: loadingStyle
|
|
51539
|
-
}, React.createElement("div", {
|
|
51540
|
-
className: "spinner-border text-secondary",
|
|
51541
|
-
role: "status"
|
|
51542
|
-
}, React.createElement("span", {
|
|
51543
|
-
className: "sr-only"
|
|
51544
|
-
}, "Loading..."))) : null;
|
|
51545
|
-
};
|
|
51546
|
-
|
|
51547
51961
|
var ScrollToTop = function ScrollToTop() {
|
|
51548
51962
|
var _useLocation = useLocation(),
|
|
51549
51963
|
pathname = _useLocation.pathname;
|
|
@@ -51651,12 +52065,7 @@ var CommonHeader = function CommonHeader(_ref) {
|
|
|
51651
52065
|
}, header))));
|
|
51652
52066
|
};
|
|
51653
52067
|
|
|
51654
|
-
var IDLE_MINUTES_WARNING = 13;
|
|
51655
|
-
var AUTO_LOGOUT_MINUTES = 15;
|
|
51656
|
-
|
|
51657
52068
|
var NotificationLogoutModal = function NotificationLogoutModal() {
|
|
51658
|
-
var history = useHistory();
|
|
51659
|
-
|
|
51660
52069
|
var _useState = useState(false),
|
|
51661
52070
|
isOpen = _useState[0],
|
|
51662
52071
|
setIsOpen = _useState[1];
|
|
@@ -51668,65 +52077,37 @@ var NotificationLogoutModal = function NotificationLogoutModal() {
|
|
|
51668
52077
|
objTime = _useState2[0],
|
|
51669
52078
|
setObjTime = _useState2[1];
|
|
51670
52079
|
|
|
51671
|
-
var getLastActivity = function getLastActivity() {
|
|
51672
|
-
try {
|
|
51673
|
-
var _localStorage$getItem, _localStorage, _localStorage$getItem2;
|
|
51674
|
-
|
|
51675
|
-
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;
|
|
51676
|
-
} catch (_unused) {
|
|
51677
|
-
return null;
|
|
51678
|
-
}
|
|
51679
|
-
};
|
|
51680
|
-
|
|
51681
|
-
var doLogout = function doLogout() {
|
|
51682
|
-
localStorage.removeItem(ACCESS_TOKEN);
|
|
51683
|
-
sessionStorage.removeItem(ACCESS_TOKEN);
|
|
51684
|
-
localStorage.removeItem("ROLES");
|
|
51685
|
-
localStorage.removeItem("LAST_ACTIVITY_TIME");
|
|
51686
|
-
setIsOpen(false);
|
|
51687
|
-
history.replace("/login");
|
|
51688
|
-
};
|
|
51689
|
-
|
|
51690
52080
|
var checkOpenModalLogout = function checkOpenModalLogout() {
|
|
51691
|
-
var
|
|
51692
|
-
|
|
51693
|
-
var lastActivity = getLastActivity();
|
|
51694
|
-
|
|
51695
|
-
if (!lastActivity) {
|
|
51696
|
-
var _localStorage2, _localStorage2$setIte;
|
|
51697
|
-
|
|
51698
|
-
(_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());
|
|
51699
|
-
return;
|
|
51700
|
-
}
|
|
51701
|
-
|
|
51702
|
-
var timeMoment = moment(lastActivity, "YYYY-MM-DD HH:mm");
|
|
52081
|
+
var lastTimeOut = localStorage.getItem("LAST_TIME_REQUETST");
|
|
52082
|
+
var timeMoment = moment(lastTimeOut, "YYYY-MM-DD HH:mm");
|
|
51703
52083
|
var currentTime = moment(moment().utc().format("YYYY-MM-DD HH:mm"));
|
|
51704
52084
|
var minutes = currentTime.diff(timeMoment, "minutes");
|
|
52085
|
+
var timeLogout = utcToLocalTime(currentTime.add(16 - minutes, 'minutes').format("YYYY-MM-DD HH:mm"), "HH:mm");
|
|
51705
52086
|
|
|
51706
|
-
if (minutes
|
|
51707
|
-
|
|
51708
|
-
return;
|
|
51709
|
-
}
|
|
51710
|
-
|
|
51711
|
-
var timeLogout = utcToLocalTime(currentTime.add(AUTO_LOGOUT_MINUTES - minutes, 'minutes').format("YYYY-MM-DD HH:mm"), "HH:mm");
|
|
51712
|
-
|
|
51713
|
-
if (minutes >= IDLE_MINUTES_WARNING) {
|
|
51714
|
-
setObjTime({
|
|
52087
|
+
if (minutes == 13) {
|
|
52088
|
+
var dataTime = {
|
|
51715
52089
|
minutes: minutes,
|
|
51716
52090
|
timeLogout: timeLogout
|
|
51717
|
-
}
|
|
51718
|
-
|
|
52091
|
+
};
|
|
52092
|
+
setObjTime(dataTime);
|
|
52093
|
+
onToggle();
|
|
51719
52094
|
}
|
|
51720
52095
|
};
|
|
51721
52096
|
|
|
51722
52097
|
useEffect(function () {
|
|
51723
|
-
var
|
|
51724
|
-
|
|
51725
|
-
|
|
51726
|
-
|
|
51727
|
-
|
|
51728
|
-
|
|
51729
|
-
|
|
52098
|
+
var accessToken = getAccessToken();
|
|
52099
|
+
|
|
52100
|
+
if (accessToken) {
|
|
52101
|
+
var interval = setInterval(function () {
|
|
52102
|
+
checkOpenModalLogout();
|
|
52103
|
+
}, 60 * 1000);
|
|
52104
|
+
return function () {
|
|
52105
|
+
return clearInterval(interval);
|
|
52106
|
+
};
|
|
52107
|
+
}
|
|
52108
|
+
|
|
52109
|
+
return;
|
|
52110
|
+
}, [location.href]);
|
|
51730
52111
|
|
|
51731
52112
|
var onToggle = function onToggle() {
|
|
51732
52113
|
setIsOpen(!isOpen);
|
|
@@ -51738,7 +52119,7 @@ var NotificationLogoutModal = function NotificationLogoutModal() {
|
|
|
51738
52119
|
size: "xs"
|
|
51739
52120
|
}, React.createElement(ModalHeader, {
|
|
51740
52121
|
toggle: onToggle
|
|
51741
|
-
}, "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 " + (
|
|
52122
|
+
}, "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 " + (15 - (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, {
|
|
51742
52123
|
className: "text-right"
|
|
51743
52124
|
}, React.createElement(Button, {
|
|
51744
52125
|
color: "primary",
|
|
@@ -54600,32 +54981,6 @@ var store = configureStore({
|
|
|
54600
54981
|
}
|
|
54601
54982
|
});
|
|
54602
54983
|
|
|
54603
|
-
var firstCheckToken = function firstCheckToken() {
|
|
54604
|
-
return Promise.resolve(_catch(function () {
|
|
54605
|
-
var token = getAccessToken();
|
|
54606
|
-
return token ? Promise.resolve(checkToken(token)).then(function (tokenStatus) {
|
|
54607
|
-
return tokenStatus.data ? true : false;
|
|
54608
|
-
}) : false;
|
|
54609
|
-
}, function () {
|
|
54610
|
-
return false;
|
|
54611
|
-
}));
|
|
54612
|
-
};
|
|
54613
|
-
|
|
54614
|
-
var canAccess = function canAccess(userRoles, componentRoles) {
|
|
54615
|
-
if (!Array.isArray(userRoles)) {
|
|
54616
|
-
return false;
|
|
54617
|
-
}
|
|
54618
|
-
|
|
54619
|
-
if (Array.isArray(componentRoles)) {
|
|
54620
|
-
var intersects = userRoles.filter(function (i) {
|
|
54621
|
-
return componentRoles.includes(i);
|
|
54622
|
-
});
|
|
54623
|
-
return intersects.length > 0;
|
|
54624
|
-
}
|
|
54625
|
-
|
|
54626
|
-
return true;
|
|
54627
|
-
};
|
|
54628
|
-
|
|
54629
54984
|
var isInViewport = function isInViewport(el) {
|
|
54630
54985
|
var rect = el === null || el === void 0 ? void 0 : el.getBoundingClientRect();
|
|
54631
54986
|
return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth);
|
|
@@ -54659,411 +55014,7 @@ var generateRandomString = (function () {
|
|
|
54659
55014
|
return (Math.random() + 1).toString(36).substring(7);
|
|
54660
55015
|
});
|
|
54661
55016
|
|
|
54662
|
-
var apiGetLanguage = function apiGetLanguage() {
|
|
54663
|
-
return api.get(BASE_URL + "/api/language");
|
|
54664
|
-
};
|
|
54665
|
-
|
|
54666
|
-
var apiUpdateLanguage = function apiUpdateLanguage(lang) {
|
|
54667
|
-
return api.put(BASE_URL + "/api/language?lang=" + lang);
|
|
54668
|
-
};
|
|
54669
|
-
|
|
54670
|
-
var LANGUAGE_SYSTEM = "LANGUAGE_SYSTEM";
|
|
54671
|
-
|
|
54672
|
-
var useLanguages = function useLanguages() {
|
|
54673
|
-
var dispatch = useDispatch();
|
|
54674
|
-
|
|
54675
|
-
var _useTranslation = useTranslation(),
|
|
54676
|
-
i18n = _useTranslation.i18n;
|
|
54677
|
-
|
|
54678
|
-
var language = useSelector(function (state) {
|
|
54679
|
-
return state.common.language;
|
|
54680
|
-
});
|
|
54681
|
-
var defaultLanguage = getCookieValue(LANGUAGE_SYSTEM) != null ? getCookieValue(LANGUAGE_SYSTEM) : DEFAULT_LANGUAGE_CODE;
|
|
54682
|
-
|
|
54683
|
-
var _useState = useState([]),
|
|
54684
|
-
languageList = _useState[0],
|
|
54685
|
-
setLanguageList = _useState[1];
|
|
54686
|
-
|
|
54687
|
-
var _useState2 = useState(false),
|
|
54688
|
-
dropdownOpen = _useState2[0],
|
|
54689
|
-
setDropdownOpen = _useState2[1];
|
|
54690
|
-
|
|
54691
|
-
var _useState3 = useState(defaultLanguage),
|
|
54692
|
-
currentLang = _useState3[0],
|
|
54693
|
-
setCurrentLang = _useState3[1];
|
|
54694
|
-
|
|
54695
|
-
var toggle = function toggle() {
|
|
54696
|
-
return setDropdownOpen(function (prevState) {
|
|
54697
|
-
return !prevState;
|
|
54698
|
-
});
|
|
54699
|
-
};
|
|
54700
|
-
|
|
54701
|
-
var changeLanguageApp = function changeLanguageApp(lang) {
|
|
54702
|
-
try {
|
|
54703
|
-
var _temp3 = function _temp3() {
|
|
54704
|
-
dispatch(setLoading(false));
|
|
54705
|
-
};
|
|
54706
|
-
|
|
54707
|
-
dispatch(setLoading(true));
|
|
54708
|
-
|
|
54709
|
-
var _temp4 = _catch(function () {
|
|
54710
|
-
return Promise.resolve(apiUpdateLanguage(lang)).then(function () {
|
|
54711
|
-
i18n.changeLanguage(lang);
|
|
54712
|
-
setCurrentLang(lang);
|
|
54713
|
-
dispatch(setLanguage(lang));
|
|
54714
|
-
});
|
|
54715
|
-
}, function (err) {
|
|
54716
|
-
var _err$response, _err$response$data;
|
|
54717
|
-
|
|
54718
|
-
dispatch(setAlert({
|
|
54719
|
-
type: "danger",
|
|
54720
|
-
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
|
|
54721
|
-
}));
|
|
54722
|
-
});
|
|
54723
|
-
|
|
54724
|
-
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
|
|
54725
|
-
} catch (e) {
|
|
54726
|
-
return Promise.reject(e);
|
|
54727
|
-
}
|
|
54728
|
-
};
|
|
54729
|
-
|
|
54730
|
-
var getListLanguage = function getListLanguage() {
|
|
54731
|
-
try {
|
|
54732
|
-
var _temp6 = _catch(function () {
|
|
54733
|
-
return Promise.resolve(apiGetLanguage()).then(function (res) {
|
|
54734
|
-
setLanguageList(res.data);
|
|
54735
|
-
});
|
|
54736
|
-
}, function (err) {
|
|
54737
|
-
var _err$response2, _err$response2$data;
|
|
54738
|
-
|
|
54739
|
-
dispatch(setAlert({
|
|
54740
|
-
type: "danger",
|
|
54741
|
-
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
|
|
54742
|
-
}));
|
|
54743
|
-
});
|
|
54744
|
-
|
|
54745
|
-
return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
|
|
54746
|
-
} catch (e) {
|
|
54747
|
-
return Promise.reject(e);
|
|
54748
|
-
}
|
|
54749
|
-
};
|
|
54750
|
-
|
|
54751
|
-
useEffect(function () {
|
|
54752
|
-
defaultLanguage != language && changeLanguageApp(defaultLanguage);
|
|
54753
|
-
getListLanguage();
|
|
54754
|
-
}, []);
|
|
54755
|
-
return {
|
|
54756
|
-
languageList: languageList,
|
|
54757
|
-
toggle: toggle,
|
|
54758
|
-
dropdownOpen: dropdownOpen,
|
|
54759
|
-
currentLang: currentLang,
|
|
54760
|
-
changeLanguageApp: changeLanguageApp,
|
|
54761
|
-
setCurrentLang: setCurrentLang
|
|
54762
|
-
};
|
|
54763
|
-
};
|
|
54764
|
-
|
|
54765
|
-
var TheLanguageDropdown = function TheLanguageDropdown() {
|
|
54766
|
-
var _useLanguages = useLanguages(),
|
|
54767
|
-
languageList = _useLanguages.languageList,
|
|
54768
|
-
toggle = _useLanguages.toggle,
|
|
54769
|
-
dropdownOpen = _useLanguages.dropdownOpen,
|
|
54770
|
-
currentLang = _useLanguages.currentLang,
|
|
54771
|
-
changeLanguageApp = _useLanguages.changeLanguageApp;
|
|
54772
|
-
|
|
54773
|
-
var currentLanguage = useMemo(function () {
|
|
54774
|
-
var current = languageList.find(function (i) {
|
|
54775
|
-
return i.code === currentLang;
|
|
54776
|
-
});
|
|
54777
|
-
if (!current) return null;
|
|
54778
|
-
return React.createElement(React.Fragment, null, React.createElement("img", {
|
|
54779
|
-
className: "mr-2 " + styles['dropdown-menu-flag'],
|
|
54780
|
-
src: "" + getStaticFileUrl(current.image)
|
|
54781
|
-
}), " ", current.name);
|
|
54782
|
-
}, [currentLang, languageList]);
|
|
54783
|
-
return React.createElement(Dropdown, {
|
|
54784
|
-
isOpen: dropdownOpen,
|
|
54785
|
-
toggle: toggle,
|
|
54786
|
-
className: "" + styles["dropdown-menu"]
|
|
54787
|
-
}, React.createElement(DropdownToggle, {
|
|
54788
|
-
className: styles["header-avatar"] + " d-flex align-items-center"
|
|
54789
|
-
}, React.createElement("span", {
|
|
54790
|
-
style: {
|
|
54791
|
-
color: "#000",
|
|
54792
|
-
textTransform: "capitalize",
|
|
54793
|
-
display: 'flex',
|
|
54794
|
-
alignItems: 'center'
|
|
54795
|
-
}
|
|
54796
|
-
}, currentLanguage, React.createElement(BsChevronDown, {
|
|
54797
|
-
className: "ml-2",
|
|
54798
|
-
style: {
|
|
54799
|
-
fontSize: '10px'
|
|
54800
|
-
}
|
|
54801
|
-
}))), React.createElement(DropdownMenu, {
|
|
54802
|
-
className: styles["dropdown-content-language"]
|
|
54803
|
-
}, !!languageList && languageList.length > 0 && languageList.map(function (lang, index) {
|
|
54804
|
-
return React.createElement(DropdownItem, {
|
|
54805
|
-
key: lang.code,
|
|
54806
|
-
className: styles["dropdown-change"] + " px-0 py-0 " + (index === languageList.length - 1 ? "pb-2" : "pt-2"),
|
|
54807
|
-
onClick: function onClick() {
|
|
54808
|
-
return changeLanguageApp(lang.code);
|
|
54809
|
-
}
|
|
54810
|
-
}, React.createElement("div", {
|
|
54811
|
-
className: styles["dropdown-item-language"] + " " + styles["item-logout"] + " " + (currentLang == lang.code ? styles['dropdown-item-language-active'] : "") + " d-flex align-items-center w-100"
|
|
54812
|
-
}, React.createElement("span", {
|
|
54813
|
-
className: "mr-2 d-flex hover-opacity"
|
|
54814
|
-
}, React.createElement("img", {
|
|
54815
|
-
style: {
|
|
54816
|
-
width: "30px",
|
|
54817
|
-
height: "25px",
|
|
54818
|
-
borderRadius: "5px"
|
|
54819
|
-
},
|
|
54820
|
-
src: getStaticFileUrl(lang.image)
|
|
54821
|
-
})), lang.name));
|
|
54822
|
-
})));
|
|
54823
|
-
};
|
|
54824
|
-
|
|
54825
|
-
var TheHeader = function TheHeader(_ref) {
|
|
54826
|
-
var onToggleModel = _ref.onToggleModel;
|
|
54827
|
-
var dispatch = useDispatch();
|
|
54828
|
-
var sidebarShow = useSelector(function (state) {
|
|
54829
|
-
return state.common.sidebarShow;
|
|
54830
|
-
});
|
|
54831
|
-
|
|
54832
|
-
var _useTranslation = useTranslation(),
|
|
54833
|
-
t = _useTranslation.t;
|
|
54834
|
-
|
|
54835
|
-
var toggleSidebarMobile = function toggleSidebarMobile() {
|
|
54836
|
-
var val = [false, "responsive"].includes(sidebarShow) ? true : "responsive";
|
|
54837
|
-
dispatch(setSidebar(val));
|
|
54838
|
-
};
|
|
54839
|
-
|
|
54840
|
-
var isDistrict = window.location.host.includes("-district");
|
|
54841
|
-
return React.createElement(CHeader, {
|
|
54842
|
-
withSubheader: true,
|
|
54843
|
-
className: "d-flex align-items-center justify-content-end"
|
|
54844
|
-
}, React.createElement(CToggler, {
|
|
54845
|
-
inHeader: true,
|
|
54846
|
-
className: "ml-md-3 d-lg-none",
|
|
54847
|
-
onClick: toggleSidebarMobile
|
|
54848
|
-
}), React.createElement(CHeaderBrand, {
|
|
54849
|
-
className: "mx-auto flex-grow-1 d-lg-none",
|
|
54850
|
-
to: "/"
|
|
54851
|
-
}, React.createElement("img", {
|
|
54852
|
-
src: getStaticFileUrl(Images.LOGO_HEADER),
|
|
54853
|
-
className: styles["header-logo"]
|
|
54854
|
-
})), React.createElement(CHeaderNav, {
|
|
54855
|
-
className: "pr-3"
|
|
54856
|
-
}, React.createElement(TheLanguageDropdown, null), React.createElement("a", {
|
|
54857
|
-
className: "mr-3",
|
|
54858
|
-
style: {
|
|
54859
|
-
color: '#000'
|
|
54860
|
-
},
|
|
54861
|
-
href: '/privacy-policy',
|
|
54862
|
-
target: "blank"
|
|
54863
|
-
}, t("privacy_policy")), !isDistrict && React.createElement(NotificationButton, null), React.createElement(TheHeaderDropdown, {
|
|
54864
|
-
onToggleModel: onToggleModel
|
|
54865
|
-
})));
|
|
54866
|
-
};
|
|
54867
|
-
|
|
54868
|
-
var ModelSelectRole = function ModelSelectRole(_ref) {
|
|
54869
|
-
var _handleUserRole;
|
|
54870
|
-
|
|
54871
|
-
var open = _ref.open,
|
|
54872
|
-
onToggleModel = _ref.onToggleModel;
|
|
54873
|
-
var dispatch = useDispatch();
|
|
54874
|
-
|
|
54875
|
-
var _useTranslation = useTranslation(),
|
|
54876
|
-
t = _useTranslation.t;
|
|
54877
|
-
|
|
54878
|
-
var history = useHistory();
|
|
54879
|
-
var pathname = window.location.pathname;
|
|
54880
|
-
var user = useSelector(function (state) {
|
|
54881
|
-
return state.common.user;
|
|
54882
|
-
});
|
|
54883
|
-
var roles = user === null || user === void 0 ? void 0 : user.roles;
|
|
54884
|
-
|
|
54885
|
-
var handleSelectUserRoles = function handleSelectUserRoles(roles) {
|
|
54886
|
-
dispatch(setLoading(true));
|
|
54887
|
-
var roleSelect = roles.includes("Teacher/Assistant") ? ["Teacher", "Assistant"] : roles;
|
|
54888
|
-
dispatch(setUser(_extends({}, user, {
|
|
54889
|
-
roles: roleSelect
|
|
54890
|
-
})));
|
|
54891
|
-
localStorage.setItem("ROLES", roleSelect.toString());
|
|
54892
|
-
onToggleModel();
|
|
54893
|
-
|
|
54894
|
-
if (roles.includes("Parent")) {
|
|
54895
|
-
history.push("/parent");
|
|
54896
|
-
} else if (roles.includes("Admin")) {
|
|
54897
|
-
history.push("/admin/home");
|
|
54898
|
-
} else {
|
|
54899
|
-
pathname !== "/home" ? history.push("/home") : window.location.reload();
|
|
54900
|
-
}
|
|
54901
|
-
};
|
|
54902
|
-
|
|
54903
|
-
return React.createElement(Modal, {
|
|
54904
|
-
isOpen: open,
|
|
54905
|
-
toggle: function toggle() {
|
|
54906
|
-
return onToggleModel();
|
|
54907
|
-
},
|
|
54908
|
-
className: "" + styles["model-switch-roles"],
|
|
54909
|
-
centered: true
|
|
54910
|
-
}, React.createElement("p", {
|
|
54911
|
-
className: "" + styles["title"]
|
|
54912
|
-
}, 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) {
|
|
54913
|
-
return React.createElement("p", {
|
|
54914
|
-
key: r,
|
|
54915
|
-
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" : ""],
|
|
54916
|
-
onClick: function onClick() {
|
|
54917
|
-
return handleSelectUserRoles([r]);
|
|
54918
|
-
}
|
|
54919
|
-
}, r == "SecondaryTeacher" ? "Support Teacher" : r);
|
|
54920
|
-
})));
|
|
54921
|
-
};
|
|
54922
|
-
|
|
54923
|
-
var TheLayout = function TheLayout(_ref) {
|
|
54924
|
-
var routes = _ref.routes,
|
|
54925
|
-
navigation = _ref.navigation;
|
|
54926
|
-
var history = useHistory();
|
|
54927
|
-
var dispatch = useDispatch();
|
|
54928
|
-
var user = useSelector(function (state) {
|
|
54929
|
-
return state.common.user;
|
|
54930
|
-
});
|
|
54931
|
-
var language = useSelector(function (state) {
|
|
54932
|
-
return state.common.language;
|
|
54933
|
-
});
|
|
54934
|
-
|
|
54935
|
-
var _useState = useState(false),
|
|
54936
|
-
openModelSelectRole = _useState[0],
|
|
54937
|
-
setOpenModelSelectRole = _useState[1];
|
|
54938
|
-
|
|
54939
|
-
var _useTranslation = useTranslation(),
|
|
54940
|
-
t = _useTranslation.t;
|
|
54941
|
-
|
|
54942
|
-
var location = useLocation();
|
|
54943
|
-
var isNotification = location.pathname.includes("notifications");
|
|
54944
|
-
var isDistrict = window.location.host.includes("-district");
|
|
54945
|
-
|
|
54946
|
-
var handleToggleModel = function handleToggleModel() {
|
|
54947
|
-
setOpenModelSelectRole(!openModelSelectRole);
|
|
54948
|
-
};
|
|
54949
|
-
|
|
54950
|
-
var authRoutes = useMemo(function () {
|
|
54951
|
-
return routes.filter(function (route) {
|
|
54952
|
-
return canAccess(user === null || user === void 0 ? void 0 : user.roles, route.roles);
|
|
54953
|
-
}).filter(function (route) {
|
|
54954
|
-
return !!route.isDistrict === isDistrict;
|
|
54955
|
-
});
|
|
54956
|
-
}, [user, language]);
|
|
54957
|
-
var authNavigations = useMemo(function () {
|
|
54958
|
-
return navigation.map(function (item) {
|
|
54959
|
-
var _item$_children, _item$_children2;
|
|
54960
|
-
|
|
54961
|
-
return _extends({}, item, {
|
|
54962
|
-
name: t(item.name),
|
|
54963
|
-
_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) {
|
|
54964
|
-
return _extends({}, x, {
|
|
54965
|
-
name: t(x.name)
|
|
54966
|
-
});
|
|
54967
|
-
}) : undefined
|
|
54968
|
-
});
|
|
54969
|
-
}).filter(function (nav) {
|
|
54970
|
-
return canAccess(user === null || user === void 0 ? void 0 : user.roles, nav.roles);
|
|
54971
|
-
}).filter(function (nav) {
|
|
54972
|
-
return !!nav.isDistrict === isDistrict;
|
|
54973
|
-
});
|
|
54974
|
-
}, [user, language]);
|
|
54975
|
-
|
|
54976
|
-
var getInformationSetting = function getInformationSetting() {
|
|
54977
|
-
try {
|
|
54978
|
-
var _temp2 = _catch(function () {
|
|
54979
|
-
return Promise.resolve(getSchoolSettings()).then(function (res) {
|
|
54980
|
-
dispatch(setSandboxMode(res.data.isSandboxMode));
|
|
54981
|
-
});
|
|
54982
|
-
}, function (err) {
|
|
54983
|
-
console.error(err);
|
|
54984
|
-
});
|
|
54985
|
-
|
|
54986
|
-
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
|
|
54987
|
-
} catch (e) {
|
|
54988
|
-
return Promise.reject(e);
|
|
54989
|
-
}
|
|
54990
|
-
};
|
|
54991
|
-
|
|
54992
|
-
useEffect(function () {
|
|
54993
|
-
checkAuthentication();
|
|
54994
|
-
}, []);
|
|
54995
|
-
useEffect(function () {
|
|
54996
|
-
getInformationSetting();
|
|
54997
|
-
}, [location.pathname]);
|
|
54998
|
-
|
|
54999
|
-
var checkAuthentication = function checkAuthentication() {
|
|
55000
|
-
try {
|
|
55001
|
-
var _temp4 = _catch(function () {
|
|
55002
|
-
return Promise.resolve(firstCheckToken()).then(function (tokenStatus) {
|
|
55003
|
-
tokenStatus ? loadInfo() : resetAuth();
|
|
55004
|
-
});
|
|
55005
|
-
}, function () {
|
|
55006
|
-
resetAuth();
|
|
55007
|
-
});
|
|
55008
|
-
|
|
55009
|
-
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
|
|
55010
|
-
} catch (e) {
|
|
55011
|
-
return Promise.reject(e);
|
|
55012
|
-
}
|
|
55013
|
-
};
|
|
55014
|
-
|
|
55015
|
-
var loadInfo = function loadInfo() {
|
|
55016
|
-
try {
|
|
55017
|
-
var _temp6 = _catch(function () {
|
|
55018
|
-
return Promise.resolve(getInfo()).then(function (info) {
|
|
55019
|
-
var _info$data, _info$data$roles;
|
|
55020
|
-
|
|
55021
|
-
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"))) {
|
|
55022
|
-
resetAuth();
|
|
55023
|
-
}
|
|
55024
|
-
|
|
55025
|
-
dispatch(setUser(info.data));
|
|
55026
|
-
});
|
|
55027
|
-
}, function () {
|
|
55028
|
-
resetAuth();
|
|
55029
|
-
});
|
|
55030
|
-
|
|
55031
|
-
return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
|
|
55032
|
-
} catch (e) {
|
|
55033
|
-
return Promise.reject(e);
|
|
55034
|
-
}
|
|
55035
|
-
};
|
|
55036
|
-
|
|
55037
|
-
var resetAuth = function resetAuth() {
|
|
55038
|
-
localStorage.removeItem(ACCESS_TOKEN);
|
|
55039
|
-
sessionStorage.removeItem(ACCESS_TOKEN);
|
|
55040
|
-
localStorage.removeItem("ROLES");
|
|
55041
|
-
history.push("/");
|
|
55042
|
-
};
|
|
55043
|
-
|
|
55044
|
-
if (!user) {
|
|
55045
|
-
return React.createElement(Loading, null);
|
|
55046
|
-
}
|
|
55047
|
-
|
|
55048
|
-
return React.createElement("div", {
|
|
55049
|
-
className: "c-app c-default-layout"
|
|
55050
|
-
}, !isNotification && React.createElement(TheSidebar, {
|
|
55051
|
-
navigation: authNavigations
|
|
55052
|
-
}), React.createElement("div", {
|
|
55053
|
-
className: "c-wrapper"
|
|
55054
|
-
}, !isNotification && React.createElement(TheHeader, {
|
|
55055
|
-
onToggleModel: handleToggleModel
|
|
55056
|
-
}), React.createElement("div", {
|
|
55057
|
-
className: "c-body bg-white"
|
|
55058
|
-
}, React.createElement(TheContent$1, {
|
|
55059
|
-
routes: authRoutes
|
|
55060
|
-
}))), React.createElement(ModelSelectRole, {
|
|
55061
|
-
open: openModelSelectRole,
|
|
55062
|
-
onToggleModel: handleToggleModel
|
|
55063
|
-
}));
|
|
55064
|
-
};
|
|
55065
|
-
|
|
55066
55017
|
var amplitudeClient = amplitude;
|
|
55067
55018
|
|
|
55068
|
-
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,
|
|
55019
|
+
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 };
|
|
55069
55020
|
//# sourceMappingURL=index.modern.js.map
|