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
@@ -12,8 +12,8 @@ import { AdapterMoment } from '@mui/x-date-pickers/AdapterMoment';
12
12
  export { AdapterMoment } from '@mui/x-date-pickers/AdapterMoment';
13
13
  import { DemoContainer } from '@mui/x-date-pickers/internals/demo';
14
14
  export { DemoContainer } from '@mui/x-date-pickers/internals/demo';
15
- import React__default, { useState, useEffect, Fragment as Fragment$1, useRef, useCallback, useMemo, createElement, memo } from 'react';
16
- import { useTheme, Container, Typography, Stack, List, ListItem, FormGroup, FormControlLabel, Checkbox, Button, Box, Dialog, DialogTitle, IconButton, DialogContent, TextField, DialogActions, styled, FormLabel, Pagination, Paper, InputBase, Tooltip, tooltipClasses, Grid, ClickAwayListener, useMediaQuery, CircularProgress, InputAdornment, Card as Card$1, Avatar, Table, TableHead, TableRow, TableCell, TableBody, TableContainer, RadioGroup, Radio, FormControl, InputLabel, Chip, Accordion, AccordionSummary, AccordionDetails, Select as Select$1, MenuItem, Switch, Tabs, Tab, Divider, CardMedia as CardMedia$1, MenuList } from '@mui/material';
15
+ import React__default, { useState, useEffect, Fragment as Fragment$1, useRef, useCallback, useMemo, memo, createElement } from 'react';
16
+ import { useTheme, Container, Typography, Stack, List, ListItem, FormGroup, FormControlLabel, Checkbox, Button, Box, Dialog, DialogTitle, IconButton, DialogContent, TextField, DialogActions, styled, FormLabel, Pagination, Paper, InputBase, Tooltip, tooltipClasses, Grid, ClickAwayListener, useMediaQuery, CircularProgress, InputAdornment, Card as Card$1, Avatar, Table, TableHead, TableRow, TableCell, TableBody, TableContainer, RadioGroup, Radio, FormControl, InputLabel, Chip, Accordion, AccordionSummary, AccordionDetails, Switch, Tabs, Tab, Divider, CardMedia as CardMedia$1, MenuList } from '@mui/material';
17
17
  import moment from 'moment';
18
18
  export { default as moment } from 'moment';
19
19
  import { FaSave, FaCaretDown, FaTimes, FaTrash, FaSortUp, FaSortDown, FaPlus, FaPlusCircle, FaUpload, FaEye as FaEye$1, FaPencilAlt, FaShare, FaExchangeAlt, FaBookOpen } from 'react-icons/fa';
@@ -27,8 +27,10 @@ import _$5 from 'lodash';
27
27
  import { useGoogleLogout, GoogleLogin } from '@leecheuk/react-google-login';
28
28
  import 'moment/locale/ko.js';
29
29
  import 'moment/locale/en-au.js';
30
+ import { CellMeasurerCache, CellMeasurer, AutoSizer, List as List$1, MultiGrid } from 'react-virtualized';
31
+ export { CellMeasurerCache, MultiGrid } from 'react-virtualized';
30
32
  import { Formik, Form, Field, FieldArray } from 'formik';
31
- import { AutoSizer } from 'react-virtualized';
33
+ import { alpha } from '@mui/material/styles';
32
34
  import tinymce from 'tinymce';
33
35
  import '@wiris/mathtype-tinymce6';
34
36
  import { Editor } from '@tinymce/tinymce-react';
@@ -40,7 +42,7 @@ import CardContent from '@mui/material/CardContent';
40
42
  import CardMedia from '@mui/material/CardMedia';
41
43
  import MButton from '@mui/material/Button';
42
44
  import { object, string, number, date as date$2, array } from 'yup';
43
- import { blue } from '@mui/material/colors';
45
+ import { blue, yellow as yellow$1 } from '@mui/material/colors';
44
46
  import { GoogleReCaptcha, GoogleReCaptchaProvider } from 'react-google-recaptcha-v3';
45
47
  import { MdVisibilityOff, MdVisibility, MdAutorenew, MdMoreHoriz, MdDownload, MdExpandMore } from 'react-icons/md';
46
48
  import { gapi } from 'gapi-script';
@@ -68,11 +70,10 @@ import { useForm } from 'react-hook-form';
68
70
  import { yupResolver } from '@hookform/resolvers/yup';
69
71
  import { PiDotsNineLight } from 'react-icons/pi';
70
72
  import Container$1 from '@mui/material/Container';
71
- import { alpha } from '@mui/material/styles';
72
73
  import Slider from 'react-slick';
73
74
  import { GrNext, GrPrevious } from 'react-icons/gr';
74
75
  import Popover from '@mui/material/Popover';
75
- import MenuItem$1 from '@mui/material/MenuItem';
76
+ import MenuItem from '@mui/material/MenuItem';
76
77
  import { GoArrowSwitch } from 'react-icons/go';
77
78
  import Pusher$1 from 'pusher-js';
78
79
 
@@ -824,7 +825,7 @@ var delete_users_csv = "사용자 CSV 삭제";
824
825
  var are_you_sure_to_delete_users = "사용자를 삭제하시겠습니까?";
825
826
  var enter_phone_number = "전화번호를 입력하세요";
826
827
  var enter_school_name = "학교 이름을 입력하세요";
827
- var enter_grade = "성적 입력 (먼저 학교 이름을 입력하세요)";
828
+ var enter_grade = "성적 입력";
828
829
  var enter_major_name = "부서명을 입력하세요";
829
830
  var enter_parent_name = "부모 이름을 입력하세요";
830
831
  var enter_parent_phone_number = "부모 전화번호를 입력하세요";
@@ -1426,18 +1427,39 @@ var current_correct_answer_entered = "현재 입력한 정답";
1426
1427
  var correct_answer_is_required = "정답은 필수입니다.";
1427
1428
  var cancel_2 = "취소하기";
1428
1429
  var article_required = "기사가 필요합니다";
1429
- var elementary_school_1st_grade = "초등학교 1학년";
1430
- var elementary_school_2nd_grade = "초등학교 2학년";
1431
- var elementary_school_3rd_grade = "초등학교 3학년";
1432
- var elementary_school_4th_grade = "초등학교 4학년";
1433
- var elementary_school_5th_grade = "초등학교 5학년";
1434
- var elementary_school_6th_grade = "초등학교 6학년";
1435
- var middle_school_1st_grade = "중학교 1학년";
1436
- var middle_school_2nd_grade = "중학교 2학년";
1437
- var middle_school_3rd_grade = "중학교 3학년";
1438
- var high_school_1st_grade = "고등학교 1학년";
1439
- var high_school_2nd_grade = "고등학교 2학년";
1440
- var high_school_3rd_grade = "고등학교 3학년";
1430
+ var elementary_school_1st_grade = "1";
1431
+ var elementary_school_2nd_grade = "2";
1432
+ var elementary_school_3rd_grade = "3";
1433
+ var elementary_school_4th_grade = "4";
1434
+ var elementary_school_5th_grade = "5";
1435
+ var elementary_school_6th_grade = "6";
1436
+ var middle_school_1st_grade = "1";
1437
+ var middle_school_2nd_grade = "2";
1438
+ var middle_school_3rd_grade = "3";
1439
+ var high_school_1st_grade = "1";
1440
+ var high_school_2nd_grade = "2";
1441
+ var high_school_3rd_grade = "3";
1442
+ var n_year_retaker = "N수생";
1443
+ var es_1st = "초1";
1444
+ var es_2nd = "초2";
1445
+ var es_3rd = "초3";
1446
+ var es_4th = "초4";
1447
+ var es_5th = "초5";
1448
+ var es_6th = "초6";
1449
+ var ms_1st = "중1";
1450
+ var ms_2nd = "중2";
1451
+ var ms_3rd = "중3";
1452
+ var hs_1st = "고1";
1453
+ var hs_2nd = "고2";
1454
+ var hs_3rd = "고3";
1455
+ var n_retaker = "N수생";
1456
+ var today_class = "오늘 수업";
1457
+ var unit_number = "대단원 {{number}}";
1458
+ var sub_unit_number = "소단원 {{number}}";
1459
+ var text_group_n = "지문 그룹 {{n}}";
1460
+ var text_detail_n = "지문 상세 {{n}}";
1461
+ var question_group_n = "문제 그룹 {{n}}";
1462
+ var placeholder_teacher_selector = "선생님을 검색하려면 최소 2글자를 입력하세요.";
1441
1463
  var lang_ko = {
1442
1464
  problem_solving: problem_solving,
1443
1465
  my_story: my_story,
@@ -2510,7 +2532,28 @@ var lang_ko = {
2510
2532
  middle_school_3rd_grade: middle_school_3rd_grade,
2511
2533
  high_school_1st_grade: high_school_1st_grade,
2512
2534
  high_school_2nd_grade: high_school_2nd_grade,
2513
- high_school_3rd_grade: high_school_3rd_grade
2535
+ high_school_3rd_grade: high_school_3rd_grade,
2536
+ n_year_retaker: n_year_retaker,
2537
+ es_1st: es_1st,
2538
+ es_2nd: es_2nd,
2539
+ es_3rd: es_3rd,
2540
+ es_4th: es_4th,
2541
+ es_5th: es_5th,
2542
+ es_6th: es_6th,
2543
+ ms_1st: ms_1st,
2544
+ ms_2nd: ms_2nd,
2545
+ ms_3rd: ms_3rd,
2546
+ hs_1st: hs_1st,
2547
+ hs_2nd: hs_2nd,
2548
+ hs_3rd: hs_3rd,
2549
+ n_retaker: n_retaker,
2550
+ today_class: today_class,
2551
+ unit_number: unit_number,
2552
+ sub_unit_number: sub_unit_number,
2553
+ text_group_n: text_group_n,
2554
+ text_detail_n: text_detail_n,
2555
+ question_group_n: question_group_n,
2556
+ placeholder_teacher_selector: placeholder_teacher_selector
2514
2557
  };
2515
2558
 
2516
2559
  var problem_solving$1 = "Problem Solving";
@@ -3014,7 +3057,7 @@ var delete_users_csv$1 = "Delete users csv";
3014
3057
  var are_you_sure_to_delete_users$1 = "Are you sure to delete users?";
3015
3058
  var enter_phone_number$1 = "Enter phone number";
3016
3059
  var enter_school_name$1 = "Enter school name";
3017
- var enter_grade$1 = "Enter grade (please enter school name first)";
3060
+ var enter_grade$1 = "Enter grade";
3018
3061
  var enter_major_name$1 = "Enter department name";
3019
3062
  var enter_parent_name$1 = "Enter parent name";
3020
3063
  var enter_parent_phone_number$1 = "Enter parent phone number";
@@ -3606,6 +3649,27 @@ var middle_school_3rd_grade$1 = "Middle school 3rd grade";
3606
3649
  var high_school_1st_grade$1 = "High school 1st grade";
3607
3650
  var high_school_2nd_grade$1 = "High school 2nd grade";
3608
3651
  var high_school_3rd_grade$1 = "High school 3rd grade";
3652
+ var n_year_retaker$1 = "N-year retaker";
3653
+ var es_1st$1 = "1st ES";
3654
+ var es_2nd$1 = "2nd ES";
3655
+ var es_3rd$1 = "3rd ES";
3656
+ var es_4th$1 = "4th ES";
3657
+ var es_5th$1 = "5th ES";
3658
+ var es_6th$1 = "6th ES";
3659
+ var ms_1st$1 = "1st MS";
3660
+ var ms_2nd$1 = "2nd MS";
3661
+ var ms_3rd$1 = "3rd MS";
3662
+ var hs_1st$1 = "1st HS";
3663
+ var hs_2nd$1 = "2nd HS";
3664
+ var hs_3rd$1 = "3rd HS";
3665
+ var n_retaker$1 = "N-retaker";
3666
+ var today_class$1 = "Today's class";
3667
+ var unit_number$1 = "Unit {{number}}";
3668
+ var sub_unit_number$1 = "Sub-unit {{number}}";
3669
+ var text_group_n$1 = "Text group {{n}}";
3670
+ var text_detail_n$1 = "Text details {{n}}";
3671
+ var question_group_n$1 = "Question group {{n}}";
3672
+ var placeholder_teacher_selector$1 = "Type at least 2 characters to search teacher";
3609
3673
  var lang_en = {
3610
3674
  problem_solving: problem_solving$1,
3611
3675
  my_story: my_story$1,
@@ -4680,7 +4744,28 @@ var lang_en = {
4680
4744
  middle_school_3rd_grade: middle_school_3rd_grade$1,
4681
4745
  high_school_1st_grade: high_school_1st_grade$1,
4682
4746
  high_school_2nd_grade: high_school_2nd_grade$1,
4683
- high_school_3rd_grade: high_school_3rd_grade$1
4747
+ high_school_3rd_grade: high_school_3rd_grade$1,
4748
+ n_year_retaker: n_year_retaker$1,
4749
+ es_1st: es_1st$1,
4750
+ es_2nd: es_2nd$1,
4751
+ es_3rd: es_3rd$1,
4752
+ es_4th: es_4th$1,
4753
+ es_5th: es_5th$1,
4754
+ es_6th: es_6th$1,
4755
+ ms_1st: ms_1st$1,
4756
+ ms_2nd: ms_2nd$1,
4757
+ ms_3rd: ms_3rd$1,
4758
+ hs_1st: hs_1st$1,
4759
+ hs_2nd: hs_2nd$1,
4760
+ hs_3rd: hs_3rd$1,
4761
+ n_retaker: n_retaker$1,
4762
+ today_class: today_class$1,
4763
+ unit_number: unit_number$1,
4764
+ sub_unit_number: sub_unit_number$1,
4765
+ text_group_n: text_group_n$1,
4766
+ text_detail_n: text_detail_n$1,
4767
+ question_group_n: question_group_n$1,
4768
+ placeholder_teacher_selector: placeholder_teacher_selector$1
4684
4769
  };
4685
4770
 
4686
4771
  i18n.use(initReactI18next).init({
@@ -4707,71 +4792,6 @@ var PrintState;
4707
4792
  PrintState[PrintState["Paused"] = 3] = "Paused";
4708
4793
  })(PrintState || (PrintState = {}));
4709
4794
 
4710
- var PreparedType;
4711
- (function (PreparedType) {
4712
- PreparedType[PreparedType["csat_past_questions"] = 1] = "csat_past_questions";
4713
- PreparedType[PreparedType["official_mock_exam"] = 2] = "official_mock_exam";
4714
- PreparedType[PreparedType["private_mock_exam"] = 3] = "private_mock_exam";
4715
- })(PreparedType || (PreparedType = {}));
4716
-
4717
- var ExamEvent;
4718
- (function (ExamEvent) {
4719
- ExamEvent["StartExam"] = "start-exam";
4720
- ExamEvent["TerminateExam"] = "terminate-exam";
4721
- ExamEvent["AddExtraDuration"] = "add-extra-duration-exam";
4722
- ExamEvent["TeacherKickOutStudent"] = "teacher-kick-out-student";
4723
- })(ExamEvent || (ExamEvent = {}));
4724
-
4725
- var ExamStatus;
4726
- (function (ExamStatus) {
4727
- ExamStatus[ExamStatus["Default"] = 0] = "Default";
4728
- ExamStatus[ExamStatus["Pending"] = 1] = "Pending";
4729
- ExamStatus[ExamStatus["InProgress"] = 2] = "InProgress";
4730
- ExamStatus[ExamStatus["Completed"] = 3] = "Completed";
4731
- })(ExamStatus || (ExamStatus = {}));
4732
- var QuestionAnswerType;
4733
- (function (QuestionAnswerType) {
4734
- QuestionAnswerType[QuestionAnswerType["SingleChoice"] = 0] = "SingleChoice";
4735
- QuestionAnswerType[QuestionAnswerType["MultipleChoice"] = 1] = "MultipleChoice";
4736
- QuestionAnswerType[QuestionAnswerType["ShortAnswer"] = 2] = "ShortAnswer";
4737
- })(QuestionAnswerType || (QuestionAnswerType = {}));
4738
-
4739
- var OrderType;
4740
- (function (OrderType) {
4741
- OrderType["ASC"] = "ASC";
4742
- OrderType["DESC"] = "DESC";
4743
- })(OrderType || (OrderType = {}));
4744
-
4745
- var RecentUserAction;
4746
- (function (RecentUserAction) {
4747
- RecentUserAction["ViewedUser"] = "ViewedUser";
4748
- RecentUserAction["ViewedQNA"] = "ViewedQNA";
4749
- RecentUserAction["ViewedExamResult"] = "ViewedExamResult";
4750
- RecentUserAction["PrintedExamResult"] = "PrintedExamResult";
4751
- RecentUserAction["ViewedAttendance"] = "ViewedAttendance";
4752
- })(RecentUserAction || (RecentUserAction = {}));
4753
-
4754
- var UserSortColumn;
4755
- (function (UserSortColumn) {
4756
- UserSortColumn["CreatedAt"] = "CreatedAt";
4757
- UserSortColumn["FullName"] = "FullName";
4758
- UserSortColumn["PhoneNumber"] = "PhoneNumber";
4759
- UserSortColumn["Email"] = "Email";
4760
- UserSortColumn["SchoolName"] = "SchoolName";
4761
- UserSortColumn["Major"] = "Major";
4762
- UserSortColumn["ParentName"] = "ParentName";
4763
- UserSortColumn["ParentPhoneNumber"] = "ParentPhoneNumber";
4764
- UserSortColumn["Grade"] = "Grade";
4765
- })(UserSortColumn || (UserSortColumn = {}));
4766
-
4767
- var SchoolType;
4768
- (function (SchoolType) {
4769
- SchoolType[SchoolType["Default"] = 0] = "Default";
4770
- SchoolType[SchoolType["Elementary"] = 1] = "Elementary";
4771
- SchoolType[SchoolType["Middle"] = 2] = "Middle";
4772
- SchoolType[SchoolType["High"] = 3] = "High";
4773
- })(SchoolType || (SchoolType = {}));
4774
-
4775
4795
  var GOOGLE_RECAPTCHA_KEY = process.env.REACT_APP_GOOGLE_RECAPTCHA_KEY || "";
4776
4796
  var GOOGLE_CLIENT_ID = process.env.REACT_APP_GOOGLE_CLIENT_ID || "";
4777
4797
  var GOOGLE_RECAPTCHA_ID = process.env.REACT_APP_GOOGLE_RECAPTCHA_ID || "";
@@ -4842,17 +4862,7 @@ var DEFAULT_PAGING_RESPONSE = {
4842
4862
  totalItems: 0,
4843
4863
  totalPages: 0
4844
4864
  };
4845
- var SCHOOL_OPTIONS = [{
4846
- label: "elementary_school",
4847
- value: SchoolType.Elementary
4848
- }, {
4849
- label: "middle_school",
4850
- value: SchoolType.Middle
4851
- }, {
4852
- label: "high_school",
4853
- value: SchoolType.High
4854
- }];
4855
- var ELEMENTARY_GRADES = [{
4865
+ var GRADE_OPTIONS = [{
4856
4866
  label: "elementary_school_1st_grade",
4857
4867
  value: 1
4858
4868
  }, {
@@ -4870,26 +4880,67 @@ var ELEMENTARY_GRADES = [{
4870
4880
  }, {
4871
4881
  label: "elementary_school_6th_grade",
4872
4882
  value: 6
4873
- }];
4874
- var MIDDLE_GRADES = [{
4883
+ }, {
4875
4884
  label: "middle_school_1st_grade",
4876
- value: 1
4885
+ value: 7
4877
4886
  }, {
4878
4887
  label: "middle_school_2nd_grade",
4879
- value: 2
4888
+ value: 8
4880
4889
  }, {
4881
4890
  label: "middle_school_3rd_grade",
4882
- value: 3
4883
- }];
4884
- var HIGH_GRADES = [{
4891
+ value: 9
4892
+ }, {
4885
4893
  label: "high_school_1st_grade",
4886
- value: 1
4894
+ value: 10
4887
4895
  }, {
4888
4896
  label: "high_school_2nd_grade",
4889
- value: 2
4897
+ value: 11
4890
4898
  }, {
4891
4899
  label: "high_school_3rd_grade",
4900
+ value: 12
4901
+ }, {
4902
+ label: "n_year_retaker",
4903
+ value: 13
4904
+ }];
4905
+ var BRIEF_GRADE_OPTIONS = [{
4906
+ label: "es_1st",
4907
+ value: 1
4908
+ }, {
4909
+ label: "es_2nd",
4910
+ value: 2
4911
+ }, {
4912
+ label: "es_3rd",
4892
4913
  value: 3
4914
+ }, {
4915
+ label: "es_4th",
4916
+ value: 4
4917
+ }, {
4918
+ label: "es_5th",
4919
+ value: 5
4920
+ }, {
4921
+ label: "es_6th",
4922
+ value: 6
4923
+ }, {
4924
+ label: "ms_1st",
4925
+ value: 7
4926
+ }, {
4927
+ label: "ms_2nd",
4928
+ value: 8
4929
+ }, {
4930
+ label: "ms_3rd",
4931
+ value: 9
4932
+ }, {
4933
+ label: "hs_1st",
4934
+ value: 10
4935
+ }, {
4936
+ label: "hs_2nd",
4937
+ value: 11
4938
+ }, {
4939
+ label: "hs_3rd",
4940
+ value: 12
4941
+ }, {
4942
+ label: "n_retaker",
4943
+ value: 13
4893
4944
  }];
4894
4945
 
4895
4946
  var utcToLocalTime = (function (time, FORMAT) {
@@ -6035,6 +6086,71 @@ function _finally(body, finalizer) {
6035
6086
  return finalizer();
6036
6087
  }
6037
6088
 
6089
+ var PreparedType;
6090
+ (function (PreparedType) {
6091
+ PreparedType[PreparedType["csat_past_questions"] = 1] = "csat_past_questions";
6092
+ PreparedType[PreparedType["official_mock_exam"] = 2] = "official_mock_exam";
6093
+ PreparedType[PreparedType["private_mock_exam"] = 3] = "private_mock_exam";
6094
+ })(PreparedType || (PreparedType = {}));
6095
+
6096
+ var ExamEvent;
6097
+ (function (ExamEvent) {
6098
+ ExamEvent["StartExam"] = "start-exam";
6099
+ ExamEvent["TerminateExam"] = "terminate-exam";
6100
+ ExamEvent["AddExtraDuration"] = "add-extra-duration-exam";
6101
+ ExamEvent["TeacherKickOutStudent"] = "teacher-kick-out-student";
6102
+ })(ExamEvent || (ExamEvent = {}));
6103
+
6104
+ var ExamStatus;
6105
+ (function (ExamStatus) {
6106
+ ExamStatus[ExamStatus["Default"] = 0] = "Default";
6107
+ ExamStatus[ExamStatus["Pending"] = 1] = "Pending";
6108
+ ExamStatus[ExamStatus["InProgress"] = 2] = "InProgress";
6109
+ ExamStatus[ExamStatus["Completed"] = 3] = "Completed";
6110
+ })(ExamStatus || (ExamStatus = {}));
6111
+ var QuestionAnswerType;
6112
+ (function (QuestionAnswerType) {
6113
+ QuestionAnswerType[QuestionAnswerType["SingleChoice"] = 0] = "SingleChoice";
6114
+ QuestionAnswerType[QuestionAnswerType["MultipleChoice"] = 1] = "MultipleChoice";
6115
+ QuestionAnswerType[QuestionAnswerType["ShortAnswer"] = 2] = "ShortAnswer";
6116
+ })(QuestionAnswerType || (QuestionAnswerType = {}));
6117
+
6118
+ var OrderType;
6119
+ (function (OrderType) {
6120
+ OrderType["ASC"] = "ASC";
6121
+ OrderType["DESC"] = "DESC";
6122
+ })(OrderType || (OrderType = {}));
6123
+
6124
+ var RecentUserAction;
6125
+ (function (RecentUserAction) {
6126
+ RecentUserAction["ViewedUser"] = "ViewedUser";
6127
+ RecentUserAction["ViewedQNA"] = "ViewedQNA";
6128
+ RecentUserAction["ViewedExamResult"] = "ViewedExamResult";
6129
+ RecentUserAction["PrintedExamResult"] = "PrintedExamResult";
6130
+ RecentUserAction["ViewedAttendance"] = "ViewedAttendance";
6131
+ })(RecentUserAction || (RecentUserAction = {}));
6132
+
6133
+ var UserSortColumn;
6134
+ (function (UserSortColumn) {
6135
+ UserSortColumn["CreatedAt"] = "CreatedAt";
6136
+ UserSortColumn["FullName"] = "FullName";
6137
+ UserSortColumn["PhoneNumber"] = "PhoneNumber";
6138
+ UserSortColumn["Email"] = "Email";
6139
+ UserSortColumn["SchoolName"] = "SchoolName";
6140
+ UserSortColumn["Major"] = "Major";
6141
+ UserSortColumn["ParentName"] = "ParentName";
6142
+ UserSortColumn["ParentPhoneNumber"] = "ParentPhoneNumber";
6143
+ UserSortColumn["Grade"] = "Grade";
6144
+ })(UserSortColumn || (UserSortColumn = {}));
6145
+
6146
+ var SchoolType;
6147
+ (function (SchoolType) {
6148
+ SchoolType[SchoolType["Default"] = 0] = "Default";
6149
+ SchoolType[SchoolType["Elementary"] = 1] = "Elementary";
6150
+ SchoolType[SchoolType["Middle"] = 2] = "Middle";
6151
+ SchoolType[SchoolType["High"] = 3] = "High";
6152
+ })(SchoolType || (SchoolType = {}));
6153
+
6038
6154
  var canAccess = function canAccess(userRoles, componentRoles) {
6039
6155
  if (!Array.isArray(userRoles)) {
6040
6156
  return false;
@@ -9498,7 +9614,198 @@ var ListView = function ListView(_ref) {
9498
9614
  }));
9499
9615
  };
9500
9616
 
9501
- var VirtualTableEmpty = function VirtualTableEmpty(_ref) {
9617
+ var useVirtualListView = function useVirtualListView(props) {
9618
+ var data = props.data,
9619
+ loading = props.loading,
9620
+ onLoadMore = props.onLoadMore;
9621
+ var handleLoadMore = function handleLoadMore() {
9622
+ if (loading) return;
9623
+ onLoadMore === null || onLoadMore === void 0 ? void 0 : onLoadMore();
9624
+ };
9625
+ var onScroll = function onScroll(_ref) {
9626
+ var scrollTop = _ref.scrollTop,
9627
+ clientHeight = _ref.clientHeight,
9628
+ scrollHeight = _ref.scrollHeight;
9629
+ if (scrollTop + clientHeight >= scrollHeight - 100) {
9630
+ handleLoadMore();
9631
+ }
9632
+ };
9633
+ var rowCount = data.length + (loading ? 1 : 0);
9634
+ return {
9635
+ rowCount: rowCount,
9636
+ onScroll: onScroll
9637
+ };
9638
+ };
9639
+
9640
+ var cellMeasurerCache = new CellMeasurerCache({
9641
+ fixedWidth: true,
9642
+ defaultHeight: 50
9643
+ });
9644
+
9645
+ var grey = {
9646
+ 0: '#FFFFFF',
9647
+ 50: "#FBFBF9",
9648
+ 100: '#EAEAE5',
9649
+ 200: '#F4F6F8',
9650
+ 300: '#D0D0C8',
9651
+ 400: '#C4CDD5',
9652
+ 500: '#9A9A98',
9653
+ 600: '#637381',
9654
+ 700: '#5D5D5B',
9655
+ 800: '#212B36',
9656
+ 900: '#363634'
9657
+ };
9658
+ var green = {
9659
+ 0: '#FFFFFF',
9660
+ 100: '#F0FFF6',
9661
+ 300: '#89F0B2',
9662
+ 500: '#3DC674',
9663
+ 700: '#349056',
9664
+ 900: '#18442A'
9665
+ };
9666
+ var main_theme = {
9667
+ lighter: green[100],
9668
+ light: green[300],
9669
+ less_dark: green[500],
9670
+ dark: green[700],
9671
+ darker: green[900]
9672
+ };
9673
+ var primary = {
9674
+ lighter: '#D0ECFE',
9675
+ light: '#73BAFB',
9676
+ main: '#1877F2',
9677
+ dark: '#0C44AE',
9678
+ darker: '#042174',
9679
+ contrastText: '#FFFFFF'
9680
+ };
9681
+ var secondary = {
9682
+ lighter: '#EFD6FF',
9683
+ light: '#C684FF',
9684
+ main: '#8E33FF',
9685
+ dark: '#5119B7',
9686
+ darker: '#27097A',
9687
+ contrastText: '#FFFFFF'
9688
+ };
9689
+ var info = {
9690
+ lighter: '#CAFDF5',
9691
+ light: '#61F3F3',
9692
+ main: '#00B8D9',
9693
+ dark: '#006C9C',
9694
+ darker: '#003768',
9695
+ contrastText: '#FFFFFF'
9696
+ };
9697
+ var success = {
9698
+ lighter: '#C8FAD6',
9699
+ light: '#5BE49B',
9700
+ main: '#00A76F',
9701
+ dark: '#007867',
9702
+ darker: '#004B50',
9703
+ contrastText: '#FFFFFF'
9704
+ };
9705
+ var warning$1 = {
9706
+ lighter: '#FFF5CC',
9707
+ light: '#FFD666',
9708
+ main: '#FFAB00',
9709
+ dark: '#B76E00',
9710
+ darker: '#7A4100',
9711
+ contrastText: grey[800]
9712
+ };
9713
+ var error = {
9714
+ lighter: '#FFE9D5',
9715
+ light: '#FFAC82',
9716
+ main: '#FF5630',
9717
+ dark: '#B71D18',
9718
+ darker: '#7A0916',
9719
+ contrastText: '#FFFFFF'
9720
+ };
9721
+ var red = {
9722
+ 100: '#FEF8F8',
9723
+ 300: '#FEF8F8',
9724
+ 500: '#F4CACA',
9725
+ 900: '#DB4D4D'
9726
+ };
9727
+ var yellow = {
9728
+ 900: '#FEAF06'
9729
+ };
9730
+ var green_support = {
9731
+ 100: '#F6FDF7',
9732
+ 500: '#AEEAB3',
9733
+ 900: '#3ACB46'
9734
+ };
9735
+ var purple = {
9736
+ 900: '#C3099A'
9737
+ };
9738
+ var dark_purple = {
9739
+ 900: '#6B0861'
9740
+ };
9741
+ var dark_red = {
9742
+ 900: '#800202'
9743
+ };
9744
+ var common = {
9745
+ black: '#000000',
9746
+ white: '#FFFFFF'
9747
+ };
9748
+ var action$2 = {
9749
+ hover: alpha(grey[500], 0.08),
9750
+ selected: alpha(grey[500], 0.16),
9751
+ disabled: alpha(grey[500], 0.8),
9752
+ disabledBackground: alpha(grey[500], 0.24),
9753
+ focus: alpha(grey[500], 0.24),
9754
+ hoverOpacity: 0.08,
9755
+ disabledOpacity: 0.48
9756
+ };
9757
+ var base = {
9758
+ primary: primary,
9759
+ secondary: secondary,
9760
+ info: info,
9761
+ main_theme: main_theme,
9762
+ success: success,
9763
+ warning: warning$1,
9764
+ error: error,
9765
+ grey: grey,
9766
+ common: common,
9767
+ red: red,
9768
+ yellow: yellow,
9769
+ green_support: green_support,
9770
+ purple: purple,
9771
+ dark_purple: dark_purple,
9772
+ dark_red: dark_red,
9773
+ divider: alpha(grey[500], 0.2),
9774
+ action: action$2
9775
+ };
9776
+
9777
+ var VirtualListItem = function VirtualListItem(_ref) {
9778
+ var isLoading = _ref.isLoading,
9779
+ rowData = _ref.rowData,
9780
+ style = _ref.style,
9781
+ parent = _ref.parent,
9782
+ index = _ref.index,
9783
+ renderItem = _ref.renderItem,
9784
+ loadingElement = _ref.loadingElement;
9785
+ return React__default.createElement(CellMeasurer, {
9786
+ cache: cellMeasurerCache,
9787
+ columnIndex: 0,
9788
+ rowIndex: index,
9789
+ key: rowData === null || rowData === void 0 ? void 0 : rowData.id,
9790
+ parent: parent
9791
+ }, function (_ref2) {
9792
+ var measure = _ref2.measure;
9793
+ return React__default.createElement("div", {
9794
+ key: rowData === null || rowData === void 0 ? void 0 : rowData.id,
9795
+ style: style
9796
+ }, isLoading && !!loadingElement && loadingElement, isLoading && !loadingElement && React__default.createElement(Box, {
9797
+ p: 1,
9798
+ className: "d-flex justify-content-center align-items-center w-100"
9799
+ }, React__default.createElement(CircularProgress, {
9800
+ size: 24,
9801
+ sx: {
9802
+ color: grey[700]
9803
+ }
9804
+ })), !isLoading && renderItem(rowData, index, measure));
9805
+ });
9806
+ };
9807
+
9808
+ var VirtualEmptyItem = function VirtualEmptyItem(_ref) {
9502
9809
  var emptyElement = _ref.emptyElement;
9503
9810
  var _useTranslation = useTranslation(),
9504
9811
  t = _useTranslation.t;
@@ -9511,70 +9818,195 @@ var VirtualTableEmpty = function VirtualTableEmpty(_ref) {
9511
9818
  var VirtualListView = function VirtualListView(props) {
9512
9819
  var data = props.data,
9513
9820
  containerProps = props.containerProps,
9821
+ listHeight = props.listHeight,
9822
+ _props$overscanRowCou = props.overscanRowCount,
9823
+ overscanRowCount = _props$overscanRowCou === void 0 ? 5 : _props$overscanRowCou,
9514
9824
  renderItem = props.renderItem,
9515
9825
  emptyElement = props.emptyElement,
9516
- loading = props.loading,
9517
- loadingElement = props.loadingElement,
9518
- listHeight = props.listHeight;
9826
+ loadingElement = props.loadingElement;
9827
+ var _useVirtualListView = useVirtualListView(props),
9828
+ rowCount = _useVirtualListView.rowCount,
9829
+ onScroll = _useVirtualListView.onScroll;
9830
+ var rowRenderer = function rowRenderer(props) {
9831
+ var index = props.index;
9832
+ var isLoading = index === data.length;
9833
+ var rowData = isLoading ? undefined : data[index];
9834
+ return React__default.createElement(VirtualListItem, Object.assign({}, props, {
9835
+ rowData: rowData,
9836
+ isLoading: isLoading,
9837
+ renderItem: renderItem,
9838
+ loadingElement: loadingElement
9839
+ }));
9840
+ };
9841
+ var noRowsRenderer = function noRowsRenderer() {
9842
+ return React__default.createElement(VirtualEmptyItem, {
9843
+ emptyElement: emptyElement
9844
+ });
9845
+ };
9519
9846
  return React__default.createElement(Box, Object.assign({}, containerProps), React__default.createElement(AutoSizer, {
9520
9847
  disableHeight: !!listHeight
9521
9848
  }, function (_ref) {
9522
9849
  var width = _ref.width,
9523
9850
  height = _ref.height;
9524
- return React__default.createElement(Box, {
9851
+ return React__default.createElement(List$1, {
9525
9852
  width: width,
9526
- height: height,
9527
- overflow: "auto"
9528
- }, loading && React__default.createElement(Fragment$1, null, loadingElement != null ? loadingElement : React__default.createElement(Box, {
9853
+ height: listHeight || height,
9854
+ rowCount: rowCount,
9855
+ rowHeight: cellMeasurerCache.rowHeight,
9856
+ rowRenderer: rowRenderer,
9857
+ deferredMeasurementCache: cellMeasurerCache,
9858
+ overscanRowCount: overscanRowCount,
9859
+ noRowsRenderer: noRowsRenderer,
9860
+ onScroll: onScroll
9861
+ });
9862
+ }));
9863
+ };
9864
+
9865
+ var cellMeasurerCache$1 = new CellMeasurerCache({
9866
+ defaultWidth: 100,
9867
+ defaultHeight: 50
9868
+ });
9869
+
9870
+ var VirtualTableRowItem = function VirtualTableRowItem(_ref) {
9871
+ var isLoading = _ref.isLoading,
9872
+ style = _ref.style,
9873
+ parent = _ref.parent,
9874
+ rowIndex = _ref.rowIndex,
9875
+ columnIndex = _ref.columnIndex,
9876
+ renderItem = _ref.renderItem,
9877
+ loadingElement = _ref.loadingElement,
9878
+ cellMeasurerCache = _ref.cellMeasurerCache;
9879
+ return React__default.createElement(CellMeasurer, {
9880
+ cache: cellMeasurerCache,
9881
+ columnIndex: columnIndex,
9882
+ rowIndex: rowIndex,
9883
+ key: rowIndex + "-" + columnIndex,
9884
+ parent: parent
9885
+ }, function (_ref2) {
9886
+ var measure = _ref2.measure;
9887
+ return React__default.createElement("div", {
9888
+ style: style
9889
+ }, isLoading && !!loadingElement && loadingElement, isLoading && !loadingElement && React__default.createElement(Box, {
9529
9890
  p: 1,
9530
9891
  className: "d-flex justify-content-center align-items-center w-100"
9531
9892
  }, React__default.createElement(CircularProgress, {
9532
9893
  size: 24,
9533
9894
  sx: {
9534
- color: "#5d5d5b"
9895
+ color: grey[700]
9535
9896
  }
9536
- }))), !loading && !data.length && React__default.createElement(VirtualTableEmpty, {
9537
- emptyElement: emptyElement
9538
- }), !loading && !!data.length && React__default.createElement(ListView, {
9539
- data: data,
9540
- render: renderItem
9541
- }));
9542
- }));
9897
+ })), !isLoading && renderItem(rowIndex, columnIndex, measure));
9898
+ });
9899
+ };
9900
+ var VirtualTableRowItem$1 = memo(VirtualTableRowItem);
9901
+
9902
+ var VirtualTableEmpty = function VirtualTableEmpty(_ref) {
9903
+ var emptyElement = _ref.emptyElement;
9904
+ var _useTranslation = useTranslation(),
9905
+ t = _useTranslation.t;
9906
+ if (emptyElement) return emptyElement;
9907
+ return React__default.createElement(Box, null, React__default.createElement(Typography, {
9908
+ className: "text-center text-muted"
9909
+ }, t("no_data")));
9910
+ };
9911
+
9912
+ var useVirtualTableView = function useVirtualTableView(props) {
9913
+ var itemsCount = props.itemsCount,
9914
+ loading = props.loading,
9915
+ hasHeader = props.hasHeader,
9916
+ onLoadMore = props.onLoadMore;
9917
+ var handleLoadMore = function handleLoadMore() {
9918
+ if (loading) return;
9919
+ onLoadMore === null || onLoadMore === void 0 ? void 0 : onLoadMore();
9920
+ };
9921
+ var onScroll = function onScroll(_ref) {
9922
+ var scrollTop = _ref.scrollTop,
9923
+ clientHeight = _ref.clientHeight,
9924
+ scrollHeight = _ref.scrollHeight;
9925
+ if (scrollTop + clientHeight >= scrollHeight - 100) {
9926
+ handleLoadMore();
9927
+ }
9928
+ };
9929
+ var rowCount = useMemo(function () {
9930
+ return itemsCount + (loading ? 1 : itemsCount === 1 && hasHeader ? 1 : 0);
9931
+ }, [itemsCount, loading, hasHeader]);
9932
+ return {
9933
+ rowCount: rowCount,
9934
+ onScroll: onScroll
9935
+ };
9543
9936
  };
9544
9937
 
9938
+ var _excluded$5 = ["containerProps", "listHeight", "overscanRowCount", "overscanColumnCount", "renderItem", "emptyElement", "loadingElement", "fixedColumnCount", "fixedRowCount", "listWidth", "itemsCount", "cellCache", "columnWidth", "containerRef", "multiGridRef"];
9545
9939
  var VirtualTableView = function VirtualTableView(props) {
9546
- var data = props.data,
9547
- containerProps = props.containerProps,
9940
+ var containerProps = props.containerProps,
9941
+ listHeight = props.listHeight,
9942
+ _props$overscanRowCou = props.overscanRowCount,
9943
+ overscanRowCount = _props$overscanRowCou === void 0 ? 5 : _props$overscanRowCou,
9944
+ _props$overscanColumn = props.overscanColumnCount,
9945
+ overscanColumnCount = _props$overscanColumn === void 0 ? 5 : _props$overscanColumn,
9548
9946
  renderItem = props.renderItem,
9549
9947
  emptyElement = props.emptyElement,
9550
- columnCount = props.columnCount,
9551
- loading = props.loading,
9552
- loadingElement = props.loadingElement;
9553
- var containerRef = useRef(null);
9554
- var renderTableRow = function renderTableRow(_, index) {
9555
- return React__default.createElement(Stack, {
9556
- direction: "row"
9557
- }, Array.from({
9558
- length: columnCount
9559
- }, function (_, colIndex) {
9560
- return renderItem(index, colIndex);
9948
+ loadingElement = props.loadingElement,
9949
+ fixedColumnCount = props.fixedColumnCount,
9950
+ fixedRowCount = props.fixedRowCount,
9951
+ listWidth = props.listWidth,
9952
+ itemsCount = props.itemsCount,
9953
+ cellCache = props.cellCache,
9954
+ columnWidth = props.columnWidth,
9955
+ containerRef = props.containerRef,
9956
+ multiGridRef = props.multiGridRef,
9957
+ rest = _objectWithoutPropertiesLoose(props, _excluded$5);
9958
+ var cache = cellCache != null ? cellCache : cellMeasurerCache$1;
9959
+ var _useVirtualTableView = useVirtualTableView(props),
9960
+ rowCount = _useVirtualTableView.rowCount,
9961
+ onScroll = _useVirtualTableView.onScroll;
9962
+ var cellRenderer = function cellRenderer(props) {
9963
+ var rowIndex = props.rowIndex,
9964
+ columnIndex = props.columnIndex;
9965
+ var isLoading = rowIndex === itemsCount && columnIndex === 0;
9966
+ return React__default.createElement(VirtualTableRowItem$1, Object.assign({}, props, {
9967
+ isLoading: isLoading,
9968
+ renderItem: renderItem,
9969
+ loadingElement: loadingElement,
9970
+ cellMeasurerCache: cache
9561
9971
  }));
9562
9972
  };
9973
+ var noRowsRenderer = function noRowsRenderer() {
9974
+ return React__default.createElement(VirtualTableEmpty, {
9975
+ emptyElement: emptyElement
9976
+ });
9977
+ };
9978
+ var columnWidthRendered = function columnWidthRendered(params) {
9979
+ if (typeof columnWidth === "number") return columnWidth;
9980
+ var cw = cache.columnWidth(params);
9981
+ if (columnWidth === undefined) return cw;
9982
+ return columnWidth(params, cache);
9983
+ };
9563
9984
  return React__default.createElement(Box, Object.assign({
9564
9985
  ref: containerRef
9565
- }, containerProps), loading && React__default.createElement(Fragment$1, null, loadingElement != null ? loadingElement : React__default.createElement(Box, {
9566
- p: 1,
9567
- className: "d-flex justify-content-center align-items-center w-100"
9568
- }, React__default.createElement(CircularProgress, {
9569
- size: 24,
9570
- sx: {
9571
- color: "#5d5d5b"
9572
- }
9573
- }))), !loading && !data.length && React__default.createElement(VirtualTableEmpty, {
9574
- emptyElement: emptyElement
9575
- }), !loading && !!data.length && React__default.createElement(ListView, {
9576
- data: data,
9577
- render: renderTableRow
9986
+ }, containerProps), React__default.createElement(AutoSizer, {
9987
+ disableWidth: !!listWidth,
9988
+ disableHeight: !!listHeight
9989
+ }, function (_ref) {
9990
+ var width = _ref.width,
9991
+ height = _ref.height;
9992
+ return React__default.createElement(MultiGrid, Object.assign({
9993
+ ref: multiGridRef,
9994
+ fixedRowCount: fixedRowCount,
9995
+ fixedColumnCount: fixedColumnCount,
9996
+ cellRenderer: cellRenderer,
9997
+ enableFixedColumnScroll: !!fixedColumnCount,
9998
+ enableFixedRowScroll: !!fixedRowCount,
9999
+ columnWidth: columnWidthRendered,
10000
+ height: listHeight || height,
10001
+ rowHeight: cache.rowHeight,
10002
+ deferredMeasurementCache: cache,
10003
+ rowCount: rowCount,
10004
+ width: listWidth || width,
10005
+ overscanRowCount: overscanRowCount,
10006
+ overscanColumnCount: overscanColumnCount,
10007
+ noRowsRenderer: noRowsRenderer,
10008
+ onScroll: onScroll
10009
+ }, rest));
9578
10010
  }));
9579
10011
  };
9580
10012
 
@@ -9586,6 +10018,7 @@ var MathTinyEditor = function MathTinyEditor(_ref) {
9586
10018
  onChange = _ref.onChange,
9587
10019
  initValue = _ref.initValue,
9588
10020
  config = _ref.config;
10021
+ var isFirstChange = useRef(true);
9589
10022
  useEffect(function () {
9590
10023
  if (window.tinymce) {
9591
10024
  window.tinymce = tinymce;
@@ -9595,17 +10028,23 @@ var MathTinyEditor = function MathTinyEditor(_ref) {
9595
10028
  return htmlString.replace(/\s(mathcolor|mathsize|mathvariant|mathvariant|color|fontsize|style)="[^"]*"/g, "");
9596
10029
  };
9597
10030
  var handleChange = function handleChange(value, _) {
10031
+ if (isFirstChange.current) {
10032
+ isFirstChange.current = false;
10033
+ return;
10034
+ }
9598
10035
  var textFilter = removeMathAttributes(value);
9599
10036
  onChange(textFilter);
9600
10037
  };
9601
10038
  var options = {
9602
- height: 130,
10039
+ height: 100,
10040
+ statusbar: false,
9603
10041
  menubar: false,
9604
10042
  external_plugins: {
9605
10043
  tiny_mce_wiris: '/editor/wiris-for-tinymce.js'
9606
10044
  },
9607
10045
  toolbar: "tiny_mce_wiris_formulaEditor tiny_mce_wiris_formulaEditorChemistry",
9608
10046
  branding: false,
10047
+ resize: false,
9609
10048
  extended_valid_elements: '*[.*]'
9610
10049
  };
9611
10050
  return React__default.createElement(Editor, {
@@ -11129,10 +11568,10 @@ var LoginQRCode = function LoginQRCode(props) {
11129
11568
  }));
11130
11569
  };
11131
11570
 
11132
- var _excluded$5 = ["history"];
11571
+ var _excluded$6 = ["history"];
11133
11572
  var Login = function Login(_ref) {
11134
11573
  var history = _ref.history,
11135
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
11574
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
11136
11575
  var _useLogin = useLogin$1({
11137
11576
  homeAcademyUrl: rest.homeAcademyUrl,
11138
11577
  homeUrl: rest.homeUrl,
@@ -12106,11 +12545,11 @@ var DEFAULT_USER_FILTERS = {
12106
12545
 
12107
12546
  var styles$2 = {"avatar":"_2rJkZ","date-picker":"_1iqE2","time-picker":"_20xtc","teacher-selector-wrapper":"_3L1Oj"};
12108
12547
 
12109
- var _excluded$6 = ["teachers", "value"];
12548
+ var _excluded$7 = ["teachers", "value"];
12110
12549
  var TeacherSelector = function TeacherSelector(_ref) {
12111
12550
  var teachers = _ref.teachers,
12112
12551
  value = _ref.value,
12113
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
12552
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$7);
12114
12553
  var teacherOptions = teachers.map(function (i) {
12115
12554
  return {
12116
12555
  label: i.teacherName + "/" + i.teacherEmail,
@@ -13402,7 +13841,7 @@ var useTeacherList = function useTeacherList() {
13402
13841
  };
13403
13842
  };
13404
13843
 
13405
- var _excluded$7 = ["getStudents"],
13844
+ var _excluded$8 = ["getStudents"],
13406
13845
  _excluded2 = ["getTeachers"],
13407
13846
  _excluded3 = ["getLessons"];
13408
13847
  var PAGE_TITLE$4 = "classes";
@@ -13453,7 +13892,7 @@ var useClassDetail = function useClassDetail(_ref) {
13453
13892
  };
13454
13893
  var _useStudentClassList = useStudentClassList(classId),
13455
13894
  getStudents = _useStudentClassList.getStudents,
13456
- studentListProps = _objectWithoutPropertiesLoose(_useStudentClassList, _excluded$7);
13895
+ studentListProps = _objectWithoutPropertiesLoose(_useStudentClassList, _excluded$8);
13457
13896
  var _useTeacherClassList = useTeacherClassList(classId),
13458
13897
  getTeachers = _useTeacherClassList.getTeachers,
13459
13898
  teacherListProps = _objectWithoutPropertiesLoose(_useTeacherClassList, _excluded2);
@@ -14203,12 +14642,12 @@ var LessonList = function LessonList(_ref) {
14203
14642
  }));
14204
14643
  };
14205
14644
 
14206
- var _excluded$8 = ["children", "value", "index"];
14645
+ var _excluded$9 = ["children", "value", "index"];
14207
14646
  var CustomTabPanel = function CustomTabPanel(props) {
14208
14647
  var children = props.children,
14209
14648
  value = props.value,
14210
14649
  index = props.index,
14211
- other = _objectWithoutPropertiesLoose(props, _excluded$8);
14650
+ other = _objectWithoutPropertiesLoose(props, _excluded$9);
14212
14651
  return React__default.createElement("div", Object.assign({
14213
14652
  role: "tabpanel",
14214
14653
  hidden: value !== index,
@@ -19578,9 +20017,7 @@ var useNotes = function useNotes(setFilter, filter) {
19578
20017
  }
19579
20018
  setLoadingNotes(true);
19580
20019
  var _temp = _catch(function () {
19581
- return Promise.resolve(getNotesApi(_extends({}, filter, {
19582
- currentPage: -1
19583
- }))).then(function (res) {
20020
+ return Promise.resolve(getNotesApi(filter)).then(function (res) {
19584
20021
  var data = res.data;
19585
20022
  setTotalPages((data === null || data === void 0 ? void 0 : data.totalPages) || 0);
19586
20023
  var items = (data === null || data === void 0 ? void 0 : data.items) || [];
@@ -19646,7 +20083,8 @@ var NoteItem = function NoteItem(_ref) {
19646
20083
  _ref$placement = _ref.placement,
19647
20084
  placement = _ref$placement === void 0 ? "bottom-end" : _ref$placement,
19648
20085
  onClose = _ref.onClose,
19649
- onOpen = _ref.onOpen;
20086
+ onOpen = _ref.onOpen,
20087
+ onLoad = _ref.onLoad;
19650
20088
  var _useTranslation = useTranslation(),
19651
20089
  t = _useTranslation.t;
19652
20090
  var handleMoreClick = function handleMoreClick(e) {
@@ -19654,6 +20092,9 @@ var NoteItem = function NoteItem(_ref) {
19654
20092
  e.stopPropagation();
19655
20093
  onOpen(data);
19656
20094
  };
20095
+ useEffect(function () {
20096
+ onLoad === null || onLoad === void 0 ? void 0 : onLoad();
20097
+ }, []);
19657
20098
  return React__default.createElement(Box, Object.assign({}, NoteItemStyles.root), React__default.createElement(Stack, {
19658
20099
  direction: "row",
19659
20100
  gap: 1,
@@ -19701,7 +20142,7 @@ var NotesContainer = function NotesContainer(_ref) {
19701
20142
  itemActions = _ref.itemActions,
19702
20143
  noteIdContextMenu = _ref.noteIdContextMenu,
19703
20144
  containerListProps = _ref.containerListProps;
19704
- var renderItem = function renderItem(item, _) {
20145
+ var renderItem = function renderItem(item, _, measure) {
19705
20146
  var isSelected = noteIdContextMenu === item.id;
19706
20147
  return React__default.createElement(Box, {
19707
20148
  key: item.id,
@@ -19712,7 +20153,8 @@ var NotesContainer = function NotesContainer(_ref) {
19712
20153
  openTooltip: isSelected,
19713
20154
  actions: itemActions,
19714
20155
  onOpen: onOpenTooltip,
19715
- onClose: onCloseTooltip
20156
+ onClose: onCloseTooltip,
20157
+ onLoad: measure
19716
20158
  }));
19717
20159
  };
19718
20160
  return React__default.createElement(VirtualListView, {
@@ -21550,14 +21992,14 @@ var CSV_PREFIX = "data:text/csv;charset=utf-8,";
21550
21992
 
21551
21993
  var styles$5 = {"action-btn":"_1jXbz","action-btn--pencil":"_at4xP","icon-rotate-180":"_12gv9","drop-area":"_R4bn5"};
21552
21994
 
21553
- var _excluded$9 = ["text", "isRequired", "className"];
21995
+ var _excluded$a = ["text", "isRequired", "className"];
21554
21996
  var LabelRequired = function LabelRequired(_ref) {
21555
21997
  var text = _ref.text,
21556
21998
  _ref$isRequired = _ref.isRequired,
21557
21999
  isRequired = _ref$isRequired === void 0 ? true : _ref$isRequired,
21558
22000
  _ref$className = _ref.className,
21559
22001
  className = _ref$className === void 0 ? "" : _ref$className,
21560
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$9);
22002
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$a);
21561
22003
  return React__default.createElement(FormLabel, Object.assign({
21562
22004
  className: "fw-medium mb-1 " + className
21563
22005
  }, rest), text, isRequired && React__default.createElement("span", {
@@ -21611,7 +22053,7 @@ var deleteUserApi = function deleteUserApi(id) {
21611
22053
  return api["delete"](USER_URL + "/delete/" + id);
21612
22054
  };
21613
22055
 
21614
- var _excluded$a = ["ref"],
22056
+ var _excluded$b = ["ref"],
21615
22057
  _excluded2$1 = ["ref"],
21616
22058
  _excluded3$1 = ["ref"],
21617
22059
  _excluded4 = ["ref"],
@@ -21641,7 +22083,7 @@ var UserDialog = function UserDialog(_ref) {
21641
22083
  t = _useTranslation.t;
21642
22084
  var _register = register("fullName"),
21643
22085
  fullNameRef = _register.ref,
21644
- fullNameBio = _objectWithoutPropertiesLoose(_register, _excluded$a);
22086
+ fullNameBio = _objectWithoutPropertiesLoose(_register, _excluded$b);
21645
22087
  var _register2 = register("email"),
21646
22088
  emailRef = _register2.ref,
21647
22089
  emailBio = _objectWithoutPropertiesLoose(_register2, _excluded2$1);
@@ -21686,28 +22128,12 @@ var UserDialog = function UserDialog(_ref) {
21686
22128
  setDefaultPassCodeChanged = _useState8[1];
21687
22129
  var theme = useTheme();
21688
22130
  var gradeOptions = useMemo(function () {
21689
- var _watch;
21690
- var schoolName = (_watch = watch("schoolName")) === null || _watch === void 0 ? void 0 : _watch.trim();
21691
- if (schoolName !== null && schoolName !== void 0 && schoolName.includes(t("middle_school")) || schoolName !== null && schoolName !== void 0 && schoolName.includes("중학교")) return MIDDLE_GRADES.map(function (i) {
22131
+ return [].concat(GRADE_OPTIONS.map(function (i) {
21692
22132
  return _extends({}, i, {
21693
22133
  label: typeof i.label === "string" ? t(i.label) : i.label
21694
22134
  });
21695
- });
21696
- if (schoolName !== null && schoolName !== void 0 && schoolName.includes(t("high_school")) || schoolName !== null && schoolName !== void 0 && schoolName.includes("고등학교")) return HIGH_GRADES.map(function (i) {
21697
- return _extends({}, i, {
21698
- label: t(i.label)
21699
- });
21700
- });
21701
- if (schoolName !== null && schoolName !== void 0 && schoolName.includes(t("elementary_school")) || schoolName !== null && schoolName !== void 0 && schoolName.includes("초등학교")) return ELEMENTARY_GRADES.map(function (i) {
21702
- return _extends({}, i, {
21703
- label: typeof i.label === "string" ? t(i.label) : i.label
21704
- });
21705
- });
21706
- return [];
22135
+ }));
21707
22136
  }, [t, watch("schoolName")]);
21708
- console.log({
21709
- bang: watch("grade")
21710
- });
21711
22137
  var handleChangeRole = function handleChangeRole(role) {
21712
22138
  setRoles([role]);
21713
22139
  setValue("role", role);
@@ -25635,12 +26061,12 @@ var ArticleDialog = function ArticleDialog(_ref) {
25635
26061
 
25636
26062
  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"};
25637
26063
 
25638
- var _excluded$b = ["isOpen", "onClose", "handleSaveExam"];
26064
+ var _excluded$c = ["isOpen", "onClose", "handleSaveExam"];
25639
26065
  var CreateExamDrawer = function CreateExamDrawer(props) {
25640
26066
  var isOpen = props.isOpen,
25641
26067
  onClose = props.onClose,
25642
26068
  handleSaveExam = props.handleSaveExam,
25643
- examDetailViewProps = _objectWithoutPropertiesLoose(props, _excluded$b);
26069
+ examDetailViewProps = _objectWithoutPropertiesLoose(props, _excluded$c);
25644
26070
  var _useTranslation = useTranslation(),
25645
26071
  t = _useTranslation.t;
25646
26072
  var theme = useTheme();
@@ -26705,12 +27131,12 @@ var useNotificationDetail = function useNotificationDetail(_ref) {
26705
27131
 
26706
27132
  var styles$8 = {"avatar":"_8niRT"};
26707
27133
 
26708
- var _excluded$c = ["value", "disabled", "optionTypeNotification"];
27134
+ var _excluded$d = ["value", "disabled", "optionTypeNotification"];
26709
27135
  var TypeSelector = function TypeSelector(_ref) {
26710
27136
  var value = _ref.value,
26711
27137
  disabled = _ref.disabled,
26712
27138
  optionTypeNotification = _ref.optionTypeNotification,
26713
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$c);
27139
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$d);
26714
27140
  return React__default.createElement(CustomAsyncSelect, Object.assign({
26715
27141
  options: optionTypeNotification,
26716
27142
  value: value
@@ -27102,11 +27528,11 @@ var useNotificationList = function useNotificationList(_ref) {
27102
27528
  };
27103
27529
  };
27104
27530
 
27105
- var _excluded$d = ["value", "optionTypeNotification"];
27531
+ var _excluded$e = ["value", "optionTypeNotification"];
27106
27532
  var SelectFilterType = function SelectFilterType(_ref) {
27107
27533
  var value = _ref.value,
27108
27534
  optionTypeNotification = _ref.optionTypeNotification,
27109
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$d);
27535
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$e);
27110
27536
  return React__default.createElement(CustomAsyncSelect, Object.assign({
27111
27537
  options: optionTypeNotification,
27112
27538
  value: value
@@ -27265,7 +27691,6 @@ var NotificationList = function NotificationList(_ref) {
27265
27691
  };
27266
27692
 
27267
27693
  var TEXTBOOK_URL$1 = BASE_URL + "/api/textbooks";
27268
- var SUPER_ADMIN_TEXTBOOK_URL = SUPER_ADMIN_BASE_URL + "/api/textbook";
27269
27694
  var PREPARED_TEXTBOOK_URL = BASE_URL + "/api/textbooks/prepared-textbooks";
27270
27695
  var SUPER_ADMIN_PREPARED_TEXTBOOK_URL = SUPER_ADMIN_BASE_URL + "/api/textbook/prepared-textbooks";
27271
27696
  var FILE_URL = BASE_URL + "/api/file/images";
@@ -27287,10 +27712,11 @@ var createTextbookApi$1 = function createTextbookApi(values, isAdmin) {
27287
27712
  var updateTextbookApi$1 = function updateTextbookApi(values, id, isAdmin) {
27288
27713
  return api.put((isAdmin ? SUPER_ADMIN_PREPARED_TEXTBOOK_URL : PREPARED_TEXTBOOK_URL) + "/" + id, values);
27289
27714
  };
27290
- var getAcademyByTeacher = function getAcademyByTeacher(email, isAdmin) {
27291
- return api.get((isAdmin ? SUPER_ADMIN_TEXTBOOK_URL : TEXTBOOK_URL$1) + "/academy-teacher-owner", {
27715
+ var getCourseByTeacherAcademy = function getCourseByTeacherAcademy(email, academyId) {
27716
+ return api.get(TEXTBOOK_URL$1 + "/owner-teacher-course", {
27292
27717
  params: {
27293
- email: email
27718
+ email: email,
27719
+ academyId: academyId
27294
27720
  }
27295
27721
  });
27296
27722
  };
@@ -27493,7 +27919,7 @@ var TextbookState;
27493
27919
  TextbookState[TextbookState["Article"] = 3] = "Article";
27494
27920
  })(TextbookState || (TextbookState = {}));
27495
27921
 
27496
- var SCHOOL_OPTIONS$1 = [{
27922
+ var SCHOOL_OPTIONS = [{
27497
27923
  label: "all",
27498
27924
  value: SchoolType$1.Default
27499
27925
  }, {
@@ -27530,7 +27956,7 @@ var ELEMANTARY_GRADES = Array.from({
27530
27956
  value: index
27531
27957
  };
27532
27958
  });
27533
- var MIDDLE_GRADES$1 = Array.from({
27959
+ var MIDDLE_GRADES = Array.from({
27534
27960
  length: 4
27535
27961
  }, function (_, index) {
27536
27962
  return {
@@ -27538,7 +27964,7 @@ var MIDDLE_GRADES$1 = Array.from({
27538
27964
  value: index
27539
27965
  };
27540
27966
  });
27541
- var HIGH_GRADES$1 = [{
27967
+ var HIGH_GRADES = [{
27542
27968
  label: "all",
27543
27969
  value: HighSchoolGrade.Default
27544
27970
  }, {
@@ -27601,7 +28027,7 @@ var preparedTextbookSchema = function preparedTextbookSchema(t) {
27601
28027
  publicationDate: string().required(t("publication_date_required")),
27602
28028
  publisher: string().required(t("publisher_required")),
27603
28029
  isbn: string().required(t("isbn_required")),
27604
- grade: number().required(t("grade_required")).positive().integer().typeError(t("must_be_number")).min(1, t("min_is_1")).max(12, t("max_is_12")),
28030
+ grade: number().required(t("grade_required")).notOneOf([0], t("subject_required")),
27605
28031
  type: number(),
27606
28032
  chapters: array().of(object().shape({
27607
28033
  pageFrom: number().required(t("page_from_required")).integer().typeError(t("must_be_number")).min(1, t("min_is_1")),
@@ -27725,138 +28151,6 @@ var CustomTextbookTab = function CustomTextbookTab(props) {
27725
28151
  }, children));
27726
28152
  };
27727
28153
 
27728
- var grey = {
27729
- 0: '#FFFFFF',
27730
- 50: "#FBFBF9",
27731
- 100: '#EAEAE5',
27732
- 200: '#F4F6F8',
27733
- 300: '#D0D0C8',
27734
- 400: '#C4CDD5',
27735
- 500: '#9A9A98',
27736
- 600: '#637381',
27737
- 700: '#5D5D5B',
27738
- 800: '#212B36',
27739
- 900: '#363634'
27740
- };
27741
- var green = {
27742
- 0: '#FFFFFF',
27743
- 100: '#F0FFF6',
27744
- 300: '#89F0B2',
27745
- 500: '#3DC674',
27746
- 700: '#349056',
27747
- 900: '#18442A'
27748
- };
27749
- var main_theme = {
27750
- lighter: green[100],
27751
- light: green[300],
27752
- less_dark: green[500],
27753
- dark: green[700],
27754
- darker: green[900]
27755
- };
27756
- var primary = {
27757
- lighter: '#D0ECFE',
27758
- light: '#73BAFB',
27759
- main: '#1877F2',
27760
- dark: '#0C44AE',
27761
- darker: '#042174',
27762
- contrastText: '#FFFFFF'
27763
- };
27764
- var secondary = {
27765
- lighter: '#EFD6FF',
27766
- light: '#C684FF',
27767
- main: '#8E33FF',
27768
- dark: '#5119B7',
27769
- darker: '#27097A',
27770
- contrastText: '#FFFFFF'
27771
- };
27772
- var info = {
27773
- lighter: '#CAFDF5',
27774
- light: '#61F3F3',
27775
- main: '#00B8D9',
27776
- dark: '#006C9C',
27777
- darker: '#003768',
27778
- contrastText: '#FFFFFF'
27779
- };
27780
- var success = {
27781
- lighter: '#C8FAD6',
27782
- light: '#5BE49B',
27783
- main: '#00A76F',
27784
- dark: '#007867',
27785
- darker: '#004B50',
27786
- contrastText: '#FFFFFF'
27787
- };
27788
- var warning$1 = {
27789
- lighter: '#FFF5CC',
27790
- light: '#FFD666',
27791
- main: '#FFAB00',
27792
- dark: '#B76E00',
27793
- darker: '#7A4100',
27794
- contrastText: grey[800]
27795
- };
27796
- var error = {
27797
- lighter: '#FFE9D5',
27798
- light: '#FFAC82',
27799
- main: '#FF5630',
27800
- dark: '#B71D18',
27801
- darker: '#7A0916',
27802
- contrastText: '#FFFFFF'
27803
- };
27804
- var red = {
27805
- 100: '#FEF8F8',
27806
- 300: '#FEF8F8',
27807
- 500: '#F4CACA',
27808
- 900: '#DB4D4D'
27809
- };
27810
- var yellow = {
27811
- 900: '#FEAF06'
27812
- };
27813
- var green_support = {
27814
- 100: '#F6FDF7',
27815
- 500: '#AEEAB3',
27816
- 900: '#3ACB46'
27817
- };
27818
- var purple = {
27819
- 900: '#C3099A'
27820
- };
27821
- var dark_purple = {
27822
- 900: '#6B0861'
27823
- };
27824
- var dark_red = {
27825
- 900: '#800202'
27826
- };
27827
- var common = {
27828
- black: '#000000',
27829
- white: '#FFFFFF'
27830
- };
27831
- var action$2 = {
27832
- hover: alpha(grey[500], 0.08),
27833
- selected: alpha(grey[500], 0.16),
27834
- disabled: alpha(grey[500], 0.8),
27835
- disabledBackground: alpha(grey[500], 0.24),
27836
- focus: alpha(grey[500], 0.24),
27837
- hoverOpacity: 0.08,
27838
- disabledOpacity: 0.48
27839
- };
27840
- var base = {
27841
- primary: primary,
27842
- secondary: secondary,
27843
- info: info,
27844
- main_theme: main_theme,
27845
- success: success,
27846
- warning: warning$1,
27847
- error: error,
27848
- grey: grey,
27849
- common: common,
27850
- red: red,
27851
- yellow: yellow,
27852
- green_support: green_support,
27853
- purple: purple,
27854
- dark_purple: dark_purple,
27855
- dark_red: dark_red,
27856
- divider: alpha(grey[500], 0.2),
27857
- action: action$2
27858
- };
27859
-
27860
28154
  var ArticleBlock = function ArticleBlock(_ref) {
27861
28155
  var expandedIndex = _ref.expandedIndex,
27862
28156
  data = _ref.data,
@@ -28104,7 +28398,7 @@ var labelStyle = {
28104
28398
  whiteSpace: "nowrap"
28105
28399
  };
28106
28400
 
28107
- var _excluded$e = ["onChange"];
28401
+ var _excluded$f = ["onChange"];
28108
28402
  var BpIcon$1 = styled("span")(function (_ref) {
28109
28403
  var theme = _ref.theme;
28110
28404
  return {
@@ -28273,7 +28567,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
28273
28567
  };
28274
28568
  });
28275
28569
  var theme = useTheme();
28276
- var isTabletUp = useMediaQuery(theme.breakpoints.up('lg'));
28570
+ var isTabletUp = useMediaQuery(theme.breakpoints.up("lg"));
28277
28571
  return React__default.createElement(Stack, {
28278
28572
  direction: "row",
28279
28573
  alignItems: "center",
@@ -28287,8 +28581,10 @@ var QuestionBlock = function QuestionBlock(_ref2) {
28287
28581
  }, React__default.createElement(Box, null, React__default.createElement(Box, {
28288
28582
  className: styles$9["question-title"] + " me-2 text-nowrap",
28289
28583
  sx: questionTitleStyle
28290
- }, t("problem_number_question", {
28584
+ }, isMath ? t("problem_number_question", {
28291
28585
  number: data.questionOrder + 1
28586
+ }) : t("text_detail_n", {
28587
+ n: data.questionOrder + 1
28292
28588
  }))), React__default.createElement(Box, {
28293
28589
  flexGrow: 1
28294
28590
  }, renderAnswer())), React__default.createElement(Stack, {
@@ -28327,7 +28623,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
28327
28623
  name: path + ".questionTypeId",
28328
28624
  render: function render(_ref5) {
28329
28625
  var _ref5$field = _ref5.field,
28330
- field = _objectWithoutPropertiesLoose(_ref5$field, _excluded$e);
28626
+ field = _objectWithoutPropertiesLoose(_ref5$field, _excluded$f);
28331
28627
  return React__default.createElement(CustomSelectOption, Object.assign({}, field, {
28332
28628
  isDisabled: isDisabled,
28333
28629
  value: data.questionType,
@@ -28374,7 +28670,7 @@ var isEqual$1 = function isEqual(prev, next) {
28374
28670
  };
28375
28671
  var QuestionBlock$1 = memo(QuestionBlock, isEqual$1);
28376
28672
 
28377
- var _excluded$f = ["data", "path", "isMath", "open", "isLoadingCategories", "isLoadingQuestionTypes", "optionKey", "categories", "questionTypes", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
28673
+ var _excluded$g = ["data", "path", "isMath", "open", "isLoadingCategories", "isLoadingQuestionTypes", "optionKey", "categories", "questionTypes", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
28378
28674
  var _ = _$5;
28379
28675
  var QuestionGroupBlockBody = function QuestionGroupBlockBody(_ref) {
28380
28676
  var _data$articles$3, _data$articles$3$cate, _data$articles$4, _data$articles$4$cate;
@@ -28393,8 +28689,9 @@ var QuestionGroupBlockBody = function QuestionGroupBlockBody(_ref) {
28393
28689
  onCloseCategoryMenu = _ref.onCloseCategoryMenu,
28394
28690
  onCloseQuestionTypeMenu = _ref.onCloseQuestionTypeMenu,
28395
28691
  onOpenQuestionTypeMenu = _ref.onOpenQuestionTypeMenu,
28396
- formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$f);
28692
+ formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$g);
28397
28693
  var errors = formikProps.errors;
28694
+ var theme = useTheme();
28398
28695
  var articles = data.articles,
28399
28696
  questions = data.questions;
28400
28697
  var blockErrors = _.get(errors, path);
@@ -28415,7 +28712,7 @@ var QuestionGroupBlockBody = function QuestionGroupBlockBody(_ref) {
28415
28712
  gap: 2
28416
28713
  }, !isMath && React__default.createElement(Stack, {
28417
28714
  sx: {
28418
- border: "1px solid " + (blockErrors ? open ? error.main : error.light : open ? main_theme.less_dark : main_theme.light),
28715
+ border: "1px solid " + (blockErrors ? open ? error.main : error.light : open ? theme.palette.secondary.main : theme.palette.secondary.light),
28419
28716
  borderRadius: 2
28420
28717
  },
28421
28718
  gap: 1,
@@ -28496,7 +28793,7 @@ var isEqual$2 = function isEqual(prev, next) {
28496
28793
  };
28497
28794
  var QuestionGroupBlockBody$1 = memo(QuestionGroupBlockBody, isEqual$2);
28498
28795
 
28499
- var _excluded$g = ["expandedIndex", "open", "paths", "path", "isMath", "data", "categories", "isLoadingCategories", "isLoadingQuestionTypes", "questionTypes", "optionKey", "isDisabled", "onToggle", "onQuestionCountChange", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCopiedPrevQuestionGroup", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
28796
+ var _excluded$h = ["expandedIndex", "open", "paths", "path", "isMath", "data", "categories", "isLoadingCategories", "isLoadingQuestionTypes", "questionTypes", "optionKey", "isDisabled", "onToggle", "onQuestionCountChange", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCopiedPrevQuestionGroup", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
28500
28797
  var _$1 = _$5;
28501
28798
  var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
28502
28799
  var _data$articles$2, _data$articles$2$cate, _data$articles$2$cate2, _data$articles$3, _data$articles$3$cate, _data$articles$3$cate2;
@@ -28521,13 +28818,13 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
28521
28818
  onCopiedPrevQuestionGroup = _ref.onCopiedPrevQuestionGroup,
28522
28819
  onCloseQuestionTypeMenu = _ref.onCloseQuestionTypeMenu,
28523
28820
  onOpenQuestionTypeMenu = _ref.onOpenQuestionTypeMenu,
28524
- formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$g);
28821
+ formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$h);
28525
28822
  var errors = formikProps.errors,
28526
28823
  setFieldValue = formikProps.setFieldValue;
28527
28824
  var _useTranslation = useTranslation(),
28528
28825
  t = _useTranslation.t;
28529
28826
  var key = paths.join(".");
28530
- var title = t("group_n", {
28827
+ var title = t(isMath ? "question_group_n" : "text_group_n", {
28531
28828
  n: expandedIndex + 1
28532
28829
  });
28533
28830
  var handleToggle = function handleToggle() {
@@ -28609,7 +28906,7 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
28609
28906
  expanded: open,
28610
28907
  onChange: handleToggle,
28611
28908
  sx: {
28612
- border: "1px solid " + (blockErrors ? open ? error.main : error.light : open ? main_theme.less_dark : main_theme.light)
28909
+ border: "1px solid " + (blockErrors ? open ? error.main : error.light : open ? yellow$1[500] : yellow$1[300])
28613
28910
  }
28614
28911
  }, React__default.createElement(AccordionSummary, {
28615
28912
  expandIcon: React__default.createElement(MdExpandMore, {
@@ -28638,6 +28935,7 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
28638
28935
  }, React__default.createElement(FaTrashCan, {
28639
28936
  size: 12
28640
28937
  })), React__default.createElement(Typography, {
28938
+ fontSize: "18px",
28641
28939
  fontWeight: 700,
28642
28940
  whiteSpace: "nowrap"
28643
28941
  }, title, !open && ":")), React__default.createElement(Box, {
@@ -28813,7 +29111,7 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
28813
29111
  }, formikProps)))));
28814
29112
  };
28815
29113
 
28816
- var _excluded$h = ["path", "paths", "isMath", "isLoadingCategories", "isLoadingQuestionTypes", "optionKey", "questionGroups", "subChapters", "categories", "questionTypes", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCopiedPrevQuestionGroup", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
29114
+ var _excluded$i = ["path", "paths", "isMath", "isLoadingCategories", "isLoadingQuestionTypes", "optionKey", "questionGroups", "subChapters", "categories", "questionTypes", "onDelete", "onOpenSubCategoryMenu", "onOpenCategoryMenu", "onCloseCategoryMenu", "onCopiedPrevQuestionGroup", "onCloseQuestionTypeMenu", "onOpenQuestionTypeMenu"];
28817
29115
  var ChapterBlockBody = function ChapterBlockBody(_ref) {
28818
29116
  var path = _ref.path,
28819
29117
  paths = _ref.paths,
@@ -28832,7 +29130,7 @@ var ChapterBlockBody = function ChapterBlockBody(_ref) {
28832
29130
  onCopiedPrevQuestionGroup = _ref.onCopiedPrevQuestionGroup,
28833
29131
  onCloseQuestionTypeMenu = _ref.onCloseQuestionTypeMenu,
28834
29132
  onOpenQuestionTypeMenu = _ref.onOpenQuestionTypeMenu,
28835
- formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$h);
29133
+ formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$i);
28836
29134
  var _useTranslation = useTranslation(),
28837
29135
  t = _useTranslation.t;
28838
29136
  var setFieldValue = formikProps.setFieldValue;
@@ -29006,7 +29304,7 @@ var ChapterBlockBody = function ChapterBlockBody(_ref) {
29006
29304
  }));
29007
29305
  };
29008
29306
 
29009
- var _excluded$i = ["data", "expandedIndex", "open", "path", "paths", "isMath", "isLoadingCategories", "isLoadingQuestionTypes", "categories", "questionTypes", "optionKey", "onToggle", "onDelete", "onCopiedPrevQuestionGroup", "onCloseCategoryMenu", "onOpenCategoryMenu", "onOpenSubCategoryMenu", "onOpenQuestionTypeMenu", "onCloseQuestionTypeMenu"];
29307
+ var _excluded$j = ["data", "expandedIndex", "open", "path", "paths", "isMath", "isLoadingCategories", "isLoadingQuestionTypes", "categories", "questionTypes", "optionKey", "onToggle", "onDelete", "onCopiedPrevQuestionGroup", "onCloseCategoryMenu", "onOpenCategoryMenu", "onOpenSubCategoryMenu", "onOpenQuestionTypeMenu", "onCloseQuestionTypeMenu"];
29010
29308
  var _$2 = _$5;
29011
29309
  var ChapterBlock = function ChapterBlock(_ref) {
29012
29310
  var data = _ref.data,
@@ -29028,12 +29326,13 @@ var ChapterBlock = function ChapterBlock(_ref) {
29028
29326
  onOpenSubCategoryMenu = _ref.onOpenSubCategoryMenu,
29029
29327
  onOpenQuestionTypeMenu = _ref.onOpenQuestionTypeMenu,
29030
29328
  onCloseQuestionTypeMenu = _ref.onCloseQuestionTypeMenu,
29031
- formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$i);
29329
+ formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$j);
29032
29330
  var errors = formikProps.errors;
29033
29331
  var _useTranslation = useTranslation(),
29034
29332
  t = _useTranslation.t;
29333
+ var theme = useTheme();
29035
29334
  var key = paths.join(".");
29036
- var title = t("chapter_number", {
29335
+ var title = t((paths === null || paths === void 0 ? void 0 : paths.length) > 1 ? "sub_unit_number" : "unit_number", {
29037
29336
  number: paths.join(".")
29038
29337
  });
29039
29338
  var handleToggle = function handleToggle() {
@@ -29053,7 +29352,7 @@ var ChapterBlock = function ChapterBlock(_ref) {
29053
29352
  expanded: open,
29054
29353
  onChange: handleToggle,
29055
29354
  sx: {
29056
- border: "1px solid " + (blockErrors ? open ? error.main : error.light : open ? main_theme.less_dark : main_theme.light)
29355
+ 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)
29057
29356
  }
29058
29357
  }, React__default.createElement(AccordionSummary, {
29059
29358
  expandIcon: React__default.createElement(MdExpandMore, {
@@ -29080,6 +29379,7 @@ var ChapterBlock = function ChapterBlock(_ref) {
29080
29379
  }, React__default.createElement(FaTrashCan, {
29081
29380
  size: 12
29082
29381
  })), React__default.createElement(Typography, {
29382
+ fontSize: (paths === null || paths === void 0 ? void 0 : paths.length) > 1 ? "24px" : "36px",
29083
29383
  fontWeight: 700,
29084
29384
  whiteSpace: "nowrap"
29085
29385
  }, title)), React__default.createElement(Box, {
@@ -29209,7 +29509,7 @@ var QuestionTypeFilter = function QuestionTypeFilter(_ref) {
29209
29509
  }));
29210
29510
  if (inputRef.current) inputRef.current.value = "";
29211
29511
  };
29212
- var schoolOptions = SCHOOL_OPTIONS$1.map(function (i) {
29512
+ var schoolOptions = SCHOOL_OPTIONS.map(function (i) {
29213
29513
  return _extends({}, i, {
29214
29514
  label: t(i.label)
29215
29515
  });
@@ -29217,13 +29517,13 @@ var QuestionTypeFilter = function QuestionTypeFilter(_ref) {
29217
29517
  var gradeOptions = useMemo(function () {
29218
29518
  switch (filter === null || filter === void 0 ? void 0 : filter.schoolType) {
29219
29519
  case SchoolType$1.Middle:
29220
- return MIDDLE_GRADES$1.map(function (i) {
29520
+ return MIDDLE_GRADES.map(function (i) {
29221
29521
  return _extends({}, i, {
29222
29522
  label: typeof i.label === "string" ? t(i.label) : i.label
29223
29523
  });
29224
29524
  });
29225
29525
  case SchoolType$1.High:
29226
- return HIGH_GRADES$1.map(function (i) {
29526
+ return HIGH_GRADES.map(function (i) {
29227
29527
  return _extends({}, i, {
29228
29528
  label: t(i.label)
29229
29529
  });
@@ -29699,8 +29999,7 @@ var TextbookContentsTab = function TextbookContentsTab(props) {
29699
29999
  }));
29700
30000
  };
29701
30001
 
29702
- var _excluded$j = ["value"],
29703
- _excluded2$2 = ["onChange"];
30002
+ var _excluded$k = ["value"];
29704
30003
  var VisuallyHiddenInput = styled("input")({
29705
30004
  clip: "rect(0 0 0 0)",
29706
30005
  clipPath: "inset(50%)",
@@ -29721,6 +30020,23 @@ var TextbookInfoTab = function TextbookInfoTab(_ref) {
29721
30020
  handleUploadImage = _ref.handleUploadImage;
29722
30021
  var _useTranslation = useTranslation(),
29723
30022
  t = _useTranslation.t;
30023
+ var gradeOptions = GRADE_OPTIONS.map(function (i) {
30024
+ return {
30025
+ label: t(i.label),
30026
+ value: i.value
30027
+ };
30028
+ });
30029
+ var preparedTypeOptions = Object.entries(PreparedType).filter(function (_ref2) {
30030
+ var key = _ref2[0];
30031
+ return isNaN(Number(key));
30032
+ }).map(function (_ref3) {
30033
+ var key = _ref3[0],
30034
+ value = _ref3[1];
30035
+ return {
30036
+ label: t(key),
30037
+ value: value
30038
+ };
30039
+ });
29724
30040
  return React__default.createElement(Grid, {
29725
30041
  padding: 3,
29726
30042
  container: true,
@@ -29809,10 +30125,10 @@ var TextbookInfoTab = function TextbookInfoTab(_ref) {
29809
30125
  htmlFor: "publicationDate"
29810
30126
  }, t("publication_date")), React__default.createElement(Field, {
29811
30127
  name: "publicationDate",
29812
- render: function render(_ref2) {
29813
- var _ref2$field = _ref2.field,
29814
- value = _ref2$field.value,
29815
- action = _objectWithoutPropertiesLoose(_ref2$field, _excluded$j);
30128
+ render: function render(_ref4) {
30129
+ var _ref4$field = _ref4.field,
30130
+ value = _ref4$field.value,
30131
+ action = _objectWithoutPropertiesLoose(_ref4$field, _excluded$k);
29816
30132
  return React__default.createElement(LocalizationProvider$1, {
29817
30133
  dateAdapter: AdapterMoment
29818
30134
  }, React__default.createElement(DatePicker$1, Object.assign({}, action, {
@@ -29842,8 +30158,8 @@ var TextbookInfoTab = function TextbookInfoTab(_ref) {
29842
30158
  htmlFor: "publisher"
29843
30159
  }, t("publisher")), React__default.createElement(Field, {
29844
30160
  name: "publisher",
29845
- render: function render(_ref3) {
29846
- var field = _ref3.field;
30161
+ render: function render(_ref5) {
30162
+ var field = _ref5.field;
29847
30163
  return React__default.createElement(TextField, Object.assign({}, field));
29848
30164
  }
29849
30165
  }), !!(errors !== null && errors !== void 0 && errors.publisher) && React__default.createElement(Typography, {
@@ -29861,25 +30177,15 @@ var TextbookInfoTab = function TextbookInfoTab(_ref) {
29861
30177
  htmlFor: "preparedType"
29862
30178
  }, t("type")), React__default.createElement(Field, {
29863
30179
  name: "preparedType",
29864
- render: function render(_ref4) {
29865
- var field = _ref4.field;
29866
- return React__default.createElement(Select$1, Object.assign({
29867
- displayEmpty: true
29868
- }, field), Object.entries(_extends({}, PreparedType)).filter(function (_ref5) {
29869
- var label = _ref5[0];
29870
- return !Number(label);
29871
- }).map(function (_ref6, index) {
29872
- var label = _ref6[0],
29873
- value = _ref6[1];
29874
- if (Number(label)) return;
29875
- if (label === "my_created_questions" || label === "academy_questions") return React__default.createElement(MenuItem, {
29876
- key: index,
29877
- value: value
29878
- }, t(label));
29879
- return React__default.createElement(MenuItem, {
29880
- key: index,
29881
- value: index + 1
29882
- }, t(label));
30180
+ render: function render(_ref6) {
30181
+ var field = _ref6.field;
30182
+ return React__default.createElement(CustomSelect, Object.assign({}, field, {
30183
+ options: preparedTypeOptions,
30184
+ value: values.preparedType,
30185
+ onChange: function onChange(val) {
30186
+ setFieldValue(field.name, !(val !== null && val !== void 0 && val.value) ? 0 : Number(val.value));
30187
+ },
30188
+ isClearable: true
29883
30189
  }));
29884
30190
  }
29885
30191
  }), !!(errors !== null && errors !== void 0 && errors.preparedType) && React__default.createElement(Typography, {
@@ -29939,15 +30245,14 @@ var TextbookInfoTab = function TextbookInfoTab(_ref) {
29939
30245
  }, t("grade")), React__default.createElement(Field, {
29940
30246
  name: "grade",
29941
30247
  render: function render(_ref9) {
29942
- var _ref9$field = _ref9.field,
29943
- _onChange = _ref9$field.onChange,
29944
- action = _objectWithoutPropertiesLoose(_ref9$field, _excluded2$2);
29945
- return React__default.createElement(TextField, Object.assign({
29946
- onChange: function onChange(e) {
29947
- e.target.value = e.target.value.replace(/[^\d]/g, "");
29948
- _onChange(e);
30248
+ var field = _ref9.field;
30249
+ return React__default.createElement(CustomSelect, Object.assign({}, field, {
30250
+ options: gradeOptions,
30251
+ value: values.grade,
30252
+ onChange: function onChange(val) {
30253
+ setFieldValue(field.name, String(val.value));
29949
30254
  }
29950
- }, action));
30255
+ }));
29951
30256
  }
29952
30257
  }), !!(errors !== null && errors !== void 0 && errors.grade) && React__default.createElement(Typography, {
29953
30258
  fontWeight: 500,
@@ -29967,7 +30272,8 @@ var AcademySelector = function AcademySelector(_ref) {
29967
30272
  isMultiple = _ref.isMultiple,
29968
30273
  _ref$isClearable = _ref.isClearable,
29969
30274
  isClearable = _ref$isClearable === void 0 ? true : _ref$isClearable,
29970
- disabled = _ref.disabled;
30275
+ disabled = _ref.disabled,
30276
+ defaultValue = _ref.defaultValue;
29971
30277
  var _useState = useState(""),
29972
30278
  searchString = _useState[0],
29973
30279
  setSearchString = _useState[1];
@@ -29990,7 +30296,8 @@ var AcademySelector = function AcademySelector(_ref) {
29990
30296
  value: valueOption || value,
29991
30297
  onChange: onChange,
29992
30298
  isDisabled: disabled,
29993
- isClearable: isClearable
30299
+ isClearable: isClearable,
30300
+ defaultValue: defaultValue
29994
30301
  }));
29995
30302
  };
29996
30303
 
@@ -30031,70 +30338,61 @@ var CourseSelector = function CourseSelector(_ref) {
30031
30338
  };
30032
30339
 
30033
30340
  var useSelect = function useSelect(_ref) {
30034
- var academyId = _ref.academyId,
30035
- handleChangeEmail = _ref.handleChangeEmail;
30341
+ var email = _ref.email;
30036
30342
  var _useTranslation = useTranslation(),
30037
30343
  t = _useTranslation.t;
30344
+ var academy = useSelector(function (state) {
30345
+ var _state$common;
30346
+ return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.academy;
30347
+ });
30348
+ var formattedAcademy = academy ? {
30349
+ label: academy.name,
30350
+ value: academy.id
30351
+ } : null;
30352
+ var academies = formattedAcademy ? [formattedAcademy] : [];
30038
30353
  var _useState = useState([]),
30039
- academies = _useState[0],
30040
- setAcademies = _useState[1];
30354
+ courses = _useState[0],
30355
+ setCourses = _useState[1];
30041
30356
  var _useState2 = useState(false),
30042
30357
  isLoading = _useState2[0],
30043
30358
  setLoading = _useState2[1];
30044
- var user = useSelector(function (state) {
30045
- var _state$common;
30046
- return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user;
30047
- });
30048
- var isSuperAdmin = !!user && !user.academyDomain;
30049
- var loadData = _$5.debounce(function (e) {
30050
- try {
30051
- var _temp2 = function _temp2() {
30052
- setLoading(false);
30053
- };
30054
- var value = e.target.value;
30055
- setLoading(true);
30056
- var _temp = _catch(function () {
30057
- handleChangeEmail(value);
30058
- return Promise.resolve(getAcademyByTeacher(value, isSuperAdmin)).then(function (_ref2) {
30059
- var data = _ref2.data;
30060
- setAcademies(data.data);
30359
+ useEffect(function () {
30360
+ if (!email) return;
30361
+ var fetchData = _$5.debounce(function () {
30362
+ try {
30363
+ var _temp2 = function _temp2() {
30364
+ setLoading(false);
30365
+ };
30366
+ setLoading(true);
30367
+ var _temp = _catch(function () {
30368
+ return Promise.resolve(getCourseByTeacherAcademy(email, academy === null || academy === void 0 ? void 0 : academy.id)).then(function (_ref2) {
30369
+ var data = _ref2.data;
30370
+ var formattedCourses = data.data.map(function (course) {
30371
+ return {
30372
+ label: course.name,
30373
+ value: course.id
30374
+ };
30375
+ });
30376
+ setCourses(formattedCourses);
30377
+ });
30378
+ }, function (err) {
30379
+ toast.error(getErrorMessage(t, err));
30061
30380
  });
30062
- }, function (err) {
30063
- toast.error(getErrorMessage(t, err));
30064
- });
30065
- return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
30066
- } catch (e) {
30067
- return Promise.reject(e);
30068
- }
30069
- }, 1000);
30070
- var academyOptions = useMemo(function () {
30071
- if (!(academies !== null && academies !== void 0 && academies.length)) return [];
30072
- return academies === null || academies === void 0 ? void 0 : academies.map(function (academy) {
30073
- return {
30074
- label: academy.name,
30075
- value: academy.id
30076
- };
30077
- });
30078
- }, [JSON.stringify(academies)]);
30079
- var courseOptions = useMemo(function () {
30080
- var _academy$courses;
30081
- if (!academyId) return [];
30082
- var academy = academies === null || academies === void 0 ? void 0 : academies.find(function (academy) {
30083
- return academy.id === academyId;
30084
- });
30085
- return academy === null || academy === void 0 ? void 0 : (_academy$courses = academy.courses) === null || _academy$courses === void 0 ? void 0 : _academy$courses.map(function (course) {
30086
- return {
30087
- label: course.name,
30088
- value: course.id
30089
- };
30090
- });
30091
- }, [JSON.stringify(academies), academyId]);
30381
+ return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
30382
+ } catch (e) {
30383
+ return Promise.reject(e);
30384
+ }
30385
+ }, 1000);
30386
+ fetchData();
30387
+ return function () {
30388
+ return fetchData.cancel();
30389
+ };
30390
+ }, [email]);
30092
30391
  return {
30093
30392
  t: t,
30094
- loadData: loadData,
30095
30393
  isLoading: isLoading,
30096
- academyOptions: academyOptions,
30097
- courseOptions: courseOptions
30394
+ academies: academies,
30395
+ courses: courses
30098
30396
  };
30099
30397
  };
30100
30398
 
@@ -30103,19 +30401,15 @@ var OwnerSelector = function OwnerSelector(_ref) {
30103
30401
  var values = _ref.values,
30104
30402
  errors = _ref.errors,
30105
30403
  index = _ref.index,
30106
- academyId = _ref.academyId,
30404
+ email = _ref.email,
30107
30405
  onChangeFieldValue = _ref.onChangeFieldValue;
30108
- var handleChangeEmail = function handleChangeEmail(value) {
30109
- onChangeFieldValue("textbookOwners[" + index + "].email", value);
30110
- };
30111
30406
  var _useSelect = useSelect({
30112
- academyId: academyId,
30113
- handleChangeEmail: handleChangeEmail
30407
+ email: email
30114
30408
  }),
30115
30409
  t = _useSelect.t,
30116
30410
  isLoading = _useSelect.isLoading,
30117
- academyOptions = _useSelect.academyOptions,
30118
- courseOptions = _useSelect.courseOptions;
30411
+ academies = _useSelect.academies,
30412
+ courses = _useSelect.courses;
30119
30413
  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(Stack, {
30120
30414
  flexDirection: "column",
30121
30415
  gap: 1,
@@ -30127,7 +30421,9 @@ var OwnerSelector = function OwnerSelector(_ref) {
30127
30421
  render: function render(_ref2) {
30128
30422
  var field = _ref2.field;
30129
30423
  return React__default.createElement(AcademySelector, Object.assign({}, field, {
30130
- options: academyOptions,
30424
+ options: academies,
30425
+ disabled: true,
30426
+ defaultValue: academies.length > 0 ? academies[0].value : undefined,
30131
30427
  isLoading: isLoading,
30132
30428
  valueById: field === null || field === void 0 ? void 0 : field.value,
30133
30429
  onChange: function onChange(val) {
@@ -30151,7 +30447,7 @@ var OwnerSelector = function OwnerSelector(_ref) {
30151
30447
  render: function render(_ref3) {
30152
30448
  var field = _ref3.field;
30153
30449
  return React__default.createElement(CourseSelector, Object.assign({}, field, {
30154
- options: courseOptions,
30450
+ options: courses,
30155
30451
  isLoading: isLoading,
30156
30452
  valueById: field === null || field === void 0 ? void 0 : field.value,
30157
30453
  onChange: function onChange(val) {
@@ -30188,7 +30484,7 @@ var TextbookOwnersTab = function TextbookOwnersTab(_ref) {
30188
30484
  container: true,
30189
30485
  spacing: "16px"
30190
30486
  }, textbookOwners === null || textbookOwners === void 0 ? void 0 : textbookOwners.map(function (_val, index) {
30191
- var _values$textbookOwner, _values$textbookOwner2, _values$textbookOwner3;
30487
+ var _values$textbookOwner, _values$textbookOwner2;
30192
30488
  return React__default.createElement(Grid, {
30193
30489
  item: true,
30194
30490
  xs: 6,
@@ -30239,8 +30535,8 @@ var TextbookOwnersTab = function TextbookOwnersTab(_ref) {
30239
30535
  values: values,
30240
30536
  errors: errors,
30241
30537
  index: index,
30242
- onChangeFieldValue: setFieldValue,
30243
- 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
30538
+ email: values === null || values === void 0 ? void 0 : (_values$textbookOwner2 = values.textbookOwners) === null || _values$textbookOwner2 === void 0 ? void 0 : _values$textbookOwner2[index].email,
30539
+ onChangeFieldValue: setFieldValue
30244
30540
  })));
30245
30541
  }), React__default.createElement(Grid, {
30246
30542
  item: true,
@@ -30413,15 +30709,16 @@ var convertResponseToRequest = function convertResponseToRequest(selectedTextboo
30413
30709
  };
30414
30710
  };
30415
30711
 
30416
- var _excluded$k = ["isAdmin", "textbookId", "selected", "coverImage", "onChangeTab", "onUploadImage"];
30712
+ var _excluded$l = ["isSuperAdmin", "isAdmin", "textbookId", "selected", "coverImage", "onChangeTab", "onUploadImage"];
30417
30713
  var PreparedTextbookForm = function PreparedTextbookForm(_ref) {
30418
- var isAdmin = _ref.isAdmin,
30714
+ var isSuperAdmin = _ref.isSuperAdmin,
30715
+ isAdmin = _ref.isAdmin,
30419
30716
  textbookId = _ref.textbookId,
30420
30717
  selected = _ref.selected,
30421
30718
  coverImage = _ref.coverImage,
30422
30719
  onChangeTab = _ref.onChangeTab,
30423
30720
  onUploadImage = _ref.onUploadImage,
30424
- formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$k);
30721
+ formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$l);
30425
30722
  var values = formikProps.values,
30426
30723
  errors = formikProps.errors,
30427
30724
  dirty = formikProps.dirty,
@@ -30571,7 +30868,7 @@ var PreparedTextbookForm = function PreparedTextbookForm(_ref) {
30571
30868
  sx: {
30572
30869
  color: contentsErrors && submitCount ? error.main + "!important" : "gray"
30573
30870
  }
30574
- }, a11yProps(1))), !(values !== null && values !== void 0 && values.isPublic) && (!isAdmin || textbookId) && (!textbookId || (values === null || values === void 0 ? void 0 : values.isShared)) && React__default.createElement(Tab, Object.assign({
30871
+ }, a11yProps(1))), !(values !== null && values !== void 0 && values.isPublic) && (!isSuperAdmin || textbookId) && (!textbookId || (values === null || values === void 0 ? void 0 : values.isShared)) && React__default.createElement(Tab, Object.assign({
30575
30872
  label: t$1("textbook.owners"),
30576
30873
  sx: {
30577
30874
  color: textbookOwnersErrors && submitCount ? error.main + "!important" : "gray"
@@ -30614,6 +30911,7 @@ var PreparedTextbookView = function PreparedTextbookView(_ref) {
30614
30911
  textbookId: textbookId
30615
30912
  }),
30616
30913
  t = _useTextbookManagemen.t,
30914
+ isSuperAdmin = _useTextbookManagemen.isSuperAdmin,
30617
30915
  isAdmin = _useTextbookManagemen.isAdmin,
30618
30916
  coverImage = _useTextbookManagemen.coverImage,
30619
30917
  selectedTextbook = _useTextbookManagemen.selectedTextbook,
@@ -30633,6 +30931,7 @@ var PreparedTextbookView = function PreparedTextbookView(_ref) {
30633
30931
  }, function (props) {
30634
30932
  return React__default.createElement(PreparedTextbookForm, Object.assign({
30635
30933
  isAdmin: isAdmin,
30934
+ isSuperAdmin: isSuperAdmin,
30636
30935
  selected: selected,
30637
30936
  textbookId: textbookId,
30638
30937
  onChangeTab: handleChangeTab,
@@ -31870,7 +32169,7 @@ var ChapterProblemSolvingResultsDialog = function ChapterProblemSolvingResultsDi
31870
32169
  }, t("cancel"))))));
31871
32170
  };
31872
32171
 
31873
- var _excluded$l = ["onChange"];
32172
+ var _excluded$m = ["onChange"];
31874
32173
  var StartPageDialog = function StartPageDialog(_ref) {
31875
32174
  var t = _ref.t,
31876
32175
  onClose = _ref.onClose,
@@ -31931,7 +32230,7 @@ var StartPageDialog = function StartPageDialog(_ref) {
31931
32230
  }, t("page_to_start_with")), React__default.createElement(Field, {
31932
32231
  name: "startPage",
31933
32232
  render: function render(_ref3) {
31934
- var field = _objectWithoutPropertiesLoose(_ref3, _excluded$l);
32233
+ var field = _objectWithoutPropertiesLoose(_ref3, _excluded$m);
31935
32234
  return React__default.createElement(CustomSelectOption, Object.assign({
31936
32235
  menuPosition: "fixed",
31937
32236
  onChange: function onChange(option) {
@@ -33457,7 +33756,7 @@ var PreparedItem = function PreparedItem(_ref) {
33457
33756
  }))));
33458
33757
  };
33459
33758
 
33460
- var MenuItemCustom = styled(MenuItem$1)(function () {
33759
+ var MenuItemCustom = styled(MenuItem)(function () {
33461
33760
  return {
33462
33761
  '&.Mui-selected': {
33463
33762
  backgroundColor: styles.light
@@ -33844,7 +34143,7 @@ var TheLanguageDropdown = function TheLanguageDropdown() {
33844
34143
  }
33845
34144
  }
33846
34145
  }, LANGUAGES.map(function (option) {
33847
- return React__default.createElement(MenuItem$1, {
34146
+ return React__default.createElement(MenuItem, {
33848
34147
  key: option.code,
33849
34148
  selected: option.code === (currentLanguage === null || currentLanguage === void 0 ? void 0 : currentLanguage.code),
33850
34149
  onClick: function onClick() {
@@ -34508,5 +34807,5 @@ var LayoutContext = function LayoutContext(_ref) {
34508
34807
  });else return React__default.createElement(Fragment$1, null, children);
34509
34808
  };
34510
34809
 
34511
- export { ACADEMY_DOMAIN, ACCESS_TOKEN, AcademyHeaders, AcademyList, AcceptNoAcademy, ActionButtons, AnswerCountSelector, ArticleCategorySelector, ArticleDialog, ArticleGroupView, BASE_URL, _ChapterBox as ChapterBox, ChatContainer, types as ChatTypes, ClassDetail, ClassList, ClassNoteDialog, ClassSelector, CommonDialog, ConfirmDeleteDialog, ConfirmDialog, CustomAsyncSelect, CustomCreatable, CustomPagination, CustomSelect, CustomSelectOption, DATE_MIN_VALUE, DATE_TIME_MIN_VALUE, DEFAULT_NOTE_FILTER, DEFAULT_PAGING_RESPONSE, DefaultErrorMessage, ELEMENTARY_GRADES, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, ExamDetailView, ExamEvent, ExamNoteDialog, ExamResultV2, ExamStatus, GOOGLE_CLIENT_ID, GOOGLE_RECAPTCHA_ID, GOOGLE_RECAPTCHA_KEY, GOOGLE_RECAPTCHA_SECRET, HIGH_GRADES, Header, InputText, LANGUAGE, LEARNING_SPACE, Language, LanguageHeaders, LayoutContext, ListView, Loading, LoadingComponent, Login, LoginQRCode, LoginWithEmail, SignIn as LoginWithPassword, MIDDLE_GRADES, MathJaxContainer, MathTinyEditor, NewNoteButton, NoAcademyHeaders, NotFound, NotesContainer, NotificationDetail, NotificationList, OrderBy, OrderType, PRE_REDIRECT_URL, PUSHER_CONFIG, PassCodeCheck, PassCodeDialog, PreparedItem, PreparedTextbookList, PreparedTextbookView, PreparedType, PrintContainerClassName, PrintContentClassName, PrintExamResultView, PrintExamView2, PrintHeaderClassName, PrintTitleClassName, QRCodeConfirmation, QuestionAnswerType, QuestionCountSelector, REDIRECT_URL, RELEASE_DATE, RecentUserAction, RecentUserActionNames, RecentUserActionSortBy, ReleaseAlert, Role, SCHOOL_OPTIONS, SUPER_ADMIN_BASE_URL, SchoolType, ScoreSelector, SearchInput, ShareToTeacherDialog, StudentSelector, SubjectSelector, TextbookActionButtons, TextbookViewDetail as TextbookDetail, TextbookDrawer, TextbookList, TheAcademyDropdown, TheLanguageDropdown, TinyEditor, UserList, UserSortColumn, VirtualListView, VirtualTableView, api, apiUpload, canAccess as canAccessRoute, checkSuperUrl, convertHHMMSStoSeconds, createRecentUserActionListApi, diffFromNow, ellipsisText, encodeParams, formatDataMyAnswer, formatDateTime, formatRole, formatTextbookDataMyAnswer, formatTime, formatTimeSecond, getAcademyDomain, getAccessToken, getErrorMessage, getLanguage, getLearningSpace, getLocalDayOfWeek, getOrdinalSuffix, getRecentUserActionListApi, getRedirectUrl, getRemainTime, getRole, getUtcDayOfWeek, i18n, isLocalHost, minutesToTimeSpan, pushTo, reset, setAcademies, setAcademy, setAlert, setConcurrentConnectionPusher, setLanguage, setLoading, setReFetchUserAcademies, setReadyRegisterPusher, setUser, store, timAgo, timeSpanToLocalMoment, toISOString, toLocalTime, totalSolveTimeCategories, totalTextbookSolveTimeCategories, useAutoAcademyDomain, useChatContainer, useCountDownTimer, useGoogleSignOut, useLanguage, useList, useLoadMore, useLogin, useNotes, usePusherConversation, useSwitchAcademy, useVirtualizeList, utcToLocalTime };
34810
+ export { ACADEMY_DOMAIN, ACCESS_TOKEN, AcademyHeaders, AcademyList, AcceptNoAcademy, ActionButtons, AnswerCountSelector, ArticleCategorySelector, ArticleDialog, ArticleGroupView, BASE_URL, BRIEF_GRADE_OPTIONS, _ChapterBox as ChapterBox, ChatContainer, types as ChatTypes, ClassDetail, ClassList, ClassNoteDialog, ClassSelector, CommonDialog, ConfirmDeleteDialog, ConfirmDialog, CustomAsyncSelect, CustomCreatable, CustomPagination, CustomSelect, CustomSelectOption, DATE_MIN_VALUE, DATE_TIME_MIN_VALUE, DEFAULT_NOTE_FILTER, DEFAULT_PAGING_RESPONSE, DefaultErrorMessage, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, ExamDetailView, ExamEvent, ExamNoteDialog, ExamResultV2, ExamStatus, GOOGLE_CLIENT_ID, GOOGLE_RECAPTCHA_ID, GOOGLE_RECAPTCHA_KEY, GOOGLE_RECAPTCHA_SECRET, GRADE_OPTIONS, Header, InputText, LANGUAGE, LEARNING_SPACE, Language, LanguageHeaders, LayoutContext, ListView, Loading, LoadingComponent, Login, LoginQRCode, LoginWithEmail, SignIn as LoginWithPassword, MathJaxContainer, MathTinyEditor, NewNoteButton, NoAcademyHeaders, NotFound, NotesContainer, NotificationDetail, NotificationList, OrderBy, OrderType, PRE_REDIRECT_URL, PUSHER_CONFIG, PassCodeCheck, PassCodeDialog, PreparedItem, PreparedTextbookList, PreparedTextbookView, PreparedType, PrintContainerClassName, PrintContentClassName, PrintExamResultView, PrintExamView2, PrintHeaderClassName, PrintTitleClassName, QRCodeConfirmation, QuestionAnswerType, QuestionCountSelector, REDIRECT_URL, RELEASE_DATE, RecentUserAction, RecentUserActionNames, RecentUserActionSortBy, ReleaseAlert, Role, SUPER_ADMIN_BASE_URL, SchoolType, ScoreSelector, SearchInput, ShareToTeacherDialog, StudentSelector, SubjectSelector, TextbookActionButtons, TextbookViewDetail as TextbookDetail, TextbookDrawer, TextbookList, TheAcademyDropdown, TheLanguageDropdown, TinyEditor, UserList, UserSortColumn, VirtualListView, VirtualTableView, api, apiUpload, canAccess as canAccessRoute, checkSuperUrl, convertHHMMSStoSeconds, createRecentUserActionListApi, diffFromNow, ellipsisText, encodeParams, formatDataMyAnswer, formatDateTime, formatRole, formatTextbookDataMyAnswer, formatTime, formatTimeSecond, getAcademyDomain, getAccessToken, getErrorMessage, getLanguage, getLearningSpace, getLocalDayOfWeek, getOrdinalSuffix, getRecentUserActionListApi, getRedirectUrl, getRemainTime, getRole, getUtcDayOfWeek, i18n, isLocalHost, minutesToTimeSpan, pushTo, reset, setAcademies, setAcademy, setAlert, setConcurrentConnectionPusher, setLanguage, setLoading, setReFetchUserAcademies, setReadyRegisterPusher, setUser, store, timAgo, timeSpanToLocalMoment, toISOString, toLocalTime, totalSolveTimeCategories, totalTextbookSolveTimeCategories, useAutoAcademyDomain, useChatContainer, useCountDownTimer, useGoogleSignOut, useLanguage, useList, useLoadMore, useLogin, useNotes, usePusherConversation, useSwitchAcademy, useVirtualizeList, utcToLocalTime };
34512
34811
  //# sourceMappingURL=index.modern.js.map