touchstudy-core 0.1.140 → 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 -451
  40. package/dist/index.js.map +1 -1
  41. package/dist/index.modern.js +764 -462
  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,24 +22128,11 @@ 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
22137
  var handleChangeRole = function handleChangeRole(role) {
21709
22138
  setRoles([role]);
@@ -25632,12 +26061,12 @@ var ArticleDialog = function ArticleDialog(_ref) {
25632
26061
 
25633
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"};
25634
26063
 
25635
- var _excluded$b = ["isOpen", "onClose", "handleSaveExam"];
26064
+ var _excluded$c = ["isOpen", "onClose", "handleSaveExam"];
25636
26065
  var CreateExamDrawer = function CreateExamDrawer(props) {
25637
26066
  var isOpen = props.isOpen,
25638
26067
  onClose = props.onClose,
25639
26068
  handleSaveExam = props.handleSaveExam,
25640
- examDetailViewProps = _objectWithoutPropertiesLoose(props, _excluded$b);
26069
+ examDetailViewProps = _objectWithoutPropertiesLoose(props, _excluded$c);
25641
26070
  var _useTranslation = useTranslation(),
25642
26071
  t = _useTranslation.t;
25643
26072
  var theme = useTheme();
@@ -26702,12 +27131,12 @@ var useNotificationDetail = function useNotificationDetail(_ref) {
26702
27131
 
26703
27132
  var styles$8 = {"avatar":"_8niRT"};
26704
27133
 
26705
- var _excluded$c = ["value", "disabled", "optionTypeNotification"];
27134
+ var _excluded$d = ["value", "disabled", "optionTypeNotification"];
26706
27135
  var TypeSelector = function TypeSelector(_ref) {
26707
27136
  var value = _ref.value,
26708
27137
  disabled = _ref.disabled,
26709
27138
  optionTypeNotification = _ref.optionTypeNotification,
26710
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$c);
27139
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$d);
26711
27140
  return React__default.createElement(CustomAsyncSelect, Object.assign({
26712
27141
  options: optionTypeNotification,
26713
27142
  value: value
@@ -27099,11 +27528,11 @@ var useNotificationList = function useNotificationList(_ref) {
27099
27528
  };
27100
27529
  };
27101
27530
 
27102
- var _excluded$d = ["value", "optionTypeNotification"];
27531
+ var _excluded$e = ["value", "optionTypeNotification"];
27103
27532
  var SelectFilterType = function SelectFilterType(_ref) {
27104
27533
  var value = _ref.value,
27105
27534
  optionTypeNotification = _ref.optionTypeNotification,
27106
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$d);
27535
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$e);
27107
27536
  return React__default.createElement(CustomAsyncSelect, Object.assign({
27108
27537
  options: optionTypeNotification,
27109
27538
  value: value
@@ -27262,7 +27691,6 @@ var NotificationList = function NotificationList(_ref) {
27262
27691
  };
27263
27692
 
27264
27693
  var TEXTBOOK_URL$1 = BASE_URL + "/api/textbooks";
27265
- var SUPER_ADMIN_TEXTBOOK_URL = SUPER_ADMIN_BASE_URL + "/api/textbook";
27266
27694
  var PREPARED_TEXTBOOK_URL = BASE_URL + "/api/textbooks/prepared-textbooks";
27267
27695
  var SUPER_ADMIN_PREPARED_TEXTBOOK_URL = SUPER_ADMIN_BASE_URL + "/api/textbook/prepared-textbooks";
27268
27696
  var FILE_URL = BASE_URL + "/api/file/images";
@@ -27284,10 +27712,11 @@ var createTextbookApi$1 = function createTextbookApi(values, isAdmin) {
27284
27712
  var updateTextbookApi$1 = function updateTextbookApi(values, id, isAdmin) {
27285
27713
  return api.put((isAdmin ? SUPER_ADMIN_PREPARED_TEXTBOOK_URL : PREPARED_TEXTBOOK_URL) + "/" + id, values);
27286
27714
  };
27287
- var getAcademyByTeacher = function getAcademyByTeacher(email, isAdmin) {
27288
- 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", {
27289
27717
  params: {
27290
- email: email
27718
+ email: email,
27719
+ academyId: academyId
27291
27720
  }
27292
27721
  });
27293
27722
  };
@@ -27490,7 +27919,7 @@ var TextbookState;
27490
27919
  TextbookState[TextbookState["Article"] = 3] = "Article";
27491
27920
  })(TextbookState || (TextbookState = {}));
27492
27921
 
27493
- var SCHOOL_OPTIONS$1 = [{
27922
+ var SCHOOL_OPTIONS = [{
27494
27923
  label: "all",
27495
27924
  value: SchoolType$1.Default
27496
27925
  }, {
@@ -27527,7 +27956,7 @@ var ELEMANTARY_GRADES = Array.from({
27527
27956
  value: index
27528
27957
  };
27529
27958
  });
27530
- var MIDDLE_GRADES$1 = Array.from({
27959
+ var MIDDLE_GRADES = Array.from({
27531
27960
  length: 4
27532
27961
  }, function (_, index) {
27533
27962
  return {
@@ -27535,7 +27964,7 @@ var MIDDLE_GRADES$1 = Array.from({
27535
27964
  value: index
27536
27965
  };
27537
27966
  });
27538
- var HIGH_GRADES$1 = [{
27967
+ var HIGH_GRADES = [{
27539
27968
  label: "all",
27540
27969
  value: HighSchoolGrade.Default
27541
27970
  }, {
@@ -27598,7 +28027,7 @@ var preparedTextbookSchema = function preparedTextbookSchema(t) {
27598
28027
  publicationDate: string().required(t("publication_date_required")),
27599
28028
  publisher: string().required(t("publisher_required")),
27600
28029
  isbn: string().required(t("isbn_required")),
27601
- 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")),
27602
28031
  type: number(),
27603
28032
  chapters: array().of(object().shape({
27604
28033
  pageFrom: number().required(t("page_from_required")).integer().typeError(t("must_be_number")).min(1, t("min_is_1")),
@@ -27722,138 +28151,6 @@ var CustomTextbookTab = function CustomTextbookTab(props) {
27722
28151
  }, children));
27723
28152
  };
27724
28153
 
27725
- var grey = {
27726
- 0: '#FFFFFF',
27727
- 50: "#FBFBF9",
27728
- 100: '#EAEAE5',
27729
- 200: '#F4F6F8',
27730
- 300: '#D0D0C8',
27731
- 400: '#C4CDD5',
27732
- 500: '#9A9A98',
27733
- 600: '#637381',
27734
- 700: '#5D5D5B',
27735
- 800: '#212B36',
27736
- 900: '#363634'
27737
- };
27738
- var green = {
27739
- 0: '#FFFFFF',
27740
- 100: '#F0FFF6',
27741
- 300: '#89F0B2',
27742
- 500: '#3DC674',
27743
- 700: '#349056',
27744
- 900: '#18442A'
27745
- };
27746
- var main_theme = {
27747
- lighter: green[100],
27748
- light: green[300],
27749
- less_dark: green[500],
27750
- dark: green[700],
27751
- darker: green[900]
27752
- };
27753
- var primary = {
27754
- lighter: '#D0ECFE',
27755
- light: '#73BAFB',
27756
- main: '#1877F2',
27757
- dark: '#0C44AE',
27758
- darker: '#042174',
27759
- contrastText: '#FFFFFF'
27760
- };
27761
- var secondary = {
27762
- lighter: '#EFD6FF',
27763
- light: '#C684FF',
27764
- main: '#8E33FF',
27765
- dark: '#5119B7',
27766
- darker: '#27097A',
27767
- contrastText: '#FFFFFF'
27768
- };
27769
- var info = {
27770
- lighter: '#CAFDF5',
27771
- light: '#61F3F3',
27772
- main: '#00B8D9',
27773
- dark: '#006C9C',
27774
- darker: '#003768',
27775
- contrastText: '#FFFFFF'
27776
- };
27777
- var success = {
27778
- lighter: '#C8FAD6',
27779
- light: '#5BE49B',
27780
- main: '#00A76F',
27781
- dark: '#007867',
27782
- darker: '#004B50',
27783
- contrastText: '#FFFFFF'
27784
- };
27785
- var warning$1 = {
27786
- lighter: '#FFF5CC',
27787
- light: '#FFD666',
27788
- main: '#FFAB00',
27789
- dark: '#B76E00',
27790
- darker: '#7A4100',
27791
- contrastText: grey[800]
27792
- };
27793
- var error = {
27794
- lighter: '#FFE9D5',
27795
- light: '#FFAC82',
27796
- main: '#FF5630',
27797
- dark: '#B71D18',
27798
- darker: '#7A0916',
27799
- contrastText: '#FFFFFF'
27800
- };
27801
- var red = {
27802
- 100: '#FEF8F8',
27803
- 300: '#FEF8F8',
27804
- 500: '#F4CACA',
27805
- 900: '#DB4D4D'
27806
- };
27807
- var yellow = {
27808
- 900: '#FEAF06'
27809
- };
27810
- var green_support = {
27811
- 100: '#F6FDF7',
27812
- 500: '#AEEAB3',
27813
- 900: '#3ACB46'
27814
- };
27815
- var purple = {
27816
- 900: '#C3099A'
27817
- };
27818
- var dark_purple = {
27819
- 900: '#6B0861'
27820
- };
27821
- var dark_red = {
27822
- 900: '#800202'
27823
- };
27824
- var common = {
27825
- black: '#000000',
27826
- white: '#FFFFFF'
27827
- };
27828
- var action$2 = {
27829
- hover: alpha(grey[500], 0.08),
27830
- selected: alpha(grey[500], 0.16),
27831
- disabled: alpha(grey[500], 0.8),
27832
- disabledBackground: alpha(grey[500], 0.24),
27833
- focus: alpha(grey[500], 0.24),
27834
- hoverOpacity: 0.08,
27835
- disabledOpacity: 0.48
27836
- };
27837
- var base = {
27838
- primary: primary,
27839
- secondary: secondary,
27840
- info: info,
27841
- main_theme: main_theme,
27842
- success: success,
27843
- warning: warning$1,
27844
- error: error,
27845
- grey: grey,
27846
- common: common,
27847
- red: red,
27848
- yellow: yellow,
27849
- green_support: green_support,
27850
- purple: purple,
27851
- dark_purple: dark_purple,
27852
- dark_red: dark_red,
27853
- divider: alpha(grey[500], 0.2),
27854
- action: action$2
27855
- };
27856
-
27857
28154
  var ArticleBlock = function ArticleBlock(_ref) {
27858
28155
  var expandedIndex = _ref.expandedIndex,
27859
28156
  data = _ref.data,
@@ -28101,7 +28398,7 @@ var labelStyle = {
28101
28398
  whiteSpace: "nowrap"
28102
28399
  };
28103
28400
 
28104
- var _excluded$e = ["onChange"];
28401
+ var _excluded$f = ["onChange"];
28105
28402
  var BpIcon$1 = styled("span")(function (_ref) {
28106
28403
  var theme = _ref.theme;
28107
28404
  return {
@@ -28270,7 +28567,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
28270
28567
  };
28271
28568
  });
28272
28569
  var theme = useTheme();
28273
- var isTabletUp = useMediaQuery(theme.breakpoints.up('lg'));
28570
+ var isTabletUp = useMediaQuery(theme.breakpoints.up("lg"));
28274
28571
  return React__default.createElement(Stack, {
28275
28572
  direction: "row",
28276
28573
  alignItems: "center",
@@ -28284,8 +28581,10 @@ var QuestionBlock = function QuestionBlock(_ref2) {
28284
28581
  }, React__default.createElement(Box, null, React__default.createElement(Box, {
28285
28582
  className: styles$9["question-title"] + " me-2 text-nowrap",
28286
28583
  sx: questionTitleStyle
28287
- }, t("problem_number_question", {
28584
+ }, isMath ? t("problem_number_question", {
28288
28585
  number: data.questionOrder + 1
28586
+ }) : t("text_detail_n", {
28587
+ n: data.questionOrder + 1
28289
28588
  }))), React__default.createElement(Box, {
28290
28589
  flexGrow: 1
28291
28590
  }, renderAnswer())), React__default.createElement(Stack, {
@@ -28324,7 +28623,7 @@ var QuestionBlock = function QuestionBlock(_ref2) {
28324
28623
  name: path + ".questionTypeId",
28325
28624
  render: function render(_ref5) {
28326
28625
  var _ref5$field = _ref5.field,
28327
- field = _objectWithoutPropertiesLoose(_ref5$field, _excluded$e);
28626
+ field = _objectWithoutPropertiesLoose(_ref5$field, _excluded$f);
28328
28627
  return React__default.createElement(CustomSelectOption, Object.assign({}, field, {
28329
28628
  isDisabled: isDisabled,
28330
28629
  value: data.questionType,
@@ -28371,7 +28670,7 @@ var isEqual$1 = function isEqual(prev, next) {
28371
28670
  };
28372
28671
  var QuestionBlock$1 = memo(QuestionBlock, isEqual$1);
28373
28672
 
28374
- 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"];
28375
28674
  var _ = _$5;
28376
28675
  var QuestionGroupBlockBody = function QuestionGroupBlockBody(_ref) {
28377
28676
  var _data$articles$3, _data$articles$3$cate, _data$articles$4, _data$articles$4$cate;
@@ -28390,8 +28689,9 @@ var QuestionGroupBlockBody = function QuestionGroupBlockBody(_ref) {
28390
28689
  onCloseCategoryMenu = _ref.onCloseCategoryMenu,
28391
28690
  onCloseQuestionTypeMenu = _ref.onCloseQuestionTypeMenu,
28392
28691
  onOpenQuestionTypeMenu = _ref.onOpenQuestionTypeMenu,
28393
- formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$f);
28692
+ formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$g);
28394
28693
  var errors = formikProps.errors;
28694
+ var theme = useTheme();
28395
28695
  var articles = data.articles,
28396
28696
  questions = data.questions;
28397
28697
  var blockErrors = _.get(errors, path);
@@ -28412,7 +28712,7 @@ var QuestionGroupBlockBody = function QuestionGroupBlockBody(_ref) {
28412
28712
  gap: 2
28413
28713
  }, !isMath && React__default.createElement(Stack, {
28414
28714
  sx: {
28415
- 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),
28416
28716
  borderRadius: 2
28417
28717
  },
28418
28718
  gap: 1,
@@ -28493,7 +28793,7 @@ var isEqual$2 = function isEqual(prev, next) {
28493
28793
  };
28494
28794
  var QuestionGroupBlockBody$1 = memo(QuestionGroupBlockBody, isEqual$2);
28495
28795
 
28496
- 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"];
28497
28797
  var _$1 = _$5;
28498
28798
  var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
28499
28799
  var _data$articles$2, _data$articles$2$cate, _data$articles$2$cate2, _data$articles$3, _data$articles$3$cate, _data$articles$3$cate2;
@@ -28518,13 +28818,13 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
28518
28818
  onCopiedPrevQuestionGroup = _ref.onCopiedPrevQuestionGroup,
28519
28819
  onCloseQuestionTypeMenu = _ref.onCloseQuestionTypeMenu,
28520
28820
  onOpenQuestionTypeMenu = _ref.onOpenQuestionTypeMenu,
28521
- formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$g);
28821
+ formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$h);
28522
28822
  var errors = formikProps.errors,
28523
28823
  setFieldValue = formikProps.setFieldValue;
28524
28824
  var _useTranslation = useTranslation(),
28525
28825
  t = _useTranslation.t;
28526
28826
  var key = paths.join(".");
28527
- var title = t("group_n", {
28827
+ var title = t(isMath ? "question_group_n" : "text_group_n", {
28528
28828
  n: expandedIndex + 1
28529
28829
  });
28530
28830
  var handleToggle = function handleToggle() {
@@ -28606,7 +28906,7 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
28606
28906
  expanded: open,
28607
28907
  onChange: handleToggle,
28608
28908
  sx: {
28609
- 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])
28610
28910
  }
28611
28911
  }, React__default.createElement(AccordionSummary, {
28612
28912
  expandIcon: React__default.createElement(MdExpandMore, {
@@ -28635,6 +28935,7 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
28635
28935
  }, React__default.createElement(FaTrashCan, {
28636
28936
  size: 12
28637
28937
  })), React__default.createElement(Typography, {
28938
+ fontSize: "18px",
28638
28939
  fontWeight: 700,
28639
28940
  whiteSpace: "nowrap"
28640
28941
  }, title, !open && ":")), React__default.createElement(Box, {
@@ -28810,7 +29111,7 @@ var QuestionGroupBlock = function QuestionGroupBlock(_ref) {
28810
29111
  }, formikProps)))));
28811
29112
  };
28812
29113
 
28813
- 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"];
28814
29115
  var ChapterBlockBody = function ChapterBlockBody(_ref) {
28815
29116
  var path = _ref.path,
28816
29117
  paths = _ref.paths,
@@ -28829,7 +29130,7 @@ var ChapterBlockBody = function ChapterBlockBody(_ref) {
28829
29130
  onCopiedPrevQuestionGroup = _ref.onCopiedPrevQuestionGroup,
28830
29131
  onCloseQuestionTypeMenu = _ref.onCloseQuestionTypeMenu,
28831
29132
  onOpenQuestionTypeMenu = _ref.onOpenQuestionTypeMenu,
28832
- formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$h);
29133
+ formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$i);
28833
29134
  var _useTranslation = useTranslation(),
28834
29135
  t = _useTranslation.t;
28835
29136
  var setFieldValue = formikProps.setFieldValue;
@@ -29003,7 +29304,7 @@ var ChapterBlockBody = function ChapterBlockBody(_ref) {
29003
29304
  }));
29004
29305
  };
29005
29306
 
29006
- 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"];
29007
29308
  var _$2 = _$5;
29008
29309
  var ChapterBlock = function ChapterBlock(_ref) {
29009
29310
  var data = _ref.data,
@@ -29025,12 +29326,13 @@ var ChapterBlock = function ChapterBlock(_ref) {
29025
29326
  onOpenSubCategoryMenu = _ref.onOpenSubCategoryMenu,
29026
29327
  onOpenQuestionTypeMenu = _ref.onOpenQuestionTypeMenu,
29027
29328
  onCloseQuestionTypeMenu = _ref.onCloseQuestionTypeMenu,
29028
- formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$i);
29329
+ formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$j);
29029
29330
  var errors = formikProps.errors;
29030
29331
  var _useTranslation = useTranslation(),
29031
29332
  t = _useTranslation.t;
29333
+ var theme = useTheme();
29032
29334
  var key = paths.join(".");
29033
- var title = t("chapter_number", {
29335
+ var title = t((paths === null || paths === void 0 ? void 0 : paths.length) > 1 ? "sub_unit_number" : "unit_number", {
29034
29336
  number: paths.join(".")
29035
29337
  });
29036
29338
  var handleToggle = function handleToggle() {
@@ -29050,7 +29352,7 @@ var ChapterBlock = function ChapterBlock(_ref) {
29050
29352
  expanded: open,
29051
29353
  onChange: handleToggle,
29052
29354
  sx: {
29053
- 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)
29054
29356
  }
29055
29357
  }, React__default.createElement(AccordionSummary, {
29056
29358
  expandIcon: React__default.createElement(MdExpandMore, {
@@ -29077,6 +29379,7 @@ var ChapterBlock = function ChapterBlock(_ref) {
29077
29379
  }, React__default.createElement(FaTrashCan, {
29078
29380
  size: 12
29079
29381
  })), React__default.createElement(Typography, {
29382
+ fontSize: (paths === null || paths === void 0 ? void 0 : paths.length) > 1 ? "24px" : "36px",
29080
29383
  fontWeight: 700,
29081
29384
  whiteSpace: "nowrap"
29082
29385
  }, title)), React__default.createElement(Box, {
@@ -29206,7 +29509,7 @@ var QuestionTypeFilter = function QuestionTypeFilter(_ref) {
29206
29509
  }));
29207
29510
  if (inputRef.current) inputRef.current.value = "";
29208
29511
  };
29209
- var schoolOptions = SCHOOL_OPTIONS$1.map(function (i) {
29512
+ var schoolOptions = SCHOOL_OPTIONS.map(function (i) {
29210
29513
  return _extends({}, i, {
29211
29514
  label: t(i.label)
29212
29515
  });
@@ -29214,13 +29517,13 @@ var QuestionTypeFilter = function QuestionTypeFilter(_ref) {
29214
29517
  var gradeOptions = useMemo(function () {
29215
29518
  switch (filter === null || filter === void 0 ? void 0 : filter.schoolType) {
29216
29519
  case SchoolType$1.Middle:
29217
- return MIDDLE_GRADES$1.map(function (i) {
29520
+ return MIDDLE_GRADES.map(function (i) {
29218
29521
  return _extends({}, i, {
29219
29522
  label: typeof i.label === "string" ? t(i.label) : i.label
29220
29523
  });
29221
29524
  });
29222
29525
  case SchoolType$1.High:
29223
- return HIGH_GRADES$1.map(function (i) {
29526
+ return HIGH_GRADES.map(function (i) {
29224
29527
  return _extends({}, i, {
29225
29528
  label: t(i.label)
29226
29529
  });
@@ -29696,8 +29999,7 @@ var TextbookContentsTab = function TextbookContentsTab(props) {
29696
29999
  }));
29697
30000
  };
29698
30001
 
29699
- var _excluded$j = ["value"],
29700
- _excluded2$2 = ["onChange"];
30002
+ var _excluded$k = ["value"];
29701
30003
  var VisuallyHiddenInput = styled("input")({
29702
30004
  clip: "rect(0 0 0 0)",
29703
30005
  clipPath: "inset(50%)",
@@ -29718,6 +30020,23 @@ var TextbookInfoTab = function TextbookInfoTab(_ref) {
29718
30020
  handleUploadImage = _ref.handleUploadImage;
29719
30021
  var _useTranslation = useTranslation(),
29720
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
+ });
29721
30040
  return React__default.createElement(Grid, {
29722
30041
  padding: 3,
29723
30042
  container: true,
@@ -29806,10 +30125,10 @@ var TextbookInfoTab = function TextbookInfoTab(_ref) {
29806
30125
  htmlFor: "publicationDate"
29807
30126
  }, t("publication_date")), React__default.createElement(Field, {
29808
30127
  name: "publicationDate",
29809
- render: function render(_ref2) {
29810
- var _ref2$field = _ref2.field,
29811
- value = _ref2$field.value,
29812
- 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);
29813
30132
  return React__default.createElement(LocalizationProvider$1, {
29814
30133
  dateAdapter: AdapterMoment
29815
30134
  }, React__default.createElement(DatePicker$1, Object.assign({}, action, {
@@ -29839,8 +30158,8 @@ var TextbookInfoTab = function TextbookInfoTab(_ref) {
29839
30158
  htmlFor: "publisher"
29840
30159
  }, t("publisher")), React__default.createElement(Field, {
29841
30160
  name: "publisher",
29842
- render: function render(_ref3) {
29843
- var field = _ref3.field;
30161
+ render: function render(_ref5) {
30162
+ var field = _ref5.field;
29844
30163
  return React__default.createElement(TextField, Object.assign({}, field));
29845
30164
  }
29846
30165
  }), !!(errors !== null && errors !== void 0 && errors.publisher) && React__default.createElement(Typography, {
@@ -29858,25 +30177,15 @@ var TextbookInfoTab = function TextbookInfoTab(_ref) {
29858
30177
  htmlFor: "preparedType"
29859
30178
  }, t("type")), React__default.createElement(Field, {
29860
30179
  name: "preparedType",
29861
- render: function render(_ref4) {
29862
- var field = _ref4.field;
29863
- return React__default.createElement(Select$1, Object.assign({
29864
- displayEmpty: true
29865
- }, field), Object.entries(_extends({}, PreparedType)).filter(function (_ref5) {
29866
- var label = _ref5[0];
29867
- return !Number(label);
29868
- }).map(function (_ref6, index) {
29869
- var label = _ref6[0],
29870
- value = _ref6[1];
29871
- if (Number(label)) return;
29872
- if (label === "my_created_questions" || label === "academy_questions") return React__default.createElement(MenuItem, {
29873
- key: index,
29874
- value: value
29875
- }, t(label));
29876
- return React__default.createElement(MenuItem, {
29877
- key: index,
29878
- value: index + 1
29879
- }, 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
29880
30189
  }));
29881
30190
  }
29882
30191
  }), !!(errors !== null && errors !== void 0 && errors.preparedType) && React__default.createElement(Typography, {
@@ -29936,15 +30245,14 @@ var TextbookInfoTab = function TextbookInfoTab(_ref) {
29936
30245
  }, t("grade")), React__default.createElement(Field, {
29937
30246
  name: "grade",
29938
30247
  render: function render(_ref9) {
29939
- var _ref9$field = _ref9.field,
29940
- _onChange = _ref9$field.onChange,
29941
- action = _objectWithoutPropertiesLoose(_ref9$field, _excluded2$2);
29942
- return React__default.createElement(TextField, Object.assign({
29943
- onChange: function onChange(e) {
29944
- e.target.value = e.target.value.replace(/[^\d]/g, "");
29945
- _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));
29946
30254
  }
29947
- }, action));
30255
+ }));
29948
30256
  }
29949
30257
  }), !!(errors !== null && errors !== void 0 && errors.grade) && React__default.createElement(Typography, {
29950
30258
  fontWeight: 500,
@@ -29964,7 +30272,8 @@ var AcademySelector = function AcademySelector(_ref) {
29964
30272
  isMultiple = _ref.isMultiple,
29965
30273
  _ref$isClearable = _ref.isClearable,
29966
30274
  isClearable = _ref$isClearable === void 0 ? true : _ref$isClearable,
29967
- disabled = _ref.disabled;
30275
+ disabled = _ref.disabled,
30276
+ defaultValue = _ref.defaultValue;
29968
30277
  var _useState = useState(""),
29969
30278
  searchString = _useState[0],
29970
30279
  setSearchString = _useState[1];
@@ -29987,7 +30296,8 @@ var AcademySelector = function AcademySelector(_ref) {
29987
30296
  value: valueOption || value,
29988
30297
  onChange: onChange,
29989
30298
  isDisabled: disabled,
29990
- isClearable: isClearable
30299
+ isClearable: isClearable,
30300
+ defaultValue: defaultValue
29991
30301
  }));
29992
30302
  };
29993
30303
 
@@ -30028,70 +30338,61 @@ var CourseSelector = function CourseSelector(_ref) {
30028
30338
  };
30029
30339
 
30030
30340
  var useSelect = function useSelect(_ref) {
30031
- var academyId = _ref.academyId,
30032
- handleChangeEmail = _ref.handleChangeEmail;
30341
+ var email = _ref.email;
30033
30342
  var _useTranslation = useTranslation(),
30034
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] : [];
30035
30353
  var _useState = useState([]),
30036
- academies = _useState[0],
30037
- setAcademies = _useState[1];
30354
+ courses = _useState[0],
30355
+ setCourses = _useState[1];
30038
30356
  var _useState2 = useState(false),
30039
30357
  isLoading = _useState2[0],
30040
30358
  setLoading = _useState2[1];
30041
- var user = useSelector(function (state) {
30042
- var _state$common;
30043
- return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user;
30044
- });
30045
- var isSuperAdmin = !!user && !user.academyDomain;
30046
- var loadData = _$5.debounce(function (e) {
30047
- try {
30048
- var _temp2 = function _temp2() {
30049
- setLoading(false);
30050
- };
30051
- var value = e.target.value;
30052
- setLoading(true);
30053
- var _temp = _catch(function () {
30054
- handleChangeEmail(value);
30055
- return Promise.resolve(getAcademyByTeacher(value, isSuperAdmin)).then(function (_ref2) {
30056
- var data = _ref2.data;
30057
- 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));
30058
30380
  });
30059
- }, function (err) {
30060
- toast.error(getErrorMessage(t, err));
30061
- });
30062
- return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
30063
- } catch (e) {
30064
- return Promise.reject(e);
30065
- }
30066
- }, 1000);
30067
- var academyOptions = useMemo(function () {
30068
- if (!(academies !== null && academies !== void 0 && academies.length)) return [];
30069
- return academies === null || academies === void 0 ? void 0 : academies.map(function (academy) {
30070
- return {
30071
- label: academy.name,
30072
- value: academy.id
30073
- };
30074
- });
30075
- }, [JSON.stringify(academies)]);
30076
- var courseOptions = useMemo(function () {
30077
- var _academy$courses;
30078
- if (!academyId) return [];
30079
- var academy = academies === null || academies === void 0 ? void 0 : academies.find(function (academy) {
30080
- return academy.id === academyId;
30081
- });
30082
- return academy === null || academy === void 0 ? void 0 : (_academy$courses = academy.courses) === null || _academy$courses === void 0 ? void 0 : _academy$courses.map(function (course) {
30083
- return {
30084
- label: course.name,
30085
- value: course.id
30086
- };
30087
- });
30088
- }, [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]);
30089
30391
  return {
30090
30392
  t: t,
30091
- loadData: loadData,
30092
30393
  isLoading: isLoading,
30093
- academyOptions: academyOptions,
30094
- courseOptions: courseOptions
30394
+ academies: academies,
30395
+ courses: courses
30095
30396
  };
30096
30397
  };
30097
30398
 
@@ -30100,19 +30401,15 @@ var OwnerSelector = function OwnerSelector(_ref) {
30100
30401
  var values = _ref.values,
30101
30402
  errors = _ref.errors,
30102
30403
  index = _ref.index,
30103
- academyId = _ref.academyId,
30404
+ email = _ref.email,
30104
30405
  onChangeFieldValue = _ref.onChangeFieldValue;
30105
- var handleChangeEmail = function handleChangeEmail(value) {
30106
- onChangeFieldValue("textbookOwners[" + index + "].email", value);
30107
- };
30108
30406
  var _useSelect = useSelect({
30109
- academyId: academyId,
30110
- handleChangeEmail: handleChangeEmail
30407
+ email: email
30111
30408
  }),
30112
30409
  t = _useSelect.t,
30113
30410
  isLoading = _useSelect.isLoading,
30114
- academyOptions = _useSelect.academyOptions,
30115
- courseOptions = _useSelect.courseOptions;
30411
+ academies = _useSelect.academies,
30412
+ courses = _useSelect.courses;
30116
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, {
30117
30414
  flexDirection: "column",
30118
30415
  gap: 1,
@@ -30124,7 +30421,9 @@ var OwnerSelector = function OwnerSelector(_ref) {
30124
30421
  render: function render(_ref2) {
30125
30422
  var field = _ref2.field;
30126
30423
  return React__default.createElement(AcademySelector, Object.assign({}, field, {
30127
- options: academyOptions,
30424
+ options: academies,
30425
+ disabled: true,
30426
+ defaultValue: academies.length > 0 ? academies[0].value : undefined,
30128
30427
  isLoading: isLoading,
30129
30428
  valueById: field === null || field === void 0 ? void 0 : field.value,
30130
30429
  onChange: function onChange(val) {
@@ -30148,7 +30447,7 @@ var OwnerSelector = function OwnerSelector(_ref) {
30148
30447
  render: function render(_ref3) {
30149
30448
  var field = _ref3.field;
30150
30449
  return React__default.createElement(CourseSelector, Object.assign({}, field, {
30151
- options: courseOptions,
30450
+ options: courses,
30152
30451
  isLoading: isLoading,
30153
30452
  valueById: field === null || field === void 0 ? void 0 : field.value,
30154
30453
  onChange: function onChange(val) {
@@ -30185,7 +30484,7 @@ var TextbookOwnersTab = function TextbookOwnersTab(_ref) {
30185
30484
  container: true,
30186
30485
  spacing: "16px"
30187
30486
  }, textbookOwners === null || textbookOwners === void 0 ? void 0 : textbookOwners.map(function (_val, index) {
30188
- var _values$textbookOwner, _values$textbookOwner2, _values$textbookOwner3;
30487
+ var _values$textbookOwner, _values$textbookOwner2;
30189
30488
  return React__default.createElement(Grid, {
30190
30489
  item: true,
30191
30490
  xs: 6,
@@ -30236,8 +30535,8 @@ var TextbookOwnersTab = function TextbookOwnersTab(_ref) {
30236
30535
  values: values,
30237
30536
  errors: errors,
30238
30537
  index: index,
30239
- onChangeFieldValue: setFieldValue,
30240
- 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
30241
30540
  })));
30242
30541
  }), React__default.createElement(Grid, {
30243
30542
  item: true,
@@ -30410,15 +30709,16 @@ var convertResponseToRequest = function convertResponseToRequest(selectedTextboo
30410
30709
  };
30411
30710
  };
30412
30711
 
30413
- var _excluded$k = ["isAdmin", "textbookId", "selected", "coverImage", "onChangeTab", "onUploadImage"];
30712
+ var _excluded$l = ["isSuperAdmin", "isAdmin", "textbookId", "selected", "coverImage", "onChangeTab", "onUploadImage"];
30414
30713
  var PreparedTextbookForm = function PreparedTextbookForm(_ref) {
30415
- var isAdmin = _ref.isAdmin,
30714
+ var isSuperAdmin = _ref.isSuperAdmin,
30715
+ isAdmin = _ref.isAdmin,
30416
30716
  textbookId = _ref.textbookId,
30417
30717
  selected = _ref.selected,
30418
30718
  coverImage = _ref.coverImage,
30419
30719
  onChangeTab = _ref.onChangeTab,
30420
30720
  onUploadImage = _ref.onUploadImage,
30421
- formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$k);
30721
+ formikProps = _objectWithoutPropertiesLoose(_ref, _excluded$l);
30422
30722
  var values = formikProps.values,
30423
30723
  errors = formikProps.errors,
30424
30724
  dirty = formikProps.dirty,
@@ -30568,7 +30868,7 @@ var PreparedTextbookForm = function PreparedTextbookForm(_ref) {
30568
30868
  sx: {
30569
30869
  color: contentsErrors && submitCount ? error.main + "!important" : "gray"
30570
30870
  }
30571
- }, 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({
30572
30872
  label: t$1("textbook.owners"),
30573
30873
  sx: {
30574
30874
  color: textbookOwnersErrors && submitCount ? error.main + "!important" : "gray"
@@ -30611,6 +30911,7 @@ var PreparedTextbookView = function PreparedTextbookView(_ref) {
30611
30911
  textbookId: textbookId
30612
30912
  }),
30613
30913
  t = _useTextbookManagemen.t,
30914
+ isSuperAdmin = _useTextbookManagemen.isSuperAdmin,
30614
30915
  isAdmin = _useTextbookManagemen.isAdmin,
30615
30916
  coverImage = _useTextbookManagemen.coverImage,
30616
30917
  selectedTextbook = _useTextbookManagemen.selectedTextbook,
@@ -30630,6 +30931,7 @@ var PreparedTextbookView = function PreparedTextbookView(_ref) {
30630
30931
  }, function (props) {
30631
30932
  return React__default.createElement(PreparedTextbookForm, Object.assign({
30632
30933
  isAdmin: isAdmin,
30934
+ isSuperAdmin: isSuperAdmin,
30633
30935
  selected: selected,
30634
30936
  textbookId: textbookId,
30635
30937
  onChangeTab: handleChangeTab,
@@ -31867,7 +32169,7 @@ var ChapterProblemSolvingResultsDialog = function ChapterProblemSolvingResultsDi
31867
32169
  }, t("cancel"))))));
31868
32170
  };
31869
32171
 
31870
- var _excluded$l = ["onChange"];
32172
+ var _excluded$m = ["onChange"];
31871
32173
  var StartPageDialog = function StartPageDialog(_ref) {
31872
32174
  var t = _ref.t,
31873
32175
  onClose = _ref.onClose,
@@ -31928,7 +32230,7 @@ var StartPageDialog = function StartPageDialog(_ref) {
31928
32230
  }, t("page_to_start_with")), React__default.createElement(Field, {
31929
32231
  name: "startPage",
31930
32232
  render: function render(_ref3) {
31931
- var field = _objectWithoutPropertiesLoose(_ref3, _excluded$l);
32233
+ var field = _objectWithoutPropertiesLoose(_ref3, _excluded$m);
31932
32234
  return React__default.createElement(CustomSelectOption, Object.assign({
31933
32235
  menuPosition: "fixed",
31934
32236
  onChange: function onChange(option) {
@@ -33454,7 +33756,7 @@ var PreparedItem = function PreparedItem(_ref) {
33454
33756
  }))));
33455
33757
  };
33456
33758
 
33457
- var MenuItemCustom = styled(MenuItem$1)(function () {
33759
+ var MenuItemCustom = styled(MenuItem)(function () {
33458
33760
  return {
33459
33761
  '&.Mui-selected': {
33460
33762
  backgroundColor: styles.light
@@ -33841,7 +34143,7 @@ var TheLanguageDropdown = function TheLanguageDropdown() {
33841
34143
  }
33842
34144
  }
33843
34145
  }, LANGUAGES.map(function (option) {
33844
- return React__default.createElement(MenuItem$1, {
34146
+ return React__default.createElement(MenuItem, {
33845
34147
  key: option.code,
33846
34148
  selected: option.code === (currentLanguage === null || currentLanguage === void 0 ? void 0 : currentLanguage.code),
33847
34149
  onClick: function onClick() {
@@ -34505,5 +34807,5 @@ var LayoutContext = function LayoutContext(_ref) {
34505
34807
  });else return React__default.createElement(Fragment$1, null, children);
34506
34808
  };
34507
34809
 
34508
- 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 };
34509
34811
  //# sourceMappingURL=index.modern.js.map