touchstudy-core 0.1.97 → 0.1.99

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,6 +116,7 @@ var encodeParams = function encodeParams(params) {
116
116
  Role["Teacher"] = "Teacher";
117
117
  Role["Admin"] = "Admin";
118
118
  Role["AcademyAdmin"] = "AcademyAdmin";
119
+ Role["AcademyAdminTeacher"] = "AcademyAdminTeacher";
119
120
  })(exports.Role || (exports.Role = {}));
120
121
  (function (Language) {
121
122
  Language["ko"] = "ko";
@@ -251,6 +252,14 @@ var getAccessToken = (function () {
251
252
  }
252
253
  });
253
254
 
255
+ var getLanguage = (function () {
256
+ try {
257
+ return localStorage.getItem(LANGUAGE);
258
+ } catch (err) {
259
+ return null;
260
+ }
261
+ });
262
+
254
263
  var api = axios.create({
255
264
  baseURL: BASE_URL,
256
265
  timeout: 0,
@@ -275,13 +284,15 @@ var apiUpload = axios.create({
275
284
  var paramDomain = searchParams.get('domain');
276
285
  var paramLang = searchParams.get('lang');
277
286
  var academyDomainStorage = getAcademyDomain();
287
+ var langStorage = getLanguage();
278
288
  var academyDomain = paramDomain || academyDomainStorage;
289
+ var language = paramLang || langStorage;
279
290
  if (token) {
280
291
  config.headers.Authorization = "Bearer " + token;
281
292
  localStorage.setItem("LAST_TIME_REQUEST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
282
293
  }
283
294
  if (academyDomain && !config.headers[AcademyHeaders]) config.headers[AcademyHeaders] = "" + academyDomain;
284
- if (paramLang) config.headers[LanguageHeaders] = "" + paramLang;
295
+ if (language) config.headers[LanguageHeaders] = "" + language;
285
296
  return config;
286
297
  }, function (error) {
287
298
  return Promise.reject(error);
@@ -1188,14 +1199,6 @@ var LANGUAGES = [{
1188
1199
  var DEFAULT_LANGUAGE = LANGUAGES[0];
1189
1200
  var LOGIN_URL = "/login";
1190
1201
 
1191
- var getLanguage = (function () {
1192
- try {
1193
- return localStorage.getItem(LANGUAGE);
1194
- } catch (err) {
1195
- return null;
1196
- }
1197
- });
1198
-
1199
1202
  var useLanguage = function useLanguage(history) {
1200
1203
  var dispatch = reactRedux.useDispatch();
1201
1204
  var _useTranslation = reactI18next.useTranslation(),
@@ -2188,6 +2191,7 @@ var are_you_sure_you_want_to_delete_the_article = "정말로 기사를 삭제하
2188
2191
  var yes = "예";
2189
2192
  var no = "아니요";
2190
2193
  var cancel = "취소";
2194
+ var remove = "제거하다";
2191
2195
  var confirmation = "확인";
2192
2196
  var student_name = "학생 이름";
2193
2197
  var full_pool_time = "전체풀이시간";
@@ -2797,6 +2801,7 @@ var my_classes = "내 수업";
2797
2801
  var choose = "선택하다";
2798
2802
  var additional_duration = "진행중인 시험 시간 추가하기";
2799
2803
  var enter_textbook_name_to_search = "검색할 교재명을 입력하세요";
2804
+ var enter_teacher_name_to_search = "선생님 이름을 입력하여 검색하세요";
2800
2805
  var select_class_placeholder = "수업을 선택하세요...";
2801
2806
  var user_name = "유저 이름";
2802
2807
  var vulnerable_detail = "다른 학생들의 정답률은 높은데, 나는 정답을 맞추지 못한 문제들입니다.";
@@ -2913,6 +2918,8 @@ var view_records = "기록열람";
2913
2918
  var delete_action = "삭제";
2914
2919
  var edit_action = "수정";
2915
2920
  var view_action = "열람";
2921
+ var update_shared_action = "업데이트 권한";
2922
+ var share_action = "공유하다";
2916
2923
  var de_select = "선택 해제";
2917
2924
  var select_output = "선택 출력";
2918
2925
  var print_pdf = "PDF 인쇄";
@@ -2946,6 +2953,15 @@ var manage_users = "사용자 관리";
2946
2953
  var manage_classes = "수업 관리";
2947
2954
  var manage_notifications = "알림 관리";
2948
2955
  var late = "늦은";
2956
+ var authority = "권한";
2957
+ var share_textbook = "교과서 공유하기";
2958
+ var notify_share_textbook = {
2959
+ share_success: "교과서를 성공적으로 공유했습니다!",
2960
+ share_fail: "교과서도 없고 선생님도 없어요!",
2961
+ update_success: "공유 교과서가 성공적으로 업데이트되었습니다!",
2962
+ update_fail: "업데이트 실패!"
2963
+ };
2964
+ var academyadminteacher = "아카데미 관리자/선생님";
2949
2965
  var total_student = "총 학생 수";
2950
2966
  var total_teacher = "총 교사 수";
2951
2967
  var total_exam = "총 시험 수";
@@ -3003,6 +3019,7 @@ var lang_ko = {
3003
3019
  yes: yes,
3004
3020
  no: no,
3005
3021
  cancel: cancel,
3022
+ remove: remove,
3006
3023
  confirmation: confirmation,
3007
3024
  student_name: student_name,
3008
3025
  full_pool_time: full_pool_time,
@@ -3604,6 +3621,7 @@ var lang_ko = {
3604
3621
  choose: choose,
3605
3622
  additional_duration: additional_duration,
3606
3623
  enter_textbook_name_to_search: enter_textbook_name_to_search,
3624
+ enter_teacher_name_to_search: enter_teacher_name_to_search,
3607
3625
  "type_at_least_{number}_characters_to_search": "검색하려면 최소 {{ number }}자를 입력하세요",
3608
3626
  select_class_placeholder: select_class_placeholder,
3609
3627
  user_name: user_name,
@@ -3719,6 +3737,8 @@ var lang_ko = {
3719
3737
  delete_action: delete_action,
3720
3738
  edit_action: edit_action,
3721
3739
  view_action: view_action,
3740
+ update_shared_action: update_shared_action,
3741
+ share_action: share_action,
3722
3742
  de_select: de_select,
3723
3743
  select_output: select_output,
3724
3744
  print_pdf: print_pdf,
@@ -3752,6 +3772,10 @@ var lang_ko = {
3752
3772
  manage_classes: manage_classes,
3753
3773
  manage_notifications: manage_notifications,
3754
3774
  late: late,
3775
+ authority: authority,
3776
+ share_textbook: share_textbook,
3777
+ notify_share_textbook: notify_share_textbook,
3778
+ academyadminteacher: academyadminteacher,
3755
3779
  total_student: total_student,
3756
3780
  total_teacher: total_teacher,
3757
3781
  total_exam: total_exam,
@@ -3808,6 +3832,7 @@ var are_you_sure_you_want_to_delete_the_article$1 = "Are you sure you want to de
3808
3832
  var yes$1 = "Yes";
3809
3833
  var no$1 = "No";
3810
3834
  var cancel$1 = "Cancel";
3835
+ var remove$1 = "Remove";
3811
3836
  var confirmation$1 = "Confirmation";
3812
3837
  var student_name$1 = "Student name";
3813
3838
  var full_pool_time$1 = "Full pool time";
@@ -4070,6 +4095,7 @@ var parent_name$1 = "Parent name";
4070
4095
  var users$1 = "Users";
4071
4096
  var new_user$1 = "New user";
4072
4097
  var academy_admin$1 = "Academy Admin";
4098
+ var academy_admin_teacher = "Academy Admin / Teacher";
4073
4099
  var super_admin$1 = "Super Admin";
4074
4100
  var switch_academy_admin$1 = "Switch Academy Admin";
4075
4101
  var switch_academy$1 = "Switch Academy";
@@ -4418,6 +4444,7 @@ var my_classes$1 = "My Classes";
4418
4444
  var choose$1 = "Choose";
4419
4445
  var additional_duration$1 = "Additional duration";
4420
4446
  var enter_textbook_name_to_search$1 = "Enter textbook name to search";
4447
+ var enter_teacher_name_to_search$1 = "Enter teacher name to search";
4421
4448
  var select_class_placeholder$1 = "Select class...";
4422
4449
  var user_name$1 = "User Name";
4423
4450
  var vulnerable_detail$1 = "Other students had a high percentage of correct answers, but I could not answer these questions correctly.";
@@ -4534,6 +4561,8 @@ var view_records$1 = "View records";
4534
4561
  var delete_action$1 = "Delete";
4535
4562
  var edit_action$1 = "Edit";
4536
4563
  var view_action$1 = "View";
4564
+ var share_action$1 = "Share";
4565
+ var update_shared_action$1 = "Update Authority";
4537
4566
  var de_select$1 = "Deselect";
4538
4567
  var select_output$1 = "Select";
4539
4568
  var print_pdf$1 = "Print PDF";
@@ -4567,6 +4596,15 @@ var manage_users$1 = "Manage users";
4567
4596
  var manage_classes$1 = "Manage classes";
4568
4597
  var manage_notifications$1 = "Manage notifications";
4569
4598
  var late$1 = "Late";
4599
+ var authority$1 = "Authority";
4600
+ var share_textbook$1 = "Share textbook";
4601
+ var notify_share_textbook$1 = {
4602
+ share_success: "Share textbook successfully!",
4603
+ share_fail: "Textbook or teacher not exists!",
4604
+ update_success: "Update shared textbook successfully!",
4605
+ update_fail: "Update fail!"
4606
+ };
4607
+ var academyadminteacher$1 = "AcademyAdmin / Teacher";
4570
4608
  var total_student$1 = "Total Student";
4571
4609
  var total_teacher$1 = "Total Teacher";
4572
4610
  var total_exam$1 = "Total Exam";
@@ -4624,6 +4662,7 @@ var lang_en = {
4624
4662
  yes: yes$1,
4625
4663
  no: no$1,
4626
4664
  cancel: cancel$1,
4665
+ remove: remove$1,
4627
4666
  confirmation: confirmation$1,
4628
4667
  student_name: student_name$1,
4629
4668
  full_pool_time: full_pool_time$1,
@@ -4883,6 +4922,7 @@ var lang_en = {
4883
4922
  users: users$1,
4884
4923
  new_user: new_user$1,
4885
4924
  academy_admin: academy_admin$1,
4925
+ academy_admin_teacher: academy_admin_teacher,
4886
4926
  super_admin: super_admin$1,
4887
4927
  switch_academy_admin: switch_academy_admin$1,
4888
4928
  switch_academy: switch_academy$1,
@@ -5226,6 +5266,7 @@ var lang_en = {
5226
5266
  choose: choose$1,
5227
5267
  additional_duration: additional_duration$1,
5228
5268
  enter_textbook_name_to_search: enter_textbook_name_to_search$1,
5269
+ enter_teacher_name_to_search: enter_teacher_name_to_search$1,
5229
5270
  "type_at_least_{number}_characters_to_search": "Type at least {{ number }} characters to search",
5230
5271
  select_class_placeholder: select_class_placeholder$1,
5231
5272
  user_name: user_name$1,
@@ -5341,6 +5382,8 @@ var lang_en = {
5341
5382
  delete_action: delete_action$1,
5342
5383
  edit_action: edit_action$1,
5343
5384
  view_action: view_action$1,
5385
+ share_action: share_action$1,
5386
+ update_shared_action: update_shared_action$1,
5344
5387
  de_select: de_select$1,
5345
5388
  select_output: select_output$1,
5346
5389
  print_pdf: print_pdf$1,
@@ -5374,6 +5417,10 @@ var lang_en = {
5374
5417
  manage_classes: manage_classes$1,
5375
5418
  manage_notifications: manage_notifications$1,
5376
5419
  late: late$1,
5420
+ authority: authority$1,
5421
+ share_textbook: share_textbook$1,
5422
+ notify_share_textbook: notify_share_textbook$1,
5423
+ academyadminteacher: academyadminteacher$1,
5377
5424
  total_student: total_student$1,
5378
5425
  total_teacher: total_teacher$1,
5379
5426
  total_exam: total_exam$1,
@@ -6953,11 +7000,13 @@ var formatRole = function formatRole(roles, t) {
6953
7000
  if (roles.includes(exports.Role.AcademyAdmin)) return t("academy_admin");
6954
7001
  if (roles.includes(exports.Role.Teacher)) return t("teacher");
6955
7002
  if (roles.includes(exports.Role.Student)) return t("student");
7003
+ if (roles.includes(exports.Role.AcademyAdminTeacher)) return t("academy_admin_teacher");
6956
7004
  return "";
6957
7005
  };
6958
7006
  var getRole = function getRole(roles) {
6959
7007
  if (roles.includes(exports.Role.Admin)) return exports.Role.Admin;
6960
7008
  if (roles.includes(exports.Role.AcademyAdmin)) return exports.Role.AcademyAdmin;
7009
+ if (roles.includes(exports.Role.AcademyAdminTeacher)) return exports.Role.AcademyAdminTeacher;
6961
7010
  if (roles.includes(exports.Role.Teacher)) return exports.Role.Teacher;
6962
7011
  if (roles.includes(exports.Role.Student)) return exports.Role.Student;
6963
7012
  return null;
@@ -8566,6 +8615,12 @@ var updateTextbookApi = function updateTextbookApi(textbookId, data) {
8566
8615
  var deleteTextbookApi = function deleteTextbookApi(textbookId) {
8567
8616
  return api["delete"](TEXTBOOK_URL + "/" + textbookId);
8568
8617
  };
8618
+ var shareTextbookApi = function shareTextbookApi(textbookId, data) {
8619
+ return api.post(TEXTBOOK_URL + "/" + textbookId + "/shared-textbook", data);
8620
+ };
8621
+ var updateSharedTextbookApi = function updateSharedTextbookApi(textbookId, data) {
8622
+ return api.put(TEXTBOOK_URL + "/" + textbookId + "/shared-textbook", data);
8623
+ };
8569
8624
 
8570
8625
  var ExamStatus$1;
8571
8626
  (function (ExamStatus) {
@@ -8619,6 +8674,13 @@ var TextbookSortBy;
8619
8674
  TextbookSortBy["Title"] = "Name";
8620
8675
  TextbookSortBy["SubjectName"] = "Subject.Name";
8621
8676
  })(TextbookSortBy || (TextbookSortBy = {}));
8677
+ var TeacherSortBy;
8678
+ (function (TeacherSortBy) {
8679
+ TeacherSortBy["CreatedAt"] = "CreatedAt";
8680
+ TeacherSortBy["Name"] = "UserProfile.FullName";
8681
+ TeacherSortBy["Email"] = "Email";
8682
+ TeacherSortBy["PhoneNumber"] = "UserProfile.PhoneNumber";
8683
+ })(TeacherSortBy || (TeacherSortBy = {}));
8622
8684
  var ExamType;
8623
8685
  (function (ExamType) {
8624
8686
  ExamType["Normal"] = "Normal";
@@ -8632,6 +8694,12 @@ var ExamStatus$2;
8632
8694
  ExamStatus["Completed"] = "Completed";
8633
8695
  })(ExamStatus$2 || (ExamStatus$2 = {}));
8634
8696
 
8697
+ var DefaultTeacherQuery = {
8698
+ currentPage: 1,
8699
+ pageSize: 50,
8700
+ sortColumnDirection: OrderType.DESC,
8701
+ sortColumnName: TeacherSortBy.Name
8702
+ };
8635
8703
  var TEXTBOOK_HEADERS = [{
8636
8704
  title: "#"
8637
8705
  }, {
@@ -8646,7 +8714,26 @@ var TEXTBOOK_HEADERS = [{
8646
8714
  }, {
8647
8715
  title: "total_chapters"
8648
8716
  }, {
8649
- title: ["edit_action", "view_action", "delete_action"]
8717
+ title: "authority"
8718
+ }, {
8719
+ title: ["edit_action", "view_action", "share_action", "update_shared_action", "delete_action"]
8720
+ }];
8721
+ var TEACHER_ACADEMY_HEADERS = [{
8722
+ title: ""
8723
+ }, {
8724
+ title: "#"
8725
+ }, {
8726
+ title: "full_name",
8727
+ sortKey: TeacherSortBy.Name
8728
+ }, {
8729
+ title: "email",
8730
+ sortKey: TeacherSortBy.Email
8731
+ }, {
8732
+ title: "phone_number",
8733
+ sortKey: TeacherSortBy.PhoneNumber
8734
+ }, {
8735
+ title: "created_at",
8736
+ sortKey: TeacherSortBy.CreatedAt
8650
8737
  }];
8651
8738
  var DEFAULT_ANSWER_COUNT = 5;
8652
8739
  var DEFAULT_EXAM_REQUEST = {
@@ -8663,6 +8750,7 @@ var DEFAULT_EXAM_REQUEST = {
8663
8750
  };
8664
8751
  var TEXTBOOK_PAGE_TITLE = "textbooks";
8665
8752
  var TEXT_BOOK_SEARCH_PLACEHOLDER = "enter_textbook_name_to_search";
8753
+ var TEACHER_SEARCH_PLACEHOLDER = "enter_teacher_name_to_search";
8666
8754
  var TextbookDefaultQuery = {
8667
8755
  pageSize: 12,
8668
8756
  currentPage: 1,
@@ -9658,7 +9746,8 @@ var ActionButtons = function ActionButtons(_ref) {
9658
9746
  hideSave = _ref$hideSave === void 0 ? false : _ref$hideSave,
9659
9747
  onBack = _ref.onBack,
9660
9748
  onSave = _ref.onSave,
9661
- onAltSave = _ref.onAltSave;
9749
+ onAltSave = _ref.onAltSave,
9750
+ isReadonly = _ref.isReadonly;
9662
9751
  return React__default.createElement(material.Stack, {
9663
9752
  direction: "row",
9664
9753
  spacing: 1,
@@ -9677,7 +9766,7 @@ var ActionButtons = function ActionButtons(_ref) {
9677
9766
  size: 16
9678
9767
  }),
9679
9768
  onClick: onSave,
9680
- disabled: saveDisabled
9769
+ disabled: saveDisabled || isReadonly
9681
9770
  }, saveText), !!altSaveText && onAltSave && React__default.createElement(material.Button, {
9682
9771
  variant: "contained",
9683
9772
  color: "primary",
@@ -9705,6 +9794,7 @@ var TextbookActionButtons = function TextbookActionButtons(_ref) {
9705
9794
  size: 14
9706
9795
  }) : undefined,
9707
9796
  saveText: t(!(textbook !== null && textbook !== void 0 && textbook.id) ? "create_and_continue" : isReadonly ? "update" : "update_textbook_title"),
9797
+ isReadonly: isReadonly,
9708
9798
  hideSave: hideSave,
9709
9799
  onSave: onSave
9710
9800
  });
@@ -10620,7 +10710,7 @@ var TextbookViewDetail = function TextbookViewDetail(props) {
10620
10710
  textbook: textbook,
10621
10711
  onBack: handleGoToTextbookList,
10622
10712
  onSave: handleCreateOrUpdateTextbook,
10623
- hideSave: !isEditedTitle && !!id && !isReadonly || textbook.isCreatedByAdmin
10713
+ hideSave: !isEditedTitle && !!id && !isReadonly || textbook.isCreatedByAdmin || !!id && isReadonly
10624
10714
  }))), React__default.createElement(material.Grid, {
10625
10715
  item: true,
10626
10716
  xs: 12,
@@ -10631,7 +10721,7 @@ var TextbookViewDetail = function TextbookViewDetail(props) {
10631
10721
  onClick: function onClick() {
10632
10722
  return handleOpenCreateExamDialog();
10633
10723
  },
10634
- disabled: isReadonly || !articlesSelected.length,
10724
+ disabled: !articlesSelected.length,
10635
10725
  startIcon: React__default.createElement(fa.FaPlus, {
10636
10726
  size: 12
10637
10727
  })
@@ -10929,9 +11019,7 @@ var useTextbookList = function useTextbookList(props) {
10929
11019
  });
10930
11020
  };
10931
11021
  var handleCreateTextbook = function handleCreateTextbook() {
10932
- navigate(textbookUrl + "/create", {
10933
- replace: true
10934
- });
11022
+ pushTo(navigate, textbookUrl + "/create");
10935
11023
  };
10936
11024
  var toggleConfirmDialog = function toggleConfirmDialog() {
10937
11025
  handleChangeSelectedItem(undefined);
@@ -10966,6 +11054,7 @@ var useTextbookList = function useTextbookList(props) {
10966
11054
  return {
10967
11055
  filter: filter,
10968
11056
  textSearchRef: textSearchRef,
11057
+ getData: getData,
10969
11058
  paging: paging,
10970
11059
  textbooks: textbooks,
10971
11060
  selectedTextbook: selectedTextbook,
@@ -11087,6 +11176,347 @@ var SearchInput = function SearchInput(_ref) {
11087
11176
  }));
11088
11177
  };
11089
11178
 
11179
+ var ShareToTeacherDialog = function ShareToTeacherDialog(_ref) {
11180
+ var open = _ref.open,
11181
+ selectedShare = _ref.selectedShare,
11182
+ textSearchShareRef = _ref.textSearchShareRef,
11183
+ handleChangeSearchTextShare = _ref.handleChangeSearchTextShare,
11184
+ numSelectedShare = _ref.numSelectedShare,
11185
+ isCheckAllShare = _ref.isCheckAllShare,
11186
+ handleSelectAllClickShare = _ref.handleSelectAllClickShare,
11187
+ teachers = _ref.teachers,
11188
+ handleSortShare = _ref.handleSortShare,
11189
+ filterShare = _ref.filterShare,
11190
+ pagingShare = _ref.pagingShare,
11191
+ handleChangePageShare = _ref.handleChangePageShare,
11192
+ handleShareModel = _ref.handleShareModel,
11193
+ isSelectedShare = _ref.isSelectedShare,
11194
+ handleCloseShareDialog = _ref.handleCloseShareDialog,
11195
+ handleClickCheckboxShare = _ref.handleClickCheckboxShare,
11196
+ selectedTeacher = _ref.selectedTeacher,
11197
+ dataId = _ref.dataId,
11198
+ isUpdate = _ref.isUpdate;
11199
+ var _useTranslation = reactI18next.useTranslation(),
11200
+ t = _useTranslation.t;
11201
+ var theme = material.useTheme();
11202
+ return React__default.createElement(material.Dialog, {
11203
+ open: open,
11204
+ maxWidth: "md"
11205
+ }, React__default.createElement(material.DialogContent, {
11206
+ sx: {
11207
+ overflowY: "unset"
11208
+ }
11209
+ }, React__default.createElement(material.Grid, {
11210
+ container: true,
11211
+ spacing: 3,
11212
+ sx: {
11213
+ position: "relative",
11214
+ zIndex: 999999
11215
+ }
11216
+ }, selectedShare && React__default.createElement(material.Grid, {
11217
+ item: true,
11218
+ xs: 6,
11219
+ className: "d-flex mb-3"
11220
+ }, React__default.createElement(SearchInput, {
11221
+ placeholder: t(TEACHER_SEARCH_PLACEHOLDER),
11222
+ textSearchRef: textSearchShareRef,
11223
+ onChange: handleChangeSearchTextShare
11224
+ })), React__default.createElement(material.Grid, {
11225
+ item: true,
11226
+ xs: 12
11227
+ }, React__default.createElement(material.TableContainer, {
11228
+ sx: {
11229
+ maxHeight: "50vh"
11230
+ }
11231
+ }, React__default.createElement(material.Table, {
11232
+ stickyHeader: true
11233
+ }, React__default.createElement(material.TableHead, null, React__default.createElement(material.TableRow, null, selectedShare && React__default.createElement(material.TableCell, {
11234
+ padding: "checkbox"
11235
+ }, React__default.createElement(material.Checkbox, {
11236
+ color: "primary",
11237
+ checked: numSelectedShare > 0 && isCheckAllShare(teachers.length),
11238
+ onChange: handleSelectAllClickShare
11239
+ })), TEACHER_ACADEMY_HEADERS.map(function (i, index) {
11240
+ return selectedShare && index === 0 ? null : React__default.createElement(material.TableCell, {
11241
+ key: index,
11242
+ onClick: !!i.sortKey ? function () {
11243
+ return handleSortShare(i.sortKey);
11244
+ } : undefined,
11245
+ className: "" + (!!i.sortKey && "pointer")
11246
+ }, React__default.createElement("div", {
11247
+ className: "d-flex justify-content-between align-items-center text-nowrap"
11248
+ }, t(i.title), !!i.sortKey && selectedShare && React__default.createElement(SortIcon, {
11249
+ isAscending: filterShare.sortColumnName !== i.sortKey ? undefined : filterShare.sortColumnDirection === OrderType.ASC
11250
+ })));
11251
+ }))), 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) {
11252
+ var isItemSelected = isSelectedShare(i.id);
11253
+ return React__default.createElement(material.TableRow, {
11254
+ key: i.id
11255
+ }, React__default.createElement(material.TableCell, {
11256
+ padding: "checkbox"
11257
+ }, React__default.createElement(material.Checkbox, {
11258
+ onClick: function onClick() {
11259
+ return handleClickCheckboxShare(i.id);
11260
+ },
11261
+ color: "primary",
11262
+ checked: isItemSelected
11263
+ })), 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"))));
11264
+ }), !selectedShare && !teachers.length && React__default.createElement(material.TableRow, null, React__default.createElement(material.TableCell, {
11265
+ colSpan: 12,
11266
+ className: "text-center text-muted"
11267
+ }, t("no_data")))))), React__default.createElement("div", {
11268
+ className: "d-flex justify-content-end mt-4"
11269
+ }, !!pagingShare.totalPages && !selectedShare && React__default.createElement(material.Pagination, {
11270
+ count: pagingShare.totalPages,
11271
+ page: pagingShare.page,
11272
+ onChange: handleChangePageShare
11273
+ }))))), React__default.createElement(material.DialogActions, null, React__default.createElement(material.Stack, {
11274
+ direction: "row",
11275
+ spacing: 2,
11276
+ p: 2,
11277
+ pt: 0,
11278
+ justifyContent: "end"
11279
+ }, React__default.createElement(material.Button, {
11280
+ color: "primary",
11281
+ variant: "contained",
11282
+ type: "submit",
11283
+ disabled: selectedShare.length === 0 && numSelectedShare === 0,
11284
+ onClick: function onClick() {
11285
+ return handleShareModel(selectedShare, dataId);
11286
+ }
11287
+ }, !isUpdate ? t("submit") : t("remove")), React__default.createElement(material.Button, {
11288
+ sx: {
11289
+ bgcolor: theme.palette.grey[700]
11290
+ },
11291
+ color: "secondary",
11292
+ variant: "contained",
11293
+ onClick: handleCloseShareDialog
11294
+ }, t("cancel")))));
11295
+ };
11296
+
11297
+ var TEACHER_URL = BASE_URL + "/api/teacher";
11298
+ var getTeacherListApi = function getTeacherListApi(query) {
11299
+ return api.get("" + TEACHER_URL, {
11300
+ params: query
11301
+ });
11302
+ };
11303
+
11304
+ var useTextbookShare = function useTextbookShare(props) {
11305
+ var _infoUser$roles;
11306
+ var getData = props.getData,
11307
+ role = props.role;
11308
+ var _useList = useList(function (search) {
11309
+ return getTeacherListApi(search);
11310
+ }, DefaultTeacherQuery),
11311
+ filterShare = _useList.filter,
11312
+ textSearchShareRef = _useList.textSearchRef,
11313
+ pagingShare = _useList.paging,
11314
+ selectedTeacher = _useList.selectedItem,
11315
+ teachers = _useList.data,
11316
+ handleSortShare = _useList.handleSort,
11317
+ handleChangeSearchTextShare = _useList.handleChangeSearchText,
11318
+ handleChangePageShare = _useList.handleChangePage;
11319
+ var _useState = React.useState([]),
11320
+ selectedShare = _useState[0],
11321
+ setSelectedShare = _useState[1];
11322
+ var _useState2 = React.useState([]),
11323
+ notShared = _useState2[0],
11324
+ setNotShared = _useState2[1];
11325
+ var _useState3 = React.useState([]),
11326
+ shared = _useState3[0],
11327
+ setShared = _useState3[1];
11328
+ var _useState4 = React.useState(false),
11329
+ isUpdate = _useState4[0],
11330
+ setIsUpdate = _useState4[1];
11331
+ var _useState5 = React.useState(),
11332
+ currentModel = _useState5[0],
11333
+ setCurrentModel = _useState5[1];
11334
+ var isSelectedShare = function isSelectedShare(id) {
11335
+ return selectedShare.indexOf(id) !== -1;
11336
+ };
11337
+ var _useState6 = React.useState(false),
11338
+ openShareDialog = _useState6[0],
11339
+ setOpenShareDialog = _useState6[1];
11340
+ var _useTranslation = reactI18next.useTranslation(),
11341
+ t = _useTranslation.t;
11342
+ var dispatch = reactRedux.useDispatch();
11343
+ var infoUser = reactRedux.useSelector(function (state) {
11344
+ var _state$common;
11345
+ return (state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user) || {};
11346
+ });
11347
+ var isAdmin = infoUser === null || infoUser === void 0 ? void 0 : (_infoUser$roles = infoUser.roles) === null || _infoUser$roles === void 0 ? void 0 : _infoUser$roles.includes(exports.Role.Admin);
11348
+ var isAdminSite = role === exports.Role.Admin;
11349
+ React.useEffect(function () {
11350
+ if (!isUpdate) {
11351
+ filterTeacherNotShared(currentModel);
11352
+ } else {
11353
+ filterTeacherShared(currentModel);
11354
+ }
11355
+ }, [teachers, isUpdate]);
11356
+ var handleOpenShareDialog = function handleOpenShareDialog(textbook) {
11357
+ setIsUpdate(false);
11358
+ setOpenShareDialog(true);
11359
+ setCurrentModel(textbook);
11360
+ filterTeacherNotShared(textbook);
11361
+ };
11362
+ var filterTeacherNotShared = function filterTeacherNotShared(textbook) {
11363
+ var sharedTeacherTextbook = textbook === null || textbook === void 0 ? void 0 : textbook.sharedUsers;
11364
+ var teacherNotShared = teachers.filter(function (teacher) {
11365
+ 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());
11366
+ });
11367
+ setNotShared(teacherNotShared);
11368
+ };
11369
+ var filterTeacherShared = function filterTeacherShared(textbook) {
11370
+ var sharedTeacherTextbook = textbook === null || textbook === void 0 ? void 0 : textbook.sharedUsers;
11371
+ var teacherShared = teachers.filter(function (teacher) {
11372
+ 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());
11373
+ });
11374
+ setShared(teacherShared);
11375
+ };
11376
+ var handleCloseShareDialog = function handleCloseShareDialog() {
11377
+ setOpenShareDialog(false);
11378
+ setSelectedShare([]);
11379
+ };
11380
+ var handleOpenUpdateShareDialog = function handleOpenUpdateShareDialog(textbook) {
11381
+ setIsUpdate(true);
11382
+ setOpenShareDialog(true);
11383
+ setCurrentModel(textbook);
11384
+ filterTeacherShared(textbook);
11385
+ };
11386
+ var handleSelectAllClickShare = function handleSelectAllClickShare(event) {
11387
+ var newSelected = isUpdate ? shared.map(function (n) {
11388
+ return n.id;
11389
+ }) : notShared.map(function (n) {
11390
+ return n.id;
11391
+ });
11392
+ if (event.target.checked) {
11393
+ setSelectedShare(function (prev) {
11394
+ return _.uniq([].concat(prev, newSelected));
11395
+ });
11396
+ return;
11397
+ }
11398
+ setSelectedShare(_.difference(selectedShare, newSelected));
11399
+ };
11400
+ var isCheckAllShare = function isCheckAllShare(userLength) {
11401
+ var newSelected = isUpdate ? shared.map(function (n) {
11402
+ return n.id;
11403
+ }) : notShared.map(function (n) {
11404
+ return n.id;
11405
+ });
11406
+ var checkLength = _.intersection(selectedShare, newSelected).length;
11407
+ return checkLength === userLength;
11408
+ };
11409
+ var handleClickCheckboxShare = function handleClickCheckboxShare(id) {
11410
+ var selectedIndex = selectedShare.indexOf(id);
11411
+ var newSelected = [];
11412
+ if (selectedIndex === -1) {
11413
+ newSelected = newSelected.concat(selectedShare, id);
11414
+ } else if (selectedIndex === 0) {
11415
+ newSelected = newSelected.concat(selectedShare.slice(1));
11416
+ } else if (selectedIndex === selectedShare.length - 1) {
11417
+ newSelected = newSelected.concat(selectedShare.slice(0, -1));
11418
+ } else if (selectedIndex > 0) {
11419
+ newSelected = newSelected.concat(selectedShare.slice(0, selectedIndex), selectedShare.slice(selectedIndex + 1));
11420
+ }
11421
+ setSelectedShare(newSelected);
11422
+ };
11423
+ var updateTeacherNotShared = function updateTeacherNotShared(teacherIds) {
11424
+ var removeTeachers = notShared.filter(function (teacher) {
11425
+ return !teacherIds.includes(teacher.id);
11426
+ });
11427
+ setNotShared(removeTeachers);
11428
+ };
11429
+ var updateTeacherShared = function updateTeacherShared(teacherIds) {
11430
+ var existsTeachers = shared.filter(function (teacher) {
11431
+ return !teacherIds.includes(teacher.id);
11432
+ });
11433
+ setShared(existsTeachers);
11434
+ };
11435
+ var handleDisable = function handleDisable(textbook) {
11436
+ return isAdmin && !isAdminSite || !isAdmin && (!textbook.isShared || textbook.createdBy.id != infoUser.id);
11437
+ };
11438
+ var handleShareTextbook = function handleShareTextbook(teacherIds, textbookId) {
11439
+ try {
11440
+ var _temp2 = function _temp2() {
11441
+ dispatch(setLoading(false));
11442
+ setSelectedShare([]);
11443
+ setOpenShareDialog(false);
11444
+ };
11445
+ dispatch(setLoading(true));
11446
+ var _temp = _catch(function () {
11447
+ return Promise.resolve(shareTextbookApi(textbookId, {
11448
+ teacherIds: teacherIds
11449
+ })).then(function () {
11450
+ updateTeacherNotShared(teacherIds);
11451
+ setSelectedShare([]);
11452
+ return Promise.resolve(getData(false)).then(function () {
11453
+ reactToastify.toast.success(t("notify_share_textbook.share_success"));
11454
+ });
11455
+ });
11456
+ }, function (error) {
11457
+ reactToastify.toast.error(getErrorMessage(t, error, t("notify_share_textbook.share_fail")));
11458
+ });
11459
+ return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
11460
+ } catch (e) {
11461
+ return Promise.reject(e);
11462
+ }
11463
+ };
11464
+ var handleUpdateSharedTextbook = function handleUpdateSharedTextbook(teacherIds, textbookId) {
11465
+ try {
11466
+ var _temp4 = function _temp4() {
11467
+ dispatch(setLoading(false));
11468
+ setSelectedShare([]);
11469
+ setOpenShareDialog(false);
11470
+ };
11471
+ dispatch(setLoading(true));
11472
+ var _temp3 = _catch(function () {
11473
+ return Promise.resolve(updateSharedTextbookApi(textbookId, {
11474
+ teacherIds: teacherIds
11475
+ })).then(function () {
11476
+ updateTeacherShared(teacherIds);
11477
+ setSelectedShare([]);
11478
+ return Promise.resolve(getData(false)).then(function () {
11479
+ reactToastify.toast.success(t("notify_share_textbook.update_success"));
11480
+ });
11481
+ });
11482
+ }, function (error) {
11483
+ reactToastify.toast.error(getErrorMessage(t, error, t("notify_share_textbook.update_fail")));
11484
+ });
11485
+ return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3));
11486
+ } catch (e) {
11487
+ return Promise.reject(e);
11488
+ }
11489
+ };
11490
+ return {
11491
+ filterShare: filterShare,
11492
+ textSearchShareRef: textSearchShareRef,
11493
+ pagingShare: pagingShare,
11494
+ selectedShare: selectedShare,
11495
+ handleSortShare: handleSortShare,
11496
+ handleChangeSearchTextShare: handleChangeSearchTextShare,
11497
+ handleChangePageShare: handleChangePageShare,
11498
+ numSelectedShare: selectedShare.length,
11499
+ handleShareTextbook: handleShareTextbook,
11500
+ isSelectedShare: isSelectedShare,
11501
+ handleOpenShareDialog: handleOpenShareDialog,
11502
+ handleCloseShareDialog: handleCloseShareDialog,
11503
+ openShareDialog: openShareDialog,
11504
+ isCheckAllShare: isCheckAllShare,
11505
+ handleClickCheckboxShare: handleClickCheckboxShare,
11506
+ handleSelectAllClickShare: handleSelectAllClickShare,
11507
+ notShared: notShared,
11508
+ shared: shared,
11509
+ selectedTeacher: selectedTeacher,
11510
+ handleOpenUpdateShareDialog: handleOpenUpdateShareDialog,
11511
+ isUpdate: isUpdate,
11512
+ handleUpdateSharedTextbook: handleUpdateSharedTextbook,
11513
+ currentModel: currentModel,
11514
+ handleDisable: handleDisable,
11515
+ isAdmin: isAdmin,
11516
+ isAdminSite: isAdminSite
11517
+ };
11518
+ };
11519
+
11090
11520
  var TextbookList = function TextbookList(props) {
11091
11521
  var _useTranslation = reactI18next.useTranslation(),
11092
11522
  t = _useTranslation.t;
@@ -11094,10 +11524,11 @@ var TextbookList = function TextbookList(props) {
11094
11524
  filter = _useTextbookList.filter,
11095
11525
  textbooks = _useTextbookList.textbooks,
11096
11526
  paging = _useTextbookList.paging,
11527
+ getData = _useTextbookList.getData,
11097
11528
  textSearchRef = _useTextbookList.textSearchRef,
11098
- selectedTextbook = _useTextbookList.selectedTextbook,
11099
11529
  handleChangeSearchText = _useTextbookList.handleChangeSearchText,
11100
11530
  handleSort = _useTextbookList.handleSort,
11531
+ selectedTextbook = _useTextbookList.selectedTextbook,
11101
11532
  handleChangePage = _useTextbookList.handleChangePage,
11102
11533
  calcOrderNumber = _useTextbookList.calcOrderNumber,
11103
11534
  handleViewTextbook = _useTextbookList.handleViewTextbook,
@@ -11106,6 +11537,35 @@ var TextbookList = function TextbookList(props) {
11106
11537
  toggleConfirmDialog = _useTextbookList.toggleConfirmDialog,
11107
11538
  handleDeleteTextbook = _useTextbookList.handleDeleteTextbook,
11108
11539
  handleSelectDeleteTextbook = _useTextbookList.handleSelectDeleteTextbook;
11540
+ var _useTextbookShare = useTextbookShare(_extends({}, props, {
11541
+ getData: getData
11542
+ })),
11543
+ filterShare = _useTextbookShare.filterShare,
11544
+ textSearchShareRef = _useTextbookShare.textSearchShareRef,
11545
+ pagingShare = _useTextbookShare.pagingShare,
11546
+ selectedShare = _useTextbookShare.selectedShare,
11547
+ handleSortShare = _useTextbookShare.handleSortShare,
11548
+ handleChangeSearchTextShare = _useTextbookShare.handleChangeSearchTextShare,
11549
+ handleChangePageShare = _useTextbookShare.handleChangePageShare,
11550
+ numSelectedShare = _useTextbookShare.numSelectedShare,
11551
+ handleShareTextbook = _useTextbookShare.handleShareTextbook,
11552
+ isSelectedShare = _useTextbookShare.isSelectedShare,
11553
+ handleOpenShareDialog = _useTextbookShare.handleOpenShareDialog,
11554
+ handleCloseShareDialog = _useTextbookShare.handleCloseShareDialog,
11555
+ openShareDialog = _useTextbookShare.openShareDialog,
11556
+ isCheckAllShare = _useTextbookShare.isCheckAllShare,
11557
+ handleClickCheckboxShare = _useTextbookShare.handleClickCheckboxShare,
11558
+ handleSelectAllClickShare = _useTextbookShare.handleSelectAllClickShare,
11559
+ notShared = _useTextbookShare.notShared,
11560
+ shared = _useTextbookShare.shared,
11561
+ selectedTeacher = _useTextbookShare.selectedTeacher,
11562
+ handleOpenUpdateShareDialog = _useTextbookShare.handleOpenUpdateShareDialog,
11563
+ isUpdate = _useTextbookShare.isUpdate,
11564
+ handleUpdateSharedTextbook = _useTextbookShare.handleUpdateSharedTextbook,
11565
+ currentModel = _useTextbookShare.currentModel,
11566
+ handleDisable = _useTextbookShare.handleDisable,
11567
+ isAdmin = _useTextbookShare.isAdmin,
11568
+ isAdminSite = _useTextbookShare.isAdminSite;
11109
11569
  return React__default.createElement(LayoutList, {
11110
11570
  title: t(TEXTBOOK_PAGE_TITLE)
11111
11571
  }, React__default.createElement(material.Grid, {
@@ -11121,14 +11581,20 @@ var TextbookList = function TextbookList(props) {
11121
11581
  item: true,
11122
11582
  xs: 6
11123
11583
  }, React__default.createElement(material.Stack, {
11124
- alignItems: "end"
11125
- }, React__default.createElement(material.Button, {
11584
+ alignItems: "end",
11585
+ direction: "row",
11586
+ sx: {
11587
+ justifyContent: "flex-end"
11588
+ },
11589
+ spacing: 2
11590
+ }, (!isAdmin || isAdminSite) && React__default.createElement(material.Button, {
11126
11591
  startIcon: React__default.createElement(fa.FaPlus, {
11127
11592
  size: 12
11128
11593
  }),
11129
11594
  variant: "contained",
11130
11595
  color: "primary",
11131
- onClick: handleCreateTextbook
11596
+ onClick: handleCreateTextbook,
11597
+ className: (isAdmin && !isAdminSite ? "bg-secondary" : "bg-success") + " text-white"
11132
11598
  }, t("create_textbook")))), React__default.createElement(material.Grid, {
11133
11599
  item: true,
11134
11600
  xs: 12,
@@ -11140,17 +11606,21 @@ var TextbookList = function TextbookList(props) {
11140
11606
  }), React__default.createElement(material.TableBody, null, textbooks.map(function (i, index) {
11141
11607
  return React__default.createElement(material.TableRow, {
11142
11608
  key: i.id
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
+ }, 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) {
11610
+ return index > 2 ? null : index === 2 ? React__default.createElement("div", null, "(+", i.sharedUsers.length - 2, ")") : React__default.createElement("div", {
11611
+ key: index
11612
+ }, email.toLowerCase());
11613
+ })), React__default.createElement(material.TableCell, null, React__default.createElement(material.Stack, {
11144
11614
  direction: "row",
11145
11615
  spacing: 1,
11146
11616
  alignItems: "center"
11147
11617
  }, React__default.createElement(material.IconButton, {
11148
11618
  color: "default",
11149
- className: (i.isCreatedByAdmin ? "bg-secondary" : "bg-warning") + " text-white",
11619
+ className: (handleDisable(i) ? "bg-secondary" : "bg-warning") + " text-white",
11150
11620
  onClick: function onClick() {
11151
11621
  return handleUpdateTextbook(i.id);
11152
11622
  },
11153
- disabled: !!i.isCreatedByAdmin
11623
+ disabled: handleDisable(i)
11154
11624
  }, React__default.createElement(fa6.FaPencil, {
11155
11625
  size: 12
11156
11626
  })), React__default.createElement(material.IconButton, {
@@ -11161,13 +11631,29 @@ var TextbookList = function TextbookList(props) {
11161
11631
  }
11162
11632
  }, React__default.createElement(fa.FaEye, {
11163
11633
  size: 12
11634
+ })), React__default.createElement(material.IconButton, {
11635
+ disabled: handleDisable(i) || isAdmin,
11636
+ className: (handleDisable(i) || isAdmin ? "bg-secondary" : "bg-info") + " text-white me-1",
11637
+ onClick: function onClick() {
11638
+ return handleOpenShareDialog(i);
11639
+ }
11640
+ }, React__default.createElement(fa.FaShare, {
11641
+ size: 12
11642
+ })), React__default.createElement(material.IconButton, {
11643
+ disabled: handleDisable(i) || isAdmin,
11644
+ className: (handleDisable(i) || isAdmin ? "bg-secondary" : "bg-success") + " text-white me-1",
11645
+ onClick: function onClick() {
11646
+ return handleOpenUpdateShareDialog(i);
11647
+ }
11648
+ }, React__default.createElement(fa.FaExchangeAlt, {
11649
+ size: 12
11164
11650
  })), React__default.createElement(material.IconButton, {
11165
11651
  color: "default",
11166
- className: (i.isCreatedByAdmin ? "bg-secondary" : "bg-danger") + " text-white",
11652
+ className: (handleDisable(i) ? "bg-secondary" : "bg-danger") + " text-white mr-1",
11167
11653
  onClick: function onClick() {
11168
11654
  return handleSelectDeleteTextbook(i);
11169
11655
  },
11170
- disabled: !!i.isCreatedByAdmin
11656
+ disabled: handleDisable(i)
11171
11657
  }, React__default.createElement(fa.FaTrash, {
11172
11658
  size: 12
11173
11659
  })))));
@@ -11184,6 +11670,26 @@ var TextbookList = function TextbookList(props) {
11184
11670
  onConfirm: handleDeleteTextbook,
11185
11671
  confirmText: selectedTextbook === null || selectedTextbook === void 0 ? void 0 : selectedTextbook.name,
11186
11672
  isDelete: true
11673
+ }), !!currentModel && React__default.createElement(ShareToTeacherDialog, {
11674
+ open: openShareDialog,
11675
+ selectedShare: selectedShare,
11676
+ textSearchShareRef: textSearchShareRef,
11677
+ handleChangeSearchTextShare: handleChangeSearchTextShare,
11678
+ numSelectedShare: numSelectedShare,
11679
+ isCheckAllShare: isCheckAllShare,
11680
+ handleSelectAllClickShare: handleSelectAllClickShare,
11681
+ teachers: !isUpdate ? notShared : shared,
11682
+ filterShare: filterShare,
11683
+ pagingShare: pagingShare,
11684
+ handleSortShare: handleSortShare,
11685
+ handleChangePageShare: handleChangePageShare,
11686
+ handleShareModel: !isUpdate ? handleShareTextbook : handleUpdateSharedTextbook,
11687
+ isSelectedShare: isSelectedShare,
11688
+ handleCloseShareDialog: handleCloseShareDialog,
11689
+ handleClickCheckboxShare: handleClickCheckboxShare,
11690
+ selectedTeacher: selectedTeacher,
11691
+ dataId: currentModel.id,
11692
+ isUpdate: isUpdate
11187
11693
  }));
11188
11694
  };
11189
11695
 
@@ -17664,11 +18170,11 @@ var DayOfWeek;
17664
18170
  DayOfWeek[DayOfWeek["Friday"] = 5] = "Friday";
17665
18171
  DayOfWeek[DayOfWeek["Saturday"] = 6] = "Saturday";
17666
18172
  })(DayOfWeek || (DayOfWeek = {}));
17667
- var TeacherSortBy;
18173
+ var TeacherSortBy$1;
17668
18174
  (function (TeacherSortBy) {
17669
18175
  TeacherSortBy["Name"] = "UserProfile.FullName";
17670
18176
  TeacherSortBy["Email"] = "UserProfile.Email";
17671
- })(TeacherSortBy || (TeacherSortBy = {}));
18177
+ })(TeacherSortBy$1 || (TeacherSortBy$1 = {}));
17672
18178
  var ClassStatus;
17673
18179
  (function (ClassStatus) {
17674
18180
  ClassStatus["Default"] = "Default";
@@ -17772,7 +18278,7 @@ var DefaultTeacherFilter = {
17772
18278
  currentPage: 1,
17773
18279
  pageSize: 50,
17774
18280
  sortColumnDirection: OrderBy$2.DESC,
17775
- sortColumnName: TeacherSortBy.Name,
18281
+ sortColumnName: TeacherSortBy$1.Name,
17776
18282
  textSearch: ""
17777
18283
  };
17778
18284
  var DEFAULT_CLASS_REQUEST = {
@@ -19420,9 +19926,9 @@ var useLessonClassList = function useLessonClassList(courseId) {
19420
19926
  };
19421
19927
  };
19422
19928
 
19423
- var TEACHER_URL = BASE_URL + "/api/teacher";
19424
- var getTeacherListApi = function getTeacherListApi(query) {
19425
- return api.get("" + TEACHER_URL, {
19929
+ var TEACHER_URL$1 = BASE_URL + "/api/teacher";
19930
+ var getTeacherListApi$1 = function getTeacherListApi(query) {
19931
+ return api.get("" + TEACHER_URL$1, {
19426
19932
  params: query
19427
19933
  });
19428
19934
  };
@@ -19443,7 +19949,7 @@ var useTeacherList = function useTeacherList() {
19443
19949
  var getListTeacher = function getListTeacher() {
19444
19950
  try {
19445
19951
  var _temp = _catch(function () {
19446
- return Promise.resolve(getTeacherListApi(teacherFilter)).then(function (res) {
19952
+ return Promise.resolve(getTeacherListApi$1(teacherFilter)).then(function (res) {
19447
19953
  var _res$data;
19448
19954
  setTeachers(((_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.items) || []);
19449
19955
  });
@@ -22727,6 +23233,7 @@ exports.RecentUserAction = RecentUserAction;
22727
23233
  exports.ReleaseAlert = ReleaseAlert;
22728
23234
  exports.SUPER_ADMIN_BASE_URL = SUPER_ADMIN_BASE_URL;
22729
23235
  exports.ScoreSelector = ScoreSelector;
23236
+ exports.ShareToTeacherDialog = ShareToTeacherDialog;
22730
23237
  exports.SubjectSelector = SubjectSelector;
22731
23238
  exports.Textbook = index$2;
22732
23239
  exports.TextbookDetail = TextbookViewDetail;
@@ -22766,11 +23273,13 @@ exports.useChatContainer = useChatContainer;
22766
23273
  exports.useCountDownTimer = useCountDownTimer;
22767
23274
  exports.useGoogleSignOut = useGoogleSignOut;
22768
23275
  exports.useLanguage = useLanguage;
23276
+ exports.useList = useList;
22769
23277
  exports.useLoadMore = useLoadMore;
22770
23278
  exports.useLogin = useLogin;
22771
23279
  exports.usePusherConversation = usePusherConversation;
22772
23280
  exports.useSubjectSelect = useSubjectSelect;
22773
23281
  exports.useSwitchAcademy = useSwitchAcademy;
23282
+ exports.useTextbookShare = useTextbookShare;
22774
23283
  exports.useVirtualizeList = useVirtualizeList;
22775
23284
  exports.utcToLocalTime = utcToLocalTime;
22776
23285
  //# sourceMappingURL=index.js.map