mario-core 2.9.127-admin → 2.9.129-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";
@@ -110,6 +110,7 @@ var edit_question = "Edit question";
110
110
  var question_type = "Question Type";
111
111
  var category = "Category";
112
112
  var sub_category = "Sub Category";
113
+ var text = "Text";
113
114
  var is_default_question_for_one_to_one = "Is default question for one-to-one";
114
115
  var default_question_for_students_or_teachers = "Default question for students or teachers";
115
116
  var is_default_question_general_class = "Is default question general class";
@@ -221,7 +222,7 @@ var edit_designation = "Edit Designation";
221
222
  var confirm = "Confirm";
222
223
  var hello = "Hello";
223
224
  var todays_1_1 = "Today’s 1-1";
224
- var todays_check_in = "Today’s Check In";
225
+ var todays_check_in = "Today’s Check-in";
225
226
  var todays_Conferences = "Today’s Conferences";
226
227
  var next_meeting = "Next Meeting";
227
228
  var next_conference = "Next Conference";
@@ -250,7 +251,7 @@ var import_csv = "Import CSV";
250
251
  var add_new = "Add New";
251
252
  var show_only_work_as_assistant = "Show only work as assistant";
252
253
  var last_1_to_1 = "Last 1-TO-1";
253
- var last_check_in = "Last Check In";
254
+ var last_check_in = "Last Check-in";
254
255
  var last_conference = "Last conference";
255
256
  var total_time = "Total time";
256
257
  var assistant_name = "Assistant Name";
@@ -270,7 +271,7 @@ var change_date = "Change date";
270
271
  var change_time = "Change time";
271
272
  var apply = "Apply";
272
273
  var new_1_to_1 = "New 1-to-1";
273
- var new_check_in = "New Check In";
274
+ var new_check_in = "New Check-in";
274
275
  var do_you_want_to_talk_with_teacher = "Do you want to talk with teacher";
275
276
  var start_now = "Start now";
276
277
  var book_for_later = "Book for later";
@@ -280,7 +281,7 @@ var no_question = "No question";
280
281
  var select_question = "Select question";
281
282
  var select_student = "Select student";
282
283
  var select_teacher = "Select teacher";
283
- var do_you_want_to_talk_with = "Do you want to talk with";
284
+ var do_you_want_to_talk_with = "Who would you like to check-in with?";
284
285
  var please_select_a_student = "Please select a student";
285
286
  var please_select_a_teacher = "Please select a teacher";
286
287
  var please_provide_a_valid_student = "Please provide a valid student";
@@ -290,7 +291,7 @@ var you_have_no_teacher = "You have no teacher";
290
291
  var search_teacher = "Search teacher";
291
292
  var select_date_time = "Select Date & Time";
292
293
  var book_1_to_1 = "Book 1-to-1";
293
- var book_new_check_in = "Book new Check In";
294
+ var book_new_check_in = "Book new Check-in";
294
295
  var schedule = "Schedule";
295
296
  var sessions_are_booked_as_10_minute_slots = "Sessions are booked as 10 minute slots";
296
297
  var does_not_reoccur = "Does not reoccur";
@@ -306,7 +307,7 @@ var no_data = "No Data";
306
307
  var schedule_detail = "Schedule Detail";
307
308
  var are_you_sure_you_want_to_cancel_this_schedule = "Are you sure you want to Cancel this schedule?";
308
309
  var completed_1_to_1 = "Completed 1-1 Conversation";
309
- var completed_check_in = "Completed Check In";
310
+ var completed_check_in = "Completed Check-in";
310
311
  var done = "Done";
311
312
  var what_do_you_want_to_talk_about = "What do you want to talk about?";
312
313
  var session_type = "Session Type";
@@ -321,7 +322,7 @@ var how_much_did_you_learn_from_this_session = "How much did you learn from this
321
322
  var what_is_the_most_important_thing_you_learned_from_this_session = "What is the most important thing you learned from this session?";
322
323
  var your_next_meeting = "Your next meeting";
323
324
  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";
325
+ 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
326
  var edit = "Edit";
326
327
  var phone_number = "Phone number";
327
328
  var second_phone_number = "Second phone number";
@@ -332,7 +333,7 @@ var note = "Note";
332
333
  var no_schedule = "No Schedule";
333
334
  var my_notes = "My Notes";
334
335
  var private_note = "Private Note";
335
- var goal_process = "Goal Process";
336
+ var goal_process = "Goal Progress";
336
337
  var view_all_goals = "View all goals";
337
338
  var completed = "Completed";
338
339
  var student_information = "Student Information";
@@ -428,7 +429,7 @@ var student_request = "Student Request";
428
429
  var overview = "Overview";
429
430
  var plp = "PLP";
430
431
  var my_student_1_to_1 = "My Student 1-to-1";
431
- var my_student_check_in = "My Student Check In";
432
+ var my_student_check_in = "My Student Check-in";
432
433
  var my_student_conference = "My Student Conference";
433
434
  var received_date = "Received Date";
434
435
  var class_impact_score = "Class Impact Score";
@@ -631,6 +632,7 @@ var learning_process = "Learning Process";
631
632
  var survey_dashboard = "Survey Dashboard";
632
633
  var response_rate = "Response Rate";
633
634
  var top_5_most_survey_used = "Top 5 Survey's Used";
635
+ var question_intervention = "Question Intervention";
634
636
  var lang_us = {
635
637
  dashboard: dashboard,
636
638
  user: user,
@@ -711,6 +713,7 @@ var lang_us = {
711
713
  category: category,
712
714
  sub_category: sub_category,
713
715
  "Question text": "Question text",
716
+ text: text,
714
717
  is_default_question_for_one_to_one: is_default_question_for_one_to_one,
715
718
  default_question_for_students_or_teachers: default_question_for_students_or_teachers,
716
719
  is_default_question_general_class: is_default_question_general_class,
@@ -1236,7 +1239,8 @@ var lang_us = {
1236
1239
  learning_process: learning_process,
1237
1240
  survey_dashboard: survey_dashboard,
1238
1241
  response_rate: response_rate,
1239
- top_5_most_survey_used: top_5_most_survey_used
1242
+ top_5_most_survey_used: top_5_most_survey_used,
1243
+ question_intervention: question_intervention
1240
1244
  };
1241
1245
 
1242
1246
  var dashboard$1 = "Dashboard";
@@ -1254,7 +1258,7 @@ var cancel$1 = "Cancel";
1254
1258
  var hey$1 = "Hey";
1255
1259
  var readiness_to_learn$1 = "Readiness to Learn";
1256
1260
  var high_impact_learning_strategies$1 = "High Impact Learning Strategies";
1257
- var check_in$1 = "Check In";
1261
+ var check_in$1 = "Check-in";
1258
1262
  var reflection$1 = "Reflection";
1259
1263
  var conferences$1 = "Conferences";
1260
1264
  var safety$1 = "Safety";
@@ -1277,7 +1281,7 @@ var tooltip_content_safety_chart$1 = "The visual represenation of all the respon
1277
1281
  var tooltip_content_student_by_age_chart$1 = "The specific representation of students by gender and grade level at your school.";
1278
1282
  var tooltip_content_students_by_designation$1 = "The composite representation of students by individual grades in your school with specific designations.";
1279
1283
  var total_1_to_1$1 = "Total 1-to-1";
1280
- var total_check_in$1 = "Total Check In";
1284
+ var total_check_in$1 = "Total Check-in";
1281
1285
  var total_1_to_1_time$1 = "Total 1-to-1 Time";
1282
1286
  var total_conferences$1 = "Total Conferences";
1283
1287
  var total_conferences_time$1 = "Total Conferences Time";
@@ -1317,6 +1321,7 @@ var question_type$1 = "Question Type";
1317
1321
  var category$1 = "Category";
1318
1322
  var sub_category$1 = "Sub Category";
1319
1323
  var question_text = "Question text";
1324
+ var text$1 = "Text";
1320
1325
  var is_default_question_for_one_to_one$1 = "Is default question for one-to-one";
1321
1326
  var default_question_for_students_or_teachers$1 = "Default question for students or teachers";
1322
1327
  var is_default_question_general_class$1 = "Is default question general class";
@@ -1428,7 +1433,7 @@ var edit_designation$1 = "Edit Designation";
1428
1433
  var confirm$1 = "Confirm";
1429
1434
  var hello$1 = "Hello";
1430
1435
  var todays_1_1$1 = "Today’s 1-1";
1431
- var todays_check_in$1 = "Today’s Check In";
1436
+ var todays_check_in$1 = "Today’s Check-in";
1432
1437
  var todays_Conferences$1 = "Today’s Conferences";
1433
1438
  var next_meeting$1 = "Next Meeting";
1434
1439
  var next_conference$1 = "Next Conference";
@@ -1457,7 +1462,7 @@ var import_csv$1 = "Import CSV";
1457
1462
  var add_new$1 = "Add New";
1458
1463
  var show_only_work_as_assistant$1 = "Show only work as assistant";
1459
1464
  var last_1_to_1$1 = "Last 1-TO-1";
1460
- var last_check_in$1 = "Last Check In";
1465
+ var last_check_in$1 = "Last Check-in";
1461
1466
  var last_conference$1 = "Last conference";
1462
1467
  var total_time$1 = "Total time";
1463
1468
  var assistant_name$1 = "Assistant Name";
@@ -1477,7 +1482,7 @@ var change_date$1 = "Change date";
1477
1482
  var change_time$1 = "Change time";
1478
1483
  var apply$1 = "Apply";
1479
1484
  var new_1_to_1$1 = "New 1-to-1";
1480
- var new_check_in$1 = "New Check In";
1485
+ var new_check_in$1 = "New Check-in";
1481
1486
  var do_you_want_to_talk_with_teacher$1 = "Do you want to talk with teacher";
1482
1487
  var start_now$1 = "Start now";
1483
1488
  var book_for_later$1 = "Book for later";
@@ -1487,7 +1492,7 @@ var no_question$1 = "No question";
1487
1492
  var select_question$1 = "Select question";
1488
1493
  var select_student$1 = "Select student";
1489
1494
  var select_teacher$1 = "Select teacher";
1490
- var do_you_want_to_talk_with$1 = "Do you want to talk with";
1495
+ var do_you_want_to_talk_with$1 = "Who would you like to check-in with?";
1491
1496
  var please_select_a_student$1 = "Please select a student";
1492
1497
  var please_select_a_teacher$1 = "Please select a teacher";
1493
1498
  var please_provide_a_valid_student$1 = "Please provide a valid student";
@@ -1497,7 +1502,7 @@ var you_have_no_teacher$1 = "You have no teacher";
1497
1502
  var search_teacher$1 = "Search teacher";
1498
1503
  var select_date_time$1 = "Select Date & Time";
1499
1504
  var book_1_to_1$1 = "Book 1-to-1";
1500
- var book_new_check_in$1 = "Book new Check In";
1505
+ var book_new_check_in$1 = "Book new Check-in";
1501
1506
  var schedule$1 = "Schedule";
1502
1507
  var sessions_are_booked_as_10_minute_slots$1 = "Sessions are booked as 10 minute slots";
1503
1508
  var does_not_reoccur$1 = "Does not reoccur";
@@ -1513,7 +1518,7 @@ var no_data$1 = "No Data";
1513
1518
  var schedule_detail$1 = "Schedule Detail";
1514
1519
  var are_you_sure_you_want_to_cancel_this_schedule$1 = "Are you sure you want to Cancel this schedule?";
1515
1520
  var completed_1_to_1$1 = "Completed 1-1 Conversation";
1516
- var completed_check_in$1 = "Completed Check In";
1521
+ var completed_check_in$1 = "Completed Check-in";
1517
1522
  var done$1 = "Done";
1518
1523
  var what_do_you_want_to_talk_about$1 = "What do you want to talk about?";
1519
1524
  var session_type$1 = "Session Type";
@@ -1528,7 +1533,7 @@ var how_much_did_you_learn_from_this_session$1 = "How much did you learn from th
1528
1533
  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
1534
  var your_next_meeting$1 = "Your next meeting";
1530
1535
  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";
1536
+ 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
1537
  var edit$1 = "Edit";
1533
1538
  var phone_number$1 = "Phone number";
1534
1539
  var second_phone_number$1 = "Second phone number";
@@ -1539,7 +1544,7 @@ var note$1 = "Note";
1539
1544
  var no_schedule$1 = "No Schedule";
1540
1545
  var my_notes$1 = "My Notes";
1541
1546
  var private_note$1 = "Private Note";
1542
- var goal_process$1 = "Goal Process";
1547
+ var goal_process$1 = "Goal Progress";
1543
1548
  var view_all_goals$1 = "View all goals";
1544
1549
  var completed$1 = "Completed";
1545
1550
  var student_information$1 = "Student Information";
@@ -1635,7 +1640,7 @@ var student_request$1 = "Student Request";
1635
1640
  var overview$1 = "Overview";
1636
1641
  var plp$1 = "PLP";
1637
1642
  var my_student_1_to_1$1 = "My Student 1-to-1";
1638
- var my_student_check_in$1 = "My Student Check In";
1643
+ var my_student_check_in$1 = "My Student Check-in";
1639
1644
  var my_student_conference$1 = "My Student Conference";
1640
1645
  var received_date$1 = "Received Date";
1641
1646
  var class_impact_score$1 = "Class Impact Score";
@@ -1838,6 +1843,7 @@ var learning_process$1 = "Learning Process";
1838
1843
  var survey_dashboard$1 = "Survey Dashboard";
1839
1844
  var response_rate$1 = "Response Rate";
1840
1845
  var top_5_most_survey_used$1 = "Top 5 Survey's Used";
1846
+ var question_intervention$1 = "Question Intervention";
1841
1847
  var lang_uk = {
1842
1848
  dashboard: dashboard$1,
1843
1849
  user: user$1,
@@ -1918,6 +1924,7 @@ var lang_uk = {
1918
1924
  category: category$1,
1919
1925
  sub_category: sub_category$1,
1920
1926
  question_text: question_text,
1927
+ text: text$1,
1921
1928
  is_default_question_for_one_to_one: is_default_question_for_one_to_one$1,
1922
1929
  default_question_for_students_or_teachers: default_question_for_students_or_teachers$1,
1923
1930
  is_default_question_general_class: is_default_question_general_class$1,
@@ -2443,7 +2450,8 @@ var lang_uk = {
2443
2450
  learning_process: learning_process$1,
2444
2451
  survey_dashboard: survey_dashboard$1,
2445
2452
  response_rate: response_rate$1,
2446
- top_5_most_survey_used: top_5_most_survey_used$1
2453
+ top_5_most_survey_used: top_5_most_survey_used$1,
2454
+ question_intervention: question_intervention$1
2447
2455
  };
2448
2456
 
2449
2457
  var DEFAULT_LANGUAGE = localStorage.getItem("language") !== null ? localStorage.getItem("language") : "uk";
@@ -6872,89 +6880,8 @@ var SkillList = function SkillList() {
6872
6880
  }))));
6873
6881
  };
6874
6882
 
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
- };
6883
+ var setUserList = createAction("users/setUserList");
6884
+ var setStudentList = createAction("users/setStudentList");
6958
6885
 
6959
6886
  var USER_URL$1 = BASE_URL + "/api/user";
6960
6887
  var CHANGE_PASSWORD = BASE_URL + "/api/Account/changePassword";
@@ -6987,58 +6914,38 @@ var switchAccountUser = function switchAccountUser(id) {
6987
6914
  return api.post(EDU_USER_URL + "/switch-user/" + id);
6988
6915
  };
6989
6916
 
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";
6917
+ var USER_URL$2 = "/admin/user";
6918
+ var CREATE_USER_URL = "/admin/create-user";
6919
+ var TITLE$7 = "User list";
6920
+ var HOMEPAGE_TEACHER$1 = "/home";
6921
+ var HOMEPAGE_STUDENT$1 = "/home";
6922
+ var HOMEPAGE_ADMIN$1 = "/admin/dashboard";
6923
+ var HOMEPAGE_PARENT$1 = "/parent";
6924
+ var HOMEPAGE_DISTRICT$1 = "/admin/schools";
6925
+ var HOMEPAGE_EDU_TEACHER$1 = "/list-student";
7002
6926
 
7003
- var useUserDetail = function useUserDetail(id) {
7004
- var dispatch = useDispatch();
6927
+ var useUserList = function useUserList() {
7005
6928
  var history = useHistory();
6929
+ var query = new URLSearchParams(location.search);
6930
+ var queryName = query.get("query");
6931
+ var userList = useSelector(function (state) {
6932
+ return state.users.userList;
6933
+ });
6934
+ var totalItems = useSelector(function (state) {
6935
+ return state.users.totalItems;
6936
+ });
7006
6937
 
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
- };
6938
+ var _useFilters = useFilters(),
6939
+ filters = _useFilters.filters,
6940
+ changeFilters = _useFilters.changeFilters;
7028
6941
 
7029
- var _useState4 = useState([]),
7030
- currentRoles = _useState4[0],
7031
- setCurrentRoles = _useState4[1];
6942
+ var _useState = useState(!!queryName ? queryName : ""),
6943
+ fullName = _useState[0],
6944
+ setFullName = _useState[1];
7032
6945
 
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 () {
6946
+ var isDistrict = window.location.host.includes("-district");
6947
+ var dispatch = useDispatch();
6948
+ var getData = useCallback(function (fullName) {
7042
6949
  try {
7043
6950
  var _temp3 = function _temp3() {
7044
6951
  dispatch(setLoading(false));
@@ -7047,15 +6954,22 @@ var useUserDetail = function useUserDetail(id) {
7047
6954
  dispatch(setLoading(true));
7048
6955
 
7049
6956
  var _temp4 = _catch(function () {
7050
- return Promise.resolve(getById$3(id)).then(function (res) {
7051
- var _res$data$roles, _res$data, _res$data2;
6957
+ return Promise.resolve(fullName ? get$5(_extends({}, filters, {
6958
+ searchString: fullName
6959
+ })) : get$5(filters)).then(function (res) {
6960
+ var _res$data = res.data,
6961
+ items = _res$data.items,
6962
+ totalItems = _res$data.totalItems;
7052
6963
 
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
6964
+ for (var _iterator = _createForOfIteratorHelperLoose(items), _step; !(_step = _iterator()).done;) {
6965
+ var user = _step.value;
6966
+ user.roles = user.roles.includes("EduTeacher") ? [ROLES.EDUTEACHER] : user.roles;
6967
+ }
6968
+
6969
+ dispatch(setUserList({
6970
+ userList: items,
6971
+ totalItems: totalItems
7056
6972
  }));
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
6973
  });
7060
6974
  }, function (err) {
7061
6975
  var _err$response, _err$response$data;
@@ -7070,191 +6984,713 @@ var useUserDetail = function useUserDetail(id) {
7070
6984
  } catch (e) {
7071
6985
  return Promise.reject(e);
7072
6986
  }
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);
6987
+ }, [dispatch, filters]);
6988
+ useEffect(function () {
6989
+ document.title = TITLE$7;
7076
6990
  }, []);
7077
- var confirmData = useCallback(function (data) {
7078
- try {
7079
- var _temp9 = function _temp9() {
7080
- dispatch(setLoading(false));
7081
- };
7082
-
7083
- dispatch(setLoading(true));
6991
+ useEffect(function () {
6992
+ if (!!fullName) {
6993
+ getData(fullName);
6994
+ setFullName(null);
6995
+ } else {
6996
+ getData();
6997
+ }
6998
+ }, [filters]);
6999
+ var removeData = useCallback(function (id) {
7000
+ dispatch(setLoading(true));
7084
7001
 
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);
7002
+ try {
7003
+ dispatch(setModal({
7004
+ isOpen: true,
7005
+ type: "warning",
7006
+ message: "Do you want to remove this user?",
7007
+ onConfirm: function () {
7008
+ try {
7009
+ return Promise.resolve(remove$3(id)).then(function () {
7010
+ dispatch(setAlert({
7011
+ type: "success",
7012
+ message: "Remove user successfully"
7013
+ }));
7014
+ changeFilters({
7015
+ currentPage: 1
7093
7016
  });
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
7017
  });
7018
+ } catch (e) {
7019
+ return Promise.reject(e);
7118
7020
  }
7119
- }();
7021
+ }
7022
+ }));
7023
+ } catch (err) {
7024
+ var _err$response2, _err$response2$data;
7120
7025
 
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);
7026
+ dispatch(setAlert({
7027
+ type: "danger",
7028
+ 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
7029
+ }));
7134
7030
  }
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
7031
 
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;
7032
+ dispatch(setLoading(false));
7033
+ }, [filters]);
7158
7034
 
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
- });
7035
+ var redirectLoginUser = function redirectLoginUser(res) {
7036
+ var _res$data2 = res.data,
7037
+ token = _res$data2.token,
7038
+ id = _res$data2.id,
7039
+ firstName = _res$data2.firstName,
7040
+ lastName = _res$data2.lastName,
7041
+ roles = _res$data2.roles,
7042
+ email = _res$data2.email,
7043
+ profileImageFileName = _res$data2.profileImageFileName;
7044
+ localStorage.setItem(ACCESS_TOKEN, token);
7045
+ localStorage.removeItem(NOTIFICATION_ALERT_KEY);
7046
+ dispatch(setUser({
7047
+ id: id,
7048
+ firstName: firstName,
7049
+ lastName: lastName,
7050
+ roles: roles,
7051
+ email: email,
7052
+ profileImageFileName: profileImageFileName
7053
+ }));
7164
7054
 
7165
- return Promise.resolve(_temp14 && _temp14.then ? _temp14.then(_temp13) : _temp13(_temp14));
7166
- } catch (e) {
7167
- return Promise.reject(e);
7055
+ if (isDistrict) {
7056
+ history.push(HOMEPAGE_DISTRICT$1);
7057
+ } else if (roles.includes("Admin")) {
7058
+ history.push(HOMEPAGE_ADMIN$1);
7059
+ } else if (roles.includes("Teacher") || roles.includes("Assistant")) {
7060
+ history.push(HOMEPAGE_TEACHER$1);
7061
+ } else if (roles.includes("Student")) {
7062
+ history.push(HOMEPAGE_STUDENT$1);
7063
+ } else if (roles.includes("Parent")) {
7064
+ history.push(HOMEPAGE_PARENT$1);
7065
+ } else if (roles.includes("EduTeacher")) {
7066
+ history.push(HOMEPAGE_EDU_TEACHER$1);
7067
+ } else if (roles.includes("Counselor") || roles.includes("SecondaryTeacher")) {
7068
+ history.push(HOMEPAGE_TEACHER$1);
7168
7069
  }
7169
7070
  };
7170
7071
 
7171
- var forgotPasswordRequest = useCallback(function (data) {
7072
+ var swicthUser = useCallback(function (id) {
7172
7073
  try {
7173
- var _temp17 = function _temp17() {
7174
- dispatch(setLoading(false));
7175
- };
7074
+ var _temp6 = _catch(function () {
7075
+ return Promise.resolve(switchAccountUser(id)).then(function (res) {
7076
+ var data = res.data;
7077
+ dispatch(setModal({
7078
+ isOpen: true,
7079
+ type: "warning",
7080
+ message: "Do you want to impersonate this user?",
7081
+ onConfirm: function () {
7082
+ try {
7083
+ var _temp9 = function _temp9() {
7084
+ dispatch(setLoading(false));
7085
+ };
7176
7086
 
7177
- dispatch(setLoading(true));
7087
+ dispatch(setLoading(true));
7178
7088
 
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"
7089
+ var _temp10 = _catch(function () {
7090
+ var req = {
7091
+ email: data.email,
7092
+ password: "default",
7093
+ accessToken: data.token
7094
+ };
7095
+ return Promise.resolve(logIn(req)).then(function (res) {
7096
+ localStorage.clear();
7097
+ redirectLoginUser(res);
7098
+ });
7099
+ }, function (err) {
7100
+ var _err$response3, _err$response3$data;
7101
+
7102
+ setAlert({
7103
+ type: "danger",
7104
+ 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
7105
+ });
7106
+ });
7107
+
7108
+ return Promise.resolve(_temp10 && _temp10.then ? _temp10.then(_temp9) : _temp9(_temp10));
7109
+ } catch (e) {
7110
+ return Promise.reject(e);
7111
+ }
7112
+ }
7184
7113
  }));
7185
7114
  });
7186
7115
  }, function (err) {
7187
- var _err$response3, _err$response3$data;
7116
+ var _err$response4, _err$response4$data;
7188
7117
 
7189
7118
  dispatch(setAlert({
7190
7119
  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"
7120
+ 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
7121
  }));
7193
7122
  });
7194
7123
 
7195
- return Promise.resolve(_temp18 && _temp18.then ? _temp18.then(_temp17) : _temp17(_temp18));
7124
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
7196
7125
  } catch (e) {
7197
7126
  return Promise.reject(e);
7198
7127
  }
7199
- }, []);
7128
+ }, [filters]);
7129
+
7130
+ var reDirectDetailPage = function reDirectDetailPage(id) {
7131
+ var url = !!id ? USER_URL$2 + "/" + id : CREATE_USER_URL;
7132
+ history.push(url);
7133
+ };
7134
+
7200
7135
  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
7136
+ userList: userList,
7137
+ totalItems: totalItems,
7138
+ filters: filters,
7139
+ queryName: queryName,
7140
+ getData: getData,
7141
+ removeData: removeData,
7142
+ changeFilters: changeFilters,
7143
+ reDirectDetailPage: reDirectDetailPage,
7144
+ swicthUser: swicthUser
7213
7145
  };
7214
7146
  };
7215
7147
 
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
- });
7148
+ var SearchBox = function SearchBox(_ref) {
7149
+ var initValue = _ref.initValue,
7150
+ onSearch = _ref.onSearch,
7151
+ placeholder = _ref.placeholder,
7152
+ className = _ref.className,
7153
+ style = _ref.style;
7223
7154
 
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
- });
7155
+ var _useState = useState(initValue),
7156
+ searchString = _useState[0],
7157
+ setSearchString = _useState[1];
7229
7158
 
7230
- var CREATE_USER = "create_user";
7231
- var EDIT_USER_HEADER = "edit_user";
7232
- var CHANGE_PASSWORD$1 = "change_password";
7159
+ useEffect(function () {
7160
+ setSearchString(initValue);
7161
+ }, [initValue]);
7162
+ var onKeyUp = useCallback(function (e) {
7163
+ e.key === "Enter" && onSearch(searchString);
7164
+ }, [searchString, onSearch]);
7165
+ return React.createElement(Input, {
7166
+ placeholder: placeholder,
7167
+ value: searchString,
7168
+ onChange: function onChange(e) {
7169
+ return setSearchString(e.target.value);
7170
+ },
7171
+ onKeyUp: onKeyUp,
7172
+ className: className,
7173
+ style: style
7174
+ });
7175
+ };
7233
7176
 
7234
- var UserDetail = function UserDetail() {
7235
- var _useParams = useParams(),
7236
- id = _useParams.id;
7177
+ SearchBox.defaultProps = {
7178
+ placeholder: "Type something to search",
7179
+ className: "",
7180
+ style: {}
7181
+ };
7182
+ var SearchBox$1 = memo(SearchBox);
7237
7183
 
7238
- var user = useSelector(function (state) {
7239
- return state.common.user;
7240
- });
7184
+ var searchInputStyle = {
7185
+ height: 38
7186
+ };
7241
7187
 
7242
- var _useTranslation = useTranslation(),
7243
- t = _useTranslation.t;
7188
+ var SearchBoxContainer = function SearchBoxContainer(_ref) {
7189
+ var text = _ref.text,
7190
+ initValue = _ref.initValue,
7191
+ onClick = _ref.onClick,
7192
+ onSearch = _ref.onSearch,
7193
+ placeholder = _ref.placeholder;
7194
+ return React.createElement("div", {
7195
+ className: "d-flex align-items-center"
7196
+ }, React.createElement("div", null, React.createElement(AddButton, {
7197
+ text: text,
7198
+ onClick: onClick
7199
+ })), React.createElement("div", {
7200
+ className: "flex-grow-1 ml-2"
7201
+ }, React.createElement(SearchBox$1, {
7202
+ initValue: initValue,
7203
+ onSearch: onSearch,
7204
+ placeholder: placeholder,
7205
+ style: searchInputStyle
7206
+ })));
7207
+ };
7244
7208
 
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;
7209
+ SearchBoxContainer.defaultProps = {
7210
+ placeholder: "Type something to search"
7211
+ };
7212
+
7213
+ var utcToLocalTime = (function (time, FORMAT) {
7214
+ if (time === DATE_MIN_VALUE) return "";
7215
+
7216
+ try {
7217
+ return moment.utc(time).local().format(FORMAT || "yyyy-MM-DD");
7218
+ } catch (_unused) {
7219
+ return "";
7220
+ }
7221
+ });
7222
+
7223
+ var header$2 = "User";
7224
+
7225
+ var UserList = function UserList() {
7226
+ var _useUserList = useUserList(),
7227
+ queryName = _useUserList.queryName,
7228
+ userList = _useUserList.userList,
7229
+ totalItems = _useUserList.totalItems,
7230
+ filters = _useUserList.filters,
7231
+ removeData = _useUserList.removeData,
7232
+ changeFilters = _useUserList.changeFilters,
7233
+ reDirectDetailPage = _useUserList.reDirectDetailPage,
7234
+ swicthUser = _useUserList.swicthUser;
7235
+
7236
+ var _useTranslation = useTranslation(),
7237
+ t = _useTranslation.t;
7238
+
7239
+ return React.createElement("div", {
7240
+ className: "fadeIn animated"
7241
+ }, React.createElement("h5", {
7242
+ className: "mb-2"
7243
+ }, t("" + header$2)), React.createElement(Row, {
7244
+ className: "my-2"
7245
+ }, React.createElement(Col, {
7246
+ md: 8
7247
+ }, React.createElement(SearchBoxContainer, {
7248
+ text: t("create_user"),
7249
+ onClick: function onClick() {
7250
+ return reDirectDetailPage();
7251
+ },
7252
+ initValue: !!queryName ? queryName : "",
7253
+ onSearch: function onSearch(searchString) {
7254
+ return changeFilters({
7255
+ searchString: searchString
7256
+ });
7257
+ },
7258
+ placeholder: t("type_something_to_search_by_user_name")
7259
+ })), React.createElement(Col, {
7260
+ md: 4,
7261
+ className: "d-flex justify-content-end align-items-center"
7262
+ }, t("total_of_users"), " : ", totalItems)), React.createElement(Row, {
7263
+ className: "mb-2"
7264
+ }, React.createElement(Col, {
7265
+ md: 12
7266
+ }, userList && userList.length > 0 ? React.createElement("div", null, React.createElement(Table, {
7267
+ bordered: true,
7268
+ hover: true,
7269
+ striped: true,
7270
+ responsive: true,
7271
+ size: "sm"
7272
+ }, React.createElement("thead", null, React.createElement("tr", null, React.createElement("th", {
7273
+ className: "align-top"
7274
+ }, t("name")), React.createElement("th", {
7275
+ className: "align-top"
7276
+ }, t("email")), React.createElement("th", {
7277
+ className: "align-top"
7278
+ }, t("age")), React.createElement("th", {
7279
+ className: "align-top"
7280
+ }, t("role")), React.createElement("th", {
7281
+ className: "align-top"
7282
+ }, t("active_status")), React.createElement("th", {
7283
+ className: "align-top"
7284
+ }, t("created_time")), React.createElement("th", {
7285
+ className: "text-center"
7286
+ }, t("action")))), React.createElement("tbody", null, userList.map(function (record) {
7287
+ return React.createElement("tr", {
7288
+ key: record.id
7289
+ }, React.createElement("td", {
7290
+ className: "align-middle"
7291
+ }, React.createElement(LinkEditButton, {
7292
+ label: "" + record.fullName,
7293
+ onClick: function onClick() {
7294
+ return reDirectDetailPage(record.id);
7295
+ }
7296
+ })), React.createElement("td", {
7297
+ className: "align-middle"
7298
+ }, record.email), React.createElement("td", {
7299
+ className: "align-middle"
7300
+ }, differenceInCalendarYears(new Date(), new Date(record.dateOfBirth))), React.createElement("td", {
7301
+ className: "align-middle"
7302
+ }, !!record.roles && record.roles.join(", ")), React.createElement("td", {
7303
+ className: "align-middle"
7304
+ }, record.isActive ? t("active") : t("inactive")), React.createElement("td", {
7305
+ className: "align-middle"
7306
+ }, utcToLocalTime(record === null || record === void 0 ? void 0 : record.createTime, "yyyy-MM-DD HH:mm")), React.createElement("td", {
7307
+ className: "text-center align-middle"
7308
+ }, React.createElement(FaUsersCog, {
7309
+ style: {
7310
+ fontSize: "18px",
7311
+ marginRight: "10px",
7312
+ cursor: "pointer"
7313
+ },
7314
+ onClick: function onClick() {
7315
+ return swicthUser(record.id);
7316
+ }
7317
+ }), React.createElement(DeleteButtonIcon, {
7318
+ onClick: function onClick() {
7319
+ return removeData(record.id);
7320
+ }
7321
+ })));
7322
+ })))) : React.createElement(EmptyDataAlert, {
7323
+ label: t("user")
7324
+ })), React.createElement(Col, {
7325
+ md: 12
7326
+ }, React.createElement(CustomPagination, {
7327
+ filters: filters,
7328
+ totalRecordCount: totalItems,
7329
+ changePageSize: function changePageSize(pageSize) {
7330
+ return changeFilters({
7331
+ pageSize: pageSize
7332
+ });
7333
+ },
7334
+ changePage: function changePage(currentPage) {
7335
+ return changeFilters({
7336
+ currentPage: currentPage
7337
+ });
7338
+ }
7339
+ }))));
7340
+ };
7341
+
7342
+ var MAX_FILE_SIZE = 20097152;
7343
+
7344
+ var UploadFileButton = function UploadFileButton(_ref) {
7345
+ var fileName = _ref.fileName,
7346
+ maxWidth = _ref.maxWidth,
7347
+ maxHeight = _ref.maxHeight,
7348
+ setFile = _ref.setFile,
7349
+ canDelete = _ref.canDelete,
7350
+ onDelete = _ref.onDelete,
7351
+ isCheckFeedBack = _ref.isCheckFeedBack,
7352
+ onAddImage = _ref.onAddImage;
7353
+ var dispatch = useDispatch();
7354
+
7355
+ var _useState = useState(""),
7356
+ imagePreviewUrl = _useState[0],
7357
+ setImagePreviewUrl = _useState[1];
7358
+
7359
+ var imageStyle = {
7360
+ maxWidth: maxWidth || "100%",
7361
+ maxHeight: maxHeight || "100%"
7362
+ };
7363
+ var imageSrc = imagePreviewUrl || getFileUrl(fileName);
7364
+
7365
+ var handleImageChange = function handleImageChange(e) {
7366
+ e.preventDefault();
7367
+ var reader = new FileReader();
7368
+ var newFile = e.target.files[0];
7369
+
7370
+ if (newFile.size > MAX_FILE_SIZE) {
7371
+ dispatch(setAlert({
7372
+ type: "danger",
7373
+ message: "File can't be larger than 2MB"
7374
+ }));
7375
+ return;
7376
+ }
7377
+
7378
+ reader.onloadend = function () {
7379
+ setFile(newFile);
7380
+ setImagePreviewUrl(reader.result);
7381
+ };
7382
+
7383
+ if (newFile) {
7384
+ reader.readAsDataURL(newFile);
7385
+ }
7386
+
7387
+ !!onAddImage && onAddImage();
7388
+ };
7389
+
7390
+ var imagePreviewContainer = imagePreviewUrl || fileName ? React.createElement("img", {
7391
+ style: imageStyle,
7392
+ src: imageSrc,
7393
+ alt: "image"
7394
+ }) : null;
7395
+ return React.createElement("div", {
7396
+ className: "mb-2"
7397
+ }, React.createElement(Form, {
7398
+ className: "mb-2"
7399
+ }, React.createElement(Input, {
7400
+ className: "d-none",
7401
+ type: "file",
7402
+ id: "uploadFile",
7403
+ onChange: handleImageChange,
7404
+ accept: "image/*"
7405
+ }), React.createElement("div", {
7406
+ className: "d-flex align-items-center"
7407
+ }, React.createElement(Label, {
7408
+ htmlFor: "uploadFile",
7409
+ role: "button",
7410
+ tabIndex: 0,
7411
+ className: styles["input-file-label"]
7412
+ }, isCheckFeedBack == true ? React.createElement(MdAttachFile, null) : React.createElement(React.Fragment, null, React.createElement("i", {
7413
+ className: "fa fa-paperclip mr-1",
7414
+ "aria-hidden": "true"
7415
+ }), imagePreviewUrl || fileName ? "Change file" : "Choose file")), canDelete && imagePreviewContainer && React.createElement(Button, {
7416
+ size: "sm",
7417
+ color: "danger",
7418
+ className: styles["delete-avatar-button"] + " ml-2 d-flex align-items-center justify-content-center",
7419
+ onClick: function onClick() {
7420
+ setImagePreviewUrl(null);
7421
+ onDelete && onDelete();
7422
+ }
7423
+ }, React.createElement(FaTrashAlt, null)))), imagePreviewContainer);
7424
+ };
7425
+
7426
+ var initValue$3 = {
7427
+ id: "",
7428
+ firstName: "",
7429
+ lastName: "",
7430
+ email: "",
7431
+ dateOfBirth: "",
7432
+ roles: [],
7433
+ isActive: true,
7434
+ profileImageFileName: ""
7435
+ };
7436
+ var USER_LIST_URL = "/admin/user";
7437
+ var TITLE$8 = "User detail";
7438
+
7439
+ var useUserDetail = function useUserDetail(id) {
7440
+ var dispatch = useDispatch();
7441
+ var history = useHistory();
7442
+
7443
+ var _useState = useState(initValue$3),
7444
+ userDetail = _useState[0],
7445
+ setUserDetail = _useState[1];
7446
+
7447
+ var _useState2 = useState(null),
7448
+ file = _useState2[0],
7449
+ setFile = _useState2[1];
7450
+
7451
+ var _useState3 = useState(false),
7452
+ edited = _useState3[0],
7453
+ setEdited = _useState3[1];
7454
+
7455
+ var setEditedTrue = function setEditedTrue() {
7456
+ try {
7457
+ localStorage.setItem(window.location.href, "true");
7458
+ setEdited(true);
7459
+ return Promise.resolve();
7460
+ } catch (e) {
7461
+ return Promise.reject(e);
7462
+ }
7463
+ };
7464
+
7465
+ var _useState4 = useState([]),
7466
+ currentRoles = _useState4[0],
7467
+ setCurrentRoles = _useState4[1];
7468
+
7469
+ useEffect(function () {
7470
+ document.title = TITLE$8;
7471
+ setEdited(false);
7472
+ if (!!localStorage.getItem(window.location.href)) localStorage.removeItem(window.location.href);
7473
+ }, []);
7474
+ useEffect(function () {
7475
+ !!id && getData();
7476
+ }, [id]);
7477
+ var getData = useCallback(function () {
7478
+ try {
7479
+ var _temp3 = function _temp3() {
7480
+ dispatch(setLoading(false));
7481
+ };
7482
+
7483
+ dispatch(setLoading(true));
7484
+
7485
+ var _temp4 = _catch(function () {
7486
+ return Promise.resolve(getById$3(id)).then(function (res) {
7487
+ var _res$data$roles, _res$data, _res$data2;
7488
+
7489
+ setUserDetail(_extends({}, res.data, {
7490
+ dateOfBirth: format(new Date(res.data.dateOfBirth), DATE_FORMAT),
7491
+ roles: res.data.roles.includes("EduTeacher") ? [ROLES.EDUTEACHER] : res.data.roles
7492
+ }));
7493
+ 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 : []);
7494
+ document.title = (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.fullName;
7495
+ });
7496
+ }, function (err) {
7497
+ var _err$response, _err$response$data;
7498
+
7499
+ dispatch(setAlert({
7500
+ type: "danger",
7501
+ 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
7502
+ }));
7503
+ });
7504
+
7505
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
7506
+ } catch (e) {
7507
+ return Promise.reject(e);
7508
+ }
7509
+ }, [id]);
7510
+ var backToList = useCallback(function (user) {
7511
+ !!user && typeof user === "string" ? history.push(USER_LIST_URL + ("?query=" + user)) : history.push(USER_LIST_URL);
7512
+ }, []);
7513
+ var confirmData = useCallback(function (data) {
7514
+ try {
7515
+ var _temp9 = function _temp9() {
7516
+ dispatch(setLoading(false));
7517
+ };
7518
+
7519
+ dispatch(setLoading(true));
7520
+
7521
+ var _temp10 = _catch(function () {
7522
+ function _temp6() {
7523
+ var next = !!id ? update$5 : create$5;
7524
+ !id && delete data.id;
7525
+ return Promise.resolve(next(data)).then(function (result) {
7526
+ if (!!result) {
7527
+ getById$3(result.data.id).then(function (e) {
7528
+ backToList(e.data.fullName);
7529
+ });
7530
+ }
7531
+
7532
+ if (!id) {
7533
+ alert("Password of " + result.data.email + " is " + ("\"" + result.data.password + "\""));
7534
+ }
7535
+
7536
+ dispatch(setAlert({
7537
+ type: "success",
7538
+ message: (!!id ? "Update" : "Create") + " user successfully"
7539
+ }));
7540
+ });
7541
+ }
7542
+
7543
+ var _temp5 = function () {
7544
+ if (!!file) {
7545
+ var formData = new FormData();
7546
+ var name = file.name;
7547
+ formData.append("file", file, name);
7548
+ return Promise.resolve(systemProfileUpload(formData)).then(function (res) {
7549
+ var _res$data3;
7550
+
7551
+ var imageUrl = res === null || res === void 0 ? void 0 : (_res$data3 = res.data) === null || _res$data3 === void 0 ? void 0 : _res$data3.key;
7552
+ data.profileImageFileName = imageUrl;
7553
+ });
7554
+ }
7555
+ }();
7556
+
7557
+ return _temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5);
7558
+ }, function (err) {
7559
+ var _err$response2, _err$response2$data;
7560
+
7561
+ dispatch(setAlert({
7562
+ type: "danger",
7563
+ 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
7564
+ }));
7565
+ });
7566
+
7567
+ return Promise.resolve(_temp10 && _temp10.then ? _temp10.then(_temp9) : _temp9(_temp10));
7568
+ } catch (e) {
7569
+ return Promise.reject(e);
7570
+ }
7571
+ }, [id, file]);
7572
+
7573
+ var handleDisableRoles = function handleDisableRoles(currentRoles) {
7574
+ return ["Student", "Parent", "EduTeacher"].includes(currentRoles);
7575
+ };
7576
+
7577
+ var confirmChangePassword = function confirmChangePassword(data) {
7578
+ try {
7579
+ var _temp13 = function _temp13() {
7580
+ dispatch(setLoading(false));
7581
+ };
7582
+
7583
+ dispatch(setLoading(true));
7584
+
7585
+ var _temp14 = _catch(function () {
7586
+ return Promise.resolve(changePassword(data)).then(function () {
7587
+ dispatch(setAlert({
7588
+ type: "success",
7589
+ message: "Change password successfully"
7590
+ }));
7591
+ });
7592
+ }, function (e) {
7593
+ var _e$response, _e$response$data;
7594
+
7595
+ dispatch(setAlert({
7596
+ type: "danger",
7597
+ 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
7598
+ }));
7599
+ });
7600
+
7601
+ return Promise.resolve(_temp14 && _temp14.then ? _temp14.then(_temp13) : _temp13(_temp14));
7602
+ } catch (e) {
7603
+ return Promise.reject(e);
7604
+ }
7605
+ };
7606
+
7607
+ var forgotPasswordRequest = useCallback(function (data) {
7608
+ try {
7609
+ var _temp17 = function _temp17() {
7610
+ dispatch(setLoading(false));
7611
+ };
7612
+
7613
+ dispatch(setLoading(true));
7614
+
7615
+ var _temp18 = _catch(function () {
7616
+ return Promise.resolve(forgotChangePassword(data)).then(function () {
7617
+ dispatch(setAlert({
7618
+ type: "success",
7619
+ message: "Send forgot password link successfully"
7620
+ }));
7621
+ });
7622
+ }, function (err) {
7623
+ var _err$response3, _err$response3$data;
7624
+
7625
+ dispatch(setAlert({
7626
+ type: "danger",
7627
+ 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"
7628
+ }));
7629
+ });
7630
+
7631
+ return Promise.resolve(_temp18 && _temp18.then ? _temp18.then(_temp17) : _temp17(_temp18));
7632
+ } catch (e) {
7633
+ return Promise.reject(e);
7634
+ }
7635
+ }, []);
7636
+ return {
7637
+ userDetail: userDetail,
7638
+ backToList: backToList,
7639
+ confirmData: confirmData,
7640
+ file: file,
7641
+ setFile: setFile,
7642
+ edited: edited,
7643
+ setEdited: setEdited,
7644
+ setEditedTrue: setEditedTrue,
7645
+ confirmChangePassword: confirmChangePassword,
7646
+ forgotPasswordRequest: forgotPasswordRequest,
7647
+ currentRoles: currentRoles,
7648
+ handleDisableRoles: handleDisableRoles
7649
+ };
7650
+ };
7651
+
7652
+ var userSchema = object({
7653
+ firstName: string().required("First name is required"),
7654
+ lastName: string().required("Last name is required"),
7655
+ dateOfBirth: string().required("Date of birth is required"),
7656
+ email: string().email("Email is invalid").required("Email is required"),
7657
+ roles: array().of(string()).min(1, "Role is required")
7658
+ });
7659
+
7660
+ var changePasswordSchema = object({
7661
+ oldPassword: string().required("Current password is required"),
7662
+ newPassword: string().required("New password is required"),
7663
+ confirmedNewPassword: string().required("Confirm password is required")
7664
+ });
7665
+
7666
+ var CREATE_USER = "create_user";
7667
+ var EDIT_USER_HEADER = "edit_user";
7668
+ var CHANGE_PASSWORD$1 = "change_password";
7669
+
7670
+ var UserDetail = function UserDetail() {
7671
+ var _useParams = useParams(),
7672
+ id = _useParams.id;
7673
+
7674
+ var user = useSelector(function (state) {
7675
+ return state.common.user;
7676
+ });
7677
+
7678
+ var _useTranslation = useTranslation(),
7679
+ t = _useTranslation.t;
7680
+
7681
+ var _useUserDetail = useUserDetail(id),
7682
+ userDetail = _useUserDetail.userDetail,
7683
+ backToList = _useUserDetail.backToList,
7684
+ confirmData = _useUserDetail.confirmData,
7685
+ file = _useUserDetail.file,
7686
+ setFile = _useUserDetail.setFile,
7687
+ edited = _useUserDetail.edited,
7688
+ setEdited = _useUserDetail.setEdited,
7689
+ setEditedTrue = _useUserDetail.setEditedTrue,
7690
+ confirmChangePassword = _useUserDetail.confirmChangePassword,
7691
+ forgotPasswordRequest = _useUserDetail.forgotPasswordRequest,
7692
+ currentRoles = _useUserDetail.currentRoles,
7693
+ handleDisableRoles = _useUserDetail.handleDisableRoles;
7258
7694
 
7259
7695
  var initialValueForm = {
7260
7696
  oldPassword: "",
@@ -7672,16 +8108,6 @@ var CommonHeader = function CommonHeader(_ref) {
7672
8108
  }, header))));
7673
8109
  };
7674
8110
 
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
8111
  var NotificationLogoutModal = function NotificationLogoutModal() {
7686
8112
  var _useState = useState(false),
7687
8113
  isOpen = _useState[0],
@@ -7778,42 +8204,6 @@ var CreatableSelector = function CreatableSelector(props) {
7778
8204
  });
7779
8205
  };
7780
8206
 
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
8207
  var QuestionTypeSelector = function QuestionTypeSelector(props) {
7818
8208
  var id = props.id;
7819
8209
  var initValue = !!id ? QUESTION_TYPES_OPTIONS.find(function (option) {
@@ -8175,7 +8565,7 @@ var defaultFilters = {
8175
8565
  searchString: "",
8176
8566
  isRead: false
8177
8567
  };
8178
- var TITLE$8 = "Notification list";
8568
+ var TITLE$9 = "Notification list";
8179
8569
  var NOTIFICATION_CHANNEL$1 = "NOTIFICATION_CHANNEL";
8180
8570
  var NEW_NOTIFICATION$1 = "NEW_NOTIFICATION";
8181
8571
 
@@ -8305,7 +8695,7 @@ var useNotificationList = function useNotificationList() {
8305
8695
  }
8306
8696
  }, [filters]);
8307
8697
  useEffect(function () {
8308
- document.title = TITLE$8;
8698
+ document.title = TITLE$9;
8309
8699
  }, []);
8310
8700
  useEffect(function () {
8311
8701
  getData();
@@ -8390,7 +8780,7 @@ var useNotificationList = function useNotificationList() {
8390
8780
  };
8391
8781
  };
8392
8782
 
8393
- var header$2 = "Notification list";
8783
+ var header$3 = "Notification list";
8394
8784
  var ICON_SIZE = 20;
8395
8785
 
8396
8786
  var NotificationList = function NotificationList() {
@@ -8411,7 +8801,7 @@ var NotificationList = function NotificationList() {
8411
8801
  }
8412
8802
  }, React.createElement("h5", {
8413
8803
  className: "mb-2"
8414
- }, header$2), React.createElement(Row, {
8804
+ }, header$3), React.createElement(Row, {
8415
8805
  className: "my-2"
8416
8806
  }, React.createElement(Col, {
8417
8807
  md: 8
@@ -8501,43 +8891,14 @@ var NotificationList = function NotificationList() {
8501
8891
  changePageSize: function changePageSize(pageSize) {
8502
8892
  return changeFilters({
8503
8893
  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"
8894
+ });
8895
+ },
8896
+ changePage: function changePage(currentPage) {
8897
+ return changeFilters({
8898
+ currentPage: currentPage
8899
+ });
8900
+ }
8901
+ }))));
8541
8902
  };
8542
8903
 
8543
8904
  var CustomTabs = function CustomTabs(props) {
@@ -8944,7 +9305,7 @@ var get$8 = function get(filter) {
8944
9305
  });
8945
9306
  };
8946
9307
 
8947
- var TITLE$9 = "Gallery";
9308
+ var TITLE$a = "Gallery";
8948
9309
  var defaultFilter = {
8949
9310
  searchString: ""
8950
9311
  };
@@ -9181,7 +9542,7 @@ var useGalleryList = function useGalleryList(isLibrary) {
9181
9542
  }
9182
9543
  }, [dispatch, filters]);
9183
9544
  useEffect(function () {
9184
- document.title = TITLE$9;
9545
+ document.title = TITLE$a;
9185
9546
  dispatch(setTargetMedia({
9186
9547
  targetMedia: undefined
9187
9548
  }));
@@ -9373,7 +9734,7 @@ var MediaDetail = function MediaDetail(_ref) {
9373
9734
 
9374
9735
  var MediaDetail$1 = React.memo(MediaDetail);
9375
9736
 
9376
- var header$3 = "Gallery";
9737
+ var header$4 = "Gallery";
9377
9738
 
9378
9739
  var GalleryList = function GalleryList(_ref) {
9379
9740
  var isLibrary = _ref.isLibrary;
@@ -9384,7 +9745,7 @@ var GalleryList = function GalleryList(_ref) {
9384
9745
  className: "fadeIn animated"
9385
9746
  }, !isLibrary && React.createElement("h5", {
9386
9747
  className: "mb-2"
9387
- }, header$3), React.createElement(Row, {
9748
+ }, header$4), React.createElement(Row, {
9388
9749
  className: "mb-2"
9389
9750
  }, React.createElement(Col, {
9390
9751
  md: 8
@@ -9974,9 +10335,6 @@ var commonReducer$8 = createReducer(initialState$e, function (builder) {
9974
10335
  });
9975
10336
  });
9976
10337
 
9977
- var setUserList = createAction("users/setUserList");
9978
- var setStudentList = createAction("users/setStudentList");
9979
-
9980
10338
  var initialState$f = {
9981
10339
  userList: [],
9982
10340
  totalItems: 0,
@@ -10450,591 +10808,239 @@ var sessionPlayerReducer = createReducer(initialState$u, function (builder) {
10450
10808
  questionId: questionId,
10451
10809
  text: text
10452
10810
  });
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";
10811
+ } else {
10812
+ existedResponse.text = text;
10813
+ }
10696
10814
 
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;
10815
+ return _extends({}, state, {
10816
+ results: state.results.map(function (result) {
10817
+ return result.isTeacherResult === isTeacherResult ? resultCloner : result;
10818
+ })
10819
+ });
10820
+ }).addCase(setStartTime, function (state, action) {
10821
+ var startTime = action.payload;
10822
+ if (!startTime) return state;
10823
+ state.startTime = startTime;
10824
+ }).addCase(reset, function (_state, _action) {
10825
+ return initialState$u;
10706
10826
  });
10827
+ });
10707
10828
 
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];
10829
+ var setDataPlayer = createAction("dataPlayer/setDataPlayer");
10830
+ var answerQuestionDataPlayer = createAction("dataPlayer/answerQuestionDataPlayer");
10715
10831
 
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
- };
10832
+ var initialState$v = {
10833
+ id: 0,
10834
+ questions: [{
10835
+ id: 0,
10836
+ text: "",
10837
+ type: "",
10838
+ subQuestions: [],
10839
+ answers: []
10840
+ }],
10841
+ questionResponse: []
10842
+ };
10843
+ var dataPlayer = createReducer(initialState$v, function (builder) {
10844
+ builder.addCase(setDataPlayer, function (_state, action) {
10845
+ return action.payload;
10846
+ }).addCase(answerQuestionDataPlayer, function (state, action) {
10847
+ var _action$payload = action.payload,
10848
+ questionId = _action$payload.questionId,
10849
+ text = _action$payload.text;
10850
+ var questionResponse = state.questionResponse;
10851
+ if (!questionResponse) return state;
10852
+ var questionResponseCloner = JSON.parse(JSON.stringify(questionResponse));
10853
+ var existedResponse = questionResponseCloner.find(function (response) {
10854
+ return response.questionId === questionId;
10855
+ });
10723
10856
 
10724
- dispatch(setLoading(true));
10857
+ if (!existedResponse) {
10858
+ questionResponseCloner.push({
10859
+ questionId: questionId,
10860
+ text: text
10861
+ });
10862
+ } else {
10863
+ existedResponse.text = text;
10864
+ }
10725
10865
 
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;
10866
+ return _extends({}, state, {
10867
+ questionResponse: questionResponseCloner
10868
+ });
10869
+ }).addCase(reset, function (_state, _action) {
10870
+ return initialState$v;
10871
+ });
10872
+ });
10733
10873
 
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
- }
10874
+ var setCertificateList = createAction("certificates/setCertificateList");
10738
10875
 
10739
- dispatch(setUserList({
10740
- userList: items,
10741
- totalItems: totalItems
10742
- }));
10743
- });
10744
- }, function (err) {
10745
- var _err$response, _err$response$data;
10876
+ var initialState$w = {
10877
+ certificateList: [],
10878
+ totalItems: 0
10879
+ };
10880
+ var commonReducer$f = createReducer(initialState$w, function (builder) {
10881
+ builder.addCase(setCertificateList, function (state, action) {
10882
+ state.certificateList = action.payload.certificateList;
10883
+ state.totalItems = action.payload.totalItems;
10884
+ }).addCase(reset, function (_state, _action) {
10885
+ return initialState$w;
10886
+ });
10887
+ });
10746
10888
 
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
- });
10889
+ var setImproveMyClass = createAction("improveMyClass/setImproveMyClass");
10752
10890
 
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));
10891
+ var initialState$x = {
10892
+ improveMyClassList: []
10893
+ };
10894
+ var commonReducer$g = createReducer(initialState$x, function (builder) {
10895
+ builder.addCase(setImproveMyClass, function (state, action) {
10896
+ state.improveMyClassList = action.payload;
10897
+ }).addCase(reset, function (_state, _action) {
10898
+ return initialState$x;
10899
+ });
10900
+ });
10771
10901
 
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;
10902
+ var setFilterWidget = createAction("setFilterWidget");
10795
10903
 
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
- }
10904
+ var initialState$y = {
10905
+ filterWidget: "Year"
10906
+ };
10907
+ var widgetReducer = createReducer(initialState$y, function (builder) {
10908
+ builder.addCase(setFilterWidget, function (state, action) {
10909
+ state.filterWidget = action.payload.filterWidget;
10910
+ }).addCase(reset, function (_state, _action) {
10911
+ return initialState$y;
10912
+ });
10913
+ });
10801
10914
 
10802
- dispatch(setLoading(false));
10803
- }, [filters]);
10915
+ var setBandScoreList = createAction("bandScores/setBandScoreList");
10804
10916
 
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
- }));
10917
+ var initialState$z = {
10918
+ bandScoreList: [],
10919
+ totalItems: 0
10920
+ };
10921
+ var commonReducer$h = createReducer(initialState$z, function (builder) {
10922
+ builder.addCase(setBandScoreList, function (state, action) {
10923
+ state.bandScoreList = action.payload.bandScoreList;
10924
+ state.totalItems = action.payload.totalItems;
10925
+ }).addCase(reset, function (_state, _action) {
10926
+ return initialState$z;
10927
+ });
10928
+ });
10824
10929
 
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
- };
10930
+ var setSchoolBlankDayList = createAction("schoolBlankDays/setSchoolBlankDayList");
10841
10931
 
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
- };
10932
+ var initialState$A = {
10933
+ schoolBlankDayList: [],
10934
+ totalItems: 0
10935
+ };
10936
+ var commonReducer$i = createReducer(initialState$A, function (builder) {
10937
+ builder.addCase(setSchoolBlankDayList, function (state, action) {
10938
+ state.schoolBlankDayList = action.payload.schoolBlankDayList;
10939
+ state.totalItems = action.payload.totalItems;
10940
+ }).addCase(reset, function (_state, _action) {
10941
+ return initialState$A;
10942
+ });
10943
+ });
10856
10944
 
10857
- dispatch(setLoading(true));
10945
+ var setStudentIdSelectedByTeacher = createAction("navMobile/setStudentIdSelectedByTeacher");
10858
10946
 
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;
10947
+ var initialState$B = {
10948
+ studentIdSelectedByTeacher: 0
10949
+ };
10950
+ var navMobileReducer = createReducer(initialState$B, function (builder) {
10951
+ builder.addCase(setStudentIdSelectedByTeacher, function (state, action) {
10952
+ state.studentIdSelectedByTeacher = action.payload;
10953
+ }).addCase(reset, function (_state, _action) {
10954
+ return initialState$B;
10955
+ });
10956
+ });
10871
10957
 
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
- });
10958
+ var rootReducer = combineReducers({
10959
+ common: commonReducer,
10960
+ classes: classReducer,
10961
+ conferenceRubrics: conferenceRubricReducer,
10962
+ faqs: commonReducer$1,
10963
+ skills: commonReducer$2,
10964
+ emailTemplate: emailTemplateReducer,
10965
+ suggestionBank: suggestionBankReducer,
10966
+ learningStrategy: learningStrategyReducer,
10967
+ subjects: commonReducer$3,
10968
+ learningSupportCategories: commonReducer$4,
10969
+ questionBank: questionBankReducer,
10970
+ badges: commonReducer$5,
10971
+ semester: commonReducer$6,
10972
+ goalExamples: commonReducer$8,
10973
+ users: commonReducer$9,
10974
+ reflections: reflectionReducer,
10975
+ reflectionResults: reflectionReducer$1,
10976
+ feedbacks: commonReducer$a,
10977
+ assessments: commonReducer$b,
10978
+ questionByCategory: questionCategoryReducer,
10979
+ mailCategory: questionBankReducer$1,
10980
+ questionCate: questionCateReducer,
10981
+ notification: questionBankReducer$2,
10982
+ myStudent: commonReducer$c,
10983
+ assignments: commonReducer$7,
10984
+ assistants: assistantReducer,
10985
+ sesstionTemplates: sessionTemplateReducer,
10986
+ sessionTemplateGeneralClasses: sessionTemplateGeneralClassReducer,
10987
+ tutorialScreens: tutorialScreenReducer,
10988
+ customAlerts: commonReducer$d,
10989
+ gallery: commonReducer$e,
10990
+ dashboard: dashboardReducer,
10991
+ sessionPlayer: sessionPlayerReducer,
10992
+ dataPlayer: dataPlayer,
10993
+ certificate: commonReducer$f,
10994
+ improveMyClass: commonReducer$g,
10995
+ widget: widgetReducer,
10996
+ bandScores: commonReducer$h,
10997
+ schoolBlankDays: commonReducer$i,
10998
+ navMobileReducer: navMobileReducer
10999
+ });
10877
11000
 
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;
11001
+ var store = configureStore({
11002
+ reducer: rootReducer,
11003
+ middleware: function middleware(getDefaultMiddleware) {
11004
+ return getDefaultMiddleware({
11005
+ serializableCheck: false
11006
+ }).concat(logger);
11007
+ }
11008
+ });
10887
11009
 
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
- });
11010
+ var isInViewport = function isInViewport(el) {
11011
+ var rect = el === null || el === void 0 ? void 0 : el.getBoundingClientRect();
11012
+ return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth);
11013
+ };
10893
11014
 
10894
- return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
10895
- } catch (e) {
10896
- return Promise.reject(e);
11015
+ var debounce = function debounce(callback, wait) {
11016
+ var timeout = null;
11017
+ return function () {
11018
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
11019
+ args[_key] = arguments[_key];
10897
11020
  }
10898
- }, [filters]);
10899
11021
 
10900
- var reDirectDetailPage = function reDirectDetailPage(id) {
10901
- var url = !!id ? USER_URL$2 + "/" + id : CREATE_USER_URL;
10902
- history.push(url);
10903
- };
11022
+ var next = function next() {
11023
+ return callback.apply(void 0, args);
11024
+ };
10904
11025
 
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
11026
+ clearTimeout(timeout);
11027
+ timeout = setTimeout(next, wait);
10915
11028
  };
10916
11029
  };
10917
11030
 
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
- }))));
11031
+ var getTextFromHTML = function getTextFromHTML(htmlString) {
11032
+ var p = document.createElement("p");
11033
+ p.innerHTML = htmlString;
11034
+ var text = p.innerText;
11035
+ p.remove();
11036
+ return text;
11035
11037
  };
11036
11038
 
11037
- var amplitudeClient$1 = amplitude.getInstance();
11039
+ var generateRandomString = (function () {
11040
+ return (Math.random() + 1).toString(36).substring(7);
11041
+ });
11042
+
11043
+ var amplitudeClient = amplitude.getInstance();
11038
11044
 
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 };
11045
+ 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
11046
  //# sourceMappingURL=index.modern.js.map