mario-core 2.9.145-up → 2.9.147-level
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/components/Alerts/ReactNotification.d.ts +2 -2
- package/dist/components/Image/UploadImage.d.ts +2 -2
- package/dist/components/Modals/ModelSelectRole.d.ts +7 -0
- package/dist/components/Modals/NotificationLogoutModal.d.ts +2 -2
- package/dist/components/Modals/NotificationModal.d.ts +2 -2
- package/dist/components/Others/QuitPrompt.d.ts +2 -2
- package/dist/components/Pagination/CustomPagination.d.ts +2 -2
- package/dist/components/Selectors/AcademicClassSelector.d.ts +2 -2
- package/dist/components/Selectors/CategorySelector.d.ts +2 -2
- package/dist/components/Selectors/CreatableSelector.d.ts +2 -2
- package/dist/components/Selectors/CustomSelector.d.ts +2 -2
- package/dist/components/Selectors/MailCategorySelectors.d.ts +2 -2
- package/dist/components/Selectors/QuestionCategorySelector.d.ts +2 -2
- package/dist/components/Selectors/QuestionTypeSelector.d.ts +2 -2
- package/dist/components/Selectors/StarRatingSelector.d.ts +2 -2
- package/dist/components/Selectors/SuggestionCategorySelector.d.ts +2 -2
- package/dist/components/Tabs/CustomTab.d.ts +2 -2
- package/dist/containers/Login/constant/type.d.ts +5 -0
- package/dist/containers/Login/views/Dashboard.d.ts +2 -2
- package/dist/containers/Login/views/Login.d.ts +2 -2
- package/dist/containers/Login/views/ModelSelectRole.d.ts +4 -0
- package/dist/containers/Login/views/block/BlockForgetPassword.d.ts +2 -2
- package/dist/containers/Login/views/block/BlockResetPassword.d.ts +2 -2
- package/dist/containers/Login/views/block/BlockTwoFactorLogin.d.ts +2 -2
- package/dist/containers/Login/views/block/QuoteContent.d.ts +2 -2
- package/dist/containers/Notifications/views/NotificationList.d.ts +2 -2
- package/dist/containers/Skill/components/SkillSelector.d.ts +2 -2
- package/dist/containers/User/views/UserDetail.d.ts +2 -2
- package/dist/containers/User/views/UserList.d.ts +2 -2
- package/dist/index.css +31 -4
- package/dist/index.js +805 -781
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +806 -782
- package/dist/index.modern.js.map +1 -1
- package/dist/layouts/TheContent.d.ts +1 -1
- package/dist/layouts/TheFooter.d.ts +1 -1
- package/dist/layouts/TheHeader.d.ts +5 -2
- package/dist/layouts/TheHeaderDropdown.d.ts +5 -2
- package/dist/layouts/TheLanguageDropdown.d.ts +2 -2
- package/dist/layouts/TheLayout.d.ts +2 -2
- package/dist/layouts/TheSidebar.d.ts +2 -2
- package/dist/redux/assessments/reducer.d.ts +2 -2
- package/dist/redux/assignment/reducer.d.ts +1 -1
- package/dist/redux/assistants/reducer.d.ts +1 -1
- package/dist/redux/badges/reducer.d.ts +1 -1
- package/dist/redux/bandScores/reducer.d.ts +1 -1
- package/dist/redux/certificate/reducer.d.ts +1 -1
- package/dist/redux/classes/reducer.d.ts +1 -1
- package/dist/redux/commons/reducer.d.ts +1 -1
- package/dist/redux/conferenceRubrics/reducer.d.ts +1 -1
- package/dist/redux/customAlert/reducer.d.ts +1 -1
- package/dist/redux/dashboard/reducer.d.ts +1 -1
- package/dist/redux/dataPlayer/reducer.d.ts +1 -1
- package/dist/redux/emailTemplates/reducer.d.ts +1 -1
- package/dist/redux/faqs/reducer.d.ts +1 -1
- package/dist/redux/feedback/reducer.d.ts +1 -1
- package/dist/redux/gallery/reducer.d.ts +1 -1
- package/dist/redux/goalExamples/reducer.d.ts +1 -1
- package/dist/redux/improveMyClass/reducer.d.ts +1 -1
- package/dist/redux/learningStrategies/reducer.d.ts +1 -1
- package/dist/redux/learningSupportCategories/reducer.d.ts +1 -1
- package/dist/redux/mailCategories/reducer.d.ts +1 -1
- package/dist/redux/navMobile/reducer.d.ts +1 -1
- package/dist/redux/notifications/reducer.d.ts +1 -1
- package/dist/redux/questionBanks/reducer.d.ts +1 -1
- package/dist/redux/questionByCategory/reducer.d.ts +1 -1
- package/dist/redux/questionCategory/reducer.d.ts +1 -1
- package/dist/redux/reflectionForms/reducer.d.ts +1 -1
- package/dist/redux/reflectionResults/reducer.d.ts +1 -1
- package/dist/redux/schoolBlankDays/reducer.d.ts +1 -1
- package/dist/redux/semester/reducer.d.ts +1 -1
- package/dist/redux/sessionPlayers/reducer.d.ts +1 -1
- package/dist/redux/sessionTemplateGeneralClasses/reducer.d.ts +1 -1
- package/dist/redux/sessionTemplates/reducer.d.ts +1 -1
- package/dist/redux/skills/reducer.d.ts +1 -1
- package/dist/redux/subjects/reducer.d.ts +1 -1
- package/dist/redux/suggestionBanks/reducer.d.ts +1 -1
- package/dist/redux/teacher/myStudent/reducer.d.ts +1 -1
- package/dist/redux/tutorialScreen/reducer.d.ts +2 -2
- package/dist/redux/users/reducer.d.ts +1 -1
- package/dist/redux/widget/reducer.d.ts +1 -1
- package/dist/utils/amplitude.d.ts +1 -0
- package/dist/utils/constants.d.ts +1 -0
- package/package.json +101 -101
package/dist/index.modern.js
CHANGED
|
@@ -21,7 +21,7 @@ import { CgMenuRight } from 'react-icons/cg';
|
|
|
21
21
|
import { RiLogoutBoxRLine } from 'react-icons/ri';
|
|
22
22
|
import Pusher from 'pusher-js/with-encryption';
|
|
23
23
|
import { BsChevronDown } from 'react-icons/bs';
|
|
24
|
-
import { FaPlus, FaTrashAlt,
|
|
24
|
+
import { FaPlus, FaTrashAlt, FaRegEdit, FaArrowLeft, FaDownload, FaTrash, FaEdit, FaFolderPlus, FaFileUpload, FaUsersCog } from 'react-icons/fa';
|
|
25
25
|
import { format } from 'date-fns';
|
|
26
26
|
import { Editor } from '@tinymce/tinymce-react';
|
|
27
27
|
import differenceInCalendarYears from 'date-fns/differenceInCalendarYears';
|
|
@@ -32,6 +32,7 @@ import Creatable from 'react-select/creatable';
|
|
|
32
32
|
import ReactNotification$1 from 'react-notifications-component';
|
|
33
33
|
import 'react-notifications-component/dist/theme.css';
|
|
34
34
|
import { AiOutlineEye } from 'react-icons/ai';
|
|
35
|
+
import 'symbol-observable';
|
|
35
36
|
|
|
36
37
|
var dashboard = "Dashboard";
|
|
37
38
|
var user = "User";
|
|
@@ -2761,7 +2762,7 @@ function _catch(body, recover) {
|
|
|
2761
2762
|
return result;
|
|
2762
2763
|
}
|
|
2763
2764
|
|
|
2764
|
-
var styles = {"btn-login-google":"_2HqmH","notification-count":"_2sew7","text-introduction":"_3OgWF","btn-trans-border":"_r9cAh","contact":"_NszFe","learn-more":"_MDjzH","title-quote":"_1Swkw","descriptions-quote":"_gi8vj","box-login":"_38Lo1","block-verification":"_1OzGy","block-login":"_wWIyO","title-login":"_3nuns","title-forgot-password":"_21qb6","btn-close":"_NhW9l","btn-login":"_3IL10","digital-privacy-icon":"_141p1","return-to-login":"_Ce3Kg","recover-account":"_2t6d9","link-to-login":"_3bDsd","remember":"_11FZt","term-and-conditions":"_3LXoI","descriptions-forgot-pass":"_PMcjT","content-icon":"_2rZY6","descriptions-icon":"_3SOdX","title-icon":"_y9lM2","nav-home":"_1TT1q","box-introduction":"_32V6L","icon":"_20YJX","form-user-name":"_39BJD","checkbox-remember":"_2K9b2","block-reset-password":"_23Sua","block-forgot-pass":"_3CWP6","page-not-login":"_3Wmco","content-quote":"_13Rk0","home-page":"_o6HKW","red-background":"_jOY7o","imageAnimation":"_wnn2_","login":"_F-hjL","login-content":"_149oA","logo-home":"_24U3W","img-box":"_2v-L_","img-login":"_3ncTL","img-login-rectangle":"_2kOvJ","c-main":"_39l0X","container-fluid":"_1BMwK","input-file-label":"_1XNpH","delete-avatar-button":"_1z5h9","header-logo":"_Gewcf","box-sidebar":"_2vcmv","sidebar-logo":"_1hXpy","sidebar-nav-links":"_3vb3s","c-active":"_36jSM","sidebar-nav-links-hover":"_DNrus","box-sidebar-header":"_3NEZj","box-logout":"_1wUDG","sidebar-btn-minimized":"_1S7Px","sidebar-logout":"_2P85D","nav-mobile":"_1qjbW","filter-media-file":"_1I62C","div":"_3cLcM","dropdown-menu":"_1krbH","header-avatar":"_RQaHE","dropdown-menu-flag":"_XK8oS","dropdown-content":"_3ys4W","dropdown-change":"_ToOW_","item-address":"_3sQlR","item-logout":"_3bqSM","title-address":"_1jgSI","img-avatar":"_35Ttz","item-contact":"_1wc7o","logout":"_1_9tV","content-text":"_3S4f2","dropdown-content-language":"_3ajui","dropdown-item-language":"_3Y_y4","dropdown-item-language-active":"_CzNMi","hide-in-mobile":"_1INnO","hamburger-menu":"_2yRc8","box-content-home-page":"_ABUIP","collapse-box":"_WX97m","hide-in-desktop":"_2LIqK","control-input":"_2Zz97","custom-control":"_3-yp5"};
|
|
2765
|
+
var styles = {"btn-login-google":"_2HqmH","notification-count":"_2sew7","text-introduction":"_3OgWF","btn-trans-border":"_r9cAh","contact":"_NszFe","learn-more":"_MDjzH","title-quote":"_1Swkw","descriptions-quote":"_gi8vj","box-login":"_38Lo1","block-verification":"_1OzGy","block-login":"_wWIyO","title-login":"_3nuns","title-forgot-password":"_21qb6","btn-close":"_NhW9l","btn-login":"_3IL10","digital-privacy-icon":"_141p1","return-to-login":"_Ce3Kg","recover-account":"_2t6d9","link-to-login":"_3bDsd","remember":"_11FZt","term-and-conditions":"_3LXoI","descriptions-forgot-pass":"_PMcjT","content-icon":"_2rZY6","descriptions-icon":"_3SOdX","title-icon":"_y9lM2","nav-home":"_1TT1q","box-introduction":"_32V6L","icon":"_20YJX","form-user-name":"_39BJD","checkbox-remember":"_2K9b2","block-reset-password":"_23Sua","block-forgot-pass":"_3CWP6","page-not-login":"_3Wmco","content-quote":"_13Rk0","home-page":"_o6HKW","red-background":"_jOY7o","imageAnimation":"_wnn2_","login":"_F-hjL","login-content":"_149oA","logo-home":"_24U3W","img-box":"_2v-L_","img-login":"_3ncTL","img-login-rectangle":"_2kOvJ","c-main":"_39l0X","container-fluid":"_1BMwK","input-file-label":"_1XNpH","delete-avatar-button":"_1z5h9","header-logo":"_Gewcf","box-sidebar":"_2vcmv","sidebar-logo":"_1hXpy","sidebar-nav-links":"_3vb3s","c-active":"_36jSM","sidebar-nav-links-hover":"_DNrus","box-sidebar-header":"_3NEZj","box-logout":"_1wUDG","sidebar-btn-minimized":"_1S7Px","sidebar-logout":"_2P85D","nav-mobile":"_1qjbW","filter-media-file":"_1I62C","div":"_3cLcM","dropdown-menu":"_1krbH","header-avatar":"_RQaHE","dropdown-menu-flag":"_XK8oS","dropdown-content":"_3ys4W","dropdown-change":"_ToOW_","item-address":"_3sQlR","item-logout":"_3bqSM","title-address":"_1jgSI","img-avatar":"_35Ttz","item-contact":"_1wc7o","logout":"_1_9tV","content-text":"_3S4f2","dropdown-content-language":"_3ajui","dropdown-item-language":"_3Y_y4","dropdown-item-language-active":"_CzNMi","hide-in-mobile":"_1INnO","hamburger-menu":"_2yRc8","box-content-home-page":"_ABUIP","collapse-box":"_WX97m","hide-in-desktop":"_2LIqK","control-input":"_2Zz97","custom-control":"_3-yp5","item-select-role":"_1KcY7","item-role-active":"_dOVso","model-switch-roles":"_3ZqxI","title":"_g-p72"};
|
|
2765
2766
|
|
|
2766
2767
|
var style = {
|
|
2767
2768
|
fontSize: "0.85rem"
|
|
@@ -2997,6 +2998,16 @@ var ROLES = {
|
|
|
2997
2998
|
SECONDARY_TEACHER: "SecondaryTeacher"
|
|
2998
2999
|
};
|
|
2999
3000
|
var NOTIFICATION_ALERT_KEY = "NOTIFICATION_ALERT_KEY";
|
|
3001
|
+
var handleUserRole = function handleUserRole(userRoles) {
|
|
3002
|
+
if (userRoles !== null && userRoles !== void 0 && userRoles.includes("Teacher") && userRoles !== null && userRoles !== void 0 && userRoles.includes("Assistant")) {
|
|
3003
|
+
var roles = userRoles.filter(function (r) {
|
|
3004
|
+
return r !== "Teacher" && r !== "Assistant";
|
|
3005
|
+
});
|
|
3006
|
+
roles.push("Teacher/Assistant");
|
|
3007
|
+
return roles;
|
|
3008
|
+
}
|
|
3009
|
+
return userRoles;
|
|
3010
|
+
};
|
|
3000
3011
|
|
|
3001
3012
|
var getAccessToken = (function () {
|
|
3002
3013
|
try {
|
|
@@ -3617,7 +3628,7 @@ var BlockLogin = function BlockLogin(_ref) {
|
|
|
3617
3628
|
}, React.createElement("div", {
|
|
3618
3629
|
className: "" + styles["block-form"]
|
|
3619
3630
|
}, React.createElement("img", {
|
|
3620
|
-
src: "/images/
|
|
3631
|
+
src: "/images/horizontal-logo-blue.svg",
|
|
3621
3632
|
className: "" + styles["img-login-rectangle"]
|
|
3622
3633
|
}), React.createElement("p", {
|
|
3623
3634
|
className: "" + styles["title-login"]
|
|
@@ -4137,7 +4148,7 @@ var Dashboard = function Dashboard() {
|
|
|
4137
4148
|
href: "/",
|
|
4138
4149
|
className: "" + styles["logo-home"]
|
|
4139
4150
|
}, React.createElement("img", {
|
|
4140
|
-
src: "/images/logo-
|
|
4151
|
+
src: "/images/horizontal-logo-white.svg",
|
|
4141
4152
|
alt: "mario"
|
|
4142
4153
|
})), React.createElement(GiHamburgerMenu, {
|
|
4143
4154
|
onClick: toggle,
|
|
@@ -4370,21 +4381,23 @@ var DEFAULT_USER_AVATAR = "/avatars/default-avatar.png";
|
|
|
4370
4381
|
var ADMIN_ROLE = "Admin";
|
|
4371
4382
|
var TEACHER_ROLE = "Teacher";
|
|
4372
4383
|
var USER_DETAIL_URL = "/admin/user";
|
|
4373
|
-
var TheHeaderDropdown = function TheHeaderDropdown() {
|
|
4384
|
+
var TheHeaderDropdown = function TheHeaderDropdown(_ref) {
|
|
4385
|
+
var _handleUserRole;
|
|
4386
|
+
var onToggleModel = _ref.onToggleModel;
|
|
4374
4387
|
var user = useSelector(function (state) {
|
|
4375
4388
|
return state.common.user;
|
|
4376
4389
|
});
|
|
4377
4390
|
var dispatch = useDispatch();
|
|
4391
|
+
var location = useLocation();
|
|
4378
4392
|
var history = useHistory();
|
|
4393
|
+
var params = new URLSearchParams(location.search);
|
|
4394
|
+
var isReadOnly = params.get("isReadOnly");
|
|
4379
4395
|
var email = user.email,
|
|
4380
4396
|
profileImageFileName = user.profileImageFileName,
|
|
4381
4397
|
roles = user.roles,
|
|
4382
4398
|
id = user.id;
|
|
4383
4399
|
var isAdmin = roles.includes(ADMIN_ROLE);
|
|
4384
4400
|
var isTeacher = roles.includes(TEACHER_ROLE);
|
|
4385
|
-
var goToTeacherPanel = useCallback(function () {
|
|
4386
|
-
isTeacher && history.push("/home");
|
|
4387
|
-
}, [isTeacher, history]);
|
|
4388
4401
|
var signOut = useCallback(function () {
|
|
4389
4402
|
localStorage.removeItem(ACCESS_TOKEN);
|
|
4390
4403
|
dispatch(reset());
|
|
@@ -4422,20 +4435,20 @@ var TheHeaderDropdown = function TheHeaderDropdown() {
|
|
|
4422
4435
|
className: styles["content-text"]
|
|
4423
4436
|
}, React.createElement("h5", null, user.firstName + " " + user.lastName), React.createElement("span", {
|
|
4424
4437
|
className: "block"
|
|
4425
|
-
}, email), !isDistrict && React.createElement(NavLink, null, isTeacher && React.createElement(Link, {
|
|
4426
|
-
to: "/my-profile"
|
|
4427
|
-
}, "Edit profile"),
|
|
4428
|
-
|
|
4429
|
-
|
|
4430
|
-
|
|
4438
|
+
}, email), !isDistrict && React.createElement(NavLink, null, (isAdmin || isTeacher) && React.createElement(Link, {
|
|
4439
|
+
to: "" + (isAdmin ? USER_DETAIL_URL + "/" + id : "/my-profile")
|
|
4440
|
+
}, "Edit profile")))), ((_handleUserRole = handleUserRole((user === null || user === void 0 ? void 0 : user.roles) || [])) === null || _handleUserRole === void 0 ? void 0 : _handleUserRole.length) > 1 && !isReadOnly && React.createElement(DropdownItem, {
|
|
4441
|
+
onClick: function onClick() {
|
|
4442
|
+
onToggleModel === null || onToggleModel === void 0 ? void 0 : onToggleModel();
|
|
4443
|
+
},
|
|
4431
4444
|
className: styles["dropdown-change"] + " px-0"
|
|
4432
4445
|
}, React.createElement("div", {
|
|
4433
|
-
className: styles["item-address"] + " d-flex align-items-center w-100"
|
|
4446
|
+
className: styles["item-address"] + " d-flex align-items-center w-100 text-uppercase mb-2"
|
|
4434
4447
|
}, React.createElement("span", {
|
|
4435
4448
|
className: "mr-2"
|
|
4436
4449
|
}, React.createElement("i", {
|
|
4437
4450
|
className: "fas fa-cogs h6 mb-0"
|
|
4438
|
-
})), "
|
|
4451
|
+
})), "Role change")), React.createElement(DropdownItem, {
|
|
4439
4452
|
onClick: signOut,
|
|
4440
4453
|
className: styles["dropdown-change"] + " px-0"
|
|
4441
4454
|
}, React.createElement("div", {
|
|
@@ -4516,7 +4529,8 @@ var TheLanguageDropdown = function TheLanguageDropdown() {
|
|
|
4516
4529
|
})), "United States"))));
|
|
4517
4530
|
};
|
|
4518
4531
|
|
|
4519
|
-
var TheHeader = function TheHeader() {
|
|
4532
|
+
var TheHeader = function TheHeader(_ref) {
|
|
4533
|
+
var onToggleModel = _ref.onToggleModel;
|
|
4520
4534
|
var dispatch = useDispatch();
|
|
4521
4535
|
var sidebarShow = useSelector(function (state) {
|
|
4522
4536
|
return state.common.sidebarShow;
|
|
@@ -4548,7 +4562,9 @@ var TheHeader = function TheHeader() {
|
|
|
4548
4562
|
},
|
|
4549
4563
|
href: '/privacy-policy',
|
|
4550
4564
|
target: "blank"
|
|
4551
|
-
}, "Privacy Policy"), !isDistrict && React.createElement(NotificationButton, null), React.createElement(TheHeaderDropdown,
|
|
4565
|
+
}, "Privacy Policy"), !isDistrict && React.createElement(NotificationButton, null), React.createElement(TheHeaderDropdown, {
|
|
4566
|
+
onToggleModel: onToggleModel
|
|
4567
|
+
})));
|
|
4552
4568
|
};
|
|
4553
4569
|
|
|
4554
4570
|
var TITLE$2 = "Not found";
|
|
@@ -4655,6 +4671,54 @@ var canAccess = function canAccess(userRoles, componentRoles) {
|
|
|
4655
4671
|
return true;
|
|
4656
4672
|
};
|
|
4657
4673
|
|
|
4674
|
+
var ModelSelectRole = function ModelSelectRole(_ref) {
|
|
4675
|
+
var _handleUserRole;
|
|
4676
|
+
var open = _ref.open,
|
|
4677
|
+
onToggleModel = _ref.onToggleModel;
|
|
4678
|
+
var dispatch = useDispatch();
|
|
4679
|
+
var history = useHistory();
|
|
4680
|
+
var pathname = window.location.pathname;
|
|
4681
|
+
var user = useSelector(function (state) {
|
|
4682
|
+
return state.common.user;
|
|
4683
|
+
});
|
|
4684
|
+
var roles = user === null || user === void 0 ? void 0 : user.roles;
|
|
4685
|
+
var handleSelectUserRoles = function handleSelectUserRoles(roles) {
|
|
4686
|
+
if (roles.includes("Admin")) {
|
|
4687
|
+
dispatch(setLoading(true));
|
|
4688
|
+
return history.push("/admin/dashboard");
|
|
4689
|
+
}
|
|
4690
|
+
var roleSelect = roles.includes("Teacher/Assistant") ? ["Teacher", "Assistant"] : roles;
|
|
4691
|
+
dispatch(setUser(_extends({}, user, {
|
|
4692
|
+
roles: roleSelect
|
|
4693
|
+
})));
|
|
4694
|
+
localStorage.setItem("ROLES", roleSelect.toString());
|
|
4695
|
+
onToggleModel();
|
|
4696
|
+
if (roles.includes("Parent")) {
|
|
4697
|
+
history.push("/parent");
|
|
4698
|
+
} else {
|
|
4699
|
+
pathname !== "/home" ? history.push("/home") : window.location.reload();
|
|
4700
|
+
}
|
|
4701
|
+
};
|
|
4702
|
+
return React.createElement(Modal, {
|
|
4703
|
+
isOpen: open,
|
|
4704
|
+
toggle: function toggle() {
|
|
4705
|
+
return onToggleModel();
|
|
4706
|
+
},
|
|
4707
|
+
className: "" + styles["model-switch-roles"],
|
|
4708
|
+
centered: true
|
|
4709
|
+
}, React.createElement("p", {
|
|
4710
|
+
className: "" + styles["title"]
|
|
4711
|
+
}, "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) {
|
|
4712
|
+
return React.createElement("p", {
|
|
4713
|
+
key: r,
|
|
4714
|
+
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" : ""],
|
|
4715
|
+
onClick: function onClick() {
|
|
4716
|
+
return handleSelectUserRoles([r]);
|
|
4717
|
+
}
|
|
4718
|
+
}, r == "SecondaryTeacher" ? "Support Teacher" : r);
|
|
4719
|
+
})));
|
|
4720
|
+
};
|
|
4721
|
+
|
|
4658
4722
|
var TheLayout = function TheLayout(_ref) {
|
|
4659
4723
|
var routes = _ref.routes,
|
|
4660
4724
|
navigation = _ref.navigation;
|
|
@@ -4666,11 +4730,17 @@ var TheLayout = function TheLayout(_ref) {
|
|
|
4666
4730
|
var language = useSelector(function (state) {
|
|
4667
4731
|
return state.common.language;
|
|
4668
4732
|
});
|
|
4733
|
+
var _useState = useState(false),
|
|
4734
|
+
openModelSelectRole = _useState[0],
|
|
4735
|
+
setOpenModelSelectRole = _useState[1];
|
|
4669
4736
|
var _useTranslation = useTranslation(),
|
|
4670
4737
|
t = _useTranslation.t;
|
|
4671
4738
|
var location = useLocation();
|
|
4672
4739
|
var isNotification = location.pathname.includes("notifications");
|
|
4673
4740
|
var isDistrict = window.location.host.includes("-district");
|
|
4741
|
+
var handleToggleModel = function handleToggleModel() {
|
|
4742
|
+
setOpenModelSelectRole(!openModelSelectRole);
|
|
4743
|
+
};
|
|
4674
4744
|
var authRoutes = useMemo(function () {
|
|
4675
4745
|
return routes.filter(function (route) {
|
|
4676
4746
|
return canAccess(user === null || user === void 0 ? void 0 : user.roles, route.roles);
|
|
@@ -4736,11 +4806,16 @@ var TheLayout = function TheLayout(_ref) {
|
|
|
4736
4806
|
navigation: authNavigations
|
|
4737
4807
|
}), React.createElement("div", {
|
|
4738
4808
|
className: "c-wrapper"
|
|
4739
|
-
}, !isNotification && React.createElement(TheHeader,
|
|
4809
|
+
}, !isNotification && React.createElement(TheHeader, {
|
|
4810
|
+
onToggleModel: handleToggleModel
|
|
4811
|
+
}), React.createElement("div", {
|
|
4740
4812
|
className: "c-body bg-white"
|
|
4741
4813
|
}, React.createElement(TheContent$1, {
|
|
4742
4814
|
routes: authRoutes
|
|
4743
|
-
})))
|
|
4815
|
+
}))), React.createElement(ModelSelectRole, {
|
|
4816
|
+
open: openModelSelectRole,
|
|
4817
|
+
onToggleModel: handleToggleModel
|
|
4818
|
+
}));
|
|
4744
4819
|
};
|
|
4745
4820
|
|
|
4746
4821
|
var buttonTextStyle = {
|
|
@@ -6824,8 +6899,80 @@ var SkillList = function SkillList() {
|
|
|
6824
6899
|
}))));
|
|
6825
6900
|
};
|
|
6826
6901
|
|
|
6827
|
-
var
|
|
6828
|
-
var
|
|
6902
|
+
var MAX_FILE_SIZE = 20097152;
|
|
6903
|
+
var UploadFileButton = function UploadFileButton(_ref) {
|
|
6904
|
+
var fileName = _ref.fileName,
|
|
6905
|
+
maxWidth = _ref.maxWidth,
|
|
6906
|
+
maxHeight = _ref.maxHeight,
|
|
6907
|
+
setFile = _ref.setFile,
|
|
6908
|
+
canDelete = _ref.canDelete,
|
|
6909
|
+
onDelete = _ref.onDelete,
|
|
6910
|
+
isCheckFeedBack = _ref.isCheckFeedBack,
|
|
6911
|
+
onAddImage = _ref.onAddImage;
|
|
6912
|
+
var dispatch = useDispatch();
|
|
6913
|
+
var _useState = useState(""),
|
|
6914
|
+
imagePreviewUrl = _useState[0],
|
|
6915
|
+
setImagePreviewUrl = _useState[1];
|
|
6916
|
+
var imageStyle = {
|
|
6917
|
+
maxWidth: maxWidth || "100%",
|
|
6918
|
+
maxHeight: maxHeight || "100%"
|
|
6919
|
+
};
|
|
6920
|
+
var imageSrc = imagePreviewUrl || getFileUrl(fileName);
|
|
6921
|
+
var handleImageChange = function handleImageChange(e) {
|
|
6922
|
+
e.preventDefault();
|
|
6923
|
+
var reader = new FileReader();
|
|
6924
|
+
var newFile = e.target.files[0];
|
|
6925
|
+
if (newFile.size > MAX_FILE_SIZE) {
|
|
6926
|
+
dispatch(setAlert({
|
|
6927
|
+
type: "danger",
|
|
6928
|
+
message: "File can't be larger than 2MB"
|
|
6929
|
+
}));
|
|
6930
|
+
return;
|
|
6931
|
+
}
|
|
6932
|
+
reader.onloadend = function () {
|
|
6933
|
+
setFile(newFile);
|
|
6934
|
+
setImagePreviewUrl(reader.result);
|
|
6935
|
+
};
|
|
6936
|
+
if (newFile) {
|
|
6937
|
+
reader.readAsDataURL(newFile);
|
|
6938
|
+
}
|
|
6939
|
+
!!onAddImage && onAddImage();
|
|
6940
|
+
};
|
|
6941
|
+
var imagePreviewContainer = imagePreviewUrl || fileName ? React.createElement("img", {
|
|
6942
|
+
style: imageStyle,
|
|
6943
|
+
src: imageSrc,
|
|
6944
|
+
alt: "image"
|
|
6945
|
+
}) : null;
|
|
6946
|
+
return React.createElement("div", {
|
|
6947
|
+
className: "mb-2"
|
|
6948
|
+
}, React.createElement(Form, {
|
|
6949
|
+
className: "mb-2"
|
|
6950
|
+
}, React.createElement(Input, {
|
|
6951
|
+
className: "d-none",
|
|
6952
|
+
type: "file",
|
|
6953
|
+
id: "uploadFile",
|
|
6954
|
+
onChange: handleImageChange,
|
|
6955
|
+
accept: "image/*"
|
|
6956
|
+
}), React.createElement("div", {
|
|
6957
|
+
className: "d-flex align-items-center"
|
|
6958
|
+
}, React.createElement(Label, {
|
|
6959
|
+
htmlFor: "uploadFile",
|
|
6960
|
+
role: "button",
|
|
6961
|
+
tabIndex: 0,
|
|
6962
|
+
className: styles["input-file-label"]
|
|
6963
|
+
}, isCheckFeedBack == true ? React.createElement(MdAttachFile, null) : React.createElement(React.Fragment, null, React.createElement("i", {
|
|
6964
|
+
className: "fa fa-paperclip mr-1",
|
|
6965
|
+
"aria-hidden": "true"
|
|
6966
|
+
}), imagePreviewUrl || fileName ? "Change file" : "Choose file")), canDelete && imagePreviewContainer && React.createElement(Button, {
|
|
6967
|
+
size: "sm",
|
|
6968
|
+
color: "danger",
|
|
6969
|
+
className: styles["delete-avatar-button"] + " ml-2 d-flex align-items-center justify-content-center",
|
|
6970
|
+
onClick: function onClick() {
|
|
6971
|
+
setImagePreviewUrl(null);
|
|
6972
|
+
onDelete && onDelete();
|
|
6973
|
+
}
|
|
6974
|
+
}, React.createElement(FaTrashAlt, null)))), imagePreviewContainer);
|
|
6975
|
+
};
|
|
6829
6976
|
|
|
6830
6977
|
var USER_URL$1 = BASE_URL + "/api/user";
|
|
6831
6978
|
var CHANGE_PASSWORD = BASE_URL + "/api/Account/changePassword";
|
|
@@ -6858,54 +7005,65 @@ var switchAccountUser = function switchAccountUser(id) {
|
|
|
6858
7005
|
return api.post(EDU_USER_URL + "/switch-user/" + id);
|
|
6859
7006
|
};
|
|
6860
7007
|
|
|
6861
|
-
var
|
|
6862
|
-
|
|
6863
|
-
|
|
6864
|
-
|
|
6865
|
-
|
|
6866
|
-
|
|
6867
|
-
|
|
6868
|
-
|
|
6869
|
-
|
|
6870
|
-
|
|
6871
|
-
|
|
6872
|
-
|
|
6873
|
-
|
|
6874
|
-
var userList = useSelector(function (state) {
|
|
6875
|
-
return state.users.userList;
|
|
6876
|
-
});
|
|
6877
|
-
var totalItems = useSelector(function (state) {
|
|
6878
|
-
return state.users.totalItems;
|
|
6879
|
-
});
|
|
6880
|
-
var _useFilters = useFilters(),
|
|
6881
|
-
filters = _useFilters.filters,
|
|
6882
|
-
changeFilters = _useFilters.changeFilters;
|
|
6883
|
-
var _useState = useState(!!queryName ? queryName : ""),
|
|
6884
|
-
fullName = _useState[0],
|
|
6885
|
-
setFullName = _useState[1];
|
|
6886
|
-
var isDistrict = window.location.host.includes("-district");
|
|
7008
|
+
var initValue$3 = {
|
|
7009
|
+
id: "",
|
|
7010
|
+
firstName: "",
|
|
7011
|
+
lastName: "",
|
|
7012
|
+
email: "",
|
|
7013
|
+
dateOfBirth: "",
|
|
7014
|
+
roles: [],
|
|
7015
|
+
isActive: true,
|
|
7016
|
+
profileImageFileName: ""
|
|
7017
|
+
};
|
|
7018
|
+
var USER_LIST_URL = "/admin/user";
|
|
7019
|
+
var TITLE$7 = "User detail";
|
|
7020
|
+
var useUserDetail = function useUserDetail(id) {
|
|
6887
7021
|
var dispatch = useDispatch();
|
|
6888
|
-
var
|
|
7022
|
+
var history = useHistory();
|
|
7023
|
+
var _useState = useState(initValue$3),
|
|
7024
|
+
userDetail = _useState[0],
|
|
7025
|
+
setUserDetail = _useState[1];
|
|
7026
|
+
var _useState2 = useState(null),
|
|
7027
|
+
file = _useState2[0],
|
|
7028
|
+
setFile = _useState2[1];
|
|
7029
|
+
var _useState3 = useState(false),
|
|
7030
|
+
edited = _useState3[0],
|
|
7031
|
+
setEdited = _useState3[1];
|
|
7032
|
+
var setEditedTrue = function setEditedTrue() {
|
|
7033
|
+
try {
|
|
7034
|
+
localStorage.setItem(window.location.href, "true");
|
|
7035
|
+
setEdited(true);
|
|
7036
|
+
return Promise.resolve();
|
|
7037
|
+
} catch (e) {
|
|
7038
|
+
return Promise.reject(e);
|
|
7039
|
+
}
|
|
7040
|
+
};
|
|
7041
|
+
var _useState4 = useState([]),
|
|
7042
|
+
currentRoles = _useState4[0],
|
|
7043
|
+
setCurrentRoles = _useState4[1];
|
|
7044
|
+
useEffect(function () {
|
|
7045
|
+
document.title = TITLE$7;
|
|
7046
|
+
setEdited(false);
|
|
7047
|
+
if (!!localStorage.getItem(window.location.href)) localStorage.removeItem(window.location.href);
|
|
7048
|
+
}, []);
|
|
7049
|
+
useEffect(function () {
|
|
7050
|
+
!!id && getData();
|
|
7051
|
+
}, [id]);
|
|
7052
|
+
var getData = useCallback(function () {
|
|
6889
7053
|
try {
|
|
6890
7054
|
var _temp2 = function _temp2() {
|
|
6891
7055
|
dispatch(setLoading(false));
|
|
6892
7056
|
};
|
|
6893
7057
|
dispatch(setLoading(true));
|
|
6894
7058
|
var _temp = _catch(function () {
|
|
6895
|
-
return Promise.resolve(
|
|
6896
|
-
|
|
6897
|
-
|
|
6898
|
-
|
|
6899
|
-
|
|
6900
|
-
totalItems = _res$data.totalItems;
|
|
6901
|
-
for (var _iterator = _createForOfIteratorHelperLoose(items), _step; !(_step = _iterator()).done;) {
|
|
6902
|
-
var user = _step.value;
|
|
6903
|
-
user.roles = user.roles.includes("EduTeacher") ? [ROLES.EDUTEACHER] : user.roles;
|
|
6904
|
-
}
|
|
6905
|
-
dispatch(setUserList({
|
|
6906
|
-
userList: items,
|
|
6907
|
-
totalItems: totalItems
|
|
7059
|
+
return Promise.resolve(getById$3(id)).then(function (res) {
|
|
7060
|
+
var _res$data$roles, _res$data, _res$data2;
|
|
7061
|
+
setUserDetail(_extends({}, res.data, {
|
|
7062
|
+
dateOfBirth: format(new Date(res.data.dateOfBirth), DATE_FORMAT),
|
|
7063
|
+
roles: res.data.roles.includes("EduTeacher") ? [ROLES.EDUTEACHER] : res.data.roles
|
|
6908
7064
|
}));
|
|
7065
|
+
setCurrentRoles((_res$data$roles = res === null || res === void 0 ? void 0 : (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.roles) != null ? _res$data$roles : []);
|
|
7066
|
+
document.title = (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.fullName;
|
|
6909
7067
|
});
|
|
6910
7068
|
}, function (err) {
|
|
6911
7069
|
var _err$response, _err$response$data;
|
|
@@ -6918,664 +7076,184 @@ var useUserList = function useUserList() {
|
|
|
6918
7076
|
} catch (e) {
|
|
6919
7077
|
return Promise.reject(e);
|
|
6920
7078
|
}
|
|
6921
|
-
}, [
|
|
6922
|
-
|
|
6923
|
-
|
|
7079
|
+
}, [id]);
|
|
7080
|
+
var backToList = useCallback(function (user) {
|
|
7081
|
+
!!user && typeof user === "string" ? history.push(USER_LIST_URL + ("?query=" + user)) : history.push(USER_LIST_URL);
|
|
6924
7082
|
}, []);
|
|
6925
|
-
|
|
6926
|
-
if (!!fullName) {
|
|
6927
|
-
getData(fullName);
|
|
6928
|
-
setFullName(null);
|
|
6929
|
-
} else {
|
|
6930
|
-
getData();
|
|
6931
|
-
}
|
|
6932
|
-
}, [filters]);
|
|
6933
|
-
var removeData = useCallback(function (id) {
|
|
6934
|
-
dispatch(setLoading(true));
|
|
7083
|
+
var confirmData = useCallback(function (data) {
|
|
6935
7084
|
try {
|
|
6936
|
-
|
|
6937
|
-
|
|
6938
|
-
|
|
6939
|
-
|
|
6940
|
-
|
|
6941
|
-
|
|
6942
|
-
|
|
6943
|
-
|
|
6944
|
-
|
|
6945
|
-
|
|
6946
|
-
|
|
6947
|
-
|
|
6948
|
-
currentPage: 1
|
|
7085
|
+
var _temp6 = function _temp6() {
|
|
7086
|
+
dispatch(setLoading(false));
|
|
7087
|
+
};
|
|
7088
|
+
dispatch(setLoading(true));
|
|
7089
|
+
var _temp5 = _catch(function () {
|
|
7090
|
+
function _temp4() {
|
|
7091
|
+
var next = !!id ? update$5 : create$5;
|
|
7092
|
+
!id && delete data.id;
|
|
7093
|
+
return Promise.resolve(next(data)).then(function (result) {
|
|
7094
|
+
if (!!result) {
|
|
7095
|
+
getById$3(result.data.id).then(function (e) {
|
|
7096
|
+
backToList(e.data.fullName);
|
|
6949
7097
|
});
|
|
6950
|
-
}
|
|
6951
|
-
|
|
6952
|
-
|
|
6953
|
-
|
|
7098
|
+
}
|
|
7099
|
+
if (!id) {
|
|
7100
|
+
alert("Password of " + result.data.email + " is " + ("\"" + result.data.password + "\""));
|
|
7101
|
+
}
|
|
7102
|
+
dispatch(setAlert({
|
|
7103
|
+
type: "success",
|
|
7104
|
+
message: (!!id ? "Update" : "Create") + " user successfully"
|
|
7105
|
+
}));
|
|
7106
|
+
});
|
|
6954
7107
|
}
|
|
6955
|
-
|
|
6956
|
-
|
|
6957
|
-
|
|
6958
|
-
|
|
6959
|
-
|
|
6960
|
-
|
|
6961
|
-
|
|
7108
|
+
var _temp3 = function () {
|
|
7109
|
+
if (!!file) {
|
|
7110
|
+
var formData = new FormData();
|
|
7111
|
+
var name = file.name;
|
|
7112
|
+
formData.append("file", file, name);
|
|
7113
|
+
return Promise.resolve(systemProfileUpload(formData)).then(function (res) {
|
|
7114
|
+
var _res$data3;
|
|
7115
|
+
var imageUrl = res === null || res === void 0 ? void 0 : (_res$data3 = res.data) === null || _res$data3 === void 0 ? void 0 : _res$data3.key;
|
|
7116
|
+
data.profileImageFileName = imageUrl;
|
|
7117
|
+
});
|
|
7118
|
+
}
|
|
7119
|
+
}();
|
|
7120
|
+
return _temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3);
|
|
7121
|
+
}, function (err) {
|
|
7122
|
+
var _err$response2, _err$response2$data;
|
|
7123
|
+
dispatch(setAlert({
|
|
7124
|
+
type: "danger",
|
|
7125
|
+
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
|
|
7126
|
+
}));
|
|
7127
|
+
});
|
|
7128
|
+
return Promise.resolve(_temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5));
|
|
7129
|
+
} catch (e) {
|
|
7130
|
+
return Promise.reject(e);
|
|
6962
7131
|
}
|
|
6963
|
-
|
|
6964
|
-
|
|
6965
|
-
|
|
6966
|
-
|
|
6967
|
-
|
|
6968
|
-
|
|
6969
|
-
|
|
6970
|
-
|
|
6971
|
-
|
|
6972
|
-
|
|
6973
|
-
|
|
6974
|
-
|
|
6975
|
-
|
|
6976
|
-
|
|
6977
|
-
|
|
6978
|
-
|
|
6979
|
-
|
|
6980
|
-
|
|
6981
|
-
|
|
6982
|
-
|
|
6983
|
-
|
|
6984
|
-
|
|
6985
|
-
|
|
6986
|
-
|
|
6987
|
-
|
|
6988
|
-
}
|
|
6989
|
-
|
|
6990
|
-
} else if (roles.includes("Student")) {
|
|
6991
|
-
history.push(HOMEPAGE_STUDENT$1);
|
|
6992
|
-
} else if (roles.includes("Parent")) {
|
|
6993
|
-
history.push(HOMEPAGE_PARENT$1);
|
|
6994
|
-
} else if (roles.includes("EduTeacher")) {
|
|
6995
|
-
history.push(HOMEPAGE_EDU_TEACHER$1);
|
|
6996
|
-
} else if (roles.includes("Counselor") || roles.includes("SecondaryTeacher")) {
|
|
6997
|
-
history.push(HOMEPAGE_TEACHER$1);
|
|
7132
|
+
}, [id, file]);
|
|
7133
|
+
var handleDisableRoles = function handleDisableRoles(currentRoles) {
|
|
7134
|
+
return ["Student", "Parent", "EduTeacher"].includes(currentRoles);
|
|
7135
|
+
};
|
|
7136
|
+
var confirmChangePassword = function confirmChangePassword(data) {
|
|
7137
|
+
try {
|
|
7138
|
+
var _temp8 = function _temp8() {
|
|
7139
|
+
dispatch(setLoading(false));
|
|
7140
|
+
};
|
|
7141
|
+
dispatch(setLoading(true));
|
|
7142
|
+
var _temp7 = _catch(function () {
|
|
7143
|
+
return Promise.resolve(changePassword(data)).then(function () {
|
|
7144
|
+
dispatch(setAlert({
|
|
7145
|
+
type: "success",
|
|
7146
|
+
message: "Change password successfully"
|
|
7147
|
+
}));
|
|
7148
|
+
});
|
|
7149
|
+
}, function (e) {
|
|
7150
|
+
var _e$response, _e$response$data;
|
|
7151
|
+
dispatch(setAlert({
|
|
7152
|
+
type: "danger",
|
|
7153
|
+
message: ((_e$response = e.response) === null || _e$response === void 0 ? void 0 : (_e$response$data = _e$response.data) === null || _e$response$data === void 0 ? void 0 : _e$response$data.title) || e.message
|
|
7154
|
+
}));
|
|
7155
|
+
});
|
|
7156
|
+
return Promise.resolve(_temp7 && _temp7.then ? _temp7.then(_temp8) : _temp8(_temp7));
|
|
7157
|
+
} catch (e) {
|
|
7158
|
+
return Promise.reject(e);
|
|
6998
7159
|
}
|
|
6999
7160
|
};
|
|
7000
|
-
var
|
|
7161
|
+
var forgotPasswordRequest = useCallback(function (data) {
|
|
7001
7162
|
try {
|
|
7002
|
-
var
|
|
7003
|
-
|
|
7004
|
-
|
|
7005
|
-
|
|
7006
|
-
|
|
7007
|
-
|
|
7008
|
-
|
|
7009
|
-
|
|
7010
|
-
|
|
7011
|
-
var _temp5 = function _temp5() {
|
|
7012
|
-
dispatch(setLoading(false));
|
|
7013
|
-
};
|
|
7014
|
-
dispatch(setLoading(true));
|
|
7015
|
-
var _temp4 = _catch(function () {
|
|
7016
|
-
var req = {
|
|
7017
|
-
email: data.email,
|
|
7018
|
-
password: "default",
|
|
7019
|
-
accessToken: data.token
|
|
7020
|
-
};
|
|
7021
|
-
return Promise.resolve(logIn(req)).then(function (res) {
|
|
7022
|
-
localStorage.clear();
|
|
7023
|
-
redirectLoginUser(res);
|
|
7024
|
-
});
|
|
7025
|
-
}, function (err) {
|
|
7026
|
-
var _err$response3, _err$response3$data;
|
|
7027
|
-
setAlert({
|
|
7028
|
-
type: "danger",
|
|
7029
|
-
message: ((_err$response3 = err.response) === null || _err$response3 === void 0 ? void 0 : (_err$response3$data = _err$response3.data) === null || _err$response3$data === void 0 ? void 0 : _err$response3$data.title) || err.message
|
|
7030
|
-
});
|
|
7031
|
-
});
|
|
7032
|
-
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp5) : _temp5(_temp4));
|
|
7033
|
-
} catch (e) {
|
|
7034
|
-
return Promise.reject(e);
|
|
7035
|
-
}
|
|
7036
|
-
}
|
|
7163
|
+
var _temp10 = function _temp10() {
|
|
7164
|
+
dispatch(setLoading(false));
|
|
7165
|
+
};
|
|
7166
|
+
dispatch(setLoading(true));
|
|
7167
|
+
var _temp9 = _catch(function () {
|
|
7168
|
+
return Promise.resolve(forgotChangePassword(data)).then(function () {
|
|
7169
|
+
dispatch(setAlert({
|
|
7170
|
+
type: "success",
|
|
7171
|
+
message: "Send forgot password link successfully"
|
|
7037
7172
|
}));
|
|
7038
7173
|
});
|
|
7039
7174
|
}, function (err) {
|
|
7040
|
-
var _err$
|
|
7175
|
+
var _err$response3, _err$response3$data;
|
|
7041
7176
|
dispatch(setAlert({
|
|
7042
7177
|
type: "danger",
|
|
7043
|
-
message: ((_err$
|
|
7178
|
+
message: ((_err$response3 = err.response) === null || _err$response3 === void 0 ? void 0 : (_err$response3$data = _err$response3.data) === null || _err$response3$data === void 0 ? void 0 : _err$response3$data.title) || err.message || "Error occured"
|
|
7044
7179
|
}));
|
|
7045
7180
|
});
|
|
7046
|
-
return Promise.resolve(
|
|
7181
|
+
return Promise.resolve(_temp9 && _temp9.then ? _temp9.then(_temp10) : _temp10(_temp9));
|
|
7047
7182
|
} catch (e) {
|
|
7048
7183
|
return Promise.reject(e);
|
|
7049
7184
|
}
|
|
7050
|
-
}, [
|
|
7051
|
-
var reDirectDetailPage = function reDirectDetailPage(id) {
|
|
7052
|
-
var url = !!id ? USER_URL$2 + "/" + id : CREATE_USER_URL;
|
|
7053
|
-
history.push(url);
|
|
7054
|
-
};
|
|
7185
|
+
}, []);
|
|
7055
7186
|
return {
|
|
7056
|
-
|
|
7057
|
-
|
|
7058
|
-
|
|
7059
|
-
|
|
7060
|
-
|
|
7061
|
-
|
|
7062
|
-
|
|
7063
|
-
|
|
7064
|
-
|
|
7187
|
+
userDetail: userDetail,
|
|
7188
|
+
backToList: backToList,
|
|
7189
|
+
confirmData: confirmData,
|
|
7190
|
+
file: file,
|
|
7191
|
+
setFile: setFile,
|
|
7192
|
+
edited: edited,
|
|
7193
|
+
setEdited: setEdited,
|
|
7194
|
+
setEditedTrue: setEditedTrue,
|
|
7195
|
+
confirmChangePassword: confirmChangePassword,
|
|
7196
|
+
forgotPasswordRequest: forgotPasswordRequest,
|
|
7197
|
+
currentRoles: currentRoles,
|
|
7198
|
+
handleDisableRoles: handleDisableRoles
|
|
7065
7199
|
};
|
|
7066
7200
|
};
|
|
7067
7201
|
|
|
7068
|
-
var
|
|
7069
|
-
|
|
7070
|
-
|
|
7071
|
-
|
|
7072
|
-
|
|
7073
|
-
|
|
7074
|
-
|
|
7075
|
-
searchString = _useState[0],
|
|
7076
|
-
setSearchString = _useState[1];
|
|
7077
|
-
useEffect(function () {
|
|
7078
|
-
setSearchString(initValue);
|
|
7079
|
-
}, [initValue]);
|
|
7080
|
-
var onKeyUp = useCallback(function (e) {
|
|
7081
|
-
e.key === "Enter" && onSearch(searchString);
|
|
7082
|
-
}, [searchString, onSearch]);
|
|
7083
|
-
return React.createElement(Input, {
|
|
7084
|
-
placeholder: placeholder,
|
|
7085
|
-
value: searchString,
|
|
7086
|
-
onChange: function onChange(e) {
|
|
7087
|
-
return setSearchString(e.target.value);
|
|
7088
|
-
},
|
|
7089
|
-
onKeyUp: onKeyUp,
|
|
7090
|
-
className: className,
|
|
7091
|
-
style: style
|
|
7092
|
-
});
|
|
7093
|
-
};
|
|
7094
|
-
SearchBox.defaultProps = {
|
|
7095
|
-
placeholder: "Type something to search",
|
|
7096
|
-
className: "",
|
|
7097
|
-
style: {}
|
|
7098
|
-
};
|
|
7099
|
-
var SearchBox$1 = memo(SearchBox);
|
|
7100
|
-
|
|
7101
|
-
var searchInputStyle = {
|
|
7102
|
-
height: 38
|
|
7103
|
-
};
|
|
7104
|
-
var SearchBoxContainer = function SearchBoxContainer(_ref) {
|
|
7105
|
-
var text = _ref.text,
|
|
7106
|
-
initValue = _ref.initValue,
|
|
7107
|
-
onClick = _ref.onClick,
|
|
7108
|
-
onSearch = _ref.onSearch,
|
|
7109
|
-
placeholder = _ref.placeholder;
|
|
7110
|
-
return React.createElement("div", {
|
|
7111
|
-
className: "d-flex align-items-center"
|
|
7112
|
-
}, React.createElement("div", null, React.createElement(AddButton, {
|
|
7113
|
-
text: text,
|
|
7114
|
-
onClick: onClick
|
|
7115
|
-
})), React.createElement("div", {
|
|
7116
|
-
className: "flex-grow-1 ml-2"
|
|
7117
|
-
}, React.createElement(SearchBox$1, {
|
|
7118
|
-
initValue: initValue,
|
|
7119
|
-
onSearch: onSearch,
|
|
7120
|
-
placeholder: placeholder,
|
|
7121
|
-
style: searchInputStyle
|
|
7122
|
-
})));
|
|
7123
|
-
};
|
|
7124
|
-
SearchBoxContainer.defaultProps = {
|
|
7125
|
-
placeholder: "Type something to search"
|
|
7126
|
-
};
|
|
7202
|
+
var userSchema = object({
|
|
7203
|
+
firstName: string().required("First name is required"),
|
|
7204
|
+
lastName: string().required("Last name is required"),
|
|
7205
|
+
dateOfBirth: string().required("Date of birth is required"),
|
|
7206
|
+
email: string().email("Email is invalid").required("Email is required"),
|
|
7207
|
+
roles: array().of(string()).min(1, "Role is required")
|
|
7208
|
+
});
|
|
7127
7209
|
|
|
7128
|
-
var
|
|
7129
|
-
|
|
7130
|
-
|
|
7131
|
-
|
|
7132
|
-
} catch (_unused) {
|
|
7133
|
-
return "";
|
|
7134
|
-
}
|
|
7210
|
+
var changePasswordSchema = object({
|
|
7211
|
+
oldPassword: string().required("Current password is required"),
|
|
7212
|
+
newPassword: string().required("New password is required"),
|
|
7213
|
+
confirmedNewPassword: string().required("Confirm password is required")
|
|
7135
7214
|
});
|
|
7136
7215
|
|
|
7137
|
-
var
|
|
7138
|
-
var
|
|
7139
|
-
|
|
7140
|
-
|
|
7141
|
-
|
|
7142
|
-
|
|
7143
|
-
|
|
7144
|
-
|
|
7145
|
-
|
|
7146
|
-
|
|
7147
|
-
|
|
7148
|
-
var
|
|
7149
|
-
|
|
7150
|
-
|
|
7151
|
-
|
|
7152
|
-
|
|
7153
|
-
|
|
7154
|
-
|
|
7155
|
-
|
|
7156
|
-
|
|
7157
|
-
|
|
7158
|
-
|
|
7159
|
-
|
|
7160
|
-
|
|
7161
|
-
|
|
7162
|
-
|
|
7163
|
-
|
|
7164
|
-
|
|
7165
|
-
return changeFilters({
|
|
7166
|
-
searchString: searchString
|
|
7167
|
-
});
|
|
7168
|
-
},
|
|
7169
|
-
placeholder: t("type_something_to_search_by_user_name")
|
|
7170
|
-
})), React.createElement(Col, {
|
|
7171
|
-
md: 4,
|
|
7172
|
-
className: "d-flex justify-content-end align-items-center"
|
|
7173
|
-
}, t("total_of_users"), " : ", totalItems)), React.createElement(Row, {
|
|
7174
|
-
className: "mb-2"
|
|
7175
|
-
}, React.createElement(Col, {
|
|
7176
|
-
md: 12
|
|
7177
|
-
}, userList && userList.length > 0 ? React.createElement("div", null, React.createElement(Table, {
|
|
7178
|
-
bordered: true,
|
|
7179
|
-
hover: true,
|
|
7180
|
-
striped: true,
|
|
7181
|
-
responsive: true,
|
|
7182
|
-
size: "sm"
|
|
7183
|
-
}, React.createElement("thead", null, React.createElement("tr", null, React.createElement("th", {
|
|
7184
|
-
className: "align-top"
|
|
7185
|
-
}, t("name")), React.createElement("th", {
|
|
7186
|
-
className: "align-top"
|
|
7187
|
-
}, t("email")), React.createElement("th", {
|
|
7188
|
-
className: "align-top"
|
|
7189
|
-
}, t("age")), React.createElement("th", {
|
|
7190
|
-
className: "align-top"
|
|
7191
|
-
}, t("role")), React.createElement("th", {
|
|
7192
|
-
className: "align-top"
|
|
7193
|
-
}, t("active_status")), React.createElement("th", {
|
|
7194
|
-
className: "align-top"
|
|
7195
|
-
}, t("created_time")), React.createElement("th", {
|
|
7196
|
-
className: "text-center"
|
|
7197
|
-
}, t("action")))), React.createElement("tbody", null, userList.map(function (record) {
|
|
7198
|
-
return React.createElement("tr", {
|
|
7199
|
-
key: record.id
|
|
7200
|
-
}, React.createElement("td", {
|
|
7201
|
-
className: "align-middle"
|
|
7202
|
-
}, React.createElement(LinkEditButton, {
|
|
7203
|
-
label: "" + record.fullName,
|
|
7204
|
-
onClick: function onClick() {
|
|
7205
|
-
return reDirectDetailPage(record.id);
|
|
7206
|
-
}
|
|
7207
|
-
})), React.createElement("td", {
|
|
7208
|
-
className: "align-middle"
|
|
7209
|
-
}, record.email), React.createElement("td", {
|
|
7210
|
-
className: "align-middle"
|
|
7211
|
-
}, differenceInCalendarYears(new Date(), new Date(record.dateOfBirth))), React.createElement("td", {
|
|
7212
|
-
className: "align-middle"
|
|
7213
|
-
}, !!record.roles && record.roles.map(function (role) {
|
|
7214
|
-
return role === "SecondaryTeacher" ? "SupportTeacher" : role;
|
|
7215
|
-
}).join(", ")), React.createElement("td", {
|
|
7216
|
-
className: "align-middle"
|
|
7217
|
-
}, record.isActive ? t("active") : t("inactive")), React.createElement("td", {
|
|
7218
|
-
className: "align-middle"
|
|
7219
|
-
}, utcToLocalTime(record === null || record === void 0 ? void 0 : record.createTime, "yyyy-MM-DD HH:mm")), React.createElement("td", {
|
|
7220
|
-
className: "text-center align-middle"
|
|
7221
|
-
}, React.createElement(FaUsersCog, {
|
|
7222
|
-
style: {
|
|
7223
|
-
fontSize: "18px",
|
|
7224
|
-
marginRight: "10px",
|
|
7225
|
-
cursor: "pointer"
|
|
7226
|
-
},
|
|
7227
|
-
onClick: function onClick() {
|
|
7228
|
-
return swicthUser(record.id);
|
|
7229
|
-
}
|
|
7230
|
-
}), React.createElement(DeleteButtonIcon, {
|
|
7231
|
-
onClick: function onClick() {
|
|
7232
|
-
return removeData(record.id);
|
|
7233
|
-
}
|
|
7234
|
-
})));
|
|
7235
|
-
})))) : React.createElement(EmptyDataAlert, {
|
|
7236
|
-
label: t("user")
|
|
7237
|
-
})), React.createElement(Col, {
|
|
7238
|
-
md: 12
|
|
7239
|
-
}, React.createElement(CustomPagination, {
|
|
7240
|
-
filters: filters,
|
|
7241
|
-
totalRecordCount: totalItems,
|
|
7242
|
-
changePageSize: function changePageSize(pageSize) {
|
|
7243
|
-
return changeFilters({
|
|
7244
|
-
pageSize: pageSize
|
|
7245
|
-
});
|
|
7246
|
-
},
|
|
7247
|
-
changePage: function changePage(currentPage) {
|
|
7248
|
-
return changeFilters({
|
|
7249
|
-
currentPage: currentPage
|
|
7250
|
-
});
|
|
7251
|
-
}
|
|
7252
|
-
}))));
|
|
7253
|
-
};
|
|
7254
|
-
|
|
7255
|
-
var MAX_FILE_SIZE = 20097152;
|
|
7256
|
-
var UploadFileButton = function UploadFileButton(_ref) {
|
|
7257
|
-
var fileName = _ref.fileName,
|
|
7258
|
-
maxWidth = _ref.maxWidth,
|
|
7259
|
-
maxHeight = _ref.maxHeight,
|
|
7260
|
-
setFile = _ref.setFile,
|
|
7261
|
-
canDelete = _ref.canDelete,
|
|
7262
|
-
onDelete = _ref.onDelete,
|
|
7263
|
-
isCheckFeedBack = _ref.isCheckFeedBack,
|
|
7264
|
-
onAddImage = _ref.onAddImage;
|
|
7265
|
-
var dispatch = useDispatch();
|
|
7266
|
-
var _useState = useState(""),
|
|
7267
|
-
imagePreviewUrl = _useState[0],
|
|
7268
|
-
setImagePreviewUrl = _useState[1];
|
|
7269
|
-
var imageStyle = {
|
|
7270
|
-
maxWidth: maxWidth || "100%",
|
|
7271
|
-
maxHeight: maxHeight || "100%"
|
|
7216
|
+
var CREATE_USER = "create_user";
|
|
7217
|
+
var EDIT_USER_HEADER = "edit_user";
|
|
7218
|
+
var CHANGE_PASSWORD$1 = "change_password";
|
|
7219
|
+
var UserDetail = function UserDetail() {
|
|
7220
|
+
var _useParams = useParams(),
|
|
7221
|
+
id = _useParams.id;
|
|
7222
|
+
var user = useSelector(function (state) {
|
|
7223
|
+
return state.common.user;
|
|
7224
|
+
});
|
|
7225
|
+
var _useTranslation = useTranslation(),
|
|
7226
|
+
t = _useTranslation.t;
|
|
7227
|
+
var _useUserDetail = useUserDetail(id),
|
|
7228
|
+
userDetail = _useUserDetail.userDetail,
|
|
7229
|
+
backToList = _useUserDetail.backToList,
|
|
7230
|
+
confirmData = _useUserDetail.confirmData,
|
|
7231
|
+
file = _useUserDetail.file,
|
|
7232
|
+
setFile = _useUserDetail.setFile,
|
|
7233
|
+
edited = _useUserDetail.edited,
|
|
7234
|
+
setEdited = _useUserDetail.setEdited,
|
|
7235
|
+
setEditedTrue = _useUserDetail.setEditedTrue,
|
|
7236
|
+
confirmChangePassword = _useUserDetail.confirmChangePassword,
|
|
7237
|
+
forgotPasswordRequest = _useUserDetail.forgotPasswordRequest,
|
|
7238
|
+
currentRoles = _useUserDetail.currentRoles,
|
|
7239
|
+
handleDisableRoles = _useUserDetail.handleDisableRoles;
|
|
7240
|
+
var initialValueForm = {
|
|
7241
|
+
oldPassword: "",
|
|
7242
|
+
newPassword: "",
|
|
7243
|
+
confirmedNewPassword: ""
|
|
7272
7244
|
};
|
|
7273
|
-
var
|
|
7274
|
-
var
|
|
7275
|
-
|
|
7276
|
-
var
|
|
7277
|
-
|
|
7278
|
-
if (newFile.size > MAX_FILE_SIZE) {
|
|
7279
|
-
dispatch(setAlert({
|
|
7280
|
-
type: "danger",
|
|
7281
|
-
message: "File can't be larger than 2MB"
|
|
7282
|
-
}));
|
|
7283
|
-
return;
|
|
7284
|
-
}
|
|
7285
|
-
reader.onloadend = function () {
|
|
7286
|
-
setFile(newFile);
|
|
7287
|
-
setImagePreviewUrl(reader.result);
|
|
7288
|
-
};
|
|
7289
|
-
if (newFile) {
|
|
7290
|
-
reader.readAsDataURL(newFile);
|
|
7291
|
-
}
|
|
7292
|
-
!!onAddImage && onAddImage();
|
|
7245
|
+
var header = !!id ? t("" + EDIT_USER_HEADER) : t("" + CREATE_USER);
|
|
7246
|
+
var confirmText = !!id ? t("update") : t("create");
|
|
7247
|
+
var getFile = function getFile() {
|
|
7248
|
+
var url = window.location.origin + "/api/ExportDataUser/" + id;
|
|
7249
|
+
window.open(url);
|
|
7293
7250
|
};
|
|
7294
|
-
var
|
|
7295
|
-
style: imageStyle,
|
|
7296
|
-
src: imageSrc,
|
|
7297
|
-
alt: "image"
|
|
7298
|
-
}) : null;
|
|
7299
|
-
return React.createElement("div", {
|
|
7300
|
-
className: "mb-2"
|
|
7301
|
-
}, React.createElement(Form, {
|
|
7302
|
-
className: "mb-2"
|
|
7303
|
-
}, React.createElement(Input, {
|
|
7304
|
-
className: "d-none",
|
|
7305
|
-
type: "file",
|
|
7306
|
-
id: "uploadFile",
|
|
7307
|
-
onChange: handleImageChange,
|
|
7308
|
-
accept: "image/*"
|
|
7309
|
-
}), React.createElement("div", {
|
|
7310
|
-
className: "d-flex align-items-center"
|
|
7311
|
-
}, React.createElement(Label, {
|
|
7312
|
-
htmlFor: "uploadFile",
|
|
7313
|
-
role: "button",
|
|
7314
|
-
tabIndex: 0,
|
|
7315
|
-
className: styles["input-file-label"]
|
|
7316
|
-
}, isCheckFeedBack == true ? React.createElement(MdAttachFile, null) : React.createElement(React.Fragment, null, React.createElement("i", {
|
|
7317
|
-
className: "fa fa-paperclip mr-1",
|
|
7318
|
-
"aria-hidden": "true"
|
|
7319
|
-
}), imagePreviewUrl || fileName ? "Change file" : "Choose file")), canDelete && imagePreviewContainer && React.createElement(Button, {
|
|
7320
|
-
size: "sm",
|
|
7321
|
-
color: "danger",
|
|
7322
|
-
className: styles["delete-avatar-button"] + " ml-2 d-flex align-items-center justify-content-center",
|
|
7323
|
-
onClick: function onClick() {
|
|
7324
|
-
setImagePreviewUrl(null);
|
|
7325
|
-
onDelete && onDelete();
|
|
7326
|
-
}
|
|
7327
|
-
}, React.createElement(FaTrashAlt, null)))), imagePreviewContainer);
|
|
7328
|
-
};
|
|
7329
|
-
|
|
7330
|
-
var initValue$3 = {
|
|
7331
|
-
id: "",
|
|
7332
|
-
firstName: "",
|
|
7333
|
-
lastName: "",
|
|
7334
|
-
email: "",
|
|
7335
|
-
dateOfBirth: "",
|
|
7336
|
-
roles: [],
|
|
7337
|
-
isActive: true,
|
|
7338
|
-
profileImageFileName: ""
|
|
7339
|
-
};
|
|
7340
|
-
var USER_LIST_URL = "/admin/user";
|
|
7341
|
-
var TITLE$8 = "User detail";
|
|
7342
|
-
var useUserDetail = function useUserDetail(id) {
|
|
7343
|
-
var dispatch = useDispatch();
|
|
7344
|
-
var history = useHistory();
|
|
7345
|
-
var _useState = useState(initValue$3),
|
|
7346
|
-
userDetail = _useState[0],
|
|
7347
|
-
setUserDetail = _useState[1];
|
|
7348
|
-
var _useState2 = useState(null),
|
|
7349
|
-
file = _useState2[0],
|
|
7350
|
-
setFile = _useState2[1];
|
|
7351
|
-
var _useState3 = useState(false),
|
|
7352
|
-
edited = _useState3[0],
|
|
7353
|
-
setEdited = _useState3[1];
|
|
7354
|
-
var setEditedTrue = function setEditedTrue() {
|
|
7251
|
+
var onResetPw = function onResetPw(email) {
|
|
7355
7252
|
try {
|
|
7356
|
-
|
|
7357
|
-
|
|
7358
|
-
|
|
7359
|
-
|
|
7360
|
-
return Promise.reject(e);
|
|
7361
|
-
}
|
|
7362
|
-
};
|
|
7363
|
-
var _useState4 = useState([]),
|
|
7364
|
-
currentRoles = _useState4[0],
|
|
7365
|
-
setCurrentRoles = _useState4[1];
|
|
7366
|
-
useEffect(function () {
|
|
7367
|
-
document.title = TITLE$8;
|
|
7368
|
-
setEdited(false);
|
|
7369
|
-
if (!!localStorage.getItem(window.location.href)) localStorage.removeItem(window.location.href);
|
|
7370
|
-
}, []);
|
|
7371
|
-
useEffect(function () {
|
|
7372
|
-
!!id && getData();
|
|
7373
|
-
}, [id]);
|
|
7374
|
-
var getData = useCallback(function () {
|
|
7375
|
-
try {
|
|
7376
|
-
var _temp2 = function _temp2() {
|
|
7377
|
-
dispatch(setLoading(false));
|
|
7378
|
-
};
|
|
7379
|
-
dispatch(setLoading(true));
|
|
7380
|
-
var _temp = _catch(function () {
|
|
7381
|
-
return Promise.resolve(getById$3(id)).then(function (res) {
|
|
7382
|
-
var _res$data$roles, _res$data, _res$data2;
|
|
7383
|
-
setUserDetail(_extends({}, res.data, {
|
|
7384
|
-
dateOfBirth: format(new Date(res.data.dateOfBirth), DATE_FORMAT),
|
|
7385
|
-
roles: res.data.roles.includes("EduTeacher") ? [ROLES.EDUTEACHER] : res.data.roles
|
|
7386
|
-
}));
|
|
7387
|
-
setCurrentRoles((_res$data$roles = res === null || res === void 0 ? void 0 : (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.roles) != null ? _res$data$roles : []);
|
|
7388
|
-
document.title = (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.fullName;
|
|
7389
|
-
});
|
|
7390
|
-
}, function (err) {
|
|
7391
|
-
var _err$response, _err$response$data;
|
|
7392
|
-
dispatch(setAlert({
|
|
7393
|
-
type: "danger",
|
|
7394
|
-
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
|
|
7395
|
-
}));
|
|
7396
|
-
});
|
|
7397
|
-
return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
|
|
7398
|
-
} catch (e) {
|
|
7399
|
-
return Promise.reject(e);
|
|
7400
|
-
}
|
|
7401
|
-
}, [id]);
|
|
7402
|
-
var backToList = useCallback(function (user) {
|
|
7403
|
-
!!user && typeof user === "string" ? history.push(USER_LIST_URL + ("?query=" + user)) : history.push(USER_LIST_URL);
|
|
7404
|
-
}, []);
|
|
7405
|
-
var confirmData = useCallback(function (data) {
|
|
7406
|
-
try {
|
|
7407
|
-
var _temp6 = function _temp6() {
|
|
7408
|
-
dispatch(setLoading(false));
|
|
7409
|
-
};
|
|
7410
|
-
dispatch(setLoading(true));
|
|
7411
|
-
var _temp5 = _catch(function () {
|
|
7412
|
-
function _temp4() {
|
|
7413
|
-
var next = !!id ? update$5 : create$5;
|
|
7414
|
-
!id && delete data.id;
|
|
7415
|
-
return Promise.resolve(next(data)).then(function (result) {
|
|
7416
|
-
if (!!result) {
|
|
7417
|
-
getById$3(result.data.id).then(function (e) {
|
|
7418
|
-
backToList(e.data.fullName);
|
|
7419
|
-
});
|
|
7420
|
-
}
|
|
7421
|
-
if (!id) {
|
|
7422
|
-
alert("Password of " + result.data.email + " is " + ("\"" + result.data.password + "\""));
|
|
7423
|
-
}
|
|
7424
|
-
dispatch(setAlert({
|
|
7425
|
-
type: "success",
|
|
7426
|
-
message: (!!id ? "Update" : "Create") + " user successfully"
|
|
7427
|
-
}));
|
|
7428
|
-
});
|
|
7429
|
-
}
|
|
7430
|
-
var _temp3 = function () {
|
|
7431
|
-
if (!!file) {
|
|
7432
|
-
var formData = new FormData();
|
|
7433
|
-
var name = file.name;
|
|
7434
|
-
formData.append("file", file, name);
|
|
7435
|
-
return Promise.resolve(systemProfileUpload(formData)).then(function (res) {
|
|
7436
|
-
var _res$data3;
|
|
7437
|
-
var imageUrl = res === null || res === void 0 ? void 0 : (_res$data3 = res.data) === null || _res$data3 === void 0 ? void 0 : _res$data3.key;
|
|
7438
|
-
data.profileImageFileName = imageUrl;
|
|
7439
|
-
});
|
|
7440
|
-
}
|
|
7441
|
-
}();
|
|
7442
|
-
return _temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3);
|
|
7443
|
-
}, function (err) {
|
|
7444
|
-
var _err$response2, _err$response2$data;
|
|
7445
|
-
dispatch(setAlert({
|
|
7446
|
-
type: "danger",
|
|
7447
|
-
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
|
|
7448
|
-
}));
|
|
7449
|
-
});
|
|
7450
|
-
return Promise.resolve(_temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5));
|
|
7451
|
-
} catch (e) {
|
|
7452
|
-
return Promise.reject(e);
|
|
7453
|
-
}
|
|
7454
|
-
}, [id, file]);
|
|
7455
|
-
var handleDisableRoles = function handleDisableRoles(currentRoles) {
|
|
7456
|
-
return ["Student", "Parent", "EduTeacher"].includes(currentRoles);
|
|
7457
|
-
};
|
|
7458
|
-
var confirmChangePassword = function confirmChangePassword(data) {
|
|
7459
|
-
try {
|
|
7460
|
-
var _temp8 = function _temp8() {
|
|
7461
|
-
dispatch(setLoading(false));
|
|
7462
|
-
};
|
|
7463
|
-
dispatch(setLoading(true));
|
|
7464
|
-
var _temp7 = _catch(function () {
|
|
7465
|
-
return Promise.resolve(changePassword(data)).then(function () {
|
|
7466
|
-
dispatch(setAlert({
|
|
7467
|
-
type: "success",
|
|
7468
|
-
message: "Change password successfully"
|
|
7469
|
-
}));
|
|
7470
|
-
});
|
|
7471
|
-
}, function (e) {
|
|
7472
|
-
var _e$response, _e$response$data;
|
|
7473
|
-
dispatch(setAlert({
|
|
7474
|
-
type: "danger",
|
|
7475
|
-
message: ((_e$response = e.response) === null || _e$response === void 0 ? void 0 : (_e$response$data = _e$response.data) === null || _e$response$data === void 0 ? void 0 : _e$response$data.title) || e.message
|
|
7476
|
-
}));
|
|
7477
|
-
});
|
|
7478
|
-
return Promise.resolve(_temp7 && _temp7.then ? _temp7.then(_temp8) : _temp8(_temp7));
|
|
7479
|
-
} catch (e) {
|
|
7480
|
-
return Promise.reject(e);
|
|
7481
|
-
}
|
|
7482
|
-
};
|
|
7483
|
-
var forgotPasswordRequest = useCallback(function (data) {
|
|
7484
|
-
try {
|
|
7485
|
-
var _temp10 = function _temp10() {
|
|
7486
|
-
dispatch(setLoading(false));
|
|
7487
|
-
};
|
|
7488
|
-
dispatch(setLoading(true));
|
|
7489
|
-
var _temp9 = _catch(function () {
|
|
7490
|
-
return Promise.resolve(forgotChangePassword(data)).then(function () {
|
|
7491
|
-
dispatch(setAlert({
|
|
7492
|
-
type: "success",
|
|
7493
|
-
message: "Send forgot password link successfully"
|
|
7494
|
-
}));
|
|
7495
|
-
});
|
|
7496
|
-
}, function (err) {
|
|
7497
|
-
var _err$response3, _err$response3$data;
|
|
7498
|
-
dispatch(setAlert({
|
|
7499
|
-
type: "danger",
|
|
7500
|
-
message: ((_err$response3 = err.response) === null || _err$response3 === void 0 ? void 0 : (_err$response3$data = _err$response3.data) === null || _err$response3$data === void 0 ? void 0 : _err$response3$data.title) || err.message || "Error occured"
|
|
7501
|
-
}));
|
|
7502
|
-
});
|
|
7503
|
-
return Promise.resolve(_temp9 && _temp9.then ? _temp9.then(_temp10) : _temp10(_temp9));
|
|
7504
|
-
} catch (e) {
|
|
7505
|
-
return Promise.reject(e);
|
|
7506
|
-
}
|
|
7507
|
-
}, []);
|
|
7508
|
-
return {
|
|
7509
|
-
userDetail: userDetail,
|
|
7510
|
-
backToList: backToList,
|
|
7511
|
-
confirmData: confirmData,
|
|
7512
|
-
file: file,
|
|
7513
|
-
setFile: setFile,
|
|
7514
|
-
edited: edited,
|
|
7515
|
-
setEdited: setEdited,
|
|
7516
|
-
setEditedTrue: setEditedTrue,
|
|
7517
|
-
confirmChangePassword: confirmChangePassword,
|
|
7518
|
-
forgotPasswordRequest: forgotPasswordRequest,
|
|
7519
|
-
currentRoles: currentRoles,
|
|
7520
|
-
handleDisableRoles: handleDisableRoles
|
|
7521
|
-
};
|
|
7522
|
-
};
|
|
7523
|
-
|
|
7524
|
-
var userSchema = object({
|
|
7525
|
-
firstName: string().required("First name is required"),
|
|
7526
|
-
lastName: string().required("Last name is required"),
|
|
7527
|
-
dateOfBirth: string().required("Date of birth is required"),
|
|
7528
|
-
email: string().email("Email is invalid").required("Email is required"),
|
|
7529
|
-
roles: array().of(string()).min(1, "Role is required")
|
|
7530
|
-
});
|
|
7531
|
-
|
|
7532
|
-
var changePasswordSchema = object({
|
|
7533
|
-
oldPassword: string().required("Current password is required"),
|
|
7534
|
-
newPassword: string().required("New password is required"),
|
|
7535
|
-
confirmedNewPassword: string().required("Confirm password is required")
|
|
7536
|
-
});
|
|
7537
|
-
|
|
7538
|
-
var CREATE_USER = "create_user";
|
|
7539
|
-
var EDIT_USER_HEADER = "edit_user";
|
|
7540
|
-
var CHANGE_PASSWORD$1 = "change_password";
|
|
7541
|
-
var UserDetail = function UserDetail() {
|
|
7542
|
-
var _useParams = useParams(),
|
|
7543
|
-
id = _useParams.id;
|
|
7544
|
-
var user = useSelector(function (state) {
|
|
7545
|
-
return state.common.user;
|
|
7546
|
-
});
|
|
7547
|
-
var _useTranslation = useTranslation(),
|
|
7548
|
-
t = _useTranslation.t;
|
|
7549
|
-
var _useUserDetail = useUserDetail(id),
|
|
7550
|
-
userDetail = _useUserDetail.userDetail,
|
|
7551
|
-
backToList = _useUserDetail.backToList,
|
|
7552
|
-
confirmData = _useUserDetail.confirmData,
|
|
7553
|
-
file = _useUserDetail.file,
|
|
7554
|
-
setFile = _useUserDetail.setFile,
|
|
7555
|
-
edited = _useUserDetail.edited,
|
|
7556
|
-
setEdited = _useUserDetail.setEdited,
|
|
7557
|
-
setEditedTrue = _useUserDetail.setEditedTrue,
|
|
7558
|
-
confirmChangePassword = _useUserDetail.confirmChangePassword,
|
|
7559
|
-
forgotPasswordRequest = _useUserDetail.forgotPasswordRequest,
|
|
7560
|
-
currentRoles = _useUserDetail.currentRoles,
|
|
7561
|
-
handleDisableRoles = _useUserDetail.handleDisableRoles;
|
|
7562
|
-
var initialValueForm = {
|
|
7563
|
-
oldPassword: "",
|
|
7564
|
-
newPassword: "",
|
|
7565
|
-
confirmedNewPassword: ""
|
|
7566
|
-
};
|
|
7567
|
-
var header = !!id ? t("" + EDIT_USER_HEADER) : t("" + CREATE_USER);
|
|
7568
|
-
var confirmText = !!id ? t("update") : t("create");
|
|
7569
|
-
var getFile = function getFile() {
|
|
7570
|
-
var url = window.location.origin + "/api/ExportDataUser/" + id;
|
|
7571
|
-
window.open(url);
|
|
7572
|
-
};
|
|
7573
|
-
var onResetPw = function onResetPw(email) {
|
|
7574
|
-
try {
|
|
7575
|
-
var data = {
|
|
7576
|
-
email: email
|
|
7577
|
-
};
|
|
7578
|
-
forgotPasswordRequest(data);
|
|
7253
|
+
var data = {
|
|
7254
|
+
email: email
|
|
7255
|
+
};
|
|
7256
|
+
forgotPasswordRequest(data);
|
|
7579
7257
|
return Promise.resolve();
|
|
7580
7258
|
} catch (e) {
|
|
7581
7259
|
return Promise.reject(e);
|
|
@@ -7961,6 +7639,15 @@ var CommonHeader = function CommonHeader(_ref) {
|
|
|
7961
7639
|
}, header))));
|
|
7962
7640
|
};
|
|
7963
7641
|
|
|
7642
|
+
var utcToLocalTime = (function (time, FORMAT) {
|
|
7643
|
+
if (time === DATE_MIN_VALUE) return "";
|
|
7644
|
+
try {
|
|
7645
|
+
return moment.utc(time).local().format(FORMAT || "yyyy-MM-DD");
|
|
7646
|
+
} catch (_unused) {
|
|
7647
|
+
return "";
|
|
7648
|
+
}
|
|
7649
|
+
});
|
|
7650
|
+
|
|
7964
7651
|
var NotificationLogoutModal = function NotificationLogoutModal() {
|
|
7965
7652
|
var _useState = useState(false),
|
|
7966
7653
|
isOpen = _useState[0],
|
|
@@ -8048,6 +7735,39 @@ var CreatableSelector = function CreatableSelector(props) {
|
|
|
8048
7735
|
});
|
|
8049
7736
|
};
|
|
8050
7737
|
|
|
7738
|
+
var SearchBox = function SearchBox(_ref) {
|
|
7739
|
+
var initValue = _ref.initValue,
|
|
7740
|
+
onSearch = _ref.onSearch,
|
|
7741
|
+
placeholder = _ref.placeholder,
|
|
7742
|
+
className = _ref.className,
|
|
7743
|
+
style = _ref.style;
|
|
7744
|
+
var _useState = useState(initValue),
|
|
7745
|
+
searchString = _useState[0],
|
|
7746
|
+
setSearchString = _useState[1];
|
|
7747
|
+
useEffect(function () {
|
|
7748
|
+
setSearchString(initValue);
|
|
7749
|
+
}, [initValue]);
|
|
7750
|
+
var onKeyUp = useCallback(function (e) {
|
|
7751
|
+
e.key === "Enter" && onSearch(searchString);
|
|
7752
|
+
}, [searchString, onSearch]);
|
|
7753
|
+
return React.createElement(Input, {
|
|
7754
|
+
placeholder: placeholder,
|
|
7755
|
+
value: searchString,
|
|
7756
|
+
onChange: function onChange(e) {
|
|
7757
|
+
return setSearchString(e.target.value);
|
|
7758
|
+
},
|
|
7759
|
+
onKeyUp: onKeyUp,
|
|
7760
|
+
className: className,
|
|
7761
|
+
style: style
|
|
7762
|
+
});
|
|
7763
|
+
};
|
|
7764
|
+
SearchBox.defaultProps = {
|
|
7765
|
+
placeholder: "Type something to search",
|
|
7766
|
+
className: "",
|
|
7767
|
+
style: {}
|
|
7768
|
+
};
|
|
7769
|
+
var SearchBox$1 = memo(SearchBox);
|
|
7770
|
+
|
|
8051
7771
|
var QuestionTypeSelector = function QuestionTypeSelector(props) {
|
|
8052
7772
|
var id = props.id;
|
|
8053
7773
|
var initValue = !!id ? QUESTION_TYPES_OPTIONS.find(function (option) {
|
|
@@ -8379,7 +8099,7 @@ var defaultFilters = {
|
|
|
8379
8099
|
searchString: "",
|
|
8380
8100
|
isRead: false
|
|
8381
8101
|
};
|
|
8382
|
-
var TITLE$
|
|
8102
|
+
var TITLE$8 = "Notification list";
|
|
8383
8103
|
var NOTIFICATION_CHANNEL$1 = "NOTIFICATION_CHANNEL";
|
|
8384
8104
|
var NEW_NOTIFICATION$1 = "NEW_NOTIFICATION";
|
|
8385
8105
|
var useNotificationList = function useNotificationList() {
|
|
@@ -8494,7 +8214,7 @@ var useNotificationList = function useNotificationList() {
|
|
|
8494
8214
|
}
|
|
8495
8215
|
}, [filters]);
|
|
8496
8216
|
useEffect(function () {
|
|
8497
|
-
document.title = TITLE$
|
|
8217
|
+
document.title = TITLE$8;
|
|
8498
8218
|
}, []);
|
|
8499
8219
|
useEffect(function () {
|
|
8500
8220
|
getData();
|
|
@@ -8576,7 +8296,7 @@ var useNotificationList = function useNotificationList() {
|
|
|
8576
8296
|
};
|
|
8577
8297
|
};
|
|
8578
8298
|
|
|
8579
|
-
var header$
|
|
8299
|
+
var header$2 = "Notification list";
|
|
8580
8300
|
var ICON_SIZE = 20;
|
|
8581
8301
|
var NotificationList = function NotificationList() {
|
|
8582
8302
|
var _useNotificationList = useNotificationList(),
|
|
@@ -8595,7 +8315,7 @@ var NotificationList = function NotificationList() {
|
|
|
8595
8315
|
}
|
|
8596
8316
|
}, React.createElement("h5", {
|
|
8597
8317
|
className: "mb-2"
|
|
8598
|
-
}, header$
|
|
8318
|
+
}, header$2), React.createElement(Row, {
|
|
8599
8319
|
className: "my-2"
|
|
8600
8320
|
}, React.createElement(Col, {
|
|
8601
8321
|
md: 8
|
|
@@ -8695,12 +8415,39 @@ var NotificationList = function NotificationList() {
|
|
|
8695
8415
|
}))));
|
|
8696
8416
|
};
|
|
8697
8417
|
|
|
8698
|
-
var
|
|
8699
|
-
|
|
8700
|
-
|
|
8701
|
-
|
|
8702
|
-
var
|
|
8703
|
-
|
|
8418
|
+
var searchInputStyle = {
|
|
8419
|
+
height: 38
|
|
8420
|
+
};
|
|
8421
|
+
var SearchBoxContainer = function SearchBoxContainer(_ref) {
|
|
8422
|
+
var text = _ref.text,
|
|
8423
|
+
initValue = _ref.initValue,
|
|
8424
|
+
onClick = _ref.onClick,
|
|
8425
|
+
onSearch = _ref.onSearch,
|
|
8426
|
+
placeholder = _ref.placeholder;
|
|
8427
|
+
return React.createElement("div", {
|
|
8428
|
+
className: "d-flex align-items-center"
|
|
8429
|
+
}, React.createElement("div", null, React.createElement(AddButton, {
|
|
8430
|
+
text: text,
|
|
8431
|
+
onClick: onClick
|
|
8432
|
+
})), React.createElement("div", {
|
|
8433
|
+
className: "flex-grow-1 ml-2"
|
|
8434
|
+
}, React.createElement(SearchBox$1, {
|
|
8435
|
+
initValue: initValue,
|
|
8436
|
+
onSearch: onSearch,
|
|
8437
|
+
placeholder: placeholder,
|
|
8438
|
+
style: searchInputStyle
|
|
8439
|
+
})));
|
|
8440
|
+
};
|
|
8441
|
+
SearchBoxContainer.defaultProps = {
|
|
8442
|
+
placeholder: "Type something to search"
|
|
8443
|
+
};
|
|
8444
|
+
|
|
8445
|
+
var CustomTabs = function CustomTabs(props) {
|
|
8446
|
+
var history = useHistory();
|
|
8447
|
+
var location = useLocation();
|
|
8448
|
+
var pathname = location.pathname;
|
|
8449
|
+
var tabs = props.tabs,
|
|
8450
|
+
title = props.title;
|
|
8704
8451
|
var toggle = function toggle(path) {
|
|
8705
8452
|
history.push(path);
|
|
8706
8453
|
};
|
|
@@ -9066,7 +8813,7 @@ var get$8 = function get(filter) {
|
|
|
9066
8813
|
});
|
|
9067
8814
|
};
|
|
9068
8815
|
|
|
9069
|
-
var TITLE$
|
|
8816
|
+
var TITLE$9 = "Gallery";
|
|
9070
8817
|
var defaultFilter = {
|
|
9071
8818
|
searchString: ""
|
|
9072
8819
|
};
|
|
@@ -9275,7 +9022,7 @@ var useGalleryList = function useGalleryList(isLibrary) {
|
|
|
9275
9022
|
}
|
|
9276
9023
|
}, [dispatch, filters]);
|
|
9277
9024
|
useEffect(function () {
|
|
9278
|
-
document.title = TITLE$
|
|
9025
|
+
document.title = TITLE$9;
|
|
9279
9026
|
dispatch(setTargetMedia({
|
|
9280
9027
|
targetMedia: undefined
|
|
9281
9028
|
}));
|
|
@@ -9455,7 +9202,7 @@ var MediaDetail = function MediaDetail(_ref) {
|
|
|
9455
9202
|
};
|
|
9456
9203
|
var MediaDetail$1 = React.memo(MediaDetail);
|
|
9457
9204
|
|
|
9458
|
-
var header$
|
|
9205
|
+
var header$3 = "Gallery";
|
|
9459
9206
|
var GalleryList = function GalleryList(_ref) {
|
|
9460
9207
|
var isLibrary = _ref.isLibrary;
|
|
9461
9208
|
var targetMedia = useSelector(function (state) {
|
|
@@ -9465,7 +9212,7 @@ var GalleryList = function GalleryList(_ref) {
|
|
|
9465
9212
|
className: "fadeIn animated"
|
|
9466
9213
|
}, !isLibrary && React.createElement("h5", {
|
|
9467
9214
|
className: "mb-2"
|
|
9468
|
-
}, header$
|
|
9215
|
+
}, header$3), React.createElement(Row, {
|
|
9469
9216
|
className: "mb-2"
|
|
9470
9217
|
}, React.createElement(Col, {
|
|
9471
9218
|
md: 8
|
|
@@ -9543,17 +9290,6 @@ var reduxLogger = createCommonjsModule(function (module, exports) {
|
|
|
9543
9290
|
|
|
9544
9291
|
var logger = unwrapExports(reduxLogger);
|
|
9545
9292
|
|
|
9546
|
-
/**
|
|
9547
|
-
* Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js
|
|
9548
|
-
*
|
|
9549
|
-
* Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes
|
|
9550
|
-
* during build.
|
|
9551
|
-
* @param {number} code
|
|
9552
|
-
*/
|
|
9553
|
-
function formatProdErrorMessage(code) {
|
|
9554
|
-
return "Minified Redux error #" + code + "; visit https://redux.js.org/Errors?code=" + code + " for the full message or " + 'use the non-minified dev environment for full errors. ';
|
|
9555
|
-
}
|
|
9556
|
-
|
|
9557
9293
|
/**
|
|
9558
9294
|
* These are private action types reserved by Redux.
|
|
9559
9295
|
* For any unknown actions, you must return the current state.
|
|
@@ -9587,65 +9323,6 @@ function isPlainObject(obj) {
|
|
|
9587
9323
|
return Object.getPrototypeOf(obj) === proto;
|
|
9588
9324
|
}
|
|
9589
9325
|
|
|
9590
|
-
// Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of
|
|
9591
|
-
function miniKindOf(val) {
|
|
9592
|
-
if (val === void 0) return 'undefined';
|
|
9593
|
-
if (val === null) return 'null';
|
|
9594
|
-
var type = typeof val;
|
|
9595
|
-
|
|
9596
|
-
switch (type) {
|
|
9597
|
-
case 'boolean':
|
|
9598
|
-
case 'string':
|
|
9599
|
-
case 'number':
|
|
9600
|
-
case 'symbol':
|
|
9601
|
-
case 'function':
|
|
9602
|
-
{
|
|
9603
|
-
return type;
|
|
9604
|
-
}
|
|
9605
|
-
}
|
|
9606
|
-
|
|
9607
|
-
if (Array.isArray(val)) return 'array';
|
|
9608
|
-
if (isDate(val)) return 'date';
|
|
9609
|
-
if (isError(val)) return 'error';
|
|
9610
|
-
var constructorName = ctorName(val);
|
|
9611
|
-
|
|
9612
|
-
switch (constructorName) {
|
|
9613
|
-
case 'Symbol':
|
|
9614
|
-
case 'Promise':
|
|
9615
|
-
case 'WeakMap':
|
|
9616
|
-
case 'WeakSet':
|
|
9617
|
-
case 'Map':
|
|
9618
|
-
case 'Set':
|
|
9619
|
-
return constructorName;
|
|
9620
|
-
} // other
|
|
9621
|
-
|
|
9622
|
-
|
|
9623
|
-
return type.slice(8, -1).toLowerCase().replace(/\s/g, '');
|
|
9624
|
-
}
|
|
9625
|
-
|
|
9626
|
-
function ctorName(val) {
|
|
9627
|
-
return typeof val.constructor === 'function' ? val.constructor.name : null;
|
|
9628
|
-
}
|
|
9629
|
-
|
|
9630
|
-
function isError(val) {
|
|
9631
|
-
return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number';
|
|
9632
|
-
}
|
|
9633
|
-
|
|
9634
|
-
function isDate(val) {
|
|
9635
|
-
if (val instanceof Date) return true;
|
|
9636
|
-
return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function';
|
|
9637
|
-
}
|
|
9638
|
-
|
|
9639
|
-
function kindOf(val) {
|
|
9640
|
-
var typeOfVal = typeof val;
|
|
9641
|
-
|
|
9642
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
9643
|
-
typeOfVal = miniKindOf(val);
|
|
9644
|
-
}
|
|
9645
|
-
|
|
9646
|
-
return typeOfVal;
|
|
9647
|
-
}
|
|
9648
|
-
|
|
9649
9326
|
/**
|
|
9650
9327
|
* Prints a warning in the console if it exists.
|
|
9651
9328
|
*
|
|
@@ -9669,6 +9346,12 @@ function warning(message) {
|
|
|
9669
9346
|
|
|
9670
9347
|
}
|
|
9671
9348
|
|
|
9349
|
+
function getUndefinedStateErrorMessage(key, action) {
|
|
9350
|
+
var actionType = action && action.type;
|
|
9351
|
+
var actionDescription = actionType && "action \"" + String(actionType) + "\"" || 'an action';
|
|
9352
|
+
return "Given " + actionDescription + ", reducer \"" + key + "\" returned undefined. " + "To ignore an action, you must explicitly return the previous state. " + "If you want this reducer to hold no value, you can return null instead of undefined.";
|
|
9353
|
+
}
|
|
9354
|
+
|
|
9672
9355
|
function getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {
|
|
9673
9356
|
var reducerKeys = Object.keys(reducers);
|
|
9674
9357
|
var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';
|
|
@@ -9678,7 +9361,7 @@ function getUnexpectedStateShapeWarningMessage(inputState, reducers, action, une
|
|
|
9678
9361
|
}
|
|
9679
9362
|
|
|
9680
9363
|
if (!isPlainObject(inputState)) {
|
|
9681
|
-
return "The " + argumentName + " has unexpected type of \"" +
|
|
9364
|
+
return "The " + argumentName + " has unexpected type of \"" + {}.toString.call(inputState).match(/\s([a-z|A-Z]+)/)[1] + "\". Expected argument to be an object with the following " + ("keys: \"" + reducerKeys.join('", "') + "\"");
|
|
9682
9365
|
}
|
|
9683
9366
|
|
|
9684
9367
|
var unexpectedKeys = Object.keys(inputState).filter(function (key) {
|
|
@@ -9702,13 +9385,13 @@ function assertReducerShape(reducers) {
|
|
|
9702
9385
|
});
|
|
9703
9386
|
|
|
9704
9387
|
if (typeof initialState === 'undefined') {
|
|
9705
|
-
throw new Error(
|
|
9388
|
+
throw new Error("Reducer \"" + key + "\" returned undefined during initialization. " + "If the state passed to the reducer is undefined, you must " + "explicitly return the initial state. The initial state may " + "not be undefined. If you don't want to set a value for this reducer, " + "you can use null instead of undefined.");
|
|
9706
9389
|
}
|
|
9707
9390
|
|
|
9708
9391
|
if (typeof reducer(undefined, {
|
|
9709
9392
|
type: ActionTypes.PROBE_UNKNOWN_ACTION()
|
|
9710
9393
|
}) === 'undefined') {
|
|
9711
|
-
throw new Error(
|
|
9394
|
+
throw new Error("Reducer \"" + key + "\" returned undefined when probed with a random type. " + ("Don't try to handle " + ActionTypes.INIT + " or other actions in \"redux/*\" ") + "namespace. They are considered private. Instead, you must return the " + "current state for any unknown actions, unless it is undefined, " + "in which case you must return the initial state, regardless of the " + "action type. The initial state may not be undefined, but can be null.");
|
|
9712
9395
|
}
|
|
9713
9396
|
});
|
|
9714
9397
|
}
|
|
@@ -9792,8 +9475,8 @@ function combineReducers(reducers) {
|
|
|
9792
9475
|
var nextStateForKey = reducer(previousStateForKey, action);
|
|
9793
9476
|
|
|
9794
9477
|
if (typeof nextStateForKey === 'undefined') {
|
|
9795
|
-
var
|
|
9796
|
-
throw new Error(
|
|
9478
|
+
var errorMessage = getUndefinedStateErrorMessage(_key, action);
|
|
9479
|
+
throw new Error(errorMessage);
|
|
9797
9480
|
}
|
|
9798
9481
|
|
|
9799
9482
|
nextState[_key] = nextStateForKey;
|
|
@@ -9805,6 +9488,17 @@ function combineReducers(reducers) {
|
|
|
9805
9488
|
};
|
|
9806
9489
|
}
|
|
9807
9490
|
|
|
9491
|
+
/*
|
|
9492
|
+
* This is a dummy function to check if the function name has been altered by minification.
|
|
9493
|
+
* If the function has been minified and NODE_ENV !== 'production', warn the user.
|
|
9494
|
+
*/
|
|
9495
|
+
|
|
9496
|
+
function isCrushed() {}
|
|
9497
|
+
|
|
9498
|
+
if (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {
|
|
9499
|
+
warning('You are currently using minified code outside of NODE_ENV === "production". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');
|
|
9500
|
+
}
|
|
9501
|
+
|
|
9808
9502
|
var _localStorage$getItem;
|
|
9809
9503
|
var initialState = {
|
|
9810
9504
|
sidebarShow: "responsive",
|
|
@@ -10103,6 +9797,9 @@ var commonReducer$8 = createReducer(initialState$e, function (builder) {
|
|
|
10103
9797
|
});
|
|
10104
9798
|
});
|
|
10105
9799
|
|
|
9800
|
+
var setUserList = createAction("users/setUserList");
|
|
9801
|
+
var setStudentList = createAction("users/setStudentList");
|
|
9802
|
+
|
|
10106
9803
|
var initialState$f = {
|
|
10107
9804
|
userList: [],
|
|
10108
9805
|
totalItems: 0,
|
|
@@ -10788,5 +10485,332 @@ var generateRandomString = (function () {
|
|
|
10788
10485
|
|
|
10789
10486
|
var amplitudeClient = amplitude.getInstance();
|
|
10790
10487
|
|
|
10791
|
-
|
|
10488
|
+
var USER_URL$2 = "/admin/user";
|
|
10489
|
+
var CREATE_USER_URL = "/admin/create-user";
|
|
10490
|
+
var TITLE$a = "User list";
|
|
10491
|
+
var HOMEPAGE_TEACHER$1 = "/home";
|
|
10492
|
+
var HOMEPAGE_STUDENT$1 = "/home";
|
|
10493
|
+
var HOMEPAGE_ADMIN$1 = "/admin/dashboard";
|
|
10494
|
+
var HOMEPAGE_PARENT$1 = "/parent";
|
|
10495
|
+
var HOMEPAGE_DISTRICT$1 = "/admin/schools";
|
|
10496
|
+
var HOMEPAGE_EDU_TEACHER$1 = "/list-student";
|
|
10497
|
+
var useUserList = function useUserList() {
|
|
10498
|
+
var history = useHistory();
|
|
10499
|
+
var query = new URLSearchParams(location.search);
|
|
10500
|
+
var queryName = query.get("query");
|
|
10501
|
+
var userList = useSelector(function (state) {
|
|
10502
|
+
return state.users.userList;
|
|
10503
|
+
});
|
|
10504
|
+
var totalItems = useSelector(function (state) {
|
|
10505
|
+
return state.users.totalItems;
|
|
10506
|
+
});
|
|
10507
|
+
var _useFilters = useFilters(),
|
|
10508
|
+
filters = _useFilters.filters,
|
|
10509
|
+
changeFilters = _useFilters.changeFilters;
|
|
10510
|
+
var _useState = useState(!!queryName ? queryName : ""),
|
|
10511
|
+
fullName = _useState[0],
|
|
10512
|
+
setFullName = _useState[1];
|
|
10513
|
+
var isDistrict = window.location.host.includes("-district");
|
|
10514
|
+
var dispatch = useDispatch();
|
|
10515
|
+
var getData = useCallback(function (fullName) {
|
|
10516
|
+
try {
|
|
10517
|
+
var _temp2 = function _temp2() {
|
|
10518
|
+
dispatch(setLoading(false));
|
|
10519
|
+
};
|
|
10520
|
+
dispatch(setLoading(true));
|
|
10521
|
+
var _temp = _catch(function () {
|
|
10522
|
+
return Promise.resolve(fullName ? get$5(_extends({}, filters, {
|
|
10523
|
+
searchString: fullName
|
|
10524
|
+
})) : get$5(filters)).then(function (res) {
|
|
10525
|
+
var _res$data = res.data,
|
|
10526
|
+
items = _res$data.items,
|
|
10527
|
+
totalItems = _res$data.totalItems;
|
|
10528
|
+
for (var _iterator = _createForOfIteratorHelperLoose(items), _step; !(_step = _iterator()).done;) {
|
|
10529
|
+
var user = _step.value;
|
|
10530
|
+
user.roles = user.roles.includes("EduTeacher") ? [ROLES.EDUTEACHER] : user.roles;
|
|
10531
|
+
}
|
|
10532
|
+
dispatch(setUserList({
|
|
10533
|
+
userList: items,
|
|
10534
|
+
totalItems: totalItems
|
|
10535
|
+
}));
|
|
10536
|
+
});
|
|
10537
|
+
}, function (err) {
|
|
10538
|
+
var _err$response, _err$response$data;
|
|
10539
|
+
dispatch(setAlert({
|
|
10540
|
+
type: "danger",
|
|
10541
|
+
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
|
|
10542
|
+
}));
|
|
10543
|
+
});
|
|
10544
|
+
return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
|
|
10545
|
+
} catch (e) {
|
|
10546
|
+
return Promise.reject(e);
|
|
10547
|
+
}
|
|
10548
|
+
}, [dispatch, filters]);
|
|
10549
|
+
useEffect(function () {
|
|
10550
|
+
document.title = TITLE$a;
|
|
10551
|
+
}, []);
|
|
10552
|
+
useEffect(function () {
|
|
10553
|
+
if (!!fullName) {
|
|
10554
|
+
getData(fullName);
|
|
10555
|
+
setFullName(null);
|
|
10556
|
+
} else {
|
|
10557
|
+
getData();
|
|
10558
|
+
}
|
|
10559
|
+
}, [filters]);
|
|
10560
|
+
var removeData = useCallback(function (id) {
|
|
10561
|
+
dispatch(setLoading(true));
|
|
10562
|
+
try {
|
|
10563
|
+
dispatch(setModal({
|
|
10564
|
+
isOpen: true,
|
|
10565
|
+
type: "warning",
|
|
10566
|
+
message: "Do you want to remove this user?",
|
|
10567
|
+
onConfirm: function () {
|
|
10568
|
+
try {
|
|
10569
|
+
return Promise.resolve(remove$3(id)).then(function () {
|
|
10570
|
+
dispatch(setAlert({
|
|
10571
|
+
type: "success",
|
|
10572
|
+
message: "Remove user successfully"
|
|
10573
|
+
}));
|
|
10574
|
+
changeFilters({
|
|
10575
|
+
currentPage: 1
|
|
10576
|
+
});
|
|
10577
|
+
});
|
|
10578
|
+
} catch (e) {
|
|
10579
|
+
return Promise.reject(e);
|
|
10580
|
+
}
|
|
10581
|
+
}
|
|
10582
|
+
}));
|
|
10583
|
+
} catch (err) {
|
|
10584
|
+
var _err$response2, _err$response2$data;
|
|
10585
|
+
dispatch(setAlert({
|
|
10586
|
+
type: "danger",
|
|
10587
|
+
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
|
|
10588
|
+
}));
|
|
10589
|
+
}
|
|
10590
|
+
dispatch(setLoading(false));
|
|
10591
|
+
}, [filters]);
|
|
10592
|
+
var redirectLoginUser = function redirectLoginUser(res) {
|
|
10593
|
+
var _res$data2 = res.data,
|
|
10594
|
+
token = _res$data2.token,
|
|
10595
|
+
id = _res$data2.id,
|
|
10596
|
+
firstName = _res$data2.firstName,
|
|
10597
|
+
lastName = _res$data2.lastName,
|
|
10598
|
+
roles = _res$data2.roles,
|
|
10599
|
+
email = _res$data2.email,
|
|
10600
|
+
profileImageFileName = _res$data2.profileImageFileName;
|
|
10601
|
+
localStorage.setItem(ACCESS_TOKEN, token);
|
|
10602
|
+
localStorage.removeItem(NOTIFICATION_ALERT_KEY);
|
|
10603
|
+
dispatch(setUser({
|
|
10604
|
+
id: id,
|
|
10605
|
+
firstName: firstName,
|
|
10606
|
+
lastName: lastName,
|
|
10607
|
+
roles: roles,
|
|
10608
|
+
email: email,
|
|
10609
|
+
profileImageFileName: profileImageFileName
|
|
10610
|
+
}));
|
|
10611
|
+
if (isDistrict) {
|
|
10612
|
+
history.push(HOMEPAGE_DISTRICT$1);
|
|
10613
|
+
} else if (roles.includes("Admin")) {
|
|
10614
|
+
history.push(HOMEPAGE_ADMIN$1);
|
|
10615
|
+
} else if (roles.includes("Teacher") || roles.includes("Assistant")) {
|
|
10616
|
+
history.push(HOMEPAGE_TEACHER$1);
|
|
10617
|
+
} else if (roles.includes("Student")) {
|
|
10618
|
+
history.push(HOMEPAGE_STUDENT$1);
|
|
10619
|
+
} else if (roles.includes("Parent")) {
|
|
10620
|
+
history.push(HOMEPAGE_PARENT$1);
|
|
10621
|
+
} else if (roles.includes("EduTeacher")) {
|
|
10622
|
+
history.push(HOMEPAGE_EDU_TEACHER$1);
|
|
10623
|
+
} else if (roles.includes("Counselor") || roles.includes("SecondaryTeacher")) {
|
|
10624
|
+
history.push(HOMEPAGE_TEACHER$1);
|
|
10625
|
+
}
|
|
10626
|
+
};
|
|
10627
|
+
var swicthUser = useCallback(function (id) {
|
|
10628
|
+
try {
|
|
10629
|
+
var _temp3 = _catch(function () {
|
|
10630
|
+
return Promise.resolve(switchAccountUser(id)).then(function (res) {
|
|
10631
|
+
var data = res.data;
|
|
10632
|
+
dispatch(setModal({
|
|
10633
|
+
isOpen: true,
|
|
10634
|
+
type: "warning",
|
|
10635
|
+
message: "Do you want to impersonate this user?",
|
|
10636
|
+
onConfirm: function () {
|
|
10637
|
+
try {
|
|
10638
|
+
var _temp5 = function _temp5() {
|
|
10639
|
+
dispatch(setLoading(false));
|
|
10640
|
+
};
|
|
10641
|
+
dispatch(setLoading(true));
|
|
10642
|
+
var _temp4 = _catch(function () {
|
|
10643
|
+
var req = {
|
|
10644
|
+
email: data.email,
|
|
10645
|
+
password: "default",
|
|
10646
|
+
accessToken: data.token
|
|
10647
|
+
};
|
|
10648
|
+
return Promise.resolve(logIn(req)).then(function (res) {
|
|
10649
|
+
localStorage.clear();
|
|
10650
|
+
redirectLoginUser(res);
|
|
10651
|
+
});
|
|
10652
|
+
}, function (err) {
|
|
10653
|
+
var _err$response3, _err$response3$data;
|
|
10654
|
+
setAlert({
|
|
10655
|
+
type: "danger",
|
|
10656
|
+
message: ((_err$response3 = err.response) === null || _err$response3 === void 0 ? void 0 : (_err$response3$data = _err$response3.data) === null || _err$response3$data === void 0 ? void 0 : _err$response3$data.title) || err.message
|
|
10657
|
+
});
|
|
10658
|
+
});
|
|
10659
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp5) : _temp5(_temp4));
|
|
10660
|
+
} catch (e) {
|
|
10661
|
+
return Promise.reject(e);
|
|
10662
|
+
}
|
|
10663
|
+
}
|
|
10664
|
+
}));
|
|
10665
|
+
});
|
|
10666
|
+
}, function (err) {
|
|
10667
|
+
var _err$response4, _err$response4$data;
|
|
10668
|
+
dispatch(setAlert({
|
|
10669
|
+
type: "danger",
|
|
10670
|
+
message: ((_err$response4 = err.response) === null || _err$response4 === void 0 ? void 0 : (_err$response4$data = _err$response4.data) === null || _err$response4$data === void 0 ? void 0 : _err$response4$data.title) || err.message
|
|
10671
|
+
}));
|
|
10672
|
+
});
|
|
10673
|
+
return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(function () {}) : void 0);
|
|
10674
|
+
} catch (e) {
|
|
10675
|
+
return Promise.reject(e);
|
|
10676
|
+
}
|
|
10677
|
+
}, [filters]);
|
|
10678
|
+
var reDirectDetailPage = function reDirectDetailPage(id) {
|
|
10679
|
+
var url = !!id ? USER_URL$2 + "/" + id : CREATE_USER_URL;
|
|
10680
|
+
history.push(url);
|
|
10681
|
+
};
|
|
10682
|
+
return {
|
|
10683
|
+
userList: userList,
|
|
10684
|
+
totalItems: totalItems,
|
|
10685
|
+
filters: filters,
|
|
10686
|
+
queryName: queryName,
|
|
10687
|
+
getData: getData,
|
|
10688
|
+
removeData: removeData,
|
|
10689
|
+
changeFilters: changeFilters,
|
|
10690
|
+
reDirectDetailPage: reDirectDetailPage,
|
|
10691
|
+
swicthUser: swicthUser
|
|
10692
|
+
};
|
|
10693
|
+
};
|
|
10694
|
+
|
|
10695
|
+
var header$4 = "User";
|
|
10696
|
+
var UserList = function UserList() {
|
|
10697
|
+
var _useUserList = useUserList(),
|
|
10698
|
+
queryName = _useUserList.queryName,
|
|
10699
|
+
userList = _useUserList.userList,
|
|
10700
|
+
totalItems = _useUserList.totalItems,
|
|
10701
|
+
filters = _useUserList.filters,
|
|
10702
|
+
removeData = _useUserList.removeData,
|
|
10703
|
+
changeFilters = _useUserList.changeFilters,
|
|
10704
|
+
reDirectDetailPage = _useUserList.reDirectDetailPage,
|
|
10705
|
+
swicthUser = _useUserList.swicthUser;
|
|
10706
|
+
var _useTranslation = useTranslation(),
|
|
10707
|
+
t = _useTranslation.t;
|
|
10708
|
+
return React.createElement("div", {
|
|
10709
|
+
className: "fadeIn animated"
|
|
10710
|
+
}, React.createElement("h5", {
|
|
10711
|
+
className: "mb-2"
|
|
10712
|
+
}, t("" + header$4)), React.createElement(Row, {
|
|
10713
|
+
className: "my-2"
|
|
10714
|
+
}, React.createElement(Col, {
|
|
10715
|
+
md: 8
|
|
10716
|
+
}, React.createElement(SearchBoxContainer, {
|
|
10717
|
+
text: t("create_user"),
|
|
10718
|
+
onClick: function onClick() {
|
|
10719
|
+
return reDirectDetailPage();
|
|
10720
|
+
},
|
|
10721
|
+
initValue: !!queryName ? queryName : "",
|
|
10722
|
+
onSearch: function onSearch(searchString) {
|
|
10723
|
+
return changeFilters({
|
|
10724
|
+
searchString: searchString
|
|
10725
|
+
});
|
|
10726
|
+
},
|
|
10727
|
+
placeholder: t("type_something_to_search_by_user_name")
|
|
10728
|
+
})), React.createElement(Col, {
|
|
10729
|
+
md: 4,
|
|
10730
|
+
className: "d-flex justify-content-end align-items-center"
|
|
10731
|
+
}, t("total_of_users"), " : ", totalItems)), React.createElement(Row, {
|
|
10732
|
+
className: "mb-2"
|
|
10733
|
+
}, React.createElement(Col, {
|
|
10734
|
+
md: 12
|
|
10735
|
+
}, userList && userList.length > 0 ? React.createElement("div", null, React.createElement(Table, {
|
|
10736
|
+
bordered: true,
|
|
10737
|
+
hover: true,
|
|
10738
|
+
striped: true,
|
|
10739
|
+
responsive: true,
|
|
10740
|
+
size: "sm"
|
|
10741
|
+
}, React.createElement("thead", null, React.createElement("tr", null, React.createElement("th", {
|
|
10742
|
+
className: "align-top"
|
|
10743
|
+
}, t("name")), React.createElement("th", {
|
|
10744
|
+
className: "align-top"
|
|
10745
|
+
}, t("email")), React.createElement("th", {
|
|
10746
|
+
className: "align-top"
|
|
10747
|
+
}, t("age")), React.createElement("th", {
|
|
10748
|
+
className: "align-top"
|
|
10749
|
+
}, t("role")), React.createElement("th", {
|
|
10750
|
+
className: "align-top"
|
|
10751
|
+
}, t("active_status")), React.createElement("th", {
|
|
10752
|
+
className: "align-top"
|
|
10753
|
+
}, t("created_time")), React.createElement("th", {
|
|
10754
|
+
className: "text-center"
|
|
10755
|
+
}, t("action")))), React.createElement("tbody", null, userList.map(function (record) {
|
|
10756
|
+
return React.createElement("tr", {
|
|
10757
|
+
key: record.id
|
|
10758
|
+
}, React.createElement("td", {
|
|
10759
|
+
className: "align-middle"
|
|
10760
|
+
}, React.createElement(LinkEditButton, {
|
|
10761
|
+
label: "" + record.fullName,
|
|
10762
|
+
onClick: function onClick() {
|
|
10763
|
+
return reDirectDetailPage(record.id);
|
|
10764
|
+
}
|
|
10765
|
+
})), React.createElement("td", {
|
|
10766
|
+
className: "align-middle"
|
|
10767
|
+
}, record.email), React.createElement("td", {
|
|
10768
|
+
className: "align-middle"
|
|
10769
|
+
}, differenceInCalendarYears(new Date(), new Date(record.dateOfBirth))), React.createElement("td", {
|
|
10770
|
+
className: "align-middle"
|
|
10771
|
+
}, !!record.roles && record.roles.map(function (role) {
|
|
10772
|
+
return role === "SecondaryTeacher" ? "SupportTeacher" : role;
|
|
10773
|
+
}).join(", ")), React.createElement("td", {
|
|
10774
|
+
className: "align-middle"
|
|
10775
|
+
}, record.isActive ? t("active") : t("inactive")), React.createElement("td", {
|
|
10776
|
+
className: "align-middle"
|
|
10777
|
+
}, utcToLocalTime(record === null || record === void 0 ? void 0 : record.createTime, "yyyy-MM-DD HH:mm")), React.createElement("td", {
|
|
10778
|
+
className: "text-center align-middle"
|
|
10779
|
+
}, React.createElement(FaUsersCog, {
|
|
10780
|
+
style: {
|
|
10781
|
+
fontSize: "18px",
|
|
10782
|
+
marginRight: "10px",
|
|
10783
|
+
cursor: "pointer"
|
|
10784
|
+
},
|
|
10785
|
+
onClick: function onClick() {
|
|
10786
|
+
return swicthUser(record.id);
|
|
10787
|
+
}
|
|
10788
|
+
}), React.createElement(DeleteButtonIcon, {
|
|
10789
|
+
onClick: function onClick() {
|
|
10790
|
+
return removeData(record.id);
|
|
10791
|
+
}
|
|
10792
|
+
})));
|
|
10793
|
+
})))) : React.createElement(EmptyDataAlert, {
|
|
10794
|
+
label: t("user")
|
|
10795
|
+
})), React.createElement(Col, {
|
|
10796
|
+
md: 12
|
|
10797
|
+
}, React.createElement(CustomPagination, {
|
|
10798
|
+
filters: filters,
|
|
10799
|
+
totalRecordCount: totalItems,
|
|
10800
|
+
changePageSize: function changePageSize(pageSize) {
|
|
10801
|
+
return changeFilters({
|
|
10802
|
+
pageSize: pageSize
|
|
10803
|
+
});
|
|
10804
|
+
},
|
|
10805
|
+
changePage: function changePage(currentPage) {
|
|
10806
|
+
return changeFilters({
|
|
10807
|
+
currentPage: currentPage
|
|
10808
|
+
});
|
|
10809
|
+
}
|
|
10810
|
+
}))));
|
|
10811
|
+
};
|
|
10812
|
+
|
|
10813
|
+
var amplitudeClient$1 = amplitude.getInstance();
|
|
10814
|
+
|
|
10815
|
+
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, 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, Images, 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, SchoolList, ScrollToTop, SearchBox$1 as SearchBox, SearchBoxContainer, SkillList, StarRatingSelector, SuggestionCategorySelector, TAB_COLORS, TINY_MCE_API_KEY, TheContent$1 as TheContent, TheLayout, ToggleButton, UploadFileButton, UserDetail, UserList, addTab, amplitudeClient$1 as amplitudeClient, answerQuestion, answerQuestionDataPlayer, api, apiUpload, canAccess as canAccessRoute, changeNote, changeTags, clearTab, closeTab, debounce, editTab, editorConfig, firstCheckToken, generateRandomString, getFileUrl, getInfo, 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, setQuestionByCategory, setQuestionCateList, setQuestionList, setReflectionList, setReflectionResultList, setResetQuestionList, setSchoolBlankDayList, setSelectQuestion, setSemesterList, setSessionPlayer, setSessionTemplateGeneralClassList, setSessionTemplateList, setStartTime, setStrategyList, setStudentIdSelectedByTeacher, setStudentList, setSubjectList, setSuggestionList, setTurnOffPassWhenChangeMode, setTutorialScreenList, setUser, setUserList, showFontSize, showMenuBar, store, systemCertificateUpload, systemStudentBadge, uploadFile, useFilters, useGalleryList, utcToLocalTime };
|
|
10792
10816
|
//# sourceMappingURL=index.modern.js.map
|