touchstudy-core 0.1.97 → 0.1.98
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 +531 -24
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +531 -27
- package/dist/index.modern.js.map +1 -1
- package/dist/utils/constants.d.ts +2 -1
- package/package.json +1 -1
package/dist/index.modern.js
CHANGED
@@ -9,7 +9,7 @@ import { useDispatch, useSelector } from 'react-redux';
|
|
9
9
|
import axios from 'axios';
|
10
10
|
import { useTranslation, initReactI18next } from 'react-i18next';
|
11
11
|
export { I18nextProvider, useTranslation } from 'react-i18next';
|
12
|
-
import { Paper, Card, Stack, Box, Typography, TextField, Button, Grid, Dialog, DialogTitle, IconButton, DialogContent, DialogActions, Pagination, styled, useTheme, useMediaQuery, MenuList, Tooltip, tooltipClasses, ClickAwayListener, CircularProgress, FormControl, RadioGroup, FormControlLabel, Radio, FormGroup, FormLabel, Checkbox, InputLabel, Container, Table, TableBody, TableRow, TableCell, TableHead, InputBase, List, ListItem,
|
12
|
+
import { Paper, Card, Stack, Box, Typography, TextField, Button, Grid, Dialog, DialogTitle, IconButton, DialogContent, DialogActions, Pagination, styled, useTheme, useMediaQuery, MenuList, Tooltip, tooltipClasses, ClickAwayListener, CircularProgress, FormControl, RadioGroup, FormControlLabel, Radio, FormGroup, FormLabel, Checkbox, InputLabel, Container, Table, TableBody, TableRow, TableCell, TableHead, InputBase, TableContainer, List, ListItem, Chip } from '@mui/material';
|
13
13
|
import { blue } from '@mui/material/colors';
|
14
14
|
import { GoogleReCaptcha, GoogleReCaptchaProvider } from 'react-google-recaptcha-v3';
|
15
15
|
import { gapi } from 'gapi-script';
|
@@ -26,7 +26,7 @@ import MenuItem from '@mui/material/MenuItem';
|
|
26
26
|
import IconButton$1 from '@mui/material/IconButton';
|
27
27
|
import { GoArrowSwitch } from 'react-icons/go';
|
28
28
|
import Select, { components } from 'react-select';
|
29
|
-
import { FaCaretDown, FaTrash, FaPlus, FaSave, FaPencilAlt, FaPlusCircle, FaTimes, FaSortUp, FaSortDown, FaEye, FaUpload } from 'react-icons/fa';
|
29
|
+
import { FaCaretDown, FaTrash, FaPlus, FaSave, FaPencilAlt, FaPlusCircle, FaTimes, FaSortUp, FaSortDown, FaEye, FaShare, FaExchangeAlt, FaUpload } from 'react-icons/fa';
|
30
30
|
import { PiDotsNineLight } from 'react-icons/pi';
|
31
31
|
import { IoMdArrowBack } from 'react-icons/io';
|
32
32
|
import _ from 'lodash';
|
@@ -114,6 +114,7 @@ var Role;
|
|
114
114
|
Role["Teacher"] = "Teacher";
|
115
115
|
Role["Admin"] = "Admin";
|
116
116
|
Role["AcademyAdmin"] = "AcademyAdmin";
|
117
|
+
Role["AcademyAdminTeacher"] = "AcademyAdminTeacher";
|
117
118
|
})(Role || (Role = {}));
|
118
119
|
var Language;
|
119
120
|
(function (Language) {
|
@@ -2189,6 +2190,7 @@ var are_you_sure_you_want_to_delete_the_article = "정말로 기사를 삭제하
|
|
2189
2190
|
var yes = "예";
|
2190
2191
|
var no = "아니요";
|
2191
2192
|
var cancel = "취소";
|
2193
|
+
var remove = "제거하다";
|
2192
2194
|
var confirmation = "확인";
|
2193
2195
|
var student_name = "학생 이름";
|
2194
2196
|
var full_pool_time = "전체풀이시간";
|
@@ -2798,6 +2800,7 @@ var my_classes = "내 수업";
|
|
2798
2800
|
var choose = "선택하다";
|
2799
2801
|
var additional_duration = "진행중인 시험 시간 추가하기";
|
2800
2802
|
var enter_textbook_name_to_search = "검색할 교재명을 입력하세요";
|
2803
|
+
var enter_teacher_name_to_search = "선생님 이름을 입력하여 검색하세요";
|
2801
2804
|
var select_class_placeholder = "수업을 선택하세요...";
|
2802
2805
|
var user_name = "유저 이름";
|
2803
2806
|
var vulnerable_detail = "다른 학생들의 정답률은 높은데, 나는 정답을 맞추지 못한 문제들입니다.";
|
@@ -2914,6 +2917,8 @@ var view_records = "기록열람";
|
|
2914
2917
|
var delete_action = "삭제";
|
2915
2918
|
var edit_action = "수정";
|
2916
2919
|
var view_action = "열람";
|
2920
|
+
var update_shared_action = "업데이트 권한";
|
2921
|
+
var share_action = "공유하다";
|
2917
2922
|
var de_select = "선택 해제";
|
2918
2923
|
var select_output = "선택 출력";
|
2919
2924
|
var print_pdf = "PDF 인쇄";
|
@@ -2947,6 +2952,15 @@ var manage_users = "사용자 관리";
|
|
2947
2952
|
var manage_classes = "수업 관리";
|
2948
2953
|
var manage_notifications = "알림 관리";
|
2949
2954
|
var late = "늦은";
|
2955
|
+
var authority = "권한";
|
2956
|
+
var share_textbook = "교과서 공유하기";
|
2957
|
+
var notify_share_textbook = {
|
2958
|
+
share_success: "교과서를 성공적으로 공유했습니다!",
|
2959
|
+
share_fail: "교과서도 없고 선생님도 없어요!",
|
2960
|
+
update_success: "공유 교과서가 성공적으로 업데이트되었습니다!",
|
2961
|
+
update_fail: "업데이트 실패!"
|
2962
|
+
};
|
2963
|
+
var academyadminteacher = "아카데미 관리자/선생님";
|
2950
2964
|
var total_student = "총 학생 수";
|
2951
2965
|
var total_teacher = "총 교사 수";
|
2952
2966
|
var total_exam = "총 시험 수";
|
@@ -3004,6 +3018,7 @@ var lang_ko = {
|
|
3004
3018
|
yes: yes,
|
3005
3019
|
no: no,
|
3006
3020
|
cancel: cancel,
|
3021
|
+
remove: remove,
|
3007
3022
|
confirmation: confirmation,
|
3008
3023
|
student_name: student_name,
|
3009
3024
|
full_pool_time: full_pool_time,
|
@@ -3605,6 +3620,7 @@ var lang_ko = {
|
|
3605
3620
|
choose: choose,
|
3606
3621
|
additional_duration: additional_duration,
|
3607
3622
|
enter_textbook_name_to_search: enter_textbook_name_to_search,
|
3623
|
+
enter_teacher_name_to_search: enter_teacher_name_to_search,
|
3608
3624
|
"type_at_least_{number}_characters_to_search": "검색하려면 최소 {{ number }}자를 입력하세요",
|
3609
3625
|
select_class_placeholder: select_class_placeholder,
|
3610
3626
|
user_name: user_name,
|
@@ -3720,6 +3736,8 @@ var lang_ko = {
|
|
3720
3736
|
delete_action: delete_action,
|
3721
3737
|
edit_action: edit_action,
|
3722
3738
|
view_action: view_action,
|
3739
|
+
update_shared_action: update_shared_action,
|
3740
|
+
share_action: share_action,
|
3723
3741
|
de_select: de_select,
|
3724
3742
|
select_output: select_output,
|
3725
3743
|
print_pdf: print_pdf,
|
@@ -3753,6 +3771,10 @@ var lang_ko = {
|
|
3753
3771
|
manage_classes: manage_classes,
|
3754
3772
|
manage_notifications: manage_notifications,
|
3755
3773
|
late: late,
|
3774
|
+
authority: authority,
|
3775
|
+
share_textbook: share_textbook,
|
3776
|
+
notify_share_textbook: notify_share_textbook,
|
3777
|
+
academyadminteacher: academyadminteacher,
|
3756
3778
|
total_student: total_student,
|
3757
3779
|
total_teacher: total_teacher,
|
3758
3780
|
total_exam: total_exam,
|
@@ -3809,6 +3831,7 @@ var are_you_sure_you_want_to_delete_the_article$1 = "Are you sure you want to de
|
|
3809
3831
|
var yes$1 = "Yes";
|
3810
3832
|
var no$1 = "No";
|
3811
3833
|
var cancel$1 = "Cancel";
|
3834
|
+
var remove$1 = "Remove";
|
3812
3835
|
var confirmation$1 = "Confirmation";
|
3813
3836
|
var student_name$1 = "Student name";
|
3814
3837
|
var full_pool_time$1 = "Full pool time";
|
@@ -4071,6 +4094,7 @@ var parent_name$1 = "Parent name";
|
|
4071
4094
|
var users$1 = "Users";
|
4072
4095
|
var new_user$1 = "New user";
|
4073
4096
|
var academy_admin$1 = "Academy Admin";
|
4097
|
+
var academy_admin_teacher = "Academy Admin / Teacher";
|
4074
4098
|
var super_admin$1 = "Super Admin";
|
4075
4099
|
var switch_academy_admin$1 = "Switch Academy Admin";
|
4076
4100
|
var switch_academy$1 = "Switch Academy";
|
@@ -4419,6 +4443,7 @@ var my_classes$1 = "My Classes";
|
|
4419
4443
|
var choose$1 = "Choose";
|
4420
4444
|
var additional_duration$1 = "Additional duration";
|
4421
4445
|
var enter_textbook_name_to_search$1 = "Enter textbook name to search";
|
4446
|
+
var enter_teacher_name_to_search$1 = "Enter teacher name to search";
|
4422
4447
|
var select_class_placeholder$1 = "Select class...";
|
4423
4448
|
var user_name$1 = "User Name";
|
4424
4449
|
var vulnerable_detail$1 = "Other students had a high percentage of correct answers, but I could not answer these questions correctly.";
|
@@ -4535,6 +4560,8 @@ var view_records$1 = "View records";
|
|
4535
4560
|
var delete_action$1 = "Delete";
|
4536
4561
|
var edit_action$1 = "Edit";
|
4537
4562
|
var view_action$1 = "View";
|
4563
|
+
var share_action$1 = "Share";
|
4564
|
+
var update_shared_action$1 = "Update Authority";
|
4538
4565
|
var de_select$1 = "Deselect";
|
4539
4566
|
var select_output$1 = "Select";
|
4540
4567
|
var print_pdf$1 = "Print PDF";
|
@@ -4568,6 +4595,15 @@ var manage_users$1 = "Manage users";
|
|
4568
4595
|
var manage_classes$1 = "Manage classes";
|
4569
4596
|
var manage_notifications$1 = "Manage notifications";
|
4570
4597
|
var late$1 = "Late";
|
4598
|
+
var authority$1 = "Authority";
|
4599
|
+
var share_textbook$1 = "Share textbook";
|
4600
|
+
var notify_share_textbook$1 = {
|
4601
|
+
share_success: "Share textbook successfully!",
|
4602
|
+
share_fail: "Textbook or teacher not exists!",
|
4603
|
+
update_success: "Update shared textbook successfully!",
|
4604
|
+
update_fail: "Update fail!"
|
4605
|
+
};
|
4606
|
+
var academyadminteacher$1 = "AcademyAdmin / Teacher";
|
4571
4607
|
var total_student$1 = "Total Student";
|
4572
4608
|
var total_teacher$1 = "Total Teacher";
|
4573
4609
|
var total_exam$1 = "Total Exam";
|
@@ -4625,6 +4661,7 @@ var lang_en = {
|
|
4625
4661
|
yes: yes$1,
|
4626
4662
|
no: no$1,
|
4627
4663
|
cancel: cancel$1,
|
4664
|
+
remove: remove$1,
|
4628
4665
|
confirmation: confirmation$1,
|
4629
4666
|
student_name: student_name$1,
|
4630
4667
|
full_pool_time: full_pool_time$1,
|
@@ -4884,6 +4921,7 @@ var lang_en = {
|
|
4884
4921
|
users: users$1,
|
4885
4922
|
new_user: new_user$1,
|
4886
4923
|
academy_admin: academy_admin$1,
|
4924
|
+
academy_admin_teacher: academy_admin_teacher,
|
4887
4925
|
super_admin: super_admin$1,
|
4888
4926
|
switch_academy_admin: switch_academy_admin$1,
|
4889
4927
|
switch_academy: switch_academy$1,
|
@@ -5227,6 +5265,7 @@ var lang_en = {
|
|
5227
5265
|
choose: choose$1,
|
5228
5266
|
additional_duration: additional_duration$1,
|
5229
5267
|
enter_textbook_name_to_search: enter_textbook_name_to_search$1,
|
5268
|
+
enter_teacher_name_to_search: enter_teacher_name_to_search$1,
|
5230
5269
|
"type_at_least_{number}_characters_to_search": "Type at least {{ number }} characters to search",
|
5231
5270
|
select_class_placeholder: select_class_placeholder$1,
|
5232
5271
|
user_name: user_name$1,
|
@@ -5342,6 +5381,8 @@ var lang_en = {
|
|
5342
5381
|
delete_action: delete_action$1,
|
5343
5382
|
edit_action: edit_action$1,
|
5344
5383
|
view_action: view_action$1,
|
5384
|
+
share_action: share_action$1,
|
5385
|
+
update_shared_action: update_shared_action$1,
|
5345
5386
|
de_select: de_select$1,
|
5346
5387
|
select_output: select_output$1,
|
5347
5388
|
print_pdf: print_pdf$1,
|
@@ -5375,6 +5416,10 @@ var lang_en = {
|
|
5375
5416
|
manage_classes: manage_classes$1,
|
5376
5417
|
manage_notifications: manage_notifications$1,
|
5377
5418
|
late: late$1,
|
5419
|
+
authority: authority$1,
|
5420
|
+
share_textbook: share_textbook$1,
|
5421
|
+
notify_share_textbook: notify_share_textbook$1,
|
5422
|
+
academyadminteacher: academyadminteacher$1,
|
5378
5423
|
total_student: total_student$1,
|
5379
5424
|
total_teacher: total_teacher$1,
|
5380
5425
|
total_exam: total_exam$1,
|
@@ -6955,11 +7000,13 @@ var formatRole = function formatRole(roles, t) {
|
|
6955
7000
|
if (roles.includes(Role.AcademyAdmin)) return t("academy_admin");
|
6956
7001
|
if (roles.includes(Role.Teacher)) return t("teacher");
|
6957
7002
|
if (roles.includes(Role.Student)) return t("student");
|
7003
|
+
if (roles.includes(Role.AcademyAdminTeacher)) return t("academy_admin_teacher");
|
6958
7004
|
return "";
|
6959
7005
|
};
|
6960
7006
|
var getRole = function getRole(roles) {
|
6961
7007
|
if (roles.includes(Role.Admin)) return Role.Admin;
|
6962
7008
|
if (roles.includes(Role.AcademyAdmin)) return Role.AcademyAdmin;
|
7009
|
+
if (roles.includes(Role.AcademyAdminTeacher)) return Role.AcademyAdminTeacher;
|
6963
7010
|
if (roles.includes(Role.Teacher)) return Role.Teacher;
|
6964
7011
|
if (roles.includes(Role.Student)) return Role.Student;
|
6965
7012
|
return null;
|
@@ -8568,6 +8615,12 @@ var updateTextbookApi = function updateTextbookApi(textbookId, data) {
|
|
8568
8615
|
var deleteTextbookApi = function deleteTextbookApi(textbookId) {
|
8569
8616
|
return api["delete"](TEXTBOOK_URL + "/" + textbookId);
|
8570
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
|
+
};
|
8571
8624
|
|
8572
8625
|
var ExamStatus$1;
|
8573
8626
|
(function (ExamStatus) {
|
@@ -8621,6 +8674,13 @@ var TextbookSortBy;
|
|
8621
8674
|
TextbookSortBy["Title"] = "Name";
|
8622
8675
|
TextbookSortBy["SubjectName"] = "Subject.Name";
|
8623
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 = {}));
|
8624
8684
|
var ExamType;
|
8625
8685
|
(function (ExamType) {
|
8626
8686
|
ExamType["Normal"] = "Normal";
|
@@ -8634,6 +8694,12 @@ var ExamStatus$2;
|
|
8634
8694
|
ExamStatus["Completed"] = "Completed";
|
8635
8695
|
})(ExamStatus$2 || (ExamStatus$2 = {}));
|
8636
8696
|
|
8697
|
+
var DefaultTeacherQuery = {
|
8698
|
+
currentPage: 1,
|
8699
|
+
pageSize: 50,
|
8700
|
+
sortColumnDirection: OrderType.DESC,
|
8701
|
+
sortColumnName: TeacherSortBy.Name
|
8702
|
+
};
|
8637
8703
|
var TEXTBOOK_HEADERS = [{
|
8638
8704
|
title: "#"
|
8639
8705
|
}, {
|
@@ -8648,7 +8714,26 @@ var TEXTBOOK_HEADERS = [{
|
|
8648
8714
|
}, {
|
8649
8715
|
title: "total_chapters"
|
8650
8716
|
}, {
|
8651
|
-
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
|
8652
8737
|
}];
|
8653
8738
|
var DEFAULT_ANSWER_COUNT = 5;
|
8654
8739
|
var DEFAULT_EXAM_REQUEST = {
|
@@ -8665,6 +8750,7 @@ var DEFAULT_EXAM_REQUEST = {
|
|
8665
8750
|
};
|
8666
8751
|
var TEXTBOOK_PAGE_TITLE = "textbooks";
|
8667
8752
|
var TEXT_BOOK_SEARCH_PLACEHOLDER = "enter_textbook_name_to_search";
|
8753
|
+
var TEACHER_SEARCH_PLACEHOLDER = "enter_teacher_name_to_search";
|
8668
8754
|
var TextbookDefaultQuery = {
|
8669
8755
|
pageSize: 12,
|
8670
8756
|
currentPage: 1,
|
@@ -9660,7 +9746,8 @@ var ActionButtons = function ActionButtons(_ref) {
|
|
9660
9746
|
hideSave = _ref$hideSave === void 0 ? false : _ref$hideSave,
|
9661
9747
|
onBack = _ref.onBack,
|
9662
9748
|
onSave = _ref.onSave,
|
9663
|
-
onAltSave = _ref.onAltSave
|
9749
|
+
onAltSave = _ref.onAltSave,
|
9750
|
+
isReadonly = _ref.isReadonly;
|
9664
9751
|
return React__default.createElement(Stack, {
|
9665
9752
|
direction: "row",
|
9666
9753
|
spacing: 1,
|
@@ -9679,7 +9766,7 @@ var ActionButtons = function ActionButtons(_ref) {
|
|
9679
9766
|
size: 16
|
9680
9767
|
}),
|
9681
9768
|
onClick: onSave,
|
9682
|
-
disabled: saveDisabled
|
9769
|
+
disabled: saveDisabled || isReadonly
|
9683
9770
|
}, saveText), !!altSaveText && onAltSave && React__default.createElement(Button, {
|
9684
9771
|
variant: "contained",
|
9685
9772
|
color: "primary",
|
@@ -9707,6 +9794,7 @@ var TextbookActionButtons = function TextbookActionButtons(_ref) {
|
|
9707
9794
|
size: 14
|
9708
9795
|
}) : undefined,
|
9709
9796
|
saveText: t(!(textbook !== null && textbook !== void 0 && textbook.id) ? "create_and_continue" : isReadonly ? "update" : "update_textbook_title"),
|
9797
|
+
isReadonly: isReadonly,
|
9710
9798
|
hideSave: hideSave,
|
9711
9799
|
onSave: onSave
|
9712
9800
|
});
|
@@ -10622,7 +10710,7 @@ var TextbookViewDetail = function TextbookViewDetail(props) {
|
|
10622
10710
|
textbook: textbook,
|
10623
10711
|
onBack: handleGoToTextbookList,
|
10624
10712
|
onSave: handleCreateOrUpdateTextbook,
|
10625
|
-
hideSave: !isEditedTitle && !!id && !isReadonly || textbook.isCreatedByAdmin
|
10713
|
+
hideSave: !isEditedTitle && !!id && !isReadonly || textbook.isCreatedByAdmin || !!id && isReadonly
|
10626
10714
|
}))), React__default.createElement(Grid, {
|
10627
10715
|
item: true,
|
10628
10716
|
xs: 12,
|
@@ -10633,7 +10721,7 @@ var TextbookViewDetail = function TextbookViewDetail(props) {
|
|
10633
10721
|
onClick: function onClick() {
|
10634
10722
|
return handleOpenCreateExamDialog();
|
10635
10723
|
},
|
10636
|
-
disabled:
|
10724
|
+
disabled: !articlesSelected.length,
|
10637
10725
|
startIcon: React__default.createElement(FaPlus, {
|
10638
10726
|
size: 12
|
10639
10727
|
})
|
@@ -10931,9 +11019,7 @@ var useTextbookList = function useTextbookList(props) {
|
|
10931
11019
|
});
|
10932
11020
|
};
|
10933
11021
|
var handleCreateTextbook = function handleCreateTextbook() {
|
10934
|
-
navigate
|
10935
|
-
replace: true
|
10936
|
-
});
|
11022
|
+
pushTo(navigate, textbookUrl + "/create");
|
10937
11023
|
};
|
10938
11024
|
var toggleConfirmDialog = function toggleConfirmDialog() {
|
10939
11025
|
handleChangeSelectedItem(undefined);
|
@@ -10968,6 +11054,7 @@ var useTextbookList = function useTextbookList(props) {
|
|
10968
11054
|
return {
|
10969
11055
|
filter: filter,
|
10970
11056
|
textSearchRef: textSearchRef,
|
11057
|
+
getData: getData,
|
10971
11058
|
paging: paging,
|
10972
11059
|
textbooks: textbooks,
|
10973
11060
|
selectedTextbook: selectedTextbook,
|
@@ -11089,6 +11176,347 @@ var SearchInput = function SearchInput(_ref) {
|
|
11089
11176
|
}));
|
11090
11177
|
};
|
11091
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 = useTranslation(),
|
11200
|
+
t = _useTranslation.t;
|
11201
|
+
var theme = useTheme();
|
11202
|
+
return React__default.createElement(Dialog, {
|
11203
|
+
open: open,
|
11204
|
+
maxWidth: "md"
|
11205
|
+
}, React__default.createElement(DialogContent, {
|
11206
|
+
sx: {
|
11207
|
+
overflowY: "unset"
|
11208
|
+
}
|
11209
|
+
}, React__default.createElement(Grid, {
|
11210
|
+
container: true,
|
11211
|
+
spacing: 3,
|
11212
|
+
sx: {
|
11213
|
+
position: "relative",
|
11214
|
+
zIndex: 999999
|
11215
|
+
}
|
11216
|
+
}, selectedShare && React__default.createElement(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(Grid, {
|
11225
|
+
item: true,
|
11226
|
+
xs: 12
|
11227
|
+
}, React__default.createElement(TableContainer, {
|
11228
|
+
sx: {
|
11229
|
+
maxHeight: "50vh"
|
11230
|
+
}
|
11231
|
+
}, React__default.createElement(Table, {
|
11232
|
+
stickyHeader: true
|
11233
|
+
}, React__default.createElement(TableHead, null, React__default.createElement(TableRow, null, selectedShare && React__default.createElement(TableCell, {
|
11234
|
+
padding: "checkbox"
|
11235
|
+
}, React__default.createElement(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(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(TableBody, null, selectedTeacher ? React__default.createElement(TableRow, null, React__default.createElement(TableCell, null, selectedTeacher === null || selectedTeacher === void 0 ? void 0 : selectedTeacher.teacherName), React__default.createElement(TableCell, null, selectedTeacher === null || selectedTeacher === void 0 ? void 0 : selectedTeacher.teacherEmail), React__default.createElement(TableCell, null, selectedTeacher === null || selectedTeacher === void 0 ? void 0 : selectedTeacher.phoneNumber), React__default.createElement(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(TableRow, {
|
11254
|
+
key: i.id
|
11255
|
+
}, React__default.createElement(TableCell, {
|
11256
|
+
padding: "checkbox"
|
11257
|
+
}, React__default.createElement(Checkbox, {
|
11258
|
+
onClick: function onClick() {
|
11259
|
+
return handleClickCheckboxShare(i.id);
|
11260
|
+
},
|
11261
|
+
color: "primary",
|
11262
|
+
checked: isItemSelected
|
11263
|
+
})), React__default.createElement(TableCell, null, (pagingShare.page - 1) * pagingShare.limit + index + 1), React__default.createElement(TableCell, null, i.teacherName), React__default.createElement(TableCell, null, i.teacherEmail), React__default.createElement(TableCell, null, i.phoneNumber), React__default.createElement(TableCell, null, utcToLocalTime(i.createdAt, t("date_time_format"))));
|
11264
|
+
}), !selectedShare && !teachers.length && React__default.createElement(TableRow, null, React__default.createElement(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(Pagination, {
|
11270
|
+
count: pagingShare.totalPages,
|
11271
|
+
page: pagingShare.page,
|
11272
|
+
onChange: handleChangePageShare
|
11273
|
+
}))))), React__default.createElement(DialogActions, null, React__default.createElement(Stack, {
|
11274
|
+
direction: "row",
|
11275
|
+
spacing: 2,
|
11276
|
+
p: 2,
|
11277
|
+
pt: 0,
|
11278
|
+
justifyContent: "end"
|
11279
|
+
}, React__default.createElement(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(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 = useState([]),
|
11320
|
+
selectedShare = _useState[0],
|
11321
|
+
setSelectedShare = _useState[1];
|
11322
|
+
var _useState2 = useState([]),
|
11323
|
+
notShared = _useState2[0],
|
11324
|
+
setNotShared = _useState2[1];
|
11325
|
+
var _useState3 = useState([]),
|
11326
|
+
shared = _useState3[0],
|
11327
|
+
setShared = _useState3[1];
|
11328
|
+
var _useState4 = useState(false),
|
11329
|
+
isUpdate = _useState4[0],
|
11330
|
+
setIsUpdate = _useState4[1];
|
11331
|
+
var _useState5 = 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 = useState(false),
|
11338
|
+
openShareDialog = _useState6[0],
|
11339
|
+
setOpenShareDialog = _useState6[1];
|
11340
|
+
var _useTranslation = useTranslation(),
|
11341
|
+
t = _useTranslation.t;
|
11342
|
+
var dispatch = useDispatch();
|
11343
|
+
var infoUser = 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(Role.Admin);
|
11348
|
+
var isAdminSite = role === Role.Admin;
|
11349
|
+
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
|
+
toast.success(t("notify_share_textbook.share_success"));
|
11454
|
+
});
|
11455
|
+
});
|
11456
|
+
}, function (error) {
|
11457
|
+
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
|
+
toast.success(t("notify_share_textbook.update_success"));
|
11480
|
+
});
|
11481
|
+
});
|
11482
|
+
}, function (error) {
|
11483
|
+
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
|
+
|
11092
11520
|
var TextbookList = function TextbookList(props) {
|
11093
11521
|
var _useTranslation = useTranslation(),
|
11094
11522
|
t = _useTranslation.t;
|
@@ -11096,10 +11524,11 @@ var TextbookList = function TextbookList(props) {
|
|
11096
11524
|
filter = _useTextbookList.filter,
|
11097
11525
|
textbooks = _useTextbookList.textbooks,
|
11098
11526
|
paging = _useTextbookList.paging,
|
11527
|
+
getData = _useTextbookList.getData,
|
11099
11528
|
textSearchRef = _useTextbookList.textSearchRef,
|
11100
|
-
selectedTextbook = _useTextbookList.selectedTextbook,
|
11101
11529
|
handleChangeSearchText = _useTextbookList.handleChangeSearchText,
|
11102
11530
|
handleSort = _useTextbookList.handleSort,
|
11531
|
+
selectedTextbook = _useTextbookList.selectedTextbook,
|
11103
11532
|
handleChangePage = _useTextbookList.handleChangePage,
|
11104
11533
|
calcOrderNumber = _useTextbookList.calcOrderNumber,
|
11105
11534
|
handleViewTextbook = _useTextbookList.handleViewTextbook,
|
@@ -11108,6 +11537,35 @@ var TextbookList = function TextbookList(props) {
|
|
11108
11537
|
toggleConfirmDialog = _useTextbookList.toggleConfirmDialog,
|
11109
11538
|
handleDeleteTextbook = _useTextbookList.handleDeleteTextbook,
|
11110
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;
|
11111
11569
|
return React__default.createElement(LayoutList, {
|
11112
11570
|
title: t(TEXTBOOK_PAGE_TITLE)
|
11113
11571
|
}, React__default.createElement(Grid, {
|
@@ -11123,14 +11581,20 @@ var TextbookList = function TextbookList(props) {
|
|
11123
11581
|
item: true,
|
11124
11582
|
xs: 6
|
11125
11583
|
}, React__default.createElement(Stack, {
|
11126
|
-
alignItems: "end"
|
11127
|
-
|
11584
|
+
alignItems: "end",
|
11585
|
+
direction: "row",
|
11586
|
+
sx: {
|
11587
|
+
justifyContent: "flex-end"
|
11588
|
+
},
|
11589
|
+
spacing: 2
|
11590
|
+
}, (!isAdmin || isAdminSite) && React__default.createElement(Button, {
|
11128
11591
|
startIcon: React__default.createElement(FaPlus, {
|
11129
11592
|
size: 12
|
11130
11593
|
}),
|
11131
11594
|
variant: "contained",
|
11132
11595
|
color: "primary",
|
11133
|
-
onClick: handleCreateTextbook
|
11596
|
+
onClick: handleCreateTextbook,
|
11597
|
+
className: (isAdmin && !isAdminSite ? "bg-secondary" : "bg-success") + " text-white"
|
11134
11598
|
}, t("create_textbook")))), React__default.createElement(Grid, {
|
11135
11599
|
item: true,
|
11136
11600
|
xs: 12,
|
@@ -11142,17 +11606,21 @@ var TextbookList = function TextbookList(props) {
|
|
11142
11606
|
}), React__default.createElement(TableBody, null, textbooks.map(function (i, index) {
|
11143
11607
|
return React__default.createElement(TableRow, {
|
11144
11608
|
key: i.id
|
11145
|
-
}, React__default.createElement(TableCell, null, calcOrderNumber(index)), React__default.createElement(TableCell, null, i.name), React__default.createElement(TableCell, null, i.subject.name), React__default.createElement(TableCell, null, utcToLocalTime(i.createdAt, t("date_format"))), React__default.createElement(TableCell, null, i.totalChapters), React__default.createElement(TableCell, null,
|
11609
|
+
}, React__default.createElement(TableCell, null, calcOrderNumber(index)), React__default.createElement(TableCell, null, i.name), React__default.createElement(TableCell, null, i.subject.name), React__default.createElement(TableCell, null, utcToLocalTime(i.createdAt, t("date_format"))), React__default.createElement(TableCell, null, i.totalChapters), React__default.createElement(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(TableCell, null, React__default.createElement(Stack, {
|
11146
11614
|
direction: "row",
|
11147
11615
|
spacing: 1,
|
11148
11616
|
alignItems: "center"
|
11149
11617
|
}, React__default.createElement(IconButton, {
|
11150
11618
|
color: "default",
|
11151
|
-
className: (i
|
11619
|
+
className: (handleDisable(i) ? "bg-secondary" : "bg-warning") + " text-white",
|
11152
11620
|
onClick: function onClick() {
|
11153
11621
|
return handleUpdateTextbook(i.id);
|
11154
11622
|
},
|
11155
|
-
disabled:
|
11623
|
+
disabled: handleDisable(i)
|
11156
11624
|
}, React__default.createElement(FaPencil, {
|
11157
11625
|
size: 12
|
11158
11626
|
})), React__default.createElement(IconButton, {
|
@@ -11163,13 +11631,29 @@ var TextbookList = function TextbookList(props) {
|
|
11163
11631
|
}
|
11164
11632
|
}, React__default.createElement(FaEye, {
|
11165
11633
|
size: 12
|
11634
|
+
})), React__default.createElement(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(FaShare, {
|
11641
|
+
size: 12
|
11642
|
+
})), React__default.createElement(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(FaExchangeAlt, {
|
11649
|
+
size: 12
|
11166
11650
|
})), React__default.createElement(IconButton, {
|
11167
11651
|
color: "default",
|
11168
|
-
className: (i
|
11652
|
+
className: (handleDisable(i) ? "bg-secondary" : "bg-danger") + " text-white mr-1",
|
11169
11653
|
onClick: function onClick() {
|
11170
11654
|
return handleSelectDeleteTextbook(i);
|
11171
11655
|
},
|
11172
|
-
disabled:
|
11656
|
+
disabled: handleDisable(i)
|
11173
11657
|
}, React__default.createElement(FaTrash, {
|
11174
11658
|
size: 12
|
11175
11659
|
})))));
|
@@ -11186,6 +11670,26 @@ var TextbookList = function TextbookList(props) {
|
|
11186
11670
|
onConfirm: handleDeleteTextbook,
|
11187
11671
|
confirmText: selectedTextbook === null || selectedTextbook === void 0 ? void 0 : selectedTextbook.name,
|
11188
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
|
11189
11693
|
}));
|
11190
11694
|
};
|
11191
11695
|
|
@@ -17666,11 +18170,11 @@ var DayOfWeek;
|
|
17666
18170
|
DayOfWeek[DayOfWeek["Friday"] = 5] = "Friday";
|
17667
18171
|
DayOfWeek[DayOfWeek["Saturday"] = 6] = "Saturday";
|
17668
18172
|
})(DayOfWeek || (DayOfWeek = {}));
|
17669
|
-
var TeacherSortBy;
|
18173
|
+
var TeacherSortBy$1;
|
17670
18174
|
(function (TeacherSortBy) {
|
17671
18175
|
TeacherSortBy["Name"] = "UserProfile.FullName";
|
17672
18176
|
TeacherSortBy["Email"] = "UserProfile.Email";
|
17673
|
-
})(TeacherSortBy || (TeacherSortBy = {}));
|
18177
|
+
})(TeacherSortBy$1 || (TeacherSortBy$1 = {}));
|
17674
18178
|
var ClassStatus;
|
17675
18179
|
(function (ClassStatus) {
|
17676
18180
|
ClassStatus["Default"] = "Default";
|
@@ -17774,7 +18278,7 @@ var DefaultTeacherFilter = {
|
|
17774
18278
|
currentPage: 1,
|
17775
18279
|
pageSize: 50,
|
17776
18280
|
sortColumnDirection: OrderBy$2.DESC,
|
17777
|
-
sortColumnName: TeacherSortBy.Name,
|
18281
|
+
sortColumnName: TeacherSortBy$1.Name,
|
17778
18282
|
textSearch: ""
|
17779
18283
|
};
|
17780
18284
|
var DEFAULT_CLASS_REQUEST = {
|
@@ -19422,9 +19926,9 @@ var useLessonClassList = function useLessonClassList(courseId) {
|
|
19422
19926
|
};
|
19423
19927
|
};
|
19424
19928
|
|
19425
|
-
var TEACHER_URL = BASE_URL + "/api/teacher";
|
19426
|
-
var getTeacherListApi = function getTeacherListApi(query) {
|
19427
|
-
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, {
|
19428
19932
|
params: query
|
19429
19933
|
});
|
19430
19934
|
};
|
@@ -19445,7 +19949,7 @@ var useTeacherList = function useTeacherList() {
|
|
19445
19949
|
var getListTeacher = function getListTeacher() {
|
19446
19950
|
try {
|
19447
19951
|
var _temp = _catch(function () {
|
19448
|
-
return Promise.resolve(getTeacherListApi(teacherFilter)).then(function (res) {
|
19952
|
+
return Promise.resolve(getTeacherListApi$1(teacherFilter)).then(function (res) {
|
19449
19953
|
var _res$data;
|
19450
19954
|
setTeachers(((_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.items) || []);
|
19451
19955
|
});
|
@@ -22654,5 +23158,5 @@ var ReleaseAlert = function ReleaseAlert() {
|
|
22654
23158
|
}
|
22655
23159
|
};
|
22656
23160
|
|
22657
|
-
export { ACADEMY_DOMAIN, ACCESS_TOKEN, AcademyHeaders, AcademyList, AnswerCountSelector, ArticleCategorySelector, ArticleGroupView, BASE_URL, ChatContainer, ChatItemType, types as ChatTypes, ClassDetail, ClassList, CommonDialog, ConfirmDialog, index$1 as CoreHooks, CustomAsyncSelect, CustomCreatable, CustomPagination, CustomSelect, CustomSelectOption, DATE_MIN_VALUE, DATE_TIME_MIN_VALUE, DEFAULT_PAGING_RESPONSE, DefaultErrorMessage, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, index as Enums, ExamDetailView, ExamEvent, ExamResultV2, Header, InputText, LANGUAGES, Language, LayoutContext, Loading, LoadingComponent, Login, LoginWithEmail, SignIn as LoginWithPassword, NotFound, NotificationDetail, NotificationList, PUSHER_CONFIG, PassCodeCheck, PrintExamResultView, PrintExamView2, QuestionCountSelector, RecentUserAction, ReleaseAlert, Role, SUPER_ADMIN_BASE_URL, ScoreSelector, SubjectSelector, index$2 as Textbook, TextbookViewDetail as TextbookDetail, TextbookList, TheAcademyDropdown, TheLanguageDropdown, index$3 as Types, UserList, api, apiUpload, canAccess as canAccessRoute, checkSuperUrl, createRecentUserActionListApi, diffFromNow, formatRole, formatTime, getAcademyDomain, getAccessToken, getErrorMessage, getOrdinalSuffix, getRecentUserActionListApi, getRole, i18n, minutesToTimeSpan, setAlert, setLanguage, setLoading, setReFetchUserAcademies, setReadyRegisterPusher, setUser, store, times as timeUtils, toISOString, useAutoAcademyDomain, useCategorySelect, useChatContainer, useCountDownTimer, useGoogleSignOut, useLanguage, useLoadMore, useLogin, usePusherConversation, useSubjectSelect, useSwitchAcademy, useVirtualizeList, utcToLocalTime };
|
23161
|
+
export { ACADEMY_DOMAIN, ACCESS_TOKEN, AcademyHeaders, AcademyList, AnswerCountSelector, ArticleCategorySelector, ArticleGroupView, BASE_URL, ChatContainer, ChatItemType, types as ChatTypes, ClassDetail, ClassList, CommonDialog, ConfirmDialog, index$1 as CoreHooks, CustomAsyncSelect, CustomCreatable, CustomPagination, CustomSelect, CustomSelectOption, DATE_MIN_VALUE, DATE_TIME_MIN_VALUE, DEFAULT_PAGING_RESPONSE, DefaultErrorMessage, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, index as Enums, ExamDetailView, ExamEvent, ExamResultV2, Header, InputText, LANGUAGES, Language, LayoutContext, Loading, LoadingComponent, Login, LoginWithEmail, SignIn as LoginWithPassword, NotFound, NotificationDetail, NotificationList, PUSHER_CONFIG, PassCodeCheck, PrintExamResultView, PrintExamView2, QuestionCountSelector, RecentUserAction, ReleaseAlert, Role, SUPER_ADMIN_BASE_URL, ScoreSelector, ShareToTeacherDialog, SubjectSelector, index$2 as Textbook, TextbookViewDetail as TextbookDetail, TextbookList, TheAcademyDropdown, TheLanguageDropdown, index$3 as Types, UserList, api, apiUpload, canAccess as canAccessRoute, checkSuperUrl, createRecentUserActionListApi, diffFromNow, formatRole, formatTime, getAcademyDomain, getAccessToken, getErrorMessage, getOrdinalSuffix, getRecentUserActionListApi, getRole, i18n, minutesToTimeSpan, setAlert, setLanguage, setLoading, setReFetchUserAcademies, setReadyRegisterPusher, setUser, store, times as timeUtils, toISOString, useAutoAcademyDomain, useCategorySelect, useChatContainer, useCountDownTimer, useGoogleSignOut, useLanguage, useList, useLoadMore, useLogin, usePusherConversation, useSubjectSelect, useSwitchAcademy, useTextbookShare, useVirtualizeList, utcToLocalTime };
|
22658
23162
|
//# sourceMappingURL=index.modern.js.map
|