mario-core 2.9.127-admin → 2.9.128-all

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.
@@ -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, FaRegEdit, FaArrowLeft, FaDownload, FaTrash, FaEdit, FaFolderPlus, FaFileUpload, FaUsersCog } from 'react-icons/fa';
24
+ import { FaPlus, FaTrashAlt, FaUsersCog, FaRegEdit, FaArrowLeft, FaDownload, FaTrash, FaEdit, FaFolderPlus, FaFileUpload } 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';
@@ -49,7 +49,7 @@ var cancel = "Cancel";
49
49
  var hey = "Hey";
50
50
  var readiness_to_learn = "Readiness to Learn";
51
51
  var high_impact_learning_strategies = "High Impact Learning Strategies";
52
- var check_in = "Check In";
52
+ var check_in = "Check-in";
53
53
  var reflection = "Reflection";
54
54
  var conferences = "Conferences";
55
55
  var safety = "Safety";
@@ -72,7 +72,7 @@ var tooltip_content_safety_chart = "The visual represenation of all the response
72
72
  var tooltip_content_student_by_age_chart = "The specific representation of students by gender and grade level at your school.";
73
73
  var tooltip_content_students_by_designation = "The composite representation of students by individual grades in your school with specific designations.";
74
74
  var total_1_to_1 = "Total 1-to-1";
75
- var total_check_in = "Total Check In";
75
+ var total_check_in = "Total Check-in";
76
76
  var total_1_to_1_time = "Total 1-to-1 Time";
77
77
  var total_conferences = "Total Conferences";
78
78
  var total_conferences_time = "Total Conferences Time";
@@ -221,7 +221,7 @@ var edit_designation = "Edit Designation";
221
221
  var confirm = "Confirm";
222
222
  var hello = "Hello";
223
223
  var todays_1_1 = "Today’s 1-1";
224
- var todays_check_in = "Today’s Check In";
224
+ var todays_check_in = "Today’s Check-in";
225
225
  var todays_Conferences = "Today’s Conferences";
226
226
  var next_meeting = "Next Meeting";
227
227
  var next_conference = "Next Conference";
@@ -250,7 +250,7 @@ var import_csv = "Import CSV";
250
250
  var add_new = "Add New";
251
251
  var show_only_work_as_assistant = "Show only work as assistant";
252
252
  var last_1_to_1 = "Last 1-TO-1";
253
- var last_check_in = "Last Check In";
253
+ var last_check_in = "Last Check-in";
254
254
  var last_conference = "Last conference";
255
255
  var total_time = "Total time";
256
256
  var assistant_name = "Assistant Name";
@@ -270,7 +270,7 @@ var change_date = "Change date";
270
270
  var change_time = "Change time";
271
271
  var apply = "Apply";
272
272
  var new_1_to_1 = "New 1-to-1";
273
- var new_check_in = "New Check In";
273
+ var new_check_in = "New Check-in";
274
274
  var do_you_want_to_talk_with_teacher = "Do you want to talk with teacher";
275
275
  var start_now = "Start now";
276
276
  var book_for_later = "Book for later";
@@ -280,7 +280,7 @@ var no_question = "No question";
280
280
  var select_question = "Select question";
281
281
  var select_student = "Select student";
282
282
  var select_teacher = "Select teacher";
283
- var do_you_want_to_talk_with = "Do you want to talk with";
283
+ var do_you_want_to_talk_with = "Who would you like to check-in with?";
284
284
  var please_select_a_student = "Please select a student";
285
285
  var please_select_a_teacher = "Please select a teacher";
286
286
  var please_provide_a_valid_student = "Please provide a valid student";
@@ -290,7 +290,7 @@ var you_have_no_teacher = "You have no teacher";
290
290
  var search_teacher = "Search teacher";
291
291
  var select_date_time = "Select Date & Time";
292
292
  var book_1_to_1 = "Book 1-to-1";
293
- var book_new_check_in = "Book new Check In";
293
+ var book_new_check_in = "Book new Check-in";
294
294
  var schedule = "Schedule";
295
295
  var sessions_are_booked_as_10_minute_slots = "Sessions are booked as 10 minute slots";
296
296
  var does_not_reoccur = "Does not reoccur";
@@ -306,7 +306,7 @@ var no_data = "No Data";
306
306
  var schedule_detail = "Schedule Detail";
307
307
  var are_you_sure_you_want_to_cancel_this_schedule = "Are you sure you want to Cancel this schedule?";
308
308
  var completed_1_to_1 = "Completed 1-1 Conversation";
309
- var completed_check_in = "Completed Check In";
309
+ var completed_check_in = "Completed Check-in";
310
310
  var done = "Done";
311
311
  var what_do_you_want_to_talk_about = "What do you want to talk about?";
312
312
  var session_type = "Session Type";
@@ -321,7 +321,7 @@ var how_much_did_you_learn_from_this_session = "How much did you learn from this
321
321
  var what_is_the_most_important_thing_you_learned_from_this_session = "What is the most important thing you learned from this session?";
322
322
  var your_next_meeting = "Your next meeting";
323
323
  var today_at = "Today at";
324
- var choose_if_you_want_to_do_it_now_or_if_you_would_like_to_book_for_later = "Choose if you want to do it now or if you would like to book for later";
324
+ var choose_if_you_want_to_do_it_now_or_if_you_would_like_to_book_for_later = "Choose if you want to start the check-in now or book a time with your teacher or counselor for later.";
325
325
  var edit = "Edit";
326
326
  var phone_number = "Phone number";
327
327
  var second_phone_number = "Second phone number";
@@ -332,7 +332,7 @@ var note = "Note";
332
332
  var no_schedule = "No Schedule";
333
333
  var my_notes = "My Notes";
334
334
  var private_note = "Private Note";
335
- var goal_process = "Goal Process";
335
+ var goal_process = "Goal Progress";
336
336
  var view_all_goals = "View all goals";
337
337
  var completed = "Completed";
338
338
  var student_information = "Student Information";
@@ -428,7 +428,7 @@ var student_request = "Student Request";
428
428
  var overview = "Overview";
429
429
  var plp = "PLP";
430
430
  var my_student_1_to_1 = "My Student 1-to-1";
431
- var my_student_check_in = "My Student Check In";
431
+ var my_student_check_in = "My Student Check-in";
432
432
  var my_student_conference = "My Student Conference";
433
433
  var received_date = "Received Date";
434
434
  var class_impact_score = "Class Impact Score";
@@ -631,6 +631,7 @@ var learning_process = "Learning Process";
631
631
  var survey_dashboard = "Survey Dashboard";
632
632
  var response_rate = "Response Rate";
633
633
  var top_5_most_survey_used = "Top 5 Survey's Used";
634
+ var question_intervention = "Question Intervention";
634
635
  var lang_us = {
635
636
  dashboard: dashboard,
636
637
  user: user,
@@ -1236,7 +1237,8 @@ var lang_us = {
1236
1237
  learning_process: learning_process,
1237
1238
  survey_dashboard: survey_dashboard,
1238
1239
  response_rate: response_rate,
1239
- top_5_most_survey_used: top_5_most_survey_used
1240
+ top_5_most_survey_used: top_5_most_survey_used,
1241
+ question_intervention: question_intervention
1240
1242
  };
1241
1243
 
1242
1244
  var dashboard$1 = "Dashboard";
@@ -1254,7 +1256,7 @@ var cancel$1 = "Cancel";
1254
1256
  var hey$1 = "Hey";
1255
1257
  var readiness_to_learn$1 = "Readiness to Learn";
1256
1258
  var high_impact_learning_strategies$1 = "High Impact Learning Strategies";
1257
- var check_in$1 = "Check In";
1259
+ var check_in$1 = "Check-in";
1258
1260
  var reflection$1 = "Reflection";
1259
1261
  var conferences$1 = "Conferences";
1260
1262
  var safety$1 = "Safety";
@@ -1277,7 +1279,7 @@ var tooltip_content_safety_chart$1 = "The visual represenation of all the respon
1277
1279
  var tooltip_content_student_by_age_chart$1 = "The specific representation of students by gender and grade level at your school.";
1278
1280
  var tooltip_content_students_by_designation$1 = "The composite representation of students by individual grades in your school with specific designations.";
1279
1281
  var total_1_to_1$1 = "Total 1-to-1";
1280
- var total_check_in$1 = "Total Check In";
1282
+ var total_check_in$1 = "Total Check-in";
1281
1283
  var total_1_to_1_time$1 = "Total 1-to-1 Time";
1282
1284
  var total_conferences$1 = "Total Conferences";
1283
1285
  var total_conferences_time$1 = "Total Conferences Time";
@@ -1428,7 +1430,7 @@ var edit_designation$1 = "Edit Designation";
1428
1430
  var confirm$1 = "Confirm";
1429
1431
  var hello$1 = "Hello";
1430
1432
  var todays_1_1$1 = "Today’s 1-1";
1431
- var todays_check_in$1 = "Today’s Check In";
1433
+ var todays_check_in$1 = "Today’s Check-in";
1432
1434
  var todays_Conferences$1 = "Today’s Conferences";
1433
1435
  var next_meeting$1 = "Next Meeting";
1434
1436
  var next_conference$1 = "Next Conference";
@@ -1457,7 +1459,7 @@ var import_csv$1 = "Import CSV";
1457
1459
  var add_new$1 = "Add New";
1458
1460
  var show_only_work_as_assistant$1 = "Show only work as assistant";
1459
1461
  var last_1_to_1$1 = "Last 1-TO-1";
1460
- var last_check_in$1 = "Last Check In";
1462
+ var last_check_in$1 = "Last Check-in";
1461
1463
  var last_conference$1 = "Last conference";
1462
1464
  var total_time$1 = "Total time";
1463
1465
  var assistant_name$1 = "Assistant Name";
@@ -1477,7 +1479,7 @@ var change_date$1 = "Change date";
1477
1479
  var change_time$1 = "Change time";
1478
1480
  var apply$1 = "Apply";
1479
1481
  var new_1_to_1$1 = "New 1-to-1";
1480
- var new_check_in$1 = "New Check In";
1482
+ var new_check_in$1 = "New Check-in";
1481
1483
  var do_you_want_to_talk_with_teacher$1 = "Do you want to talk with teacher";
1482
1484
  var start_now$1 = "Start now";
1483
1485
  var book_for_later$1 = "Book for later";
@@ -1487,7 +1489,7 @@ var no_question$1 = "No question";
1487
1489
  var select_question$1 = "Select question";
1488
1490
  var select_student$1 = "Select student";
1489
1491
  var select_teacher$1 = "Select teacher";
1490
- var do_you_want_to_talk_with$1 = "Do you want to talk with";
1492
+ var do_you_want_to_talk_with$1 = "Who would you like to check-in with?";
1491
1493
  var please_select_a_student$1 = "Please select a student";
1492
1494
  var please_select_a_teacher$1 = "Please select a teacher";
1493
1495
  var please_provide_a_valid_student$1 = "Please provide a valid student";
@@ -1497,7 +1499,7 @@ var you_have_no_teacher$1 = "You have no teacher";
1497
1499
  var search_teacher$1 = "Search teacher";
1498
1500
  var select_date_time$1 = "Select Date & Time";
1499
1501
  var book_1_to_1$1 = "Book 1-to-1";
1500
- var book_new_check_in$1 = "Book new Check In";
1502
+ var book_new_check_in$1 = "Book new Check-in";
1501
1503
  var schedule$1 = "Schedule";
1502
1504
  var sessions_are_booked_as_10_minute_slots$1 = "Sessions are booked as 10 minute slots";
1503
1505
  var does_not_reoccur$1 = "Does not reoccur";
@@ -1513,7 +1515,7 @@ var no_data$1 = "No Data";
1513
1515
  var schedule_detail$1 = "Schedule Detail";
1514
1516
  var are_you_sure_you_want_to_cancel_this_schedule$1 = "Are you sure you want to Cancel this schedule?";
1515
1517
  var completed_1_to_1$1 = "Completed 1-1 Conversation";
1516
- var completed_check_in$1 = "Completed Check In";
1518
+ var completed_check_in$1 = "Completed Check-in";
1517
1519
  var done$1 = "Done";
1518
1520
  var what_do_you_want_to_talk_about$1 = "What do you want to talk about?";
1519
1521
  var session_type$1 = "Session Type";
@@ -1528,7 +1530,7 @@ var how_much_did_you_learn_from_this_session$1 = "How much did you learn from th
1528
1530
  var what_is_the_most_important_thing_you_learned_from_this_session$1 = "What is the most important thing you learned from this session?";
1529
1531
  var your_next_meeting$1 = "Your next meeting";
1530
1532
  var today_at$1 = "Today at";
1531
- var choose_if_you_want_to_do_it_now_or_if_you_would_like_to_book_for_later$1 = "Choose if you want to do it now or if you would like to book for later";
1533
+ var choose_if_you_want_to_do_it_now_or_if_you_would_like_to_book_for_later$1 = "Choose if you want to start the check-in now or book a time with your teacher or counselor for later.";
1532
1534
  var edit$1 = "Edit";
1533
1535
  var phone_number$1 = "Phone number";
1534
1536
  var second_phone_number$1 = "Second phone number";
@@ -1539,7 +1541,7 @@ var note$1 = "Note";
1539
1541
  var no_schedule$1 = "No Schedule";
1540
1542
  var my_notes$1 = "My Notes";
1541
1543
  var private_note$1 = "Private Note";
1542
- var goal_process$1 = "Goal Process";
1544
+ var goal_process$1 = "Goal Progress";
1543
1545
  var view_all_goals$1 = "View all goals";
1544
1546
  var completed$1 = "Completed";
1545
1547
  var student_information$1 = "Student Information";
@@ -1635,7 +1637,7 @@ var student_request$1 = "Student Request";
1635
1637
  var overview$1 = "Overview";
1636
1638
  var plp$1 = "PLP";
1637
1639
  var my_student_1_to_1$1 = "My Student 1-to-1";
1638
- var my_student_check_in$1 = "My Student Check In";
1640
+ var my_student_check_in$1 = "My Student Check-in";
1639
1641
  var my_student_conference$1 = "My Student Conference";
1640
1642
  var received_date$1 = "Received Date";
1641
1643
  var class_impact_score$1 = "Class Impact Score";
@@ -1838,6 +1840,7 @@ var learning_process$1 = "Learning Process";
1838
1840
  var survey_dashboard$1 = "Survey Dashboard";
1839
1841
  var response_rate$1 = "Response Rate";
1840
1842
  var top_5_most_survey_used$1 = "Top 5 Survey's Used";
1843
+ var question_intervention$1 = "Question Intervention";
1841
1844
  var lang_uk = {
1842
1845
  dashboard: dashboard$1,
1843
1846
  user: user$1,
@@ -2443,7 +2446,8 @@ var lang_uk = {
2443
2446
  learning_process: learning_process$1,
2444
2447
  survey_dashboard: survey_dashboard$1,
2445
2448
  response_rate: response_rate$1,
2446
- top_5_most_survey_used: top_5_most_survey_used$1
2449
+ top_5_most_survey_used: top_5_most_survey_used$1,
2450
+ question_intervention: question_intervention$1
2447
2451
  };
2448
2452
 
2449
2453
  var DEFAULT_LANGUAGE = localStorage.getItem("language") !== null ? localStorage.getItem("language") : "uk";
@@ -6872,89 +6876,8 @@ var SkillList = function SkillList() {
6872
6876
  }))));
6873
6877
  };
6874
6878
 
6875
- var MAX_FILE_SIZE = 20097152;
6876
-
6877
- var UploadFileButton = function UploadFileButton(_ref) {
6878
- var fileName = _ref.fileName,
6879
- maxWidth = _ref.maxWidth,
6880
- maxHeight = _ref.maxHeight,
6881
- setFile = _ref.setFile,
6882
- canDelete = _ref.canDelete,
6883
- onDelete = _ref.onDelete,
6884
- isCheckFeedBack = _ref.isCheckFeedBack,
6885
- onAddImage = _ref.onAddImage;
6886
- var dispatch = useDispatch();
6887
-
6888
- var _useState = useState(""),
6889
- imagePreviewUrl = _useState[0],
6890
- setImagePreviewUrl = _useState[1];
6891
-
6892
- var imageStyle = {
6893
- maxWidth: maxWidth || "100%",
6894
- maxHeight: maxHeight || "100%"
6895
- };
6896
- var imageSrc = imagePreviewUrl || getFileUrl(fileName);
6897
-
6898
- var handleImageChange = function handleImageChange(e) {
6899
- e.preventDefault();
6900
- var reader = new FileReader();
6901
- var newFile = e.target.files[0];
6902
-
6903
- if (newFile.size > MAX_FILE_SIZE) {
6904
- dispatch(setAlert({
6905
- type: "danger",
6906
- message: "File can't be larger than 2MB"
6907
- }));
6908
- return;
6909
- }
6910
-
6911
- reader.onloadend = function () {
6912
- setFile(newFile);
6913
- setImagePreviewUrl(reader.result);
6914
- };
6915
-
6916
- if (newFile) {
6917
- reader.readAsDataURL(newFile);
6918
- }
6919
-
6920
- !!onAddImage && onAddImage();
6921
- };
6922
-
6923
- var imagePreviewContainer = imagePreviewUrl || fileName ? React.createElement("img", {
6924
- style: imageStyle,
6925
- src: imageSrc,
6926
- alt: "image"
6927
- }) : null;
6928
- return React.createElement("div", {
6929
- className: "mb-2"
6930
- }, React.createElement(Form, {
6931
- className: "mb-2"
6932
- }, React.createElement(Input, {
6933
- className: "d-none",
6934
- type: "file",
6935
- id: "uploadFile",
6936
- onChange: handleImageChange,
6937
- accept: "image/*"
6938
- }), React.createElement("div", {
6939
- className: "d-flex align-items-center"
6940
- }, React.createElement(Label, {
6941
- htmlFor: "uploadFile",
6942
- role: "button",
6943
- tabIndex: 0,
6944
- className: styles["input-file-label"]
6945
- }, isCheckFeedBack == true ? React.createElement(MdAttachFile, null) : React.createElement(React.Fragment, null, React.createElement("i", {
6946
- className: "fa fa-paperclip mr-1",
6947
- "aria-hidden": "true"
6948
- }), imagePreviewUrl || fileName ? "Change file" : "Choose file")), canDelete && imagePreviewContainer && React.createElement(Button, {
6949
- size: "sm",
6950
- color: "danger",
6951
- className: styles["delete-avatar-button"] + " ml-2 d-flex align-items-center justify-content-center",
6952
- onClick: function onClick() {
6953
- setImagePreviewUrl(null);
6954
- onDelete && onDelete();
6955
- }
6956
- }, React.createElement(FaTrashAlt, null)))), imagePreviewContainer);
6957
- };
6879
+ var setUserList = createAction("users/setUserList");
6880
+ var setStudentList = createAction("users/setStudentList");
6958
6881
 
6959
6882
  var USER_URL$1 = BASE_URL + "/api/user";
6960
6883
  var CHANGE_PASSWORD = BASE_URL + "/api/Account/changePassword";
@@ -6987,58 +6910,38 @@ var switchAccountUser = function switchAccountUser(id) {
6987
6910
  return api.post(EDU_USER_URL + "/switch-user/" + id);
6988
6911
  };
6989
6912
 
6990
- var initValue$3 = {
6991
- id: "",
6992
- firstName: "",
6993
- lastName: "",
6994
- email: "",
6995
- dateOfBirth: "",
6996
- roles: [],
6997
- isActive: true,
6998
- profileImageFileName: ""
6999
- };
7000
- var USER_LIST_URL = "/admin/user";
7001
- var TITLE$7 = "User detail";
6913
+ var USER_URL$2 = "/admin/user";
6914
+ var CREATE_USER_URL = "/admin/create-user";
6915
+ var TITLE$7 = "User list";
6916
+ var HOMEPAGE_TEACHER$1 = "/home";
6917
+ var HOMEPAGE_STUDENT$1 = "/home";
6918
+ var HOMEPAGE_ADMIN$1 = "/admin/dashboard";
6919
+ var HOMEPAGE_PARENT$1 = "/parent";
6920
+ var HOMEPAGE_DISTRICT$1 = "/admin/schools";
6921
+ var HOMEPAGE_EDU_TEACHER$1 = "/list-student";
7002
6922
 
7003
- var useUserDetail = function useUserDetail(id) {
7004
- var dispatch = useDispatch();
6923
+ var useUserList = function useUserList() {
7005
6924
  var history = useHistory();
6925
+ var query = new URLSearchParams(location.search);
6926
+ var queryName = query.get("query");
6927
+ var userList = useSelector(function (state) {
6928
+ return state.users.userList;
6929
+ });
6930
+ var totalItems = useSelector(function (state) {
6931
+ return state.users.totalItems;
6932
+ });
7006
6933
 
7007
- var _useState = useState(initValue$3),
7008
- userDetail = _useState[0],
7009
- setUserDetail = _useState[1];
7010
-
7011
- var _useState2 = useState(null),
7012
- file = _useState2[0],
7013
- setFile = _useState2[1];
7014
-
7015
- var _useState3 = useState(false),
7016
- edited = _useState3[0],
7017
- setEdited = _useState3[1];
7018
-
7019
- var setEditedTrue = function setEditedTrue() {
7020
- try {
7021
- localStorage.setItem(window.location.href, "true");
7022
- setEdited(true);
7023
- return Promise.resolve();
7024
- } catch (e) {
7025
- return Promise.reject(e);
7026
- }
7027
- };
6934
+ var _useFilters = useFilters(),
6935
+ filters = _useFilters.filters,
6936
+ changeFilters = _useFilters.changeFilters;
7028
6937
 
7029
- var _useState4 = useState([]),
7030
- currentRoles = _useState4[0],
7031
- setCurrentRoles = _useState4[1];
6938
+ var _useState = useState(!!queryName ? queryName : ""),
6939
+ fullName = _useState[0],
6940
+ setFullName = _useState[1];
7032
6941
 
7033
- useEffect(function () {
7034
- document.title = TITLE$7;
7035
- setEdited(false);
7036
- if (!!localStorage.getItem(window.location.href)) localStorage.removeItem(window.location.href);
7037
- }, []);
7038
- useEffect(function () {
7039
- !!id && getData();
7040
- }, [id]);
7041
- var getData = useCallback(function () {
6942
+ var isDistrict = window.location.host.includes("-district");
6943
+ var dispatch = useDispatch();
6944
+ var getData = useCallback(function (fullName) {
7042
6945
  try {
7043
6946
  var _temp3 = function _temp3() {
7044
6947
  dispatch(setLoading(false));
@@ -7047,15 +6950,22 @@ var useUserDetail = function useUserDetail(id) {
7047
6950
  dispatch(setLoading(true));
7048
6951
 
7049
6952
  var _temp4 = _catch(function () {
7050
- return Promise.resolve(getById$3(id)).then(function (res) {
7051
- var _res$data$roles, _res$data, _res$data2;
6953
+ return Promise.resolve(fullName ? get$5(_extends({}, filters, {
6954
+ searchString: fullName
6955
+ })) : get$5(filters)).then(function (res) {
6956
+ var _res$data = res.data,
6957
+ items = _res$data.items,
6958
+ totalItems = _res$data.totalItems;
7052
6959
 
7053
- setUserDetail(_extends({}, res.data, {
7054
- dateOfBirth: format(new Date(res.data.dateOfBirth), DATE_FORMAT),
7055
- roles: res.data.roles.includes("EduTeacher") ? [ROLES.EDUTEACHER] : res.data.roles
6960
+ for (var _iterator = _createForOfIteratorHelperLoose(items), _step; !(_step = _iterator()).done;) {
6961
+ var user = _step.value;
6962
+ user.roles = user.roles.includes("EduTeacher") ? [ROLES.EDUTEACHER] : user.roles;
6963
+ }
6964
+
6965
+ dispatch(setUserList({
6966
+ userList: items,
6967
+ totalItems: totalItems
7056
6968
  }));
7057
- 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 : []);
7058
- document.title = (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.fullName;
7059
6969
  });
7060
6970
  }, function (err) {
7061
6971
  var _err$response, _err$response$data;
@@ -7070,191 +6980,713 @@ var useUserDetail = function useUserDetail(id) {
7070
6980
  } catch (e) {
7071
6981
  return Promise.reject(e);
7072
6982
  }
7073
- }, [id]);
7074
- var backToList = useCallback(function (user) {
7075
- !!user && typeof user === "string" ? history.push(USER_LIST_URL + ("?query=" + user)) : history.push(USER_LIST_URL);
6983
+ }, [dispatch, filters]);
6984
+ useEffect(function () {
6985
+ document.title = TITLE$7;
7076
6986
  }, []);
7077
- var confirmData = useCallback(function (data) {
7078
- try {
7079
- var _temp9 = function _temp9() {
7080
- dispatch(setLoading(false));
7081
- };
7082
-
7083
- dispatch(setLoading(true));
6987
+ useEffect(function () {
6988
+ if (!!fullName) {
6989
+ getData(fullName);
6990
+ setFullName(null);
6991
+ } else {
6992
+ getData();
6993
+ }
6994
+ }, [filters]);
6995
+ var removeData = useCallback(function (id) {
6996
+ dispatch(setLoading(true));
7084
6997
 
7085
- var _temp10 = _catch(function () {
7086
- function _temp6() {
7087
- var next = !!id ? update$5 : create$5;
7088
- !id && delete data.id;
7089
- return Promise.resolve(next(data)).then(function (result) {
7090
- if (!!result) {
7091
- getById$3(result.data.id).then(function (e) {
7092
- backToList(e.data.fullName);
6998
+ try {
6999
+ dispatch(setModal({
7000
+ isOpen: true,
7001
+ type: "warning",
7002
+ message: "Do you want to remove this user?",
7003
+ onConfirm: function () {
7004
+ try {
7005
+ return Promise.resolve(remove$3(id)).then(function () {
7006
+ dispatch(setAlert({
7007
+ type: "success",
7008
+ message: "Remove user successfully"
7009
+ }));
7010
+ changeFilters({
7011
+ currentPage: 1
7093
7012
  });
7094
- }
7095
-
7096
- if (!id) {
7097
- alert("Password of " + result.data.email + " is " + ("\"" + result.data.password + "\""));
7098
- }
7099
-
7100
- dispatch(setAlert({
7101
- type: "success",
7102
- message: (!!id ? "Update" : "Create") + " user successfully"
7103
- }));
7104
- });
7105
- }
7106
-
7107
- var _temp5 = function () {
7108
- if (!!file) {
7109
- var formData = new FormData();
7110
- var name = file.name;
7111
- formData.append("file", file, name);
7112
- return Promise.resolve(systemProfileUpload(formData)).then(function (res) {
7113
- var _res$data3;
7114
-
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
7013
  });
7014
+ } catch (e) {
7015
+ return Promise.reject(e);
7118
7016
  }
7119
- }();
7017
+ }
7018
+ }));
7019
+ } catch (err) {
7020
+ var _err$response2, _err$response2$data;
7120
7021
 
7121
- return _temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5);
7122
- }, function (err) {
7123
- var _err$response2, _err$response2$data;
7124
-
7125
- dispatch(setAlert({
7126
- type: "danger",
7127
- 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
7128
- }));
7129
- });
7130
-
7131
- return Promise.resolve(_temp10 && _temp10.then ? _temp10.then(_temp9) : _temp9(_temp10));
7132
- } catch (e) {
7133
- return Promise.reject(e);
7022
+ dispatch(setAlert({
7023
+ type: "danger",
7024
+ 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
7025
+ }));
7134
7026
  }
7135
- }, [id, file]);
7136
-
7137
- var handleDisableRoles = function handleDisableRoles(currentRoles) {
7138
- return ["Student", "Parent", "EduTeacher"].includes(currentRoles);
7139
- };
7140
-
7141
- var confirmChangePassword = function confirmChangePassword(data) {
7142
- try {
7143
- var _temp13 = function _temp13() {
7144
- dispatch(setLoading(false));
7145
- };
7146
-
7147
- dispatch(setLoading(true));
7148
7027
 
7149
- var _temp14 = _catch(function () {
7150
- return Promise.resolve(changePassword(data)).then(function () {
7151
- dispatch(setAlert({
7152
- type: "success",
7153
- message: "Change password successfully"
7154
- }));
7155
- });
7156
- }, function (e) {
7157
- var _e$response, _e$response$data;
7028
+ dispatch(setLoading(false));
7029
+ }, [filters]);
7158
7030
 
7159
- dispatch(setAlert({
7160
- type: "danger",
7161
- 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
7162
- }));
7163
- });
7031
+ var redirectLoginUser = function redirectLoginUser(res) {
7032
+ var _res$data2 = res.data,
7033
+ token = _res$data2.token,
7034
+ id = _res$data2.id,
7035
+ firstName = _res$data2.firstName,
7036
+ lastName = _res$data2.lastName,
7037
+ roles = _res$data2.roles,
7038
+ email = _res$data2.email,
7039
+ profileImageFileName = _res$data2.profileImageFileName;
7040
+ localStorage.setItem(ACCESS_TOKEN, token);
7041
+ localStorage.removeItem(NOTIFICATION_ALERT_KEY);
7042
+ dispatch(setUser({
7043
+ id: id,
7044
+ firstName: firstName,
7045
+ lastName: lastName,
7046
+ roles: roles,
7047
+ email: email,
7048
+ profileImageFileName: profileImageFileName
7049
+ }));
7164
7050
 
7165
- return Promise.resolve(_temp14 && _temp14.then ? _temp14.then(_temp13) : _temp13(_temp14));
7166
- } catch (e) {
7167
- return Promise.reject(e);
7051
+ if (isDistrict) {
7052
+ history.push(HOMEPAGE_DISTRICT$1);
7053
+ } else if (roles.includes("Admin")) {
7054
+ history.push(HOMEPAGE_ADMIN$1);
7055
+ } else if (roles.includes("Teacher") || roles.includes("Assistant")) {
7056
+ history.push(HOMEPAGE_TEACHER$1);
7057
+ } else if (roles.includes("Student")) {
7058
+ history.push(HOMEPAGE_STUDENT$1);
7059
+ } else if (roles.includes("Parent")) {
7060
+ history.push(HOMEPAGE_PARENT$1);
7061
+ } else if (roles.includes("EduTeacher")) {
7062
+ history.push(HOMEPAGE_EDU_TEACHER$1);
7063
+ } else if (roles.includes("Counselor") || roles.includes("SecondaryTeacher")) {
7064
+ history.push(HOMEPAGE_TEACHER$1);
7168
7065
  }
7169
7066
  };
7170
7067
 
7171
- var forgotPasswordRequest = useCallback(function (data) {
7068
+ var swicthUser = useCallback(function (id) {
7172
7069
  try {
7173
- var _temp17 = function _temp17() {
7174
- dispatch(setLoading(false));
7175
- };
7070
+ var _temp6 = _catch(function () {
7071
+ return Promise.resolve(switchAccountUser(id)).then(function (res) {
7072
+ var data = res.data;
7073
+ dispatch(setModal({
7074
+ isOpen: true,
7075
+ type: "warning",
7076
+ message: "Do you want to impersonate this user?",
7077
+ onConfirm: function () {
7078
+ try {
7079
+ var _temp9 = function _temp9() {
7080
+ dispatch(setLoading(false));
7081
+ };
7176
7082
 
7177
- dispatch(setLoading(true));
7083
+ dispatch(setLoading(true));
7178
7084
 
7179
- var _temp18 = _catch(function () {
7180
- return Promise.resolve(forgotChangePassword(data)).then(function () {
7181
- dispatch(setAlert({
7182
- type: "success",
7183
- message: "Send forgot password link successfully"
7085
+ var _temp10 = _catch(function () {
7086
+ var req = {
7087
+ email: data.email,
7088
+ password: "default",
7089
+ accessToken: data.token
7090
+ };
7091
+ return Promise.resolve(logIn(req)).then(function (res) {
7092
+ localStorage.clear();
7093
+ redirectLoginUser(res);
7094
+ });
7095
+ }, function (err) {
7096
+ var _err$response3, _err$response3$data;
7097
+
7098
+ setAlert({
7099
+ type: "danger",
7100
+ 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
7101
+ });
7102
+ });
7103
+
7104
+ return Promise.resolve(_temp10 && _temp10.then ? _temp10.then(_temp9) : _temp9(_temp10));
7105
+ } catch (e) {
7106
+ return Promise.reject(e);
7107
+ }
7108
+ }
7184
7109
  }));
7185
7110
  });
7186
7111
  }, function (err) {
7187
- var _err$response3, _err$response3$data;
7112
+ var _err$response4, _err$response4$data;
7188
7113
 
7189
7114
  dispatch(setAlert({
7190
7115
  type: "danger",
7191
- 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"
7116
+ 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
7192
7117
  }));
7193
7118
  });
7194
7119
 
7195
- return Promise.resolve(_temp18 && _temp18.then ? _temp18.then(_temp17) : _temp17(_temp18));
7120
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
7196
7121
  } catch (e) {
7197
7122
  return Promise.reject(e);
7198
7123
  }
7199
- }, []);
7124
+ }, [filters]);
7125
+
7126
+ var reDirectDetailPage = function reDirectDetailPage(id) {
7127
+ var url = !!id ? USER_URL$2 + "/" + id : CREATE_USER_URL;
7128
+ history.push(url);
7129
+ };
7130
+
7200
7131
  return {
7201
- userDetail: userDetail,
7202
- backToList: backToList,
7203
- confirmData: confirmData,
7204
- file: file,
7205
- setFile: setFile,
7206
- edited: edited,
7207
- setEdited: setEdited,
7208
- setEditedTrue: setEditedTrue,
7209
- confirmChangePassword: confirmChangePassword,
7210
- forgotPasswordRequest: forgotPasswordRequest,
7211
- currentRoles: currentRoles,
7212
- handleDisableRoles: handleDisableRoles
7132
+ userList: userList,
7133
+ totalItems: totalItems,
7134
+ filters: filters,
7135
+ queryName: queryName,
7136
+ getData: getData,
7137
+ removeData: removeData,
7138
+ changeFilters: changeFilters,
7139
+ reDirectDetailPage: reDirectDetailPage,
7140
+ swicthUser: swicthUser
7213
7141
  };
7214
7142
  };
7215
7143
 
7216
- var userSchema = object({
7217
- firstName: string().required("First name is required"),
7218
- lastName: string().required("Last name is required"),
7219
- dateOfBirth: string().required("Date of birth is required"),
7220
- email: string().email("Email is invalid").required("Email is required"),
7221
- roles: array().of(string()).min(1, "Role is required")
7222
- });
7144
+ var SearchBox = function SearchBox(_ref) {
7145
+ var initValue = _ref.initValue,
7146
+ onSearch = _ref.onSearch,
7147
+ placeholder = _ref.placeholder,
7148
+ className = _ref.className,
7149
+ style = _ref.style;
7223
7150
 
7224
- var changePasswordSchema = object({
7225
- oldPassword: string().required("Current password is required"),
7226
- newPassword: string().required("New password is required"),
7227
- confirmedNewPassword: string().required("Confirm password is required")
7228
- });
7151
+ var _useState = useState(initValue),
7152
+ searchString = _useState[0],
7153
+ setSearchString = _useState[1];
7229
7154
 
7230
- var CREATE_USER = "create_user";
7231
- var EDIT_USER_HEADER = "edit_user";
7232
- var CHANGE_PASSWORD$1 = "change_password";
7155
+ useEffect(function () {
7156
+ setSearchString(initValue);
7157
+ }, [initValue]);
7158
+ var onKeyUp = useCallback(function (e) {
7159
+ e.key === "Enter" && onSearch(searchString);
7160
+ }, [searchString, onSearch]);
7161
+ return React.createElement(Input, {
7162
+ placeholder: placeholder,
7163
+ value: searchString,
7164
+ onChange: function onChange(e) {
7165
+ return setSearchString(e.target.value);
7166
+ },
7167
+ onKeyUp: onKeyUp,
7168
+ className: className,
7169
+ style: style
7170
+ });
7171
+ };
7233
7172
 
7234
- var UserDetail = function UserDetail() {
7235
- var _useParams = useParams(),
7236
- id = _useParams.id;
7173
+ SearchBox.defaultProps = {
7174
+ placeholder: "Type something to search",
7175
+ className: "",
7176
+ style: {}
7177
+ };
7178
+ var SearchBox$1 = memo(SearchBox);
7237
7179
 
7238
- var user = useSelector(function (state) {
7239
- return state.common.user;
7240
- });
7180
+ var searchInputStyle = {
7181
+ height: 38
7182
+ };
7241
7183
 
7242
- var _useTranslation = useTranslation(),
7243
- t = _useTranslation.t;
7184
+ var SearchBoxContainer = function SearchBoxContainer(_ref) {
7185
+ var text = _ref.text,
7186
+ initValue = _ref.initValue,
7187
+ onClick = _ref.onClick,
7188
+ onSearch = _ref.onSearch,
7189
+ placeholder = _ref.placeholder;
7190
+ return React.createElement("div", {
7191
+ className: "d-flex align-items-center"
7192
+ }, React.createElement("div", null, React.createElement(AddButton, {
7193
+ text: text,
7194
+ onClick: onClick
7195
+ })), React.createElement("div", {
7196
+ className: "flex-grow-1 ml-2"
7197
+ }, React.createElement(SearchBox$1, {
7198
+ initValue: initValue,
7199
+ onSearch: onSearch,
7200
+ placeholder: placeholder,
7201
+ style: searchInputStyle
7202
+ })));
7203
+ };
7244
7204
 
7245
- var _useUserDetail = useUserDetail(id),
7246
- userDetail = _useUserDetail.userDetail,
7247
- backToList = _useUserDetail.backToList,
7248
- confirmData = _useUserDetail.confirmData,
7249
- file = _useUserDetail.file,
7250
- setFile = _useUserDetail.setFile,
7251
- edited = _useUserDetail.edited,
7252
- setEdited = _useUserDetail.setEdited,
7253
- setEditedTrue = _useUserDetail.setEditedTrue,
7254
- confirmChangePassword = _useUserDetail.confirmChangePassword,
7255
- forgotPasswordRequest = _useUserDetail.forgotPasswordRequest,
7256
- currentRoles = _useUserDetail.currentRoles,
7257
- handleDisableRoles = _useUserDetail.handleDisableRoles;
7205
+ SearchBoxContainer.defaultProps = {
7206
+ placeholder: "Type something to search"
7207
+ };
7208
+
7209
+ var utcToLocalTime = (function (time, FORMAT) {
7210
+ if (time === DATE_MIN_VALUE) return "";
7211
+
7212
+ try {
7213
+ return moment.utc(time).local().format(FORMAT || "yyyy-MM-DD");
7214
+ } catch (_unused) {
7215
+ return "";
7216
+ }
7217
+ });
7218
+
7219
+ var header$2 = "User";
7220
+
7221
+ var UserList = function UserList() {
7222
+ var _useUserList = useUserList(),
7223
+ queryName = _useUserList.queryName,
7224
+ userList = _useUserList.userList,
7225
+ totalItems = _useUserList.totalItems,
7226
+ filters = _useUserList.filters,
7227
+ removeData = _useUserList.removeData,
7228
+ changeFilters = _useUserList.changeFilters,
7229
+ reDirectDetailPage = _useUserList.reDirectDetailPage,
7230
+ swicthUser = _useUserList.swicthUser;
7231
+
7232
+ var _useTranslation = useTranslation(),
7233
+ t = _useTranslation.t;
7234
+
7235
+ return React.createElement("div", {
7236
+ className: "fadeIn animated"
7237
+ }, React.createElement("h5", {
7238
+ className: "mb-2"
7239
+ }, t("" + header$2)), React.createElement(Row, {
7240
+ className: "my-2"
7241
+ }, React.createElement(Col, {
7242
+ md: 8
7243
+ }, React.createElement(SearchBoxContainer, {
7244
+ text: t("create_user"),
7245
+ onClick: function onClick() {
7246
+ return reDirectDetailPage();
7247
+ },
7248
+ initValue: !!queryName ? queryName : "",
7249
+ onSearch: function onSearch(searchString) {
7250
+ return changeFilters({
7251
+ searchString: searchString
7252
+ });
7253
+ },
7254
+ placeholder: t("type_something_to_search_by_user_name")
7255
+ })), React.createElement(Col, {
7256
+ md: 4,
7257
+ className: "d-flex justify-content-end align-items-center"
7258
+ }, t("total_of_users"), " : ", totalItems)), React.createElement(Row, {
7259
+ className: "mb-2"
7260
+ }, React.createElement(Col, {
7261
+ md: 12
7262
+ }, userList && userList.length > 0 ? React.createElement("div", null, React.createElement(Table, {
7263
+ bordered: true,
7264
+ hover: true,
7265
+ striped: true,
7266
+ responsive: true,
7267
+ size: "sm"
7268
+ }, React.createElement("thead", null, React.createElement("tr", null, React.createElement("th", {
7269
+ className: "align-top"
7270
+ }, t("name")), React.createElement("th", {
7271
+ className: "align-top"
7272
+ }, t("email")), React.createElement("th", {
7273
+ className: "align-top"
7274
+ }, t("age")), React.createElement("th", {
7275
+ className: "align-top"
7276
+ }, t("role")), React.createElement("th", {
7277
+ className: "align-top"
7278
+ }, t("active_status")), React.createElement("th", {
7279
+ className: "align-top"
7280
+ }, t("created_time")), React.createElement("th", {
7281
+ className: "text-center"
7282
+ }, t("action")))), React.createElement("tbody", null, userList.map(function (record) {
7283
+ return React.createElement("tr", {
7284
+ key: record.id
7285
+ }, React.createElement("td", {
7286
+ className: "align-middle"
7287
+ }, React.createElement(LinkEditButton, {
7288
+ label: "" + record.fullName,
7289
+ onClick: function onClick() {
7290
+ return reDirectDetailPage(record.id);
7291
+ }
7292
+ })), React.createElement("td", {
7293
+ className: "align-middle"
7294
+ }, record.email), React.createElement("td", {
7295
+ className: "align-middle"
7296
+ }, differenceInCalendarYears(new Date(), new Date(record.dateOfBirth))), React.createElement("td", {
7297
+ className: "align-middle"
7298
+ }, !!record.roles && record.roles.join(", ")), React.createElement("td", {
7299
+ className: "align-middle"
7300
+ }, record.isActive ? t("active") : t("inactive")), React.createElement("td", {
7301
+ className: "align-middle"
7302
+ }, utcToLocalTime(record === null || record === void 0 ? void 0 : record.createTime, "yyyy-MM-DD HH:mm")), React.createElement("td", {
7303
+ className: "text-center align-middle"
7304
+ }, React.createElement(FaUsersCog, {
7305
+ style: {
7306
+ fontSize: "18px",
7307
+ marginRight: "10px",
7308
+ cursor: "pointer"
7309
+ },
7310
+ onClick: function onClick() {
7311
+ return swicthUser(record.id);
7312
+ }
7313
+ }), React.createElement(DeleteButtonIcon, {
7314
+ onClick: function onClick() {
7315
+ return removeData(record.id);
7316
+ }
7317
+ })));
7318
+ })))) : React.createElement(EmptyDataAlert, {
7319
+ label: t("user")
7320
+ })), React.createElement(Col, {
7321
+ md: 12
7322
+ }, React.createElement(CustomPagination, {
7323
+ filters: filters,
7324
+ totalRecordCount: totalItems,
7325
+ changePageSize: function changePageSize(pageSize) {
7326
+ return changeFilters({
7327
+ pageSize: pageSize
7328
+ });
7329
+ },
7330
+ changePage: function changePage(currentPage) {
7331
+ return changeFilters({
7332
+ currentPage: currentPage
7333
+ });
7334
+ }
7335
+ }))));
7336
+ };
7337
+
7338
+ var MAX_FILE_SIZE = 20097152;
7339
+
7340
+ var UploadFileButton = function UploadFileButton(_ref) {
7341
+ var fileName = _ref.fileName,
7342
+ maxWidth = _ref.maxWidth,
7343
+ maxHeight = _ref.maxHeight,
7344
+ setFile = _ref.setFile,
7345
+ canDelete = _ref.canDelete,
7346
+ onDelete = _ref.onDelete,
7347
+ isCheckFeedBack = _ref.isCheckFeedBack,
7348
+ onAddImage = _ref.onAddImage;
7349
+ var dispatch = useDispatch();
7350
+
7351
+ var _useState = useState(""),
7352
+ imagePreviewUrl = _useState[0],
7353
+ setImagePreviewUrl = _useState[1];
7354
+
7355
+ var imageStyle = {
7356
+ maxWidth: maxWidth || "100%",
7357
+ maxHeight: maxHeight || "100%"
7358
+ };
7359
+ var imageSrc = imagePreviewUrl || getFileUrl(fileName);
7360
+
7361
+ var handleImageChange = function handleImageChange(e) {
7362
+ e.preventDefault();
7363
+ var reader = new FileReader();
7364
+ var newFile = e.target.files[0];
7365
+
7366
+ if (newFile.size > MAX_FILE_SIZE) {
7367
+ dispatch(setAlert({
7368
+ type: "danger",
7369
+ message: "File can't be larger than 2MB"
7370
+ }));
7371
+ return;
7372
+ }
7373
+
7374
+ reader.onloadend = function () {
7375
+ setFile(newFile);
7376
+ setImagePreviewUrl(reader.result);
7377
+ };
7378
+
7379
+ if (newFile) {
7380
+ reader.readAsDataURL(newFile);
7381
+ }
7382
+
7383
+ !!onAddImage && onAddImage();
7384
+ };
7385
+
7386
+ var imagePreviewContainer = imagePreviewUrl || fileName ? React.createElement("img", {
7387
+ style: imageStyle,
7388
+ src: imageSrc,
7389
+ alt: "image"
7390
+ }) : null;
7391
+ return React.createElement("div", {
7392
+ className: "mb-2"
7393
+ }, React.createElement(Form, {
7394
+ className: "mb-2"
7395
+ }, React.createElement(Input, {
7396
+ className: "d-none",
7397
+ type: "file",
7398
+ id: "uploadFile",
7399
+ onChange: handleImageChange,
7400
+ accept: "image/*"
7401
+ }), React.createElement("div", {
7402
+ className: "d-flex align-items-center"
7403
+ }, React.createElement(Label, {
7404
+ htmlFor: "uploadFile",
7405
+ role: "button",
7406
+ tabIndex: 0,
7407
+ className: styles["input-file-label"]
7408
+ }, isCheckFeedBack == true ? React.createElement(MdAttachFile, null) : React.createElement(React.Fragment, null, React.createElement("i", {
7409
+ className: "fa fa-paperclip mr-1",
7410
+ "aria-hidden": "true"
7411
+ }), imagePreviewUrl || fileName ? "Change file" : "Choose file")), canDelete && imagePreviewContainer && React.createElement(Button, {
7412
+ size: "sm",
7413
+ color: "danger",
7414
+ className: styles["delete-avatar-button"] + " ml-2 d-flex align-items-center justify-content-center",
7415
+ onClick: function onClick() {
7416
+ setImagePreviewUrl(null);
7417
+ onDelete && onDelete();
7418
+ }
7419
+ }, React.createElement(FaTrashAlt, null)))), imagePreviewContainer);
7420
+ };
7421
+
7422
+ var initValue$3 = {
7423
+ id: "",
7424
+ firstName: "",
7425
+ lastName: "",
7426
+ email: "",
7427
+ dateOfBirth: "",
7428
+ roles: [],
7429
+ isActive: true,
7430
+ profileImageFileName: ""
7431
+ };
7432
+ var USER_LIST_URL = "/admin/user";
7433
+ var TITLE$8 = "User detail";
7434
+
7435
+ var useUserDetail = function useUserDetail(id) {
7436
+ var dispatch = useDispatch();
7437
+ var history = useHistory();
7438
+
7439
+ var _useState = useState(initValue$3),
7440
+ userDetail = _useState[0],
7441
+ setUserDetail = _useState[1];
7442
+
7443
+ var _useState2 = useState(null),
7444
+ file = _useState2[0],
7445
+ setFile = _useState2[1];
7446
+
7447
+ var _useState3 = useState(false),
7448
+ edited = _useState3[0],
7449
+ setEdited = _useState3[1];
7450
+
7451
+ var setEditedTrue = function setEditedTrue() {
7452
+ try {
7453
+ localStorage.setItem(window.location.href, "true");
7454
+ setEdited(true);
7455
+ return Promise.resolve();
7456
+ } catch (e) {
7457
+ return Promise.reject(e);
7458
+ }
7459
+ };
7460
+
7461
+ var _useState4 = useState([]),
7462
+ currentRoles = _useState4[0],
7463
+ setCurrentRoles = _useState4[1];
7464
+
7465
+ useEffect(function () {
7466
+ document.title = TITLE$8;
7467
+ setEdited(false);
7468
+ if (!!localStorage.getItem(window.location.href)) localStorage.removeItem(window.location.href);
7469
+ }, []);
7470
+ useEffect(function () {
7471
+ !!id && getData();
7472
+ }, [id]);
7473
+ var getData = useCallback(function () {
7474
+ try {
7475
+ var _temp3 = function _temp3() {
7476
+ dispatch(setLoading(false));
7477
+ };
7478
+
7479
+ dispatch(setLoading(true));
7480
+
7481
+ var _temp4 = _catch(function () {
7482
+ return Promise.resolve(getById$3(id)).then(function (res) {
7483
+ var _res$data$roles, _res$data, _res$data2;
7484
+
7485
+ setUserDetail(_extends({}, res.data, {
7486
+ dateOfBirth: format(new Date(res.data.dateOfBirth), DATE_FORMAT),
7487
+ roles: res.data.roles.includes("EduTeacher") ? [ROLES.EDUTEACHER] : res.data.roles
7488
+ }));
7489
+ 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 : []);
7490
+ document.title = (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.fullName;
7491
+ });
7492
+ }, function (err) {
7493
+ var _err$response, _err$response$data;
7494
+
7495
+ dispatch(setAlert({
7496
+ type: "danger",
7497
+ 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
7498
+ }));
7499
+ });
7500
+
7501
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
7502
+ } catch (e) {
7503
+ return Promise.reject(e);
7504
+ }
7505
+ }, [id]);
7506
+ var backToList = useCallback(function (user) {
7507
+ !!user && typeof user === "string" ? history.push(USER_LIST_URL + ("?query=" + user)) : history.push(USER_LIST_URL);
7508
+ }, []);
7509
+ var confirmData = useCallback(function (data) {
7510
+ try {
7511
+ var _temp9 = function _temp9() {
7512
+ dispatch(setLoading(false));
7513
+ };
7514
+
7515
+ dispatch(setLoading(true));
7516
+
7517
+ var _temp10 = _catch(function () {
7518
+ function _temp6() {
7519
+ var next = !!id ? update$5 : create$5;
7520
+ !id && delete data.id;
7521
+ return Promise.resolve(next(data)).then(function (result) {
7522
+ if (!!result) {
7523
+ getById$3(result.data.id).then(function (e) {
7524
+ backToList(e.data.fullName);
7525
+ });
7526
+ }
7527
+
7528
+ if (!id) {
7529
+ alert("Password of " + result.data.email + " is " + ("\"" + result.data.password + "\""));
7530
+ }
7531
+
7532
+ dispatch(setAlert({
7533
+ type: "success",
7534
+ message: (!!id ? "Update" : "Create") + " user successfully"
7535
+ }));
7536
+ });
7537
+ }
7538
+
7539
+ var _temp5 = function () {
7540
+ if (!!file) {
7541
+ var formData = new FormData();
7542
+ var name = file.name;
7543
+ formData.append("file", file, name);
7544
+ return Promise.resolve(systemProfileUpload(formData)).then(function (res) {
7545
+ var _res$data3;
7546
+
7547
+ var imageUrl = res === null || res === void 0 ? void 0 : (_res$data3 = res.data) === null || _res$data3 === void 0 ? void 0 : _res$data3.key;
7548
+ data.profileImageFileName = imageUrl;
7549
+ });
7550
+ }
7551
+ }();
7552
+
7553
+ return _temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5);
7554
+ }, function (err) {
7555
+ var _err$response2, _err$response2$data;
7556
+
7557
+ dispatch(setAlert({
7558
+ type: "danger",
7559
+ 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
7560
+ }));
7561
+ });
7562
+
7563
+ return Promise.resolve(_temp10 && _temp10.then ? _temp10.then(_temp9) : _temp9(_temp10));
7564
+ } catch (e) {
7565
+ return Promise.reject(e);
7566
+ }
7567
+ }, [id, file]);
7568
+
7569
+ var handleDisableRoles = function handleDisableRoles(currentRoles) {
7570
+ return ["Student", "Parent", "EduTeacher"].includes(currentRoles);
7571
+ };
7572
+
7573
+ var confirmChangePassword = function confirmChangePassword(data) {
7574
+ try {
7575
+ var _temp13 = function _temp13() {
7576
+ dispatch(setLoading(false));
7577
+ };
7578
+
7579
+ dispatch(setLoading(true));
7580
+
7581
+ var _temp14 = _catch(function () {
7582
+ return Promise.resolve(changePassword(data)).then(function () {
7583
+ dispatch(setAlert({
7584
+ type: "success",
7585
+ message: "Change password successfully"
7586
+ }));
7587
+ });
7588
+ }, function (e) {
7589
+ var _e$response, _e$response$data;
7590
+
7591
+ dispatch(setAlert({
7592
+ type: "danger",
7593
+ 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
7594
+ }));
7595
+ });
7596
+
7597
+ return Promise.resolve(_temp14 && _temp14.then ? _temp14.then(_temp13) : _temp13(_temp14));
7598
+ } catch (e) {
7599
+ return Promise.reject(e);
7600
+ }
7601
+ };
7602
+
7603
+ var forgotPasswordRequest = useCallback(function (data) {
7604
+ try {
7605
+ var _temp17 = function _temp17() {
7606
+ dispatch(setLoading(false));
7607
+ };
7608
+
7609
+ dispatch(setLoading(true));
7610
+
7611
+ var _temp18 = _catch(function () {
7612
+ return Promise.resolve(forgotChangePassword(data)).then(function () {
7613
+ dispatch(setAlert({
7614
+ type: "success",
7615
+ message: "Send forgot password link successfully"
7616
+ }));
7617
+ });
7618
+ }, function (err) {
7619
+ var _err$response3, _err$response3$data;
7620
+
7621
+ dispatch(setAlert({
7622
+ type: "danger",
7623
+ 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"
7624
+ }));
7625
+ });
7626
+
7627
+ return Promise.resolve(_temp18 && _temp18.then ? _temp18.then(_temp17) : _temp17(_temp18));
7628
+ } catch (e) {
7629
+ return Promise.reject(e);
7630
+ }
7631
+ }, []);
7632
+ return {
7633
+ userDetail: userDetail,
7634
+ backToList: backToList,
7635
+ confirmData: confirmData,
7636
+ file: file,
7637
+ setFile: setFile,
7638
+ edited: edited,
7639
+ setEdited: setEdited,
7640
+ setEditedTrue: setEditedTrue,
7641
+ confirmChangePassword: confirmChangePassword,
7642
+ forgotPasswordRequest: forgotPasswordRequest,
7643
+ currentRoles: currentRoles,
7644
+ handleDisableRoles: handleDisableRoles
7645
+ };
7646
+ };
7647
+
7648
+ var userSchema = object({
7649
+ firstName: string().required("First name is required"),
7650
+ lastName: string().required("Last name is required"),
7651
+ dateOfBirth: string().required("Date of birth is required"),
7652
+ email: string().email("Email is invalid").required("Email is required"),
7653
+ roles: array().of(string()).min(1, "Role is required")
7654
+ });
7655
+
7656
+ var changePasswordSchema = object({
7657
+ oldPassword: string().required("Current password is required"),
7658
+ newPassword: string().required("New password is required"),
7659
+ confirmedNewPassword: string().required("Confirm password is required")
7660
+ });
7661
+
7662
+ var CREATE_USER = "create_user";
7663
+ var EDIT_USER_HEADER = "edit_user";
7664
+ var CHANGE_PASSWORD$1 = "change_password";
7665
+
7666
+ var UserDetail = function UserDetail() {
7667
+ var _useParams = useParams(),
7668
+ id = _useParams.id;
7669
+
7670
+ var user = useSelector(function (state) {
7671
+ return state.common.user;
7672
+ });
7673
+
7674
+ var _useTranslation = useTranslation(),
7675
+ t = _useTranslation.t;
7676
+
7677
+ var _useUserDetail = useUserDetail(id),
7678
+ userDetail = _useUserDetail.userDetail,
7679
+ backToList = _useUserDetail.backToList,
7680
+ confirmData = _useUserDetail.confirmData,
7681
+ file = _useUserDetail.file,
7682
+ setFile = _useUserDetail.setFile,
7683
+ edited = _useUserDetail.edited,
7684
+ setEdited = _useUserDetail.setEdited,
7685
+ setEditedTrue = _useUserDetail.setEditedTrue,
7686
+ confirmChangePassword = _useUserDetail.confirmChangePassword,
7687
+ forgotPasswordRequest = _useUserDetail.forgotPasswordRequest,
7688
+ currentRoles = _useUserDetail.currentRoles,
7689
+ handleDisableRoles = _useUserDetail.handleDisableRoles;
7258
7690
 
7259
7691
  var initialValueForm = {
7260
7692
  oldPassword: "",
@@ -7672,16 +8104,6 @@ var CommonHeader = function CommonHeader(_ref) {
7672
8104
  }, header))));
7673
8105
  };
7674
8106
 
7675
- var utcToLocalTime = (function (time, FORMAT) {
7676
- if (time === DATE_MIN_VALUE) return "";
7677
-
7678
- try {
7679
- return moment.utc(time).local().format(FORMAT || "yyyy-MM-DD");
7680
- } catch (_unused) {
7681
- return "";
7682
- }
7683
- });
7684
-
7685
8107
  var NotificationLogoutModal = function NotificationLogoutModal() {
7686
8108
  var _useState = useState(false),
7687
8109
  isOpen = _useState[0],
@@ -7778,42 +8200,6 @@ var CreatableSelector = function CreatableSelector(props) {
7778
8200
  });
7779
8201
  };
7780
8202
 
7781
- var SearchBox = function SearchBox(_ref) {
7782
- var initValue = _ref.initValue,
7783
- onSearch = _ref.onSearch,
7784
- placeholder = _ref.placeholder,
7785
- className = _ref.className,
7786
- style = _ref.style;
7787
-
7788
- var _useState = useState(initValue),
7789
- searchString = _useState[0],
7790
- setSearchString = _useState[1];
7791
-
7792
- useEffect(function () {
7793
- setSearchString(initValue);
7794
- }, [initValue]);
7795
- var onKeyUp = useCallback(function (e) {
7796
- e.key === "Enter" && onSearch(searchString);
7797
- }, [searchString, onSearch]);
7798
- return React.createElement(Input, {
7799
- placeholder: placeholder,
7800
- value: searchString,
7801
- onChange: function onChange(e) {
7802
- return setSearchString(e.target.value);
7803
- },
7804
- onKeyUp: onKeyUp,
7805
- className: className,
7806
- style: style
7807
- });
7808
- };
7809
-
7810
- SearchBox.defaultProps = {
7811
- placeholder: "Type something to search",
7812
- className: "",
7813
- style: {}
7814
- };
7815
- var SearchBox$1 = memo(SearchBox);
7816
-
7817
8203
  var QuestionTypeSelector = function QuestionTypeSelector(props) {
7818
8204
  var id = props.id;
7819
8205
  var initValue = !!id ? QUESTION_TYPES_OPTIONS.find(function (option) {
@@ -8175,7 +8561,7 @@ var defaultFilters = {
8175
8561
  searchString: "",
8176
8562
  isRead: false
8177
8563
  };
8178
- var TITLE$8 = "Notification list";
8564
+ var TITLE$9 = "Notification list";
8179
8565
  var NOTIFICATION_CHANNEL$1 = "NOTIFICATION_CHANNEL";
8180
8566
  var NEW_NOTIFICATION$1 = "NEW_NOTIFICATION";
8181
8567
 
@@ -8305,7 +8691,7 @@ var useNotificationList = function useNotificationList() {
8305
8691
  }
8306
8692
  }, [filters]);
8307
8693
  useEffect(function () {
8308
- document.title = TITLE$8;
8694
+ document.title = TITLE$9;
8309
8695
  }, []);
8310
8696
  useEffect(function () {
8311
8697
  getData();
@@ -8390,7 +8776,7 @@ var useNotificationList = function useNotificationList() {
8390
8776
  };
8391
8777
  };
8392
8778
 
8393
- var header$2 = "Notification list";
8779
+ var header$3 = "Notification list";
8394
8780
  var ICON_SIZE = 20;
8395
8781
 
8396
8782
  var NotificationList = function NotificationList() {
@@ -8411,7 +8797,7 @@ var NotificationList = function NotificationList() {
8411
8797
  }
8412
8798
  }, React.createElement("h5", {
8413
8799
  className: "mb-2"
8414
- }, header$2), React.createElement(Row, {
8800
+ }, header$3), React.createElement(Row, {
8415
8801
  className: "my-2"
8416
8802
  }, React.createElement(Col, {
8417
8803
  md: 8
@@ -8501,43 +8887,14 @@ var NotificationList = function NotificationList() {
8501
8887
  changePageSize: function changePageSize(pageSize) {
8502
8888
  return changeFilters({
8503
8889
  pageSize: pageSize
8504
- });
8505
- },
8506
- changePage: function changePage(currentPage) {
8507
- return changeFilters({
8508
- currentPage: currentPage
8509
- });
8510
- }
8511
- }))));
8512
- };
8513
-
8514
- var searchInputStyle = {
8515
- height: 38
8516
- };
8517
-
8518
- var SearchBoxContainer = function SearchBoxContainer(_ref) {
8519
- var text = _ref.text,
8520
- initValue = _ref.initValue,
8521
- onClick = _ref.onClick,
8522
- onSearch = _ref.onSearch,
8523
- placeholder = _ref.placeholder;
8524
- return React.createElement("div", {
8525
- className: "d-flex align-items-center"
8526
- }, React.createElement("div", null, React.createElement(AddButton, {
8527
- text: text,
8528
- onClick: onClick
8529
- })), React.createElement("div", {
8530
- className: "flex-grow-1 ml-2"
8531
- }, React.createElement(SearchBox$1, {
8532
- initValue: initValue,
8533
- onSearch: onSearch,
8534
- placeholder: placeholder,
8535
- style: searchInputStyle
8536
- })));
8537
- };
8538
-
8539
- SearchBoxContainer.defaultProps = {
8540
- placeholder: "Type something to search"
8890
+ });
8891
+ },
8892
+ changePage: function changePage(currentPage) {
8893
+ return changeFilters({
8894
+ currentPage: currentPage
8895
+ });
8896
+ }
8897
+ }))));
8541
8898
  };
8542
8899
 
8543
8900
  var CustomTabs = function CustomTabs(props) {
@@ -8944,7 +9301,7 @@ var get$8 = function get(filter) {
8944
9301
  });
8945
9302
  };
8946
9303
 
8947
- var TITLE$9 = "Gallery";
9304
+ var TITLE$a = "Gallery";
8948
9305
  var defaultFilter = {
8949
9306
  searchString: ""
8950
9307
  };
@@ -9181,7 +9538,7 @@ var useGalleryList = function useGalleryList(isLibrary) {
9181
9538
  }
9182
9539
  }, [dispatch, filters]);
9183
9540
  useEffect(function () {
9184
- document.title = TITLE$9;
9541
+ document.title = TITLE$a;
9185
9542
  dispatch(setTargetMedia({
9186
9543
  targetMedia: undefined
9187
9544
  }));
@@ -9373,7 +9730,7 @@ var MediaDetail = function MediaDetail(_ref) {
9373
9730
 
9374
9731
  var MediaDetail$1 = React.memo(MediaDetail);
9375
9732
 
9376
- var header$3 = "Gallery";
9733
+ var header$4 = "Gallery";
9377
9734
 
9378
9735
  var GalleryList = function GalleryList(_ref) {
9379
9736
  var isLibrary = _ref.isLibrary;
@@ -9384,7 +9741,7 @@ var GalleryList = function GalleryList(_ref) {
9384
9741
  className: "fadeIn animated"
9385
9742
  }, !isLibrary && React.createElement("h5", {
9386
9743
  className: "mb-2"
9387
- }, header$3), React.createElement(Row, {
9744
+ }, header$4), React.createElement(Row, {
9388
9745
  className: "mb-2"
9389
9746
  }, React.createElement(Col, {
9390
9747
  md: 8
@@ -9974,9 +10331,6 @@ var commonReducer$8 = createReducer(initialState$e, function (builder) {
9974
10331
  });
9975
10332
  });
9976
10333
 
9977
- var setUserList = createAction("users/setUserList");
9978
- var setStudentList = createAction("users/setStudentList");
9979
-
9980
10334
  var initialState$f = {
9981
10335
  userList: [],
9982
10336
  totalItems: 0,
@@ -10450,591 +10804,239 @@ var sessionPlayerReducer = createReducer(initialState$u, function (builder) {
10450
10804
  questionId: questionId,
10451
10805
  text: text
10452
10806
  });
10453
- } else {
10454
- existedResponse.text = text;
10455
- }
10456
-
10457
- return _extends({}, state, {
10458
- results: state.results.map(function (result) {
10459
- return result.isTeacherResult === isTeacherResult ? resultCloner : result;
10460
- })
10461
- });
10462
- }).addCase(setStartTime, function (state, action) {
10463
- var startTime = action.payload;
10464
- if (!startTime) return state;
10465
- state.startTime = startTime;
10466
- }).addCase(reset, function (_state, _action) {
10467
- return initialState$u;
10468
- });
10469
- });
10470
-
10471
- var setDataPlayer = createAction("dataPlayer/setDataPlayer");
10472
- var answerQuestionDataPlayer = createAction("dataPlayer/answerQuestionDataPlayer");
10473
-
10474
- var initialState$v = {
10475
- id: 0,
10476
- questions: [{
10477
- id: 0,
10478
- text: "",
10479
- type: "",
10480
- subQuestions: [],
10481
- answers: []
10482
- }],
10483
- questionResponse: []
10484
- };
10485
- var dataPlayer = createReducer(initialState$v, function (builder) {
10486
- builder.addCase(setDataPlayer, function (_state, action) {
10487
- return action.payload;
10488
- }).addCase(answerQuestionDataPlayer, function (state, action) {
10489
- var _action$payload = action.payload,
10490
- questionId = _action$payload.questionId,
10491
- text = _action$payload.text;
10492
- var questionResponse = state.questionResponse;
10493
- if (!questionResponse) return state;
10494
- var questionResponseCloner = JSON.parse(JSON.stringify(questionResponse));
10495
- var existedResponse = questionResponseCloner.find(function (response) {
10496
- return response.questionId === questionId;
10497
- });
10498
-
10499
- if (!existedResponse) {
10500
- questionResponseCloner.push({
10501
- questionId: questionId,
10502
- text: text
10503
- });
10504
- } else {
10505
- existedResponse.text = text;
10506
- }
10507
-
10508
- return _extends({}, state, {
10509
- questionResponse: questionResponseCloner
10510
- });
10511
- }).addCase(reset, function (_state, _action) {
10512
- return initialState$v;
10513
- });
10514
- });
10515
-
10516
- var setCertificateList = createAction("certificates/setCertificateList");
10517
-
10518
- var initialState$w = {
10519
- certificateList: [],
10520
- totalItems: 0
10521
- };
10522
- var commonReducer$f = createReducer(initialState$w, function (builder) {
10523
- builder.addCase(setCertificateList, function (state, action) {
10524
- state.certificateList = action.payload.certificateList;
10525
- state.totalItems = action.payload.totalItems;
10526
- }).addCase(reset, function (_state, _action) {
10527
- return initialState$w;
10528
- });
10529
- });
10530
-
10531
- var setImproveMyClass = createAction("improveMyClass/setImproveMyClass");
10532
-
10533
- var initialState$x = {
10534
- improveMyClassList: []
10535
- };
10536
- var commonReducer$g = createReducer(initialState$x, function (builder) {
10537
- builder.addCase(setImproveMyClass, function (state, action) {
10538
- state.improveMyClassList = action.payload;
10539
- }).addCase(reset, function (_state, _action) {
10540
- return initialState$x;
10541
- });
10542
- });
10543
-
10544
- var setFilterWidget = createAction("setFilterWidget");
10545
-
10546
- var initialState$y = {
10547
- filterWidget: "Year"
10548
- };
10549
- var widgetReducer = createReducer(initialState$y, function (builder) {
10550
- builder.addCase(setFilterWidget, function (state, action) {
10551
- state.filterWidget = action.payload.filterWidget;
10552
- }).addCase(reset, function (_state, _action) {
10553
- return initialState$y;
10554
- });
10555
- });
10556
-
10557
- var setBandScoreList = createAction("bandScores/setBandScoreList");
10558
-
10559
- var initialState$z = {
10560
- bandScoreList: [],
10561
- totalItems: 0
10562
- };
10563
- var commonReducer$h = createReducer(initialState$z, function (builder) {
10564
- builder.addCase(setBandScoreList, function (state, action) {
10565
- state.bandScoreList = action.payload.bandScoreList;
10566
- state.totalItems = action.payload.totalItems;
10567
- }).addCase(reset, function (_state, _action) {
10568
- return initialState$z;
10569
- });
10570
- });
10571
-
10572
- var setSchoolBlankDayList = createAction("schoolBlankDays/setSchoolBlankDayList");
10573
-
10574
- var initialState$A = {
10575
- schoolBlankDayList: [],
10576
- totalItems: 0
10577
- };
10578
- var commonReducer$i = createReducer(initialState$A, function (builder) {
10579
- builder.addCase(setSchoolBlankDayList, function (state, action) {
10580
- state.schoolBlankDayList = action.payload.schoolBlankDayList;
10581
- state.totalItems = action.payload.totalItems;
10582
- }).addCase(reset, function (_state, _action) {
10583
- return initialState$A;
10584
- });
10585
- });
10586
-
10587
- var setStudentIdSelectedByTeacher = createAction("navMobile/setStudentIdSelectedByTeacher");
10588
-
10589
- var initialState$B = {
10590
- studentIdSelectedByTeacher: 0
10591
- };
10592
- var navMobileReducer = createReducer(initialState$B, function (builder) {
10593
- builder.addCase(setStudentIdSelectedByTeacher, function (state, action) {
10594
- state.studentIdSelectedByTeacher = action.payload;
10595
- }).addCase(reset, function (_state, _action) {
10596
- return initialState$B;
10597
- });
10598
- });
10599
-
10600
- var rootReducer = combineReducers({
10601
- common: commonReducer,
10602
- classes: classReducer,
10603
- conferenceRubrics: conferenceRubricReducer,
10604
- faqs: commonReducer$1,
10605
- skills: commonReducer$2,
10606
- emailTemplate: emailTemplateReducer,
10607
- suggestionBank: suggestionBankReducer,
10608
- learningStrategy: learningStrategyReducer,
10609
- subjects: commonReducer$3,
10610
- learningSupportCategories: commonReducer$4,
10611
- questionBank: questionBankReducer,
10612
- badges: commonReducer$5,
10613
- semester: commonReducer$6,
10614
- goalExamples: commonReducer$8,
10615
- users: commonReducer$9,
10616
- reflections: reflectionReducer,
10617
- reflectionResults: reflectionReducer$1,
10618
- feedbacks: commonReducer$a,
10619
- assessments: commonReducer$b,
10620
- questionByCategory: questionCategoryReducer,
10621
- mailCategory: questionBankReducer$1,
10622
- questionCate: questionCateReducer,
10623
- notification: questionBankReducer$2,
10624
- myStudent: commonReducer$c,
10625
- assignments: commonReducer$7,
10626
- assistants: assistantReducer,
10627
- sesstionTemplates: sessionTemplateReducer,
10628
- sessionTemplateGeneralClasses: sessionTemplateGeneralClassReducer,
10629
- tutorialScreens: tutorialScreenReducer,
10630
- customAlerts: commonReducer$d,
10631
- gallery: commonReducer$e,
10632
- dashboard: dashboardReducer,
10633
- sessionPlayer: sessionPlayerReducer,
10634
- dataPlayer: dataPlayer,
10635
- certificate: commonReducer$f,
10636
- improveMyClass: commonReducer$g,
10637
- widget: widgetReducer,
10638
- bandScores: commonReducer$h,
10639
- schoolBlankDays: commonReducer$i,
10640
- navMobileReducer: navMobileReducer
10641
- });
10642
-
10643
- var store = configureStore({
10644
- reducer: rootReducer,
10645
- middleware: function middleware(getDefaultMiddleware) {
10646
- return getDefaultMiddleware({
10647
- serializableCheck: false
10648
- }).concat(logger);
10649
- }
10650
- });
10651
-
10652
- var isInViewport = function isInViewport(el) {
10653
- var rect = el === null || el === void 0 ? void 0 : el.getBoundingClientRect();
10654
- return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth);
10655
- };
10656
-
10657
- var debounce = function debounce(callback, wait) {
10658
- var timeout = null;
10659
- return function () {
10660
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
10661
- args[_key] = arguments[_key];
10662
- }
10663
-
10664
- var next = function next() {
10665
- return callback.apply(void 0, args);
10666
- };
10667
-
10668
- clearTimeout(timeout);
10669
- timeout = setTimeout(next, wait);
10670
- };
10671
- };
10672
-
10673
- var getTextFromHTML = function getTextFromHTML(htmlString) {
10674
- var p = document.createElement("p");
10675
- p.innerHTML = htmlString;
10676
- var text = p.innerText;
10677
- p.remove();
10678
- return text;
10679
- };
10680
-
10681
- var generateRandomString = (function () {
10682
- return (Math.random() + 1).toString(36).substring(7);
10683
- });
10684
-
10685
- var amplitudeClient = amplitude.getInstance();
10686
-
10687
- var USER_URL$2 = "/admin/user";
10688
- var CREATE_USER_URL = "/admin/create-user";
10689
- var TITLE$a = "User list";
10690
- var HOMEPAGE_TEACHER$1 = "/home";
10691
- var HOMEPAGE_STUDENT$1 = "/home";
10692
- var HOMEPAGE_ADMIN$1 = "/admin/dashboard";
10693
- var HOMEPAGE_PARENT$1 = "/parent";
10694
- var HOMEPAGE_DISTRICT$1 = "/admin/schools";
10695
- var HOMEPAGE_EDU_TEACHER$1 = "/list-student";
10807
+ } else {
10808
+ existedResponse.text = text;
10809
+ }
10696
10810
 
10697
- var useUserList = function useUserList() {
10698
- var history = useHistory();
10699
- var query = new URLSearchParams(location.search);
10700
- var queryName = query.get("query");
10701
- var userList = useSelector(function (state) {
10702
- return state.users.userList;
10703
- });
10704
- var totalItems = useSelector(function (state) {
10705
- return state.users.totalItems;
10811
+ return _extends({}, state, {
10812
+ results: state.results.map(function (result) {
10813
+ return result.isTeacherResult === isTeacherResult ? resultCloner : result;
10814
+ })
10815
+ });
10816
+ }).addCase(setStartTime, function (state, action) {
10817
+ var startTime = action.payload;
10818
+ if (!startTime) return state;
10819
+ state.startTime = startTime;
10820
+ }).addCase(reset, function (_state, _action) {
10821
+ return initialState$u;
10706
10822
  });
10823
+ });
10707
10824
 
10708
- var _useFilters = useFilters(),
10709
- filters = _useFilters.filters,
10710
- changeFilters = _useFilters.changeFilters;
10711
-
10712
- var _useState = useState(!!queryName ? queryName : ""),
10713
- fullName = _useState[0],
10714
- setFullName = _useState[1];
10825
+ var setDataPlayer = createAction("dataPlayer/setDataPlayer");
10826
+ var answerQuestionDataPlayer = createAction("dataPlayer/answerQuestionDataPlayer");
10715
10827
 
10716
- var isDistrict = window.location.host.includes("-district");
10717
- var dispatch = useDispatch();
10718
- var getData = useCallback(function (fullName) {
10719
- try {
10720
- var _temp3 = function _temp3() {
10721
- dispatch(setLoading(false));
10722
- };
10828
+ var initialState$v = {
10829
+ id: 0,
10830
+ questions: [{
10831
+ id: 0,
10832
+ text: "",
10833
+ type: "",
10834
+ subQuestions: [],
10835
+ answers: []
10836
+ }],
10837
+ questionResponse: []
10838
+ };
10839
+ var dataPlayer = createReducer(initialState$v, function (builder) {
10840
+ builder.addCase(setDataPlayer, function (_state, action) {
10841
+ return action.payload;
10842
+ }).addCase(answerQuestionDataPlayer, function (state, action) {
10843
+ var _action$payload = action.payload,
10844
+ questionId = _action$payload.questionId,
10845
+ text = _action$payload.text;
10846
+ var questionResponse = state.questionResponse;
10847
+ if (!questionResponse) return state;
10848
+ var questionResponseCloner = JSON.parse(JSON.stringify(questionResponse));
10849
+ var existedResponse = questionResponseCloner.find(function (response) {
10850
+ return response.questionId === questionId;
10851
+ });
10723
10852
 
10724
- dispatch(setLoading(true));
10853
+ if (!existedResponse) {
10854
+ questionResponseCloner.push({
10855
+ questionId: questionId,
10856
+ text: text
10857
+ });
10858
+ } else {
10859
+ existedResponse.text = text;
10860
+ }
10725
10861
 
10726
- var _temp4 = _catch(function () {
10727
- return Promise.resolve(fullName ? get$5(_extends({}, filters, {
10728
- searchString: fullName
10729
- })) : get$5(filters)).then(function (res) {
10730
- var _res$data = res.data,
10731
- items = _res$data.items,
10732
- totalItems = _res$data.totalItems;
10862
+ return _extends({}, state, {
10863
+ questionResponse: questionResponseCloner
10864
+ });
10865
+ }).addCase(reset, function (_state, _action) {
10866
+ return initialState$v;
10867
+ });
10868
+ });
10733
10869
 
10734
- for (var _iterator = _createForOfIteratorHelperLoose(items), _step; !(_step = _iterator()).done;) {
10735
- var user = _step.value;
10736
- user.roles = user.roles.includes("EduTeacher") ? [ROLES.EDUTEACHER] : user.roles;
10737
- }
10870
+ var setCertificateList = createAction("certificates/setCertificateList");
10738
10871
 
10739
- dispatch(setUserList({
10740
- userList: items,
10741
- totalItems: totalItems
10742
- }));
10743
- });
10744
- }, function (err) {
10745
- var _err$response, _err$response$data;
10872
+ var initialState$w = {
10873
+ certificateList: [],
10874
+ totalItems: 0
10875
+ };
10876
+ var commonReducer$f = createReducer(initialState$w, function (builder) {
10877
+ builder.addCase(setCertificateList, function (state, action) {
10878
+ state.certificateList = action.payload.certificateList;
10879
+ state.totalItems = action.payload.totalItems;
10880
+ }).addCase(reset, function (_state, _action) {
10881
+ return initialState$w;
10882
+ });
10883
+ });
10746
10884
 
10747
- dispatch(setAlert({
10748
- type: "danger",
10749
- 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
10750
- }));
10751
- });
10885
+ var setImproveMyClass = createAction("improveMyClass/setImproveMyClass");
10752
10886
 
10753
- return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
10754
- } catch (e) {
10755
- return Promise.reject(e);
10756
- }
10757
- }, [dispatch, filters]);
10758
- useEffect(function () {
10759
- document.title = TITLE$a;
10760
- }, []);
10761
- useEffect(function () {
10762
- if (!!fullName) {
10763
- getData(fullName);
10764
- setFullName(null);
10765
- } else {
10766
- getData();
10767
- }
10768
- }, [filters]);
10769
- var removeData = useCallback(function (id) {
10770
- dispatch(setLoading(true));
10887
+ var initialState$x = {
10888
+ improveMyClassList: []
10889
+ };
10890
+ var commonReducer$g = createReducer(initialState$x, function (builder) {
10891
+ builder.addCase(setImproveMyClass, function (state, action) {
10892
+ state.improveMyClassList = action.payload;
10893
+ }).addCase(reset, function (_state, _action) {
10894
+ return initialState$x;
10895
+ });
10896
+ });
10771
10897
 
10772
- try {
10773
- dispatch(setModal({
10774
- isOpen: true,
10775
- type: "warning",
10776
- message: "Do you want to remove this user?",
10777
- onConfirm: function () {
10778
- try {
10779
- return Promise.resolve(remove$3(id)).then(function () {
10780
- dispatch(setAlert({
10781
- type: "success",
10782
- message: "Remove user successfully"
10783
- }));
10784
- changeFilters({
10785
- currentPage: 1
10786
- });
10787
- });
10788
- } catch (e) {
10789
- return Promise.reject(e);
10790
- }
10791
- }
10792
- }));
10793
- } catch (err) {
10794
- var _err$response2, _err$response2$data;
10898
+ var setFilterWidget = createAction("setFilterWidget");
10795
10899
 
10796
- dispatch(setAlert({
10797
- type: "danger",
10798
- 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
10799
- }));
10800
- }
10900
+ var initialState$y = {
10901
+ filterWidget: "Year"
10902
+ };
10903
+ var widgetReducer = createReducer(initialState$y, function (builder) {
10904
+ builder.addCase(setFilterWidget, function (state, action) {
10905
+ state.filterWidget = action.payload.filterWidget;
10906
+ }).addCase(reset, function (_state, _action) {
10907
+ return initialState$y;
10908
+ });
10909
+ });
10801
10910
 
10802
- dispatch(setLoading(false));
10803
- }, [filters]);
10911
+ var setBandScoreList = createAction("bandScores/setBandScoreList");
10804
10912
 
10805
- var redirectLoginUser = function redirectLoginUser(res) {
10806
- var _res$data2 = res.data,
10807
- token = _res$data2.token,
10808
- id = _res$data2.id,
10809
- firstName = _res$data2.firstName,
10810
- lastName = _res$data2.lastName,
10811
- roles = _res$data2.roles,
10812
- email = _res$data2.email,
10813
- profileImageFileName = _res$data2.profileImageFileName;
10814
- localStorage.setItem(ACCESS_TOKEN, token);
10815
- localStorage.removeItem(NOTIFICATION_ALERT_KEY);
10816
- dispatch(setUser({
10817
- id: id,
10818
- firstName: firstName,
10819
- lastName: lastName,
10820
- roles: roles,
10821
- email: email,
10822
- profileImageFileName: profileImageFileName
10823
- }));
10913
+ var initialState$z = {
10914
+ bandScoreList: [],
10915
+ totalItems: 0
10916
+ };
10917
+ var commonReducer$h = createReducer(initialState$z, function (builder) {
10918
+ builder.addCase(setBandScoreList, function (state, action) {
10919
+ state.bandScoreList = action.payload.bandScoreList;
10920
+ state.totalItems = action.payload.totalItems;
10921
+ }).addCase(reset, function (_state, _action) {
10922
+ return initialState$z;
10923
+ });
10924
+ });
10824
10925
 
10825
- if (isDistrict) {
10826
- history.push(HOMEPAGE_DISTRICT$1);
10827
- } else if (roles.includes("Admin")) {
10828
- history.push(HOMEPAGE_ADMIN$1);
10829
- } else if (roles.includes("Teacher") || roles.includes("Assistant")) {
10830
- history.push(HOMEPAGE_TEACHER$1);
10831
- } else if (roles.includes("Student")) {
10832
- history.push(HOMEPAGE_STUDENT$1);
10833
- } else if (roles.includes("Parent")) {
10834
- history.push(HOMEPAGE_PARENT$1);
10835
- } else if (roles.includes("EduTeacher")) {
10836
- history.push(HOMEPAGE_EDU_TEACHER$1);
10837
- } else if (roles.includes("Counselor") || roles.includes("SecondaryTeacher")) {
10838
- history.push(HOMEPAGE_TEACHER$1);
10839
- }
10840
- };
10926
+ var setSchoolBlankDayList = createAction("schoolBlankDays/setSchoolBlankDayList");
10841
10927
 
10842
- var swicthUser = useCallback(function (id) {
10843
- try {
10844
- var _temp6 = _catch(function () {
10845
- return Promise.resolve(switchAccountUser(id)).then(function (res) {
10846
- var data = res.data;
10847
- dispatch(setModal({
10848
- isOpen: true,
10849
- type: "warning",
10850
- message: "Do you want to impersonate this user?",
10851
- onConfirm: function () {
10852
- try {
10853
- var _temp9 = function _temp9() {
10854
- dispatch(setLoading(false));
10855
- };
10928
+ var initialState$A = {
10929
+ schoolBlankDayList: [],
10930
+ totalItems: 0
10931
+ };
10932
+ var commonReducer$i = createReducer(initialState$A, function (builder) {
10933
+ builder.addCase(setSchoolBlankDayList, function (state, action) {
10934
+ state.schoolBlankDayList = action.payload.schoolBlankDayList;
10935
+ state.totalItems = action.payload.totalItems;
10936
+ }).addCase(reset, function (_state, _action) {
10937
+ return initialState$A;
10938
+ });
10939
+ });
10856
10940
 
10857
- dispatch(setLoading(true));
10941
+ var setStudentIdSelectedByTeacher = createAction("navMobile/setStudentIdSelectedByTeacher");
10858
10942
 
10859
- var _temp10 = _catch(function () {
10860
- var req = {
10861
- email: data.email,
10862
- password: "default",
10863
- accessToken: data.token
10864
- };
10865
- return Promise.resolve(logIn(req)).then(function (res) {
10866
- localStorage.clear();
10867
- redirectLoginUser(res);
10868
- });
10869
- }, function (err) {
10870
- var _err$response3, _err$response3$data;
10943
+ var initialState$B = {
10944
+ studentIdSelectedByTeacher: 0
10945
+ };
10946
+ var navMobileReducer = createReducer(initialState$B, function (builder) {
10947
+ builder.addCase(setStudentIdSelectedByTeacher, function (state, action) {
10948
+ state.studentIdSelectedByTeacher = action.payload;
10949
+ }).addCase(reset, function (_state, _action) {
10950
+ return initialState$B;
10951
+ });
10952
+ });
10871
10953
 
10872
- setAlert({
10873
- type: "danger",
10874
- 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
10875
- });
10876
- });
10954
+ var rootReducer = combineReducers({
10955
+ common: commonReducer,
10956
+ classes: classReducer,
10957
+ conferenceRubrics: conferenceRubricReducer,
10958
+ faqs: commonReducer$1,
10959
+ skills: commonReducer$2,
10960
+ emailTemplate: emailTemplateReducer,
10961
+ suggestionBank: suggestionBankReducer,
10962
+ learningStrategy: learningStrategyReducer,
10963
+ subjects: commonReducer$3,
10964
+ learningSupportCategories: commonReducer$4,
10965
+ questionBank: questionBankReducer,
10966
+ badges: commonReducer$5,
10967
+ semester: commonReducer$6,
10968
+ goalExamples: commonReducer$8,
10969
+ users: commonReducer$9,
10970
+ reflections: reflectionReducer,
10971
+ reflectionResults: reflectionReducer$1,
10972
+ feedbacks: commonReducer$a,
10973
+ assessments: commonReducer$b,
10974
+ questionByCategory: questionCategoryReducer,
10975
+ mailCategory: questionBankReducer$1,
10976
+ questionCate: questionCateReducer,
10977
+ notification: questionBankReducer$2,
10978
+ myStudent: commonReducer$c,
10979
+ assignments: commonReducer$7,
10980
+ assistants: assistantReducer,
10981
+ sesstionTemplates: sessionTemplateReducer,
10982
+ sessionTemplateGeneralClasses: sessionTemplateGeneralClassReducer,
10983
+ tutorialScreens: tutorialScreenReducer,
10984
+ customAlerts: commonReducer$d,
10985
+ gallery: commonReducer$e,
10986
+ dashboard: dashboardReducer,
10987
+ sessionPlayer: sessionPlayerReducer,
10988
+ dataPlayer: dataPlayer,
10989
+ certificate: commonReducer$f,
10990
+ improveMyClass: commonReducer$g,
10991
+ widget: widgetReducer,
10992
+ bandScores: commonReducer$h,
10993
+ schoolBlankDays: commonReducer$i,
10994
+ navMobileReducer: navMobileReducer
10995
+ });
10877
10996
 
10878
- return Promise.resolve(_temp10 && _temp10.then ? _temp10.then(_temp9) : _temp9(_temp10));
10879
- } catch (e) {
10880
- return Promise.reject(e);
10881
- }
10882
- }
10883
- }));
10884
- });
10885
- }, function (err) {
10886
- var _err$response4, _err$response4$data;
10997
+ var store = configureStore({
10998
+ reducer: rootReducer,
10999
+ middleware: function middleware(getDefaultMiddleware) {
11000
+ return getDefaultMiddleware({
11001
+ serializableCheck: false
11002
+ }).concat(logger);
11003
+ }
11004
+ });
10887
11005
 
10888
- dispatch(setAlert({
10889
- type: "danger",
10890
- 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
10891
- }));
10892
- });
11006
+ var isInViewport = function isInViewport(el) {
11007
+ var rect = el === null || el === void 0 ? void 0 : el.getBoundingClientRect();
11008
+ return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth);
11009
+ };
10893
11010
 
10894
- return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
10895
- } catch (e) {
10896
- return Promise.reject(e);
11011
+ var debounce = function debounce(callback, wait) {
11012
+ var timeout = null;
11013
+ return function () {
11014
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
11015
+ args[_key] = arguments[_key];
10897
11016
  }
10898
- }, [filters]);
10899
11017
 
10900
- var reDirectDetailPage = function reDirectDetailPage(id) {
10901
- var url = !!id ? USER_URL$2 + "/" + id : CREATE_USER_URL;
10902
- history.push(url);
10903
- };
11018
+ var next = function next() {
11019
+ return callback.apply(void 0, args);
11020
+ };
10904
11021
 
10905
- return {
10906
- userList: userList,
10907
- totalItems: totalItems,
10908
- filters: filters,
10909
- queryName: queryName,
10910
- getData: getData,
10911
- removeData: removeData,
10912
- changeFilters: changeFilters,
10913
- reDirectDetailPage: reDirectDetailPage,
10914
- swicthUser: swicthUser
11022
+ clearTimeout(timeout);
11023
+ timeout = setTimeout(next, wait);
10915
11024
  };
10916
11025
  };
10917
11026
 
10918
- var header$4 = "User";
10919
-
10920
- var UserList = function UserList() {
10921
- var _useUserList = useUserList(),
10922
- queryName = _useUserList.queryName,
10923
- userList = _useUserList.userList,
10924
- totalItems = _useUserList.totalItems,
10925
- filters = _useUserList.filters,
10926
- removeData = _useUserList.removeData,
10927
- changeFilters = _useUserList.changeFilters,
10928
- reDirectDetailPage = _useUserList.reDirectDetailPage,
10929
- swicthUser = _useUserList.swicthUser;
10930
-
10931
- var _useTranslation = useTranslation(),
10932
- t = _useTranslation.t;
10933
-
10934
- return React.createElement("div", {
10935
- className: "fadeIn animated"
10936
- }, React.createElement("h5", {
10937
- className: "mb-2"
10938
- }, t("" + header$4)), React.createElement(Row, {
10939
- className: "my-2"
10940
- }, React.createElement(Col, {
10941
- md: 8
10942
- }, React.createElement(SearchBoxContainer, {
10943
- text: t("create_user"),
10944
- onClick: function onClick() {
10945
- return reDirectDetailPage();
10946
- },
10947
- initValue: !!queryName ? queryName : "",
10948
- onSearch: function onSearch(searchString) {
10949
- return changeFilters({
10950
- searchString: searchString
10951
- });
10952
- },
10953
- placeholder: t("type_something_to_search_by_user_name")
10954
- })), React.createElement(Col, {
10955
- md: 4,
10956
- className: "d-flex justify-content-end align-items-center"
10957
- }, t("total_of_users"), " : ", totalItems)), React.createElement(Row, {
10958
- className: "mb-2"
10959
- }, React.createElement(Col, {
10960
- md: 12
10961
- }, userList && userList.length > 0 ? React.createElement("div", null, React.createElement(Table, {
10962
- bordered: true,
10963
- hover: true,
10964
- striped: true,
10965
- responsive: true,
10966
- size: "sm"
10967
- }, React.createElement("thead", null, React.createElement("tr", null, React.createElement("th", {
10968
- className: "align-top"
10969
- }, t("name")), React.createElement("th", {
10970
- className: "align-top"
10971
- }, t("email")), React.createElement("th", {
10972
- className: "align-top"
10973
- }, t("age")), React.createElement("th", {
10974
- className: "align-top"
10975
- }, t("role")), React.createElement("th", {
10976
- className: "align-top"
10977
- }, t("active_status")), React.createElement("th", {
10978
- className: "align-top"
10979
- }, t("created_time")), React.createElement("th", {
10980
- className: "text-center"
10981
- }, t("action")))), React.createElement("tbody", null, userList.map(function (record) {
10982
- return React.createElement("tr", {
10983
- key: record.id
10984
- }, React.createElement("td", {
10985
- className: "align-middle"
10986
- }, React.createElement(LinkEditButton, {
10987
- label: "" + record.fullName,
10988
- onClick: function onClick() {
10989
- return reDirectDetailPage(record.id);
10990
- }
10991
- })), React.createElement("td", {
10992
- className: "align-middle"
10993
- }, record.email), React.createElement("td", {
10994
- className: "align-middle"
10995
- }, differenceInCalendarYears(new Date(), new Date(record.dateOfBirth))), React.createElement("td", {
10996
- className: "align-middle"
10997
- }, !!record.roles && record.roles.join(", ")), React.createElement("td", {
10998
- className: "align-middle"
10999
- }, record.isActive ? t("active") : t("inactive")), React.createElement("td", {
11000
- className: "align-middle"
11001
- }, utcToLocalTime(record === null || record === void 0 ? void 0 : record.createTime, "yyyy-MM-DD HH:mm")), React.createElement("td", {
11002
- className: "text-center align-middle"
11003
- }, React.createElement(FaUsersCog, {
11004
- style: {
11005
- fontSize: "18px",
11006
- marginRight: "10px",
11007
- cursor: "pointer"
11008
- },
11009
- onClick: function onClick() {
11010
- return swicthUser(record.id);
11011
- }
11012
- }), React.createElement(DeleteButtonIcon, {
11013
- onClick: function onClick() {
11014
- return removeData(record.id);
11015
- }
11016
- })));
11017
- })))) : React.createElement(EmptyDataAlert, {
11018
- label: t("user")
11019
- })), React.createElement(Col, {
11020
- md: 12
11021
- }, React.createElement(CustomPagination, {
11022
- filters: filters,
11023
- totalRecordCount: totalItems,
11024
- changePageSize: function changePageSize(pageSize) {
11025
- return changeFilters({
11026
- pageSize: pageSize
11027
- });
11028
- },
11029
- changePage: function changePage(currentPage) {
11030
- return changeFilters({
11031
- currentPage: currentPage
11032
- });
11033
- }
11034
- }))));
11027
+ var getTextFromHTML = function getTextFromHTML(htmlString) {
11028
+ var p = document.createElement("p");
11029
+ p.innerHTML = htmlString;
11030
+ var text = p.innerText;
11031
+ p.remove();
11032
+ return text;
11035
11033
  };
11036
11034
 
11037
- var amplitudeClient$1 = amplitude.getInstance();
11035
+ var generateRandomString = (function () {
11036
+ return (Math.random() + 1).toString(36).substring(7);
11037
+ });
11038
+
11039
+ var amplitudeClient = amplitude.getInstance();
11038
11040
 
11039
- 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 };
11041
+ 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, 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 };
11040
11042
  //# sourceMappingURL=index.modern.js.map