touchstudy-core 0.1.139 → 0.1.141

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.
Files changed (74) hide show
  1. package/README.md +46 -46
  2. package/dist/StudyTouch_Character_v1_Question~jLFvuYmI.png +0 -0
  3. package/dist/components/Chats/ChatHeader.d.ts +25 -0
  4. package/dist/components/Chats/ChatItem.d.ts +31 -0
  5. package/dist/components/Chats/ChatLeftItem.d.ts +4 -0
  6. package/dist/components/Chats/ChatList.d.ts +14 -0
  7. package/dist/components/Chats/ChatRightItem.d.ts +4 -0
  8. package/dist/components/Chats/InputChat.d.ts +16 -0
  9. package/dist/components/Chats/components/CustomTooltip.d.ts +2 -0
  10. package/dist/components/CkEditor/CkEditor.d.ts +19 -0
  11. package/dist/components/CkEditor/config.d.ts +19 -0
  12. package/dist/components/CkEditor/index.d.ts +2 -0
  13. package/dist/components/ErrorHandler.d.ts +6 -0
  14. package/dist/components/LabelRequired.d.ts +8 -0
  15. package/dist/components/List/configs/interfaces.d.ts +1 -1
  16. package/dist/components/List/partials/VirtualListItem.d.ts +1 -1
  17. package/dist/components/Selectors/InActiveAcademySelector.d.ts +16 -0
  18. package/dist/components/Tables/VirtualTableRowItem.d.ts +6 -5
  19. package/dist/components/Tables/VirtualTableView.d.ts +1 -1
  20. package/dist/components/Tables/configs/interfaces.d.ts +11 -4
  21. package/dist/components/Tables/hooks/useVirtualTableView.d.ts +7 -0
  22. package/dist/containers/Academies/hooks/usePassCodeDialog.d.ts +10 -0
  23. package/dist/containers/ExamResult/components/MyAnswer/components/CreateNewQuestion.d.ts +15 -0
  24. package/dist/containers/Exams/configs/types.d.ts +22 -0
  25. package/dist/containers/Notes/components/NoteItem.d.ts +1 -0
  26. package/dist/containers/PreparedTextbook/apiClients/academyService.d.ts +1 -0
  27. package/dist/containers/PreparedTextbook/apiClients/textbookService.d.ts +1 -1
  28. package/dist/containers/PreparedTextbook/components/AcademySelector.d.ts +1 -0
  29. package/dist/containers/PreparedTextbook/components/Article.d.ts +2 -3
  30. package/dist/containers/PreparedTextbook/components/OwnerSelector.d.ts +2 -2
  31. package/dist/containers/PreparedTextbook/components/PreparedTextbookForm.d.ts +1 -0
  32. package/dist/containers/PreparedTextbook/components/TextbookOwners.d.ts +13 -0
  33. package/dist/containers/PreparedTextbook/configs/types.d.ts +1 -3
  34. package/dist/containers/PreparedTextbook/hooks/useSelect.d.ts +8 -10
  35. package/dist/containers/Users/components/Dialogs/DeleteUserCsvDialog.d.ts +10 -0
  36. package/dist/containers/Users/components/Dialogs/RecentUserActionDialog.d.ts +9 -0
  37. package/dist/containers/Users/components/Dialogs/UserDialog.d.ts +12 -0
  38. package/dist/index.css +9 -9
  39. package/dist/index.js +762 -454
  40. package/dist/index.js.map +1 -1
  41. package/dist/index.modern.js +764 -465
  42. package/dist/index.modern.js.map +1 -1
  43. package/dist/tests/performances/do-exam-session-list-student.d.ts +19 -0
  44. package/dist/tests/performances/do-exam-session-request-answer-one-time.d.ts +19 -0
  45. package/dist/tests/performances/do-exam-session-skip-answer.d.ts +19 -0
  46. package/dist/tests/performances/do-exam-session2.d.ts +19 -0
  47. package/dist/utils/canAccessRoute.d.ts +2 -0
  48. package/dist/utils/constants.d.ts +2 -10
  49. package/dist/utils/diffFromNow.d.ts +3 -0
  50. package/dist/utils/encodeParams.d.ts +2 -0
  51. package/dist/utils/formatTime.d.ts +4 -0
  52. package/dist/utils/getAcademyDomain.d.ts +2 -0
  53. package/dist/utils/getAccessToken.d.ts +2 -0
  54. package/dist/utils/getErrorMessage.d.ts +1 -0
  55. package/dist/utils/getLanguage.d.ts +2 -0
  56. package/dist/utils/getLearningSpace.d.ts +2 -0
  57. package/dist/utils/getRedirectUrl.d.ts +2 -0
  58. package/dist/utils/helpers.d.ts +22 -0
  59. package/dist/utils/index.d.ts +1 -0
  60. package/dist/utils/isLocalHost.d.ts +2 -0
  61. package/dist/utils/minutesToTimeSpan.d.ts +2 -0
  62. package/dist/utils/pusherTo.d.ts +1 -0
  63. package/dist/utils/times.d.ts +6 -0
  64. package/dist/utils/toISOString.d.ts +2 -0
  65. package/dist/utils/toLocalTime.d.ts +1 -0
  66. package/dist/utils/types/checkSuperUrl.d.ts +1 -0
  67. package/dist/utils/types.d.ts +9 -0
  68. package/dist/utils/utcToLocalTime.d.ts +2 -0
  69. package/package.json +102 -102
  70. package/dist/.DS_Store +0 -0
  71. package/dist/components/.DS_Store +0 -0
  72. package/dist/containers/.DS_Store +0 -0
  73. package/dist/redux/.DS_Store +0 -0
  74. package/dist/utils/.DS_Store +0 -0
package/dist/index.js CHANGED
@@ -25,8 +25,9 @@ var _$5 = _interopDefault(require('lodash'));
25
25
  var reactGoogleLogin = require('@leecheuk/react-google-login');
26
26
  require('moment/locale/ko.js');
27
27
  require('moment/locale/en-au.js');
28
- var formik = require('formik');
29
28
  var reactVirtualized = require('react-virtualized');
29
+ var formik = require('formik');
30
+ var styles$c = require('@mui/material/styles');
30
31
  var tinymce = _interopDefault(require('tinymce'));
31
32
  require('@wiris/mathtype-tinymce6');
32
33
  var tinymceReact = require('@tinymce/tinymce-react');
@@ -66,7 +67,6 @@ var reactHookForm = require('react-hook-form');
66
67
  var yup$1 = require('@hookform/resolvers/yup');
67
68
  var pi = require('react-icons/pi');
68
69
  var Container = _interopDefault(require('@mui/material/Container'));
69
- var styles$c = require('@mui/material/styles');
70
70
  var Slider = _interopDefault(require('react-slick'));
71
71
  var gr = require('react-icons/gr');
72
72
  var Popover = _interopDefault(require('@mui/material/Popover'));
@@ -821,7 +821,7 @@ var delete_users_csv = "사용자 CSV 삭제";
821
821
  var are_you_sure_to_delete_users = "사용자를 삭제하시겠습니까?";
822
822
  var enter_phone_number = "전화번호를 입력하세요";
823
823
  var enter_school_name = "학교 이름을 입력하세요";
824
- var enter_grade = "성적 입력 (먼저 학교 이름을 입력하세요)";
824
+ var enter_grade = "성적 입력";
825
825
  var enter_major_name = "부서명을 입력하세요";
826
826
  var enter_parent_name = "부모 이름을 입력하세요";
827
827
  var enter_parent_phone_number = "부모 전화번호를 입력하세요";
@@ -1423,18 +1423,39 @@ var current_correct_answer_entered = "현재 입력한 정답";
1423
1423
  var correct_answer_is_required = "정답은 필수입니다.";
1424
1424
  var cancel_2 = "취소하기";
1425
1425
  var article_required = "기사가 필요합니다";
1426
- var elementary_school_1st_grade = "초등학교 1학년";
1427
- var elementary_school_2nd_grade = "초등학교 2학년";
1428
- var elementary_school_3rd_grade = "초등학교 3학년";
1429
- var elementary_school_4th_grade = "초등학교 4학년";
1430
- var elementary_school_5th_grade = "초등학교 5학년";
1431
- var elementary_school_6th_grade = "초등학교 6학년";
1432
- var middle_school_1st_grade = "중학교 1학년";
1433
- var middle_school_2nd_grade = "중학교 2학년";
1434
- var middle_school_3rd_grade = "중학교 3학년";
1435
- var high_school_1st_grade = "고등학교 1학년";
1436
- var high_school_2nd_grade = "고등학교 2학년";
1437
- var high_school_3rd_grade = "고등학교 3학년";
1426
+ var elementary_school_1st_grade = "1";
1427
+ var elementary_school_2nd_grade = "2";
1428
+ var elementary_school_3rd_grade = "3";
1429
+ var elementary_school_4th_grade = "4";
1430
+ var elementary_school_5th_grade = "5";
1431
+ var elementary_school_6th_grade = "6";
1432
+ var middle_school_1st_grade = "1";
1433
+ var middle_school_2nd_grade = "2";
1434
+ var middle_school_3rd_grade = "3";
1435
+ var high_school_1st_grade = "1";
1436
+ var high_school_2nd_grade = "2";
1437
+ var high_school_3rd_grade = "3";
1438
+ var n_year_retaker = "N수생";
1439
+ var es_1st = "초1";
1440
+ var es_2nd = "초2";
1441
+ var es_3rd = "초3";
1442
+ var es_4th = "초4";
1443
+ var es_5th = "초5";
1444
+ var es_6th = "초6";
1445
+ var ms_1st = "중1";
1446
+ var ms_2nd = "중2";
1447
+ var ms_3rd = "중3";
1448
+ var hs_1st = "고1";
1449
+ var hs_2nd = "고2";
1450
+ var hs_3rd = "고3";
1451
+ var n_retaker = "N수생";
1452
+ var today_class = "오늘 수업";
1453
+ var unit_number = "대단원 {{number}}";
1454
+ var sub_unit_number = "소단원 {{number}}";
1455
+ var text_group_n = "지문 그룹 {{n}}";
1456
+ var text_detail_n = "지문 상세 {{n}}";
1457
+ var question_group_n = "문제 그룹 {{n}}";
1458
+ var placeholder_teacher_selector = "선생님을 검색하려면 최소 2글자를 입력하세요.";
1438
1459
  var lang_ko = {
1439
1460
  problem_solving: problem_solving,
1440
1461
  my_story: my_story,
@@ -2507,7 +2528,28 @@ var lang_ko = {
2507
2528
  middle_school_3rd_grade: middle_school_3rd_grade,
2508
2529
  high_school_1st_grade: high_school_1st_grade,
2509
2530
  high_school_2nd_grade: high_school_2nd_grade,
2510
- high_school_3rd_grade: high_school_3rd_grade
2531
+ high_school_3rd_grade: high_school_3rd_grade,
2532
+ n_year_retaker: n_year_retaker,
2533
+ es_1st: es_1st,
2534
+ es_2nd: es_2nd,
2535
+ es_3rd: es_3rd,
2536
+ es_4th: es_4th,
2537
+ es_5th: es_5th,
2538
+ es_6th: es_6th,
2539
+ ms_1st: ms_1st,
2540
+ ms_2nd: ms_2nd,
2541
+ ms_3rd: ms_3rd,
2542
+ hs_1st: hs_1st,
2543
+ hs_2nd: hs_2nd,
2544
+ hs_3rd: hs_3rd,
2545
+ n_retaker: n_retaker,
2546
+ today_class: today_class,
2547
+ unit_number: unit_number,
2548
+ sub_unit_number: sub_unit_number,
2549
+ text_group_n: text_group_n,
2550
+ text_detail_n: text_detail_n,
2551
+ question_group_n: question_group_n,
2552
+ placeholder_teacher_selector: placeholder_teacher_selector
2511
2553
  };
2512
2554
 
2513
2555
  var problem_solving$1 = "Problem Solving";
@@ -3011,7 +3053,7 @@ var delete_users_csv$1 = "Delete users csv";
3011
3053
  var are_you_sure_to_delete_users$1 = "Are you sure to delete users?";
3012
3054
  var enter_phone_number$1 = "Enter phone number";
3013
3055
  var enter_school_name$1 = "Enter school name";
3014
- var enter_grade$1 = "Enter grade (please enter school name first)";
3056
+ var enter_grade$1 = "Enter grade";
3015
3057
  var enter_major_name$1 = "Enter department name";
3016
3058
  var enter_parent_name$1 = "Enter parent name";
3017
3059
  var enter_parent_phone_number$1 = "Enter parent phone number";
@@ -3603,6 +3645,27 @@ var middle_school_3rd_grade$1 = "Middle school 3rd grade";
3603
3645
  var high_school_1st_grade$1 = "High school 1st grade";
3604
3646
  var high_school_2nd_grade$1 = "High school 2nd grade";
3605
3647
  var high_school_3rd_grade$1 = "High school 3rd grade";
3648
+ var n_year_retaker$1 = "N-year retaker";
3649
+ var es_1st$1 = "1st ES";
3650
+ var es_2nd$1 = "2nd ES";
3651
+ var es_3rd$1 = "3rd ES";
3652
+ var es_4th$1 = "4th ES";
3653
+ var es_5th$1 = "5th ES";
3654
+ var es_6th$1 = "6th ES";
3655
+ var ms_1st$1 = "1st MS";
3656
+ var ms_2nd$1 = "2nd MS";
3657
+ var ms_3rd$1 = "3rd MS";
3658
+ var hs_1st$1 = "1st HS";
3659
+ var hs_2nd$1 = "2nd HS";
3660
+ var hs_3rd$1 = "3rd HS";
3661
+ var n_retaker$1 = "N-retaker";
3662
+ var today_class$1 = "Today's class";
3663
+ var unit_number$1 = "Unit {{number}}";
3664
+ var sub_unit_number$1 = "Sub-unit {{number}}";
3665
+ var text_group_n$1 = "Text group {{n}}";
3666
+ var text_detail_n$1 = "Text details {{n}}";
3667
+ var question_group_n$1 = "Question group {{n}}";
3668
+ var placeholder_teacher_selector$1 = "Type at least 2 characters to search teacher";
3606
3669
  var lang_en = {
3607
3670
  problem_solving: problem_solving$1,
3608
3671
  my_story: my_story$1,
@@ -4677,7 +4740,28 @@ var lang_en = {
4677
4740
  middle_school_3rd_grade: middle_school_3rd_grade$1,
4678
4741
  high_school_1st_grade: high_school_1st_grade$1,
4679
4742
  high_school_2nd_grade: high_school_2nd_grade$1,
4680
- high_school_3rd_grade: high_school_3rd_grade$1
4743
+ high_school_3rd_grade: high_school_3rd_grade$1,
4744
+ n_year_retaker: n_year_retaker$1,
4745
+ es_1st: es_1st$1,
4746
+ es_2nd: es_2nd$1,
4747
+ es_3rd: es_3rd$1,
4748
+ es_4th: es_4th$1,
4749
+ es_5th: es_5th$1,
4750
+ es_6th: es_6th$1,
4751
+ ms_1st: ms_1st$1,
4752
+ ms_2nd: ms_2nd$1,
4753
+ ms_3rd: ms_3rd$1,
4754
+ hs_1st: hs_1st$1,
4755
+ hs_2nd: hs_2nd$1,
4756
+ hs_3rd: hs_3rd$1,
4757
+ n_retaker: n_retaker$1,
4758
+ today_class: today_class$1,
4759
+ unit_number: unit_number$1,
4760
+ sub_unit_number: sub_unit_number$1,
4761
+ text_group_n: text_group_n$1,
4762
+ text_detail_n: text_detail_n$1,
4763
+ question_group_n: question_group_n$1,
4764
+ placeholder_teacher_selector: placeholder_teacher_selector$1
4681
4765
  };
4682
4766
 
4683
4767
  i18n__default.use(reactI18next.initReactI18next).init({
@@ -4704,63 +4788,6 @@ var PrintState;
4704
4788
  PrintState[PrintState["Paused"] = 3] = "Paused";
4705
4789
  })(PrintState || (PrintState = {}));
4706
4790
 
4707
- (function (PreparedType) {
4708
- PreparedType[PreparedType["csat_past_questions"] = 1] = "csat_past_questions";
4709
- PreparedType[PreparedType["official_mock_exam"] = 2] = "official_mock_exam";
4710
- PreparedType[PreparedType["private_mock_exam"] = 3] = "private_mock_exam";
4711
- })(exports.PreparedType || (exports.PreparedType = {}));
4712
-
4713
- (function (ExamEvent) {
4714
- ExamEvent["StartExam"] = "start-exam";
4715
- ExamEvent["TerminateExam"] = "terminate-exam";
4716
- ExamEvent["AddExtraDuration"] = "add-extra-duration-exam";
4717
- ExamEvent["TeacherKickOutStudent"] = "teacher-kick-out-student";
4718
- })(exports.ExamEvent || (exports.ExamEvent = {}));
4719
-
4720
- (function (ExamStatus) {
4721
- ExamStatus[ExamStatus["Default"] = 0] = "Default";
4722
- ExamStatus[ExamStatus["Pending"] = 1] = "Pending";
4723
- ExamStatus[ExamStatus["InProgress"] = 2] = "InProgress";
4724
- ExamStatus[ExamStatus["Completed"] = 3] = "Completed";
4725
- })(exports.ExamStatus || (exports.ExamStatus = {}));
4726
- (function (QuestionAnswerType) {
4727
- QuestionAnswerType[QuestionAnswerType["SingleChoice"] = 0] = "SingleChoice";
4728
- QuestionAnswerType[QuestionAnswerType["MultipleChoice"] = 1] = "MultipleChoice";
4729
- QuestionAnswerType[QuestionAnswerType["ShortAnswer"] = 2] = "ShortAnswer";
4730
- })(exports.QuestionAnswerType || (exports.QuestionAnswerType = {}));
4731
-
4732
- (function (OrderType) {
4733
- OrderType["ASC"] = "ASC";
4734
- OrderType["DESC"] = "DESC";
4735
- })(exports.OrderType || (exports.OrderType = {}));
4736
-
4737
- (function (RecentUserAction) {
4738
- RecentUserAction["ViewedUser"] = "ViewedUser";
4739
- RecentUserAction["ViewedQNA"] = "ViewedQNA";
4740
- RecentUserAction["ViewedExamResult"] = "ViewedExamResult";
4741
- RecentUserAction["PrintedExamResult"] = "PrintedExamResult";
4742
- RecentUserAction["ViewedAttendance"] = "ViewedAttendance";
4743
- })(exports.RecentUserAction || (exports.RecentUserAction = {}));
4744
-
4745
- (function (UserSortColumn) {
4746
- UserSortColumn["CreatedAt"] = "CreatedAt";
4747
- UserSortColumn["FullName"] = "FullName";
4748
- UserSortColumn["PhoneNumber"] = "PhoneNumber";
4749
- UserSortColumn["Email"] = "Email";
4750
- UserSortColumn["SchoolName"] = "SchoolName";
4751
- UserSortColumn["Major"] = "Major";
4752
- UserSortColumn["ParentName"] = "ParentName";
4753
- UserSortColumn["ParentPhoneNumber"] = "ParentPhoneNumber";
4754
- UserSortColumn["Grade"] = "Grade";
4755
- })(exports.UserSortColumn || (exports.UserSortColumn = {}));
4756
-
4757
- (function (SchoolType) {
4758
- SchoolType[SchoolType["Default"] = 0] = "Default";
4759
- SchoolType[SchoolType["Elementary"] = 1] = "Elementary";
4760
- SchoolType[SchoolType["Middle"] = 2] = "Middle";
4761
- SchoolType[SchoolType["High"] = 3] = "High";
4762
- })(exports.SchoolType || (exports.SchoolType = {}));
4763
-
4764
4791
  var GOOGLE_RECAPTCHA_KEY = process.env.REACT_APP_GOOGLE_RECAPTCHA_KEY || "";
4765
4792
  var GOOGLE_CLIENT_ID = process.env.REACT_APP_GOOGLE_CLIENT_ID || "";
4766
4793
  var GOOGLE_RECAPTCHA_ID = process.env.REACT_APP_GOOGLE_RECAPTCHA_ID || "";
@@ -4829,17 +4856,7 @@ var DEFAULT_PAGING_RESPONSE = {
4829
4856
  totalItems: 0,
4830
4857
  totalPages: 0
4831
4858
  };
4832
- var SCHOOL_OPTIONS = [{
4833
- label: "elementary_school",
4834
- value: exports.SchoolType.Elementary
4835
- }, {
4836
- label: "middle_school",
4837
- value: exports.SchoolType.Middle
4838
- }, {
4839
- label: "high_school",
4840
- value: exports.SchoolType.High
4841
- }];
4842
- var ELEMENTARY_GRADES = [{
4859
+ var GRADE_OPTIONS = [{
4843
4860
  label: "elementary_school_1st_grade",
4844
4861
  value: 1
4845
4862
  }, {
@@ -4857,26 +4874,67 @@ var ELEMENTARY_GRADES = [{
4857
4874
  }, {
4858
4875
  label: "elementary_school_6th_grade",
4859
4876
  value: 6
4860
- }];
4861
- var MIDDLE_GRADES = [{
4877
+ }, {
4862
4878
  label: "middle_school_1st_grade",
4863
- value: 1
4879
+ value: 7
4864
4880
  }, {
4865
4881
  label: "middle_school_2nd_grade",
4866
- value: 2
4882
+ value: 8
4867
4883
  }, {
4868
4884
  label: "middle_school_3rd_grade",
4869
- value: 3
4870
- }];
4871
- var HIGH_GRADES = [{
4885
+ value: 9
4886
+ }, {
4872
4887
  label: "high_school_1st_grade",
4873
- value: 1
4888
+ value: 10
4874
4889
  }, {
4875
4890
  label: "high_school_2nd_grade",
4876
- value: 2
4891
+ value: 11
4877
4892
  }, {
4878
4893
  label: "high_school_3rd_grade",
4894
+ value: 12
4895
+ }, {
4896
+ label: "n_year_retaker",
4897
+ value: 13
4898
+ }];
4899
+ var BRIEF_GRADE_OPTIONS = [{
4900
+ label: "es_1st",
4901
+ value: 1
4902
+ }, {
4903
+ label: "es_2nd",
4904
+ value: 2
4905
+ }, {
4906
+ label: "es_3rd",
4879
4907
  value: 3
4908
+ }, {
4909
+ label: "es_4th",
4910
+ value: 4
4911
+ }, {
4912
+ label: "es_5th",
4913
+ value: 5
4914
+ }, {
4915
+ label: "es_6th",
4916
+ value: 6
4917
+ }, {
4918
+ label: "ms_1st",
4919
+ value: 7
4920
+ }, {
4921
+ label: "ms_2nd",
4922
+ value: 8
4923
+ }, {
4924
+ label: "ms_3rd",
4925
+ value: 9
4926
+ }, {
4927
+ label: "hs_1st",
4928
+ value: 10
4929
+ }, {
4930
+ label: "hs_2nd",
4931
+ value: 11
4932
+ }, {
4933
+ label: "hs_3rd",
4934
+ value: 12
4935
+ }, {
4936
+ label: "n_retaker",
4937
+ value: 13
4880
4938
  }];
4881
4939
 
4882
4940
  var utcToLocalTime = (function (time, FORMAT) {
@@ -6022,6 +6080,63 @@ function _finally(body, finalizer) {
6022
6080
  return finalizer();
6023
6081
  }
6024
6082
 
6083
+ (function (PreparedType) {
6084
+ PreparedType[PreparedType["csat_past_questions"] = 1] = "csat_past_questions";
6085
+ PreparedType[PreparedType["official_mock_exam"] = 2] = "official_mock_exam";
6086
+ PreparedType[PreparedType["private_mock_exam"] = 3] = "private_mock_exam";
6087
+ })(exports.PreparedType || (exports.PreparedType = {}));
6088
+
6089
+ (function (ExamEvent) {
6090
+ ExamEvent["StartExam"] = "start-exam";
6091
+ ExamEvent["TerminateExam"] = "terminate-exam";
6092
+ ExamEvent["AddExtraDuration"] = "add-extra-duration-exam";
6093
+ ExamEvent["TeacherKickOutStudent"] = "teacher-kick-out-student";
6094
+ })(exports.ExamEvent || (exports.ExamEvent = {}));
6095
+
6096
+ (function (ExamStatus) {
6097
+ ExamStatus[ExamStatus["Default"] = 0] = "Default";
6098
+ ExamStatus[ExamStatus["Pending"] = 1] = "Pending";
6099
+ ExamStatus[ExamStatus["InProgress"] = 2] = "InProgress";
6100
+ ExamStatus[ExamStatus["Completed"] = 3] = "Completed";
6101
+ })(exports.ExamStatus || (exports.ExamStatus = {}));
6102
+ (function (QuestionAnswerType) {
6103
+ QuestionAnswerType[QuestionAnswerType["SingleChoice"] = 0] = "SingleChoice";
6104
+ QuestionAnswerType[QuestionAnswerType["MultipleChoice"] = 1] = "MultipleChoice";
6105
+ QuestionAnswerType[QuestionAnswerType["ShortAnswer"] = 2] = "ShortAnswer";
6106
+ })(exports.QuestionAnswerType || (exports.QuestionAnswerType = {}));
6107
+
6108
+ (function (OrderType) {
6109
+ OrderType["ASC"] = "ASC";
6110
+ OrderType["DESC"] = "DESC";
6111
+ })(exports.OrderType || (exports.OrderType = {}));
6112
+
6113
+ (function (RecentUserAction) {
6114
+ RecentUserAction["ViewedUser"] = "ViewedUser";
6115
+ RecentUserAction["ViewedQNA"] = "ViewedQNA";
6116
+ RecentUserAction["ViewedExamResult"] = "ViewedExamResult";
6117
+ RecentUserAction["PrintedExamResult"] = "PrintedExamResult";
6118
+ RecentUserAction["ViewedAttendance"] = "ViewedAttendance";
6119
+ })(exports.RecentUserAction || (exports.RecentUserAction = {}));
6120
+
6121
+ (function (UserSortColumn) {
6122
+ UserSortColumn["CreatedAt"] = "CreatedAt";
6123
+ UserSortColumn["FullName"] = "FullName";
6124
+ UserSortColumn["PhoneNumber"] = "PhoneNumber";
6125
+ UserSortColumn["Email"] = "Email";
6126
+ UserSortColumn["SchoolName"] = "SchoolName";
6127
+ UserSortColumn["Major"] = "Major";
6128
+ UserSortColumn["ParentName"] = "ParentName";
6129
+ UserSortColumn["ParentPhoneNumber"] = "ParentPhoneNumber";
6130
+ UserSortColumn["Grade"] = "Grade";
6131
+ })(exports.UserSortColumn || (exports.UserSortColumn = {}));
6132
+
6133
+ (function (SchoolType) {
6134
+ SchoolType[SchoolType["Default"] = 0] = "Default";
6135
+ SchoolType[SchoolType["Elementary"] = 1] = "Elementary";
6136
+ SchoolType[SchoolType["Middle"] = 2] = "Middle";
6137
+ SchoolType[SchoolType["High"] = 3] = "High";
6138
+ })(exports.SchoolType || (exports.SchoolType = {}));
6139
+
6025
6140
  var canAccess = function canAccess(userRoles, componentRoles) {
6026
6141
  if (!Array.isArray(userRoles)) {
6027
6142
  return false;
@@ -9483,7 +9598,198 @@ var ListView = function ListView(_ref) {
9483
9598
  }));
9484
9599
  };
9485
9600
 
9486
- var VirtualTableEmpty = function VirtualTableEmpty(_ref) {
9601
+ var useVirtualListView = function useVirtualListView(props) {
9602
+ var data = props.data,
9603
+ loading = props.loading,
9604
+ onLoadMore = props.onLoadMore;
9605
+ var handleLoadMore = function handleLoadMore() {
9606
+ if (loading) return;
9607
+ onLoadMore === null || onLoadMore === void 0 ? void 0 : onLoadMore();
9608
+ };
9609
+ var onScroll = function onScroll(_ref) {
9610
+ var scrollTop = _ref.scrollTop,
9611
+ clientHeight = _ref.clientHeight,
9612
+ scrollHeight = _ref.scrollHeight;
9613
+ if (scrollTop + clientHeight >= scrollHeight - 100) {
9614
+ handleLoadMore();
9615
+ }
9616
+ };
9617
+ var rowCount = data.length + (loading ? 1 : 0);
9618
+ return {
9619
+ rowCount: rowCount,
9620
+ onScroll: onScroll
9621
+ };
9622
+ };
9623
+
9624
+ var cellMeasurerCache = new reactVirtualized.CellMeasurerCache({
9625
+ fixedWidth: true,
9626
+ defaultHeight: 50
9627
+ });
9628
+
9629
+ var grey = {
9630
+ 0: '#FFFFFF',
9631
+ 50: "#FBFBF9",
9632
+ 100: '#EAEAE5',
9633
+ 200: '#F4F6F8',
9634
+ 300: '#D0D0C8',
9635
+ 400: '#C4CDD5',
9636
+ 500: '#9A9A98',
9637
+ 600: '#637381',
9638
+ 700: '#5D5D5B',
9639
+ 800: '#212B36',
9640
+ 900: '#363634'
9641
+ };
9642
+ var green = {
9643
+ 0: '#FFFFFF',
9644
+ 100: '#F0FFF6',
9645
+ 300: '#89F0B2',
9646
+ 500: '#3DC674',
9647
+ 700: '#349056',
9648
+ 900: '#18442A'
9649
+ };
9650
+ var main_theme = {
9651
+ lighter: green[100],
9652
+ light: green[300],
9653
+ less_dark: green[500],
9654
+ dark: green[700],
9655
+ darker: green[900]
9656
+ };
9657
+ var primary = {
9658
+ lighter: '#D0ECFE',
9659
+ light: '#73BAFB',
9660
+ main: '#1877F2',
9661
+ dark: '#0C44AE',
9662
+ darker: '#042174',
9663
+ contrastText: '#FFFFFF'
9664
+ };
9665
+ var secondary = {
9666
+ lighter: '#EFD6FF',
9667
+ light: '#C684FF',
9668
+ main: '#8E33FF',
9669
+ dark: '#5119B7',
9670
+ darker: '#27097A',
9671
+ contrastText: '#FFFFFF'
9672
+ };
9673
+ var info = {
9674
+ lighter: '#CAFDF5',
9675
+ light: '#61F3F3',
9676
+ main: '#00B8D9',
9677
+ dark: '#006C9C',
9678
+ darker: '#003768',
9679
+ contrastText: '#FFFFFF'
9680
+ };
9681
+ var success = {
9682
+ lighter: '#C8FAD6',
9683
+ light: '#5BE49B',
9684
+ main: '#00A76F',
9685
+ dark: '#007867',
9686
+ darker: '#004B50',
9687
+ contrastText: '#FFFFFF'
9688
+ };
9689
+ var warning$1 = {
9690
+ lighter: '#FFF5CC',
9691
+ light: '#FFD666',
9692
+ main: '#FFAB00',
9693
+ dark: '#B76E00',
9694
+ darker: '#7A4100',
9695
+ contrastText: grey[800]
9696
+ };
9697
+ var error = {
9698
+ lighter: '#FFE9D5',
9699
+ light: '#FFAC82',
9700
+ main: '#FF5630',
9701
+ dark: '#B71D18',
9702
+ darker: '#7A0916',
9703
+ contrastText: '#FFFFFF'
9704
+ };
9705
+ var red = {
9706
+ 100: '#FEF8F8',
9707
+ 300: '#FEF8F8',
9708
+ 500: '#F4CACA',
9709
+ 900: '#DB4D4D'
9710
+ };
9711
+ var yellow = {
9712
+ 900: '#FEAF06'
9713
+ };
9714
+ var green_support = {
9715
+ 100: '#F6FDF7',
9716
+ 500: '#AEEAB3',
9717
+ 900: '#3ACB46'
9718
+ };
9719
+ var purple = {
9720
+ 900: '#C3099A'
9721
+ };
9722
+ var dark_purple = {
9723
+ 900: '#6B0861'
9724
+ };
9725
+ var dark_red = {
9726
+ 900: '#800202'
9727
+ };
9728
+ var common = {
9729
+ black: '#000000',
9730
+ white: '#FFFFFF'
9731
+ };
9732
+ var action$2 = {
9733
+ hover: styles$c.alpha(grey[500], 0.08),
9734
+ selected: styles$c.alpha(grey[500], 0.16),
9735
+ disabled: styles$c.alpha(grey[500], 0.8),
9736
+ disabledBackground: styles$c.alpha(grey[500], 0.24),
9737
+ focus: styles$c.alpha(grey[500], 0.24),
9738
+ hoverOpacity: 0.08,
9739
+ disabledOpacity: 0.48
9740
+ };
9741
+ var base = {
9742
+ primary: primary,
9743
+ secondary: secondary,
9744
+ info: info,
9745
+ main_theme: main_theme,
9746
+ success: success,
9747
+ warning: warning$1,
9748
+ error: error,
9749
+ grey: grey,
9750
+ common: common,
9751
+ red: red,
9752
+ yellow: yellow,
9753
+ green_support: green_support,
9754
+ purple: purple,
9755
+ dark_purple: dark_purple,
9756
+ dark_red: dark_red,
9757
+ divider: styles$c.alpha(grey[500], 0.2),
9758
+ action: action$2
9759
+ };
9760
+
9761
+ var VirtualListItem = function VirtualListItem(_ref) {
9762
+ var isLoading = _ref.isLoading,
9763
+ rowData = _ref.rowData,
9764
+ style = _ref.style,
9765
+ parent = _ref.parent,
9766
+ index = _ref.index,
9767
+ renderItem = _ref.renderItem,
9768
+ loadingElement = _ref.loadingElement;
9769
+ return React__default.createElement(reactVirtualized.CellMeasurer, {
9770
+ cache: cellMeasurerCache,
9771
+ columnIndex: 0,
9772
+ rowIndex: index,
9773
+ key: rowData === null || rowData === void 0 ? void 0 : rowData.id,
9774
+ parent: parent
9775
+ }, function (_ref2) {
9776
+ var measure = _ref2.measure;
9777
+ return React__default.createElement("div", {
9778
+ key: rowData === null || rowData === void 0 ? void 0 : rowData.id,
9779
+ style: style
9780
+ }, isLoading && !!loadingElement && loadingElement, isLoading && !loadingElement && React__default.createElement(material.Box, {
9781
+ p: 1,
9782
+ className: "d-flex justify-content-center align-items-center w-100"
9783
+ }, React__default.createElement(material.CircularProgress, {
9784
+ size: 24,
9785
+ sx: {
9786
+ color: grey[700]
9787
+ }
9788
+ })), !isLoading && renderItem(rowData, index, measure));
9789
+ });
9790
+ };
9791
+
9792
+ var VirtualEmptyItem = function VirtualEmptyItem(_ref) {
9487
9793
  var emptyElement = _ref.emptyElement;
9488
9794
  var _useTranslation = reactI18next.useTranslation(),
9489
9795
  t = _useTranslation.t;
@@ -9496,70 +9802,195 @@ var VirtualTableEmpty = function VirtualTableEmpty(_ref) {
9496
9802
  var VirtualListView = function VirtualListView(props) {
9497
9803
  var data = props.data,
9498
9804
  containerProps = props.containerProps,
9805
+ listHeight = props.listHeight,
9806
+ _props$overscanRowCou = props.overscanRowCount,
9807
+ overscanRowCount = _props$overscanRowCou === void 0 ? 5 : _props$overscanRowCou,
9499
9808
  renderItem = props.renderItem,
9500
9809
  emptyElement = props.emptyElement,
9501
- loading = props.loading,
9502
- loadingElement = props.loadingElement,
9503
- listHeight = props.listHeight;
9810
+ loadingElement = props.loadingElement;
9811
+ var _useVirtualListView = useVirtualListView(props),
9812
+ rowCount = _useVirtualListView.rowCount,
9813
+ onScroll = _useVirtualListView.onScroll;
9814
+ var rowRenderer = function rowRenderer(props) {
9815
+ var index = props.index;
9816
+ var isLoading = index === data.length;
9817
+ var rowData = isLoading ? undefined : data[index];
9818
+ return React__default.createElement(VirtualListItem, Object.assign({}, props, {
9819
+ rowData: rowData,
9820
+ isLoading: isLoading,
9821
+ renderItem: renderItem,
9822
+ loadingElement: loadingElement
9823
+ }));
9824
+ };
9825
+ var noRowsRenderer = function noRowsRenderer() {
9826
+ return React__default.createElement(VirtualEmptyItem, {
9827
+ emptyElement: emptyElement
9828
+ });
9829
+ };
9504
9830
  return React__default.createElement(material.Box, Object.assign({}, containerProps), React__default.createElement(reactVirtualized.AutoSizer, {
9505
9831
  disableHeight: !!listHeight
9506
9832
  }, function (_ref) {
9507
9833
  var width = _ref.width,
9508
9834
  height = _ref.height;
9509
- return React__default.createElement(material.Box, {
9835
+ return React__default.createElement(reactVirtualized.List, {
9510
9836
  width: width,
9511
- height: height,
9512
- overflow: "auto"
9513
- }, loading && React__default.createElement(React.Fragment, null, loadingElement != null ? loadingElement : React__default.createElement(material.Box, {
9837
+ height: listHeight || height,
9838
+ rowCount: rowCount,
9839
+ rowHeight: cellMeasurerCache.rowHeight,
9840
+ rowRenderer: rowRenderer,
9841
+ deferredMeasurementCache: cellMeasurerCache,
9842
+ overscanRowCount: overscanRowCount,
9843
+ noRowsRenderer: noRowsRenderer,
9844
+ onScroll: onScroll
9845
+ });
9846
+ }));
9847
+ };
9848
+
9849
+ var cellMeasurerCache$1 = new reactVirtualized.CellMeasurerCache({
9850
+ defaultWidth: 100,
9851
+ defaultHeight: 50
9852
+ });
9853
+
9854
+ var VirtualTableRowItem = function VirtualTableRowItem(_ref) {
9855
+ var isLoading = _ref.isLoading,
9856
+ style = _ref.style,
9857
+ parent = _ref.parent,
9858
+ rowIndex = _ref.rowIndex,
9859
+ columnIndex = _ref.columnIndex,
9860
+ renderItem = _ref.renderItem,
9861
+ loadingElement = _ref.loadingElement,
9862
+ cellMeasurerCache = _ref.cellMeasurerCache;
9863
+ return React__default.createElement(reactVirtualized.CellMeasurer, {
9864
+ cache: cellMeasurerCache,
9865
+ columnIndex: columnIndex,
9866
+ rowIndex: rowIndex,
9867
+ key: rowIndex + "-" + columnIndex,
9868
+ parent: parent
9869
+ }, function (_ref2) {
9870
+ var measure = _ref2.measure;
9871
+ return React__default.createElement("div", {
9872
+ style: style
9873
+ }, isLoading && !!loadingElement && loadingElement, isLoading && !loadingElement && React__default.createElement(material.Box, {
9514
9874
  p: 1,
9515
9875
  className: "d-flex justify-content-center align-items-center w-100"
9516
9876
  }, React__default.createElement(material.CircularProgress, {
9517
9877
  size: 24,
9518
9878
  sx: {
9519
- color: "#5d5d5b"
9879
+ color: grey[700]
9520
9880
  }
9521
- }))), !loading && !data.length && React__default.createElement(VirtualTableEmpty, {
9522
- emptyElement: emptyElement
9523
- }), !loading && !!data.length && React__default.createElement(ListView, {
9524
- data: data,
9525
- render: renderItem
9526
- }));
9527
- }));
9881
+ })), !isLoading && renderItem(rowIndex, columnIndex, measure));
9882
+ });
9883
+ };
9884
+ var VirtualTableRowItem$1 = React.memo(VirtualTableRowItem);
9885
+
9886
+ var VirtualTableEmpty = function VirtualTableEmpty(_ref) {
9887
+ var emptyElement = _ref.emptyElement;
9888
+ var _useTranslation = reactI18next.useTranslation(),
9889
+ t = _useTranslation.t;
9890
+ if (emptyElement) return emptyElement;
9891
+ return React__default.createElement(material.Box, null, React__default.createElement(material.Typography, {
9892
+ className: "text-center text-muted"
9893
+ }, t("no_data")));
9894
+ };
9895
+
9896
+ var useVirtualTableView = function useVirtualTableView(props) {
9897
+ var itemsCount = props.itemsCount,
9898
+ loading = props.loading,
9899
+ hasHeader = props.hasHeader,
9900
+ onLoadMore = props.onLoadMore;
9901
+ var handleLoadMore = function handleLoadMore() {
9902
+ if (loading) return;
9903
+ onLoadMore === null || onLoadMore === void 0 ? void 0 : onLoadMore();
9904
+ };
9905
+ var onScroll = function onScroll(_ref) {
9906
+ var scrollTop = _ref.scrollTop,
9907
+ clientHeight = _ref.clientHeight,
9908
+ scrollHeight = _ref.scrollHeight;
9909
+ if (scrollTop + clientHeight >= scrollHeight - 100) {
9910
+ handleLoadMore();
9911
+ }
9912
+ };
9913
+ var rowCount = React.useMemo(function () {
9914
+ return itemsCount + (loading ? 1 : itemsCount === 1 && hasHeader ? 1 : 0);
9915
+ }, [itemsCount, loading, hasHeader]);
9916
+ return {
9917
+ rowCount: rowCount,
9918
+ onScroll: onScroll
9919
+ };
9528
9920
  };
9529
9921
 
9922
+ var _excluded$5 = ["containerProps", "listHeight", "overscanRowCount", "overscanColumnCount", "renderItem", "emptyElement", "loadingElement", "fixedColumnCount", "fixedRowCount", "listWidth", "itemsCount", "cellCache", "columnWidth", "containerRef", "multiGridRef"];
9530
9923
  var VirtualTableView = function VirtualTableView(props) {
9531
- var data = props.data,
9532
- containerProps = props.containerProps,
9924
+ var containerProps = props.containerProps,
9925
+ listHeight = props.listHeight,
9926
+ _props$overscanRowCou = props.overscanRowCount,
9927
+ overscanRowCount = _props$overscanRowCou === void 0 ? 5 : _props$overscanRowCou,
9928
+ _props$overscanColumn = props.overscanColumnCount,
9929
+ overscanColumnCount = _props$overscanColumn === void 0 ? 5 : _props$overscanColumn,
9533
9930
  renderItem = props.renderItem,
9534
9931
  emptyElement = props.emptyElement,
9535
- columnCount = props.columnCount,
9536
- loading = props.loading,
9537
- loadingElement = props.loadingElement;
9538
- var containerRef = React.useRef(null);
9539
- var renderTableRow = function renderTableRow(_, index) {
9540
- return React__default.createElement(material.Stack, {
9541
- direction: "row"
9542
- }, Array.from({
9543
- length: columnCount
9544
- }, function (_, colIndex) {
9545
- return renderItem(index, colIndex);
9932
+ loadingElement = props.loadingElement,
9933
+ fixedColumnCount = props.fixedColumnCount,
9934
+ fixedRowCount = props.fixedRowCount,
9935
+ listWidth = props.listWidth,
9936
+ itemsCount = props.itemsCount,
9937
+ cellCache = props.cellCache,
9938
+ columnWidth = props.columnWidth,
9939
+ containerRef = props.containerRef,
9940
+ multiGridRef = props.multiGridRef,
9941
+ rest = _objectWithoutPropertiesLoose(props, _excluded$5);
9942
+ var cache = cellCache != null ? cellCache : cellMeasurerCache$1;
9943
+ var _useVirtualTableView = useVirtualTableView(props),
9944
+ rowCount = _useVirtualTableView.rowCount,
9945
+ onScroll = _useVirtualTableView.onScroll;
9946
+ var cellRenderer = function cellRenderer(props) {
9947
+ var rowIndex = props.rowIndex,
9948
+ columnIndex = props.columnIndex;
9949
+ var isLoading = rowIndex === itemsCount && columnIndex === 0;
9950
+ return React__default.createElement(VirtualTableRowItem$1, Object.assign({}, props, {
9951
+ isLoading: isLoading,
9952
+ renderItem: renderItem,
9953
+ loadingElement: loadingElement,
9954
+ cellMeasurerCache: cache
9546
9955
  }));
9547
9956
  };
9957
+ var noRowsRenderer = function noRowsRenderer() {
9958
+ return React__default.createElement(VirtualTableEmpty, {
9959
+ emptyElement: emptyElement
9960
+ });
9961
+ };
9962
+ var columnWidthRendered = function columnWidthRendered(params) {
9963
+ if (typeof columnWidth === "number") return columnWidth;
9964
+ var cw = cache.columnWidth(params);
9965
+ if (columnWidth === undefined) return cw;
9966
+ return columnWidth(params, cache);
9967
+ };
9548
9968
  return React__default.createElement(material.Box, Object.assign({
9549
9969
  ref: containerRef
9550
- }, containerProps), loading && React__default.createElement(React.Fragment, null, loadingElement != null ? loadingElement : React__default.createElement(material.Box, {
9551
- p: 1,
9552
- className: "d-flex justify-content-center align-items-center w-100"
9553
- }, React__default.createElement(material.CircularProgress, {
9554
- size: 24,
9555
- sx: {
9556
- color: "#5d5d5b"
9557
- }
9558
- }))), !loading && !data.length && React__default.createElement(VirtualTableEmpty, {
9559
- emptyElement: emptyElement
9560
- }), !loading && !!data.length && React__default.createElement(ListView, {
9561
- data: data,
9562
- render: renderTableRow
9970
+ }, containerProps), React__default.createElement(reactVirtualized.AutoSizer, {
9971
+ disableWidth: !!listWidth,
9972
+ disableHeight: !!listHeight
9973
+ }, function (_ref) {
9974
+ var width = _ref.width,
9975
+ height = _ref.height;
9976
+ return React__default.createElement(reactVirtualized.MultiGrid, Object.assign({
9977
+ ref: multiGridRef,
9978
+ fixedRowCount: fixedRowCount,
9979
+ fixedColumnCount: fixedColumnCount,
9980
+ cellRenderer: cellRenderer,
9981
+ enableFixedColumnScroll: !!fixedColumnCount,
9982
+ enableFixedRowScroll: !!fixedRowCount,
9983
+ columnWidth: columnWidthRendered,
9984
+ height: listHeight || height,
9985
+ rowHeight: cache.rowHeight,
9986
+ deferredMeasurementCache: cache,
9987
+ rowCount: rowCount,
9988
+ width: listWidth || width,
9989
+ overscanRowCount: overscanRowCount,
9990
+ overscanColumnCount: overscanColumnCount,
9991
+ noRowsRenderer: noRowsRenderer,
9992
+ onScroll: onScroll
9993
+ }, rest));
9563
9994
  }));
9564
9995
  };
9565
9996
 
@@ -9571,6 +10002,7 @@ var MathTinyEditor = function MathTinyEditor(_ref) {
9571
10002
  onChange = _ref.onChange,
9572
10003
  initValue = _ref.initValue,
9573
10004
  config = _ref.config;
10005
+ var isFirstChange = React.useRef(true);
9574
10006
  React.useEffect(function () {
9575
10007
  if (window.tinymce) {
9576
10008
  window.tinymce = tinymce;
@@ -9580,17 +10012,23 @@ var MathTinyEditor = function MathTinyEditor(_ref) {
9580
10012
  return htmlString.replace(/\s(mathcolor|mathsize|mathvariant|mathvariant|color|fontsize|style)="[^"]*"/g, "");
9581
10013
  };
9582
10014
  var handleChange = function handleChange(value, _) {
10015
+ if (isFirstChange.current) {
10016
+ isFirstChange.current = false;
10017
+ return;
10018
+ }
9583
10019
  var textFilter = removeMathAttributes(value);
9584
10020
  onChange(textFilter);
9585
10021
  };
9586
10022
  var options = {
9587
- height: 130,
10023
+ height: 100,
10024
+ statusbar: false,
9588
10025
  menubar: false,
9589
10026
  external_plugins: {
9590
10027
  tiny_mce_wiris: '/editor/wiris-for-tinymce.js'
9591
10028
  },
9592
10029
  toolbar: "tiny_mce_wiris_formulaEditor tiny_mce_wiris_formulaEditorChemistry",
9593
10030
  branding: false,
10031
+ resize: false,
9594
10032
  extended_valid_elements: '*[.*]'
9595
10033
  };
9596
10034
  return React__default.createElement(tinymceReact.Editor, {
@@ -11114,10 +11552,10 @@ var LoginQRCode = function LoginQRCode(props) {
11114
11552
  }));
11115
11553
  };
11116
11554
 
11117
- var _excluded$5 = ["history"];
11555
+ var _excluded$6 = ["history"];
11118
11556
  var Login = function Login(_ref) {
11119
11557
  var history = _ref.history,
11120
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
11558
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
11121
11559
  var _useLogin = useLogin$1({
11122
11560
  homeAcademyUrl: rest.homeAcademyUrl,
11123
11561
  homeUrl: rest.homeUrl,
@@ -12091,11 +12529,11 @@ var DEFAULT_USER_FILTERS = {
12091
12529
 
12092
12530
  var styles$2 = {"avatar":"_2rJkZ","date-picker":"_1iqE2","time-picker":"_20xtc","teacher-selector-wrapper":"_3L1Oj"};
12093
12531
 
12094
- var _excluded$6 = ["teachers", "value"];
12532
+ var _excluded$7 = ["teachers", "value"];
12095
12533
  var TeacherSelector = function TeacherSelector(_ref) {
12096
12534
  var teachers = _ref.teachers,
12097
12535
  value = _ref.value,
12098
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
12536
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$7);
12099
12537
  var teacherOptions = teachers.map(function (i) {
12100
12538
  return {
12101
12539
  label: i.teacherName + "/" + i.teacherEmail,
@@ -13387,7 +13825,7 @@ var useTeacherList = function useTeacherList() {
13387
13825
  };
13388
13826
  };
13389
13827
 
13390
- var _excluded$7 = ["getStudents"],
13828
+ var _excluded$8 = ["getStudents"],
13391
13829
  _excluded2 = ["getTeachers"],
13392
13830
  _excluded3 = ["getLessons"];
13393
13831
  var PAGE_TITLE$4 = "classes";
@@ -13438,7 +13876,7 @@ var useClassDetail = function useClassDetail(_ref) {
13438
13876
  };
13439
13877
  var _useStudentClassList = useStudentClassList(classId),
13440
13878
  getStudents = _useStudentClassList.getStudents,
13441
- studentListProps = _objectWithoutPropertiesLoose(_useStudentClassList, _excluded$7);
13879
+ studentListProps = _objectWithoutPropertiesLoose(_useStudentClassList, _excluded$8);
13442
13880
  var _useTeacherClassList = useTeacherClassList(classId),
13443
13881
  getTeachers = _useTeacherClassList.getTeachers,
13444
13882
  teacherListProps = _objectWithoutPropertiesLoose(_useTeacherClassList, _excluded2);
@@ -14188,12 +14626,12 @@ var LessonList = function LessonList(_ref) {
14188
14626
  }));
14189
14627
  };
14190
14628
 
14191
- var _excluded$8 = ["children", "value", "index"];
14629
+ var _excluded$9 = ["children", "value", "index"];
14192
14630
  var CustomTabPanel = function CustomTabPanel(props) {
14193
14631
  var children = props.children,
14194
14632
  value = props.value,
14195
14633
  index = props.index,
14196
- other = _objectWithoutPropertiesLoose(props, _excluded$8);
14634
+ other = _objectWithoutPropertiesLoose(props, _excluded$9);
14197
14635
  return React__default.createElement("div", Object.assign({
14198
14636
  role: "tabpanel",
14199
14637
  hidden: value !== index,
@@ -19563,9 +20001,7 @@ var useNotes = function useNotes(setFilter, filter) {
19563
20001
  }
19564
20002
  setLoadingNotes(true);
19565
20003
  var _temp = _catch(function () {
19566
- return Promise.resolve(getNotesApi(_extends({}, filter, {
19567
- currentPage: -1
19568
- }))).then(function (res) {
20004
+ return Promise.resolve(getNotesApi(filter)).then(function (res) {
19569
20005
  var data = res.data;
19570
20006
  setTotalPages((data === null || data === void 0 ? void 0 : data.totalPages) || 0);
19571
20007
  var items = (data === null || data === void 0 ? void 0 : data.items) || [];
@@ -19631,7 +20067,8 @@ var NoteItem = function NoteItem(_ref) {
19631
20067
  _ref$placement = _ref.placement,
19632
20068
  placement = _ref$placement === void 0 ? "bottom-end" : _ref$placement,
19633
20069
  onClose = _ref.onClose,
19634
- onOpen = _ref.onOpen;
20070
+ onOpen = _ref.onOpen,
20071
+ onLoad = _ref.onLoad;
19635
20072
  var _useTranslation = reactI18next.useTranslation(),
19636
20073
  t = _useTranslation.t;
19637
20074
  var handleMoreClick = function handleMoreClick(e) {
@@ -19639,6 +20076,9 @@ var NoteItem = function NoteItem(_ref) {
19639
20076
  e.stopPropagation();
19640
20077
  onOpen(data);
19641
20078
  };
20079
+ React.useEffect(function () {
20080
+ onLoad === null || onLoad === void 0 ? void 0 : onLoad();
20081
+ }, []);
19642
20082
  return React__default.createElement(material.Box, Object.assign({}, NoteItemStyles.root), React__default.createElement(material.Stack, {
19643
20083
  direction: "row",
19644
20084
  gap: 1,
@@ -19686,7 +20126,7 @@ var NotesContainer = function NotesContainer(_ref) {
19686
20126
  itemActions = _ref.itemActions,
19687
20127
  noteIdContextMenu = _ref.noteIdContextMenu,
19688
20128
  containerListProps = _ref.containerListProps;
19689
- var renderItem = function renderItem(item, _) {
20129
+ var renderItem = function renderItem(item, _, measure) {
19690
20130
  var isSelected = noteIdContextMenu === item.id;
19691
20131
  return React__default.createElement(material.Box, {
19692
20132
  key: item.id,
@@ -19697,7 +20137,8 @@ var NotesContainer = function NotesContainer(_ref) {
19697
20137
  openTooltip: isSelected,
19698
20138
  actions: itemActions,
19699
20139
  onOpen: onOpenTooltip,
19700
- onClose: onCloseTooltip
20140
+ onClose: onCloseTooltip,
20141
+ onLoad: measure
19701
20142
  }));
19702
20143
  };
19703
20144
  return React__default.createElement(VirtualListView, {
@@ -21535,14 +21976,14 @@ var CSV_PREFIX = "data:text/csv;charset=utf-8,";
21535
21976
 
21536
21977
  var styles$5 = {"action-btn":"_1jXbz","action-btn--pencil":"_at4xP","icon-rotate-180":"_12gv9","drop-area":"_R4bn5"};
21537
21978
 
21538
- var _excluded$9 = ["text", "isRequired", "className"];
21979
+ var _excluded$a = ["text", "isRequired", "className"];
21539
21980
  var LabelRequired = function LabelRequired(_ref) {
21540
21981
  var text = _ref.text,
21541
21982
  _ref$isRequired = _ref.isRequired,
21542
21983
  isRequired = _ref$isRequired === void 0 ? true : _ref$isRequired,
21543
21984
  _ref$className = _ref.className,
21544
21985
  className = _ref$className === void 0 ? "" : _ref$className,
21545
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$9);
21986
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$a);
21546
21987
  return React__default.createElement(material.FormLabel, Object.assign({
21547
21988
  className: "fw-medium mb-1 " + className
21548
21989
  }, rest), text, isRequired && React__default.createElement("span", {
@@ -21596,7 +22037,7 @@ var deleteUserApi = function deleteUserApi(id) {
21596
22037
  return api["delete"](USER_URL + "/delete/" + id);
21597
22038
  };
21598
22039
 
21599
- var _excluded$a = ["ref"],
22040
+ var _excluded$b = ["ref"],
21600
22041
  _excluded2$1 = ["ref"],
21601
22042
  _excluded3$1 = ["ref"],
21602
22043
  _excluded4 = ["ref"],
@@ -21626,7 +22067,7 @@ var UserDialog = function UserDialog(_ref) {
21626
22067
  t = _useTranslation.t;
21627
22068
  var _register = register("fullName"),
21628
22069
  fullNameRef = _register.ref,
21629
- fullNameBio = _objectWithoutPropertiesLoose(_register, _excluded$a);
22070
+ fullNameBio = _objectWithoutPropertiesLoose(_register, _excluded$b);
21630
22071
  var _register2 = register("email"),
21631
22072
  emailRef = _register2.ref,
21632
22073
  emailBio = _objectWithoutPropertiesLoose(_register2, _excluded2$1);
@@ -21671,28 +22112,12 @@ var UserDialog = function UserDialog(_ref) {
21671
22112
  setDefaultPassCodeChanged = _useState8[1];
21672
22113
  var theme = material.useTheme();
21673
22114
  var gradeOptions = React.useMemo(function () {
21674
- var _watch;
21675
- var schoolName = (_watch = watch("schoolName")) === null || _watch === void 0 ? void 0 : _watch.trim();
21676
- if (schoolName !== null && schoolName !== void 0 && schoolName.includes(t("middle_school")) || schoolName !== null && schoolName !== void 0 && schoolName.includes("중학교")) return MIDDLE_GRADES.map(function (i) {
22115
+ return [].concat(GRADE_OPTIONS.map(function (i) {
21677
22116
  return _extends({}, i, {
21678
22117
  label: typeof i.label === "string" ? t(i.label) : i.label
21679
22118
  });
21680
- });
21681
- if (schoolName !== null && schoolName !== void 0 && schoolName.includes(t("high_school")) || schoolName !== null && schoolName !== void 0 && schoolName.includes("고등학교")) return HIGH_GRADES.map(function (i) {
21682
- return _extends({}, i, {
21683
- label: t(i.label)
21684
- });
21685
- });
21686
- if (schoolName !== null && schoolName !== void 0 && schoolName.includes(t("elementary_school")) || schoolName !== null && schoolName !== void 0 && schoolName.includes("초등학교")) return ELEMENTARY_GRADES.map(function (i) {
21687
- return _extends({}, i, {
21688
- label: typeof i.label === "string" ? t(i.label) : i.label
21689
- });
21690
- });
21691
- return [];
22119
+ }));
21692
22120
  }, [t, watch("schoolName")]);
21693
- console.log({
21694
- bang: watch("grade")
21695
- });
21696
22121
  var handleChangeRole = function handleChangeRole(role) {
21697
22122
  setRoles([role]);
21698
22123
  setValue("role", role);
@@ -25620,12 +26045,12 @@ var ArticleDialog = function ArticleDialog(_ref) {
25620
26045
 
25621
26046
  var styles$7 = {"drawer":"_11aYm","open":"_3Ydwm","drawer-overlay":"_3SQDf","drawer-header":"_2BwOx","drawer-form":"_2Zo7R","dropdown-content-academy":"_1lzjD","dropdown-change":"_1y7K9","dropdown-academy-item":"_1Y-55","dropdown-content-language":"_1fBXY","dropdown-item-language":"_3Szun","dropdown-item-language-active":"_2HhLb","item-address":"_3WYHC","item-logout":"_2-9ix","title-address":"_1r4pn","image-academy":"_2ZozT"};
25622
26047
 
25623
- var _excluded$b = ["isOpen", "onClose", "handleSaveExam"];
26048
+ var _excluded$c = ["isOpen", "onClose", "handleSaveExam"];
25624
26049
  var CreateExamDrawer = function CreateExamDrawer(props) {
25625
26050
  var isOpen = props.isOpen,
25626
26051
  onClose = props.onClose,
25627
26052
  handleSaveExam = props.handleSaveExam,
25628
- examDetailViewProps = _objectWithoutPropertiesLoose(props, _excluded$b);
26053
+ examDetailViewProps = _objectWithoutPropertiesLoose(props, _excluded$c);
25629
26054
  var _useTranslation = reactI18next.useTranslation(),
25630
26055
  t = _useTranslation.t;
25631
26056
  var theme = material.useTheme();
@@ -26690,12 +27115,12 @@ var useNotificationDetail = function useNotificationDetail(_ref) {
26690
27115
 
26691
27116
  var styles$8 = {"avatar":"_8niRT"};
26692
27117
 
26693
- var _excluded$c = ["value", "disabled", "optionTypeNotification"];
27118
+ var _excluded$d = ["value", "disabled", "optionTypeNotification"];
26694
27119
  var TypeSelector = function TypeSelector(_ref) {
26695
27120
  var value = _ref.value,
26696
27121
  disabled = _ref.disabled,
26697
27122
  optionTypeNotification = _ref.optionTypeNotification,
26698
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$c);
27123
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$d);
26699
27124
  return React__default.createElement(CustomAsyncSelect, Object.assign({
26700
27125
  options: optionTypeNotification,
26701
27126
  value: value
@@ -27087,11 +27512,11 @@ var useNotificationList = function useNotificationList(_ref) {
27087
27512
  };
27088
27513
  };
27089
27514
 
27090
- var _excluded$d = ["value", "optionTypeNotification"];
27515
+ var _excluded$e = ["value", "optionTypeNotification"];
27091
27516
  var SelectFilterType = function SelectFilterType(_ref) {
27092
27517
  var value = _ref.value,
27093
27518
  optionTypeNotification = _ref.optionTypeNotification,
27094
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$d);
27519
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$e);
27095
27520
  return React__default.createElement(CustomAsyncSelect, Object.assign({
27096
27521
  options: optionTypeNotification,
27097
27522
  value: value
@@ -27250,7 +27675,6 @@ var NotificationList = function NotificationList(_ref) {
27250
27675
  };
27251
27676
 
27252
27677
  var TEXTBOOK_URL$1 = BASE_URL + "/api/textbooks";
27253
- var SUPER_ADMIN_TEXTBOOK_URL = SUPER_ADMIN_BASE_URL + "/api/textbook";
27254
27678
  var PREPARED_TEXTBOOK_URL = BASE_URL + "/api/textbooks/prepared-textbooks";
27255
27679
  var SUPER_ADMIN_PREPARED_TEXTBOOK_URL = SUPER_ADMIN_BASE_URL + "/api/textbook/prepared-textbooks";
27256
27680
  var FILE_URL = BASE_URL + "/api/file/images";
@@ -27272,10 +27696,11 @@ var createTextbookApi$1 = function createTextbookApi(values, isAdmin) {
27272
27696
  var updateTextbookApi$1 = function updateTextbookApi(values, id, isAdmin) {
27273
27697
  return api.put((isAdmin ? SUPER_ADMIN_PREPARED_TEXTBOOK_URL : PREPARED_TEXTBOOK_URL) + "/" + id, values);
27274
27698
  };
27275
- var getAcademyByTeacher = function getAcademyByTeacher(email, isAdmin) {
27276
- return api.get((isAdmin ? SUPER_ADMIN_TEXTBOOK_URL : TEXTBOOK_URL$1) + "/academy-teacher-owner", {
27699
+ var getCourseByTeacherAcademy = function getCourseByTeacherAcademy(email, academyId) {
27700
+ return api.get(TEXTBOOK_URL$1 + "/owner-teacher-course", {
27277
27701
  params: {
27278
- email: email
27702
+ email: email,
27703
+ academyId: academyId
27279
27704
  }
27280
27705
  });
27281
27706
  };
@@ -27478,7 +27903,7 @@ var TextbookState;
27478
27903
  TextbookState[TextbookState["Article"] = 3] = "Article";
27479
27904
  })(TextbookState || (TextbookState = {}));
27480
27905
 
27481
- var SCHOOL_OPTIONS$1 = [{
27906
+ var SCHOOL_OPTIONS = [{
27482
27907
  label: "all",
27483
27908
  value: SchoolType.Default
27484
27909
  }, {
@@ -27515,7 +27940,7 @@ var ELEMANTARY_GRADES = Array.from({
27515
27940
  value: index
27516
27941
  };
27517
27942
  });
27518
- var MIDDLE_GRADES$1 = Array.from({
27943
+ var MIDDLE_GRADES = Array.from({
27519
27944
  length: 4
27520
27945
  }, function (_, index) {
27521
27946
  return {
@@ -27523,7 +27948,7 @@ var MIDDLE_GRADES$1 = Array.from({
27523
27948
  value: index
27524
27949
  };
27525
27950
  });
27526
- var HIGH_GRADES$1 = [{
27951
+ var HIGH_GRADES = [{
27527
27952
  label: "all",
27528
27953
  value: HighSchoolGrade.Default
27529
27954
  }, {
@@ -27586,7 +28011,7 @@ var preparedTextbookSchema = function preparedTextbookSchema(t) {
27586
28011
  publicationDate: yup.string().required(t("publication_date_required")),
27587
28012
  publisher: yup.string().required(t("publisher_required")),
27588
28013
  isbn: yup.string().required(t("isbn_required")),
27589
- grade: yup.number().required(t("grade_required")).positive().integer().typeError(t("must_be_number")).min(1, t("min_is_1")).max(12, t("max_is_12")),
28014
+ grade: yup.number().required(t("grade_required")).notOneOf([0], t("subject_required")),
27590
28015
  type: yup.number(),
27591
28016
  chapters: yup.array().of(yup.object().shape({
27592
28017
  pageFrom: yup.number().required(t("page_from_required")).integer().typeError(t("must_be_number")).min(1, t("min_is_1")),
@@ -27710,138 +28135,6 @@ var CustomTextbookTab = function CustomTextbookTab(props) {
27710
28135
  }, children));
27711
28136
  };
27712
28137
 
27713
- var grey = {
27714
- 0: '#FFFFFF',
27715
- 50: "#FBFBF9",
27716
- 100: '#EAEAE5',
27717
- 200: '#F4F6F8',
27718
- 300: '#D0D0C8',
27719
- 400: '#C4CDD5',
27720
- 500: '#9A9A98',
27721
- 600: '#637381',
27722
- 700: '#5D5D5B',
27723
- 800: '#212B36',
27724
- 900: '#363634'
27725
- };
27726
- var green = {
27727
- 0: '#FFFFFF',
27728
- 100: '#F0FFF6',
27729
- 300: '#89F0B2',
27730
- 500: '#3DC674',
27731
- 700: '#349056',
27732
- 900: '#18442A'
27733
- };
27734
- var main_theme = {
27735
- lighter: green[100],
27736
- light: green[300],
27737
- less_dark: green[500],
27738
- dark: green[700],
27739
- darker: green[900]
27740
- };
27741
- var primary = {
27742
- lighter: '#D0ECFE',
27743
- light: '#73BAFB',
27744
- main: '#1877F2',
27745
- dark: '#0C44AE',
27746
- darker: '#042174',
27747
- contrastText: '#FFFFFF'
27748
- };
27749
- var secondary = {
27750
- lighter: '#EFD6FF',
27751
- light: '#C684FF',
27752
- main: '#8E33FF',
27753
- dark: '#5119B7',
27754
- darker: '#27097A',
27755
- contrastText: '#FFFFFF'
27756
- };
27757
- var info = {
27758
- lighter: '#CAFDF5',
27759
- light: '#61F3F3',
27760
- main: '#00B8D9',
27761
- dark: '#006C9C',
27762
- darker: '#003768',
27763
- contrastText: '#FFFFFF'
27764
- };
27765
- var success = {
27766
- lighter: '#C8FAD6',
27767
- light: '#5BE49B',
27768
- main: '#00A76F',
27769
- dark: '#007867',
27770
- darker: '#004B50',
27771
- contrastText: '#FFFFFF'
27772
- };
27773
- var warning$1 = {
27774
- lighter: '#FFF5CC',
27775
- light: '#FFD666',
27776
- main: '#FFAB00',
27777
- dark: '#B76E00',
27778
- darker: '#7A4100',
27779
- contrastText: grey[800]
27780
- };
27781
- var error = {
27782
- lighter: '#FFE9D5',
27783
- light: '#FFAC82',
27784
- main: '#FF5630',
27785
- dark: '#B71D18',
27786
- darker: '#7A0916',
27787
- contrastText: '#FFFFFF'
27788
- };
27789
- var red = {
27790
- 100: '#FEF8F8',
27791
- 300: '#FEF8F8',
27792
- 500: '#F4CACA',
27793
- 900: '#DB4D4D'
27794
- };
27795
- var yellow = {
27796
- 900: '#FEAF06'
27797
- };
27798
- var green_support = {
27799
- 100: '#F6FDF7',
27800
- 500: '#AEEAB3',
27801
- 900: '#3ACB46'
27802
- };
27803
- var purple = {
27804
- 900: '#C3099A'
27805
- };
27806
- var dark_purple = {
27807
- 900: '#6B0861'
27808
- };
27809
- var dark_red = {
27810
- 900: '#800202'
27811
- };
27812
- var common = {
27813
- black: '#000000',
27814
- white: '#FFFFFF'
27815
- };
27816
- var action$2 = {
27817
- hover: styles$c.alpha(grey[500], 0.08),
27818
- selected: styles$c.alpha(grey[500], 0.16),
27819
- disabled: styles$c.alpha(grey[500], 0.8),
27820
- disabledBackground: styles$c.alpha(grey[500], 0.24),
27821
- focus: styles$c.alpha(grey[500], 0.24),
27822
- hoverOpacity: 0.08,
27823
- disabledOpacity: 0.48
27824
- };
27825
- var base = {
27826
- primary: primary,
27827
- secondary: secondary,
27828
- info: info,
27829
- main_theme: main_theme,
27830
- success: success,
27831
- warning: warning$1,
27832
- error: error,
27833
- grey: grey,
27834
- common: common,
27835
- red: red,
27836
- yellow: yellow,
27837
- green_support: green_support,
27838
- purple: purple,
27839
- dark_purple: dark_purple,
27840
- dark_red: dark_red,
27841
- divider: styles$c.alpha(grey[500], 0.2),
27842
- action: action$2
27843
- };
27844
-
27845
28138
  var ArticleBlock = function ArticleBlock(_ref) {
27846
28139
  var expandedIndex = _ref.expandedIndex,
27847
28140
  data = _ref.data,
@@ -28089,7 +28382,7 @@ var labelStyle = {
28089
28382
  whiteSpace: "nowrap"
28090
28383
  };
28091
28384
 
28092
- var _excluded$e = ["onChange"];
28385
+ var _excluded$f = ["onChange"];
28093
28386
  var BpIcon$1 = material.styled("span")(function (_ref) {
28094
28387
  var theme = _ref.theme;
28095
28388
  return {
@@ -28258,7 +28551,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
28258
28551
  };
28259
28552
  });
28260
28553
  var theme = material.useTheme();
28261
- var isTabletUp = material.useMediaQuery(theme.breakpoints.up('lg'));
28554
+ var isTabletUp = material.useMediaQuery(theme.breakpoints.up("lg"));
28262
28555
  return React__default.createElement(material.Stack, {
28263
28556
  direction: "row",
28264
28557
  alignItems: "center",
@@ -28272,8 +28565,10 @@ var QuestionBlock = function QuestionBlock(_ref2) {
28272
28565
  }, React__default.createElement(material.Box, null, React__default.createElement(material.Box, {
28273
28566
  className: styles$9["question-title"] + " me-2 text-nowrap",
28274
28567
  sx: questionTitleStyle
28275
- }, t("problem_number_question", {
28568
+ }, isMath ? t("problem_number_question", {
28276
28569
  number: data.questionOrder + 1
28570
+ }) : t("text_detail_n", {
28571
+ n: data.questionOrder + 1
28277
28572
  }))), React__default.createElement(material.Box, {
28278
28573
  flexGrow: 1
28279
28574
  }, renderAnswer())), React__default.createElement(material.Stack, {
@@ -28312,7 +28607,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
28312
28607
  name: path + ".questionTypeId",
28313
28608
  render: function render(_ref5) {
28314
28609
  var _ref5$field = _ref5.field,
28315
- field = _objectWithoutPropertiesLoose(_ref5$field, _excluded$e);
28610
+ field = _objectWithoutPropertiesLoose(_ref5$field, _excluded$f);
28316
28611
  return React__default.createElement(CustomSelectOption, Object.assign({}, field, {
28317
28612
  isDisabled: isDisabled,
28318
28613
  value: data.questionType,
@@ -28359,7 +28654,7 @@ var isEqual$1 = function isEqual(prev, next) {
28359
28654
  };
28360
28655
  var QuestionBlock$1 = React.memo(QuestionBlock, isEqual$1);
28361
28656
 
28362
- var _excluded$f = ["data", "path", "isMath", "open", "isLoadingCategories", "isLoadingQuestionTypes", "optionKey", "categories", "questionTypes", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
28657
+ var _excluded$g = ["data", "path", "isMath", "open", "isLoadingCategories", "isLoadingQuestionTypes", "optionKey", "categories", "questionTypes", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
28363
28658
  var _ = _$5;
28364
28659
  var QuestionGroupBlockBody = function QuestionGroupBlockBody(_ref) {
28365
28660
  var _data$articles$3, _data$articles$3$cate, _data$articles$4, _data$articles$4$cate;
@@ -28378,8 +28673,9 @@ var QuestionGroupBlockBody = function QuestionGroupBlockBody(_ref) {
28378
28673
  onCloseCategoryMenu = _ref.onCloseCategoryMenu,
28379
28674
  onCloseQuestionTypeMenu = _ref.onCloseQuestionTypeMenu,
28380
28675
  onOpenQuestionTypeMenu = _ref.onOpenQuestionTypeMenu,
28381
- formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$f);
28676
+ formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$g);
28382
28677
  var errors = formikProps.errors;
28678
+ var theme = material.useTheme();
28383
28679
  var articles = data.articles,
28384
28680
  questions = data.questions;
28385
28681
  var blockErrors = _.get(errors, path);
@@ -28400,7 +28696,7 @@ var QuestionGroupBlockBody = function QuestionGroupBlockBody(_ref) {
28400
28696
  gap: 2
28401
28697
  }, !isMath && React__default.createElement(material.Stack, {
28402
28698
  sx: {
28403
- border: "1px solid " + (blockErrors ? open ? error.main : error.light : open ? main_theme.less_dark : main_theme.light),
28699
+ border: "1px solid " + (blockErrors ? open ? error.main : error.light : open ? theme.palette.secondary.main : theme.palette.secondary.light),
28404
28700
  borderRadius: 2
28405
28701
  },
28406
28702
  gap: 1,
@@ -28481,7 +28777,7 @@ var isEqual$2 = function isEqual(prev, next) {
28481
28777
  };
28482
28778
  var QuestionGroupBlockBody$1 = React.memo(QuestionGroupBlockBody, isEqual$2);
28483
28779
 
28484
- var _excluded$g = ["expandedIndex", "open", "paths", "path", "isMath", "data", "categories", "isLoadingCategories", "isLoadingQuestionTypes", "questionTypes", "optionKey", "isDisabled", "onToggle", "onQuestionCountChange", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCopiedPrevQuestionGroup", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
28780
+ var _excluded$h = ["expandedIndex", "open", "paths", "path", "isMath", "data", "categories", "isLoadingCategories", "isLoadingQuestionTypes", "questionTypes", "optionKey", "isDisabled", "onToggle", "onQuestionCountChange", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCopiedPrevQuestionGroup", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
28485
28781
  var _$1 = _$5;
28486
28782
  var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
28487
28783
  var _data$articles$2, _data$articles$2$cate, _data$articles$2$cate2, _data$articles$3, _data$articles$3$cate, _data$articles$3$cate2;
@@ -28506,13 +28802,13 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
28506
28802
  onCopiedPrevQuestionGroup = _ref.onCopiedPrevQuestionGroup,
28507
28803
  onCloseQuestionTypeMenu = _ref.onCloseQuestionTypeMenu,
28508
28804
  onOpenQuestionTypeMenu = _ref.onOpenQuestionTypeMenu,
28509
- formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$g);
28805
+ formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$h);
28510
28806
  var errors = formikProps.errors,
28511
28807
  setFieldValue = formikProps.setFieldValue;
28512
28808
  var _useTranslation = reactI18next.useTranslation(),
28513
28809
  t = _useTranslation.t;
28514
28810
  var key = paths.join(".");
28515
- var title = t("group_n", {
28811
+ var title = t(isMath ? "question_group_n" : "text_group_n", {
28516
28812
  n: expandedIndex + 1
28517
28813
  });
28518
28814
  var handleToggle = function handleToggle() {
@@ -28594,7 +28890,7 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
28594
28890
  expanded: open,
28595
28891
  onChange: handleToggle,
28596
28892
  sx: {
28597
- border: "1px solid " + (blockErrors ? open ? error.main : error.light : open ? main_theme.less_dark : main_theme.light)
28893
+ border: "1px solid " + (blockErrors ? open ? error.main : error.light : open ? colors.yellow[500] : colors.yellow[300])
28598
28894
  }
28599
28895
  }, React__default.createElement(material.AccordionSummary, {
28600
28896
  expandIcon: React__default.createElement(md.MdExpandMore, {
@@ -28623,6 +28919,7 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
28623
28919
  }, React__default.createElement(fa6.FaTrashCan, {
28624
28920
  size: 12
28625
28921
  })), React__default.createElement(material.Typography, {
28922
+ fontSize: "18px",
28626
28923
  fontWeight: 700,
28627
28924
  whiteSpace: "nowrap"
28628
28925
  }, title, !open && ":")), React__default.createElement(material.Box, {
@@ -28798,7 +29095,7 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
28798
29095
  }, formikProps)))));
28799
29096
  };
28800
29097
 
28801
- var _excluded$h = ["path", "paths", "isMath", "isLoadingCategories", "isLoadingQuestionTypes", "optionKey", "questionGroups", "subChapters", "categories", "questionTypes", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCopiedPrevQuestionGroup", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
29098
+ var _excluded$i = ["path", "paths", "isMath", "isLoadingCategories", "isLoadingQuestionTypes", "optionKey", "questionGroups", "subChapters", "categories", "questionTypes", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCopiedPrevQuestionGroup", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
28802
29099
  var ChapterBlockBody = function ChapterBlockBody(_ref) {
28803
29100
  var path = _ref.path,
28804
29101
  paths = _ref.paths,
@@ -28817,7 +29114,7 @@ var ChapterBlockBody = function ChapterBlockBody(_ref) {
28817
29114
  onCopiedPrevQuestionGroup = _ref.onCopiedPrevQuestionGroup,
28818
29115
  onCloseQuestionTypeMenu = _ref.onCloseQuestionTypeMenu,
28819
29116
  onOpenQuestionTypeMenu = _ref.onOpenQuestionTypeMenu,
28820
- formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$h);
29117
+ formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$i);
28821
29118
  var _useTranslation = reactI18next.useTranslation(),
28822
29119
  t = _useTranslation.t;
28823
29120
  var setFieldValue = formikProps.setFieldValue;
@@ -28991,7 +29288,7 @@ var ChapterBlockBody = function ChapterBlockBody(_ref) {
28991
29288
  }));
28992
29289
  };
28993
29290
 
28994
- var _excluded$i = ["data", "expandedIndex", "open", "path", "paths", "isMath", "isLoadingCategories", "isLoadingQuestionTypes", "categories", "questionTypes", "optionKey", "onToggle", "onDelete", "onCopiedPrevQuestionGroup", "onCloseCategoryMenu", "onOpenCategoryMenu", "onOpenSubCategoryMenu", "onOpenQuestionTypeMenu", "onCloseQuestionTypeMenu"];
29291
+ var _excluded$j = ["data", "expandedIndex", "open", "path", "paths", "isMath", "isLoadingCategories", "isLoadingQuestionTypes", "categories", "questionTypes", "optionKey", "onToggle", "onDelete", "onCopiedPrevQuestionGroup", "onCloseCategoryMenu", "onOpenCategoryMenu", "onOpenSubCategoryMenu", "onOpenQuestionTypeMenu", "onCloseQuestionTypeMenu"];
28995
29292
  var _$2 = _$5;
28996
29293
  var ChapterBlock = function ChapterBlock(_ref) {
28997
29294
  var data = _ref.data,
@@ -29013,12 +29310,13 @@ var ChapterBlock = function ChapterBlock(_ref) {
29013
29310
  onOpenSubCategoryMenu = _ref.onOpenSubCategoryMenu,
29014
29311
  onOpenQuestionTypeMenu = _ref.onOpenQuestionTypeMenu,
29015
29312
  onCloseQuestionTypeMenu = _ref.onCloseQuestionTypeMenu,
29016
- formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$i);
29313
+ formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$j);
29017
29314
  var errors = formikProps.errors;
29018
29315
  var _useTranslation = reactI18next.useTranslation(),
29019
29316
  t = _useTranslation.t;
29317
+ var theme = material.useTheme();
29020
29318
  var key = paths.join(".");
29021
- var title = t("chapter_number", {
29319
+ var title = t((paths === null || paths === void 0 ? void 0 : paths.length) > 1 ? "sub_unit_number" : "unit_number", {
29022
29320
  number: paths.join(".")
29023
29321
  });
29024
29322
  var handleToggle = function handleToggle() {
@@ -29038,7 +29336,7 @@ var ChapterBlock = function ChapterBlock(_ref) {
29038
29336
  expanded: open,
29039
29337
  onChange: handleToggle,
29040
29338
  sx: {
29041
- border: "1px solid " + (blockErrors ? open ? error.main : error.light : open ? main_theme.less_dark : main_theme.light)
29339
+ border: "1px solid " + (blockErrors ? open ? error.main : error.light : open ? (paths === null || paths === void 0 ? void 0 : paths.length) > 1 ? theme.palette.success.main : theme.palette.info.main : (paths === null || paths === void 0 ? void 0 : paths.length) > 1 ? theme.palette.success.light : theme.palette.info.light)
29042
29340
  }
29043
29341
  }, React__default.createElement(material.AccordionSummary, {
29044
29342
  expandIcon: React__default.createElement(md.MdExpandMore, {
@@ -29065,6 +29363,7 @@ var ChapterBlock = function ChapterBlock(_ref) {
29065
29363
  }, React__default.createElement(fa6.FaTrashCan, {
29066
29364
  size: 12
29067
29365
  })), React__default.createElement(material.Typography, {
29366
+ fontSize: (paths === null || paths === void 0 ? void 0 : paths.length) > 1 ? "24px" : "36px",
29068
29367
  fontWeight: 700,
29069
29368
  whiteSpace: "nowrap"
29070
29369
  }, title)), React__default.createElement(material.Box, {
@@ -29194,7 +29493,7 @@ var QuestionTypeFilter = function QuestionTypeFilter(_ref) {
29194
29493
  }));
29195
29494
  if (inputRef.current) inputRef.current.value = "";
29196
29495
  };
29197
- var schoolOptions = SCHOOL_OPTIONS$1.map(function (i) {
29496
+ var schoolOptions = SCHOOL_OPTIONS.map(function (i) {
29198
29497
  return _extends({}, i, {
29199
29498
  label: t(i.label)
29200
29499
  });
@@ -29202,13 +29501,13 @@ var QuestionTypeFilter = function QuestionTypeFilter(_ref) {
29202
29501
  var gradeOptions = React.useMemo(function () {
29203
29502
  switch (filter === null || filter === void 0 ? void 0 : filter.schoolType) {
29204
29503
  case SchoolType.Middle:
29205
- return MIDDLE_GRADES$1.map(function (i) {
29504
+ return MIDDLE_GRADES.map(function (i) {
29206
29505
  return _extends({}, i, {
29207
29506
  label: typeof i.label === "string" ? t(i.label) : i.label
29208
29507
  });
29209
29508
  });
29210
29509
  case SchoolType.High:
29211
- return HIGH_GRADES$1.map(function (i) {
29510
+ return HIGH_GRADES.map(function (i) {
29212
29511
  return _extends({}, i, {
29213
29512
  label: t(i.label)
29214
29513
  });
@@ -29684,8 +29983,7 @@ var TextbookContentsTab = function TextbookContentsTab(props) {
29684
29983
  }));
29685
29984
  };
29686
29985
 
29687
- var _excluded$j = ["value"],
29688
- _excluded2$2 = ["onChange"];
29986
+ var _excluded$k = ["value"];
29689
29987
  var VisuallyHiddenInput = material.styled("input")({
29690
29988
  clip: "rect(0 0 0 0)",
29691
29989
  clipPath: "inset(50%)",
@@ -29706,6 +30004,23 @@ var TextbookInfoTab = function TextbookInfoTab(_ref) {
29706
30004
  handleUploadImage = _ref.handleUploadImage;
29707
30005
  var _useTranslation = reactI18next.useTranslation(),
29708
30006
  t = _useTranslation.t;
30007
+ var gradeOptions = GRADE_OPTIONS.map(function (i) {
30008
+ return {
30009
+ label: t(i.label),
30010
+ value: i.value
30011
+ };
30012
+ });
30013
+ var preparedTypeOptions = Object.entries(exports.PreparedType).filter(function (_ref2) {
30014
+ var key = _ref2[0];
30015
+ return isNaN(Number(key));
30016
+ }).map(function (_ref3) {
30017
+ var key = _ref3[0],
30018
+ value = _ref3[1];
30019
+ return {
30020
+ label: t(key),
30021
+ value: value
30022
+ };
30023
+ });
29709
30024
  return React__default.createElement(material.Grid, {
29710
30025
  padding: 3,
29711
30026
  container: true,
@@ -29794,10 +30109,10 @@ var TextbookInfoTab = function TextbookInfoTab(_ref) {
29794
30109
  htmlFor: "publicationDate"
29795
30110
  }, t("publication_date")), React__default.createElement(formik.Field, {
29796
30111
  name: "publicationDate",
29797
- render: function render(_ref2) {
29798
- var _ref2$field = _ref2.field,
29799
- value = _ref2$field.value,
29800
- action = _objectWithoutPropertiesLoose(_ref2$field, _excluded$j);
30112
+ render: function render(_ref4) {
30113
+ var _ref4$field = _ref4.field,
30114
+ value = _ref4$field.value,
30115
+ action = _objectWithoutPropertiesLoose(_ref4$field, _excluded$k);
29801
30116
  return React__default.createElement(xDatePickers.LocalizationProvider, {
29802
30117
  dateAdapter: AdapterMoment.AdapterMoment
29803
30118
  }, React__default.createElement(xDatePickers.DatePicker, Object.assign({}, action, {
@@ -29827,8 +30142,8 @@ var TextbookInfoTab = function TextbookInfoTab(_ref) {
29827
30142
  htmlFor: "publisher"
29828
30143
  }, t("publisher")), React__default.createElement(formik.Field, {
29829
30144
  name: "publisher",
29830
- render: function render(_ref3) {
29831
- var field = _ref3.field;
30145
+ render: function render(_ref5) {
30146
+ var field = _ref5.field;
29832
30147
  return React__default.createElement(material.TextField, Object.assign({}, field));
29833
30148
  }
29834
30149
  }), !!(errors !== null && errors !== void 0 && errors.publisher) && React__default.createElement(material.Typography, {
@@ -29846,25 +30161,15 @@ var TextbookInfoTab = function TextbookInfoTab(_ref) {
29846
30161
  htmlFor: "preparedType"
29847
30162
  }, t("type")), React__default.createElement(formik.Field, {
29848
30163
  name: "preparedType",
29849
- render: function render(_ref4) {
29850
- var field = _ref4.field;
29851
- return React__default.createElement(material.Select, Object.assign({
29852
- displayEmpty: true
29853
- }, field), Object.entries(_extends({}, exports.PreparedType)).filter(function (_ref5) {
29854
- var label = _ref5[0];
29855
- return !Number(label);
29856
- }).map(function (_ref6, index) {
29857
- var label = _ref6[0],
29858
- value = _ref6[1];
29859
- if (Number(label)) return;
29860
- if (label === "my_created_questions" || label === "academy_questions") return React__default.createElement(material.MenuItem, {
29861
- key: index,
29862
- value: value
29863
- }, t(label));
29864
- return React__default.createElement(material.MenuItem, {
29865
- key: index,
29866
- value: index + 1
29867
- }, t(label));
30164
+ render: function render(_ref6) {
30165
+ var field = _ref6.field;
30166
+ return React__default.createElement(CustomSelect, Object.assign({}, field, {
30167
+ options: preparedTypeOptions,
30168
+ value: values.preparedType,
30169
+ onChange: function onChange(val) {
30170
+ setFieldValue(field.name, !(val !== null && val !== void 0 && val.value) ? 0 : Number(val.value));
30171
+ },
30172
+ isClearable: true
29868
30173
  }));
29869
30174
  }
29870
30175
  }), !!(errors !== null && errors !== void 0 && errors.preparedType) && React__default.createElement(material.Typography, {
@@ -29924,15 +30229,14 @@ var TextbookInfoTab = function TextbookInfoTab(_ref) {
29924
30229
  }, t("grade")), React__default.createElement(formik.Field, {
29925
30230
  name: "grade",
29926
30231
  render: function render(_ref9) {
29927
- var _ref9$field = _ref9.field,
29928
- _onChange = _ref9$field.onChange,
29929
- action = _objectWithoutPropertiesLoose(_ref9$field, _excluded2$2);
29930
- return React__default.createElement(material.TextField, Object.assign({
29931
- onChange: function onChange(e) {
29932
- e.target.value = e.target.value.replace(/[^\d]/g, "");
29933
- _onChange(e);
30232
+ var field = _ref9.field;
30233
+ return React__default.createElement(CustomSelect, Object.assign({}, field, {
30234
+ options: gradeOptions,
30235
+ value: values.grade,
30236
+ onChange: function onChange(val) {
30237
+ setFieldValue(field.name, String(val.value));
29934
30238
  }
29935
- }, action));
30239
+ }));
29936
30240
  }
29937
30241
  }), !!(errors !== null && errors !== void 0 && errors.grade) && React__default.createElement(material.Typography, {
29938
30242
  fontWeight: 500,
@@ -29952,7 +30256,8 @@ var AcademySelector = function AcademySelector(_ref) {
29952
30256
  isMultiple = _ref.isMultiple,
29953
30257
  _ref$isClearable = _ref.isClearable,
29954
30258
  isClearable = _ref$isClearable === void 0 ? true : _ref$isClearable,
29955
- disabled = _ref.disabled;
30259
+ disabled = _ref.disabled,
30260
+ defaultValue = _ref.defaultValue;
29956
30261
  var _useState = React.useState(""),
29957
30262
  searchString = _useState[0],
29958
30263
  setSearchString = _useState[1];
@@ -29975,7 +30280,8 @@ var AcademySelector = function AcademySelector(_ref) {
29975
30280
  value: valueOption || value,
29976
30281
  onChange: onChange,
29977
30282
  isDisabled: disabled,
29978
- isClearable: isClearable
30283
+ isClearable: isClearable,
30284
+ defaultValue: defaultValue
29979
30285
  }));
29980
30286
  };
29981
30287
 
@@ -30016,70 +30322,61 @@ var CourseSelector = function CourseSelector(_ref) {
30016
30322
  };
30017
30323
 
30018
30324
  var useSelect = function useSelect(_ref) {
30019
- var academyId = _ref.academyId,
30020
- handleChangeEmail = _ref.handleChangeEmail;
30325
+ var email = _ref.email;
30021
30326
  var _useTranslation = reactI18next.useTranslation(),
30022
30327
  t = _useTranslation.t;
30328
+ var academy = reactRedux.useSelector(function (state) {
30329
+ var _state$common;
30330
+ return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.academy;
30331
+ });
30332
+ var formattedAcademy = academy ? {
30333
+ label: academy.name,
30334
+ value: academy.id
30335
+ } : null;
30336
+ var academies = formattedAcademy ? [formattedAcademy] : [];
30023
30337
  var _useState = React.useState([]),
30024
- academies = _useState[0],
30025
- setAcademies = _useState[1];
30338
+ courses = _useState[0],
30339
+ setCourses = _useState[1];
30026
30340
  var _useState2 = React.useState(false),
30027
30341
  isLoading = _useState2[0],
30028
30342
  setLoading = _useState2[1];
30029
- var user = reactRedux.useSelector(function (state) {
30030
- var _state$common;
30031
- return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user;
30032
- });
30033
- var isSuperAdmin = !!user && !user.academyDomain;
30034
- var loadData = _$5.debounce(function (e) {
30035
- try {
30036
- var _temp2 = function _temp2() {
30037
- setLoading(false);
30038
- };
30039
- var value = e.target.value;
30040
- setLoading(true);
30041
- var _temp = _catch(function () {
30042
- handleChangeEmail(value);
30043
- return Promise.resolve(getAcademyByTeacher(value, isSuperAdmin)).then(function (_ref2) {
30044
- var data = _ref2.data;
30045
- setAcademies(data.data);
30343
+ React.useEffect(function () {
30344
+ if (!email) return;
30345
+ var fetchData = _$5.debounce(function () {
30346
+ try {
30347
+ var _temp2 = function _temp2() {
30348
+ setLoading(false);
30349
+ };
30350
+ setLoading(true);
30351
+ var _temp = _catch(function () {
30352
+ return Promise.resolve(getCourseByTeacherAcademy(email, academy === null || academy === void 0 ? void 0 : academy.id)).then(function (_ref2) {
30353
+ var data = _ref2.data;
30354
+ var formattedCourses = data.data.map(function (course) {
30355
+ return {
30356
+ label: course.name,
30357
+ value: course.id
30358
+ };
30359
+ });
30360
+ setCourses(formattedCourses);
30361
+ });
30362
+ }, function (err) {
30363
+ reactToastify.toast.error(getErrorMessage(t, err));
30046
30364
  });
30047
- }, function (err) {
30048
- reactToastify.toast.error(getErrorMessage(t, err));
30049
- });
30050
- return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
30051
- } catch (e) {
30052
- return Promise.reject(e);
30053
- }
30054
- }, 1000);
30055
- var academyOptions = React.useMemo(function () {
30056
- if (!(academies !== null && academies !== void 0 && academies.length)) return [];
30057
- return academies === null || academies === void 0 ? void 0 : academies.map(function (academy) {
30058
- return {
30059
- label: academy.name,
30060
- value: academy.id
30061
- };
30062
- });
30063
- }, [JSON.stringify(academies)]);
30064
- var courseOptions = React.useMemo(function () {
30065
- var _academy$courses;
30066
- if (!academyId) return [];
30067
- var academy = academies === null || academies === void 0 ? void 0 : academies.find(function (academy) {
30068
- return academy.id === academyId;
30069
- });
30070
- return academy === null || academy === void 0 ? void 0 : (_academy$courses = academy.courses) === null || _academy$courses === void 0 ? void 0 : _academy$courses.map(function (course) {
30071
- return {
30072
- label: course.name,
30073
- value: course.id
30074
- };
30075
- });
30076
- }, [JSON.stringify(academies), academyId]);
30365
+ return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
30366
+ } catch (e) {
30367
+ return Promise.reject(e);
30368
+ }
30369
+ }, 1000);
30370
+ fetchData();
30371
+ return function () {
30372
+ return fetchData.cancel();
30373
+ };
30374
+ }, [email]);
30077
30375
  return {
30078
30376
  t: t,
30079
- loadData: loadData,
30080
30377
  isLoading: isLoading,
30081
- academyOptions: academyOptions,
30082
- courseOptions: courseOptions
30378
+ academies: academies,
30379
+ courses: courses
30083
30380
  };
30084
30381
  };
30085
30382
 
@@ -30088,19 +30385,15 @@ var OwnerSelector = function OwnerSelector(_ref) {
30088
30385
  var values = _ref.values,
30089
30386
  errors = _ref.errors,
30090
30387
  index = _ref.index,
30091
- academyId = _ref.academyId,
30388
+ email = _ref.email,
30092
30389
  onChangeFieldValue = _ref.onChangeFieldValue;
30093
- var handleChangeEmail = function handleChangeEmail(value) {
30094
- onChangeFieldValue("textbookOwners[" + index + "].email", value);
30095
- };
30096
30390
  var _useSelect = useSelect({
30097
- academyId: academyId,
30098
- handleChangeEmail: handleChangeEmail
30391
+ email: email
30099
30392
  }),
30100
30393
  t = _useSelect.t,
30101
30394
  isLoading = _useSelect.isLoading,
30102
- academyOptions = _useSelect.academyOptions,
30103
- courseOptions = _useSelect.courseOptions;
30395
+ academies = _useSelect.academies,
30396
+ courses = _useSelect.courses;
30104
30397
  return React__default.createElement(React__default.Fragment, null, (values === null || values === void 0 ? void 0 : (_values$textbookOwner = values.textbookOwners) === null || _values$textbookOwner === void 0 ? void 0 : _values$textbookOwner[index].email) && React__default.createElement(material.Stack, {
30105
30398
  flexDirection: "column",
30106
30399
  gap: 1,
@@ -30112,7 +30405,9 @@ var OwnerSelector = function OwnerSelector(_ref) {
30112
30405
  render: function render(_ref2) {
30113
30406
  var field = _ref2.field;
30114
30407
  return React__default.createElement(AcademySelector, Object.assign({}, field, {
30115
- options: academyOptions,
30408
+ options: academies,
30409
+ disabled: true,
30410
+ defaultValue: academies.length > 0 ? academies[0].value : undefined,
30116
30411
  isLoading: isLoading,
30117
30412
  valueById: field === null || field === void 0 ? void 0 : field.value,
30118
30413
  onChange: function onChange(val) {
@@ -30136,7 +30431,7 @@ var OwnerSelector = function OwnerSelector(_ref) {
30136
30431
  render: function render(_ref3) {
30137
30432
  var field = _ref3.field;
30138
30433
  return React__default.createElement(CourseSelector, Object.assign({}, field, {
30139
- options: courseOptions,
30434
+ options: courses,
30140
30435
  isLoading: isLoading,
30141
30436
  valueById: field === null || field === void 0 ? void 0 : field.value,
30142
30437
  onChange: function onChange(val) {
@@ -30173,7 +30468,7 @@ var TextbookOwnersTab = function TextbookOwnersTab(_ref) {
30173
30468
  container: true,
30174
30469
  spacing: "16px"
30175
30470
  }, textbookOwners === null || textbookOwners === void 0 ? void 0 : textbookOwners.map(function (_val, index) {
30176
- var _values$textbookOwner, _values$textbookOwner2, _values$textbookOwner3;
30471
+ var _values$textbookOwner, _values$textbookOwner2;
30177
30472
  return React__default.createElement(material.Grid, {
30178
30473
  item: true,
30179
30474
  xs: 6,
@@ -30224,8 +30519,8 @@ var TextbookOwnersTab = function TextbookOwnersTab(_ref) {
30224
30519
  values: values,
30225
30520
  errors: errors,
30226
30521
  index: index,
30227
- onChangeFieldValue: setFieldValue,
30228
- academyId: values === null || values === void 0 ? void 0 : (_values$textbookOwner2 = values.textbookOwners) === null || _values$textbookOwner2 === void 0 ? void 0 : (_values$textbookOwner3 = _values$textbookOwner2[index]) === null || _values$textbookOwner3 === void 0 ? void 0 : _values$textbookOwner3.academyId
30522
+ email: values === null || values === void 0 ? void 0 : (_values$textbookOwner2 = values.textbookOwners) === null || _values$textbookOwner2 === void 0 ? void 0 : _values$textbookOwner2[index].email,
30523
+ onChangeFieldValue: setFieldValue
30229
30524
  })));
30230
30525
  }), React__default.createElement(material.Grid, {
30231
30526
  item: true,
@@ -30398,15 +30693,16 @@ var convertResponseToRequest = function convertResponseToRequest(selectedTextboo
30398
30693
  };
30399
30694
  };
30400
30695
 
30401
- var _excluded$k = ["isAdmin", "textbookId", "selected", "coverImage", "onChangeTab", "onUploadImage"];
30696
+ var _excluded$l = ["isSuperAdmin", "isAdmin", "textbookId", "selected", "coverImage", "onChangeTab", "onUploadImage"];
30402
30697
  var PreparedTextbookForm = function PreparedTextbookForm(_ref) {
30403
- var isAdmin = _ref.isAdmin,
30698
+ var isSuperAdmin = _ref.isSuperAdmin,
30699
+ isAdmin = _ref.isAdmin,
30404
30700
  textbookId = _ref.textbookId,
30405
30701
  selected = _ref.selected,
30406
30702
  coverImage = _ref.coverImage,
30407
30703
  onChangeTab = _ref.onChangeTab,
30408
30704
  onUploadImage = _ref.onUploadImage,
30409
- formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$k);
30705
+ formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$l);
30410
30706
  var values = formikProps.values,
30411
30707
  errors = formikProps.errors,
30412
30708
  dirty = formikProps.dirty,
@@ -30556,7 +30852,7 @@ var PreparedTextbookForm = function PreparedTextbookForm(_ref) {
30556
30852
  sx: {
30557
30853
  color: contentsErrors && submitCount ? error.main + "!important" : "gray"
30558
30854
  }
30559
- }, a11yProps(1))), !(values !== null && values !== void 0 && values.isPublic) && (!isAdmin || textbookId) && (!textbookId || (values === null || values === void 0 ? void 0 : values.isShared)) && React__default.createElement(material.Tab, Object.assign({
30855
+ }, a11yProps(1))), !(values !== null && values !== void 0 && values.isPublic) && (!isSuperAdmin || textbookId) && (!textbookId || (values === null || values === void 0 ? void 0 : values.isShared)) && React__default.createElement(material.Tab, Object.assign({
30560
30856
  label: i18n.t("textbook.owners"),
30561
30857
  sx: {
30562
30858
  color: textbookOwnersErrors && submitCount ? error.main + "!important" : "gray"
@@ -30599,6 +30895,7 @@ var PreparedTextbookView = function PreparedTextbookView(_ref) {
30599
30895
  textbookId: textbookId
30600
30896
  }),
30601
30897
  t = _useTextbookManagemen.t,
30898
+ isSuperAdmin = _useTextbookManagemen.isSuperAdmin,
30602
30899
  isAdmin = _useTextbookManagemen.isAdmin,
30603
30900
  coverImage = _useTextbookManagemen.coverImage,
30604
30901
  selectedTextbook = _useTextbookManagemen.selectedTextbook,
@@ -30618,6 +30915,7 @@ var PreparedTextbookView = function PreparedTextbookView(_ref) {
30618
30915
  }, function (props) {
30619
30916
  return React__default.createElement(PreparedTextbookForm, Object.assign({
30620
30917
  isAdmin: isAdmin,
30918
+ isSuperAdmin: isSuperAdmin,
30621
30919
  selected: selected,
30622
30920
  textbookId: textbookId,
30623
30921
  onChangeTab: handleChangeTab,
@@ -31855,7 +32153,7 @@ var ChapterProblemSolvingResultsDialog = function ChapterProblemSolvingResultsDi
31855
32153
  }, t("cancel"))))));
31856
32154
  };
31857
32155
 
31858
- var _excluded$l = ["onChange"];
32156
+ var _excluded$m = ["onChange"];
31859
32157
  var StartPageDialog = function StartPageDialog(_ref) {
31860
32158
  var t = _ref.t,
31861
32159
  onClose = _ref.onClose,
@@ -31916,7 +32214,7 @@ var StartPageDialog = function StartPageDialog(_ref) {
31916
32214
  }, t("page_to_start_with")), React__default.createElement(formik.Field, {
31917
32215
  name: "startPage",
31918
32216
  render: function render(_ref3) {
31919
- var field = _objectWithoutPropertiesLoose(_ref3, _excluded$l);
32217
+ var field = _objectWithoutPropertiesLoose(_ref3, _excluded$m);
31920
32218
  return React__default.createElement(CustomSelectOption, Object.assign({
31921
32219
  menuPosition: "fixed",
31922
32220
  onChange: function onChange(option) {
@@ -34578,6 +34876,18 @@ Object.defineProperty(exports, 'DemoContainer', {
34578
34876
  }
34579
34877
  });
34580
34878
  exports.moment = moment;
34879
+ Object.defineProperty(exports, 'CellMeasurerCache', {
34880
+ enumerable: true,
34881
+ get: function () {
34882
+ return reactVirtualized.CellMeasurerCache;
34883
+ }
34884
+ });
34885
+ Object.defineProperty(exports, 'MultiGrid', {
34886
+ enumerable: true,
34887
+ get: function () {
34888
+ return reactVirtualized.MultiGrid;
34889
+ }
34890
+ });
34581
34891
  exports.ACADEMY_DOMAIN = ACADEMY_DOMAIN;
34582
34892
  exports.ACCESS_TOKEN = ACCESS_TOKEN;
34583
34893
  exports.AcademyHeaders = AcademyHeaders;
@@ -34589,6 +34899,7 @@ exports.ArticleCategorySelector = ArticleCategorySelector;
34589
34899
  exports.ArticleDialog = ArticleDialog;
34590
34900
  exports.ArticleGroupView = ArticleGroupView;
34591
34901
  exports.BASE_URL = BASE_URL;
34902
+ exports.BRIEF_GRADE_OPTIONS = BRIEF_GRADE_OPTIONS;
34592
34903
  exports.ChapterBox = _ChapterBox;
34593
34904
  exports.ChatContainer = ChatContainer;
34594
34905
  exports.ChatTypes = types;
@@ -34609,7 +34920,6 @@ exports.DATE_TIME_MIN_VALUE = DATE_TIME_MIN_VALUE;
34609
34920
  exports.DEFAULT_NOTE_FILTER = DEFAULT_NOTE_FILTER;
34610
34921
  exports.DEFAULT_PAGING_RESPONSE = DEFAULT_PAGING_RESPONSE;
34611
34922
  exports.DefaultErrorMessage = DefaultErrorMessage;
34612
- exports.ELEMENTARY_GRADES = ELEMENTARY_GRADES;
34613
34923
  exports.EXAM_CHANNEL = EXAM_CHANNEL;
34614
34924
  exports.EXAM_STUDENT_CHANNEL = EXAM_STUDENT_CHANNEL;
34615
34925
  exports.ExamDetailView = ExamDetailView;
@@ -34619,7 +34929,7 @@ exports.GOOGLE_CLIENT_ID = GOOGLE_CLIENT_ID;
34619
34929
  exports.GOOGLE_RECAPTCHA_ID = GOOGLE_RECAPTCHA_ID;
34620
34930
  exports.GOOGLE_RECAPTCHA_KEY = GOOGLE_RECAPTCHA_KEY;
34621
34931
  exports.GOOGLE_RECAPTCHA_SECRET = GOOGLE_RECAPTCHA_SECRET;
34622
- exports.HIGH_GRADES = HIGH_GRADES;
34932
+ exports.GRADE_OPTIONS = GRADE_OPTIONS;
34623
34933
  exports.Header = Header;
34624
34934
  exports.InputText = InputText;
34625
34935
  exports.LANGUAGE = LANGUAGE;
@@ -34633,7 +34943,6 @@ exports.Login = Login;
34633
34943
  exports.LoginQRCode = LoginQRCode;
34634
34944
  exports.LoginWithEmail = LoginWithEmail;
34635
34945
  exports.LoginWithPassword = SignIn;
34636
- exports.MIDDLE_GRADES = MIDDLE_GRADES;
34637
34946
  exports.MathJaxContainer = MathJaxContainer;
34638
34947
  exports.MathTinyEditor = MathTinyEditor;
34639
34948
  exports.NewNoteButton = NewNoteButton;
@@ -34661,7 +34970,6 @@ exports.REDIRECT_URL = REDIRECT_URL;
34661
34970
  exports.RELEASE_DATE = RELEASE_DATE;
34662
34971
  exports.RecentUserActionNames = RecentUserActionNames;
34663
34972
  exports.ReleaseAlert = ReleaseAlert;
34664
- exports.SCHOOL_OPTIONS = SCHOOL_OPTIONS;
34665
34973
  exports.SUPER_ADMIN_BASE_URL = SUPER_ADMIN_BASE_URL;
34666
34974
  exports.ScoreSelector = ScoreSelector;
34667
34975
  exports.SearchInput = SearchInput;