mario-core 2.9.242-release → 2.9.243-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.
@@ -2,7 +2,7 @@ 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, { useState, useCallback, useEffect, forwardRef, useRef, Suspense, memo, Fragment, useImperativeHandle, useMemo } from 'react';
5
+ import React, { useState, useCallback, useEffect, forwardRef, useRef, useMemo, Suspense, memo, Fragment, useImperativeHandle } from 'react';
6
6
  import { Input, Modal, ModalHeader, ModalBody, ModalFooter, Button, Form, FormGroup, Row, Col, Navbar, NavbarBrand, Collapse, Nav, NavItem, NavLink, Dropdown, DropdownToggle, DropdownMenu, DropdownItem, Alert, Pagination, PaginationItem, PaginationLink, Table, Label, Popover, PopoverBody, TabContent, TabPane, CardText, CustomInput, Card, CardImg, CardBody, CardTitle, CardHeader } from 'reactstrap';
7
7
  import { useHistory, Link, useLocation, Switch, Route, Prompt, useParams } from 'react-router-dom';
8
8
  import { useDispatch, useSelector } from 'react-redux';
@@ -17,7 +17,7 @@ import { useGoogleReCaptcha, GoogleReCaptcha, GoogleReCaptchaProvider } from 're
17
17
  import GoogleLogin from 'react-google-login';
18
18
  import Select from 'react-select';
19
19
  import { GiHamburgerMenu } from 'react-icons/gi';
20
- import { CSidebar, CSidebarBrand, CSidebarNav, CCreateElement, CSidebarNavDivider, CSidebarNavDropdown, CSidebarNavItem, CSidebarNavTitle, CSidebarFooter, CContainer, CHeader, CToggler, CHeaderBrand, CHeaderNav } from '@coreui/react';
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';
@@ -39415,6 +39415,218 @@ var TheHeaderDropdown = function TheHeaderDropdown(_ref) {
39415
39415
  })), t("log_out")))));
39416
39416
  };
39417
39417
 
39418
+ var getCookieValue = function getCookieValue(name) {
39419
+ var _document$cookie$matc;
39420
+
39421
+ return ((_document$cookie$matc = document.cookie.match('(^|;)\\s*' + name + '\\s*=\\s*([^;]+)')) === null || _document$cookie$matc === void 0 ? void 0 : _document$cookie$matc.pop()) || '';
39422
+ };
39423
+
39424
+ var apiGetLanguage = function apiGetLanguage() {
39425
+ return api.get(BASE_URL + "/api/language");
39426
+ };
39427
+
39428
+ var apiUpdateLanguage = function apiUpdateLanguage(lang) {
39429
+ return api.put(BASE_URL + "/api/language?lang=" + lang);
39430
+ };
39431
+
39432
+ var LANGUAGE_SYSTEM = "LANGUAGE_SYSTEM";
39433
+
39434
+ var useLanguages = function useLanguages() {
39435
+ var dispatch = useDispatch();
39436
+
39437
+ var _useTranslation = useTranslation(),
39438
+ i18n = _useTranslation.i18n;
39439
+
39440
+ var language = useSelector(function (state) {
39441
+ return state.common.language;
39442
+ });
39443
+ var defaultLanguage = getCookieValue(LANGUAGE_SYSTEM) != null ? getCookieValue(LANGUAGE_SYSTEM) : DEFAULT_LANGUAGE_CODE;
39444
+
39445
+ var _useState = useState([]),
39446
+ languageList = _useState[0],
39447
+ setLanguageList = _useState[1];
39448
+
39449
+ var _useState2 = useState(false),
39450
+ dropdownOpen = _useState2[0],
39451
+ setDropdownOpen = _useState2[1];
39452
+
39453
+ var _useState3 = useState(defaultLanguage),
39454
+ currentLang = _useState3[0],
39455
+ setCurrentLang = _useState3[1];
39456
+
39457
+ var toggle = function toggle() {
39458
+ return setDropdownOpen(function (prevState) {
39459
+ return !prevState;
39460
+ });
39461
+ };
39462
+
39463
+ var changeLanguageApp = function changeLanguageApp(lang) {
39464
+ try {
39465
+ var _temp3 = function _temp3() {
39466
+ dispatch(setLoading(false));
39467
+ };
39468
+
39469
+ dispatch(setLoading(true));
39470
+
39471
+ var _temp4 = _catch(function () {
39472
+ return Promise.resolve(apiUpdateLanguage(lang)).then(function () {
39473
+ i18n.changeLanguage(lang);
39474
+ setCurrentLang(lang);
39475
+ dispatch(setLanguage(lang));
39476
+ });
39477
+ }, function (err) {
39478
+ var _err$response, _err$response$data;
39479
+
39480
+ dispatch(setAlert({
39481
+ type: "danger",
39482
+ 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
39483
+ }));
39484
+ });
39485
+
39486
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
39487
+ } catch (e) {
39488
+ return Promise.reject(e);
39489
+ }
39490
+ };
39491
+
39492
+ var getListLanguage = function getListLanguage() {
39493
+ try {
39494
+ var _temp6 = _catch(function () {
39495
+ return Promise.resolve(apiGetLanguage()).then(function (res) {
39496
+ setLanguageList(res.data);
39497
+ });
39498
+ }, function (err) {
39499
+ var _err$response2, _err$response2$data;
39500
+
39501
+ dispatch(setAlert({
39502
+ type: "danger",
39503
+ 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
39504
+ }));
39505
+ });
39506
+
39507
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
39508
+ } catch (e) {
39509
+ return Promise.reject(e);
39510
+ }
39511
+ };
39512
+
39513
+ useEffect(function () {
39514
+ defaultLanguage != language && changeLanguageApp(defaultLanguage);
39515
+ getListLanguage();
39516
+ }, []);
39517
+ return {
39518
+ languageList: languageList,
39519
+ toggle: toggle,
39520
+ dropdownOpen: dropdownOpen,
39521
+ currentLang: currentLang,
39522
+ changeLanguageApp: changeLanguageApp,
39523
+ setCurrentLang: setCurrentLang
39524
+ };
39525
+ };
39526
+
39527
+ var TheLanguageDropdown = function TheLanguageDropdown() {
39528
+ var _useLanguages = useLanguages(),
39529
+ languageList = _useLanguages.languageList,
39530
+ toggle = _useLanguages.toggle,
39531
+ dropdownOpen = _useLanguages.dropdownOpen,
39532
+ currentLang = _useLanguages.currentLang,
39533
+ changeLanguageApp = _useLanguages.changeLanguageApp;
39534
+
39535
+ var currentLanguage = useMemo(function () {
39536
+ var current = languageList.find(function (i) {
39537
+ return i.code === currentLang;
39538
+ });
39539
+ if (!current) return null;
39540
+ return React.createElement(React.Fragment, null, React.createElement("img", {
39541
+ className: "mr-2 " + styles['dropdown-menu-flag'],
39542
+ src: "" + getStaticFileUrl(current.image)
39543
+ }), " ", current.name);
39544
+ }, [currentLang, languageList]);
39545
+ return React.createElement(Dropdown, {
39546
+ isOpen: dropdownOpen,
39547
+ toggle: toggle,
39548
+ className: "" + styles["dropdown-menu"]
39549
+ }, React.createElement(DropdownToggle, {
39550
+ className: styles["header-avatar"] + " d-flex align-items-center"
39551
+ }, React.createElement("span", {
39552
+ style: {
39553
+ color: "#000",
39554
+ textTransform: "capitalize",
39555
+ display: 'flex',
39556
+ alignItems: 'center'
39557
+ }
39558
+ }, currentLanguage, React.createElement(BsChevronDown, {
39559
+ className: "ml-2",
39560
+ style: {
39561
+ fontSize: '10px'
39562
+ }
39563
+ }))), React.createElement(DropdownMenu, {
39564
+ className: styles["dropdown-content-language"]
39565
+ }, !!languageList && languageList.length > 0 && languageList.map(function (lang, index) {
39566
+ return React.createElement(DropdownItem, {
39567
+ key: lang.code,
39568
+ className: styles["dropdown-change"] + " px-0 py-0 " + (index === languageList.length - 1 ? "pb-2" : "pt-2"),
39569
+ onClick: function onClick() {
39570
+ return changeLanguageApp(lang.code);
39571
+ }
39572
+ }, React.createElement("div", {
39573
+ className: styles["dropdown-item-language"] + " " + styles["item-logout"] + " " + (currentLang == lang.code ? styles['dropdown-item-language-active'] : "") + " d-flex align-items-center w-100"
39574
+ }, React.createElement("span", {
39575
+ className: "mr-2 d-flex hover-opacity"
39576
+ }, React.createElement("img", {
39577
+ style: {
39578
+ width: "30px",
39579
+ height: "25px",
39580
+ borderRadius: "5px"
39581
+ },
39582
+ src: getStaticFileUrl(lang.image)
39583
+ })), lang.name));
39584
+ })));
39585
+ };
39586
+
39587
+ var TheHeader = function TheHeader(_ref) {
39588
+ var onToggleModel = _ref.onToggleModel;
39589
+ var dispatch = useDispatch();
39590
+ var sidebarShow = useSelector(function (state) {
39591
+ return state.common.sidebarShow;
39592
+ });
39593
+
39594
+ var _useTranslation = useTranslation(),
39595
+ t = _useTranslation.t;
39596
+
39597
+ var toggleSidebarMobile = function toggleSidebarMobile() {
39598
+ var val = [false, "responsive"].includes(sidebarShow) ? true : "responsive";
39599
+ dispatch(setSidebar(val));
39600
+ };
39601
+
39602
+ var isDistrict = window.location.host.includes("-district");
39603
+ return React.createElement(CHeader, {
39604
+ withSubheader: true,
39605
+ className: "d-flex align-items-center justify-content-end"
39606
+ }, React.createElement(CToggler, {
39607
+ inHeader: true,
39608
+ className: "ml-md-3 d-lg-none",
39609
+ onClick: toggleSidebarMobile
39610
+ }), React.createElement(CHeaderBrand, {
39611
+ className: "mx-auto flex-grow-1 d-lg-none",
39612
+ to: "/"
39613
+ }, React.createElement("img", {
39614
+ src: getStaticFileUrl(Images.LOGO_HEADER),
39615
+ className: styles["header-logo"]
39616
+ })), React.createElement(CHeaderNav, {
39617
+ className: "pr-3"
39618
+ }, React.createElement(TheLanguageDropdown, null), React.createElement("a", {
39619
+ className: "mr-3",
39620
+ style: {
39621
+ color: '#000'
39622
+ },
39623
+ href: '/privacy-policy',
39624
+ target: "blank"
39625
+ }, t("privacy_policy")), !isDistrict && React.createElement(NotificationButton, null), React.createElement(TheHeaderDropdown, {
39626
+ onToggleModel: onToggleModel
39627
+ })));
39628
+ };
39629
+
39418
39630
  var TITLE$3 = "Not found";
39419
39631
 
39420
39632
  var NotFound = function NotFound() {
@@ -39472,6 +39684,258 @@ var TheContent = function TheContent(_ref) {
39472
39684
 
39473
39685
  var TheContent$1 = React.memo(TheContent);
39474
39686
 
39687
+ var loadingStyle = {
39688
+ minWidth: "100vw",
39689
+ minHeight: "100vh",
39690
+ position: "fixed",
39691
+ top: 0,
39692
+ left: 0,
39693
+ zIndex: 999999999,
39694
+ backgroundColor: "rgba(0, 0, 0, 0.4)",
39695
+ display: "flex",
39696
+ justifyContent: "center",
39697
+ alignItems: "center"
39698
+ };
39699
+
39700
+ var Loading = function Loading() {
39701
+ var isLoading = useSelector(function (state) {
39702
+ return state.common.isLoading;
39703
+ });
39704
+ localStorage.setItem("LAST_TIME_REQUETST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
39705
+ return isLoading ? React.createElement("div", {
39706
+ style: loadingStyle
39707
+ }, React.createElement("div", {
39708
+ className: "spinner-border text-secondary",
39709
+ role: "status"
39710
+ }, React.createElement("span", {
39711
+ className: "sr-only"
39712
+ }, "Loading..."))) : null;
39713
+ };
39714
+
39715
+ var firstCheckToken = function firstCheckToken() {
39716
+ return Promise.resolve(_catch(function () {
39717
+ var token = getAccessToken();
39718
+ return token ? Promise.resolve(checkToken(token)).then(function (tokenStatus) {
39719
+ return tokenStatus.data ? true : false;
39720
+ }) : false;
39721
+ }, function () {
39722
+ return false;
39723
+ }));
39724
+ };
39725
+
39726
+ var canAccess = function canAccess(userRoles, componentRoles) {
39727
+ if (!Array.isArray(userRoles)) {
39728
+ return false;
39729
+ }
39730
+
39731
+ if (Array.isArray(componentRoles)) {
39732
+ var intersects = userRoles.filter(function (i) {
39733
+ return componentRoles.includes(i);
39734
+ });
39735
+ return intersects.length > 0;
39736
+ }
39737
+
39738
+ return true;
39739
+ };
39740
+
39741
+ var ModelSelectRole = function ModelSelectRole(_ref) {
39742
+ var _handleUserRole;
39743
+
39744
+ var open = _ref.open,
39745
+ onToggleModel = _ref.onToggleModel;
39746
+ var dispatch = useDispatch();
39747
+
39748
+ var _useTranslation = useTranslation(),
39749
+ t = _useTranslation.t;
39750
+
39751
+ var history = useHistory();
39752
+ var pathname = window.location.pathname;
39753
+ var user = useSelector(function (state) {
39754
+ return state.common.user;
39755
+ });
39756
+ var roles = user === null || user === void 0 ? void 0 : user.roles;
39757
+
39758
+ var handleSelectUserRoles = function handleSelectUserRoles(roles) {
39759
+ dispatch(setLoading(true));
39760
+ var roleSelect = roles.includes("Teacher/Assistant") ? ["Teacher", "Assistant"] : roles;
39761
+ dispatch(setUser(_extends({}, user, {
39762
+ roles: roleSelect
39763
+ })));
39764
+ localStorage.setItem("ROLES", roleSelect.toString());
39765
+ onToggleModel();
39766
+
39767
+ if (roles.includes("Parent")) {
39768
+ history.push("/parent");
39769
+ } else if (roles.includes("Admin")) {
39770
+ history.push("/admin/home");
39771
+ } else {
39772
+ pathname !== "/home" ? history.push("/home") : window.location.reload();
39773
+ }
39774
+ };
39775
+
39776
+ return React.createElement(Modal, {
39777
+ isOpen: open,
39778
+ toggle: function toggle() {
39779
+ return onToggleModel();
39780
+ },
39781
+ className: "" + styles["model-switch-roles"],
39782
+ centered: true
39783
+ }, React.createElement("p", {
39784
+ className: "" + styles["title"]
39785
+ }, 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) {
39786
+ return React.createElement("p", {
39787
+ key: r,
39788
+ 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" : ""],
39789
+ onClick: function onClick() {
39790
+ return handleSelectUserRoles([r]);
39791
+ }
39792
+ }, r == "SecondaryTeacher" ? "Support Teacher" : r);
39793
+ })));
39794
+ };
39795
+
39796
+ var TheLayout = function TheLayout(_ref) {
39797
+ var routes = _ref.routes,
39798
+ navigation = _ref.navigation;
39799
+ var history = useHistory();
39800
+ var dispatch = useDispatch();
39801
+ var user = useSelector(function (state) {
39802
+ return state.common.user;
39803
+ });
39804
+ var language = useSelector(function (state) {
39805
+ return state.common.language;
39806
+ });
39807
+
39808
+ var _useState = useState(false),
39809
+ openModelSelectRole = _useState[0],
39810
+ setOpenModelSelectRole = _useState[1];
39811
+
39812
+ var _useTranslation = useTranslation(),
39813
+ t = _useTranslation.t;
39814
+
39815
+ var location = useLocation();
39816
+ var isNotification = location.pathname.includes("notifications");
39817
+ var isDistrict = window.location.host.includes("-district");
39818
+
39819
+ var handleToggleModel = function handleToggleModel() {
39820
+ setOpenModelSelectRole(!openModelSelectRole);
39821
+ };
39822
+
39823
+ var authRoutes = useMemo(function () {
39824
+ return routes.filter(function (route) {
39825
+ return canAccess(user === null || user === void 0 ? void 0 : user.roles, route.roles);
39826
+ }).filter(function (route) {
39827
+ return !!route.isDistrict === isDistrict;
39828
+ });
39829
+ }, [user, language]);
39830
+ var authNavigations = useMemo(function () {
39831
+ return navigation.map(function (item) {
39832
+ var _item$_children, _item$_children2;
39833
+
39834
+ return _extends({}, item, {
39835
+ name: t(item.name),
39836
+ _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) {
39837
+ return _extends({}, x, {
39838
+ name: t(x.name)
39839
+ });
39840
+ }) : undefined
39841
+ });
39842
+ }).filter(function (nav) {
39843
+ return canAccess(user === null || user === void 0 ? void 0 : user.roles, nav.roles);
39844
+ }).filter(function (nav) {
39845
+ return !!nav.isDistrict === isDistrict;
39846
+ });
39847
+ }, [user, language]);
39848
+
39849
+ var getInformationSetting = function getInformationSetting() {
39850
+ try {
39851
+ var _temp2 = _catch(function () {
39852
+ return Promise.resolve(getSchoolSettings()).then(function (res) {
39853
+ dispatch(setSandboxMode(res.data.isSandboxMode));
39854
+ });
39855
+ }, function (err) {
39856
+ console.error(err);
39857
+ });
39858
+
39859
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
39860
+ } catch (e) {
39861
+ return Promise.reject(e);
39862
+ }
39863
+ };
39864
+
39865
+ useEffect(function () {
39866
+ checkAuthentication();
39867
+ }, []);
39868
+ useEffect(function () {
39869
+ getInformationSetting();
39870
+ }, [location.pathname]);
39871
+
39872
+ var checkAuthentication = function checkAuthentication() {
39873
+ try {
39874
+ var _temp4 = _catch(function () {
39875
+ return Promise.resolve(firstCheckToken()).then(function (tokenStatus) {
39876
+ tokenStatus ? loadInfo() : resetAuth();
39877
+ });
39878
+ }, function () {
39879
+ resetAuth();
39880
+ });
39881
+
39882
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
39883
+ } catch (e) {
39884
+ return Promise.reject(e);
39885
+ }
39886
+ };
39887
+
39888
+ var loadInfo = function loadInfo() {
39889
+ try {
39890
+ var _temp6 = _catch(function () {
39891
+ return Promise.resolve(getInfo()).then(function (info) {
39892
+ var _info$data, _info$data$roles;
39893
+
39894
+ 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"))) {
39895
+ resetAuth();
39896
+ }
39897
+
39898
+ dispatch(setUser(info.data));
39899
+ });
39900
+ }, function () {
39901
+ resetAuth();
39902
+ });
39903
+
39904
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
39905
+ } catch (e) {
39906
+ return Promise.reject(e);
39907
+ }
39908
+ };
39909
+
39910
+ var resetAuth = function resetAuth() {
39911
+ localStorage.removeItem(ACCESS_TOKEN);
39912
+ sessionStorage.removeItem(ACCESS_TOKEN);
39913
+ localStorage.removeItem("ROLES");
39914
+ history.push("/");
39915
+ };
39916
+
39917
+ if (!user) {
39918
+ return React.createElement(Loading, null);
39919
+ }
39920
+
39921
+ return React.createElement("div", {
39922
+ className: "c-app c-default-layout"
39923
+ }, !isNotification && React.createElement(TheSidebar, {
39924
+ navigation: authNavigations
39925
+ }), React.createElement("div", {
39926
+ className: "c-wrapper"
39927
+ }, !isNotification && React.createElement(TheHeader, {
39928
+ onToggleModel: handleToggleModel
39929
+ }), React.createElement("div", {
39930
+ className: "c-body bg-white"
39931
+ }, React.createElement(TheContent$1, {
39932
+ routes: authRoutes
39933
+ }))), React.createElement(ModelSelectRole, {
39934
+ open: openModelSelectRole,
39935
+ onToggleModel: handleToggleModel
39936
+ }));
39937
+ };
39938
+
39475
39939
  var buttonTextStyle = {
39476
39940
  fontWeight: 500
39477
39941
  };
@@ -43595,11 +44059,17 @@ var useTeacherList = function useTeacherList() {
43595
44059
  }
43596
44060
  };
43597
44061
 
43598
- var handleSelectTeacher = useCallback(function (teacherId, studentUserId) {
44062
+ var handleSelectTeacher = useCallback(function (teacherIds, studentUserId) {
43599
44063
  var _extends2;
43600
44064
 
43601
- var selectedTeacher = teacherOptions.find(function (t) {
43602
- return t.value === teacherId;
44065
+ var selectedTeacher = teacherOptions.filter(function (t) {
44066
+ return teacherIds.includes(t.value);
44067
+ });
44068
+ console.log({
44069
+ teacherIds: teacherIds
44070
+ });
44071
+ console.log({
44072
+ selectedTeacher: selectedTeacher
43603
44073
  });
43604
44074
  setSelectedTeachers(_extends({}, selectedTeachers, (_extends2 = {}, _extends2[studentUserId] = selectedTeacher, _extends2)));
43605
44075
  }, [JSON.stringify(selectedTeachers), JSON.stringify(teacherOptions)]);
@@ -43718,18 +44188,29 @@ var useAssignStudent = function useAssignStudent(teacherSelected, assistantSelec
43718
44188
  return;
43719
44189
  }
43720
44190
 
44191
+ console.log("list userId");
44192
+ console.log({
44193
+ listUserIds: listUserIds
44194
+ });
43721
44195
  var users = listUserIds.map(function (i) {
43722
44196
  var teacher = teacherSelected === null || teacherSelected === void 0 ? void 0 : teacherSelected[i];
43723
44197
  var assistant = assistantSelected === null || assistantSelected === void 0 ? void 0 : assistantSelected[i];
43724
44198
  var counselor = counselorSelected === null || counselorSelected === void 0 ? void 0 : counselorSelected[i];
43725
44199
  var secondaryTeacher = secondaryTeacherSelected === null || secondaryTeacherSelected === void 0 ? void 0 : secondaryTeacherSelected[i];
44200
+ console.log({
44201
+ teacher: teacher
44202
+ });
43726
44203
  var value = {
43727
44204
  id: i
43728
44205
  };
43729
44206
 
43730
44207
  if (!!teacher) {
43731
- value.mainTeacherUserId = !!(teacher !== null && teacher !== void 0 && teacher.value) && typeof (teacher === null || teacher === void 0 ? void 0 : teacher.value) === 'string' ? teacher === null || teacher === void 0 ? void 0 : teacher.value : undefined;
43732
- value.mainTeacherEmail = !!(teacher !== null && teacher !== void 0 && teacher.value) && typeof (teacher === null || teacher === void 0 ? void 0 : teacher.value) === 'number' ? teacher === null || teacher === void 0 ? void 0 : teacher.label : undefined;
44208
+ value.mainTeacherUserId = !!teacher ? teacher.map(function (i) {
44209
+ return i.value;
44210
+ }) : undefined;
44211
+ value.mainTeacherEmail = !!teacher ? teacher.map(function (i) {
44212
+ return i.label;
44213
+ }) : undefined;
43733
44214
  }
43734
44215
 
43735
44216
  if (!!assistant) {
@@ -43756,6 +44237,10 @@ var useAssignStudent = function useAssignStudent(teacherSelected, assistantSelec
43756
44237
  var assistant = assistantSelected === null || assistantSelected === void 0 ? void 0 : assistantSelected[id];
43757
44238
  var counselor = counselorSelected === null || counselorSelected === void 0 ? void 0 : counselorSelected[id];
43758
44239
  var secondaryTeacher = secondaryTeacherSelected === null || secondaryTeacherSelected === void 0 ? void 0 : secondaryTeacherSelected[id];
44240
+ console.log("assign student");
44241
+ console.log({
44242
+ teacherSelected: teacherSelected
44243
+ });
43759
44244
 
43760
44245
  if (!teacher && !assistant && !counselor && !secondaryTeacher) {
43761
44246
  dispatch(setAlert({
@@ -43770,8 +44255,12 @@ var useAssignStudent = function useAssignStudent(teacherSelected, assistantSelec
43770
44255
  };
43771
44256
 
43772
44257
  if (!!teacher) {
43773
- studentRequest.mainTeacherUserId = !!(teacher !== null && teacher !== void 0 && teacher.value) && typeof (teacher === null || teacher === void 0 ? void 0 : teacher.value) === 'string' ? teacher === null || teacher === void 0 ? void 0 : teacher.value : undefined;
43774
- studentRequest.mainTeacherEmail = !!(teacher !== null && teacher !== void 0 && teacher.value) && typeof (teacher === null || teacher === void 0 ? void 0 : teacher.value) === 'number' ? teacher === null || teacher === void 0 ? void 0 : teacher.label : undefined;
44258
+ studentRequest.mainTeacherUserId = !!teacher ? teacher.map(function (i) {
44259
+ return i.value;
44260
+ }) : undefined;
44261
+ studentRequest.mainTeacherEmail = !!teacher ? teacher.map(function (i) {
44262
+ return i.label;
44263
+ }) : undefined;
43775
44264
  }
43776
44265
 
43777
44266
  if (!!assistant) {
@@ -43792,6 +44281,11 @@ var useAssignStudent = function useAssignStudent(teacherSelected, assistantSelec
43792
44281
  assignStudents([studentRequest]);
43793
44282
  }, [JSON.stringify(teacherSelected), JSON.stringify(assistantSelected), JSON.stringify(counselorSelected), JSON.stringify(secondaryTeacherSelected)]);
43794
44283
  var handleAssignStaffToStudents = useCallback(function (listUserIds) {
44284
+ console.log("staffBulkAssign");
44285
+ console.log({
44286
+ staffBulkAssign: staffBulkAssign
44287
+ });
44288
+
43795
44289
  if (listUserIds.length === 0) {
43796
44290
  dispatch(setAlert({
43797
44291
  type: "danger",
@@ -43803,8 +44297,6 @@ var useAssignStudent = function useAssignStudent(teacherSelected, assistantSelec
43803
44297
  var users = listUserIds.map(function (i) {
43804
44298
  var value = {
43805
44299
  id: i,
43806
- mainTeacherUserId: !!(staffBulkAssign !== null && staffBulkAssign !== void 0 && staffBulkAssign.teacherId) ? staffBulkAssign === null || staffBulkAssign === void 0 ? void 0 : staffBulkAssign.teacherId : undefined,
43807
- mainTeacherEmail: !!(staffBulkAssign !== null && staffBulkAssign !== void 0 && staffBulkAssign.teacherEmail) ? staffBulkAssign === null || staffBulkAssign === void 0 ? void 0 : staffBulkAssign.teacherEmail : undefined,
43808
44300
  assistantUserId: !!(staffBulkAssign !== null && staffBulkAssign !== void 0 && staffBulkAssign.assistantId) ? staffBulkAssign === null || staffBulkAssign === void 0 ? void 0 : staffBulkAssign.assistantId : undefined,
43809
44301
  assistantEmail: !!(staffBulkAssign !== null && staffBulkAssign !== void 0 && staffBulkAssign.assistantEmail) ? staffBulkAssign === null || staffBulkAssign === void 0 ? void 0 : staffBulkAssign.assistantEmail : undefined,
43810
44302
  counselorUserId: !!(staffBulkAssign !== null && staffBulkAssign !== void 0 && staffBulkAssign.counselorId) ? staffBulkAssign === null || staffBulkAssign === void 0 ? void 0 : staffBulkAssign.counselorId : undefined,
@@ -44153,15 +44645,18 @@ var AssignStudentList = function AssignStudentList() {
44153
44645
  className: "align-middle"
44154
44646
  }, item.email), React.createElement("td", {
44155
44647
  className: "align-middle"
44156
- }, !!item.mainTeacherEmail ? React.createElement(React.Fragment, null, React.createElement("p", {
44157
- className: "mb-0"
44158
- }, item.mainTeacherEmail), React.createElement("p", {
44159
- className: "mb-0"
44160
- }, item.mainTeacherName)) : React.createElement(TeacherSelector, {
44648
+ }, !!item.teachers && item.teachers.length > 0 ? React.createElement(React.Fragment, null, item.teachers.map(function (record) {
44649
+ return React.createElement("p", {
44650
+ className: "mb-0"
44651
+ }, record.mainTeacherName, " - ", record.mainTeacherEmail);
44652
+ })) : React.createElement(TeacherSelector, {
44653
+ isMulti: true,
44161
44654
  value: selectedTeachers === null || selectedTeachers === void 0 ? void 0 : selectedTeachers[item.id],
44162
44655
  options: teacherOptions,
44163
44656
  onChange: function onChange(e) {
44164
- return handleSelectTeacher(e.value, item.id);
44657
+ return handleSelectTeacher(e.map(function (i) {
44658
+ return i.value;
44659
+ }), item.id);
44165
44660
  },
44166
44661
  onCreateOption: function onCreateOption(value) {
44167
44662
  return handleCreateTeacherOption(value, item.id, true);
@@ -45236,34 +45731,6 @@ var UserDetail = function UserDetail() {
45236
45731
  });
45237
45732
  };
45238
45733
 
45239
- var loadingStyle = {
45240
- minWidth: "100vw",
45241
- minHeight: "100vh",
45242
- position: "fixed",
45243
- top: 0,
45244
- left: 0,
45245
- zIndex: 999999999,
45246
- backgroundColor: "rgba(0, 0, 0, 0.4)",
45247
- display: "flex",
45248
- justifyContent: "center",
45249
- alignItems: "center"
45250
- };
45251
-
45252
- var Loading = function Loading() {
45253
- var isLoading = useSelector(function (state) {
45254
- return state.common.isLoading;
45255
- });
45256
- localStorage.setItem("LAST_TIME_REQUETST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
45257
- return isLoading ? React.createElement("div", {
45258
- style: loadingStyle
45259
- }, React.createElement("div", {
45260
- className: "spinner-border text-secondary",
45261
- role: "status"
45262
- }, React.createElement("span", {
45263
- className: "sr-only"
45264
- }, "Loading..."))) : null;
45265
- };
45266
-
45267
45734
  var ScrollToTop = function ScrollToTop() {
45268
45735
  var _useLocation = useLocation(),
45269
45736
  pathname = _useLocation.pathname;
@@ -48283,32 +48750,6 @@ var store = configureStore({
48283
48750
  }
48284
48751
  });
48285
48752
 
48286
- var firstCheckToken = function firstCheckToken() {
48287
- return Promise.resolve(_catch(function () {
48288
- var token = getAccessToken();
48289
- return token ? Promise.resolve(checkToken(token)).then(function (tokenStatus) {
48290
- return tokenStatus.data ? true : false;
48291
- }) : false;
48292
- }, function () {
48293
- return false;
48294
- }));
48295
- };
48296
-
48297
- var canAccess = function canAccess(userRoles, componentRoles) {
48298
- if (!Array.isArray(userRoles)) {
48299
- return false;
48300
- }
48301
-
48302
- if (Array.isArray(componentRoles)) {
48303
- var intersects = userRoles.filter(function (i) {
48304
- return componentRoles.includes(i);
48305
- });
48306
- return intersects.length > 0;
48307
- }
48308
-
48309
- return true;
48310
- };
48311
-
48312
48753
  var isInViewport = function isInViewport(el) {
48313
48754
  var rect = el === null || el === void 0 ? void 0 : el.getBoundingClientRect();
48314
48755
  return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth);
@@ -48338,423 +48779,11 @@ var getTextFromHTML = function getTextFromHTML(htmlString) {
48338
48779
  return text;
48339
48780
  };
48340
48781
 
48341
- var getCookieValue = function getCookieValue(name) {
48342
- var _document$cookie$matc;
48343
-
48344
- return ((_document$cookie$matc = document.cookie.match('(^|;)\\s*' + name + '\\s*=\\s*([^;]+)')) === null || _document$cookie$matc === void 0 ? void 0 : _document$cookie$matc.pop()) || '';
48345
- };
48346
-
48347
48782
  var generateRandomString = (function () {
48348
48783
  return (Math.random() + 1).toString(36).substring(7);
48349
48784
  });
48350
48785
 
48351
48786
  var amplitudeClient = amplitude.getInstance();
48352
48787
 
48353
- var apiGetLanguage = function apiGetLanguage() {
48354
- return api.get(BASE_URL + "/api/language");
48355
- };
48356
-
48357
- var apiUpdateLanguage = function apiUpdateLanguage(lang) {
48358
- return api.put(BASE_URL + "/api/language?lang=" + lang);
48359
- };
48360
-
48361
- var LANGUAGE_SYSTEM = "LANGUAGE_SYSTEM";
48362
-
48363
- var useLanguages = function useLanguages() {
48364
- var dispatch = useDispatch();
48365
-
48366
- var _useTranslation = useTranslation(),
48367
- i18n = _useTranslation.i18n;
48368
-
48369
- var language = useSelector(function (state) {
48370
- return state.common.language;
48371
- });
48372
- var defaultLanguage = getCookieValue(LANGUAGE_SYSTEM) != null ? getCookieValue(LANGUAGE_SYSTEM) : DEFAULT_LANGUAGE_CODE;
48373
-
48374
- var _useState = useState([]),
48375
- languageList = _useState[0],
48376
- setLanguageList = _useState[1];
48377
-
48378
- var _useState2 = useState(false),
48379
- dropdownOpen = _useState2[0],
48380
- setDropdownOpen = _useState2[1];
48381
-
48382
- var _useState3 = useState(defaultLanguage),
48383
- currentLang = _useState3[0],
48384
- setCurrentLang = _useState3[1];
48385
-
48386
- var toggle = function toggle() {
48387
- return setDropdownOpen(function (prevState) {
48388
- return !prevState;
48389
- });
48390
- };
48391
-
48392
- var changeLanguageApp = function changeLanguageApp(lang) {
48393
- try {
48394
- var _temp3 = function _temp3() {
48395
- dispatch(setLoading(false));
48396
- };
48397
-
48398
- dispatch(setLoading(true));
48399
-
48400
- var _temp4 = _catch(function () {
48401
- return Promise.resolve(apiUpdateLanguage(lang)).then(function () {
48402
- i18n.changeLanguage(lang);
48403
- setCurrentLang(lang);
48404
- dispatch(setLanguage(lang));
48405
- });
48406
- }, function (err) {
48407
- var _err$response, _err$response$data;
48408
-
48409
- dispatch(setAlert({
48410
- type: "danger",
48411
- 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
48412
- }));
48413
- });
48414
-
48415
- return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
48416
- } catch (e) {
48417
- return Promise.reject(e);
48418
- }
48419
- };
48420
-
48421
- var getListLanguage = function getListLanguage() {
48422
- try {
48423
- var _temp6 = _catch(function () {
48424
- return Promise.resolve(apiGetLanguage()).then(function (res) {
48425
- setLanguageList(res.data);
48426
- });
48427
- }, function (err) {
48428
- var _err$response2, _err$response2$data;
48429
-
48430
- dispatch(setAlert({
48431
- type: "danger",
48432
- 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
48433
- }));
48434
- });
48435
-
48436
- return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
48437
- } catch (e) {
48438
- return Promise.reject(e);
48439
- }
48440
- };
48441
-
48442
- useEffect(function () {
48443
- defaultLanguage != language && changeLanguageApp(defaultLanguage);
48444
- getListLanguage();
48445
- }, []);
48446
- return {
48447
- languageList: languageList,
48448
- toggle: toggle,
48449
- dropdownOpen: dropdownOpen,
48450
- currentLang: currentLang,
48451
- changeLanguageApp: changeLanguageApp,
48452
- setCurrentLang: setCurrentLang
48453
- };
48454
- };
48455
-
48456
- var TheLanguageDropdown = function TheLanguageDropdown() {
48457
- var _useLanguages = useLanguages(),
48458
- languageList = _useLanguages.languageList,
48459
- toggle = _useLanguages.toggle,
48460
- dropdownOpen = _useLanguages.dropdownOpen,
48461
- currentLang = _useLanguages.currentLang,
48462
- changeLanguageApp = _useLanguages.changeLanguageApp;
48463
-
48464
- var currentLanguage = useMemo(function () {
48465
- var current = languageList.find(function (i) {
48466
- return i.code === currentLang;
48467
- });
48468
- if (!current) return null;
48469
- return React.createElement(React.Fragment, null, React.createElement("img", {
48470
- className: "mr-2 " + styles['dropdown-menu-flag'],
48471
- src: "" + getStaticFileUrl(current.image)
48472
- }), " ", current.name);
48473
- }, [currentLang, languageList]);
48474
- return React.createElement(Dropdown, {
48475
- isOpen: dropdownOpen,
48476
- toggle: toggle,
48477
- className: "" + styles["dropdown-menu"]
48478
- }, React.createElement(DropdownToggle, {
48479
- className: styles["header-avatar"] + " d-flex align-items-center"
48480
- }, React.createElement("span", {
48481
- style: {
48482
- color: "#000",
48483
- textTransform: "capitalize",
48484
- display: 'flex',
48485
- alignItems: 'center'
48486
- }
48487
- }, currentLanguage, React.createElement(BsChevronDown, {
48488
- className: "ml-2",
48489
- style: {
48490
- fontSize: '10px'
48491
- }
48492
- }))), React.createElement(DropdownMenu, {
48493
- className: styles["dropdown-content-language"]
48494
- }, !!languageList && languageList.length > 0 && languageList.map(function (lang, index) {
48495
- return React.createElement(DropdownItem, {
48496
- key: lang.code,
48497
- className: styles["dropdown-change"] + " px-0 py-0 " + (index === languageList.length - 1 ? "pb-2" : "pt-2"),
48498
- onClick: function onClick() {
48499
- return changeLanguageApp(lang.code);
48500
- }
48501
- }, React.createElement("div", {
48502
- className: styles["dropdown-item-language"] + " " + styles["item-logout"] + " " + (currentLang == lang.code ? styles['dropdown-item-language-active'] : "") + " d-flex align-items-center w-100"
48503
- }, React.createElement("span", {
48504
- className: "mr-2 d-flex hover-opacity"
48505
- }, React.createElement("img", {
48506
- style: {
48507
- width: "30px",
48508
- height: "25px",
48509
- borderRadius: "5px"
48510
- },
48511
- src: getStaticFileUrl(lang.image)
48512
- })), lang.name));
48513
- })));
48514
- };
48515
-
48516
- var TheHeader = function TheHeader(_ref) {
48517
- var onToggleModel = _ref.onToggleModel;
48518
- var dispatch = useDispatch();
48519
- var sidebarShow = useSelector(function (state) {
48520
- return state.common.sidebarShow;
48521
- });
48522
-
48523
- var _useTranslation = useTranslation(),
48524
- t = _useTranslation.t;
48525
-
48526
- var toggleSidebarMobile = function toggleSidebarMobile() {
48527
- var val = [false, "responsive"].includes(sidebarShow) ? true : "responsive";
48528
- dispatch(setSidebar(val));
48529
- };
48530
-
48531
- var isDistrict = window.location.host.includes("-district");
48532
- return React.createElement(CHeader, {
48533
- withSubheader: true,
48534
- className: "d-flex align-items-center justify-content-end"
48535
- }, React.createElement(CToggler, {
48536
- inHeader: true,
48537
- className: "ml-md-3 d-lg-none",
48538
- onClick: toggleSidebarMobile
48539
- }), React.createElement(CHeaderBrand, {
48540
- className: "mx-auto flex-grow-1 d-lg-none",
48541
- to: "/"
48542
- }, React.createElement("img", {
48543
- src: getStaticFileUrl(Images.LOGO_HEADER),
48544
- className: styles["header-logo"]
48545
- })), React.createElement(CHeaderNav, {
48546
- className: "pr-3"
48547
- }, React.createElement(TheLanguageDropdown, null), React.createElement("a", {
48548
- className: "mr-3",
48549
- style: {
48550
- color: '#000'
48551
- },
48552
- href: '/privacy-policy',
48553
- target: "blank"
48554
- }, t("privacy_policy")), !isDistrict && React.createElement(NotificationButton, null), React.createElement(TheHeaderDropdown, {
48555
- onToggleModel: onToggleModel
48556
- })));
48557
- };
48558
-
48559
- var ModelSelectRole = function ModelSelectRole(_ref) {
48560
- var _handleUserRole;
48561
-
48562
- var open = _ref.open,
48563
- onToggleModel = _ref.onToggleModel;
48564
- var dispatch = useDispatch();
48565
-
48566
- var _useTranslation = useTranslation(),
48567
- t = _useTranslation.t;
48568
-
48569
- var history = useHistory();
48570
- var pathname = window.location.pathname;
48571
- var user = useSelector(function (state) {
48572
- return state.common.user;
48573
- });
48574
- var roles = user === null || user === void 0 ? void 0 : user.roles;
48575
-
48576
- var handleSelectUserRoles = function handleSelectUserRoles(roles) {
48577
- dispatch(setLoading(true));
48578
- var roleSelect = roles.includes("Teacher/Assistant") ? ["Teacher", "Assistant"] : roles;
48579
- dispatch(setUser(_extends({}, user, {
48580
- roles: roleSelect
48581
- })));
48582
- localStorage.setItem("ROLES", roleSelect.toString());
48583
- onToggleModel();
48584
-
48585
- if (roles.includes("Parent")) {
48586
- history.push("/parent");
48587
- } else if (roles.includes("Admin")) {
48588
- history.push("/admin/home");
48589
- } else {
48590
- pathname !== "/home" ? history.push("/home") : window.location.reload();
48591
- }
48592
- };
48593
-
48594
- return React.createElement(Modal, {
48595
- isOpen: open,
48596
- toggle: function toggle() {
48597
- return onToggleModel();
48598
- },
48599
- className: "" + styles["model-switch-roles"],
48600
- centered: true
48601
- }, React.createElement("p", {
48602
- className: "" + styles["title"]
48603
- }, 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) {
48604
- return React.createElement("p", {
48605
- key: r,
48606
- 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" : ""],
48607
- onClick: function onClick() {
48608
- return handleSelectUserRoles([r]);
48609
- }
48610
- }, r == "SecondaryTeacher" ? "Support Teacher" : r);
48611
- })));
48612
- };
48613
-
48614
- var TheLayout = function TheLayout(_ref) {
48615
- var routes = _ref.routes,
48616
- navigation = _ref.navigation;
48617
- var history = useHistory();
48618
- var dispatch = useDispatch();
48619
- var user = useSelector(function (state) {
48620
- return state.common.user;
48621
- });
48622
- var language = useSelector(function (state) {
48623
- return state.common.language;
48624
- });
48625
-
48626
- var _useState = useState(false),
48627
- openModelSelectRole = _useState[0],
48628
- setOpenModelSelectRole = _useState[1];
48629
-
48630
- var _useTranslation = useTranslation(),
48631
- t = _useTranslation.t;
48632
-
48633
- var location = useLocation();
48634
- var isNotification = location.pathname.includes("notifications");
48635
- var isDistrict = window.location.host.includes("-district");
48636
-
48637
- var handleToggleModel = function handleToggleModel() {
48638
- setOpenModelSelectRole(!openModelSelectRole);
48639
- };
48640
-
48641
- var authRoutes = useMemo(function () {
48642
- return routes.filter(function (route) {
48643
- return canAccess(user === null || user === void 0 ? void 0 : user.roles, route.roles);
48644
- }).filter(function (route) {
48645
- return !!route.isDistrict === isDistrict;
48646
- });
48647
- }, [user, language]);
48648
- var authNavigations = useMemo(function () {
48649
- return navigation.map(function (item) {
48650
- var _item$_children, _item$_children2;
48651
-
48652
- return _extends({}, item, {
48653
- name: t(item.name),
48654
- _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) {
48655
- return _extends({}, x, {
48656
- name: t(x.name)
48657
- });
48658
- }) : undefined
48659
- });
48660
- }).filter(function (nav) {
48661
- return canAccess(user === null || user === void 0 ? void 0 : user.roles, nav.roles);
48662
- }).filter(function (nav) {
48663
- return !!nav.isDistrict === isDistrict;
48664
- });
48665
- }, [user, language]);
48666
-
48667
- var getInformationSetting = function getInformationSetting() {
48668
- try {
48669
- var _temp2 = _catch(function () {
48670
- return Promise.resolve(getSchoolSettings()).then(function (res) {
48671
- dispatch(setSandboxMode(res.data.isSandboxMode));
48672
- });
48673
- }, function (err) {
48674
- console.error(err);
48675
- });
48676
-
48677
- return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
48678
- } catch (e) {
48679
- return Promise.reject(e);
48680
- }
48681
- };
48682
-
48683
- useEffect(function () {
48684
- checkAuthentication();
48685
- }, []);
48686
- useEffect(function () {
48687
- getInformationSetting();
48688
- }, [location.pathname]);
48689
-
48690
- var checkAuthentication = function checkAuthentication() {
48691
- try {
48692
- var _temp4 = _catch(function () {
48693
- return Promise.resolve(firstCheckToken()).then(function (tokenStatus) {
48694
- tokenStatus ? loadInfo() : resetAuth();
48695
- });
48696
- }, function () {
48697
- resetAuth();
48698
- });
48699
-
48700
- return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
48701
- } catch (e) {
48702
- return Promise.reject(e);
48703
- }
48704
- };
48705
-
48706
- var loadInfo = function loadInfo() {
48707
- try {
48708
- var _temp6 = _catch(function () {
48709
- return Promise.resolve(getInfo()).then(function (info) {
48710
- var _info$data, _info$data$roles;
48711
-
48712
- 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"))) {
48713
- resetAuth();
48714
- }
48715
-
48716
- dispatch(setUser(info.data));
48717
- });
48718
- }, function () {
48719
- resetAuth();
48720
- });
48721
-
48722
- return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
48723
- } catch (e) {
48724
- return Promise.reject(e);
48725
- }
48726
- };
48727
-
48728
- var resetAuth = function resetAuth() {
48729
- localStorage.removeItem(ACCESS_TOKEN);
48730
- sessionStorage.removeItem(ACCESS_TOKEN);
48731
- localStorage.removeItem("ROLES");
48732
- history.push("/");
48733
- };
48734
-
48735
- if (!user) {
48736
- return React.createElement(Loading, null);
48737
- }
48738
-
48739
- return React.createElement("div", {
48740
- className: "c-app c-default-layout"
48741
- }, !isNotification && React.createElement(TheSidebar, {
48742
- navigation: authNavigations
48743
- }), React.createElement("div", {
48744
- className: "c-wrapper"
48745
- }, !isNotification && React.createElement(TheHeader, {
48746
- onToggleModel: handleToggleModel
48747
- }), React.createElement("div", {
48748
- className: "c-body bg-white"
48749
- }, React.createElement(TheContent$1, {
48750
- routes: authRoutes
48751
- }))), React.createElement(ModelSelectRole, {
48752
- open: openModelSelectRole,
48753
- onToggleModel: handleToggleModel
48754
- }));
48755
- };
48756
-
48757
- var amplitudeClient$1 = amplitude.getInstance();
48758
-
48759
- 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$1 as 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, 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 };
48788
+ 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, 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 };
48760
48789
  //# sourceMappingURL=index.modern.js.map