mario-core 2.9.63-beta → 2.9.67-beta

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.
@@ -20,11 +20,10 @@ import { CgMenuRight } from 'react-icons/cg';
20
20
  import { RiLogoutBoxRLine } from 'react-icons/ri';
21
21
  import Pusher from 'pusher-js/with-encryption';
22
22
  import { BsChevronDown } from 'react-icons/bs';
23
- import { FaPlus, FaTrashAlt, FaRegEdit, FaArrowLeft, FaDownload, FaTrash, FaEdit, FaFolderPlus, FaFileUpload } from 'react-icons/fa';
23
+ import { FaPlus, FaTrashAlt, FaRegEdit, FaArrowLeft, FaDownload, FaTrash, FaEdit, FaFolderPlus, FaFileUpload, FaUsersCog } from 'react-icons/fa';
24
24
  import { format } from 'date-fns';
25
25
  import { Editor } from '@tinymce/tinymce-react';
26
26
  import differenceInCalendarYears from 'date-fns/differenceInCalendarYears';
27
- import moment from 'moment';
28
27
  import DatePicker from 'react-datepicker';
29
28
  import toDate from 'date-fns/toDate';
30
29
  import { MdAttachFile } from 'react-icons/md';
@@ -32,6 +31,7 @@ import Creatable from 'react-select/creatable';
32
31
  import ReactNotification$1 from 'react-notifications-component';
33
32
  import 'react-notifications-component/dist/theme.css';
34
33
  import { AiOutlineEye } from 'react-icons/ai';
34
+ import moment from 'moment';
35
35
 
36
36
  var dashboard = "Dashboard";
37
37
  var user = "User";
@@ -48,7 +48,6 @@ var cancel = "Cancel";
48
48
  var hey = "Hey";
49
49
  var readiness_to_learn = "Readiness to Learn";
50
50
  var high_impact_learning_strategies = "High Impact Learning Strategies";
51
- var check_in = "Check In";
52
51
  var reflection = "Reflection";
53
52
  var conferences = "Conferences";
54
53
  var safety = "Safety";
@@ -71,7 +70,6 @@ var tooltip_content_safety_chart = "The visual represenation of all the response
71
70
  var tooltip_content_student_by_age_chart = "The specific representation of students by gender and grade level at your school.";
72
71
  var tooltip_content_students_by_designation = "The composite representation of students by individual grades in your school with specific designations.";
73
72
  var total_1_to_1 = "Total 1-to-1";
74
- var total_check_in = "Total Check In";
75
73
  var total_1_to_1_time = "Total 1-to-1 Time";
76
74
  var total_conferences = "Total Conferences";
77
75
  var total_conferences_time = "Total Conferences Time";
@@ -101,14 +99,12 @@ var current_password = "Current password";
101
99
  var new_password = "New password";
102
100
  var confirm_password = "Confirm password";
103
101
  var save = "Save";
104
- var type_something_to_search_question = "Type something to search question";
105
- var type_something_to_search_category = "Type something to search category";
102
+ var type_something_to_search_question = "Type something to Search question";
106
103
  var total_of_questions = "Total of questions";
107
104
  var create_question = "Create question";
108
105
  var edit_question = "Edit question";
109
106
  var question_type = "Question Type";
110
107
  var category = "Category";
111
- var sub_category = "Sub Category";
112
108
  var is_default_question_for_one_to_one = "Is default question for one-to-one";
113
109
  var default_question_for_students_or_teachers = "Default question for students or teachers";
114
110
  var is_default_question_general_class = "Is default question general class";
@@ -219,7 +215,6 @@ var edit_destination = "Edit Destination";
219
215
  var confirm = "Confirm";
220
216
  var hello = "Hello";
221
217
  var todays_1_1 = "Today’s 1-1";
222
- var todays_check_in = "Today’s Check In";
223
218
  var todays_Conferences = "Today’s Conferences";
224
219
  var next_meeting = "Next Meeting";
225
220
  var next_conference = "Next Conference";
@@ -248,7 +243,6 @@ var import_csv = "Import CSV";
248
243
  var add_new = "Add New";
249
244
  var show_only_work_as_assistant = "Show only work as assistant";
250
245
  var last_1_to_1 = "Last 1-TO-1";
251
- var last_check_in = "Last Check In";
252
246
  var last_conference = "Last conference";
253
247
  var total_time = "Total time";
254
248
  var assistant_name = "Assistant Name";
@@ -265,7 +259,6 @@ var after = "After";
265
259
  var pick_a_date = "Pick a date";
266
260
  var apply = "Apply";
267
261
  var new_1_to_1 = "New 1-to-1";
268
- var new_check_in = "New Check In";
269
262
  var do_you_want_to_talk_with_teacher = "Do you want to talk with teacher";
270
263
  var start_now = "Start now";
271
264
  var book_for_later = "Book for later";
@@ -276,7 +269,6 @@ var select_question = "Select question";
276
269
  var select_student = "Select student";
277
270
  var select_date_time = "Select Date & Time";
278
271
  var book_1_to_1 = "Book 1-to-1";
279
- var book_new_check_in = "Book new Check In";
280
272
  var schedule = "Schedule";
281
273
  var sessions_are_booked_as_10_minute_slots = "Sessions are booked as 10 minute slots";
282
274
  var does_not_reoccur = "Does not reoccur";
@@ -284,15 +276,13 @@ var time_must_be_between_8_am_and_6_pm = "Time must be between 8 AM and 6 PM";
284
276
  var from = "From";
285
277
  var to = "To";
286
278
  var show_only_favorites = "Show only favorites";
287
- var show_only_conversation = "Show 1-1 conversation only";
288
279
  var duration = "Duration";
289
280
  var favorite = "Favorite";
290
281
  var open = "Open";
291
282
  var no_data = "No Data";
292
283
  var schedule_detail = "Schedule Detail";
293
284
  var are_you_sure_you_want_to_cancel_this_schedule = "Are you sure you want to Cancel this schedule?";
294
- var completed_1_to_1 = "Completed 1-1 Conversation";
295
- var completed_check_in = "Completed Check In";
285
+ var completed_1_to_1 = "Completed 1-to-1";
296
286
  var done = "Done";
297
287
  var what_do_you_want_to_talk_about = "What do you want to talk about?";
298
288
  var session_type = "Session Type";
@@ -413,7 +403,6 @@ var student_request = "Student Request";
413
403
  var overview = "Overview";
414
404
  var plp = "PLP";
415
405
  var my_student_1_to_1 = "My Student 1-to-1";
416
- var my_student_check_in = "My Student Check In";
417
406
  var my_student_conference = "My Student Conference";
418
407
  var received_date = "Received Date";
419
408
  var class_impact_score = "Class Impact Score";
@@ -603,7 +592,6 @@ var lang_us = {
603
592
  readiness_to_learn: readiness_to_learn,
604
593
  high_impact_learning_strategies: high_impact_learning_strategies,
605
594
  "1_to_1": "1 To 1",
606
- check_in: check_in,
607
595
  reflection: reflection,
608
596
  conferences: conferences,
609
597
  safety: safety,
@@ -626,7 +614,6 @@ var lang_us = {
626
614
  tooltip_content_student_by_age_chart: tooltip_content_student_by_age_chart,
627
615
  tooltip_content_students_by_designation: tooltip_content_students_by_designation,
628
616
  total_1_to_1: total_1_to_1,
629
- total_check_in: total_check_in,
630
617
  total_1_to_1_time: total_1_to_1_time,
631
618
  total_conferences: total_conferences,
632
619
  total_conferences_time: total_conferences_time,
@@ -658,13 +645,11 @@ var lang_us = {
658
645
  confirm_password: confirm_password,
659
646
  save: save,
660
647
  type_something_to_search_question: type_something_to_search_question,
661
- type_something_to_search_category: type_something_to_search_category,
662
648
  total_of_questions: total_of_questions,
663
649
  create_question: create_question,
664
650
  edit_question: edit_question,
665
651
  question_type: question_type,
666
652
  category: category,
667
- sub_category: sub_category,
668
653
  "Question text": "Question text",
669
654
  is_default_question_for_one_to_one: is_default_question_for_one_to_one,
670
655
  default_question_for_students_or_teachers: default_question_for_students_or_teachers,
@@ -776,7 +761,6 @@ var lang_us = {
776
761
  confirm: confirm,
777
762
  hello: hello,
778
763
  todays_1_1: todays_1_1,
779
- todays_check_in: todays_check_in,
780
764
  todays_Conferences: todays_Conferences,
781
765
  next_meeting: next_meeting,
782
766
  next_conference: next_conference,
@@ -807,7 +791,6 @@ var lang_us = {
807
791
  add_new: add_new,
808
792
  show_only_work_as_assistant: show_only_work_as_assistant,
809
793
  last_1_to_1: last_1_to_1,
810
- last_check_in: last_check_in,
811
794
  last_conference: last_conference,
812
795
  total_time: total_time,
813
796
  assistant_name: assistant_name,
@@ -824,7 +807,6 @@ var lang_us = {
824
807
  pick_a_date: pick_a_date,
825
808
  apply: apply,
826
809
  new_1_to_1: new_1_to_1,
827
- new_check_in: new_check_in,
828
810
  do_you_want_to_talk_with_teacher: do_you_want_to_talk_with_teacher,
829
811
  start_now: start_now,
830
812
  book_for_later: book_for_later,
@@ -835,7 +817,6 @@ var lang_us = {
835
817
  select_student: select_student,
836
818
  select_date_time: select_date_time,
837
819
  book_1_to_1: book_1_to_1,
838
- book_new_check_in: book_new_check_in,
839
820
  schedule: schedule,
840
821
  sessions_are_booked_as_10_minute_slots: sessions_are_booked_as_10_minute_slots,
841
822
  does_not_reoccur: does_not_reoccur,
@@ -843,7 +824,6 @@ var lang_us = {
843
824
  from: from,
844
825
  to: to,
845
826
  show_only_favorites: show_only_favorites,
846
- show_only_conversation: show_only_conversation,
847
827
  duration: duration,
848
828
  favorite: favorite,
849
829
  open: open,
@@ -851,7 +831,6 @@ var lang_us = {
851
831
  schedule_detail: schedule_detail,
852
832
  are_you_sure_you_want_to_cancel_this_schedule: are_you_sure_you_want_to_cancel_this_schedule,
853
833
  completed_1_to_1: completed_1_to_1,
854
- completed_check_in: completed_check_in,
855
834
  done: done,
856
835
  what_do_you_want_to_talk_about: what_do_you_want_to_talk_about,
857
836
  session_type: session_type,
@@ -973,7 +952,6 @@ var lang_us = {
973
952
  overview: overview,
974
953
  plp: plp,
975
954
  my_student_1_to_1: my_student_1_to_1,
976
- my_student_check_in: my_student_check_in,
977
955
  my_student_conference: my_student_conference,
978
956
  received_date: received_date,
979
957
  class_impact_score: class_impact_score,
@@ -1165,7 +1143,6 @@ var cancel$1 = "Cancel";
1165
1143
  var hey$1 = "Hey";
1166
1144
  var readiness_to_learn$1 = "Readiness to Learn";
1167
1145
  var high_impact_learning_strategies$1 = "High Impact Learning Strategies";
1168
- var check_in$1 = "Check In";
1169
1146
  var reflection$1 = "Reflection";
1170
1147
  var conferences$1 = "Conferences";
1171
1148
  var safety$1 = "Safety";
@@ -1188,7 +1165,6 @@ var tooltip_content_safety_chart$1 = "The visual represenation of all the respon
1188
1165
  var tooltip_content_student_by_age_chart$1 = "The specific representation of students by gender and grade level at your school.";
1189
1166
  var tooltip_content_students_by_designation$1 = "The composite representation of students by individual grades in your school with specific designations.";
1190
1167
  var total_1_to_1$1 = "Total 1-to-1";
1191
- var total_check_in$1 = "Total Check In";
1192
1168
  var total_1_to_1_time$1 = "Total 1-to-1 Time";
1193
1169
  var total_conferences$1 = "Total Conferences";
1194
1170
  var total_conferences_time$1 = "Total Conferences Time";
@@ -1219,14 +1195,12 @@ var current_password$1 = "Current password";
1219
1195
  var new_password$1 = "New password";
1220
1196
  var confirm_password$1 = "Confirm password";
1221
1197
  var save$1 = "Save";
1222
- var type_something_to_search_question$1 = "Type something to search question";
1223
- var type_something_to_search_category$1 = "Type something to search category";
1198
+ var type_something_to_search_question$1 = "Type something to Search question";
1224
1199
  var total_of_questions$1 = "Total of questions";
1225
1200
  var create_question$1 = "Create question";
1226
1201
  var edit_question$1 = "Edit question";
1227
1202
  var question_type$1 = "Question Type";
1228
1203
  var category$1 = "Category";
1229
- var sub_category$1 = "Sub Category";
1230
1204
  var question_text = "Question text";
1231
1205
  var is_default_question_for_one_to_one$1 = "Is default question for one-to-one";
1232
1206
  var default_question_for_students_or_teachers$1 = "Default question for students or teachers";
@@ -1329,7 +1303,7 @@ var use_for$1 = "Use for";
1329
1303
  var admin_training$1 = "Admin training";
1330
1304
  var teacher_training$1 = "Teacher training";
1331
1305
  var created_time$1 = "Create time";
1332
- var total_reflections$1 = "Total Reflections";
1306
+ var total_reflections$1 = "Total Reflections:";
1333
1307
  var student_training$1 = "Student training";
1334
1308
  var create_destination$1 = "Create Destination";
1335
1309
  var total_of_designation$1 = "Total of Designation";
@@ -1338,7 +1312,6 @@ var edit_destination$1 = "Edit Destination";
1338
1312
  var confirm$1 = "Confirm";
1339
1313
  var hello$1 = "Hello";
1340
1314
  var todays_1_1$1 = "Today’s 1-1";
1341
- var todays_check_in$1 = "Today’s Check In";
1342
1315
  var todays_Conferences$1 = "Today’s Conferences";
1343
1316
  var next_meeting$1 = "Next Meeting";
1344
1317
  var next_conference$1 = "Next Conference";
@@ -1367,7 +1340,6 @@ var import_csv$1 = "Import CSV";
1367
1340
  var add_new$1 = "Add New";
1368
1341
  var show_only_work_as_assistant$1 = "Show only work as assistant";
1369
1342
  var last_1_to_1$1 = "Last 1-TO-1";
1370
- var last_check_in$1 = "Last Check In";
1371
1343
  var last_conference$1 = "Last conference";
1372
1344
  var total_time$1 = "Total time";
1373
1345
  var assistant_name$1 = "Assistant Name";
@@ -1384,7 +1356,6 @@ var after$1 = "After";
1384
1356
  var pick_a_date$1 = "Pick a date";
1385
1357
  var apply$1 = "Apply";
1386
1358
  var new_1_to_1$1 = "New 1-to-1";
1387
- var new_check_in$1 = "New Check In";
1388
1359
  var do_you_want_to_talk_with_teacher$1 = "Do you want to talk with teacher";
1389
1360
  var start_now$1 = "Start now";
1390
1361
  var book_for_later$1 = "Book for later";
@@ -1395,7 +1366,6 @@ var select_question$1 = "Select question";
1395
1366
  var select_student$1 = "Select student";
1396
1367
  var select_date_time$1 = "Select Date & Time";
1397
1368
  var book_1_to_1$1 = "Book 1-to-1";
1398
- var book_new_check_in$1 = "Book new Check In";
1399
1369
  var schedule$1 = "Schedule";
1400
1370
  var sessions_are_booked_as_10_minute_slots$1 = "Sessions are booked as 10 minute slots";
1401
1371
  var does_not_reoccur$1 = "Does not reoccur";
@@ -1403,15 +1373,13 @@ var time_must_be_between_8_am_and_6_pm$1 = "Time must be between 8 AM and 6 PM";
1403
1373
  var from$1 = "From";
1404
1374
  var to$1 = "To";
1405
1375
  var show_only_favorites$1 = "Show only favorites";
1406
- var show_only_conversation$1 = "Show 1-1 conversation only";
1407
1376
  var duration$1 = "Duration";
1408
1377
  var favorite$1 = "Favorite";
1409
1378
  var open$1 = "Open";
1410
1379
  var no_data$1 = "No Data";
1411
1380
  var schedule_detail$1 = "Schedule Detail";
1412
1381
  var are_you_sure_you_want_to_cancel_this_schedule$1 = "Are you sure you want to Cancel this schedule?";
1413
- var completed_1_to_1$1 = "Completed 1-1 Conversation";
1414
- var completed_check_in$1 = "Completed Check In";
1382
+ var completed_1_to_1$1 = "Completed 1-to-1";
1415
1383
  var done$1 = "Done";
1416
1384
  var what_do_you_want_to_talk_about$1 = "What do you want to talk about?";
1417
1385
  var session_type$1 = "Session Type";
@@ -1532,7 +1500,6 @@ var student_request$1 = "Student Request";
1532
1500
  var overview$1 = "Overview";
1533
1501
  var plp$1 = "PLP";
1534
1502
  var my_student_1_to_1$1 = "My Student 1-to-1";
1535
- var my_student_check_in$1 = "My Student Check In";
1536
1503
  var my_student_conference$1 = "My Student Conference";
1537
1504
  var received_date$1 = "Received Date";
1538
1505
  var class_impact_score$1 = "Class Impact Score";
@@ -1722,7 +1689,6 @@ var lang_uk = {
1722
1689
  readiness_to_learn: readiness_to_learn$1,
1723
1690
  high_impact_learning_strategies: high_impact_learning_strategies$1,
1724
1691
  "1_to_1": "1 to 1",
1725
- check_in: check_in$1,
1726
1692
  reflection: reflection$1,
1727
1693
  conferences: conferences$1,
1728
1694
  safety: safety$1,
@@ -1745,7 +1711,6 @@ var lang_uk = {
1745
1711
  tooltip_content_student_by_age_chart: tooltip_content_student_by_age_chart$1,
1746
1712
  tooltip_content_students_by_designation: tooltip_content_students_by_designation$1,
1747
1713
  total_1_to_1: total_1_to_1$1,
1748
- total_check_in: total_check_in$1,
1749
1714
  total_1_to_1_time: total_1_to_1_time$1,
1750
1715
  total_conferences: total_conferences$1,
1751
1716
  total_conferences_time: total_conferences_time$1,
@@ -1777,13 +1742,11 @@ var lang_uk = {
1777
1742
  confirm_password: confirm_password$1,
1778
1743
  save: save$1,
1779
1744
  type_something_to_search_question: type_something_to_search_question$1,
1780
- type_something_to_search_category: type_something_to_search_category$1,
1781
1745
  total_of_questions: total_of_questions$1,
1782
1746
  create_question: create_question$1,
1783
1747
  edit_question: edit_question$1,
1784
1748
  question_type: question_type$1,
1785
1749
  category: category$1,
1786
- sub_category: sub_category$1,
1787
1750
  question_text: question_text,
1788
1751
  is_default_question_for_one_to_one: is_default_question_for_one_to_one$1,
1789
1752
  default_question_for_students_or_teachers: default_question_for_students_or_teachers$1,
@@ -1895,7 +1858,6 @@ var lang_uk = {
1895
1858
  confirm: confirm$1,
1896
1859
  hello: hello$1,
1897
1860
  todays_1_1: todays_1_1$1,
1898
- todays_check_in: todays_check_in$1,
1899
1861
  todays_Conferences: todays_Conferences$1,
1900
1862
  next_meeting: next_meeting$1,
1901
1863
  next_conference: next_conference$1,
@@ -1926,7 +1888,6 @@ var lang_uk = {
1926
1888
  add_new: add_new$1,
1927
1889
  show_only_work_as_assistant: show_only_work_as_assistant$1,
1928
1890
  last_1_to_1: last_1_to_1$1,
1929
- last_check_in: last_check_in$1,
1930
1891
  last_conference: last_conference$1,
1931
1892
  total_time: total_time$1,
1932
1893
  assistant_name: assistant_name$1,
@@ -1943,7 +1904,6 @@ var lang_uk = {
1943
1904
  pick_a_date: pick_a_date$1,
1944
1905
  apply: apply$1,
1945
1906
  new_1_to_1: new_1_to_1$1,
1946
- new_check_in: new_check_in$1,
1947
1907
  do_you_want_to_talk_with_teacher: do_you_want_to_talk_with_teacher$1,
1948
1908
  start_now: start_now$1,
1949
1909
  book_for_later: book_for_later$1,
@@ -1954,7 +1914,6 @@ var lang_uk = {
1954
1914
  select_student: select_student$1,
1955
1915
  select_date_time: select_date_time$1,
1956
1916
  book_1_to_1: book_1_to_1$1,
1957
- book_new_check_in: book_new_check_in$1,
1958
1917
  schedule: schedule$1,
1959
1918
  sessions_are_booked_as_10_minute_slots: sessions_are_booked_as_10_minute_slots$1,
1960
1919
  does_not_reoccur: does_not_reoccur$1,
@@ -1962,7 +1921,6 @@ var lang_uk = {
1962
1921
  from: from$1,
1963
1922
  to: to$1,
1964
1923
  show_only_favorites: show_only_favorites$1,
1965
- show_only_conversation: show_only_conversation$1,
1966
1924
  duration: duration$1,
1967
1925
  favorite: favorite$1,
1968
1926
  open: open$1,
@@ -1970,7 +1928,6 @@ var lang_uk = {
1970
1928
  schedule_detail: schedule_detail$1,
1971
1929
  are_you_sure_you_want_to_cancel_this_schedule: are_you_sure_you_want_to_cancel_this_schedule$1,
1972
1930
  completed_1_to_1: completed_1_to_1$1,
1973
- completed_check_in: completed_check_in$1,
1974
1931
  done: done$1,
1975
1932
  what_do_you_want_to_talk_about: what_do_you_want_to_talk_about$1,
1976
1933
  session_type: session_type$1,
@@ -2092,7 +2049,6 @@ var lang_uk = {
2092
2049
  overview: overview$1,
2093
2050
  plp: plp$1,
2094
2051
  my_student_1_to_1: my_student_1_to_1$1,
2095
- my_student_check_in: my_student_check_in$1,
2096
2052
  my_student_conference: my_student_conference$1,
2097
2053
  received_date: received_date$1,
2098
2054
  class_impact_score: class_impact_score$1,
@@ -2446,7 +2402,8 @@ function _createForOfIteratorHelperLoose(o, allowArrayLike) {
2446
2402
 
2447
2403
  var TINY_MCE_API_KEY = "adpshj9swgsscf83gw4gs2f74nx0vicpd5ydka20iqjd7l8r";
2448
2404
  var GOOGLE_RECAPTCHA_KEY = "6LfNtLUaAAAAAL24lbBV11jS-gBtt1mhtxb4NXs0";
2449
- var INIT_AMPLITUDE_KEY = "c617d0950cfdcae12953907273a1920f";
2405
+ var INIT_AMPLITUDE_KEY_PROD = "860fa99c52ae79d98e904b4c862ddaac";
2406
+ var INIT_AMPLITUDE_KEY_STAGE = "c617d0950cfdcae12953907273a1920f";
2450
2407
  var ACCESS_TOKEN = "ACCESS_TOKEN";
2451
2408
  var DEFAULT_PAGE_SIZE_VALUES = [{
2452
2409
  label: "10",
@@ -2489,6 +2446,7 @@ var BASE_URL = function () {
2489
2446
  var url = windowUrl.split("//")[0] + "//" + windowUrl.split("//")[1].split("/")[0];
2490
2447
  return url;
2491
2448
  }();
2449
+ var isLocalhost = Boolean(window.location.hostname === "localhost" || window.location.hostname.includes("stage") || window.location.hostname === "[::1]" || window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));
2492
2450
  var QUESTION_TYPES_OPTIONS = [{
2493
2451
  label: "Single choice",
2494
2452
  value: "SingleChoice"
@@ -2498,6 +2456,18 @@ var QUESTION_TYPES_OPTIONS = [{
2498
2456
  }, {
2499
2457
  label: "Text input",
2500
2458
  value: "TextInput"
2459
+ }, {
2460
+ label: "Slider",
2461
+ value: "Slider"
2462
+ }, {
2463
+ label: "Progress bar",
2464
+ value: "ProgressBar"
2465
+ }, {
2466
+ label: "Star rating",
2467
+ value: "StarRating"
2468
+ }, {
2469
+ label: "Text input with sub questions",
2470
+ value: "TextInputWithSuggestions"
2501
2471
  }, {
2502
2472
  label: "Emotional",
2503
2473
  value: "Emotional"
@@ -2786,7 +2756,7 @@ var useLogin = function useLogin() {
2786
2756
  }));
2787
2757
 
2788
2758
  if (data !== null && data !== void 0 && data.email && !roles.includes("Admin")) {
2789
- amplitude.getInstance().init(INIT_AMPLITUDE_KEY, data.email, {
2759
+ amplitude.getInstance().init(!isLocalhost ? INIT_AMPLITUDE_KEY_PROD : INIT_AMPLITUDE_KEY_STAGE, data.email, {
2790
2760
  includeReferrer: false,
2791
2761
  includeUtm: false
2792
2762
  });
@@ -3899,7 +3869,7 @@ var TheSidebar = function TheSidebar(_ref) {
3899
3869
  className: "" + styles["sidebar-logout"]
3900
3870
  }), React.createElement("p", {
3901
3871
  onClick: signOut
3902
- }, "Log out 123")));
3872
+ }, "Log out")));
3903
3873
  };
3904
3874
 
3905
3875
  var setNotification = createAction("notifications/setNotification");
@@ -6670,13 +6640,94 @@ var SkillList = function SkillList() {
6670
6640
  }))));
6671
6641
  };
6672
6642
 
6673
- var setUserList = createAction("users/setUserList");
6674
- var setStudentList = createAction("users/setStudentList");
6643
+ var MAX_FILE_SIZE = 20097152;
6644
+
6645
+ var UploadFileButton = function UploadFileButton(_ref) {
6646
+ var fileName = _ref.fileName,
6647
+ maxWidth = _ref.maxWidth,
6648
+ maxHeight = _ref.maxHeight,
6649
+ setFile = _ref.setFile,
6650
+ canDelete = _ref.canDelete,
6651
+ onDelete = _ref.onDelete,
6652
+ isCheckFeedBack = _ref.isCheckFeedBack,
6653
+ onAddImage = _ref.onAddImage;
6654
+ var dispatch = useDispatch();
6655
+
6656
+ var _useState = useState(""),
6657
+ imagePreviewUrl = _useState[0],
6658
+ setImagePreviewUrl = _useState[1];
6659
+
6660
+ var imageStyle = {
6661
+ maxWidth: maxWidth || "100%",
6662
+ maxHeight: maxHeight || "100%"
6663
+ };
6664
+ var imageSrc = imagePreviewUrl || getFileUrl(fileName);
6665
+
6666
+ var handleImageChange = function handleImageChange(e) {
6667
+ e.preventDefault();
6668
+ var reader = new FileReader();
6669
+ var newFile = e.target.files[0];
6670
+
6671
+ if (newFile.size > MAX_FILE_SIZE) {
6672
+ dispatch(setAlert({
6673
+ type: "danger",
6674
+ message: "File can't be larger than 2MB"
6675
+ }));
6676
+ return;
6677
+ }
6678
+
6679
+ reader.onloadend = function () {
6680
+ setFile(newFile);
6681
+ setImagePreviewUrl(reader.result);
6682
+ };
6683
+
6684
+ if (newFile) {
6685
+ reader.readAsDataURL(newFile);
6686
+ }
6687
+
6688
+ !!onAddImage && onAddImage();
6689
+ };
6690
+
6691
+ var imagePreviewContainer = imagePreviewUrl || fileName ? React.createElement("img", {
6692
+ style: imageStyle,
6693
+ src: imageSrc,
6694
+ alt: "image"
6695
+ }) : null;
6696
+ return React.createElement("div", {
6697
+ className: "mb-2"
6698
+ }, React.createElement(Form, {
6699
+ className: "mb-2"
6700
+ }, React.createElement(Input, {
6701
+ className: "d-none",
6702
+ type: "file",
6703
+ id: "uploadFile",
6704
+ onChange: handleImageChange,
6705
+ accept: "image/*"
6706
+ }), React.createElement("div", {
6707
+ className: "d-flex align-items-center"
6708
+ }, React.createElement(Label, {
6709
+ htmlFor: "uploadFile",
6710
+ role: "button",
6711
+ tabIndex: 0,
6712
+ className: styles["input-file-label"]
6713
+ }, isCheckFeedBack == true ? React.createElement(MdAttachFile, null) : React.createElement(React.Fragment, null, React.createElement("i", {
6714
+ className: "fa fa-paperclip mr-1",
6715
+ "aria-hidden": "true"
6716
+ }), imagePreviewUrl || fileName ? "Change file" : "Choose file")), canDelete && imagePreviewContainer && React.createElement(Button, {
6717
+ size: "sm",
6718
+ color: "danger",
6719
+ className: styles["delete-avatar-button"] + " ml-2 d-flex align-items-center justify-content-center",
6720
+ onClick: function onClick() {
6721
+ setImagePreviewUrl(null);
6722
+ onDelete && onDelete();
6723
+ }
6724
+ }, React.createElement(FaTrashAlt, null)))), imagePreviewContainer);
6725
+ };
6675
6726
 
6676
6727
  var USER_URL$1 = BASE_URL + "/api/user";
6677
6728
  var CHANGE_PASSWORD = BASE_URL + "/api/Account/changePassword";
6678
6729
  var ACCOUNT_URL$1 = BASE_URL + "/api/account";
6679
- var EDU_USER_URL = BASE_URL + "/api/User/delete-item-user";
6730
+ var EDU_USER_URL = BASE_URL + "/api/User";
6680
6731
  var get$5 = function get(filter) {
6681
6732
  return api.get("" + USER_URL$1, {
6682
6733
  params: filter
@@ -6692,7 +6743,7 @@ var update$5 = function update(data) {
6692
6743
  return api.put(USER_URL$1 + "/" + data.id, data);
6693
6744
  };
6694
6745
  var remove$3 = function remove(id) {
6695
- return api["delete"](EDU_USER_URL + "/" + id);
6746
+ return api["delete"](EDU_USER_URL + "/delete-item-user/" + id);
6696
6747
  };
6697
6748
  var changePassword = function changePassword(formData) {
6698
6749
  return api.post(CHANGE_PASSWORD, formData);
@@ -6700,32 +6751,58 @@ var changePassword = function changePassword(formData) {
6700
6751
  var forgotChangePassword = function forgotChangePassword(data) {
6701
6752
  return api.post(ACCOUNT_URL$1 + "/forgotchangepassword", data);
6702
6753
  };
6754
+ var switchAccountUser = function switchAccountUser(id) {
6755
+ return api.post(EDU_USER_URL + "/switch-user/" + id);
6756
+ };
6703
6757
 
6704
- var USER_URL$2 = "/admin/user";
6705
- var CREATE_USER_URL = "/admin/create-user";
6706
- var TITLE$7 = "User list";
6758
+ var initValue$3 = {
6759
+ id: "",
6760
+ firstName: "",
6761
+ lastName: "",
6762
+ email: "",
6763
+ dateOfBirth: "",
6764
+ roles: [],
6765
+ isActive: true,
6766
+ profileImageFileName: ""
6767
+ };
6768
+ var USER_LIST_URL = "/admin/user";
6769
+ var TITLE$7 = "User detail";
6707
6770
 
6708
- var useUserList = function useUserList() {
6771
+ var useUserDetail = function useUserDetail(id) {
6772
+ var dispatch = useDispatch();
6709
6773
  var history = useHistory();
6710
- var query = new URLSearchParams(location.search);
6711
- var queryName = query.get("query");
6712
- var userList = useSelector(function (state) {
6713
- return state.users.userList;
6714
- });
6715
- var totalItems = useSelector(function (state) {
6716
- return state.users.totalItems;
6717
- });
6718
6774
 
6719
- var _useFilters = useFilters(),
6720
- filters = _useFilters.filters,
6721
- changeFilters = _useFilters.changeFilters;
6775
+ var _useState = useState(initValue$3),
6776
+ userDetail = _useState[0],
6777
+ setUserDetail = _useState[1];
6722
6778
 
6723
- var _useState = useState(!!queryName ? queryName : ""),
6724
- fullName = _useState[0],
6725
- setFullName = _useState[1];
6779
+ var _useState2 = useState(null),
6780
+ file = _useState2[0],
6781
+ setFile = _useState2[1];
6726
6782
 
6727
- var dispatch = useDispatch();
6728
- var getData = useCallback(function (fullName) {
6783
+ var _useState3 = useState(false),
6784
+ edited = _useState3[0],
6785
+ setEdited = _useState3[1];
6786
+
6787
+ var setEditedTrue = function setEditedTrue() {
6788
+ try {
6789
+ localStorage.setItem(window.location.href, "true");
6790
+ setEdited(true);
6791
+ return Promise.resolve();
6792
+ } catch (e) {
6793
+ return Promise.reject(e);
6794
+ }
6795
+ };
6796
+
6797
+ useEffect(function () {
6798
+ document.title = TITLE$7;
6799
+ setEdited(false);
6800
+ if (!!localStorage.getItem(window.location.href)) localStorage.removeItem(window.location.href);
6801
+ }, []);
6802
+ useEffect(function () {
6803
+ !!id && getData();
6804
+ }, [id]);
6805
+ var getData = useCallback(function () {
6729
6806
  try {
6730
6807
  var _temp3 = function _temp3() {
6731
6808
  dispatch(setLoading(false));
@@ -6734,22 +6811,14 @@ var useUserList = function useUserList() {
6734
6811
  dispatch(setLoading(true));
6735
6812
 
6736
6813
  var _temp4 = _catch(function () {
6737
- return Promise.resolve(fullName ? get$5(_extends({}, filters, {
6738
- searchString: fullName
6739
- })) : get$5(filters)).then(function (res) {
6740
- var _res$data = res.data,
6741
- items = _res$data.items,
6742
- totalItems = _res$data.totalItems;
6743
-
6744
- for (var _iterator = _createForOfIteratorHelperLoose(items), _step; !(_step = _iterator()).done;) {
6745
- var user = _step.value;
6746
- user.roles = user.roles.includes("EduTeacher") ? [ROLES.EDUTEACHER] : user.roles;
6747
- }
6814
+ return Promise.resolve(getById$3(id)).then(function (res) {
6815
+ var _res$data;
6748
6816
 
6749
- dispatch(setUserList({
6750
- userList: items,
6751
- totalItems: totalItems
6817
+ setUserDetail(_extends({}, res.data, {
6818
+ dateOfBirth: format(new Date(res.data.dateOfBirth), DATE_FORMAT),
6819
+ roles: res.data.roles.includes("EduTeacher") ? [ROLES.EDUTEACHER] : res.data.roles
6752
6820
  }));
6821
+ document.title = (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.fullName;
6753
6822
  });
6754
6823
  }, function (err) {
6755
6824
  var _err$response, _err$response$data;
@@ -6764,458 +6833,47 @@ var useUserList = function useUserList() {
6764
6833
  } catch (e) {
6765
6834
  return Promise.reject(e);
6766
6835
  }
6767
- }, [dispatch, filters]);
6768
- useEffect(function () {
6769
- document.title = TITLE$7;
6836
+ }, [id]);
6837
+ var backToList = useCallback(function (user) {
6838
+ !!user && typeof user === "string" ? history.push(USER_LIST_URL + ("?query=" + user)) : history.push(USER_LIST_URL);
6770
6839
  }, []);
6771
- useEffect(function () {
6772
- if (!!fullName) {
6773
- getData(fullName);
6774
- setFullName(null);
6775
- } else {
6776
- getData();
6777
- }
6778
- }, [filters]);
6779
- var removeData = useCallback(function (id) {
6780
- dispatch(setLoading(true));
6781
-
6840
+ var confirmData = useCallback(function (data) {
6782
6841
  try {
6783
- dispatch(setModal({
6784
- isOpen: true,
6785
- type: "warning",
6786
- message: "Do you want to remove this user?",
6787
- onConfirm: function () {
6788
- try {
6789
- return Promise.resolve(remove$3(id)).then(function () {
6790
- dispatch(setAlert({
6791
- type: "success",
6792
- message: "Remove user successfully"
6793
- }));
6794
- changeFilters({
6795
- currentPage: 1
6842
+ var _temp9 = function _temp9() {
6843
+ dispatch(setLoading(false));
6844
+ };
6845
+
6846
+ dispatch(setLoading(true));
6847
+
6848
+ var _temp10 = _catch(function () {
6849
+ function _temp6() {
6850
+ var next = !!id ? update$5 : create$5;
6851
+ !id && delete data.id;
6852
+ return Promise.resolve(next(data)).then(function (result) {
6853
+ if (!!result) {
6854
+ getById$3(result.data.id).then(function (e) {
6855
+ backToList(e.data.fullName);
6796
6856
  });
6797
- });
6798
- } catch (e) {
6799
- return Promise.reject(e);
6800
- }
6801
- }
6802
- }));
6803
- } catch (err) {
6804
- var _err$response2, _err$response2$data;
6857
+ }
6805
6858
 
6806
- dispatch(setAlert({
6807
- type: "danger",
6808
- 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
6809
- }));
6810
- }
6859
+ if (!id) {
6860
+ alert("Password of " + result.data.email + " is " + ("\"" + result.data.password + "\""));
6861
+ }
6811
6862
 
6812
- dispatch(setLoading(false));
6813
- }, [filters]);
6863
+ dispatch(setAlert({
6864
+ type: "success",
6865
+ message: (!!id ? "Update" : "Create") + " user successfully"
6866
+ }));
6867
+ });
6868
+ }
6814
6869
 
6815
- var reDirectDetailPage = function reDirectDetailPage(id) {
6816
- var url = !!id ? USER_URL$2 + "/" + id : CREATE_USER_URL;
6817
- history.push(url);
6818
- };
6819
-
6820
- return {
6821
- userList: userList,
6822
- totalItems: totalItems,
6823
- filters: filters,
6824
- queryName: queryName,
6825
- getData: getData,
6826
- removeData: removeData,
6827
- changeFilters: changeFilters,
6828
- reDirectDetailPage: reDirectDetailPage
6829
- };
6830
- };
6831
-
6832
- var SearchBox = function SearchBox(_ref) {
6833
- var initValue = _ref.initValue,
6834
- onSearch = _ref.onSearch,
6835
- placeholder = _ref.placeholder,
6836
- className = _ref.className,
6837
- style = _ref.style;
6838
-
6839
- var _useState = useState(initValue),
6840
- searchString = _useState[0],
6841
- setSearchString = _useState[1];
6842
-
6843
- useEffect(function () {
6844
- setSearchString(initValue);
6845
- }, [initValue]);
6846
- var onKeyUp = useCallback(function (e) {
6847
- e.key === "Enter" && onSearch(searchString);
6848
- }, [searchString, onSearch]);
6849
- return React.createElement(Input, {
6850
- placeholder: placeholder,
6851
- value: searchString,
6852
- onChange: function onChange(e) {
6853
- return setSearchString(e.target.value);
6854
- },
6855
- onKeyUp: onKeyUp,
6856
- className: className,
6857
- style: style
6858
- });
6859
- };
6860
-
6861
- SearchBox.defaultProps = {
6862
- placeholder: "Type something to search",
6863
- className: "",
6864
- style: {}
6865
- };
6866
- var SearchBox$1 = memo(SearchBox);
6867
-
6868
- var searchInputStyle = {
6869
- height: 38
6870
- };
6871
-
6872
- var SearchBoxContainer = function SearchBoxContainer(_ref) {
6873
- var text = _ref.text,
6874
- initValue = _ref.initValue,
6875
- onClick = _ref.onClick,
6876
- onSearch = _ref.onSearch,
6877
- placeholder = _ref.placeholder;
6878
- return React.createElement("div", {
6879
- className: "d-flex align-items-center"
6880
- }, React.createElement("div", null, React.createElement(AddButton, {
6881
- text: text,
6882
- onClick: onClick
6883
- })), React.createElement("div", {
6884
- className: "flex-grow-1 ml-2"
6885
- }, React.createElement(SearchBox$1, {
6886
- initValue: initValue,
6887
- onSearch: onSearch,
6888
- placeholder: placeholder,
6889
- style: searchInputStyle
6890
- })));
6891
- };
6892
-
6893
- SearchBoxContainer.defaultProps = {
6894
- placeholder: "Type something to search"
6895
- };
6896
-
6897
- var utcToLocalTime = (function (time, FORMAT) {
6898
- if (time === DATE_MIN_VALUE) return "";
6899
-
6900
- try {
6901
- return moment.utc(time).local().format(FORMAT || "yyyy-MM-DD");
6902
- } catch (_unused) {
6903
- return "";
6904
- }
6905
- });
6906
-
6907
- var header$2 = "User";
6908
-
6909
- var UserList = function UserList() {
6910
- var _useUserList = useUserList(),
6911
- queryName = _useUserList.queryName,
6912
- userList = _useUserList.userList,
6913
- totalItems = _useUserList.totalItems,
6914
- filters = _useUserList.filters,
6915
- removeData = _useUserList.removeData,
6916
- changeFilters = _useUserList.changeFilters,
6917
- reDirectDetailPage = _useUserList.reDirectDetailPage;
6918
-
6919
- var _useTranslation = useTranslation(),
6920
- t = _useTranslation.t;
6921
-
6922
- return React.createElement("div", {
6923
- className: "fadeIn animated"
6924
- }, React.createElement("h5", {
6925
- className: "mb-2"
6926
- }, t("" + header$2)), React.createElement(Row, {
6927
- className: "my-2"
6928
- }, React.createElement(Col, {
6929
- md: 8
6930
- }, React.createElement(SearchBoxContainer, {
6931
- text: t("create_user"),
6932
- onClick: function onClick() {
6933
- return reDirectDetailPage();
6934
- },
6935
- initValue: !!queryName ? queryName : "",
6936
- onSearch: function onSearch(searchString) {
6937
- return changeFilters({
6938
- searchString: searchString
6939
- });
6940
- },
6941
- placeholder: t("type_something_to_search_by_user_name")
6942
- })), React.createElement(Col, {
6943
- md: 4,
6944
- className: "d-flex justify-content-end align-items-center"
6945
- }, t("total_of_users"), " : ", totalItems)), React.createElement(Row, {
6946
- className: "mb-2"
6947
- }, React.createElement(Col, {
6948
- md: 12
6949
- }, userList && userList.length > 0 ? React.createElement("div", null, React.createElement(Table, {
6950
- bordered: true,
6951
- hover: true,
6952
- striped: true,
6953
- responsive: true,
6954
- size: "sm"
6955
- }, React.createElement("thead", null, React.createElement("tr", null, React.createElement("th", {
6956
- className: "align-top"
6957
- }, t("name")), React.createElement("th", {
6958
- className: "align-top"
6959
- }, t("email")), React.createElement("th", {
6960
- className: "align-top"
6961
- }, t("age")), React.createElement("th", {
6962
- className: "align-top"
6963
- }, t("role")), React.createElement("th", {
6964
- className: "align-top"
6965
- }, t("active_status")), React.createElement("th", {
6966
- className: "align-top"
6967
- }, t("created_time")), React.createElement("th", {
6968
- className: "text-center"
6969
- }, t("action")))), React.createElement("tbody", null, userList.map(function (record) {
6970
- return React.createElement("tr", {
6971
- key: record.id
6972
- }, React.createElement("td", {
6973
- className: "align-middle"
6974
- }, React.createElement(LinkEditButton, {
6975
- label: "" + record.fullName,
6976
- onClick: function onClick() {
6977
- return reDirectDetailPage(record.id);
6978
- }
6979
- })), React.createElement("td", {
6980
- className: "align-middle"
6981
- }, record.email), React.createElement("td", {
6982
- className: "align-middle"
6983
- }, differenceInCalendarYears(new Date(), new Date(record.dateOfBirth))), React.createElement("td", {
6984
- className: "align-middle"
6985
- }, !!record.roles && record.roles.join(", ")), React.createElement("td", {
6986
- className: "align-middle"
6987
- }, record.isActive ? t("active") : t("inactive")), React.createElement("td", {
6988
- className: "align-middle"
6989
- }, utcToLocalTime(record === null || record === void 0 ? void 0 : record.createTime, "yyyy-MM-DD HH:mm")), React.createElement("td", {
6990
- className: "text-center align-middle"
6991
- }, React.createElement(DeleteButtonIcon, {
6992
- onClick: function onClick() {
6993
- return removeData(record.id);
6994
- }
6995
- })));
6996
- })))) : React.createElement(EmptyDataAlert, {
6997
- label: t("user")
6998
- })), React.createElement(Col, {
6999
- md: 12
7000
- }, React.createElement(CustomPagination, {
7001
- filters: filters,
7002
- totalRecordCount: totalItems,
7003
- changePageSize: function changePageSize(pageSize) {
7004
- return changeFilters({
7005
- pageSize: pageSize
7006
- });
7007
- },
7008
- changePage: function changePage(currentPage) {
7009
- return changeFilters({
7010
- currentPage: currentPage
7011
- });
7012
- }
7013
- }))));
7014
- };
7015
-
7016
- var MAX_FILE_SIZE = 20097152;
7017
-
7018
- var UploadFileButton = function UploadFileButton(_ref) {
7019
- var fileName = _ref.fileName,
7020
- maxWidth = _ref.maxWidth,
7021
- maxHeight = _ref.maxHeight,
7022
- setFile = _ref.setFile,
7023
- canDelete = _ref.canDelete,
7024
- onDelete = _ref.onDelete,
7025
- isCheckFeedBack = _ref.isCheckFeedBack,
7026
- onAddImage = _ref.onAddImage;
7027
- var dispatch = useDispatch();
7028
-
7029
- var _useState = useState(""),
7030
- imagePreviewUrl = _useState[0],
7031
- setImagePreviewUrl = _useState[1];
7032
-
7033
- var imageStyle = {
7034
- maxWidth: maxWidth || "100%",
7035
- maxHeight: maxHeight || "100%"
7036
- };
7037
- var imageSrc = imagePreviewUrl || getFileUrl(fileName);
7038
-
7039
- var handleImageChange = function handleImageChange(e) {
7040
- e.preventDefault();
7041
- var reader = new FileReader();
7042
- var newFile = e.target.files[0];
7043
-
7044
- if (newFile.size > MAX_FILE_SIZE) {
7045
- dispatch(setAlert({
7046
- type: "danger",
7047
- message: "File can't be larger than 2MB"
7048
- }));
7049
- return;
7050
- }
7051
-
7052
- reader.onloadend = function () {
7053
- setFile(newFile);
7054
- setImagePreviewUrl(reader.result);
7055
- };
7056
-
7057
- if (newFile) {
7058
- reader.readAsDataURL(newFile);
7059
- }
7060
-
7061
- !!onAddImage && onAddImage();
7062
- };
7063
-
7064
- var imagePreviewContainer = imagePreviewUrl || fileName ? React.createElement("img", {
7065
- style: imageStyle,
7066
- src: imageSrc,
7067
- alt: "image"
7068
- }) : null;
7069
- return React.createElement("div", {
7070
- className: "mb-2"
7071
- }, React.createElement(Form, {
7072
- className: "mb-2"
7073
- }, React.createElement(Input, {
7074
- className: "d-none",
7075
- type: "file",
7076
- id: "uploadFile",
7077
- onChange: handleImageChange,
7078
- accept: "image/*"
7079
- }), React.createElement("div", {
7080
- className: "d-flex align-items-center"
7081
- }, React.createElement(Label, {
7082
- htmlFor: "uploadFile",
7083
- role: "button",
7084
- tabIndex: 0,
7085
- className: styles["input-file-label"]
7086
- }, isCheckFeedBack == true ? React.createElement(MdAttachFile, null) : React.createElement(React.Fragment, null, React.createElement("i", {
7087
- className: "fa fa-paperclip mr-1",
7088
- "aria-hidden": "true"
7089
- }), imagePreviewUrl || fileName ? "Change file" : "Choose file")), canDelete && imagePreviewContainer && React.createElement(Button, {
7090
- size: "sm",
7091
- color: "danger",
7092
- className: styles["delete-avatar-button"] + " ml-2 d-flex align-items-center justify-content-center",
7093
- onClick: function onClick() {
7094
- setImagePreviewUrl(null);
7095
- onDelete && onDelete();
7096
- }
7097
- }, React.createElement(FaTrashAlt, null)))), imagePreviewContainer);
7098
- };
7099
-
7100
- var initValue$3 = {
7101
- id: "",
7102
- firstName: "",
7103
- lastName: "",
7104
- email: "",
7105
- dateOfBirth: "",
7106
- roles: [],
7107
- isActive: true,
7108
- profileImageFileName: ""
7109
- };
7110
- var USER_LIST_URL = "/admin/user";
7111
- var TITLE$8 = "User detail";
7112
-
7113
- var useUserDetail = function useUserDetail(id) {
7114
- var dispatch = useDispatch();
7115
- var history = useHistory();
7116
-
7117
- var _useState = useState(initValue$3),
7118
- userDetail = _useState[0],
7119
- setUserDetail = _useState[1];
7120
-
7121
- var _useState2 = useState(null),
7122
- file = _useState2[0],
7123
- setFile = _useState2[1];
7124
-
7125
- var _useState3 = useState(false),
7126
- edited = _useState3[0],
7127
- setEdited = _useState3[1];
7128
-
7129
- var setEditedTrue = function setEditedTrue() {
7130
- try {
7131
- localStorage.setItem(window.location.href, "true");
7132
- setEdited(true);
7133
- return Promise.resolve();
7134
- } catch (e) {
7135
- return Promise.reject(e);
7136
- }
7137
- };
7138
-
7139
- useEffect(function () {
7140
- document.title = TITLE$8;
7141
- setEdited(false);
7142
- if (!!localStorage.getItem(window.location.href)) localStorage.removeItem(window.location.href);
7143
- }, []);
7144
- useEffect(function () {
7145
- !!id && getData();
7146
- }, [id]);
7147
- var getData = useCallback(function () {
7148
- try {
7149
- var _temp3 = function _temp3() {
7150
- dispatch(setLoading(false));
7151
- };
7152
-
7153
- dispatch(setLoading(true));
7154
-
7155
- var _temp4 = _catch(function () {
7156
- return Promise.resolve(getById$3(id)).then(function (res) {
7157
- var _res$data;
7158
-
7159
- setUserDetail(_extends({}, res.data, {
7160
- dateOfBirth: format(new Date(res.data.dateOfBirth), DATE_FORMAT),
7161
- roles: res.data.roles.includes("EduTeacher") ? [ROLES.EDUTEACHER] : res.data.roles
7162
- }));
7163
- document.title = (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.fullName;
7164
- });
7165
- }, function (err) {
7166
- var _err$response, _err$response$data;
7167
-
7168
- dispatch(setAlert({
7169
- type: "danger",
7170
- 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
7171
- }));
7172
- });
7173
-
7174
- return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
7175
- } catch (e) {
7176
- return Promise.reject(e);
7177
- }
7178
- }, [id]);
7179
- var backToList = useCallback(function (user) {
7180
- !!user && typeof user === "string" ? history.push(USER_LIST_URL + ("?query=" + user)) : history.push(USER_LIST_URL);
7181
- }, []);
7182
- var confirmData = useCallback(function (data) {
7183
- try {
7184
- var _temp9 = function _temp9() {
7185
- dispatch(setLoading(false));
7186
- };
7187
-
7188
- dispatch(setLoading(true));
7189
-
7190
- var _temp10 = _catch(function () {
7191
- function _temp6() {
7192
- var next = !!id ? update$5 : create$5;
7193
- !id && delete data.id;
7194
- return Promise.resolve(next(data)).then(function (result) {
7195
- if (!!result) {
7196
- getById$3(result.data.id).then(function (e) {
7197
- backToList(e.data.fullName);
7198
- });
7199
- }
7200
-
7201
- if (!id) {
7202
- alert("Password of " + result.data.email + " is " + ("\"" + result.data.password + "\""));
7203
- }
7204
-
7205
- dispatch(setAlert({
7206
- type: "success",
7207
- message: (!!id ? "Update" : "Create") + " user successfully"
7208
- }));
7209
- });
7210
- }
7211
-
7212
- var _temp5 = function () {
7213
- if (!!file) {
7214
- var formData = new FormData();
7215
- var name = file.name;
7216
- formData.append("file", file, name);
7217
- return Promise.resolve(systemProfileUpload(formData)).then(function (res) {
7218
- var _res$data2;
6870
+ var _temp5 = function () {
6871
+ if (!!file) {
6872
+ var formData = new FormData();
6873
+ var name = file.name;
6874
+ formData.append("file", file, name);
6875
+ return Promise.resolve(systemProfileUpload(formData)).then(function (res) {
6876
+ var _res$data2;
7219
6877
 
7220
6878
  var imageUrl = res === null || res === void 0 ? void 0 : (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.key;
7221
6879
  data.profileImageFileName = imageUrl;
@@ -7801,6 +7459,42 @@ var CreatableSelector = function CreatableSelector(props) {
7801
7459
  });
7802
7460
  };
7803
7461
 
7462
+ var SearchBox = function SearchBox(_ref) {
7463
+ var initValue = _ref.initValue,
7464
+ onSearch = _ref.onSearch,
7465
+ placeholder = _ref.placeholder,
7466
+ className = _ref.className,
7467
+ style = _ref.style;
7468
+
7469
+ var _useState = useState(initValue),
7470
+ searchString = _useState[0],
7471
+ setSearchString = _useState[1];
7472
+
7473
+ useEffect(function () {
7474
+ setSearchString(initValue);
7475
+ }, [initValue]);
7476
+ var onKeyUp = useCallback(function (e) {
7477
+ e.key === "Enter" && onSearch(searchString);
7478
+ }, [searchString, onSearch]);
7479
+ return React.createElement(Input, {
7480
+ placeholder: placeholder,
7481
+ value: searchString,
7482
+ onChange: function onChange(e) {
7483
+ return setSearchString(e.target.value);
7484
+ },
7485
+ onKeyUp: onKeyUp,
7486
+ className: className,
7487
+ style: style
7488
+ });
7489
+ };
7490
+
7491
+ SearchBox.defaultProps = {
7492
+ placeholder: "Type something to search",
7493
+ className: "",
7494
+ style: {}
7495
+ };
7496
+ var SearchBox$1 = memo(SearchBox);
7497
+
7804
7498
  var QuestionTypeSelector = function QuestionTypeSelector(props) {
7805
7499
  var id = props.id;
7806
7500
  var initValue = !!id ? QUESTION_TYPES_OPTIONS.find(function (option) {
@@ -7860,17 +7554,8 @@ var SuggestionCategorySelector = function SuggestionCategorySelector(props) {
7860
7554
  };
7861
7555
 
7862
7556
  var CATEGORY_URL$1 = BASE_URL + "/api/QuestionCategory";
7863
- var get$7 = function get(parentCategoryId) {
7864
- return api.get(CATEGORY_URL$1, {
7865
- params: {
7866
- parentCategoryId: parentCategoryId
7867
- }
7868
- });
7869
- };
7870
- var getByFilter = function getByFilter(filter) {
7871
- return api.get(CATEGORY_URL$1, {
7872
- params: filter
7873
- });
7557
+ var get$7 = function get() {
7558
+ return api.get(CATEGORY_URL$1);
7874
7559
  };
7875
7560
 
7876
7561
  var QuestionCategorySelector = function QuestionCategorySelector(props) {
@@ -7878,8 +7563,6 @@ var QuestionCategorySelector = function QuestionCategorySelector(props) {
7878
7563
  getCategoryList = _useState[0],
7879
7564
  setCategoryList = _useState[1];
7880
7565
 
7881
- var id = props.id,
7882
- parentCategoryId = props.parentCategoryId;
7883
7566
  useEffect(function () {
7884
7567
  fetchCategory();
7885
7568
  }, []);
@@ -7887,7 +7570,7 @@ var QuestionCategorySelector = function QuestionCategorySelector(props) {
7887
7570
  var fetchCategory = function fetchCategory() {
7888
7571
  try {
7889
7572
  var _temp2 = _catch(function () {
7890
- return Promise.resolve(get$7(parentCategoryId)).then(function (res) {
7573
+ return Promise.resolve(get$7()).then(function (res) {
7891
7574
  setCategoryList(res.data.items);
7892
7575
  });
7893
7576
  }, function (err) {
@@ -7900,6 +7583,7 @@ var QuestionCategorySelector = function QuestionCategorySelector(props) {
7900
7583
  }
7901
7584
  };
7902
7585
 
7586
+ var id = props.id;
7903
7587
  var arrCategory = getCategoryList.map(function (i) {
7904
7588
  return {
7905
7589
  id: i.id,
@@ -7916,131 +7600,6 @@ var QuestionCategorySelector = function QuestionCategorySelector(props) {
7916
7600
  }, props));
7917
7601
  };
7918
7602
 
7919
- var useCategorySelector = function useCategorySelector() {
7920
- var _useState = useState([]),
7921
- categories = _useState[0],
7922
- setCategories = _useState[1];
7923
-
7924
- var dispatch = useDispatch();
7925
- var getData = useCallback(function () {
7926
- try {
7927
- var _temp3 = function _temp3() {
7928
- dispatch(setLoading(false));
7929
- };
7930
-
7931
- dispatch(setLoading(true));
7932
-
7933
- var _temp4 = _catch(function () {
7934
- return Promise.resolve(getByFilter(_extends({}, DEFAULT_FILTER, {
7935
- pageSize: -1
7936
- }))).then(function (res) {
7937
- var convertedCategories = convertOptions(res.data.items);
7938
- setCategories(convertedCategories);
7939
- });
7940
- }, function (err) {
7941
- var _err$response, _err$response$data;
7942
-
7943
- dispatch(setAlert({
7944
- type: "danger",
7945
- 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
7946
- }));
7947
- });
7948
-
7949
- return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
7950
- } catch (e) {
7951
- return Promise.reject(e);
7952
- }
7953
- }, []);
7954
-
7955
- var convertOptions = function convertOptions(categories, parent, children) {
7956
- var result = [];
7957
-
7958
- if (!parent) {
7959
- var noParentCategories = categories.filter(function (c) {
7960
- return !c.parentCategoryId;
7961
- });
7962
- noParentCategories.forEach(function (c) {
7963
- var childrenOfCategory = categories.filter(function (cg) {
7964
- return cg.parentCategoryId === c.id;
7965
- });
7966
-
7967
- var category = _extends({}, c, {
7968
- label: c.name,
7969
- value: c.id,
7970
- level: 0,
7971
- isDisabled: childrenOfCategory.length > 0
7972
- });
7973
-
7974
- result = result.concat(convertOptions(categories, category, childrenOfCategory));
7975
- });
7976
- } else {
7977
- result.push(parent);
7978
- children === null || children === void 0 ? void 0 : children.forEach(function (c) {
7979
- var childrenOfCategory = categories.filter(function (cg) {
7980
- return cg.parentCategoryId === c.id;
7981
- });
7982
-
7983
- var category = _extends({}, c, {
7984
- label: c.name,
7985
- value: c.id,
7986
- level: parent.level ? parent.level + 1 : 1,
7987
- isDisabled: childrenOfCategory.length > 0
7988
- });
7989
-
7990
- result = result.concat(convertOptions(categories, category, childrenOfCategory));
7991
- });
7992
- }
7993
-
7994
- return result;
7995
- };
7996
-
7997
- useEffect(function () {
7998
- getData();
7999
- }, []);
8000
- return {
8001
- categories: categories
8002
- };
8003
- };
8004
-
8005
- var optionStyles = {
8006
- control: function control(styles) {
8007
- return _extends({}, styles, {
8008
- backgroundColor: 'white'
8009
- });
8010
- },
8011
- option: function option(styles, _ref) {
8012
- var data = _ref.data;
8013
- return _extends({}, styles, {
8014
- fontWeight: !(data !== null && data !== void 0 && data.level) ? "bold" : "normal",
8015
- paddingLeft: ((data === null || data === void 0 ? void 0 : data.level) || 0) + 1 + "rem",
8016
- paddingRight: "1rem",
8017
- cursor: data.isDisabled ? 'not-allowed' : 'pointer',
8018
- color: "var(--color)",
8019
- "&:first-letter": {
8020
- textTransform: "uppercase"
8021
- }
8022
- });
8023
- }
8024
- };
8025
-
8026
- var CategorySelector = function CategorySelector(_ref2) {
8027
- var value = _ref2.value,
8028
- rest = _objectWithoutPropertiesLoose(_ref2, ["value"]);
8029
-
8030
- var _useCategorySelector = useCategorySelector(),
8031
- categories = _useCategorySelector.categories;
8032
-
8033
- var initialValue = !!value ? categories.find(function (option) {
8034
- return option.value === value;
8035
- }) || null : null;
8036
- return React.createElement(Select, Object.assign({
8037
- value: initialValue,
8038
- options: categories,
8039
- styles: optionStyles,
8040
- placeholder: "Select category..."
8041
- }, rest));
8042
- };
8043
-
8044
7603
  var StarRatingSelector = function StarRatingSelector(props) {
8045
7604
  var id = props.id;
8046
7605
  var initValue = !!id ? STAR_OPTIONS.find(function (option) {
@@ -8156,13 +7715,23 @@ var NotificationStatusSelector = function NotificationStatusSelector(_ref) {
8156
7715
 
8157
7716
  var NotificationStatusSelector$1 = memo(NotificationStatusSelector);
8158
7717
 
7718
+ var utcToLocalTime = (function (time, FORMAT) {
7719
+ if (time === DATE_MIN_VALUE) return "";
7720
+
7721
+ try {
7722
+ return moment.utc(time).local().format(FORMAT || "yyyy-MM-DD");
7723
+ } catch (_unused) {
7724
+ return "";
7725
+ }
7726
+ });
7727
+
8159
7728
  var defaultFilters = {
8160
7729
  currentPage: 1,
8161
7730
  pageSize: 30,
8162
7731
  searchString: "",
8163
7732
  isRead: false
8164
7733
  };
8165
- var TITLE$9 = "Notification list";
7734
+ var TITLE$8 = "Notification list";
8166
7735
  var NOTIFICATION_CHANNEL$1 = "NOTIFICATION_CHANNEL";
8167
7736
  var NEW_NOTIFICATION$1 = "NEW_NOTIFICATION";
8168
7737
 
@@ -8287,7 +7856,7 @@ var useNotificationList = function useNotificationList() {
8287
7856
  }
8288
7857
  }, [filters]);
8289
7858
  useEffect(function () {
8290
- document.title = TITLE$9;
7859
+ document.title = TITLE$8;
8291
7860
  }, []);
8292
7861
  useEffect(function () {
8293
7862
  getData();
@@ -8372,7 +7941,7 @@ var useNotificationList = function useNotificationList() {
8372
7941
  };
8373
7942
  };
8374
7943
 
8375
- var header$3 = "Notification list";
7944
+ var header$2 = "Notification list";
8376
7945
  var ICON_SIZE = 20;
8377
7946
 
8378
7947
  var NotificationList = function NotificationList() {
@@ -8393,7 +7962,7 @@ var NotificationList = function NotificationList() {
8393
7962
  }
8394
7963
  }, React.createElement("h5", {
8395
7964
  className: "mb-2"
8396
- }, header$3), React.createElement(Row, {
7965
+ }, header$2), React.createElement(Row, {
8397
7966
  className: "my-2"
8398
7967
  }, React.createElement(Col, {
8399
7968
  md: 8
@@ -8493,6 +8062,35 @@ var NotificationList = function NotificationList() {
8493
8062
  }))));
8494
8063
  };
8495
8064
 
8065
+ var searchInputStyle = {
8066
+ height: 38
8067
+ };
8068
+
8069
+ var SearchBoxContainer = function SearchBoxContainer(_ref) {
8070
+ var text = _ref.text,
8071
+ initValue = _ref.initValue,
8072
+ onClick = _ref.onClick,
8073
+ onSearch = _ref.onSearch,
8074
+ placeholder = _ref.placeholder;
8075
+ return React.createElement("div", {
8076
+ className: "d-flex align-items-center"
8077
+ }, React.createElement("div", null, React.createElement(AddButton, {
8078
+ text: text,
8079
+ onClick: onClick
8080
+ })), React.createElement("div", {
8081
+ className: "flex-grow-1 ml-2"
8082
+ }, React.createElement(SearchBox$1, {
8083
+ initValue: initValue,
8084
+ onSearch: onSearch,
8085
+ placeholder: placeholder,
8086
+ style: searchInputStyle
8087
+ })));
8088
+ };
8089
+
8090
+ SearchBoxContainer.defaultProps = {
8091
+ placeholder: "Type something to search"
8092
+ };
8093
+
8496
8094
  var CustomTabs = function CustomTabs(props) {
8497
8095
  var history = useHistory();
8498
8096
  var location = useLocation();
@@ -8897,7 +8495,7 @@ var get$8 = function get(filter) {
8897
8495
  });
8898
8496
  };
8899
8497
 
8900
- var TITLE$a = "Gallery";
8498
+ var TITLE$9 = "Gallery";
8901
8499
  var defaultFilter = {
8902
8500
  searchString: ""
8903
8501
  };
@@ -9134,7 +8732,7 @@ var useGalleryList = function useGalleryList(isLibrary) {
9134
8732
  }
9135
8733
  }, [dispatch, filters]);
9136
8734
  useEffect(function () {
9137
- document.title = TITLE$a;
8735
+ document.title = TITLE$9;
9138
8736
  dispatch(setTargetMedia({
9139
8737
  targetMedia: undefined
9140
8738
  }));
@@ -9326,7 +8924,7 @@ var MediaDetail = function MediaDetail(_ref) {
9326
8924
 
9327
8925
  var MediaDetail$1 = React.memo(MediaDetail);
9328
8926
 
9329
- var header$4 = "Gallery";
8927
+ var header$3 = "Gallery";
9330
8928
 
9331
8929
  var GalleryList = function GalleryList(_ref) {
9332
8930
  var isLibrary = _ref.isLibrary;
@@ -9337,7 +8935,7 @@ var GalleryList = function GalleryList(_ref) {
9337
8935
  className: "fadeIn animated"
9338
8936
  }, !isLibrary && React.createElement("h5", {
9339
8937
  className: "mb-2"
9340
- }, header$4), React.createElement(Row, {
8938
+ }, header$3), React.createElement(Row, {
9341
8939
  className: "mb-2"
9342
8940
  }, React.createElement(Col, {
9343
8941
  md: 8
@@ -9961,6 +9559,9 @@ var commonReducer$8 = createReducer(initialState$e, function (builder) {
9961
9559
  });
9962
9560
  });
9963
9561
 
9562
+ var setUserList = createAction("users/setUserList");
9563
+ var setStudentList = createAction("users/setStudentList");
9564
+
9964
9565
  var initialState$f = {
9965
9566
  userList: [],
9966
9567
  totalItems: 0,
@@ -10540,133 +10141,489 @@ var widgetReducer = createReducer(initialState$y, function (builder) {
10540
10141
 
10541
10142
  var setBandScoreList = createAction("bandScores/setBandScoreList");
10542
10143
 
10543
- var initialState$z = {
10544
- bandScoreList: [],
10545
- totalItems: 0
10546
- };
10547
- var commonReducer$h = createReducer(initialState$z, function (builder) {
10548
- builder.addCase(setBandScoreList, function (state, action) {
10549
- state.bandScoreList = action.payload.bandScoreList;
10550
- state.totalItems = action.payload.totalItems;
10551
- }).addCase(reset, function (_state, _action) {
10552
- return initialState$z;
10553
- });
10554
- });
10144
+ var initialState$z = {
10145
+ bandScoreList: [],
10146
+ totalItems: 0
10147
+ };
10148
+ var commonReducer$h = createReducer(initialState$z, function (builder) {
10149
+ builder.addCase(setBandScoreList, function (state, action) {
10150
+ state.bandScoreList = action.payload.bandScoreList;
10151
+ state.totalItems = action.payload.totalItems;
10152
+ }).addCase(reset, function (_state, _action) {
10153
+ return initialState$z;
10154
+ });
10155
+ });
10156
+
10157
+ var setSchoolBlankDayList = createAction("schoolBlankDays/setSchoolBlankDayList");
10158
+
10159
+ var initialState$A = {
10160
+ schoolBlankDayList: [],
10161
+ totalItems: 0
10162
+ };
10163
+ var commonReducer$i = createReducer(initialState$A, function (builder) {
10164
+ builder.addCase(setSchoolBlankDayList, function (state, action) {
10165
+ state.schoolBlankDayList = action.payload.schoolBlankDayList;
10166
+ state.totalItems = action.payload.totalItems;
10167
+ }).addCase(reset, function (_state, _action) {
10168
+ return initialState$A;
10169
+ });
10170
+ });
10171
+
10172
+ var setStudentIdSelectedByTeacher = createAction("navMobile/setStudentIdSelectedByTeacher");
10173
+
10174
+ var initialState$B = {
10175
+ studentIdSelectedByTeacher: 0
10176
+ };
10177
+ var navMobileReducer = createReducer(initialState$B, function (builder) {
10178
+ builder.addCase(setStudentIdSelectedByTeacher, function (state, action) {
10179
+ state.studentIdSelectedByTeacher = action.payload;
10180
+ }).addCase(reset, function (_state, _action) {
10181
+ return initialState$B;
10182
+ });
10183
+ });
10184
+
10185
+ var rootReducer = combineReducers({
10186
+ common: commonReducer,
10187
+ classes: classReducer,
10188
+ conferenceRubrics: conferenceRubricReducer,
10189
+ faqs: commonReducer$1,
10190
+ skills: commonReducer$2,
10191
+ emailTemplate: emailTemplateReducer,
10192
+ suggestionBank: suggestionBankReducer,
10193
+ learningStrategy: learningStrategyReducer,
10194
+ subjects: commonReducer$3,
10195
+ learningSupportCategories: commonReducer$4,
10196
+ questionBank: questionBankReducer,
10197
+ badges: commonReducer$5,
10198
+ semester: commonReducer$6,
10199
+ goalExamples: commonReducer$8,
10200
+ users: commonReducer$9,
10201
+ reflections: reflectionReducer,
10202
+ reflectionResults: reflectionReducer$1,
10203
+ feedbacks: commonReducer$a,
10204
+ assessments: commonReducer$b,
10205
+ questionByCategory: questionCategoryReducer,
10206
+ mailCategory: questionBankReducer$1,
10207
+ questionCate: questionCateReducer,
10208
+ notification: questionBankReducer$2,
10209
+ myStudent: commonReducer$c,
10210
+ assignments: commonReducer$7,
10211
+ assistants: assistantReducer,
10212
+ sesstionTemplates: sessionTemplateReducer,
10213
+ sessionTemplateGeneralClasses: sessionTemplateGeneralClassReducer,
10214
+ tutorialScreens: tutorialScreenReducer,
10215
+ customAlerts: commonReducer$d,
10216
+ gallery: commonReducer$e,
10217
+ dashboard: dashboardReducer,
10218
+ sessionPlayer: sessionPlayerReducer,
10219
+ dataPlayer: dataPlayer,
10220
+ certificate: commonReducer$f,
10221
+ improveMyClass: commonReducer$g,
10222
+ widget: widgetReducer,
10223
+ bandScores: commonReducer$h,
10224
+ schoolBlankDays: commonReducer$i,
10225
+ navMobileReducer: navMobileReducer
10226
+ });
10227
+
10228
+ var store = configureStore({
10229
+ reducer: rootReducer,
10230
+ middleware: function middleware(getDefaultMiddleware) {
10231
+ return getDefaultMiddleware({
10232
+ serializableCheck: false
10233
+ }).concat(logger);
10234
+ }
10235
+ });
10236
+
10237
+ var isInViewport = function isInViewport(el) {
10238
+ var rect = el === null || el === void 0 ? void 0 : el.getBoundingClientRect();
10239
+ return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth);
10240
+ };
10241
+
10242
+ var debounce = function debounce(callback, wait) {
10243
+ var timeout = null;
10244
+ return function () {
10245
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
10246
+ args[_key] = arguments[_key];
10247
+ }
10248
+
10249
+ var next = function next() {
10250
+ return callback.apply(void 0, args);
10251
+ };
10252
+
10253
+ clearTimeout(timeout);
10254
+ timeout = setTimeout(next, wait);
10255
+ };
10256
+ };
10257
+
10258
+ var getTextFromHTML = function getTextFromHTML(htmlString) {
10259
+ var p = document.createElement("p");
10260
+ p.innerHTML = htmlString;
10261
+ var text = p.innerText;
10262
+ p.remove();
10263
+ return text;
10264
+ };
10265
+
10266
+ var generateRandomString = (function () {
10267
+ return (Math.random() + 1).toString(36).substring(7);
10268
+ });
10269
+
10270
+ var amplitudeClient = amplitude.getInstance();
10271
+
10272
+ var USER_URL$2 = "/admin/user";
10273
+ var CREATE_USER_URL = "/admin/create-user";
10274
+ var TITLE$a = "User list";
10275
+ var HOMEPAGE_TEACHER$1 = "/home";
10276
+ var HOMEPAGE_STUDENT$1 = "/home";
10277
+ var HOMEPAGE_ADMIN$1 = "/admin/dashboard";
10278
+ var HOMEPAGE_PARENT$1 = "/parent";
10279
+ var HOMEPAGE_DISTRICT$1 = "/admin/schools";
10280
+ var HOMEPAGE_EDU_TEACHER$1 = "/list-student";
10281
+
10282
+ var useUserList = function useUserList() {
10283
+ var history = useHistory();
10284
+ var query = new URLSearchParams(location.search);
10285
+ var queryName = query.get("query");
10286
+ var userList = useSelector(function (state) {
10287
+ return state.users.userList;
10288
+ });
10289
+ var totalItems = useSelector(function (state) {
10290
+ return state.users.totalItems;
10291
+ });
10292
+
10293
+ var _useFilters = useFilters(),
10294
+ filters = _useFilters.filters,
10295
+ changeFilters = _useFilters.changeFilters;
10296
+
10297
+ var _useState = useState(!!queryName ? queryName : ""),
10298
+ fullName = _useState[0],
10299
+ setFullName = _useState[1];
10300
+
10301
+ var isDistrict = window.location.host.includes("-district");
10302
+ var dispatch = useDispatch();
10303
+ var getData = useCallback(function (fullName) {
10304
+ try {
10305
+ var _temp3 = function _temp3() {
10306
+ dispatch(setLoading(false));
10307
+ };
10308
+
10309
+ dispatch(setLoading(true));
10310
+
10311
+ var _temp4 = _catch(function () {
10312
+ return Promise.resolve(fullName ? get$5(_extends({}, filters, {
10313
+ searchString: fullName
10314
+ })) : get$5(filters)).then(function (res) {
10315
+ var _res$data = res.data,
10316
+ items = _res$data.items,
10317
+ totalItems = _res$data.totalItems;
10318
+
10319
+ for (var _iterator = _createForOfIteratorHelperLoose(items), _step; !(_step = _iterator()).done;) {
10320
+ var user = _step.value;
10321
+ user.roles = user.roles.includes("EduTeacher") ? [ROLES.EDUTEACHER] : user.roles;
10322
+ }
10323
+
10324
+ dispatch(setUserList({
10325
+ userList: items,
10326
+ totalItems: totalItems
10327
+ }));
10328
+ });
10329
+ }, function (err) {
10330
+ var _err$response, _err$response$data;
10331
+
10332
+ dispatch(setAlert({
10333
+ type: "danger",
10334
+ 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
10335
+ }));
10336
+ });
10337
+
10338
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
10339
+ } catch (e) {
10340
+ return Promise.reject(e);
10341
+ }
10342
+ }, [dispatch, filters]);
10343
+ useEffect(function () {
10344
+ document.title = TITLE$a;
10345
+ }, []);
10346
+ useEffect(function () {
10347
+ if (!!fullName) {
10348
+ getData(fullName);
10349
+ setFullName(null);
10350
+ } else {
10351
+ getData();
10352
+ }
10353
+ }, [filters]);
10354
+ var removeData = useCallback(function (id) {
10355
+ dispatch(setLoading(true));
10356
+
10357
+ try {
10358
+ dispatch(setModal({
10359
+ isOpen: true,
10360
+ type: "warning",
10361
+ message: "Do you want to remove this user?",
10362
+ onConfirm: function () {
10363
+ try {
10364
+ return Promise.resolve(remove$3(id)).then(function () {
10365
+ dispatch(setAlert({
10366
+ type: "success",
10367
+ message: "Remove user successfully"
10368
+ }));
10369
+ changeFilters({
10370
+ currentPage: 1
10371
+ });
10372
+ });
10373
+ } catch (e) {
10374
+ return Promise.reject(e);
10375
+ }
10376
+ }
10377
+ }));
10378
+ } catch (err) {
10379
+ var _err$response2, _err$response2$data;
10380
+
10381
+ dispatch(setAlert({
10382
+ type: "danger",
10383
+ 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
10384
+ }));
10385
+ }
10386
+
10387
+ dispatch(setLoading(false));
10388
+ }, [filters]);
10389
+
10390
+ var redirectLoginUser = function redirectLoginUser(res) {
10391
+ var _res$data2 = res.data,
10392
+ token = _res$data2.token,
10393
+ id = _res$data2.id,
10394
+ firstName = _res$data2.firstName,
10395
+ lastName = _res$data2.lastName,
10396
+ roles = _res$data2.roles,
10397
+ email = _res$data2.email,
10398
+ profileImageFileName = _res$data2.profileImageFileName;
10399
+ localStorage.setItem(ACCESS_TOKEN, token);
10400
+ localStorage.removeItem(NOTIFICATION_ALERT_KEY);
10401
+ dispatch(setUser({
10402
+ id: id,
10403
+ firstName: firstName,
10404
+ lastName: lastName,
10405
+ roles: roles,
10406
+ email: email,
10407
+ profileImageFileName: profileImageFileName
10408
+ }));
10409
+
10410
+ if (isDistrict) {
10411
+ history.push(HOMEPAGE_DISTRICT$1);
10412
+ } else if (roles.includes("Admin")) {
10413
+ history.push(HOMEPAGE_ADMIN$1);
10414
+ } else if (roles.includes("Teacher") || roles.includes("Assistant")) {
10415
+ history.push(HOMEPAGE_TEACHER$1);
10416
+ } else if (roles.includes("Student")) {
10417
+ history.push(HOMEPAGE_STUDENT$1);
10418
+ } else if (roles.includes("Parent")) {
10419
+ history.push(HOMEPAGE_PARENT$1);
10420
+ } else if (roles.includes("EduTeacher")) {
10421
+ history.push(HOMEPAGE_EDU_TEACHER$1);
10422
+ }
10423
+ };
10555
10424
 
10556
- var setSchoolBlankDayList = createAction("schoolBlankDays/setSchoolBlankDayList");
10425
+ var swicthUser = useCallback(function (id) {
10426
+ try {
10427
+ var _temp7 = function _temp7() {
10428
+ dispatch(setLoading(false));
10429
+ };
10557
10430
 
10558
- var initialState$A = {
10559
- schoolBlankDayList: [],
10560
- totalItems: 0
10561
- };
10562
- var commonReducer$i = createReducer(initialState$A, function (builder) {
10563
- builder.addCase(setSchoolBlankDayList, function (state, action) {
10564
- state.schoolBlankDayList = action.payload.schoolBlankDayList;
10565
- state.totalItems = action.payload.totalItems;
10566
- }).addCase(reset, function (_state, _action) {
10567
- return initialState$A;
10568
- });
10569
- });
10431
+ dispatch(setLoading(true));
10570
10432
 
10571
- var setStudentIdSelectedByTeacher = createAction("navMobile/setStudentIdSelectedByTeacher");
10433
+ var _temp8 = _catch(function () {
10434
+ return Promise.resolve(switchAccountUser(id)).then(function (res) {
10435
+ var data = res.data;
10436
+ dispatch(setModal({
10437
+ isOpen: true,
10438
+ type: "warning",
10439
+ message: "Do you want to impersonate this user?",
10440
+ onConfirm: function () {
10441
+ try {
10442
+ var _temp11 = function _temp11() {
10443
+ dispatch(setLoading(false));
10444
+ };
10572
10445
 
10573
- var initialState$B = {
10574
- studentIdSelectedByTeacher: 0
10575
- };
10576
- var navMobileReducer = createReducer(initialState$B, function (builder) {
10577
- builder.addCase(setStudentIdSelectedByTeacher, function (state, action) {
10578
- state.studentIdSelectedByTeacher = action.payload;
10579
- }).addCase(reset, function (_state, _action) {
10580
- return initialState$B;
10581
- });
10582
- });
10446
+ dispatch(setLoading(true));
10447
+
10448
+ var _temp12 = _catch(function () {
10449
+ var req = {
10450
+ email: data.email,
10451
+ password: "default",
10452
+ accessToken: data.token
10453
+ };
10454
+ return Promise.resolve(logIn(req)).then(function (res) {
10455
+ localStorage.clear();
10456
+ redirectLoginUser(res);
10457
+ });
10458
+ }, function (err) {
10459
+ var _err$response3, _err$response3$data;
10583
10460
 
10584
- var rootReducer = combineReducers({
10585
- common: commonReducer,
10586
- classes: classReducer,
10587
- conferenceRubrics: conferenceRubricReducer,
10588
- faqs: commonReducer$1,
10589
- skills: commonReducer$2,
10590
- emailTemplate: emailTemplateReducer,
10591
- suggestionBank: suggestionBankReducer,
10592
- learningStrategy: learningStrategyReducer,
10593
- subjects: commonReducer$3,
10594
- learningSupportCategories: commonReducer$4,
10595
- questionBank: questionBankReducer,
10596
- badges: commonReducer$5,
10597
- semester: commonReducer$6,
10598
- goalExamples: commonReducer$8,
10599
- users: commonReducer$9,
10600
- reflections: reflectionReducer,
10601
- reflectionResults: reflectionReducer$1,
10602
- feedbacks: commonReducer$a,
10603
- assessments: commonReducer$b,
10604
- questionByCategory: questionCategoryReducer,
10605
- mailCategory: questionBankReducer$1,
10606
- questionCate: questionCateReducer,
10607
- notification: questionBankReducer$2,
10608
- myStudent: commonReducer$c,
10609
- assignments: commonReducer$7,
10610
- assistants: assistantReducer,
10611
- sesstionTemplates: sessionTemplateReducer,
10612
- sessionTemplateGeneralClasses: sessionTemplateGeneralClassReducer,
10613
- tutorialScreens: tutorialScreenReducer,
10614
- customAlerts: commonReducer$d,
10615
- gallery: commonReducer$e,
10616
- dashboard: dashboardReducer,
10617
- sessionPlayer: sessionPlayerReducer,
10618
- dataPlayer: dataPlayer,
10619
- certificate: commonReducer$f,
10620
- improveMyClass: commonReducer$g,
10621
- widget: widgetReducer,
10622
- bandScores: commonReducer$h,
10623
- schoolBlankDays: commonReducer$i,
10624
- navMobileReducer: navMobileReducer
10625
- });
10461
+ setAlert({
10462
+ type: "danger",
10463
+ 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
10464
+ });
10465
+ });
10626
10466
 
10627
- var store = configureStore({
10628
- reducer: rootReducer,
10629
- middleware: function middleware(getDefaultMiddleware) {
10630
- return getDefaultMiddleware({
10631
- serializableCheck: false
10632
- }).concat(logger);
10633
- }
10634
- });
10467
+ return Promise.resolve(_temp12 && _temp12.then ? _temp12.then(_temp11) : _temp11(_temp12));
10468
+ } catch (e) {
10469
+ return Promise.reject(e);
10470
+ }
10471
+ }
10472
+ }));
10473
+ });
10474
+ }, function (err) {
10475
+ var _err$response4, _err$response4$data;
10635
10476
 
10636
- var isInViewport = function isInViewport(el) {
10637
- var rect = el === null || el === void 0 ? void 0 : el.getBoundingClientRect();
10638
- return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth);
10639
- };
10477
+ dispatch(setAlert({
10478
+ type: "danger",
10479
+ 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
10480
+ }));
10481
+ });
10640
10482
 
10641
- var debounce = function debounce(callback, wait) {
10642
- var timeout = null;
10643
- return function () {
10644
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
10645
- args[_key] = arguments[_key];
10483
+ return Promise.resolve(_temp8 && _temp8.then ? _temp8.then(_temp7) : _temp7(_temp8));
10484
+ } catch (e) {
10485
+ return Promise.reject(e);
10646
10486
  }
10487
+ }, [filters]);
10647
10488
 
10648
- var next = function next() {
10649
- return callback.apply(void 0, args);
10650
- };
10489
+ var reDirectDetailPage = function reDirectDetailPage(id) {
10490
+ var url = !!id ? USER_URL$2 + "/" + id : CREATE_USER_URL;
10491
+ history.push(url);
10492
+ };
10651
10493
 
10652
- clearTimeout(timeout);
10653
- timeout = setTimeout(next, wait);
10494
+ return {
10495
+ userList: userList,
10496
+ totalItems: totalItems,
10497
+ filters: filters,
10498
+ queryName: queryName,
10499
+ getData: getData,
10500
+ removeData: removeData,
10501
+ changeFilters: changeFilters,
10502
+ reDirectDetailPage: reDirectDetailPage,
10503
+ swicthUser: swicthUser
10654
10504
  };
10655
10505
  };
10656
10506
 
10657
- var getTextFromHTML = function getTextFromHTML(htmlString) {
10658
- var p = document.createElement("p");
10659
- p.innerHTML = htmlString;
10660
- var text = p.innerText;
10661
- p.remove();
10662
- return text;
10663
- };
10507
+ var header$4 = "User";
10664
10508
 
10665
- var generateRandomString = (function () {
10666
- return (Math.random() + 1).toString(36).substring(7);
10667
- });
10509
+ var UserList = function UserList() {
10510
+ var _useUserList = useUserList(),
10511
+ queryName = _useUserList.queryName,
10512
+ userList = _useUserList.userList,
10513
+ totalItems = _useUserList.totalItems,
10514
+ filters = _useUserList.filters,
10515
+ removeData = _useUserList.removeData,
10516
+ changeFilters = _useUserList.changeFilters,
10517
+ reDirectDetailPage = _useUserList.reDirectDetailPage,
10518
+ swicthUser = _useUserList.swicthUser;
10668
10519
 
10669
- var amplitudeClient = amplitude.getInstance();
10520
+ var _useTranslation = useTranslation(),
10521
+ t = _useTranslation.t;
10522
+
10523
+ return React.createElement("div", {
10524
+ className: "fadeIn animated"
10525
+ }, React.createElement("h5", {
10526
+ className: "mb-2"
10527
+ }, t("" + header$4)), React.createElement(Row, {
10528
+ className: "my-2"
10529
+ }, React.createElement(Col, {
10530
+ md: 8
10531
+ }, React.createElement(SearchBoxContainer, {
10532
+ text: t("create_user"),
10533
+ onClick: function onClick() {
10534
+ return reDirectDetailPage();
10535
+ },
10536
+ initValue: !!queryName ? queryName : "",
10537
+ onSearch: function onSearch(searchString) {
10538
+ return changeFilters({
10539
+ searchString: searchString
10540
+ });
10541
+ },
10542
+ placeholder: t("type_something_to_search_by_user_name")
10543
+ })), React.createElement(Col, {
10544
+ md: 4,
10545
+ className: "d-flex justify-content-end align-items-center"
10546
+ }, t("total_of_users"), " : ", totalItems)), React.createElement(Row, {
10547
+ className: "mb-2"
10548
+ }, React.createElement(Col, {
10549
+ md: 12
10550
+ }, userList && userList.length > 0 ? React.createElement("div", null, React.createElement(Table, {
10551
+ bordered: true,
10552
+ hover: true,
10553
+ striped: true,
10554
+ responsive: true,
10555
+ size: "sm"
10556
+ }, React.createElement("thead", null, React.createElement("tr", null, React.createElement("th", {
10557
+ className: "align-top"
10558
+ }, t("name")), React.createElement("th", {
10559
+ className: "align-top"
10560
+ }, t("email")), React.createElement("th", {
10561
+ className: "align-top"
10562
+ }, t("age")), React.createElement("th", {
10563
+ className: "align-top"
10564
+ }, t("role")), React.createElement("th", {
10565
+ className: "align-top"
10566
+ }, t("active_status")), React.createElement("th", {
10567
+ className: "align-top"
10568
+ }, t("created_time")), React.createElement("th", {
10569
+ className: "text-center"
10570
+ }, t("action")))), React.createElement("tbody", null, userList.map(function (record) {
10571
+ return React.createElement("tr", {
10572
+ key: record.id
10573
+ }, React.createElement("td", {
10574
+ className: "align-middle"
10575
+ }, React.createElement(LinkEditButton, {
10576
+ label: "" + record.fullName,
10577
+ onClick: function onClick() {
10578
+ return reDirectDetailPage(record.id);
10579
+ }
10580
+ })), React.createElement("td", {
10581
+ className: "align-middle"
10582
+ }, record.email), React.createElement("td", {
10583
+ className: "align-middle"
10584
+ }, differenceInCalendarYears(new Date(), new Date(record.dateOfBirth))), React.createElement("td", {
10585
+ className: "align-middle"
10586
+ }, !!record.roles && record.roles.join(", ")), React.createElement("td", {
10587
+ className: "align-middle"
10588
+ }, record.isActive ? t("active") : t("inactive")), React.createElement("td", {
10589
+ className: "align-middle"
10590
+ }, utcToLocalTime(record === null || record === void 0 ? void 0 : record.createTime, "yyyy-MM-DD HH:mm")), React.createElement("td", {
10591
+ className: "text-center align-middle"
10592
+ }, React.createElement(FaUsersCog, {
10593
+ style: {
10594
+ fontSize: "18px",
10595
+ marginRight: "10px",
10596
+ cursor: "pointer"
10597
+ },
10598
+ onClick: function onClick() {
10599
+ return swicthUser(record.id);
10600
+ }
10601
+ }), React.createElement(DeleteButtonIcon, {
10602
+ onClick: function onClick() {
10603
+ return removeData(record.id);
10604
+ }
10605
+ })));
10606
+ })))) : React.createElement(EmptyDataAlert, {
10607
+ label: t("user")
10608
+ })), React.createElement(Col, {
10609
+ md: 12
10610
+ }, React.createElement(CustomPagination, {
10611
+ filters: filters,
10612
+ totalRecordCount: totalItems,
10613
+ changePageSize: function changePageSize(pageSize) {
10614
+ return changeFilters({
10615
+ pageSize: pageSize
10616
+ });
10617
+ },
10618
+ changePage: function changePage(currentPage) {
10619
+ return changeFilters({
10620
+ currentPage: currentPage
10621
+ });
10622
+ }
10623
+ }))));
10624
+ };
10625
+
10626
+ var amplitudeClient$1 = amplitude.getInstance();
10670
10627
 
10671
- 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, Images, LICENSE_AGGRID, LinkEditButton, Loading, Login, MediaList, NOTIFICATION_ALERT_KEY, NOTIFICATION_CHANNEL, NotFound, NotificationList, 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, 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 };
10628
+ export { ACCESS_TOKEN, ANSWER_EDITOR_HEIGHT, AcademicClassSelector, AddButton, BASE_URL, CHAT_CHANNEL, 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, 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 };
10672
10629
  //# sourceMappingURL=index.modern.js.map