touchstudy-core 0.1.96 → 0.1.97

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.
package/dist/index.js CHANGED
@@ -116,7 +116,6 @@ var encodeParams = function encodeParams(params) {
116
116
  Role["Teacher"] = "Teacher";
117
117
  Role["Admin"] = "Admin";
118
118
  Role["AcademyAdmin"] = "AcademyAdmin";
119
- Role["AcademyAdminTeacher"] = "AcademyAdminTeacher";
120
119
  })(exports.Role || (exports.Role = {}));
121
120
  (function (Language) {
122
121
  Language["ko"] = "ko";
@@ -2189,7 +2188,6 @@ var are_you_sure_you_want_to_delete_the_article = "정말로 기사를 삭제하
2189
2188
  var yes = "예";
2190
2189
  var no = "아니요";
2191
2190
  var cancel = "취소";
2192
- var remove = "제거하다";
2193
2191
  var confirmation = "확인";
2194
2192
  var student_name = "학생 이름";
2195
2193
  var full_pool_time = "전체풀이시간";
@@ -2799,7 +2797,6 @@ var my_classes = "내 수업";
2799
2797
  var choose = "선택하다";
2800
2798
  var additional_duration = "진행중인 시험 시간 추가하기";
2801
2799
  var enter_textbook_name_to_search = "검색할 교재명을 입력하세요";
2802
- var enter_teacher_name_to_search = "선생님 이름을 입력하여 검색하세요";
2803
2800
  var select_class_placeholder = "수업을 선택하세요...";
2804
2801
  var user_name = "유저 이름";
2805
2802
  var vulnerable_detail = "다른 학생들의 정답률은 높은데, 나는 정답을 맞추지 못한 문제들입니다.";
@@ -2916,8 +2913,6 @@ var view_records = "기록열람";
2916
2913
  var delete_action = "삭제";
2917
2914
  var edit_action = "수정";
2918
2915
  var view_action = "열람";
2919
- var update_shared_action = "업데이트 권한";
2920
- var share_action = "공유하다";
2921
2916
  var de_select = "선택 해제";
2922
2917
  var select_output = "선택 출력";
2923
2918
  var print_pdf = "PDF 인쇄";
@@ -2951,15 +2946,6 @@ var manage_users = "사용자 관리";
2951
2946
  var manage_classes = "수업 관리";
2952
2947
  var manage_notifications = "알림 관리";
2953
2948
  var late = "늦은";
2954
- var authority = "권한";
2955
- var share_textbook = "교과서 공유하기";
2956
- var notify_share_textbook = {
2957
- share_success: "교과서를 성공적으로 공유했습니다!",
2958
- share_fail: "교과서도 없고 선생님도 없어요!",
2959
- update_success: "공유 교과서가 성공적으로 업데이트되었습니다!",
2960
- update_fail: "업데이트 실패!"
2961
- };
2962
- var academyadminteacher = "아카데미 관리자/선생님";
2963
2949
  var total_student = "총 학생 수";
2964
2950
  var total_teacher = "총 교사 수";
2965
2951
  var total_exam = "총 시험 수";
@@ -3017,7 +3003,6 @@ var lang_ko = {
3017
3003
  yes: yes,
3018
3004
  no: no,
3019
3005
  cancel: cancel,
3020
- remove: remove,
3021
3006
  confirmation: confirmation,
3022
3007
  student_name: student_name,
3023
3008
  full_pool_time: full_pool_time,
@@ -3619,7 +3604,6 @@ var lang_ko = {
3619
3604
  choose: choose,
3620
3605
  additional_duration: additional_duration,
3621
3606
  enter_textbook_name_to_search: enter_textbook_name_to_search,
3622
- enter_teacher_name_to_search: enter_teacher_name_to_search,
3623
3607
  "type_at_least_{number}_characters_to_search": "검색하려면 최소 {{ number }}자를 입력하세요",
3624
3608
  select_class_placeholder: select_class_placeholder,
3625
3609
  user_name: user_name,
@@ -3735,8 +3719,6 @@ var lang_ko = {
3735
3719
  delete_action: delete_action,
3736
3720
  edit_action: edit_action,
3737
3721
  view_action: view_action,
3738
- update_shared_action: update_shared_action,
3739
- share_action: share_action,
3740
3722
  de_select: de_select,
3741
3723
  select_output: select_output,
3742
3724
  print_pdf: print_pdf,
@@ -3770,10 +3752,6 @@ var lang_ko = {
3770
3752
  manage_classes: manage_classes,
3771
3753
  manage_notifications: manage_notifications,
3772
3754
  late: late,
3773
- authority: authority,
3774
- share_textbook: share_textbook,
3775
- notify_share_textbook: notify_share_textbook,
3776
- academyadminteacher: academyadminteacher,
3777
3755
  total_student: total_student,
3778
3756
  total_teacher: total_teacher,
3779
3757
  total_exam: total_exam,
@@ -3830,7 +3808,6 @@ var are_you_sure_you_want_to_delete_the_article$1 = "Are you sure you want to de
3830
3808
  var yes$1 = "Yes";
3831
3809
  var no$1 = "No";
3832
3810
  var cancel$1 = "Cancel";
3833
- var remove$1 = "Remove";
3834
3811
  var confirmation$1 = "Confirmation";
3835
3812
  var student_name$1 = "Student name";
3836
3813
  var full_pool_time$1 = "Full pool time";
@@ -4093,7 +4070,6 @@ var parent_name$1 = "Parent name";
4093
4070
  var users$1 = "Users";
4094
4071
  var new_user$1 = "New user";
4095
4072
  var academy_admin$1 = "Academy Admin";
4096
- var academy_admin_teacher = "Academy Admin / Teacher";
4097
4073
  var super_admin$1 = "Super Admin";
4098
4074
  var switch_academy_admin$1 = "Switch Academy Admin";
4099
4075
  var switch_academy$1 = "Switch Academy";
@@ -4442,7 +4418,6 @@ var my_classes$1 = "My Classes";
4442
4418
  var choose$1 = "Choose";
4443
4419
  var additional_duration$1 = "Additional duration";
4444
4420
  var enter_textbook_name_to_search$1 = "Enter textbook name to search";
4445
- var enter_teacher_name_to_search$1 = "Enter teacher name to search";
4446
4421
  var select_class_placeholder$1 = "Select class...";
4447
4422
  var user_name$1 = "User Name";
4448
4423
  var vulnerable_detail$1 = "Other students had a high percentage of correct answers, but I could not answer these questions correctly.";
@@ -4559,8 +4534,6 @@ var view_records$1 = "View records";
4559
4534
  var delete_action$1 = "Delete";
4560
4535
  var edit_action$1 = "Edit";
4561
4536
  var view_action$1 = "View";
4562
- var share_action$1 = "Share";
4563
- var update_shared_action$1 = "Update Authority";
4564
4537
  var de_select$1 = "Deselect";
4565
4538
  var select_output$1 = "Select";
4566
4539
  var print_pdf$1 = "Print PDF";
@@ -4594,15 +4567,6 @@ var manage_users$1 = "Manage users";
4594
4567
  var manage_classes$1 = "Manage classes";
4595
4568
  var manage_notifications$1 = "Manage notifications";
4596
4569
  var late$1 = "Late";
4597
- var authority$1 = "Authority";
4598
- var share_textbook$1 = "Share textbook";
4599
- var notify_share_textbook$1 = {
4600
- share_success: "Share textbook successfully!",
4601
- share_fail: "Textbook or teacher not exists!",
4602
- update_success: "Update shared textbook successfully!",
4603
- update_fail: "Update fail!"
4604
- };
4605
- var academyadminteacher$1 = "AcademyAdmin / Teacher";
4606
4570
  var total_student$1 = "Total Student";
4607
4571
  var total_teacher$1 = "Total Teacher";
4608
4572
  var total_exam$1 = "Total Exam";
@@ -4660,7 +4624,6 @@ var lang_en = {
4660
4624
  yes: yes$1,
4661
4625
  no: no$1,
4662
4626
  cancel: cancel$1,
4663
- remove: remove$1,
4664
4627
  confirmation: confirmation$1,
4665
4628
  student_name: student_name$1,
4666
4629
  full_pool_time: full_pool_time$1,
@@ -4920,7 +4883,6 @@ var lang_en = {
4920
4883
  users: users$1,
4921
4884
  new_user: new_user$1,
4922
4885
  academy_admin: academy_admin$1,
4923
- academy_admin_teacher: academy_admin_teacher,
4924
4886
  super_admin: super_admin$1,
4925
4887
  switch_academy_admin: switch_academy_admin$1,
4926
4888
  switch_academy: switch_academy$1,
@@ -5264,7 +5226,6 @@ var lang_en = {
5264
5226
  choose: choose$1,
5265
5227
  additional_duration: additional_duration$1,
5266
5228
  enter_textbook_name_to_search: enter_textbook_name_to_search$1,
5267
- enter_teacher_name_to_search: enter_teacher_name_to_search$1,
5268
5229
  "type_at_least_{number}_characters_to_search": "Type at least {{ number }} characters to search",
5269
5230
  select_class_placeholder: select_class_placeholder$1,
5270
5231
  user_name: user_name$1,
@@ -5380,8 +5341,6 @@ var lang_en = {
5380
5341
  delete_action: delete_action$1,
5381
5342
  edit_action: edit_action$1,
5382
5343
  view_action: view_action$1,
5383
- share_action: share_action$1,
5384
- update_shared_action: update_shared_action$1,
5385
5344
  de_select: de_select$1,
5386
5345
  select_output: select_output$1,
5387
5346
  print_pdf: print_pdf$1,
@@ -5415,10 +5374,6 @@ var lang_en = {
5415
5374
  manage_classes: manage_classes$1,
5416
5375
  manage_notifications: manage_notifications$1,
5417
5376
  late: late$1,
5418
- authority: authority$1,
5419
- share_textbook: share_textbook$1,
5420
- notify_share_textbook: notify_share_textbook$1,
5421
- academyadminteacher: academyadminteacher$1,
5422
5377
  total_student: total_student$1,
5423
5378
  total_teacher: total_teacher$1,
5424
5379
  total_exam: total_exam$1,
@@ -6998,13 +6953,11 @@ var formatRole = function formatRole(roles, t) {
6998
6953
  if (roles.includes(exports.Role.AcademyAdmin)) return t("academy_admin");
6999
6954
  if (roles.includes(exports.Role.Teacher)) return t("teacher");
7000
6955
  if (roles.includes(exports.Role.Student)) return t("student");
7001
- if (roles.includes(exports.Role.AcademyAdminTeacher)) return t("academy_admin_teacher");
7002
6956
  return "";
7003
6957
  };
7004
6958
  var getRole = function getRole(roles) {
7005
6959
  if (roles.includes(exports.Role.Admin)) return exports.Role.Admin;
7006
6960
  if (roles.includes(exports.Role.AcademyAdmin)) return exports.Role.AcademyAdmin;
7007
- if (roles.includes(exports.Role.AcademyAdminTeacher)) return exports.Role.AcademyAdminTeacher;
7008
6961
  if (roles.includes(exports.Role.Teacher)) return exports.Role.Teacher;
7009
6962
  if (roles.includes(exports.Role.Student)) return exports.Role.Student;
7010
6963
  return null;
@@ -7439,8 +7392,10 @@ var useMessageList = function useMessageList(_ref) {
7439
7392
  var _state$common, _state$common$user;
7440
7393
  return (state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : (_state$common$user = _state$common.user) === null || _state$common$user === void 0 ? void 0 : _state$common$user.roles) || [];
7441
7394
  });
7442
- var isTeacher = roles === null || roles === void 0 ? void 0 : roles.includes(exports.Role.Teacher);
7443
- var isFirst = true;
7395
+ var isAdmin = roles === null || roles === void 0 ? void 0 : roles.includes(exports.Role.Admin);
7396
+ var isTeacher = (roles === null || roles === void 0 ? void 0 : roles.includes(exports.Role.Teacher)) && !isAdmin;
7397
+ var isStudent = !isTeacher && !isAdmin;
7398
+ var firstRef = React.useRef(true);
7444
7399
  var getMessageList = function getMessageList(conversationId) {
7445
7400
  try {
7446
7401
  var _temp3 = function _temp3() {
@@ -7460,14 +7415,14 @@ var useMessageList = function useMessageList(_ref) {
7460
7415
  });
7461
7416
  });
7462
7417
  var _temp = function () {
7463
- if (isFirst && isTeacher) {
7418
+ if (firstRef.current && !isStudent) {
7464
7419
  return Promise.resolve(createRecentUserActionListApi({
7465
7420
  userId: (student === null || student === void 0 ? void 0 : student.id) || 0,
7466
7421
  action: RecentUserAction$1.ViewedQNA,
7467
7422
  data: "" + conversationId,
7468
- isAdmin: !isTeacher
7423
+ isAdmin: false
7469
7424
  })).then(function () {
7470
- isFirst = false;
7425
+ firstRef.current = false;
7471
7426
  });
7472
7427
  }
7473
7428
  }();
@@ -8611,12 +8566,6 @@ var updateTextbookApi = function updateTextbookApi(textbookId, data) {
8611
8566
  var deleteTextbookApi = function deleteTextbookApi(textbookId) {
8612
8567
  return api["delete"](TEXTBOOK_URL + "/" + textbookId);
8613
8568
  };
8614
- var shareTextbookApi = function shareTextbookApi(textbookId, data) {
8615
- return api.post(TEXTBOOK_URL + "/" + textbookId + "/shared-textbook", data);
8616
- };
8617
- var updateSharedTextbookApi = function updateSharedTextbookApi(textbookId, data) {
8618
- return api.put(TEXTBOOK_URL + "/" + textbookId + "/shared-textbook", data);
8619
- };
8620
8569
 
8621
8570
  var ExamStatus$1;
8622
8571
  (function (ExamStatus) {
@@ -8670,13 +8619,6 @@ var TextbookSortBy;
8670
8619
  TextbookSortBy["Title"] = "Name";
8671
8620
  TextbookSortBy["SubjectName"] = "Subject.Name";
8672
8621
  })(TextbookSortBy || (TextbookSortBy = {}));
8673
- var TeacherSortBy;
8674
- (function (TeacherSortBy) {
8675
- TeacherSortBy["CreatedAt"] = "CreatedAt";
8676
- TeacherSortBy["Name"] = "UserProfile.FullName";
8677
- TeacherSortBy["Email"] = "Email";
8678
- TeacherSortBy["PhoneNumber"] = "UserProfile.PhoneNumber";
8679
- })(TeacherSortBy || (TeacherSortBy = {}));
8680
8622
  var ExamType;
8681
8623
  (function (ExamType) {
8682
8624
  ExamType["Normal"] = "Normal";
@@ -8690,12 +8632,6 @@ var ExamStatus$2;
8690
8632
  ExamStatus["Completed"] = "Completed";
8691
8633
  })(ExamStatus$2 || (ExamStatus$2 = {}));
8692
8634
 
8693
- var DefaultTeacherQuery = {
8694
- currentPage: 1,
8695
- pageSize: 50,
8696
- sortColumnDirection: OrderType.DESC,
8697
- sortColumnName: TeacherSortBy.Name
8698
- };
8699
8635
  var TEXTBOOK_HEADERS = [{
8700
8636
  title: "#"
8701
8637
  }, {
@@ -8710,26 +8646,7 @@ var TEXTBOOK_HEADERS = [{
8710
8646
  }, {
8711
8647
  title: "total_chapters"
8712
8648
  }, {
8713
- title: "authority"
8714
- }, {
8715
- title: ["edit_action", "view_action", "share_action", "update_shared_action", "delete_action"]
8716
- }];
8717
- var TEACHER_ACADEMY_HEADERS = [{
8718
- title: ""
8719
- }, {
8720
- title: "#"
8721
- }, {
8722
- title: "full_name",
8723
- sortKey: TeacherSortBy.Name
8724
- }, {
8725
- title: "email",
8726
- sortKey: TeacherSortBy.Email
8727
- }, {
8728
- title: "phone_number",
8729
- sortKey: TeacherSortBy.PhoneNumber
8730
- }, {
8731
- title: "created_at",
8732
- sortKey: TeacherSortBy.CreatedAt
8649
+ title: ["edit_action", "view_action", "delete_action"]
8733
8650
  }];
8734
8651
  var DEFAULT_ANSWER_COUNT = 5;
8735
8652
  var DEFAULT_EXAM_REQUEST = {
@@ -8746,7 +8663,6 @@ var DEFAULT_EXAM_REQUEST = {
8746
8663
  };
8747
8664
  var TEXTBOOK_PAGE_TITLE = "textbooks";
8748
8665
  var TEXT_BOOK_SEARCH_PLACEHOLDER = "enter_textbook_name_to_search";
8749
- var TEACHER_SEARCH_PLACEHOLDER = "enter_teacher_name_to_search";
8750
8666
  var TextbookDefaultQuery = {
8751
8667
  pageSize: 12,
8752
8668
  currentPage: 1,
@@ -11013,7 +10929,9 @@ var useTextbookList = function useTextbookList(props) {
11013
10929
  });
11014
10930
  };
11015
10931
  var handleCreateTextbook = function handleCreateTextbook() {
11016
- pushTo(navigate, textbookUrl + "/create");
10932
+ navigate(textbookUrl + "/create", {
10933
+ replace: true
10934
+ });
11017
10935
  };
11018
10936
  var toggleConfirmDialog = function toggleConfirmDialog() {
11019
10937
  handleChangeSelectedItem(undefined);
@@ -11048,7 +10966,6 @@ var useTextbookList = function useTextbookList(props) {
11048
10966
  return {
11049
10967
  filter: filter,
11050
10968
  textSearchRef: textSearchRef,
11051
- getData: getData,
11052
10969
  paging: paging,
11053
10970
  textbooks: textbooks,
11054
10971
  selectedTextbook: selectedTextbook,
@@ -11170,361 +11087,17 @@ var SearchInput = function SearchInput(_ref) {
11170
11087
  }));
11171
11088
  };
11172
11089
 
11173
- var ShareToTeacherDialog = function ShareToTeacherDialog(_ref) {
11174
- var open = _ref.open,
11175
- selectedShare = _ref.selectedShare,
11176
- textSearchShareRef = _ref.textSearchShareRef,
11177
- handleChangeSearchTextShare = _ref.handleChangeSearchTextShare,
11178
- numSelectedShare = _ref.numSelectedShare,
11179
- isCheckAllShare = _ref.isCheckAllShare,
11180
- handleSelectAllClickShare = _ref.handleSelectAllClickShare,
11181
- teachers = _ref.teachers,
11182
- handleSortShare = _ref.handleSortShare,
11183
- filterShare = _ref.filterShare,
11184
- pagingShare = _ref.pagingShare,
11185
- handleChangePageShare = _ref.handleChangePageShare,
11186
- handleShareModel = _ref.handleShareModel,
11187
- isSelectedShare = _ref.isSelectedShare,
11188
- handleCloseShareDialog = _ref.handleCloseShareDialog,
11189
- handleClickCheckboxShare = _ref.handleClickCheckboxShare,
11190
- selectedTeacher = _ref.selectedTeacher,
11191
- dataId = _ref.dataId,
11192
- isUpdate = _ref.isUpdate;
11193
- var _useTranslation = reactI18next.useTranslation(),
11194
- t = _useTranslation.t;
11195
- var theme = material.useTheme();
11196
- return React__default.createElement(material.Dialog, {
11197
- open: open,
11198
- maxWidth: "md"
11199
- }, React__default.createElement(material.DialogContent, {
11200
- sx: {
11201
- overflowY: "unset"
11202
- }
11203
- }, React__default.createElement(material.Grid, {
11204
- container: true,
11205
- spacing: 3,
11206
- sx: {
11207
- position: "relative",
11208
- zIndex: 999999
11209
- }
11210
- }, selectedShare && React__default.createElement(material.Grid, {
11211
- item: true,
11212
- xs: 6,
11213
- className: "d-flex mb-3"
11214
- }, React__default.createElement(SearchInput, {
11215
- placeholder: t(TEACHER_SEARCH_PLACEHOLDER),
11216
- textSearchRef: textSearchShareRef,
11217
- onChange: handleChangeSearchTextShare
11218
- })), React__default.createElement(material.Grid, {
11219
- item: true,
11220
- xs: 12
11221
- }, React__default.createElement(material.TableContainer, {
11222
- sx: {
11223
- maxHeight: "50vh"
11224
- }
11225
- }, React__default.createElement(material.Table, {
11226
- stickyHeader: true
11227
- }, React__default.createElement(material.TableHead, null, React__default.createElement(material.TableRow, null, selectedShare && React__default.createElement(material.TableCell, {
11228
- padding: "checkbox"
11229
- }, React__default.createElement(material.Checkbox, {
11230
- color: "primary",
11231
- checked: numSelectedShare > 0 && isCheckAllShare(teachers.length),
11232
- onChange: handleSelectAllClickShare
11233
- })), TEACHER_ACADEMY_HEADERS.map(function (i, index) {
11234
- return selectedShare && index === 0 ? null : React__default.createElement(material.TableCell, {
11235
- key: index,
11236
- onClick: !!i.sortKey ? function () {
11237
- return handleSortShare(i.sortKey);
11238
- } : undefined,
11239
- className: "" + (!!i.sortKey && "pointer")
11240
- }, React__default.createElement("div", {
11241
- className: "d-flex justify-content-between align-items-center text-nowrap"
11242
- }, t(i.title), !!i.sortKey && selectedShare && React__default.createElement(SortIcon, {
11243
- isAscending: filterShare.sortColumnName !== i.sortKey ? undefined : filterShare.sortColumnDirection === OrderType.ASC
11244
- })));
11245
- }))), React__default.createElement(material.TableBody, null, selectedTeacher ? React__default.createElement(material.TableRow, null, React__default.createElement(material.TableCell, null, selectedTeacher === null || selectedTeacher === void 0 ? void 0 : selectedTeacher.teacherName), React__default.createElement(material.TableCell, null, selectedTeacher === null || selectedTeacher === void 0 ? void 0 : selectedTeacher.teacherEmail), React__default.createElement(material.TableCell, null, selectedTeacher === null || selectedTeacher === void 0 ? void 0 : selectedTeacher.phoneNumber), React__default.createElement(material.TableCell, null, utcToLocalTime(selectedTeacher === null || selectedTeacher === void 0 ? void 0 : selectedTeacher.createdAt, t("date_time_format")))) : teachers.map(function (i, index) {
11246
- var isItemSelected = isSelectedShare(i.id);
11247
- return React__default.createElement(material.TableRow, {
11248
- key: i.id
11249
- }, React__default.createElement(material.TableCell, {
11250
- padding: "checkbox"
11251
- }, React__default.createElement(material.Checkbox, {
11252
- onClick: function onClick() {
11253
- return handleClickCheckboxShare(i.id);
11254
- },
11255
- color: "primary",
11256
- checked: isItemSelected
11257
- })), React__default.createElement(material.TableCell, null, (pagingShare.page - 1) * pagingShare.limit + index + 1), React__default.createElement(material.TableCell, null, i.teacherName), React__default.createElement(material.TableCell, null, i.teacherEmail), React__default.createElement(material.TableCell, null, i.phoneNumber), React__default.createElement(material.TableCell, null, utcToLocalTime(i.createdAt, t("date_time_format"))));
11258
- }), !selectedShare && !teachers.length && React__default.createElement(material.TableRow, null, React__default.createElement(material.TableCell, {
11259
- colSpan: 12,
11260
- className: "text-center text-muted"
11261
- }, t("no_data")))))), React__default.createElement("div", {
11262
- className: "d-flex justify-content-end mt-4"
11263
- }, !!pagingShare.totalPages && !selectedShare && React__default.createElement(material.Pagination, {
11264
- count: pagingShare.totalPages,
11265
- page: pagingShare.page,
11266
- onChange: handleChangePageShare
11267
- }))))), React__default.createElement(material.DialogActions, null, React__default.createElement(material.Stack, {
11268
- direction: "row",
11269
- spacing: 2,
11270
- p: 2,
11271
- pt: 0,
11272
- justifyContent: "end"
11273
- }, React__default.createElement(material.Button, {
11274
- color: "primary",
11275
- variant: "contained",
11276
- type: "submit",
11277
- disabled: selectedShare.length === 0 && numSelectedShare === 0,
11278
- onClick: function onClick() {
11279
- return handleShareModel(selectedShare, dataId);
11280
- }
11281
- }, !isUpdate ? t("submit") : t("remove")), React__default.createElement(material.Button, {
11282
- sx: {
11283
- bgcolor: theme.palette.grey[700]
11284
- },
11285
- color: "secondary",
11286
- variant: "contained",
11287
- onClick: handleCloseShareDialog
11288
- }, t("cancel")))));
11289
- };
11290
-
11291
- var TEACHER_URL = BASE_URL + "/api/teacher";
11292
- var getTeacherListApi = function getTeacherListApi(query) {
11293
- return api.get("" + TEACHER_URL, {
11294
- params: query
11295
- });
11296
- };
11297
-
11298
- var useTextbookShare = function useTextbookShare(props) {
11299
- var getData = props.getData;
11300
- var _useList = useList(function (search) {
11301
- return getTeacherListApi(search);
11302
- }, DefaultTeacherQuery),
11303
- filterShare = _useList.filter,
11304
- textSearchShareRef = _useList.textSearchRef,
11305
- pagingShare = _useList.paging,
11306
- selectedTeacher = _useList.selectedItem,
11307
- teachers = _useList.data,
11308
- handleSortShare = _useList.handleSort,
11309
- handleChangeSearchTextShare = _useList.handleChangeSearchText,
11310
- handleChangePageShare = _useList.handleChangePage;
11311
- var _useState = React.useState([]),
11312
- selectedShare = _useState[0],
11313
- setSelectedShare = _useState[1];
11314
- var _useState2 = React.useState([]),
11315
- notShared = _useState2[0],
11316
- setNotShared = _useState2[1];
11317
- var _useState3 = React.useState([]),
11318
- shared = _useState3[0],
11319
- setShared = _useState3[1];
11320
- var _useState4 = React.useState(false),
11321
- isUpdate = _useState4[0],
11322
- setIsUpdate = _useState4[1];
11323
- var _useState5 = React.useState(),
11324
- currentModel = _useState5[0],
11325
- setCurrentModel = _useState5[1];
11326
- var isSelectedShare = function isSelectedShare(id) {
11327
- return selectedShare.indexOf(id) !== -1;
11328
- };
11329
- var _useState6 = React.useState(false),
11330
- openShareDialog = _useState6[0],
11331
- setOpenShareDialog = _useState6[1];
11332
- var _useTranslation = reactI18next.useTranslation(),
11333
- t = _useTranslation.t;
11334
- var dispatch = reactRedux.useDispatch();
11335
- var infoUser = reactRedux.useSelector(function (state) {
11336
- var _state$common;
11337
- return (state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user) || {};
11338
- });
11339
- React.useEffect(function () {
11340
- if (!isUpdate) {
11341
- filterTeacherNotShared(currentModel);
11342
- } else {
11343
- filterTeacherShared(currentModel);
11344
- }
11345
- }, [teachers, isUpdate]);
11346
- var handleOpenShareDialog = function handleOpenShareDialog(textbook) {
11347
- setIsUpdate(false);
11348
- setOpenShareDialog(true);
11349
- setCurrentModel(textbook);
11350
- filterTeacherNotShared(textbook);
11351
- };
11352
- var filterTeacherNotShared = function filterTeacherNotShared(textbook) {
11353
- var sharedTeacherTextbook = textbook === null || textbook === void 0 ? void 0 : textbook.sharedUsers;
11354
- var teacherNotShared = teachers.filter(function (teacher) {
11355
- return !(sharedTeacherTextbook !== null && sharedTeacherTextbook !== void 0 && sharedTeacherTextbook.includes(teacher.teacherEmail.trim().toUpperCase())) && teacher.teacherEmail.trim().toUpperCase() != (textbook === null || textbook === void 0 ? void 0 : textbook.createdBy.email.trim().toUpperCase());
11356
- });
11357
- setNotShared(teacherNotShared);
11358
- };
11359
- var filterTeacherShared = function filterTeacherShared(textbook) {
11360
- var sharedTeacherTextbook = textbook === null || textbook === void 0 ? void 0 : textbook.sharedUsers;
11361
- var teacherShared = teachers.filter(function (teacher) {
11362
- return (sharedTeacherTextbook === null || sharedTeacherTextbook === void 0 ? void 0 : sharedTeacherTextbook.includes(teacher.teacherEmail.trim().toUpperCase())) && teacher.teacherEmail.trim().toUpperCase() != (textbook === null || textbook === void 0 ? void 0 : textbook.createdBy.email.trim().toUpperCase());
11363
- });
11364
- setShared(teacherShared);
11365
- };
11366
- var handleCloseShareDialog = function handleCloseShareDialog() {
11367
- setOpenShareDialog(false);
11368
- setSelectedShare([]);
11369
- };
11370
- var handleOpenUpdateShareDialog = function handleOpenUpdateShareDialog(textbook) {
11371
- setIsUpdate(true);
11372
- setOpenShareDialog(true);
11373
- setCurrentModel(textbook);
11374
- filterTeacherShared(textbook);
11375
- };
11376
- var handleSelectAllClickShare = function handleSelectAllClickShare(event) {
11377
- var newSelected = isUpdate ? shared.map(function (n) {
11378
- return n.id;
11379
- }) : notShared.map(function (n) {
11380
- return n.id;
11381
- });
11382
- if (event.target.checked) {
11383
- setSelectedShare(function (prev) {
11384
- return _.uniq([].concat(prev, newSelected));
11385
- });
11386
- return;
11387
- }
11388
- setSelectedShare(_.difference(selectedShare, newSelected));
11389
- };
11390
- var isCheckAllShare = function isCheckAllShare(userLength) {
11391
- var newSelected = isUpdate ? shared.map(function (n) {
11392
- return n.id;
11393
- }) : notShared.map(function (n) {
11394
- return n.id;
11395
- });
11396
- var checkLength = _.intersection(selectedShare, newSelected).length;
11397
- return checkLength === userLength;
11398
- };
11399
- var handleClickCheckboxShare = function handleClickCheckboxShare(id) {
11400
- var selectedIndex = selectedShare.indexOf(id);
11401
- var newSelected = [];
11402
- if (selectedIndex === -1) {
11403
- newSelected = newSelected.concat(selectedShare, id);
11404
- } else if (selectedIndex === 0) {
11405
- newSelected = newSelected.concat(selectedShare.slice(1));
11406
- } else if (selectedIndex === selectedShare.length - 1) {
11407
- newSelected = newSelected.concat(selectedShare.slice(0, -1));
11408
- } else if (selectedIndex > 0) {
11409
- newSelected = newSelected.concat(selectedShare.slice(0, selectedIndex), selectedShare.slice(selectedIndex + 1));
11410
- }
11411
- setSelectedShare(newSelected);
11412
- };
11413
- var updateTeacherNotShared = function updateTeacherNotShared(teacherIds) {
11414
- var removeTeachers = notShared.filter(function (teacher) {
11415
- return !teacherIds.includes(teacher.id);
11416
- });
11417
- setNotShared(removeTeachers);
11418
- };
11419
- var updateTeacherShared = function updateTeacherShared(teacherIds) {
11420
- var existsTeachers = shared.filter(function (teacher) {
11421
- return !teacherIds.includes(teacher.id);
11422
- });
11423
- setShared(existsTeachers);
11424
- };
11425
- var handleDisableShare = function handleDisableShare(textbook) {
11426
- return !textbook.isShared || textbook.sharedUsers.map(function (item) {
11427
- return item.trim();
11428
- }).filter(function (item) {
11429
- return item !== "";
11430
- }).includes(infoUser.email || "");
11431
- };
11432
- var handleShareTextbook = function handleShareTextbook(teacherIds, textbookId) {
11433
- try {
11434
- var _temp2 = function _temp2() {
11435
- dispatch(setLoading(false));
11436
- setSelectedShare([]);
11437
- setOpenShareDialog(false);
11438
- };
11439
- dispatch(setLoading(true));
11440
- var _temp = _catch(function () {
11441
- return Promise.resolve(shareTextbookApi(textbookId, {
11442
- teacherIds: teacherIds
11443
- })).then(function () {
11444
- updateTeacherNotShared(teacherIds);
11445
- setSelectedShare([]);
11446
- return Promise.resolve(getData(false)).then(function () {
11447
- reactToastify.toast.success(t("notify_share_textbook.share_success"));
11448
- });
11449
- });
11450
- }, function (error) {
11451
- reactToastify.toast.error(getErrorMessage(t, error, t("notify_share_textbook.share_fail")));
11452
- });
11453
- return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
11454
- } catch (e) {
11455
- return Promise.reject(e);
11456
- }
11457
- };
11458
- var handleUpdateSharedTextbook = function handleUpdateSharedTextbook(teacherIds, textbookId) {
11459
- try {
11460
- var _temp4 = function _temp4() {
11461
- dispatch(setLoading(false));
11462
- setSelectedShare([]);
11463
- setOpenShareDialog(false);
11464
- };
11465
- dispatch(setLoading(true));
11466
- var _temp3 = _catch(function () {
11467
- return Promise.resolve(updateSharedTextbookApi(textbookId, {
11468
- teacherIds: teacherIds
11469
- })).then(function () {
11470
- updateTeacherShared(teacherIds);
11471
- setSelectedShare([]);
11472
- return Promise.resolve(getData(false)).then(function () {
11473
- reactToastify.toast.success(t("notify_share_textbook.update_success"));
11474
- });
11475
- });
11476
- }, function (error) {
11477
- reactToastify.toast.error(getErrorMessage(t, error, t("notify_share_textbook.update_fail")));
11478
- });
11479
- return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3));
11480
- } catch (e) {
11481
- return Promise.reject(e);
11482
- }
11483
- };
11484
- return {
11485
- filterShare: filterShare,
11486
- textSearchShareRef: textSearchShareRef,
11487
- pagingShare: pagingShare,
11488
- selectedShare: selectedShare,
11489
- handleSortShare: handleSortShare,
11490
- handleChangeSearchTextShare: handleChangeSearchTextShare,
11491
- handleChangePageShare: handleChangePageShare,
11492
- numSelectedShare: selectedShare.length,
11493
- handleShareTextbook: handleShareTextbook,
11494
- isSelectedShare: isSelectedShare,
11495
- handleOpenShareDialog: handleOpenShareDialog,
11496
- handleCloseShareDialog: handleCloseShareDialog,
11497
- openShareDialog: openShareDialog,
11498
- isCheckAllShare: isCheckAllShare,
11499
- handleClickCheckboxShare: handleClickCheckboxShare,
11500
- handleSelectAllClickShare: handleSelectAllClickShare,
11501
- notShared: notShared,
11502
- shared: shared,
11503
- selectedTeacher: selectedTeacher,
11504
- handleOpenUpdateShareDialog: handleOpenUpdateShareDialog,
11505
- isUpdate: isUpdate,
11506
- handleUpdateSharedTextbook: handleUpdateSharedTextbook,
11507
- handleDisableShare: handleDisableShare,
11508
- currentModel: currentModel
11509
- };
11510
- };
11511
-
11512
11090
  var TextbookList = function TextbookList(props) {
11513
11091
  var _useTranslation = reactI18next.useTranslation(),
11514
11092
  t = _useTranslation.t;
11515
- var isAdmin = reactRedux.useSelector(function (state) {
11516
- var _state$common, _state$common$user, _state$common$user$ro;
11517
- return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : (_state$common$user = _state$common.user) === null || _state$common$user === void 0 ? void 0 : (_state$common$user$ro = _state$common$user.roles) === null || _state$common$user$ro === void 0 ? void 0 : _state$common$user$ro.includes(exports.Role.Admin);
11518
- });
11519
11093
  var _useTextbookList = useTextbookList(props),
11520
11094
  filter = _useTextbookList.filter,
11521
11095
  textbooks = _useTextbookList.textbooks,
11522
11096
  paging = _useTextbookList.paging,
11523
- getData = _useTextbookList.getData,
11524
11097
  textSearchRef = _useTextbookList.textSearchRef,
11098
+ selectedTextbook = _useTextbookList.selectedTextbook,
11525
11099
  handleChangeSearchText = _useTextbookList.handleChangeSearchText,
11526
11100
  handleSort = _useTextbookList.handleSort,
11527
- selectedTextbook = _useTextbookList.selectedTextbook,
11528
11101
  handleChangePage = _useTextbookList.handleChangePage,
11529
11102
  calcOrderNumber = _useTextbookList.calcOrderNumber,
11530
11103
  handleViewTextbook = _useTextbookList.handleViewTextbook,
@@ -11533,33 +11106,6 @@ var TextbookList = function TextbookList(props) {
11533
11106
  toggleConfirmDialog = _useTextbookList.toggleConfirmDialog,
11534
11107
  handleDeleteTextbook = _useTextbookList.handleDeleteTextbook,
11535
11108
  handleSelectDeleteTextbook = _useTextbookList.handleSelectDeleteTextbook;
11536
- var _useTextbookShare = useTextbookShare(_extends({}, props, {
11537
- getData: getData
11538
- })),
11539
- filterShare = _useTextbookShare.filterShare,
11540
- textSearchShareRef = _useTextbookShare.textSearchShareRef,
11541
- pagingShare = _useTextbookShare.pagingShare,
11542
- selectedShare = _useTextbookShare.selectedShare,
11543
- handleSortShare = _useTextbookShare.handleSortShare,
11544
- handleChangeSearchTextShare = _useTextbookShare.handleChangeSearchTextShare,
11545
- handleChangePageShare = _useTextbookShare.handleChangePageShare,
11546
- numSelectedShare = _useTextbookShare.numSelectedShare,
11547
- handleShareTextbook = _useTextbookShare.handleShareTextbook,
11548
- isSelectedShare = _useTextbookShare.isSelectedShare,
11549
- handleOpenShareDialog = _useTextbookShare.handleOpenShareDialog,
11550
- handleCloseShareDialog = _useTextbookShare.handleCloseShareDialog,
11551
- openShareDialog = _useTextbookShare.openShareDialog,
11552
- isCheckAllShare = _useTextbookShare.isCheckAllShare,
11553
- handleClickCheckboxShare = _useTextbookShare.handleClickCheckboxShare,
11554
- handleSelectAllClickShare = _useTextbookShare.handleSelectAllClickShare,
11555
- notShared = _useTextbookShare.notShared,
11556
- shared = _useTextbookShare.shared,
11557
- selectedTeacher = _useTextbookShare.selectedTeacher,
11558
- handleOpenUpdateShareDialog = _useTextbookShare.handleOpenUpdateShareDialog,
11559
- isUpdate = _useTextbookShare.isUpdate,
11560
- handleUpdateSharedTextbook = _useTextbookShare.handleUpdateSharedTextbook,
11561
- handleDisableShare = _useTextbookShare.handleDisableShare,
11562
- currentModel = _useTextbookShare.currentModel;
11563
11109
  return React__default.createElement(LayoutList, {
11564
11110
  title: t(TEXTBOOK_PAGE_TITLE)
11565
11111
  }, React__default.createElement(material.Grid, {
@@ -11575,21 +11121,14 @@ var TextbookList = function TextbookList(props) {
11575
11121
  item: true,
11576
11122
  xs: 6
11577
11123
  }, React__default.createElement(material.Stack, {
11578
- alignItems: "end",
11579
- direction: "row",
11580
- sx: {
11581
- justifyContent: "flex-end"
11582
- },
11583
- spacing: 2
11124
+ alignItems: "end"
11584
11125
  }, React__default.createElement(material.Button, {
11585
11126
  startIcon: React__default.createElement(fa.FaPlus, {
11586
11127
  size: 12
11587
11128
  }),
11588
11129
  variant: "contained",
11589
11130
  color: "primary",
11590
- onClick: handleCreateTextbook,
11591
- disabled: isAdmin,
11592
- className: (!isAdmin ? "bg-success" : "bg-secondary") + " text-white"
11131
+ onClick: handleCreateTextbook
11593
11132
  }, t("create_textbook")))), React__default.createElement(material.Grid, {
11594
11133
  item: true,
11595
11134
  xs: 12,
@@ -11601,11 +11140,7 @@ var TextbookList = function TextbookList(props) {
11601
11140
  }), React__default.createElement(material.TableBody, null, textbooks.map(function (i, index) {
11602
11141
  return React__default.createElement(material.TableRow, {
11603
11142
  key: i.id
11604
- }, React__default.createElement(material.TableCell, null, calcOrderNumber(index)), React__default.createElement(material.TableCell, null, i.name), React__default.createElement(material.TableCell, null, i.subject.name), React__default.createElement(material.TableCell, null, utcToLocalTime(i.createdAt, t("date_format"))), React__default.createElement(material.TableCell, null, i.totalChapters), React__default.createElement(material.TableCell, null, i.sharedUsers.map(function (email, index) {
11605
- return index > 2 ? null : index === 2 ? React__default.createElement("div", null, "(+", i.sharedUsers.length - 2, ")") : React__default.createElement("div", {
11606
- key: index
11607
- }, email.toLowerCase());
11608
- })), React__default.createElement(material.TableCell, null, React__default.createElement(material.Stack, {
11143
+ }, React__default.createElement(material.TableCell, null, calcOrderNumber(index)), React__default.createElement(material.TableCell, null, i.name), React__default.createElement(material.TableCell, null, i.subject.name), React__default.createElement(material.TableCell, null, utcToLocalTime(i.createdAt, t("date_format"))), React__default.createElement(material.TableCell, null, i.totalChapters), React__default.createElement(material.TableCell, null, React__default.createElement(material.Stack, {
11609
11144
  direction: "row",
11610
11145
  spacing: 1,
11611
11146
  alignItems: "center"
@@ -11626,25 +11161,9 @@ var TextbookList = function TextbookList(props) {
11626
11161
  }
11627
11162
  }, React__default.createElement(fa.FaEye, {
11628
11163
  size: 12
11629
- })), React__default.createElement(material.IconButton, {
11630
- disabled: handleDisableShare(i) || isAdmin,
11631
- className: (handleDisableShare(i) || isAdmin ? "bg-secondary" : "bg-info") + " text-white me-1",
11632
- onClick: function onClick() {
11633
- return handleOpenShareDialog(i);
11634
- }
11635
- }, React__default.createElement(fa.FaShare, {
11636
- size: 12
11637
- })), React__default.createElement(material.IconButton, {
11638
- disabled: handleDisableShare(i) || isAdmin,
11639
- className: (handleDisableShare(i) || isAdmin ? "bg-secondary" : "bg-success") + " text-white me-1",
11640
- onClick: function onClick() {
11641
- return handleOpenUpdateShareDialog(i);
11642
- }
11643
- }, React__default.createElement(fa.FaExchangeAlt, {
11644
- size: 12
11645
11164
  })), React__default.createElement(material.IconButton, {
11646
11165
  color: "default",
11647
- className: (i.isCreatedByAdmin ? "bg-secondary" : "bg-danger") + " text-white mr-1",
11166
+ className: (i.isCreatedByAdmin ? "bg-secondary" : "bg-danger") + " text-white",
11648
11167
  onClick: function onClick() {
11649
11168
  return handleSelectDeleteTextbook(i);
11650
11169
  },
@@ -11665,26 +11184,6 @@ var TextbookList = function TextbookList(props) {
11665
11184
  onConfirm: handleDeleteTextbook,
11666
11185
  confirmText: selectedTextbook === null || selectedTextbook === void 0 ? void 0 : selectedTextbook.name,
11667
11186
  isDelete: true
11668
- }), !!currentModel && React__default.createElement(ShareToTeacherDialog, {
11669
- open: openShareDialog,
11670
- selectedShare: selectedShare,
11671
- textSearchShareRef: textSearchShareRef,
11672
- handleChangeSearchTextShare: handleChangeSearchTextShare,
11673
- numSelectedShare: numSelectedShare,
11674
- isCheckAllShare: isCheckAllShare,
11675
- handleSelectAllClickShare: handleSelectAllClickShare,
11676
- teachers: !isUpdate ? notShared : shared,
11677
- filterShare: filterShare,
11678
- pagingShare: pagingShare,
11679
- handleSortShare: handleSortShare,
11680
- handleChangePageShare: handleChangePageShare,
11681
- handleShareModel: !isUpdate ? handleShareTextbook : handleUpdateSharedTextbook,
11682
- isSelectedShare: isSelectedShare,
11683
- handleCloseShareDialog: handleCloseShareDialog,
11684
- handleClickCheckboxShare: handleClickCheckboxShare,
11685
- selectedTeacher: selectedTeacher,
11686
- dataId: currentModel.id,
11687
- isUpdate: isUpdate
11688
11187
  }));
11689
11188
  };
11690
11189
 
@@ -16946,7 +16445,6 @@ var singleLogo = function singleLogo(_ref) {
16946
16445
  };
16947
16446
 
16948
16447
  var Header = function Header(_ref) {
16949
- var _user$roles;
16950
16448
  var academyListRoute = _ref.academyListRoute,
16951
16449
  homeRoute = _ref.homeRoute,
16952
16450
  registerRoute = _ref.registerRoute,
@@ -16958,27 +16456,24 @@ var Header = function Header(_ref) {
16958
16456
  t = _useTranslation.t;
16959
16457
  var location = reactRouterDom.useLocation();
16960
16458
  var theme = material.useTheme();
16961
- var user = reactRedux.useSelector(function (state) {
16962
- var _state$common;
16963
- return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user;
16964
- });
16459
+ var param = window.location.pathname;
16965
16460
  var language = reactRedux.useSelector(function (state) {
16966
- var _state$common2;
16967
- return state === null || state === void 0 ? void 0 : (_state$common2 = state.common) === null || _state$common2 === void 0 ? void 0 : _state$common2.language;
16461
+ var _state$common;
16462
+ return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.language;
16968
16463
  });
16969
- var isTeacher = user === null || user === void 0 ? void 0 : (_user$roles = user.roles) === null || _user$roles === void 0 ? void 0 : _user$roles.includes(exports.Role.Teacher);
16464
+ var isTeacherSide = param.includes('teacher');
16970
16465
  var isLargerThanXL = material.useMediaQuery(theme.breakpoints.up("xl"));
16971
16466
  var academyDomain = reactRedux.useSelector(function (state) {
16972
- var _state$common3, _state$common3$user;
16973
- return state === null || state === void 0 ? void 0 : (_state$common3 = state.common) === null || _state$common3 === void 0 ? void 0 : (_state$common3$user = _state$common3.user) === null || _state$common3$user === void 0 ? void 0 : _state$common3$user.academyDomain;
16467
+ var _state$common2, _state$common2$user;
16468
+ return state === null || state === void 0 ? void 0 : (_state$common2 = state.common) === null || _state$common2 === void 0 ? void 0 : (_state$common2$user = _state$common2.user) === null || _state$common2$user === void 0 ? void 0 : _state$common2$user.academyDomain;
16974
16469
  });
16975
16470
  var logo = React.useMemo(function () {
16976
- if (isTeacher) {
16471
+ if (isTeacherSide) {
16977
16472
  return language === exports.Language.en ? React__default.createElement(teacherFullLogoEn, null) : React__default.createElement(teacherFullLogoKo, null);
16978
16473
  } else {
16979
16474
  return language === exports.Language.en ? React__default.createElement(studentFullLogoEn, null) : React__default.createElement(studentFullLogoKo, null);
16980
16475
  }
16981
- }, [isTeacher, language]);
16476
+ }, [isTeacherSide, language]);
16982
16477
  var pathname = location.pathname.toLowerCase();
16983
16478
  return React__default.createElement(material.Stack, {
16984
16479
  width: "100%",
@@ -18169,11 +17664,11 @@ var DayOfWeek;
18169
17664
  DayOfWeek[DayOfWeek["Friday"] = 5] = "Friday";
18170
17665
  DayOfWeek[DayOfWeek["Saturday"] = 6] = "Saturday";
18171
17666
  })(DayOfWeek || (DayOfWeek = {}));
18172
- var TeacherSortBy$1;
17667
+ var TeacherSortBy;
18173
17668
  (function (TeacherSortBy) {
18174
17669
  TeacherSortBy["Name"] = "UserProfile.FullName";
18175
17670
  TeacherSortBy["Email"] = "UserProfile.Email";
18176
- })(TeacherSortBy$1 || (TeacherSortBy$1 = {}));
17671
+ })(TeacherSortBy || (TeacherSortBy = {}));
18177
17672
  var ClassStatus;
18178
17673
  (function (ClassStatus) {
18179
17674
  ClassStatus["Default"] = "Default";
@@ -18277,7 +17772,7 @@ var DefaultTeacherFilter = {
18277
17772
  currentPage: 1,
18278
17773
  pageSize: 50,
18279
17774
  sortColumnDirection: OrderBy$2.DESC,
18280
- sortColumnName: TeacherSortBy$1.Name,
17775
+ sortColumnName: TeacherSortBy.Name,
18281
17776
  textSearch: ""
18282
17777
  };
18283
17778
  var DEFAULT_CLASS_REQUEST = {
@@ -19163,7 +18658,7 @@ var StudentList = function StudentList(_ref) {
19163
18658
  selectedStudent = _ref.selectedStudent,
19164
18659
  t = _ref.t,
19165
18660
  textSearchRef = _ref.textSearchRef,
19166
- isOneRoleExists = _ref.isOneRoleExists,
18661
+ disabled = _ref.disabled,
19167
18662
  handleOpenDeleteClassDialog = _ref.handleOpenDeleteClassDialog,
19168
18663
  handleCloseConfirmDialog = _ref.handleCloseConfirmDialog,
19169
18664
  handleSort = _ref.handleSort,
@@ -19223,7 +18718,7 @@ var StudentList = function StudentList(_ref) {
19223
18718
  },
19224
18719
  placeholder: t("search_for"),
19225
18720
  onChange: handleChangeSearchText
19226
- }))), isOneRoleExists && React__default.createElement(material.Grid, {
18721
+ }))), !disabled && React__default.createElement(material.Grid, {
19227
18722
  item: true,
19228
18723
  xs: 6,
19229
18724
  className: "d-flex align-items-center"
@@ -19259,11 +18754,11 @@ var StudentList = function StudentList(_ref) {
19259
18754
  className: "d-flex"
19260
18755
  }, React__default.createElement(material.IconButton, {
19261
18756
  color: "default",
19262
- className: (!isOneRoleExists ? "bg-secondary" : "bg-danger") + " text-white",
18757
+ className: (disabled ? "bg-secondary" : "bg-danger") + " text-white",
19263
18758
  onClick: function onClick() {
19264
18759
  return handleOpenDeleteClassDialog(i);
19265
18760
  },
19266
- disabled: !isOneRoleExists
18761
+ disabled: disabled
19267
18762
  }, React__default.createElement(fa6.FaTrashCan, {
19268
18763
  size: 12
19269
18764
  })))));
@@ -19925,9 +19420,9 @@ var useLessonClassList = function useLessonClassList(courseId) {
19925
19420
  };
19926
19421
  };
19927
19422
 
19928
- var TEACHER_URL$1 = BASE_URL + "/api/teacher";
19929
- var getTeacherListApi$1 = function getTeacherListApi(query) {
19930
- return api.get("" + TEACHER_URL$1, {
19423
+ var TEACHER_URL = BASE_URL + "/api/teacher";
19424
+ var getTeacherListApi = function getTeacherListApi(query) {
19425
+ return api.get("" + TEACHER_URL, {
19931
19426
  params: query
19932
19427
  });
19933
19428
  };
@@ -19948,7 +19443,7 @@ var useTeacherList = function useTeacherList() {
19948
19443
  var getListTeacher = function getListTeacher() {
19949
19444
  try {
19950
19445
  var _temp = _catch(function () {
19951
- return Promise.resolve(getTeacherListApi$1(teacherFilter)).then(function (res) {
19446
+ return Promise.resolve(getTeacherListApi(teacherFilter)).then(function (res) {
19952
19447
  var _res$data;
19953
19448
  setTeachers(((_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.items) || []);
19954
19449
  });
@@ -19988,6 +19483,7 @@ var useClassDetail = function useClassDetail(_ref) {
19988
19483
  var roles = (user === null || user === void 0 ? void 0 : user.roles) || [];
19989
19484
  var isOneRoleExists = roles.length === 1;
19990
19485
  var isAdmin = roles.includes(exports.Role.Admin) && role === exports.Role.Admin;
19486
+ var isTeacher = roles.includes(exports.Role.Teacher) && !roles.includes(exports.Role.Admin) && role === exports.Role.Teacher;
19991
19487
  var _useState = React.useState(),
19992
19488
  course = _useState[0],
19993
19489
  setCourse = _useState[1];
@@ -20410,6 +19906,7 @@ var useClassDetail = function useClassDetail(_ref) {
20410
19906
  isAdmin: isAdmin,
20411
19907
  paging: paging,
20412
19908
  filter: filter,
19909
+ isTeacher: isTeacher,
20413
19910
  listUserSelected: selected,
20414
19911
  isSelected: isSelected,
20415
19912
  textSearchRef: textSearchRef,
@@ -20792,6 +20289,7 @@ var ClassDetail = function ClassDetail(_ref) {
20792
20289
  schema = _useClassDetail.schema,
20793
20290
  paging = _useClassDetail.paging,
20794
20291
  isAdmin = _useClassDetail.isAdmin,
20292
+ isTeacher = _useClassDetail.isTeacher,
20795
20293
  filter = _useClassDetail.filter,
20796
20294
  listUserSelected = _useClassDetail.listUserSelected,
20797
20295
  userList = _useClassDetail.userList,
@@ -20808,7 +20306,6 @@ var ClassDetail = function ClassDetail(_ref) {
20808
20306
  course = _useClassDetail.course,
20809
20307
  classRequest = _useClassDetail.classRequest,
20810
20308
  teacherOptions = _useClassDetail.teacherOptions,
20811
- isOneRoleExists = _useClassDetail.isOneRoleExists,
20812
20309
  studentListProps = _useClassDetail.studentListProps,
20813
20310
  teacherListProps = _useClassDetail.teacherListProps,
20814
20311
  lessonListProps = _useClassDetail.lessonListProps,
@@ -20896,7 +20393,7 @@ var ClassDetail = function ClassDetail(_ref) {
20896
20393
  value: selected,
20897
20394
  index: TabList$2[1].value
20898
20395
  }, !!id && !Number.isNaN(+id) && selected === TabList$2[1].value && React__default.createElement(StudentList, Object.assign({
20899
- isOneRoleExists: isOneRoleExists,
20396
+ disabled: !isTeacher && !isAdmin,
20900
20397
  onAdd: handleOpenSelectDialog
20901
20398
  }, studentListProps))), React__default.createElement(CustomTabPanel, {
20902
20399
  value: selected,
@@ -23230,7 +22727,6 @@ exports.RecentUserAction = RecentUserAction;
23230
22727
  exports.ReleaseAlert = ReleaseAlert;
23231
22728
  exports.SUPER_ADMIN_BASE_URL = SUPER_ADMIN_BASE_URL;
23232
22729
  exports.ScoreSelector = ScoreSelector;
23233
- exports.ShareToTeacherDialog = ShareToTeacherDialog;
23234
22730
  exports.SubjectSelector = SubjectSelector;
23235
22731
  exports.Textbook = index$2;
23236
22732
  exports.TextbookDetail = TextbookViewDetail;
@@ -23270,13 +22766,11 @@ exports.useChatContainer = useChatContainer;
23270
22766
  exports.useCountDownTimer = useCountDownTimer;
23271
22767
  exports.useGoogleSignOut = useGoogleSignOut;
23272
22768
  exports.useLanguage = useLanguage;
23273
- exports.useList = useList;
23274
22769
  exports.useLoadMore = useLoadMore;
23275
22770
  exports.useLogin = useLogin;
23276
22771
  exports.usePusherConversation = usePusherConversation;
23277
22772
  exports.useSubjectSelect = useSubjectSelect;
23278
22773
  exports.useSwitchAcademy = useSwitchAcademy;
23279
- exports.useTextbookShare = useTextbookShare;
23280
22774
  exports.useVirtualizeList = useVirtualizeList;
23281
22775
  exports.utcToLocalTime = utcToLocalTime;
23282
22776
  //# sourceMappingURL=index.js.map