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/components/Buttons/ActionButtons.d.ts +1 -0
- package/dist/containers/Classes/hooks/useClassDetail.d.ts +1 -1
- package/dist/containers/Classes/hooks/useLessonClassList.d.ts +1 -1
- package/dist/containers/Textbooks/apiClient/textbookService.d.ts +3 -1
- package/dist/containers/Textbooks/components/TextbookShareDialog.d.ts +26 -0
- package/dist/containers/Textbooks/configs/constants.d.ts +12 -1
- package/dist/containers/Textbooks/configs/types.d.ts +26 -0
- package/dist/containers/Textbooks/hooks/useTextbookList.d.ts +1 -0
- package/dist/containers/Textbooks/hooks/useTextbookShare.d.ts +5 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.js +542 -33
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +542 -36
- package/dist/index.modern.js.map +1 -1
- package/dist/utils/constants.d.ts +2 -1
- package/package.json +1 -1
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 (
|
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:
|
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:
|
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
|
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
|
-
|
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,
|
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
|
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:
|
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
|
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:
|
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
|