touchstudy-core 0.1.146 → 0.1.148

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 (79) hide show
  1. package/dist/alert-circle-fill~CSSkoNUz.svg +3 -0
  2. package/dist/assets/AlertCircleFill.d.ts +3 -0
  3. package/dist/assets/CalendarFill.d.ts +3 -0
  4. package/dist/assets/CheckCircleFill.d.ts +3 -0
  5. package/dist/assets/CheckedCircleFill.d.ts +3 -0
  6. package/dist/assets/ClockFill.d.ts +3 -0
  7. package/dist/assets/CloseCircleFill.d.ts +3 -0
  8. package/dist/assets/IconPerson.d.ts +3 -0
  9. package/dist/calendar_fill~zEgxFwDs.svg +4 -0
  10. package/dist/check-circle_fill~bbGHfKpz.svg +3 -0
  11. package/dist/checked-circle_fill~KLGxfRpW.svg +3 -0
  12. package/dist/clock_fill~mcRclYYO.svg +3 -0
  13. package/dist/close-circle_fill~PRVaHJUQ.svg +3 -0
  14. package/dist/components/TinyMCE/TinyEditor.d.ts +1 -2
  15. package/dist/containers/PreparedTextbook/components/ArticleBlock.d.ts +1 -0
  16. package/dist/containers/PreparedTextbook/components/QuestionCompareType.d.ts +8 -0
  17. package/dist/containers/PreparedTextbook/components/QuestionOrderName.d.ts +9 -0
  18. package/dist/containers/PreparedTextbook/components/QuestionScore.d.ts +9 -0
  19. package/dist/containers/PreparedTextbook/components/QuestionShortInput.d.ts +9 -0
  20. package/dist/containers/StudentInfoDrawer/apiClients/courseService.d.ts +3 -0
  21. package/dist/containers/StudentInfoDrawer/apiClients/examSessionService.d.ts +1 -0
  22. package/dist/containers/StudentInfoDrawer/apiClients/noteService.d.ts +6 -0
  23. package/dist/containers/StudentInfoDrawer/apiClients/textbookService.d.ts +1 -0
  24. package/dist/containers/StudentInfoDrawer/apiClients/userService.d.ts +1 -0
  25. package/dist/containers/StudentInfoDrawer/components/Attendance/AttendanceCourseTable.d.ts +15 -0
  26. package/dist/containers/StudentInfoDrawer/components/Attendance/CourseAttendanceItem.d.ts +10 -0
  27. package/dist/containers/StudentInfoDrawer/components/Attendance/CourseAttendanceList.d.ts +4 -0
  28. package/dist/containers/StudentInfoDrawer/components/Attendance/DrawerAttendanceTab.d.ts +4 -0
  29. package/dist/containers/StudentInfoDrawer/components/Attendance/LessonTooltip.d.ts +8 -0
  30. package/dist/containers/StudentInfoDrawer/components/AttendanceCourseTable.d.ts +15 -0
  31. package/dist/containers/StudentInfoDrawer/components/CourseAttendanceItem.d.ts +10 -0
  32. package/dist/containers/StudentInfoDrawer/components/CourseAttendanceList.d.ts +4 -0
  33. package/dist/containers/StudentInfoDrawer/components/CustomTooltip.d.ts +2 -0
  34. package/dist/containers/StudentInfoDrawer/components/DrawerAttendanceTab.d.ts +4 -0
  35. package/dist/containers/StudentInfoDrawer/components/DrawerExamResultTab.d.ts +9 -0
  36. package/dist/containers/StudentInfoDrawer/components/DrawerHeader.d.ts +9 -0
  37. package/dist/containers/StudentInfoDrawer/components/DrawerInfoTab.d.ts +9 -0
  38. package/dist/containers/StudentInfoDrawer/components/DrawerNoteTab.d.ts +8 -0
  39. package/dist/containers/StudentInfoDrawer/components/DrawerTabContent.d.ts +8 -0
  40. package/dist/containers/StudentInfoDrawer/components/DrawerTabHeader.d.ts +8 -0
  41. package/dist/containers/StudentInfoDrawer/components/DrawerTextbookResultTab.d.ts +7 -0
  42. package/dist/containers/StudentInfoDrawer/components/Exam/DrawerExamResultTab.d.ts +9 -0
  43. package/dist/containers/StudentInfoDrawer/components/Exam/ExamResultDrawer.d.ts +13 -0
  44. package/dist/containers/StudentInfoDrawer/components/Exam/ExamResultItem.d.ts +10 -0
  45. package/dist/containers/StudentInfoDrawer/components/Exam/ExanResultList.d.ts +4 -0
  46. package/dist/containers/StudentInfoDrawer/components/ExamResultDrawer.d.ts +13 -0
  47. package/dist/containers/StudentInfoDrawer/components/ExamResultItem.d.ts +10 -0
  48. package/dist/containers/StudentInfoDrawer/components/ExanResultList.d.ts +4 -0
  49. package/dist/containers/StudentInfoDrawer/components/LessonTooltip.d.ts +8 -0
  50. package/dist/containers/StudentInfoDrawer/components/Note/DrawerNoteTab.d.ts +8 -0
  51. package/dist/containers/StudentInfoDrawer/components/Note/NoteDrawer.d.ts +14 -0
  52. package/dist/containers/StudentInfoDrawer/components/NoteDrawer.d.ts +13 -0
  53. package/dist/containers/StudentInfoDrawer/components/Textbook/DrawerTextbookResultTab.d.ts +7 -0
  54. package/dist/containers/StudentInfoDrawer/components/Textbook/TextbookResultItem.d.ts +10 -0
  55. package/dist/containers/StudentInfoDrawer/components/Textbook/TextbookResultList.d.ts +4 -0
  56. package/dist/containers/StudentInfoDrawer/components/TextbookResultItem.d.ts +10 -0
  57. package/dist/containers/StudentInfoDrawer/components/TextbookResultList.d.ts +4 -0
  58. package/dist/containers/StudentInfoDrawer/configs/constants.d.ts +6 -0
  59. package/dist/containers/StudentInfoDrawer/configs/enums.d.ts +12 -0
  60. package/dist/containers/StudentInfoDrawer/configs/fns.d.ts +26 -0
  61. package/dist/containers/StudentInfoDrawer/configs/interfaces.d.ts +44 -0
  62. package/dist/containers/StudentInfoDrawer/configs/types.d.ts +101 -0
  63. package/dist/containers/StudentInfoDrawer/hooks/useDrawerAttendanceTab.d.ts +8 -0
  64. package/dist/containers/StudentInfoDrawer/hooks/useDrawerNoteTab.d.ts +28 -0
  65. package/dist/containers/StudentInfoDrawer/hooks/useStudentInfoDrawer.d.ts +15 -0
  66. package/dist/containers/StudentInfoDrawer/index.d.ts +2 -0
  67. package/dist/containers/StudentInfoDrawer/styles/styles.d.ts +2 -0
  68. package/dist/containers/StudentInfoDrawer/views/StudentInfoDrawer.d.ts +4 -0
  69. package/dist/containers/Users/components/UserRow.d.ts +14 -0
  70. package/dist/iconPerson~bfprHOKm.svg +4 -0
  71. package/dist/index.js +104 -31
  72. package/dist/index.js.map +1 -1
  73. package/dist/index.modern.js +104 -31
  74. package/dist/index.modern.js.map +1 -1
  75. package/dist/utils/functions/formatPhoneNumber.d.ts +2 -0
  76. package/dist/utils/functions/includePathname.d.ts +1 -0
  77. package/dist/utils/functions/questions.d.ts +2 -0
  78. package/dist/utils/hooks/useVirtualList.d.ts +20 -0
  79. package/package.json +1 -1
@@ -0,0 +1,101 @@
1
+ import { BaseSearchQuery, ExamStatus, PreparedType } from "../../../utils";
2
+ import { StudentAttendanceStatus } from "./enums";
3
+ export declare type StudentInfo = {
4
+ id: number;
5
+ email: string;
6
+ fullName: string;
7
+ grade: number;
8
+ phoneNumber?: string;
9
+ parentPhoneNumber?: string;
10
+ schoolName: string;
11
+ };
12
+ export declare type CourseAttendanceResponse = {
13
+ id: number;
14
+ name: string;
15
+ mainTeacherName: string;
16
+ startDate: string;
17
+ endDate: string;
18
+ lastAttendanceDate: string;
19
+ lessons: LessonAttendance[];
20
+ };
21
+ export declare type LessonAttendance = {
22
+ id: number;
23
+ date: string;
24
+ startTime: string;
25
+ endTime: string;
26
+ mainTeacherName: string;
27
+ attendance: Attendance[];
28
+ };
29
+ export declare type Attendance = {
30
+ lessonId: number;
31
+ attendanceTime: string;
32
+ status: StudentAttendanceStatus;
33
+ };
34
+ export declare type LessonResponse = {
35
+ id: number;
36
+ courseId: number;
37
+ courseName: string;
38
+ date: string;
39
+ startTime: string;
40
+ endTime: string;
41
+ mainTeacherId: number;
42
+ mainTeacherUserId: number;
43
+ mainTeacherName: string;
44
+ isCheckedIn: boolean;
45
+ };
46
+ export declare type ExamSessionResponse = {
47
+ id: number;
48
+ title: string;
49
+ duration: string;
50
+ description: string;
51
+ questionCount: number;
52
+ startTime: string;
53
+ endTime: string;
54
+ code?: string;
55
+ createdAt?: string;
56
+ status?: ExamStatus;
57
+ totalStudentsJoined?: number;
58
+ teacher?: CreatedBy;
59
+ imageUrl?: string;
60
+ isShared: boolean;
61
+ sharedUsers: string[];
62
+ createdById: number;
63
+ createdBy: CreatedBy;
64
+ score?: number;
65
+ totalScore?: number;
66
+ totalCorrectQuestions?: number;
67
+ };
68
+ export declare type CreatedBy = {
69
+ id: number;
70
+ email: string;
71
+ fullName: string;
72
+ };
73
+ export declare type ExamSessionQuery = BaseSearchQuery<string> & {
74
+ statuses?: ExamStatus[];
75
+ studentId?: number;
76
+ courseId?: number;
77
+ teacherId?: number;
78
+ };
79
+ export declare type TextbookQuery = BaseSearchQuery<string> & {
80
+ startYear?: string;
81
+ endYear?: string;
82
+ studentId?: number;
83
+ subjectIds?: number[];
84
+ months?: number[];
85
+ preparedType?: PreparedType;
86
+ preparedFilterType?: string;
87
+ };
88
+ export declare type TextbookResponse = {
89
+ id: number;
90
+ name: string;
91
+ coverImage: string;
92
+ createdAt: string;
93
+ totalUses: number;
94
+ completedQuestions: number;
95
+ totalQuestions: number;
96
+ lastAnswerTime: string;
97
+ isPublic: boolean;
98
+ isPrepared: boolean;
99
+ isStudying: boolean;
100
+ totalAnswerTime: number;
101
+ };
@@ -0,0 +1,8 @@
1
+ import { CourseAttendanceResponse, LessonResponse } from "../configs/types";
2
+ declare const useDrawerAttendanceTab: (studentId: number) => {
3
+ items: CourseAttendanceResponse[];
4
+ isLoading: boolean;
5
+ handleLoadMore: () => void;
6
+ handleCheckInLesson: (lesson: LessonResponse, studentId: number) => Promise<void>;
7
+ };
8
+ export default useDrawerAttendanceTab;
@@ -0,0 +1,28 @@
1
+ import { MouseEvent } from "react";
2
+ import { ClassNoteDialogProps } from "../../Notes";
3
+ import { NoteResponse } from "../../../utils";
4
+ import { DrawerNoteTabProps } from "../components/Note/DrawerNoteTab";
5
+ declare const useDrawerNoteTab: (props: DrawerNoteTabProps) => {
6
+ noteIdContextMenu: number | undefined;
7
+ academyNotes: NoteResponse[];
8
+ isLoadingAcademyNotes: boolean;
9
+ studentNotes: NoteResponse[];
10
+ isLoadingStudentNotes: boolean;
11
+ noteDialogProps: ClassNoteDialogProps;
12
+ openDeleteNoteDialog: boolean;
13
+ openNoteViewDrawer: boolean;
14
+ selectedItem: NoteResponse | undefined;
15
+ handleLoadMoreAcademyNotes: () => void;
16
+ handleCloseNoteDrawer: () => void;
17
+ handleDeleteNote: () => Promise<void>;
18
+ handleCloseDeleteDialog: () => void;
19
+ handleLoadMoreStudentNotes: () => void;
20
+ handleOpenEditNote: (e: MouseEvent<HTMLButtonElement>, note: NoteResponse) => void;
21
+ handleOpenDeleteNoteDialog: (e: MouseEvent<HTMLButtonElement>, note: NoteResponse) => void;
22
+ handleCloseTooltip: () => void;
23
+ handleOpenTooltip: (note: NoteResponse) => void;
24
+ handleOpenNoteDrawer: (note: NoteResponse) => void;
25
+ handleOpenCreateAcademyNoteDialog: () => void;
26
+ handleOpenCreateStudentNoteDialog: () => void;
27
+ };
28
+ export default useDrawerNoteTab;
@@ -0,0 +1,15 @@
1
+ import { StudentInfoDrawerProps } from "../configs/interfaces";
2
+ import { SyntheticEvent } from "react";
3
+ import { StudentInfo } from "../configs/types";
4
+ import _ from "lodash";
5
+ import { DrawerTab } from "../configs/enums";
6
+ declare const useStudentInfoDrawer: (props: StudentInfoDrawerProps) => {
7
+ t: any;
8
+ loadedTabs: any;
9
+ isLoading: boolean;
10
+ studentInfo: StudentInfo | undefined;
11
+ selectedTab: DrawerTab;
12
+ debounceChangeTab: _.DebouncedFunc<(_: SyntheticEvent, newValue: number) => void>;
13
+ handleClose: () => void;
14
+ };
15
+ export default useStudentInfoDrawer;
@@ -0,0 +1,2 @@
1
+ import StudentInfoDrawer from "./views/StudentInfoDrawer";
2
+ export { StudentInfoDrawer };
@@ -0,0 +1,2 @@
1
+ import { SxProps, Theme } from "@mui/material";
2
+ export declare const DrawerContainerStyle: (width?: string | number | undefined) => SxProps<Theme>;
@@ -0,0 +1,4 @@
1
+ import { FC } from "react";
2
+ import { StudentInfoDrawerProps } from "../configs/interfaces";
3
+ declare const StudentInfoDrawer: FC<StudentInfoDrawerProps>;
4
+ export default StudentInfoDrawer;
@@ -0,0 +1,14 @@
1
+ import { FC } from "react";
2
+ import { Role } from "../../../utils/constants";
3
+ import { PagingResponse, User } from "../../../utils";
4
+ interface Props {
5
+ paging: PagingResponse;
6
+ data: User;
7
+ index: number;
8
+ role: Role;
9
+ onDelete: (data: User) => void;
10
+ onViewOrUpdate: (data: User) => void;
11
+ onViewInfo: (data: User) => void;
12
+ }
13
+ declare const UserRow: FC<Props>;
14
+ export default UserRow;
@@ -0,0 +1,4 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M10.395 2.01813C9.78691 1.36156 8.93753 1 8.00003 1C7.05753 1 6.20534 1.35937 5.60003 2.01187C4.98815 2.67156 4.69003 3.56813 4.76003 4.53625C4.89878 6.44625 6.35222 8 8.00003 8C9.64784 8 11.0988 6.44656 11.2397 4.53687C11.3107 3.5775 11.0107 2.68281 10.395 2.01813Z" fill="#97A1AF"/>
3
+ <path d="M13.4999 15H2.49993C2.35595 15.0019 2.21337 14.9716 2.08255 14.9115C1.95173 14.8513 1.83597 14.7627 1.74368 14.6522C1.54056 14.4094 1.45868 14.0778 1.51931 13.7425C1.78306 12.2794 2.60618 11.0503 3.89993 10.1875C5.04931 9.42156 6.50525 9 7.99993 9C9.49462 9 10.9506 9.42188 12.0999 10.1875C13.3937 11.05 14.2168 12.2791 14.4806 13.7422C14.5412 14.0775 14.4593 14.4091 14.2562 14.6519C14.1639 14.7625 14.0482 14.8511 13.9174 14.9113C13.7865 14.9715 13.6439 15.0018 13.4999 15Z" fill="#97A1AF"/>
4
+ </svg>
package/dist/index.js CHANGED
@@ -426,6 +426,8 @@ var answer_count = "답변 수";
426
426
  var question_count = "문제 갯수";
427
427
  var multi_choice = "여러 개임";
428
428
  var category = "문항 카테고리";
429
+ var korean_category = "지문 영역";
430
+ var korean_subcateogry = "지문 세부 영역";
429
431
  var _category = "카테고리";
430
432
  var score = "점수";
431
433
  var enter_score = "점수 입력";
@@ -576,13 +578,14 @@ var go_to_attendance_list = "출석부로 이동";
576
578
  var new_subject = "새로운 주제";
577
579
  var subjects = "과목";
578
580
  var subject = "주제";
581
+ var korean_subject = "키워드";
579
582
  var textbooks = "교과서";
580
583
  var exam_list = "시험 목록";
581
584
  var textbook_title = "교과서 제목";
582
- var textbook_subject = "교과서 과목";
585
+ var textbook_subject = "과목";
583
586
  var total_chapters = "총 장";
584
587
  var enter_student_name_to_search = "검색할 학생 이름을 입력하세요";
585
- var create_textbook = "교과서 만들기";
588
+ var create_textbook = " 교재 만들기";
586
589
  var view_textbook = "교과서 보기";
587
590
  var add_chapter = "장 추가";
588
591
  var add_subchapter = "하위 장 추가";
@@ -840,6 +843,7 @@ var hint = "힌트";
840
843
  var save_and_add_next_question = "저장하고 다음 질문 추가";
841
844
  var question_text = "질문 텍스트";
842
845
  var article = "기사";
846
+ var korean_article = "지문/작품 추가";
843
847
  var notifications = "알림";
844
848
  var exams = "시험";
845
849
  var questions = "질문";
@@ -1241,6 +1245,7 @@ var page_to_start_with = "시작할 페이지";
1241
1245
  var posted_on = "게시일";
1242
1246
  var number_of_participants = "참가자 수";
1243
1247
  var chapter = "챕터";
1248
+ var korean_chapter = "대단원 추가";
1244
1249
  var published = "Published";
1245
1250
  var privated = "Privated";
1246
1251
  var solution_results = "풀이 결과";
@@ -1391,9 +1396,11 @@ var textbook = {
1391
1396
  information: "교과서 정보"
1392
1397
  };
1393
1398
  var question_group = "질문 그룹";
1399
+ var korean_question_group = "지문/작품 추가";
1394
1400
  var group_n = "그룹 {{n}}";
1395
1401
  var sub_category = "하위 카테고리";
1396
1402
  var article_n = "문항 {{n}}";
1403
+ var korean_article_n = "지문 {{n}}";
1397
1404
  var math = "수학";
1398
1405
  var korea = "한국";
1399
1406
  var fix_this_information_for_this_book = "이 책에 대한 정보 수정";
@@ -1453,7 +1460,7 @@ var today_class = "오늘 수업";
1453
1460
  var unit_number = "대단원 {{number}}";
1454
1461
  var sub_unit_number = "소단원 {{number}}";
1455
1462
  var text_group_n = "지문 그룹 {{n}}";
1456
- var text_detail_n = "지문 상세 {{n}}";
1463
+ var text_detail_n = "{{n}}";
1457
1464
  var question_group_n = "문제 그룹 {{n}}";
1458
1465
  var placeholder_teacher_selector = "선생님을 검색하려면 최소 2글자를 입력하세요.";
1459
1466
  var teacher_personal_textbook = "교사의 개인 교과서";
@@ -1461,10 +1468,20 @@ var textbook_owner_email_is_required = "교재 소유자의 이메일은 필수
1461
1468
  var invalid_textbook_owner_email_address = "유효하지 않은 교재 소유자 이메일 주소입니다";
1462
1469
  var textbook_owner_academy_is_required = "교재 소유자의 학원은 필수입니다";
1463
1470
  var textbook_owner_course_is_required = "교재 소유자의 수업은 필수입니다";
1464
- var start_order = "주문 번호 시작";
1471
+ var start_order = " 지문 시작 번호";
1465
1472
  var student_notice_notes = "학생 공지/노트";
1466
1473
  var note = "메모";
1467
1474
  var student_parents = "학생/학부모";
1475
+ var today_specific_class = "오늘의 특별 수업";
1476
+ var n_lesson = "{{total}}개의 수업";
1477
+ var exam_results = "시험 결과";
1478
+ var textbook_results = "교과서 결과";
1479
+ var order_matters = "순서 상관 있음";
1480
+ var order_does_not_matter = "순서 상관 없음";
1481
+ var synonym_processing = "답 이음동의어 처리";
1482
+ var compare_type = "비교 유형";
1483
+ var textbook_name = "교재 이름";
1484
+ var korean_language = "국어";
1468
1485
  var lang_ko = {
1469
1486
  problem_solving: problem_solving,
1470
1487
  my_story: my_story,
@@ -1550,6 +1567,8 @@ var lang_ko = {
1550
1567
  question_count: question_count,
1551
1568
  multi_choice: multi_choice,
1552
1569
  category: category,
1570
+ korean_category: korean_category,
1571
+ korean_subcateogry: korean_subcateogry,
1553
1572
  _category: _category,
1554
1573
  score: score,
1555
1574
  enter_score: enter_score,
@@ -1702,6 +1721,7 @@ var lang_ko = {
1702
1721
  new_subject: new_subject,
1703
1722
  subjects: subjects,
1704
1723
  subject: subject,
1724
+ korean_subject: korean_subject,
1705
1725
  textbooks: textbooks,
1706
1726
  exam_list: exam_list,
1707
1727
  textbook_title: textbook_title,
@@ -1955,6 +1975,7 @@ var lang_ko = {
1955
1975
  save_and_add_next_question: save_and_add_next_question,
1956
1976
  question_text: question_text,
1957
1977
  article: article,
1978
+ korean_article: korean_article,
1958
1979
  notifications: notifications,
1959
1980
  exams: exams,
1960
1981
  questions: questions,
@@ -2310,7 +2331,7 @@ var lang_ko = {
2310
2331
  chapter_number: chapter_number,
2311
2332
  category_required: category_required,
2312
2333
  subject_required: subject_required,
2313
- "public": "공공의",
2334
+ "public": "기출 문제",
2314
2335
  max_is_12: max_is_12,
2315
2336
  textbook_owners: textbook_owners,
2316
2337
  author: author,
@@ -2347,6 +2368,7 @@ var lang_ko = {
2347
2368
  posted_on: posted_on,
2348
2369
  number_of_participants: number_of_participants,
2349
2370
  chapter: chapter,
2371
+ korean_chapter: korean_chapter,
2350
2372
  published: published,
2351
2373
  privated: privated,
2352
2374
  solution_results: solution_results,
@@ -2494,9 +2516,11 @@ var lang_ko = {
2494
2516
  are_you_sure_you_want_to_delete_the_question_group: are_you_sure_you_want_to_delete_the_question_group,
2495
2517
  textbook: textbook,
2496
2518
  question_group: question_group,
2519
+ korean_question_group: korean_question_group,
2497
2520
  group_n: group_n,
2498
2521
  sub_category: sub_category,
2499
2522
  article_n: article_n,
2523
+ korean_article_n: korean_article_n,
2500
2524
  math: math,
2501
2525
  korea: korea,
2502
2526
  fix_this_information_for_this_book: fix_this_information_for_this_book,
@@ -2567,7 +2591,17 @@ var lang_ko = {
2567
2591
  start_order: start_order,
2568
2592
  student_notice_notes: student_notice_notes,
2569
2593
  note: note,
2570
- student_parents: student_parents
2594
+ student_parents: student_parents,
2595
+ today_specific_class: today_specific_class,
2596
+ n_lesson: n_lesson,
2597
+ exam_results: exam_results,
2598
+ textbook_results: textbook_results,
2599
+ order_matters: order_matters,
2600
+ order_does_not_matter: order_does_not_matter,
2601
+ synonym_processing: synonym_processing,
2602
+ compare_type: compare_type,
2603
+ textbook_name: textbook_name,
2604
+ korean_language: korean_language
2571
2605
  };
2572
2606
 
2573
2607
  var problem_solving$1 = "Problem Solving";
@@ -2662,6 +2696,7 @@ var easy$1 = "Easy";
2662
2696
  var intermediate$1 = "Intermediate";
2663
2697
  var difficult$1 = "Difficult";
2664
2698
  var article$1 = "Article";
2699
+ var korean_article$1 = "Article";
2665
2700
  var correct_answer$1 = "Correct answer";
2666
2701
  var mark$1 = "Mark";
2667
2702
  var answer$1 = "Answer";
@@ -2672,6 +2707,8 @@ var update_question_success$1 = "Question is updated successfully";
2672
2707
  var number_of_answers$1 = "Number of answers";
2673
2708
  var correct_answers$1 = "Correct answers";
2674
2709
  var category$1 = "Category";
2710
+ var korean_category$1 = "Category";
2711
+ var korean_subcateogry$1 = "Subcategory";
2675
2712
  var _category$1 = "Category";
2676
2713
  var score$1 = "Score";
2677
2714
  var enter_title$1 = "Enter title";
@@ -2827,6 +2864,7 @@ var go_to_attendance_list$1 = "Go to attendance list";
2827
2864
  var new_subject$1 = "New Subject";
2828
2865
  var subjects$1 = "Subjects";
2829
2866
  var subject$1 = "Subject";
2867
+ var korean_subject$1 = "Subject";
2830
2868
  var textbooks$1 = "Textbooks";
2831
2869
  var exam_list$1 = "Exam List";
2832
2870
  var textbook_title$1 = "Textbook title";
@@ -3478,6 +3516,7 @@ var page_from_required$1 = "Page from is required";
3478
3516
  var page_to_required$1 = "Page to is required";
3479
3517
  var page_to_must_be_greater_than_or_equal_to_page_from$1 = "Page To must be greater than or equal to Page From";
3480
3518
  var chapter$1 = "Chapter";
3519
+ var korean_chapter$1 = "Chapter";
3481
3520
  var chapter_number$1 = "Chapter {{number}}";
3482
3521
  var category_required$1 = "Category is required";
3483
3522
  var subject_required$1 = "Subject is required";
@@ -3619,9 +3658,11 @@ var textbook$1 = {
3619
3658
  information: "Textbook information"
3620
3659
  };
3621
3660
  var question_group$1 = "Question group";
3661
+ var korean_question_group$1 = "Question group";
3622
3662
  var group_n$1 = "Group {{n}}";
3623
3663
  var sub_category$1 = "Sub category";
3624
3664
  var article_n$1 = "Article {{n}}";
3665
+ var korean_article_n$1 = "Article {{n}}";
3625
3666
  var math$1 = "Math";
3626
3667
  var korea$1 = "Korea";
3627
3668
  var fix_this_information_for_this_book$1 = "Fix this information for this book";
@@ -3693,6 +3734,16 @@ var start_order$1 = "Start order number";
3693
3734
  var student_notice_notes$1 = "Student notice/notes";
3694
3735
  var note$1 = "Note";
3695
3736
  var student_parents$1 = "Student/Parents";
3737
+ var today_specific_class$1 = "Today's specific class";
3738
+ var n_lesson$1 = "{{total}} lesson(s)";
3739
+ var exam_results$1 = "Exam results";
3740
+ var textbook_results$1 = "Textbook results";
3741
+ var order_matters$1 = "Order matters";
3742
+ var order_does_not_matter$1 = "Order doesn't matter";
3743
+ var synonym_processing$1 = "Answer Synonym processing";
3744
+ var compare_type$1 = "Compare Type";
3745
+ var textbook_name$1 = "Textbook name";
3746
+ var korean_language$1 = "Korean";
3696
3747
  var lang_en = {
3697
3748
  problem_solving: problem_solving$1,
3698
3749
  my_story: my_story$1,
@@ -3789,6 +3840,7 @@ var lang_en = {
3789
3840
  intermediate: intermediate$1,
3790
3841
  difficult: difficult$1,
3791
3842
  article: article$1,
3843
+ korean_article: korean_article$1,
3792
3844
  correct_answer: correct_answer$1,
3793
3845
  mark: mark$1,
3794
3846
  answer: answer$1,
@@ -3799,6 +3851,8 @@ var lang_en = {
3799
3851
  number_of_answers: number_of_answers$1,
3800
3852
  correct_answers: correct_answers$1,
3801
3853
  category: category$1,
3854
+ korean_category: korean_category$1,
3855
+ korean_subcateogry: korean_subcateogry$1,
3802
3856
  _category: _category$1,
3803
3857
  score: score$1,
3804
3858
  enter_title: enter_title$1,
@@ -3955,6 +4009,7 @@ var lang_en = {
3955
4009
  new_subject: new_subject$1,
3956
4010
  subjects: subjects$1,
3957
4011
  subject: subject$1,
4012
+ korean_subject: korean_subject$1,
3958
4013
  textbooks: textbooks$1,
3959
4014
  exam_list: exam_list$1,
3960
4015
  textbook_title: textbook_title$1,
@@ -4585,6 +4640,7 @@ var lang_en = {
4585
4640
  page_to_required: page_to_required$1,
4586
4641
  page_to_must_be_greater_than_or_equal_to_page_from: page_to_must_be_greater_than_or_equal_to_page_from$1,
4587
4642
  chapter: chapter$1,
4643
+ korean_chapter: korean_chapter$1,
4588
4644
  chapter_number: chapter_number$1,
4589
4645
  category_required: category_required$1,
4590
4646
  subject_required: subject_required$1,
@@ -4724,9 +4780,11 @@ var lang_en = {
4724
4780
  are_you_sure_you_want_to_delete_the_question_group: are_you_sure_you_want_to_delete_the_question_group$1,
4725
4781
  textbook: textbook$1,
4726
4782
  question_group: question_group$1,
4783
+ korean_question_group: korean_question_group$1,
4727
4784
  group_n: group_n$1,
4728
4785
  sub_category: sub_category$1,
4729
4786
  article_n: article_n$1,
4787
+ korean_article_n: korean_article_n$1,
4730
4788
  math: math$1,
4731
4789
  korea: korea$1,
4732
4790
  fix_this_information_for_this_book: fix_this_information_for_this_book$1,
@@ -4797,7 +4855,17 @@ var lang_en = {
4797
4855
  start_order: start_order$1,
4798
4856
  student_notice_notes: student_notice_notes$1,
4799
4857
  note: note$1,
4800
- student_parents: student_parents$1
4858
+ student_parents: student_parents$1,
4859
+ today_specific_class: today_specific_class$1,
4860
+ n_lesson: n_lesson$1,
4861
+ exam_results: exam_results$1,
4862
+ textbook_results: textbook_results$1,
4863
+ order_matters: order_matters$1,
4864
+ order_does_not_matter: order_does_not_matter$1,
4865
+ synonym_processing: synonym_processing$1,
4866
+ compare_type: compare_type$1,
4867
+ textbook_name: textbook_name$1,
4868
+ korean_language: korean_language$1
4801
4869
  };
4802
4870
 
4803
4871
  i18n__default.use(reactI18next.initReactI18next).init({
@@ -10117,12 +10185,12 @@ var MathTinyEditor = function MathTinyEditor(_ref) {
10117
10185
  };
10118
10186
 
10119
10187
  var TinyEditor = function TinyEditor(_ref) {
10120
- var ref = _ref.ref,
10121
- _ref$disabled = _ref.disabled,
10188
+ var _ref$disabled = _ref.disabled,
10122
10189
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
10123
10190
  onChange = _ref.onChange,
10124
10191
  initValue = _ref.initValue,
10125
10192
  config = _ref.config;
10193
+ var isFirstChange = React.useRef(true);
10126
10194
  React.useEffect(function () {
10127
10195
  if (window.tinymce) {
10128
10196
  window.tinymce = tinymce;
@@ -10131,20 +10199,24 @@ var TinyEditor = function TinyEditor(_ref) {
10131
10199
  var options = {
10132
10200
  height: 150,
10133
10201
  menubar: false,
10134
- external_plugins: {
10135
- tiny_mce_wiris: '/editor/wiris-for-tinymce.js'
10136
- },
10137
- plugins: ['anchor', 'autolink', 'charmap', 'codesample', 'emoticons', 'image', 'link', 'lists', 'media', 'searchreplace', 'table', 'visualblocks', 'wordcount', 'checklist', 'mediaembed', 'casechange', 'export', 'formatpainter', 'pageembed', 'a11ychecker', 'tinymcespellchecker', 'permanentpen', 'powerpaste', 'advtable', 'advcode', 'editimage', 'advtemplate', 'ai', 'mentions', 'tinycomments', 'tableofcontents', 'footnotes', 'mergetags', 'autocorrect', 'typography', 'inlinecss', 'markdown', 'importword', 'exportword', 'exportpdf'],
10138
- toolbar: 'undo redo | blocks fontfamily fontsize | bold italic underline strikethrough | link image media table mergetags | addcomment showcomments | spellcheckdialog a11ycheck typography | align lineheight | checklist numlist bullist indent outdent | emoticons charmap | removeformat tiny_mce_wiris_formulaEditor tiny_mce_wiris_formulaEditorChemistry',
10202
+ readonly: false,
10203
+ plugins: ['anchor', 'autolink', 'charmap', 'codesample', 'emoticons', 'image', 'link', 'lists', 'media', 'searchreplace', 'table', 'visualblocks', 'wordcount'],
10204
+ toolbar: 'undo redo | blocks fontfamily fontsize | bold italic underline strikethrough | link image media table mergetags | addcomment showcomments | spellcheckdialog a11ycheck typography | align lineheight | checklist numlist bullist indent outdent | emoticons charmap | removeformat',
10139
10205
  branding: false,
10140
10206
  extended_valid_elements: '*[.*]'
10141
10207
  };
10208
+ var handleChange = function handleChange(value, _) {
10209
+ if (isFirstChange.current) {
10210
+ isFirstChange.current = false;
10211
+ return;
10212
+ }
10213
+ onChange(value);
10214
+ };
10142
10215
  return React__default.createElement(tinymceReact.Editor, {
10143
- ref: ref,
10144
10216
  disabled: disabled,
10145
10217
  init: config || options,
10146
10218
  initialValue: initValue,
10147
- onChange: onChange
10219
+ onEditorChange: handleChange
10148
10220
  });
10149
10221
  };
10150
10222
 
@@ -27314,9 +27386,8 @@ var NotificationForm = function NotificationForm(_ref) {
27314
27386
  var handleChangeType = function handleChangeType(e) {
27315
27387
  formikProp.setFieldValue("type", e === null || e === void 0 ? void 0 : e.value);
27316
27388
  };
27317
- var onChangeTextEditor = function onChangeTextEditor(e) {
27318
- var content = e.editor.getData() || "";
27319
- formikProp.setFieldValue("content", content);
27389
+ var onChangeTextEditor = function onChangeTextEditor(value) {
27390
+ formikProp.setFieldValue("content", value);
27320
27391
  };
27321
27392
  var onchangeClass = function onchangeClass(e) {
27322
27393
  setClassOptions(e);
@@ -28500,7 +28571,8 @@ var isSequentialQuestionGroups = function isSequentialQuestionGroups(questionGro
28500
28571
 
28501
28572
  var _ = _$6;
28502
28573
  var ArticleBlock = function ArticleBlock(_ref) {
28503
- var errors = _ref.errors,
28574
+ var isMath = _ref.isMath,
28575
+ errors = _ref.errors,
28504
28576
  expandedIndex = _ref.expandedIndex,
28505
28577
  data = _ref.data,
28506
28578
  categories = _ref.categories,
@@ -28516,7 +28588,7 @@ var ArticleBlock = function ArticleBlock(_ref) {
28516
28588
  onCloseCategoryMenu = _ref.onCloseCategoryMenu;
28517
28589
  var _useTranslation = reactI18next.useTranslation(),
28518
28590
  t = _useTranslation.t;
28519
- var title = t("article_n", {
28591
+ var title = t(isMath ? "article_n" : "korean_article_n", {
28520
28592
  n: expandedIndex + 1
28521
28593
  });
28522
28594
  var handleClickDeleteArticle = function handleClickDeleteArticle(e) {
@@ -28599,7 +28671,7 @@ var ArticleBlock = function ArticleBlock(_ref) {
28599
28671
  }, React__default.createElement(material.FormLabel, {
28600
28672
  htmlFor: "category",
28601
28673
  className: "form-label"
28602
- }, t("category")), React__default.createElement(formik.Field, {
28674
+ }, t(isMath ? "category" : "korean_category")), React__default.createElement(formik.Field, {
28603
28675
  name: path + ".categories[0]",
28604
28676
  render: function render() {
28605
28677
  var _data$categoryOptions2;
@@ -28642,7 +28714,7 @@ var ArticleBlock = function ArticleBlock(_ref) {
28642
28714
  }, React__default.createElement(material.FormLabel, {
28643
28715
  htmlFor: "category",
28644
28716
  className: "form-label"
28645
- }, t("sub_category")), React__default.createElement(formik.Field, {
28717
+ }, t(isMath ? "sub_category" : "korean_subcategory")), React__default.createElement(formik.Field, {
28646
28718
  name: path + ".categories[1]",
28647
28719
  render: function render() {
28648
28720
  var _data$categoryOptions3;
@@ -28720,7 +28792,7 @@ var ArticleBlock = function ArticleBlock(_ref) {
28720
28792
  }, React__default.createElement(material.FormLabel, {
28721
28793
  htmlFor: "tag",
28722
28794
  className: "form-label"
28723
- }, t("subject")), React__default.createElement(formik.Field, {
28795
+ }, t(isMath ? "subject" : "korean_subject")), React__default.createElement(formik.Field, {
28724
28796
  name: path + ".tag",
28725
28797
  render: function render(_ref4) {
28726
28798
  var field = _ref4.field;
@@ -28760,7 +28832,7 @@ var isEqual = function isEqual(prev, next) {
28760
28832
  var nextCategories = isNextMatched ? next.categories : undefined;
28761
28833
  var prevCategoryError = _.get(prev.errors, prev.path + ".categories");
28762
28834
  var nextCategoryError = _.get(next.errors, next.path + ".categories");
28763
- return prevOptionKey === nextOptionKey && prevIsLoadingCategories === nextIsLoadingCategories && JSON.stringify(prev.data) === JSON.stringify(next.data) && JSON.stringify(prevCategories) === JSON.stringify(nextCategories) && prev.path === next.path && prev.expandedIndex == next.expandedIndex && prev.disabled === next.disabled && prev.onOpenCategoryMenu == next.onOpenCategoryMenu && prev.onOpenSubCategoryMenu == next.onOpenSubCategoryMenu && prevCategoryError === nextCategoryError;
28835
+ return prevOptionKey === nextOptionKey && prevIsLoadingCategories === nextIsLoadingCategories && JSON.stringify(prev.data) === JSON.stringify(next.data) && JSON.stringify(prevCategories) === JSON.stringify(nextCategories) && prev.path === next.path && prev.expandedIndex == next.expandedIndex && prev.disabled === next.disabled && prev.isMath === next.isMath && prev.onOpenCategoryMenu == next.onOpenCategoryMenu && prev.onOpenSubCategoryMenu == next.onOpenSubCategoryMenu && prevCategoryError === nextCategoryError;
28764
28836
  };
28765
28837
  var ArticleBlock$1 = React.memo(ArticleBlock, isEqual);
28766
28838
 
@@ -29117,6 +29189,7 @@ var QuestionGroupBlockBody = function QuestionGroupBlockBody(_ref) {
29117
29189
  render: function render(article, index) {
29118
29190
  return React__default.createElement(ArticleBlock$1, Object.assign({
29119
29191
  key: index,
29192
+ isMath: isMath,
29120
29193
  expandedIndex: index,
29121
29194
  data: article,
29122
29195
  path: path + ".articles[" + index + "]",
@@ -29141,7 +29214,7 @@ var QuestionGroupBlockBody = function QuestionGroupBlockBody(_ref) {
29141
29214
  onClick: function onClick() {
29142
29215
  arrayHelpers.push(DEFAULT_ARTICLE);
29143
29216
  }
29144
- }, i18n.t("article")))), React__default.createElement(material.Stack, {
29217
+ }, i18n.t(isMath ? "article" : "korean_article")))), React__default.createElement(material.Stack, {
29145
29218
  gap: 1,
29146
29219
  direction: "column"
29147
29220
  }, React__default.createElement(material.Box, null, React__default.createElement(material.FormControl, {
@@ -29883,7 +29956,7 @@ var ChapterBlockBody = function ChapterBlockBody(_ref) {
29883
29956
  arrayHelpers.push(addedGroup);
29884
29957
  handleToggle(length);
29885
29958
  }
29886
- }, t("question_group"))));
29959
+ }, t(isMath ? "question_group" : "korean_question_group"))));
29887
29960
  }
29888
29961
  }));
29889
29962
  };
@@ -30590,7 +30663,7 @@ var TextbookContentsTab = function TextbookContentsTab(props) {
30590
30663
  arrayHelpers.push(DEFAULT_CHAPTER);
30591
30664
  handleToggleBlock(length);
30592
30665
  }
30593
- }, t("chapter"))));
30666
+ }, t(isMath ? "chapter" : "korean_chapter"))));
30594
30667
  }
30595
30668
  }), (openConfirmDelete === null || openConfirmDelete === void 0 ? void 0 : openConfirmDelete.text) && React__default.createElement(ConfirmDialog, {
30596
30669
  open: !!openConfirmDelete,
@@ -31304,12 +31377,12 @@ var PreparedTextbookForm = function PreparedTextbookForm(_ref) {
31304
31377
  gap: 1
31305
31378
  }, React__default.createElement("label", {
31306
31379
  htmlFor: "name"
31307
- }, i18n.t("title")), React__default.createElement(formik.Field, {
31380
+ }, i18n.t("textbook_name")), React__default.createElement(formik.Field, {
31308
31381
  name: "name",
31309
31382
  render: function render(_ref2) {
31310
31383
  var field = _ref2.field;
31311
31384
  return React__default.createElement(material.TextField, Object.assign({
31312
- placeholder: i18n.t("title")
31385
+ placeholder: i18n.t("textbook_name")
31313
31386
  }, field, {
31314
31387
  size: "small",
31315
31388
  disabled: disabled,
@@ -31327,7 +31400,7 @@ var PreparedTextbookForm = function PreparedTextbookForm(_ref) {
31327
31400
  minWidth: "240px"
31328
31401
  }, React__default.createElement("label", {
31329
31402
  htmlFor: "subjectId"
31330
- }, i18n.t("subject")), React__default.createElement(formik.Field, {
31403
+ }, i18n.t("textbook_subject")), React__default.createElement(formik.Field, {
31331
31404
  name: "subjectId",
31332
31405
  render: function render(_ref3) {
31333
31406
  var field = _ref3.field;