touchstudy-core 0.1.114 → 0.1.116
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/containers/Classes/configs/interfaces.d.ts +1 -1
- package/dist/containers/Classes/hooks/useClassDetail.d.ts +5 -4
- package/dist/containers/Login/apiClient/index.d.ts +1 -5
- package/dist/containers/Login/hooks/useLoginWithPassword.d.ts +1 -1
- package/dist/containers/PreparedExam/components/Textbook.d.ts +4 -2
- package/dist/containers/PreparedExam/components/dialogs/TextbookInfoDrawer.d.ts +3 -1
- package/dist/containers/PreparedExam/configs/types.d.ts +1 -0
- package/dist/containers/PreparedExam/hooks/usePreparedExam.d.ts +3 -0
- package/dist/containers/PreparedTextbook/configs/types.d.ts +1 -0
- package/dist/containers/PreparedTextbook/hooks/useTextbookManagement.d.ts +2 -2
- package/dist/containers/PreparedTextbook/views/PreparedTextbook.d.ts +2 -1
- package/dist/containers/PreparedTextbook/views/PreparedTextbookList.d.ts +4 -2
- package/dist/containers/Textbooks/configs/constants.d.ts +0 -3
- package/dist/containers/Textbooks/configs/types.d.ts +1 -0
- package/dist/containers/Textbooks/hooks/useTextbookList.d.ts +2 -2
- package/dist/containers/Textbooks/hooks/useTextbookShare.d.ts +2 -1
- package/dist/containers/Textbooks/views/TextbookDetail.d.ts +2 -0
- package/dist/containers/Textbooks/views/TextbookList.d.ts +4 -1
- package/dist/index.js +320 -184
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +320 -184
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
package/dist/index.modern.js
CHANGED
@@ -27,6 +27,7 @@ import Select, { components } from 'react-select';
|
|
27
27
|
import CreatableSelect from 'react-select/creatable';
|
28
28
|
import { Formik, Form, Field, FieldArray } from 'formik';
|
29
29
|
import { CKEditor } from 'ckeditor4-react';
|
30
|
+
import { AutoSizer } from 'react-virtualized';
|
30
31
|
import Grid$1 from '@mui/material/Grid';
|
31
32
|
import Typography$1 from '@mui/material/Typography';
|
32
33
|
import Card from '@mui/material/Card';
|
@@ -1189,6 +1190,7 @@ var notify_share_exam = {
|
|
1189
1190
|
update_fail: "업데이트 실패!"
|
1190
1191
|
};
|
1191
1192
|
var academy_admin_teacher = "아카데미 관리자/선생님";
|
1193
|
+
var academyadmin_teacher = "아카데미 관리자/선생님";
|
1192
1194
|
var total_student = "총 학생 수";
|
1193
1195
|
var total_teacher = "총 교사 수";
|
1194
1196
|
var total_exam = "총 시험 수";
|
@@ -1352,6 +1354,7 @@ var delete_textbook_successfully = "교과서 삭제 성공";
|
|
1352
1354
|
var information = "정보";
|
1353
1355
|
var running_time = "진행 시간";
|
1354
1356
|
var hours_mins_seconds = "{{hours}}시간 {{mins}}분 {{seconds}}초";
|
1357
|
+
var create_schedule_successfully = "일정을 성공적으로 생성했습니다";
|
1355
1358
|
var prepared_textbook = "준비된 교과서";
|
1356
1359
|
var enable_phone_pass_code = "전화 비밀번호 활성화";
|
1357
1360
|
var custom = "관습";
|
@@ -1360,6 +1363,14 @@ var pass_code_is_invalid = "비밀번호가 유효하지 않습니다";
|
|
1360
1363
|
var pass_code_length_must_be_n = "비밀번호 길이는 {{n}}이어야 합니다";
|
1361
1364
|
var parent_phone_number_is_invalid = "부모 전화번호가 잘못되었습니다";
|
1362
1365
|
var parent_phone_number_is_required = "부모 전화번호가 필요합니다";
|
1366
|
+
var update_schedule_successfully = "일정을 성공적으로 업데이트했습니다";
|
1367
|
+
var delete_schedule_successfully = "일정을 성공적으로 삭제했습니다";
|
1368
|
+
var group = "그룹";
|
1369
|
+
var update_schedule = "업데이트 일정";
|
1370
|
+
var back_month = "이전 달";
|
1371
|
+
var today_schedule = "오늘 스케줄";
|
1372
|
+
var schedule_achieved = "달성한 스케줄";
|
1373
|
+
var i_dont_have_my_phone_number_yet = "휴대폰 번호가 없어요";
|
1363
1374
|
var lang_ko = {
|
1364
1375
|
problem_solving: problem_solving,
|
1365
1376
|
my_story: my_story,
|
@@ -2191,6 +2202,7 @@ var lang_ko = {
|
|
2191
2202
|
notify_share_textbook: notify_share_textbook,
|
2192
2203
|
notify_share_exam: notify_share_exam,
|
2193
2204
|
academy_admin_teacher: academy_admin_teacher,
|
2205
|
+
academyadmin_teacher: academyadmin_teacher,
|
2194
2206
|
total_student: total_student,
|
2195
2207
|
total_teacher: total_teacher,
|
2196
2208
|
total_exam: total_exam,
|
@@ -2356,6 +2368,7 @@ var lang_ko = {
|
|
2356
2368
|
information: information,
|
2357
2369
|
running_time: running_time,
|
2358
2370
|
hours_mins_seconds: hours_mins_seconds,
|
2371
|
+
create_schedule_successfully: create_schedule_successfully,
|
2359
2372
|
prepared_textbook: prepared_textbook,
|
2360
2373
|
enable_phone_pass_code: enable_phone_pass_code,
|
2361
2374
|
custom: custom,
|
@@ -2363,7 +2376,15 @@ var lang_ko = {
|
|
2363
2376
|
pass_code_is_invalid: pass_code_is_invalid,
|
2364
2377
|
pass_code_length_must_be_n: pass_code_length_must_be_n,
|
2365
2378
|
parent_phone_number_is_invalid: parent_phone_number_is_invalid,
|
2366
|
-
parent_phone_number_is_required: parent_phone_number_is_required
|
2379
|
+
parent_phone_number_is_required: parent_phone_number_is_required,
|
2380
|
+
update_schedule_successfully: update_schedule_successfully,
|
2381
|
+
delete_schedule_successfully: delete_schedule_successfully,
|
2382
|
+
group: group,
|
2383
|
+
update_schedule: update_schedule,
|
2384
|
+
back_month: back_month,
|
2385
|
+
today_schedule: today_schedule,
|
2386
|
+
schedule_achieved: schedule_achieved,
|
2387
|
+
i_dont_have_my_phone_number_yet: i_dont_have_my_phone_number_yet
|
2367
2388
|
};
|
2368
2389
|
|
2369
2390
|
var problem_solving$1 = "Problem Solving";
|
@@ -2503,7 +2524,7 @@ var create_exam$1 = "Create exam";
|
|
2503
2524
|
var back$1 = "Back";
|
2504
2525
|
var date_format_exam$1 = "MMMM YYYY";
|
2505
2526
|
var date_format$1 = "MMM. D. YYYY";
|
2506
|
-
var day_month_format$1 = "
|
2527
|
+
var day_month_format$1 = "Do MMM";
|
2507
2528
|
var date_time_format$1 = "HH:mm MMM. D YYYY ";
|
2508
2529
|
var date_time_format_12h$1 = "MM-DD-YYYY HH:mm A";
|
2509
2530
|
var full_date_time_format$1 = "MMM Do YYYY HH:mm:ss";
|
@@ -3277,14 +3298,15 @@ var chapter$1 = "Chapter";
|
|
3277
3298
|
var chapter_number$1 = "Chapter {{number}}";
|
3278
3299
|
var category_required$1 = "Category is required";
|
3279
3300
|
var subject_required$1 = "Subject is required";
|
3280
|
-
var academy_admin_teacher$1 = "Academy Admin
|
3301
|
+
var academy_admin_teacher$1 = "Academy Admin/Teacher";
|
3302
|
+
var academyadmin_teacher$1 = "Academy Admin/Teacher";
|
3281
3303
|
var date_required$1 = "Date is required";
|
3282
3304
|
var start_time_required$1 = "Start time is required";
|
3283
3305
|
var end_time_required$1 = "End time is required";
|
3284
3306
|
var title_required$1 = "Title is required";
|
3285
3307
|
var delete_schedule$1 = "Delete Schedule";
|
3286
3308
|
var edit_schedule$1 = "Edit Schedule";
|
3287
|
-
var are_you_sure_you_want_to_delete_the_schedule$1 = "
|
3309
|
+
var are_you_sure_you_want_to_delete_the_schedule$1 = "Are you sure you want to delete the schedule: {{name}}";
|
3288
3310
|
var correct_answer_rate$1 = "Correct answer rate";
|
3289
3311
|
var progress$1 = "Progress";
|
3290
3312
|
var grammar$1 = "Grammar";
|
@@ -3377,6 +3399,7 @@ var delete_textbook_successfully$1 = "Delete the textbook successfully";
|
|
3377
3399
|
var information$1 = "Information";
|
3378
3400
|
var running_time$1 = "Running time";
|
3379
3401
|
var hours_mins_seconds$1 = "{{hours}}h {{mins}}m {{seconds}}s";
|
3402
|
+
var create_schedule_successfully$1 = "Create schedule successfully";
|
3380
3403
|
var prepared_textbook$1 = "Prepared Textbook";
|
3381
3404
|
var enable_phone_pass_code$1 = "Enable phone pass code";
|
3382
3405
|
var custom$1 = "Custom";
|
@@ -3386,6 +3409,14 @@ var pass_code_length_must_be_n$1 = "Pass code length must be {{n}}";
|
|
3386
3409
|
var email_is_invalid = "Email is invalid";
|
3387
3410
|
var parent_phone_number_is_invalid$1 = "Parent phone number is invalid";
|
3388
3411
|
var parent_phone_number_is_required$1 = "Parent phone number is required";
|
3412
|
+
var update_schedule_successfully$1 = "Update schedule successfully";
|
3413
|
+
var delete_schedule_successfully$1 = "Delete schedule successfully";
|
3414
|
+
var group$1 = "Group";
|
3415
|
+
var update_schedule$1 = "Update Schedule";
|
3416
|
+
var back_month$1 = "Back Month";
|
3417
|
+
var today_schedule$1 = "Today's schedule";
|
3418
|
+
var schedule_achieved$1 = "Schedule achieved";
|
3419
|
+
var i_dont_have_my_phone_number_yet$1 = "I don't have my phone number yet";
|
3389
3420
|
var lang_en = {
|
3390
3421
|
problem_solving: problem_solving$1,
|
3391
3422
|
my_story: my_story$1,
|
@@ -4282,6 +4313,7 @@ var lang_en = {
|
|
4282
4313
|
category_required: category_required$1,
|
4283
4314
|
subject_required: subject_required$1,
|
4284
4315
|
academy_admin_teacher: academy_admin_teacher$1,
|
4316
|
+
academyadmin_teacher: academyadmin_teacher$1,
|
4285
4317
|
date_required: date_required$1,
|
4286
4318
|
start_time_required: start_time_required$1,
|
4287
4319
|
end_time_required: end_time_required$1,
|
@@ -4383,6 +4415,7 @@ var lang_en = {
|
|
4383
4415
|
information: information$1,
|
4384
4416
|
running_time: running_time$1,
|
4385
4417
|
hours_mins_seconds: hours_mins_seconds$1,
|
4418
|
+
create_schedule_successfully: create_schedule_successfully$1,
|
4386
4419
|
prepared_textbook: prepared_textbook$1,
|
4387
4420
|
enable_phone_pass_code: enable_phone_pass_code$1,
|
4388
4421
|
custom: custom$1,
|
@@ -4391,7 +4424,15 @@ var lang_en = {
|
|
4391
4424
|
pass_code_length_must_be_n: pass_code_length_must_be_n$1,
|
4392
4425
|
email_is_invalid: email_is_invalid,
|
4393
4426
|
parent_phone_number_is_invalid: parent_phone_number_is_invalid$1,
|
4394
|
-
parent_phone_number_is_required: parent_phone_number_is_required$1
|
4427
|
+
parent_phone_number_is_required: parent_phone_number_is_required$1,
|
4428
|
+
update_schedule_successfully: update_schedule_successfully$1,
|
4429
|
+
delete_schedule_successfully: delete_schedule_successfully$1,
|
4430
|
+
group: group$1,
|
4431
|
+
update_schedule: update_schedule$1,
|
4432
|
+
back_month: back_month$1,
|
4433
|
+
today_schedule: today_schedule$1,
|
4434
|
+
schedule_achieved: schedule_achieved$1,
|
4435
|
+
i_dont_have_my_phone_number_yet: i_dont_have_my_phone_number_yet$1
|
4395
4436
|
};
|
4396
4437
|
|
4397
4438
|
i18n.use(initReactI18next).init({
|
@@ -9215,20 +9256,31 @@ var VirtualListView = function VirtualListView(props) {
|
|
9215
9256
|
renderItem = props.renderItem,
|
9216
9257
|
emptyElement = props.emptyElement,
|
9217
9258
|
loading = props.loading,
|
9218
|
-
loadingElement = props.loadingElement
|
9219
|
-
|
9220
|
-
|
9221
|
-
|
9222
|
-
},
|
9223
|
-
|
9224
|
-
|
9225
|
-
|
9226
|
-
|
9227
|
-
|
9228
|
-
|
9229
|
-
|
9230
|
-
|
9231
|
-
|
9259
|
+
loadingElement = props.loadingElement,
|
9260
|
+
listHeight = props.listHeight;
|
9261
|
+
return React__default.createElement(Box, Object.assign({}, containerProps), React__default.createElement(AutoSizer, {
|
9262
|
+
disableHeight: !!listHeight
|
9263
|
+
}, function (_ref) {
|
9264
|
+
var width = _ref.width,
|
9265
|
+
height = _ref.height;
|
9266
|
+
return React__default.createElement(Box, {
|
9267
|
+
width: width,
|
9268
|
+
height: height,
|
9269
|
+
overflow: "auto"
|
9270
|
+
}, loading && React__default.createElement(Fragment$1, null, loadingElement != null ? loadingElement : React__default.createElement(Box, {
|
9271
|
+
p: 1,
|
9272
|
+
className: "d-flex justify-content-center align-items-center w-100"
|
9273
|
+
}, React__default.createElement(CircularProgress, {
|
9274
|
+
size: 24,
|
9275
|
+
sx: {
|
9276
|
+
color: "#5d5d5b"
|
9277
|
+
}
|
9278
|
+
}))), !loading && !data.length && React__default.createElement(VirtualTableEmpty, {
|
9279
|
+
emptyElement: emptyElement
|
9280
|
+
}), !loading && !!data.length && React__default.createElement(ListView, {
|
9281
|
+
data: data,
|
9282
|
+
render: renderItem
|
9283
|
+
}));
|
9232
9284
|
}));
|
9233
9285
|
};
|
9234
9286
|
|
@@ -9900,7 +9952,9 @@ var useLoginPhoneNumber = function useLoginPhoneNumber(props) {
|
|
9900
9952
|
var isAcademy = !!(user !== null && user !== void 0 && user.academyDomain) || !!(user !== null && user !== void 0 && user.isLearningSpace);
|
9901
9953
|
var needToRegister = isFirstLogin && isAcademy;
|
9902
9954
|
var redirectUrl = needToRegister ? registerUrl : isAcademy ? homeAcademyUrl : homeUrl;
|
9903
|
-
redirectLoginUser(
|
9955
|
+
redirectLoginUser(_extends({}, user, {
|
9956
|
+
isNotEnoughStatements: isFirstLogin
|
9957
|
+
}), token, redirectUrl);
|
9904
9958
|
setPhoneNumber("");
|
9905
9959
|
});
|
9906
9960
|
}, function (error) {
|
@@ -10243,10 +10297,12 @@ var signInApi = function signInApi(_ref) {
|
|
10243
10297
|
var signInWithEmailApi = function signInWithEmailApi(_ref2) {
|
10244
10298
|
var isAcademy = _ref2.isAcademy,
|
10245
10299
|
email = _ref2.email,
|
10246
|
-
reCaptcha = _ref2.reCaptcha
|
10300
|
+
reCaptcha = _ref2.reCaptcha,
|
10301
|
+
role = _ref2.role;
|
10247
10302
|
return api.post((isAcademy ? SIGN_IN_URL : SIGN_IN_SUPER_ADMIN_URL) + "/email", {
|
10248
10303
|
email: email,
|
10249
|
-
reCaptcha: reCaptcha
|
10304
|
+
reCaptcha: reCaptcha,
|
10305
|
+
role: role
|
10250
10306
|
}, {
|
10251
10307
|
headers: {
|
10252
10308
|
Domain: window.location.protocol + '//' + window.location.hostname + (window.location.port ? ':' + window.location.port : '')
|
@@ -10382,8 +10438,17 @@ var useLogin$1 = function useLogin(_ref) {
|
|
10382
10438
|
var isAcademy = !!(user !== null && user !== void 0 && user.academyDomain) || !!(user !== null && user !== void 0 && user.isLearningSpace);
|
10383
10439
|
var needToRegister = isFirstLogin && isAcademy;
|
10384
10440
|
var redirectUrl = needToRegister ? registerUrl : isAcademy ? homeAcademyUrl : homeUrl;
|
10441
|
+
console.log({
|
10442
|
+
isFirstLogin: isFirstLogin,
|
10443
|
+
isAcademy: isAcademy,
|
10444
|
+
token: token,
|
10445
|
+
user: user,
|
10446
|
+
redirectUrl: redirectUrl
|
10447
|
+
});
|
10385
10448
|
handleSwitchOTP(false);
|
10386
|
-
redirectLoginUser(
|
10449
|
+
redirectLoginUser(_extends({}, user, {
|
10450
|
+
isNotEnoughStatements: isFirstLogin
|
10451
|
+
}), token, redirectUrl);
|
10387
10452
|
});
|
10388
10453
|
}
|
10389
10454
|
}();
|
@@ -10394,7 +10459,8 @@ var useLogin$1 = function useLogin(_ref) {
|
|
10394
10459
|
return Promise.resolve(signInWithEmailApi({
|
10395
10460
|
isAcademy: isAcademyReq,
|
10396
10461
|
email: email,
|
10397
|
-
reCaptcha: tokenReCaptcha
|
10462
|
+
reCaptcha: tokenReCaptcha,
|
10463
|
+
role: role
|
10398
10464
|
})).then(function () {
|
10399
10465
|
toast.success(t("please_check_your_mailbox"));
|
10400
10466
|
handleSwitchOTP(true);
|
@@ -10499,6 +10565,7 @@ var useLogiQRCode = function useLogiQRCode(props) {
|
|
10499
10565
|
var _useState8 = useState(false),
|
10500
10566
|
error = _useState8[0],
|
10501
10567
|
setError = _useState8[1];
|
10568
|
+
var firstLoadRef = useRef(true);
|
10502
10569
|
var onVerify = useCallback(function (token) {
|
10503
10570
|
setTokenReCaptcha(token);
|
10504
10571
|
}, []);
|
@@ -10508,9 +10575,11 @@ var useLogiQRCode = function useLogiQRCode(props) {
|
|
10508
10575
|
setRefreshReCaptcha(function (b) {
|
10509
10576
|
return !b;
|
10510
10577
|
});
|
10578
|
+
firstLoadRef.current = false;
|
10511
10579
|
setLoadingQR(false);
|
10512
10580
|
};
|
10513
|
-
if (!tokenReCaptcha
|
10581
|
+
if (!tokenReCaptcha) return Promise.resolve();
|
10582
|
+
resetData();
|
10514
10583
|
setLoadingQR(true);
|
10515
10584
|
if (!academyDomain) localStorage.setItem(LEARNING_SPACE, "true");
|
10516
10585
|
var _temp = _catch(function () {
|
@@ -10545,8 +10614,8 @@ var useLogiQRCode = function useLogiQRCode(props) {
|
|
10545
10614
|
}
|
10546
10615
|
};
|
10547
10616
|
useEffect(function () {
|
10548
|
-
getQRCodeDataLogin();
|
10549
|
-
}, [academyDomain, tokenReCaptcha
|
10617
|
+
if (firstLoadRef.current) getQRCodeDataLogin();
|
10618
|
+
}, [academyDomain, tokenReCaptcha]);
|
10550
10619
|
useEffect(function () {
|
10551
10620
|
if (qrCodeData !== null && qrCodeData !== void 0 && qrCodeData.key) {
|
10552
10621
|
if (pusher.current) pusher.current.disconnect();
|
@@ -10582,11 +10651,12 @@ var useLogiQRCode = function useLogiQRCode(props) {
|
|
10582
10651
|
var isAcademy = !!(user !== null && user !== void 0 && user.academyDomain) || !!(user !== null && user !== void 0 && user.isLearningSpace);
|
10583
10652
|
var needToRegister = isFirstLogin && isAcademy;
|
10584
10653
|
var redirectUrl = needToRegister ? registerUrl : isAcademy ? homeAcademyUrl : homeUrl;
|
10585
|
-
redirectLoginUser(
|
10654
|
+
redirectLoginUser(_extends({}, user, {
|
10655
|
+
isNotEnoughStatements: isFirstLogin
|
10656
|
+
}), token, redirectUrl);
|
10586
10657
|
});
|
10587
|
-
}, function (
|
10658
|
+
}, function () {
|
10588
10659
|
setInvalid(true);
|
10589
|
-
toast.error(getErrorMessage(t, error));
|
10590
10660
|
});
|
10591
10661
|
return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3));
|
10592
10662
|
} catch (e) {
|
@@ -10615,7 +10685,7 @@ var useLogiQRCode = function useLogiQRCode(props) {
|
|
10615
10685
|
setError(false);
|
10616
10686
|
};
|
10617
10687
|
var handleGenerateNewAQRCode = function handleGenerateNewAQRCode() {
|
10618
|
-
|
10688
|
+
getQRCodeDataLogin();
|
10619
10689
|
};
|
10620
10690
|
return {
|
10621
10691
|
t: t,
|
@@ -10833,7 +10903,9 @@ var useLoginWithEmail = function useLoginWithEmail(_ref) {
|
|
10833
10903
|
var isAcademy = !!(user !== null && user !== void 0 && user.academyDomain) || !!(user !== null && user !== void 0 && user.isLearningSpace);
|
10834
10904
|
var needToRegister = isFirstLogin && isAcademy;
|
10835
10905
|
var redirectUrl = needToRegister ? registerUrl : isAcademy ? homeAcademyUrl : homeUrl;
|
10836
|
-
redirectLoginUser(
|
10906
|
+
redirectLoginUser(_extends({}, user, {
|
10907
|
+
isNotEnoughStatements: isFirstLogin
|
10908
|
+
}), token, redirectUrl);
|
10837
10909
|
});
|
10838
10910
|
}, function (error) {
|
10839
10911
|
console.log(error);
|
@@ -10893,7 +10965,7 @@ var useLogin$2 = function useLogin(_ref) {
|
|
10893
10965
|
passwordError = _useState2[0],
|
10894
10966
|
setPasswordError = _useState2[1];
|
10895
10967
|
var searchParams = new URLSearchParams(window.location.search);
|
10896
|
-
var paramDomain = searchParams.get(
|
10968
|
+
var paramDomain = searchParams.get("domain");
|
10897
10969
|
var academyDomain = paramDomain || getAcademyDomain();
|
10898
10970
|
var isStudent = role === Role.Student;
|
10899
10971
|
var isAcademyReq = isStudent || !!academyDomain;
|
@@ -10951,11 +11023,13 @@ var useLogin$2 = function useLogin(_ref) {
|
|
10951
11023
|
var isAcademy = !!(user !== null && user !== void 0 && user.academyDomain) || !!(user !== null && user !== void 0 && user.isLearningSpace);
|
10952
11024
|
var needToRegister = isFirstLogin && isAcademy;
|
10953
11025
|
var redirectUrl = needToRegister ? registerUrl : isAcademy ? homeAcademyUrl : homeUrl;
|
10954
|
-
redirectLoginUser(
|
11026
|
+
redirectLoginUser(_extends({}, user, {
|
11027
|
+
isNotEnoughStatements: isFirstLogin
|
11028
|
+
}), token, redirectUrl);
|
10955
11029
|
});
|
10956
11030
|
}, function (error) {
|
10957
11031
|
console.log(error);
|
10958
|
-
toast.error(getErrorMessage(t, error, t(
|
11032
|
+
toast.error(getErrorMessage(t, error, t("request_login_fail")));
|
10959
11033
|
}));
|
10960
11034
|
} catch (e) {
|
10961
11035
|
return Promise.reject(e);
|
@@ -11712,7 +11786,7 @@ var ErrorHandler = function ErrorHandler(_ref) {
|
|
11712
11786
|
var ClassForm = function ClassForm(_ref) {
|
11713
11787
|
var history = _ref.history,
|
11714
11788
|
formikProp = _ref.formikProp,
|
11715
|
-
|
11789
|
+
classId = _ref.classId,
|
11716
11790
|
data = _ref.data,
|
11717
11791
|
teachers = _ref.teachers,
|
11718
11792
|
disabled = _ref.disabled,
|
@@ -12077,7 +12151,7 @@ var ClassForm = function ClassForm(_ref) {
|
|
12077
12151
|
formikProp.handleSubmit();
|
12078
12152
|
},
|
12079
12153
|
disabled: disabled
|
12080
|
-
}, !
|
12154
|
+
}, !classId ? t("create_and_continue") : t("save_and_exit")), React__default.createElement(Button, {
|
12081
12155
|
color: "secondary",
|
12082
12156
|
className: "bg-secondary",
|
12083
12157
|
variant: "contained",
|
@@ -12981,8 +13055,9 @@ var _excluded$8 = ["getStudents"],
|
|
12981
13055
|
var PAGE_TITLE$4 = "classes";
|
12982
13056
|
var useClassDetail = function useClassDetail(_ref) {
|
12983
13057
|
var history = _ref.history,
|
12984
|
-
|
12985
|
-
role = _ref.role
|
13058
|
+
classId = _ref.classId,
|
13059
|
+
role = _ref.role,
|
13060
|
+
classListUrl = _ref.classListUrl;
|
12986
13061
|
var _useTranslation = useTranslation(),
|
12987
13062
|
t = _useTranslation.t;
|
12988
13063
|
var dispatch = useDispatch();
|
@@ -12993,8 +13068,11 @@ var useClassDetail = function useClassDetail(_ref) {
|
|
12993
13068
|
});
|
12994
13069
|
var roles = (user === null || user === void 0 ? void 0 : user.roles) || [];
|
12995
13070
|
var isOneRoleExists = roles.length === 1;
|
12996
|
-
var isAdmin = roles.includes(Role.Admin)
|
12997
|
-
var isTeacher = roles.includes(Role.Teacher) && !
|
13071
|
+
var isAdmin = roles.includes(Role.Admin);
|
13072
|
+
var isTeacher = roles.includes(Role.Teacher) && !isAdmin;
|
13073
|
+
var isSuperAdmin = user === null || user === void 0 ? void 0 : user.isSuperAdmin;
|
13074
|
+
var isteacherSite = role === Role.Teacher;
|
13075
|
+
var isDisabled = isAdmin && !isSuperAdmin && isteacherSite || isTeacher;
|
12998
13076
|
var _useState = useState(),
|
12999
13077
|
course = _useState[0],
|
13000
13078
|
setCourse = _useState[1];
|
@@ -13020,13 +13098,13 @@ var useClassDetail = function useClassDetail(_ref) {
|
|
13020
13098
|
var isSelected = function isSelected(id) {
|
13021
13099
|
return selected.indexOf(id) !== -1;
|
13022
13100
|
};
|
13023
|
-
var _useStudentClassList = useStudentClassList(
|
13101
|
+
var _useStudentClassList = useStudentClassList(classId),
|
13024
13102
|
getStudents = _useStudentClassList.getStudents,
|
13025
13103
|
studentListProps = _objectWithoutPropertiesLoose(_useStudentClassList, _excluded$8);
|
13026
|
-
var _useTeacherClassList = useTeacherClassList(
|
13104
|
+
var _useTeacherClassList = useTeacherClassList(classId),
|
13027
13105
|
getTeachers = _useTeacherClassList.getTeachers,
|
13028
13106
|
teacherListProps = _objectWithoutPropertiesLoose(_useTeacherClassList, _excluded2);
|
13029
|
-
var _useLessonClassList = useLessonClassList(
|
13107
|
+
var _useLessonClassList = useLessonClassList(classId),
|
13030
13108
|
getLessons = _useLessonClassList.getLessons,
|
13031
13109
|
lessonListProps = _objectWithoutPropertiesLoose(_useLessonClassList, _excluded3);
|
13032
13110
|
var selectedLesson = lessonListProps.selectedLesson,
|
@@ -13050,12 +13128,10 @@ var useClassDetail = function useClassDetail(_ref) {
|
|
13050
13128
|
isLoading && dispatch(setLoading(false));
|
13051
13129
|
};
|
13052
13130
|
var _exit = false;
|
13053
|
-
if (!
|
13054
|
-
var idNumber = +id;
|
13055
|
-
if (isNaN(idNumber)) return Promise.resolve();
|
13131
|
+
if (!classId) return Promise.resolve();
|
13056
13132
|
isLoading && dispatch(setLoading(true));
|
13057
13133
|
var _temp = _catch(function () {
|
13058
|
-
return Promise.resolve(getClassByIdApi(
|
13134
|
+
return Promise.resolve(getClassByIdApi(classId)).then(function (res) {
|
13059
13135
|
var classData = res.data;
|
13060
13136
|
if (!classData) {
|
13061
13137
|
toast.error(t("get_class_detail_error"));
|
@@ -13172,22 +13248,22 @@ var useClassDetail = function useClassDetail(_ref) {
|
|
13172
13248
|
var _temp12 = function _temp12() {
|
13173
13249
|
dispatch(setLoading(false));
|
13174
13250
|
};
|
13175
|
-
if (!
|
13251
|
+
if (!classId || !openSelectDialog) return Promise.resolve();
|
13176
13252
|
dispatch(setLoading(true));
|
13177
13253
|
var _temp11 = _catch(function () {
|
13178
13254
|
function _temp10() {
|
13179
13255
|
return Promise.resolve(handleGetDetailData(false)).then(function () {
|
13180
|
-
toast.success(t(
|
13256
|
+
toast.success(t(classId ? "update_class_successfully" : "create_class_successfully"));
|
13181
13257
|
handleCloseSelectDialog();
|
13182
13258
|
});
|
13183
13259
|
}
|
13184
13260
|
var _temp9 = function () {
|
13185
13261
|
if (openSelectDialog === "Student") {
|
13186
|
-
return Promise.resolve(addStudentToClass(
|
13262
|
+
return Promise.resolve(addStudentToClass(classId, userIds)).then(function () {
|
13187
13263
|
return Promise.resolve(getStudents()).then(function () {});
|
13188
13264
|
});
|
13189
13265
|
} else {
|
13190
|
-
return Promise.resolve(addTeacherToClass(
|
13266
|
+
return Promise.resolve(addTeacherToClass(classId, userIds)).then(function () {
|
13191
13267
|
return Promise.resolve(getTeachers()).then(function () {});
|
13192
13268
|
});
|
13193
13269
|
}
|
@@ -13222,16 +13298,16 @@ var useClassDetail = function useClassDetail(_ref) {
|
|
13222
13298
|
dispatch(setLoading(true));
|
13223
13299
|
var _temp15 = _catch(function () {
|
13224
13300
|
function _temp14() {
|
13225
|
-
toast.success(t(
|
13301
|
+
toast.success(t(classId ? "update_class_successfully" : "create_class_successfully"));
|
13226
13302
|
}
|
13227
13303
|
var _temp13 = function () {
|
13228
|
-
if (!
|
13304
|
+
if (!classId) {
|
13229
13305
|
return Promise.resolve(createClassApi(body)).then(function (res) {
|
13230
|
-
pushTo(history, "/
|
13306
|
+
pushTo(history, classListUrl + "/" + res.data.id);
|
13231
13307
|
});
|
13232
13308
|
} else {
|
13233
|
-
return Promise.resolve(updateClassApi(
|
13234
|
-
pushTo(history,
|
13309
|
+
return Promise.resolve(updateClassApi(classId, body)).then(function () {
|
13310
|
+
pushTo(history, classListUrl);
|
13235
13311
|
});
|
13236
13312
|
}
|
13237
13313
|
}();
|
@@ -13246,10 +13322,10 @@ var useClassDetail = function useClassDetail(_ref) {
|
|
13246
13322
|
};
|
13247
13323
|
var getStudentNotInClassList = function getStudentNotInClassList() {
|
13248
13324
|
try {
|
13249
|
-
if (!
|
13325
|
+
if (!classId) return Promise.resolve();
|
13250
13326
|
var _temp17 = _catch(function () {
|
13251
13327
|
var _textSearchRef$curren;
|
13252
|
-
return Promise.resolve(getStudentClassApi(
|
13328
|
+
return Promise.resolve(getStudentClassApi(classId, _extends({}, filter, {
|
13253
13329
|
textSearch: (_textSearchRef$curren = textSearchRef.current) === null || _textSearchRef$curren === void 0 ? void 0 : _textSearchRef$curren.value,
|
13254
13330
|
isInCourse: false
|
13255
13331
|
}))).then(function (res) {
|
@@ -13285,10 +13361,10 @@ var useClassDetail = function useClassDetail(_ref) {
|
|
13285
13361
|
};
|
13286
13362
|
var getTeacherNotInClassList = function getTeacherNotInClassList() {
|
13287
13363
|
try {
|
13288
|
-
if (!
|
13364
|
+
if (!classId) return Promise.resolve();
|
13289
13365
|
var _temp18 = _catch(function () {
|
13290
13366
|
var _textSearchRef$curren2;
|
13291
|
-
return Promise.resolve(getTeacherClassApi(
|
13367
|
+
return Promise.resolve(getTeacherClassApi(classId, _extends({}, filter, {
|
13292
13368
|
textSearch: (_textSearchRef$curren2 = textSearchRef.current) === null || _textSearchRef$curren2 === void 0 ? void 0 : _textSearchRef$curren2.value,
|
13293
13369
|
isInCourse: false
|
13294
13370
|
}))).then(function (res) {
|
@@ -13404,7 +13480,7 @@ var useClassDetail = function useClassDetail(_ref) {
|
|
13404
13480
|
};
|
13405
13481
|
useEffect(function () {
|
13406
13482
|
handleGetDetailData();
|
13407
|
-
}, [
|
13483
|
+
}, [classId]);
|
13408
13484
|
useEffect(function () {
|
13409
13485
|
handleFetchUsers();
|
13410
13486
|
}, [JSON.stringify(filter)]);
|
@@ -13412,9 +13488,9 @@ var useClassDetail = function useClassDetail(_ref) {
|
|
13412
13488
|
document.title = t("study_peak") + " | " + t(PAGE_TITLE$4);
|
13413
13489
|
}, [t]);
|
13414
13490
|
return {
|
13415
|
-
|
13491
|
+
classId: classId,
|
13416
13492
|
schema: schema,
|
13417
|
-
|
13493
|
+
isDisabled: isDisabled,
|
13418
13494
|
paging: paging,
|
13419
13495
|
filter: filter,
|
13420
13496
|
isTeacher: isTeacher,
|
@@ -13806,15 +13882,17 @@ var ClassDetail = function ClassDetail(_ref) {
|
|
13806
13882
|
history = _ref.history,
|
13807
13883
|
classListUrl = _ref.classListUrl,
|
13808
13884
|
role = _ref.role;
|
13885
|
+
var classId = !id || Number.isNaN(+id) ? 0 : +id;
|
13809
13886
|
var _useClassDetail = useClassDetail({
|
13810
13887
|
history: history,
|
13811
|
-
|
13812
|
-
role: role
|
13888
|
+
classId: classId,
|
13889
|
+
role: role,
|
13890
|
+
classListUrl: classListUrl
|
13813
13891
|
}),
|
13814
13892
|
schema = _useClassDetail.schema,
|
13815
13893
|
paging = _useClassDetail.paging,
|
13816
|
-
isAdmin = _useClassDetail.isAdmin,
|
13817
13894
|
isTeacher = _useClassDetail.isTeacher,
|
13895
|
+
isDisabled = _useClassDetail.isDisabled,
|
13818
13896
|
filter = _useClassDetail.filter,
|
13819
13897
|
listUserSelected = _useClassDetail.listUserSelected,
|
13820
13898
|
userList = _useClassDetail.userList,
|
@@ -13864,7 +13942,7 @@ var ClassDetail = function ClassDetail(_ref) {
|
|
13864
13942
|
if (selected === TabList$1[1].value) studentListProps.resetData();
|
13865
13943
|
if (selected === TabList$1[2].value) studentListProps.resetData();
|
13866
13944
|
}, [selected]);
|
13867
|
-
return React__default.createElement(Box, null, !!
|
13945
|
+
return React__default.createElement(Box, null, !!classId && React__default.createElement(Box, null, React__default.createElement(Stack, {
|
13868
13946
|
display: "flex",
|
13869
13947
|
flexDirection: "row",
|
13870
13948
|
gap: "8px"
|
@@ -13894,12 +13972,12 @@ var ClassDetail = function ClassDetail(_ref) {
|
|
13894
13972
|
direction: "row",
|
13895
13973
|
alignItems: "center",
|
13896
13974
|
justifyContent: "space-between",
|
13897
|
-
mt:
|
13975
|
+
mt: classId ? 2 : 0,
|
13898
13976
|
mb: 2,
|
13899
|
-
pt:
|
13977
|
+
pt: classId ? "12px" : "0px"
|
13900
13978
|
}, React__default.createElement(Typography, {
|
13901
13979
|
variant: "h4"
|
13902
|
-
}, t(!
|
13980
|
+
}, t(!classId ? "create_class" : !isDisabled ? "update_class" : "view_class"))), React__default.createElement(Formik, {
|
13903
13981
|
initialValues: DEFAULT_CLASS_REQUEST,
|
13904
13982
|
validationSchema: schema,
|
13905
13983
|
onSubmit: handleSubmit
|
@@ -13907,30 +13985,30 @@ var ClassDetail = function ClassDetail(_ref) {
|
|
13907
13985
|
return React__default.createElement(ClassForm, {
|
13908
13986
|
classListUrl: classListUrl,
|
13909
13987
|
history: history,
|
13910
|
-
|
13988
|
+
classId: classId,
|
13911
13989
|
formikProp: props,
|
13912
13990
|
data: classRequest,
|
13913
13991
|
teachers: teacherOptions,
|
13914
|
-
disabled:
|
13992
|
+
disabled: isDisabled,
|
13915
13993
|
onSearchTeachers: handleChangeTextSearchTeachers
|
13916
13994
|
});
|
13917
13995
|
})), React__default.createElement(CustomTabPanel, {
|
13918
13996
|
value: selected,
|
13919
13997
|
index: TabList$1[1].value
|
13920
|
-
}, !!
|
13921
|
-
disabled:
|
13998
|
+
}, !!classId && selected === TabList$1[1].value && React__default.createElement(StudentList, Object.assign({
|
13999
|
+
disabled: isDisabled && !isTeacher,
|
13922
14000
|
onAdd: handleOpenSelectDialog
|
13923
14001
|
}, studentListProps))), React__default.createElement(CustomTabPanel, {
|
13924
14002
|
value: selected,
|
13925
14003
|
index: TabList$1[2].value
|
13926
|
-
}, !!
|
13927
|
-
disabled:
|
14004
|
+
}, !!classId && selected === TabList$1[2].value && React__default.createElement(TeacherList, Object.assign({
|
14005
|
+
disabled: isDisabled,
|
13928
14006
|
onAdd: handleOpenSelectDialog
|
13929
14007
|
}, teacherListProps))), React__default.createElement(CustomTabPanel, {
|
13930
14008
|
value: selected,
|
13931
14009
|
index: TabList$1[3].value
|
13932
|
-
}, !!
|
13933
|
-
disabled:
|
14010
|
+
}, !!classId && selected === TabList$1[3].value && React__default.createElement(LessonList, Object.assign({
|
14011
|
+
disabled: isDisabled,
|
13934
14012
|
startDate: course === null || course === void 0 ? void 0 : course.startDate,
|
13935
14013
|
endDate: course === null || course === void 0 ? void 0 : course.endDate
|
13936
14014
|
}, lessonListProps, {
|
@@ -13938,7 +14016,7 @@ var ClassDetail = function ClassDetail(_ref) {
|
|
13938
14016
|
handleDeleteLessonClass: handleDeleteLessonClass,
|
13939
14017
|
teachers: teacherOptions,
|
13940
14018
|
onSearchTeachers: handleChangeTextSearchTeachers
|
13941
|
-
}))), (
|
14019
|
+
}))), (!isDisabled && !isTeacher || openSelectDialog === "Student") && React__default.createElement(SelectDialog, {
|
13942
14020
|
open: !!openSelectDialog,
|
13943
14021
|
isStudent: openSelectDialog === "Student",
|
13944
14022
|
onClose: handleCloseSelectDialog,
|
@@ -14104,6 +14182,10 @@ var ClassList = function ClassList(_ref) {
|
|
14104
14182
|
role = _ref.role,
|
14105
14183
|
classCreateUrl = _ref.classCreateUrl,
|
14106
14184
|
classUpdateUrl = _ref.classUpdateUrl;
|
14185
|
+
var isSuperAdmin = useSelector(function (state) {
|
14186
|
+
var _state$common, _state$common$user;
|
14187
|
+
return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : (_state$common$user = _state$common.user) === null || _state$common$user === void 0 ? void 0 : _state$common$user.isSuperAdmin;
|
14188
|
+
});
|
14107
14189
|
var isAdmin = role === Role.Admin;
|
14108
14190
|
var _useClassList = useClassList(history, classCreateUrl, classUpdateUrl),
|
14109
14191
|
t = _useClassList.t,
|
@@ -14127,7 +14209,7 @@ var ClassList = function ClassList(_ref) {
|
|
14127
14209
|
mb: 2
|
14128
14210
|
}, React__default.createElement(Typography, {
|
14129
14211
|
variant: "h4"
|
14130
|
-
}, t("classes")), isAdmin && React__default.createElement(MButton, {
|
14212
|
+
}, t("classes")), (isAdmin || isSuperAdmin) && React__default.createElement(MButton, {
|
14131
14213
|
variant: "contained",
|
14132
14214
|
color: "inherit",
|
14133
14215
|
startIcon: React__default.createElement(FaPlus, {
|
@@ -14167,7 +14249,7 @@ var ClassList = function ClassList(_ref) {
|
|
14167
14249
|
key: i.id
|
14168
14250
|
}, React__default.createElement(TableCell$1, null, (paging.page - 1) * paging.limit + index + 1), React__default.createElement(TableCell$1, {
|
14169
14251
|
className: "text-nowrap"
|
14170
|
-
}, i.name), React__default.createElement(TableCell$1, null, toLocalTime(i.startDate, t("date_format"))), React__default.createElement(TableCell$1, null, toLocalTime(i.endDate, t("date_format"))), React__default.createElement(TableCell$1, null, i.totalStudents), React__default.createElement(TableCell$1, null, i.totalTeachers), React__default.createElement(TableCell$1, null, i.totalLessons), React__default.createElement(TableCell$1, null, isAdmin && React__default.createElement("div", {
|
14252
|
+
}, i.name), React__default.createElement(TableCell$1, null, toLocalTime(i.startDate, t("date_format"))), React__default.createElement(TableCell$1, null, toLocalTime(i.endDate, t("date_format"))), React__default.createElement(TableCell$1, null, i.totalStudents), React__default.createElement(TableCell$1, null, i.totalTeachers), React__default.createElement(TableCell$1, null, i.totalLessons), React__default.createElement(TableCell$1, null, (isAdmin || isSuperAdmin) && React__default.createElement("div", {
|
14171
14253
|
className: "d-flex"
|
14172
14254
|
}, React__default.createElement(IconButton, {
|
14173
14255
|
color: "default",
|
@@ -14185,7 +14267,7 @@ var ClassList = function ClassList(_ref) {
|
|
14185
14267
|
}
|
14186
14268
|
}, React__default.createElement(FaTrashCan, {
|
14187
14269
|
size: 12
|
14188
|
-
}))), !isAdmin && React__default.createElement(IconButton, {
|
14270
|
+
}))), !(isAdmin || isSuperAdmin) && React__default.createElement(IconButton, {
|
14189
14271
|
color: "default",
|
14190
14272
|
className: "bg-primary text-white me-1",
|
14191
14273
|
onClick: function onClick() {
|
@@ -19146,6 +19228,7 @@ var NoteItem = function NoteItem(_ref) {
|
|
19146
19228
|
}),
|
19147
19229
|
placement: placement
|
19148
19230
|
}, React__default.createElement(IconButton, {
|
19231
|
+
disabled: !actions.length,
|
19149
19232
|
onClick: handleMoreClick
|
19150
19233
|
}, React__default.createElement(MdMoreHoriz, {
|
19151
19234
|
color: "#5d5d5b"
|
@@ -19453,11 +19536,10 @@ var useExamResultData = function useExamResultData(props) {
|
|
19453
19536
|
var getData = function getData() {
|
19454
19537
|
resetData();
|
19455
19538
|
if (!(user !== null && user !== void 0 && user.email)) return;
|
19456
|
-
|
19457
|
-
!isStudent && getStudentDataByTeacher(examSessionId, studentId);
|
19539
|
+
if (chapterId) getDataTextbookResult();else isStudent ? getStudentData(examCode) : getStudentDataByTeacher(examSessionId, studentId);
|
19458
19540
|
};
|
19459
19541
|
examCode === "example-code" ? setExampleData() : getData();
|
19460
|
-
}, [examCode, isStudent, code, examSessionId, studentId, user === null || user === void 0 ? void 0 : user.email]);
|
19542
|
+
}, [examCode, isStudent, code, examSessionId, studentId, chapterId, user === null || user === void 0 ? void 0 : user.email]);
|
19461
19543
|
var handlePrevChart = function handlePrevChart() {
|
19462
19544
|
if (dataChartIndex > 0) {
|
19463
19545
|
setDataChartIndex(dataChartIndex - 1);
|
@@ -20913,6 +20995,9 @@ var UserSchema = object().shape({
|
|
20913
20995
|
},
|
20914
20996
|
then: function then(schema) {
|
20915
20997
|
return schema.trim().required("school_name_is_required");
|
20998
|
+
},
|
20999
|
+
otherwise: function otherwise(schema) {
|
21000
|
+
return schema.notRequired();
|
20916
21001
|
}
|
20917
21002
|
}),
|
20918
21003
|
grade: number().transform(function (value) {
|
@@ -20923,6 +21008,9 @@ var UserSchema = object().shape({
|
|
20923
21008
|
},
|
20924
21009
|
then: function then(schema) {
|
20925
21010
|
return schema.required("student_grade_is_required").typeError("student_grade_is_required").min(1, "student_grade_is_invalid").max(12, "student_grade_is_invalid");
|
21011
|
+
},
|
21012
|
+
otherwise: function otherwise(schema) {
|
21013
|
+
return schema.notRequired();
|
20926
21014
|
}
|
20927
21015
|
}),
|
20928
21016
|
major: string().when("role", {
|
@@ -20931,6 +21019,9 @@ var UserSchema = object().shape({
|
|
20931
21019
|
},
|
20932
21020
|
then: function then(schema) {
|
20933
21021
|
return schema.trim().required("major_is_required");
|
21022
|
+
},
|
21023
|
+
otherwise: function otherwise(schema) {
|
21024
|
+
return schema.notRequired();
|
20934
21025
|
}
|
20935
21026
|
}),
|
20936
21027
|
parentPhoneNumber: string().when("role", {
|
@@ -20941,6 +21032,9 @@ var UserSchema = object().shape({
|
|
20941
21032
|
return schema.trim().matches(phoneRegExp, {
|
20942
21033
|
message: "parent_phone_number_is_invalid"
|
20943
21034
|
}).min(10, "parent_phone_number_is_invalid").required("parent_phone_number_is_required");
|
21035
|
+
},
|
21036
|
+
otherwise: function otherwise(schema) {
|
21037
|
+
return schema.notRequired();
|
20944
21038
|
}
|
20945
21039
|
}),
|
20946
21040
|
parentName: string().when("role", {
|
@@ -20949,6 +21043,9 @@ var UserSchema = object().shape({
|
|
20949
21043
|
},
|
20950
21044
|
then: function then(schema) {
|
20951
21045
|
return schema.trim().required("parent_name_is_required");
|
21046
|
+
},
|
21047
|
+
otherwise: function otherwise(schema) {
|
21048
|
+
return schema.notRequired();
|
20952
21049
|
}
|
20953
21050
|
}),
|
20954
21051
|
subjectId: number().when("role", {
|
@@ -21488,7 +21585,8 @@ var UserDialog = function UserDialog(_ref) {
|
|
21488
21585
|
size: "1rem"
|
21489
21586
|
}) : React__default.createElement(IconButton, {
|
21490
21587
|
className: "bg-success",
|
21491
|
-
onClick: getDefaultPassCode
|
21588
|
+
onClick: getDefaultPassCode,
|
21589
|
+
disabled: disabled
|
21492
21590
|
}, React__default.createElement(FaRotateRight, {
|
21493
21591
|
color: "#FFF",
|
21494
21592
|
size: 10
|
@@ -21515,7 +21613,8 @@ var UserDialog = function UserDialog(_ref) {
|
|
21515
21613
|
disabled: disabled
|
21516
21614
|
}), React__default.createElement(Box, null, React__default.createElement(IconButton, {
|
21517
21615
|
className: "bg-success",
|
21518
|
-
onClick: getRandomPassCode
|
21616
|
+
onClick: getRandomPassCode,
|
21617
|
+
disabled: disabled
|
21519
21618
|
}, React__default.createElement(FaRotateRight, {
|
21520
21619
|
color: "#FFF",
|
21521
21620
|
size: 10
|
@@ -22176,6 +22275,10 @@ var RecentUserActionDialog = function RecentUserActionDialog(_ref) {
|
|
22176
22275
|
|
22177
22276
|
var UserList = function UserList(_ref) {
|
22178
22277
|
var role = _ref.role;
|
22278
|
+
var isSuperAdmin = useSelector(function (state) {
|
22279
|
+
var _state$common, _state$common$user;
|
22280
|
+
return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : (_state$common$user = _state$common.user) === null || _state$common$user === void 0 ? void 0 : _state$common$user.isSuperAdmin;
|
22281
|
+
});
|
22179
22282
|
var isAdmin = role === Role.Admin;
|
22180
22283
|
var _useUserList = useUserList(role),
|
22181
22284
|
userHeaders = _useUserList.userHeaders,
|
@@ -22229,7 +22332,7 @@ var UserList = function UserList(_ref) {
|
|
22229
22332
|
mb: 2
|
22230
22333
|
}, React__default.createElement(Typography, {
|
22231
22334
|
variant: "h4"
|
22232
|
-
}, t("users")), isAdmin && React__default.createElement("div", {
|
22335
|
+
}, t("users")), (isAdmin || isSuperAdmin) && React__default.createElement("div", {
|
22233
22336
|
className: "d-flex"
|
22234
22337
|
}, React__default.createElement("input", {
|
22235
22338
|
type: "file",
|
@@ -22337,7 +22440,7 @@ var UserList = function UserList(_ref) {
|
|
22337
22440
|
key: i.id
|
22338
22441
|
}, React__default.createElement(TableCell$1, null, (paging.page - 1) * paging.limit + index + 1), React__default.createElement(TableCell$1, null, i.email), React__default.createElement(TableCell$1, null, i.fullName), React__default.createElement(TableCell$1, null, i.phoneNumber), React__default.createElement(TableCell$1, null, utcToLocalTime(i.createdAt, t("date_time_format"))), React__default.createElement(TableCell$1, null, (_i$classes = i.classes) === null || _i$classes === void 0 ? void 0 : _i$classes.join(", ")), React__default.createElement(TableCell$1, null, (_i$subject = i.subject) === null || _i$subject === void 0 ? void 0 : _i$subject.name), React__default.createElement(TableCell$1, null, !!i.roles && formatRole(i.roles, t)), React__default.createElement(TableCell$1, null, React__default.createElement("div", {
|
22339
22442
|
className: "d-flex"
|
22340
|
-
}, isAdmin ? React__default.createElement(IconButton, {
|
22443
|
+
}, isAdmin || isSuperAdmin ? React__default.createElement(IconButton, {
|
22341
22444
|
color: "default",
|
22342
22445
|
className: styles$5["action-btn"] + " bg-warning text-white me-2",
|
22343
22446
|
onClick: function onClick() {
|
@@ -22354,7 +22457,7 @@ var UserList = function UserList(_ref) {
|
|
22354
22457
|
}
|
22355
22458
|
}, React__default.createElement(FaEye$1, {
|
22356
22459
|
size: 12
|
22357
|
-
})), isAdmin && React__default.createElement(IconButton, {
|
22460
|
+
})), (isAdmin || isSuperAdmin) && React__default.createElement(IconButton, {
|
22358
22461
|
onClick: function onClick() {
|
22359
22462
|
return openDeleteDialog(i);
|
22360
22463
|
},
|
@@ -22384,14 +22487,14 @@ var UserList = function UserList(_ref) {
|
|
22384
22487
|
}), React__default.createElement(UserDialog, {
|
22385
22488
|
open: openUserDialog,
|
22386
22489
|
data: userDetail,
|
22387
|
-
disabled: !isAdmin,
|
22490
|
+
disabled: !(isAdmin || isSuperAdmin),
|
22388
22491
|
onClose: handleCloseUserDialog,
|
22389
22492
|
onSubmitForm: handleCreateOrUpdateUser
|
22390
22493
|
}), React__default.createElement(RecentUserActionDialog, {
|
22391
22494
|
open: isOpenRecentUserActionDialog,
|
22392
22495
|
onClose: handleCloseRecentUserActionDialog,
|
22393
22496
|
recentUserActions: recentUserActions
|
22394
|
-
}), isAdmin && React__default.createElement(DeleteUserCsvDialog, {
|
22497
|
+
}), (isAdmin || isSuperAdmin) && React__default.createElement(DeleteUserCsvDialog, {
|
22395
22498
|
open: isOpenDeleteUserCsv,
|
22396
22499
|
file: deleteFile,
|
22397
22500
|
onChangeFile: handleChangeDeleteFile,
|
@@ -23703,9 +23806,6 @@ var TextbookDefaultQuery = {
|
|
23703
23806
|
sortColumnDirection: OrderType.ASC,
|
23704
23807
|
sortColumnName: TextbookSortBy.Title
|
23705
23808
|
};
|
23706
|
-
var TEXTBOOK_URL$1 = "/teacher/teacher-admin/textbooks";
|
23707
|
-
var ADMIN_TEXTBOOK_URL = "/textbooks";
|
23708
|
-
var SUPER_ADMIN_TEXTBOOK_URL = "/personal/textbooks";
|
23709
23809
|
var DEFAULT_TEXTBOOK = {
|
23710
23810
|
name: "",
|
23711
23811
|
chapters: []
|
@@ -23873,7 +23973,9 @@ var useTextbookDetail = function useTextbookDetail(props) {
|
|
23873
23973
|
isReadonlyParam = props.isReadonlyParam,
|
23874
23974
|
navigate = props.navigate,
|
23875
23975
|
id = props.id,
|
23876
|
-
isSuperAdmin = props.isSuperAdmin
|
23976
|
+
isSuperAdmin = props.isSuperAdmin,
|
23977
|
+
onNavigateDetail = props.onNavigateDetail,
|
23978
|
+
onNavigateList = props.onNavigateList;
|
23877
23979
|
var _useTranslation = useTranslation(),
|
23878
23980
|
t = _useTranslation.t;
|
23879
23981
|
var dispatch = useDispatch();
|
@@ -23906,7 +24008,6 @@ var useTextbookDetail = function useTextbookDetail(props) {
|
|
23906
24008
|
var _useState9 = useState([]),
|
23907
24009
|
categoryList = _useState9[0],
|
23908
24010
|
setCategoryList = _useState9[1];
|
23909
|
-
var textbookUrl = isSuperAdmin ? SUPER_ADMIN_TEXTBOOK_URL : role === Role.Teacher ? TEXTBOOK_URL$1 : ADMIN_TEXTBOOK_URL;
|
23910
24011
|
var isAdminSite = role === Role.Admin;
|
23911
24012
|
var user = useSelector(function (state) {
|
23912
24013
|
var _state$common;
|
@@ -24466,10 +24567,7 @@ var useTextbookDetail = function useTextbookDetail(props) {
|
|
24466
24567
|
subjectId: textbook.subject.id
|
24467
24568
|
};
|
24468
24569
|
return Promise.resolve(createTextbookApi(_body)).then(function (res) {
|
24469
|
-
|
24470
|
-
navigate(textbookUrl + "/" + textbookId, {
|
24471
|
-
replace: true
|
24472
|
-
});
|
24570
|
+
onNavigateDetail === null || onNavigateDetail === void 0 ? void 0 : onNavigateDetail(res.data, false, true);
|
24473
24571
|
});
|
24474
24572
|
}
|
24475
24573
|
}();
|
@@ -24512,9 +24610,7 @@ var useTextbookDetail = function useTextbookDetail(props) {
|
|
24512
24610
|
}
|
24513
24611
|
};
|
24514
24612
|
var handleGoToTextbookList = function handleGoToTextbookList() {
|
24515
|
-
|
24516
|
-
replace: true
|
24517
|
-
});
|
24613
|
+
onNavigateList(true);
|
24518
24614
|
};
|
24519
24615
|
var textbookSubject = useMemo(function () {
|
24520
24616
|
return textbook !== null && textbook !== void 0 && textbook.subject ? {
|
@@ -24910,7 +25006,8 @@ var TextbookViewDetail = function TextbookViewDetail(props) {
|
|
24910
25006
|
var _textbook$chapters;
|
24911
25007
|
var navigate = props.navigate,
|
24912
25008
|
as = props.as,
|
24913
|
-
className = props.className
|
25009
|
+
className = props.className,
|
25010
|
+
onNavigateDetail = props.onNavigateDetail;
|
24914
25011
|
var _useTextbookDetail = useTextbookDetail(props),
|
24915
25012
|
id = _useTextbookDetail.id,
|
24916
25013
|
t = _useTextbookDetail.t,
|
@@ -24959,7 +25056,7 @@ var TextbookViewDetail = function TextbookViewDetail(props) {
|
|
24959
25056
|
}),
|
24960
25057
|
categoryOptions = _useCategorySelect.categoryOptions;
|
24961
25058
|
var Wrapper = as || Container;
|
24962
|
-
if (isNotFound) return React__default.createElement(NotFound, {
|
25059
|
+
if (isNotFound || id && textbook.isPrepared) return React__default.createElement(NotFound, {
|
24963
25060
|
history: navigate
|
24964
25061
|
});
|
24965
25062
|
return React__default.createElement(Wrapper, {
|
@@ -25039,7 +25136,7 @@ var TextbookViewDetail = function TextbookViewDetail(props) {
|
|
25039
25136
|
textbook: textbook,
|
25040
25137
|
onBack: handleGoToTextbookList,
|
25041
25138
|
onSave: handleCreateOrUpdateTextbook,
|
25042
|
-
hideSave: !!id && isReadonly
|
25139
|
+
hideSave: !!id && isReadonly || !onNavigateDetail
|
25043
25140
|
}))), React__default.createElement(Grid, {
|
25044
25141
|
item: true,
|
25045
25142
|
xs: 12,
|
@@ -25117,8 +25214,8 @@ var TextbookViewDetail = function TextbookViewDetail(props) {
|
|
25117
25214
|
|
25118
25215
|
var PAGE_TITLE$7 = "textbooks";
|
25119
25216
|
var useTextbookList = function useTextbookList(props) {
|
25120
|
-
var
|
25121
|
-
|
25217
|
+
var onNavigateCreate = props.onNavigateCreate,
|
25218
|
+
onNavigateDetail = props.onNavigateDetail,
|
25122
25219
|
isSuperAdmin = props.isSuperAdmin;
|
25123
25220
|
var _useList = useList(function (search) {
|
25124
25221
|
return getTextbookListApi(search, isSuperAdmin);
|
@@ -25136,21 +25233,15 @@ var useTextbookList = function useTextbookList(props) {
|
|
25136
25233
|
getData = _useList.getData;
|
25137
25234
|
var _useTranslation = useTranslation(),
|
25138
25235
|
t = _useTranslation.t;
|
25139
|
-
var textbookUrl = isSuperAdmin ? SUPER_ADMIN_TEXTBOOK_URL : role === Role.Teacher ? TEXTBOOK_URL$1 : ADMIN_TEXTBOOK_URL;
|
25140
25236
|
var dispatch = useDispatch();
|
25141
|
-
var handleViewTextbook = function handleViewTextbook(
|
25142
|
-
|
25143
|
-
navigate(textbookUrl + "/" + id + "?readonly=true", {
|
25144
|
-
replace: true
|
25145
|
-
});
|
25237
|
+
var handleViewTextbook = function handleViewTextbook(data) {
|
25238
|
+
onNavigateDetail(data, true, true);
|
25146
25239
|
};
|
25147
|
-
var handleUpdateTextbook = function handleUpdateTextbook(
|
25148
|
-
|
25149
|
-
replace: true
|
25150
|
-
});
|
25240
|
+
var handleUpdateTextbook = function handleUpdateTextbook(data) {
|
25241
|
+
onNavigateDetail(data, false, true);
|
25151
25242
|
};
|
25152
25243
|
var handleCreateTextbook = function handleCreateTextbook() {
|
25153
|
-
|
25244
|
+
onNavigateCreate === null || onNavigateCreate === void 0 ? void 0 : onNavigateCreate();
|
25154
25245
|
};
|
25155
25246
|
var toggleConfirmDialog = function toggleConfirmDialog() {
|
25156
25247
|
handleChangeSelectedItem(undefined);
|
@@ -25379,7 +25470,7 @@ var useTextbookShare = function useTextbookShare(props) {
|
|
25379
25470
|
var getData = props.getData,
|
25380
25471
|
role = props.role,
|
25381
25472
|
isSuperAdmin = props.isSuperAdmin;
|
25382
|
-
var _useList = useList(
|
25473
|
+
var _useList = useList(!isSuperAdmin ? function (search) {
|
25383
25474
|
return getTeacherListApi$1(search);
|
25384
25475
|
} : null, DefaultTeacherQuery),
|
25385
25476
|
filterShare = _useList.filter,
|
@@ -25419,8 +25510,10 @@ var useTextbookShare = function useTextbookShare(props) {
|
|
25419
25510
|
var _state$common;
|
25420
25511
|
return (state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user) || {};
|
25421
25512
|
});
|
25422
|
-
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);
|
25513
|
+
var isAdmin = infoUser && (infoUser === null || infoUser === void 0 ? void 0 : (_infoUser$roles = infoUser.roles) === null || _infoUser$roles === void 0 ? void 0 : _infoUser$roles.includes(Role.Admin));
|
25423
25514
|
var isAdminSite = role === Role.Admin;
|
25515
|
+
var onAcademy = !!infoUser.academyDomain;
|
25516
|
+
var isSuperAdminUser = infoUser && infoUser.isSuperAdmin;
|
25424
25517
|
useEffect(function () {
|
25425
25518
|
if (!isUpdate) {
|
25426
25519
|
filterTeacherNotShared(currentModel);
|
@@ -25429,6 +25522,8 @@ var useTextbookShare = function useTextbookShare(props) {
|
|
25429
25522
|
}
|
25430
25523
|
}, [teachers, isUpdate]);
|
25431
25524
|
var handleOpenShareDialog = function handleOpenShareDialog(textbook) {
|
25525
|
+
if (textSearchShareRef.current) textSearchShareRef.current.value = "";
|
25526
|
+
getData();
|
25432
25527
|
setIsUpdate(false);
|
25433
25528
|
setOpenShareDialog(true);
|
25434
25529
|
setCurrentModel(textbook);
|
@@ -25453,6 +25548,8 @@ var useTextbookShare = function useTextbookShare(props) {
|
|
25453
25548
|
setSelectedShare([]);
|
25454
25549
|
};
|
25455
25550
|
var handleOpenUpdateShareDialog = function handleOpenUpdateShareDialog(textbook) {
|
25551
|
+
if (textSearchShareRef.current) textSearchShareRef.current.value = "";
|
25552
|
+
getData();
|
25456
25553
|
setIsUpdate(true);
|
25457
25554
|
setOpenShareDialog(true);
|
25458
25555
|
setCurrentModel(textbook);
|
@@ -25507,8 +25604,11 @@ var useTextbookShare = function useTextbookShare(props) {
|
|
25507
25604
|
});
|
25508
25605
|
setShared(existsTeachers);
|
25509
25606
|
};
|
25510
|
-
var
|
25511
|
-
return
|
25607
|
+
var enabledSave = function enabledSave(textbook) {
|
25608
|
+
return isAdminSite || isSuperAdmin || isSuperAdminUser || !isAdmin && textbook.isShared && textbook.createdBy.id === infoUser.id;
|
25609
|
+
};
|
25610
|
+
var enabledShare = function enabledShare(textbook) {
|
25611
|
+
return textbook.isShared && onAcademy && (isAdminSite || isSuperAdminUser || !isAdmin && textbook.createdBy.id === infoUser.id);
|
25512
25612
|
};
|
25513
25613
|
var handleShareTextbook = function handleShareTextbook(teacherIds, textbookId) {
|
25514
25614
|
try {
|
@@ -25586,13 +25686,16 @@ var useTextbookShare = function useTextbookShare(props) {
|
|
25586
25686
|
isUpdate: isUpdate,
|
25587
25687
|
handleUpdateSharedTextbook: handleUpdateSharedTextbook,
|
25588
25688
|
currentModel: currentModel,
|
25589
|
-
|
25689
|
+
enabledSave: enabledSave,
|
25690
|
+
enabledShare: enabledShare,
|
25590
25691
|
isAdmin: isAdmin,
|
25591
25692
|
isAdminSite: isAdminSite
|
25592
25693
|
};
|
25593
25694
|
};
|
25594
25695
|
|
25595
25696
|
var TextbookList = function TextbookList(props) {
|
25697
|
+
var _props$createable = props.createable,
|
25698
|
+
createable = _props$createable === void 0 ? true : _props$createable;
|
25596
25699
|
var _useTranslation = useTranslation(),
|
25597
25700
|
t = _useTranslation.t;
|
25598
25701
|
var _useTextbookList = useTextbookList(props),
|
@@ -25638,9 +25741,8 @@ var TextbookList = function TextbookList(props) {
|
|
25638
25741
|
isUpdate = _useTextbookShare.isUpdate,
|
25639
25742
|
handleUpdateSharedTextbook = _useTextbookShare.handleUpdateSharedTextbook,
|
25640
25743
|
currentModel = _useTextbookShare.currentModel,
|
25641
|
-
|
25642
|
-
|
25643
|
-
isAdminSite = _useTextbookShare.isAdminSite;
|
25744
|
+
enabledSave = _useTextbookShare.enabledSave,
|
25745
|
+
enabledShare = _useTextbookShare.enabledShare;
|
25644
25746
|
return React__default.createElement(LayoutList, {
|
25645
25747
|
title: t(TEXTBOOK_PAGE_TITLE)
|
25646
25748
|
}, React__default.createElement(Grid, {
|
@@ -25662,14 +25764,14 @@ var TextbookList = function TextbookList(props) {
|
|
25662
25764
|
justifyContent: "flex-end"
|
25663
25765
|
},
|
25664
25766
|
spacing: 2
|
25665
|
-
},
|
25767
|
+
}, createable && React__default.createElement(Button, {
|
25666
25768
|
startIcon: React__default.createElement(FaPlus, {
|
25667
25769
|
size: 12
|
25668
25770
|
}),
|
25669
25771
|
variant: "contained",
|
25670
25772
|
color: "primary",
|
25671
25773
|
onClick: handleCreateTextbook,
|
25672
|
-
className:
|
25774
|
+
className: "bg-success text-white"
|
25673
25775
|
}, t("create_textbook")))), React__default.createElement(Grid, {
|
25674
25776
|
item: true,
|
25675
25777
|
xs: 12,
|
@@ -25691,32 +25793,32 @@ var TextbookList = function TextbookList(props) {
|
|
25691
25793
|
alignItems: "center"
|
25692
25794
|
}, React__default.createElement(IconButton, {
|
25693
25795
|
color: "default",
|
25694
|
-
className: (
|
25796
|
+
className: (!enabledSave(i) ? "bg-secondary" : "bg-warning") + " text-white",
|
25695
25797
|
onClick: function onClick() {
|
25696
|
-
return handleUpdateTextbook(i
|
25798
|
+
return handleUpdateTextbook(i);
|
25697
25799
|
},
|
25698
|
-
disabled:
|
25800
|
+
disabled: !enabledSave(i)
|
25699
25801
|
}, React__default.createElement(FaPencil, {
|
25700
25802
|
size: 12
|
25701
25803
|
})), React__default.createElement(IconButton, {
|
25702
25804
|
color: "default",
|
25703
25805
|
className: "bg-primary text-white",
|
25704
25806
|
onClick: function onClick() {
|
25705
|
-
return handleViewTextbook(i
|
25807
|
+
return handleViewTextbook(i);
|
25706
25808
|
}
|
25707
25809
|
}, React__default.createElement(FaEye$1, {
|
25708
25810
|
size: 12
|
25709
25811
|
})), React__default.createElement(IconButton, {
|
25710
|
-
disabled:
|
25711
|
-
className: (
|
25812
|
+
disabled: !enabledShare(i),
|
25813
|
+
className: (!enabledShare(i) ? "bg-secondary" : "bg-info") + " text-white me-1",
|
25712
25814
|
onClick: function onClick() {
|
25713
25815
|
return handleOpenShareDialog(i);
|
25714
25816
|
}
|
25715
25817
|
}, React__default.createElement(FaShare, {
|
25716
25818
|
size: 12
|
25717
25819
|
})), React__default.createElement(IconButton, {
|
25718
|
-
disabled:
|
25719
|
-
className: (
|
25820
|
+
disabled: !enabledShare(i),
|
25821
|
+
className: (!enabledShare(i) ? "bg-secondary" : "bg-success") + " text-white me-1",
|
25720
25822
|
onClick: function onClick() {
|
25721
25823
|
return handleOpenUpdateShareDialog(i);
|
25722
25824
|
}
|
@@ -25724,11 +25826,11 @@ var TextbookList = function TextbookList(props) {
|
|
25724
25826
|
size: 12
|
25725
25827
|
})), React__default.createElement(IconButton, {
|
25726
25828
|
color: "default",
|
25727
|
-
className: (
|
25829
|
+
className: (!enabledSave(i) ? "bg-secondary" : "bg-danger") + " text-white mr-1",
|
25728
25830
|
onClick: function onClick() {
|
25729
25831
|
return handleSelectDeleteTextbook(i);
|
25730
25832
|
},
|
25731
|
-
disabled:
|
25833
|
+
disabled: !enabledSave(i)
|
25732
25834
|
}, React__default.createElement(FaTrash, {
|
25733
25835
|
size: 12
|
25734
25836
|
})))));
|
@@ -27493,8 +27595,8 @@ var CourseSelector = function CourseSelector(_ref) {
|
|
27493
27595
|
}));
|
27494
27596
|
};
|
27495
27597
|
|
27496
|
-
var TEXTBOOK_URL$
|
27497
|
-
var SUPER_ADMIN_TEXTBOOK_URL
|
27598
|
+
var TEXTBOOK_URL$1 = BASE_URL + "/api/textbooks";
|
27599
|
+
var SUPER_ADMIN_TEXTBOOK_URL = SUPER_ADMIN_BASE_URL + "/api/textbook";
|
27498
27600
|
var PREPARED_TEXTBOOK_URL = BASE_URL + "/api/textbooks/prepared-textbooks";
|
27499
27601
|
var SUPER_ADMIN_PREPARED_TEXTBOOK_URL = SUPER_ADMIN_BASE_URL + "/api/textbook/prepared-textbooks";
|
27500
27602
|
var FILE_URL = BASE_URL + "/api/file/images";
|
@@ -27503,7 +27605,7 @@ var uploadImageFileApi = function uploadImageFileApi(formData, isAdmin) {
|
|
27503
27605
|
return apiUpload.post("" + (isAdmin ? SUPER_FILE_URL : FILE_URL), formData);
|
27504
27606
|
};
|
27505
27607
|
var getTextbookDetailApi = function getTextbookDetailApi(id, isAdmin) {
|
27506
|
-
return api.get((isAdmin ? SUPER_ADMIN_PREPARED_TEXTBOOK_URL : TEXTBOOK_URL$
|
27608
|
+
return api.get((isAdmin ? SUPER_ADMIN_PREPARED_TEXTBOOK_URL : TEXTBOOK_URL$1) + "/" + id);
|
27507
27609
|
};
|
27508
27610
|
var getTextbookListApi$1 = function getTextbookListApi(query, isAdmin) {
|
27509
27611
|
return api.get("" + (isAdmin ? SUPER_ADMIN_PREPARED_TEXTBOOK_URL : PREPARED_TEXTBOOK_URL), {
|
@@ -27517,14 +27619,14 @@ var updateTextbookApi$1 = function updateTextbookApi(values, id, isAdmin) {
|
|
27517
27619
|
return api.put((isAdmin ? SUPER_ADMIN_PREPARED_TEXTBOOK_URL : PREPARED_TEXTBOOK_URL) + "/" + id, values);
|
27518
27620
|
};
|
27519
27621
|
var getAcademyByTeacher = function getAcademyByTeacher(email, isAdmin) {
|
27520
|
-
return api.get((isAdmin ? SUPER_ADMIN_TEXTBOOK_URL
|
27622
|
+
return api.get((isAdmin ? SUPER_ADMIN_TEXTBOOK_URL : TEXTBOOK_URL$1) + "/academy-teacher-owner", {
|
27521
27623
|
params: {
|
27522
27624
|
email: email
|
27523
27625
|
}
|
27524
27626
|
});
|
27525
27627
|
};
|
27526
27628
|
var deleteTextbookApi$1 = function deleteTextbookApi(textbookId, isAdmin) {
|
27527
|
-
return api["delete"]((isAdmin ? SUPER_ADMIN_PREPARED_TEXTBOOK_URL : TEXTBOOK_URL$
|
27629
|
+
return api["delete"]((isAdmin ? SUPER_ADMIN_PREPARED_TEXTBOOK_URL : TEXTBOOK_URL$1) + "/" + textbookId);
|
27528
27630
|
};
|
27529
27631
|
|
27530
27632
|
var useSelect = function useSelect(_ref) {
|
@@ -27773,8 +27875,8 @@ var TextbookOwners = function TextbookOwners(_ref) {
|
|
27773
27875
|
};
|
27774
27876
|
|
27775
27877
|
var useTextbookManagement = function useTextbookManagement(_ref) {
|
27776
|
-
var
|
27777
|
-
|
27878
|
+
var textbookId = _ref.textbookId,
|
27879
|
+
onNavigateList = _ref.onNavigateList;
|
27778
27880
|
var _useTranslation = useTranslation(),
|
27779
27881
|
t = _useTranslation.t;
|
27780
27882
|
var theme = useTheme();
|
@@ -27793,7 +27895,6 @@ var useTextbookManagement = function useTextbookManagement(_ref) {
|
|
27793
27895
|
return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user;
|
27794
27896
|
});
|
27795
27897
|
var isSuperAdmin = !!user && !user.academyDomain;
|
27796
|
-
var isTeacher = ((user === null || user === void 0 ? void 0 : user.roles) || []).includes(Role.Teacher);
|
27797
27898
|
var handleOpenDialog = function handleOpenDialog(item) {
|
27798
27899
|
if (item) {
|
27799
27900
|
setSelectedTextbook(item);
|
@@ -27856,7 +27957,7 @@ var useTextbookManagement = function useTextbookManagement(_ref) {
|
|
27856
27957
|
}), isSuperAdmin)).then(function (res) {
|
27857
27958
|
if (res !== null && res !== void 0 && res.data) {
|
27858
27959
|
toast.success(t(!(selectedTextbook !== null && selectedTextbook !== void 0 && selectedTextbook.id) ? "create_the_textbook_successfully" : "update_the_textbook_successfully"));
|
27859
|
-
|
27960
|
+
onNavigateList();
|
27860
27961
|
}
|
27861
27962
|
});
|
27862
27963
|
}, function (error) {
|
@@ -27959,7 +28060,8 @@ var schema$4 = function schema(t) {
|
|
27959
28060
|
};
|
27960
28061
|
var PreparedTextbook = function PreparedTextbook(_ref) {
|
27961
28062
|
var _selectedTextbook$sub, _selectedTextbook$cha;
|
27962
|
-
var
|
28063
|
+
var onNavigateList = _ref.onNavigateList,
|
28064
|
+
navigate = _ref.navigate,
|
27963
28065
|
textbookId = _ref.textbookId;
|
27964
28066
|
var _useTextbookState = useTextbookState(),
|
27965
28067
|
isAdmin = _useTextbookState.isAdmin,
|
@@ -27969,7 +28071,7 @@ var PreparedTextbook = function PreparedTextbook(_ref) {
|
|
27969
28071
|
handleSetChapterSection = _useTextbookState.handleSetChapterSection,
|
27970
28072
|
handleSetSubChapterSection = _useTextbookState.handleSetSubChapterSection;
|
27971
28073
|
var _useTextbookManagemen = useTextbookManagement({
|
27972
|
-
|
28074
|
+
onNavigateList: onNavigateList,
|
27973
28075
|
textbookId: textbookId
|
27974
28076
|
}),
|
27975
28077
|
t = _useTextbookManagemen.t,
|
@@ -27978,6 +28080,9 @@ var PreparedTextbook = function PreparedTextbook(_ref) {
|
|
27978
28080
|
selectedTextbook = _useTextbookManagemen.selectedTextbook,
|
27979
28081
|
handleSubmit = _useTextbookManagemen.handleSubmit,
|
27980
28082
|
handleUploadImage = _useTextbookManagemen.handleUploadImage;
|
28083
|
+
if (textbookId && selectedTextbook && !selectedTextbook.isPrepared) return React__default.createElement(NotFound, {
|
28084
|
+
history: navigate
|
28085
|
+
});
|
27981
28086
|
return React__default.createElement(Formik, {
|
27982
28087
|
initialValues: {
|
27983
28088
|
name: (selectedTextbook === null || selectedTextbook === void 0 ? void 0 : selectedTextbook.name) || "",
|
@@ -28645,15 +28750,14 @@ var DeleteTextbookDialog = function DeleteTextbookDialog(_ref) {
|
|
28645
28750
|
};
|
28646
28751
|
|
28647
28752
|
var PreparedTextbookList = function PreparedTextbookList(_ref) {
|
28648
|
-
var
|
28753
|
+
var onNavigateDetail = _ref.onNavigateDetail,
|
28754
|
+
onNavigteCreate = _ref.onNavigteCreate;
|
28649
28755
|
var _useTextbookList = useTextbookList$1(),
|
28650
28756
|
t = _useTextbookList.t,
|
28651
28757
|
theme = _useTextbookList.theme,
|
28652
28758
|
filter = _useTextbookList.filter,
|
28653
28759
|
paging = _useTextbookList.paging,
|
28654
|
-
isTeacher = _useTextbookList.isTeacher,
|
28655
28760
|
textbooks = _useTextbookList.textbooks,
|
28656
|
-
isSuperAdmin = _useTextbookList.isSuperAdmin,
|
28657
28761
|
handleChangePage = _useTextbookList.handleChangePage,
|
28658
28762
|
handleSort = _useTextbookList.handleSort,
|
28659
28763
|
openConfirmDialog = _useTextbookList.openConfirmDialog,
|
@@ -28674,9 +28778,7 @@ var PreparedTextbookList = function PreparedTextbookList(_ref) {
|
|
28674
28778
|
sx: {
|
28675
28779
|
width: "fit-content"
|
28676
28780
|
},
|
28677
|
-
onClick:
|
28678
|
-
return pushTo(navigate, !isTeacher ? isSuperAdmin ? "/super-textbook-management/create" : "/textbook-management/create" : "/teacher/textbook-management/create");
|
28679
|
-
}
|
28781
|
+
onClick: onNavigteCreate
|
28680
28782
|
}, t("create"))), React__default.createElement(Stack, null, React__default.createElement(Grid, {
|
28681
28783
|
item: true,
|
28682
28784
|
xs: 12
|
@@ -28723,7 +28825,7 @@ var PreparedTextbookList = function PreparedTextbookList(_ref) {
|
|
28723
28825
|
color: "default",
|
28724
28826
|
className: styles$9["action-btn"] + " bg-warning text-white me-2",
|
28725
28827
|
onClick: function onClick() {
|
28726
|
-
return
|
28828
|
+
return onNavigateDetail(i);
|
28727
28829
|
}
|
28728
28830
|
}, React__default.createElement(HiOutlinePencilAlt, {
|
28729
28831
|
className: styles$9["action-btn--pencil"],
|
@@ -28887,7 +28989,7 @@ var DefaultFilter = {
|
|
28887
28989
|
};
|
28888
28990
|
|
28889
28991
|
var PREPARED_TEXTBOOK_URL$1 = BASE_URL + "/api/textbooks/prepared-textbooks";
|
28890
|
-
var TEXTBOOK_URL$
|
28992
|
+
var TEXTBOOK_URL$2 = BASE_URL + "/api/textbooks";
|
28891
28993
|
var TEXTBOOK_SESSION_URL$1 = BASE_URL + "/api/textbooksession";
|
28892
28994
|
var getTextbookListApi$2 = function getTextbookListApi(query) {
|
28893
28995
|
return api.get("" + PREPARED_TEXTBOOK_URL$1, {
|
@@ -28901,7 +29003,7 @@ var startPageApi = function startPageApi(value) {
|
|
28901
29003
|
return api.post(TEXTBOOK_SESSION_URL$1 + "/study-textbook", _extends({}, value));
|
28902
29004
|
};
|
28903
29005
|
var deleteTextbookApi$2 = function deleteTextbookApi(textbookId) {
|
28904
|
-
return api["delete"](TEXTBOOK_URL$
|
29006
|
+
return api["delete"](TEXTBOOK_URL$2 + "/" + textbookId);
|
28905
29007
|
};
|
28906
29008
|
|
28907
29009
|
var ADMIN_SUBJECT_URL$2 = SUPER_ADMIN_BASE_URL + "/api/subject";
|
@@ -28971,17 +29073,29 @@ var usePreparedExam = function usePreparedExam(_ref) {
|
|
28971
29073
|
var _state$common3, _state$common3$user;
|
28972
29074
|
return state === null || state === void 0 ? void 0 : (_state$common3 = state.common) === null || _state$common3 === void 0 ? void 0 : (_state$common3$user = _state$common3.user) === null || _state$common3$user === void 0 ? void 0 : _state$common3$user.academyDomain;
|
28973
29075
|
});
|
28974
|
-
var
|
29076
|
+
var isStudent = useSelector(function (state) {
|
28975
29077
|
var _state$common4, _state$common4$user;
|
28976
29078
|
return (state === null || state === void 0 ? void 0 : (_state$common4 = state.common) === null || _state$common4 === void 0 ? void 0 : (_state$common4$user = _state$common4.user) === null || _state$common4$user === void 0 ? void 0 : _state$common4$user.roles) || [];
|
29079
|
+
}).includes(Role.Student);
|
29080
|
+
var isTeacher = useSelector(function (state) {
|
29081
|
+
var _state$common5, _state$common5$user;
|
29082
|
+
return (state === null || state === void 0 ? void 0 : (_state$common5 = state.common) === null || _state$common5 === void 0 ? void 0 : (_state$common5$user = _state$common5.user) === null || _state$common5$user === void 0 ? void 0 : _state$common5$user.roles) || [];
|
28977
29083
|
}).includes(Role.Teacher);
|
28978
29084
|
var _useState5 = useState(false),
|
28979
29085
|
openConfirmDialog = _useState5[0],
|
28980
29086
|
setOpenConfirmDialog = _useState5[1];
|
28981
|
-
var
|
28982
|
-
var _state$
|
28983
|
-
return (state === null || state === void 0 ? void 0 : (_state$
|
29087
|
+
var isSuperAdminDomain = useSelector(function (state) {
|
29088
|
+
var _state$common6, _state$common6$user;
|
29089
|
+
return (state === null || state === void 0 ? void 0 : (_state$common6 = state.common) === null || _state$common6 === void 0 ? void 0 : (_state$common6$user = _state$common6.user) === null || _state$common6$user === void 0 ? void 0 : _state$common6$user.roles) || [];
|
28984
29090
|
}).includes(Role.Admin) && !isDomain;
|
29091
|
+
var isAdmin = useSelector(function (state) {
|
29092
|
+
var _state$common7, _state$common7$user;
|
29093
|
+
return (state === null || state === void 0 ? void 0 : (_state$common7 = state.common) === null || _state$common7 === void 0 ? void 0 : (_state$common7$user = _state$common7.user) === null || _state$common7$user === void 0 ? void 0 : _state$common7$user.roles) || [];
|
29094
|
+
}).includes(Role.Admin);
|
29095
|
+
var isSuperAdmin = useSelector(function (state) {
|
29096
|
+
var _state$common8, _state$common8$user;
|
29097
|
+
return state === null || state === void 0 ? void 0 : (_state$common8 = state.common) === null || _state$common8 === void 0 ? void 0 : (_state$common8$user = _state$common8.user) === null || _state$common8$user === void 0 ? void 0 : _state$common8$user.isSuperAdmin;
|
29098
|
+
});
|
28985
29099
|
var handleCloseConfirmDialog = function handleCloseConfirmDialog() {
|
28986
29100
|
setOpenConfirmDialog(false);
|
28987
29101
|
};
|
@@ -28995,7 +29109,7 @@ var usePreparedExam = function usePreparedExam(_ref) {
|
|
28995
29109
|
};
|
28996
29110
|
setLoading(true);
|
28997
29111
|
var _temp = _catch(function () {
|
28998
|
-
return Promise.resolve(
|
29112
|
+
return Promise.resolve(isSuperAdminDomain ? getSubjectListAdminApi$2("") : getSubjectListApi$2("")).then(function (res) {
|
28999
29113
|
var _res$data$items = res.data.items,
|
29000
29114
|
items = _res$data$items === void 0 ? [] : _res$data$items;
|
29001
29115
|
setSubjects(items);
|
@@ -29007,7 +29121,7 @@ var usePreparedExam = function usePreparedExam(_ref) {
|
|
29007
29121
|
} catch (e) {
|
29008
29122
|
return Promise.reject(e);
|
29009
29123
|
}
|
29010
|
-
}, [
|
29124
|
+
}, [isSuperAdminDomain]);
|
29011
29125
|
var subjectOptions = subjects.map(function (subject) {
|
29012
29126
|
return {
|
29013
29127
|
label: "" + subject.name,
|
@@ -29148,7 +29262,10 @@ var usePreparedExam = function usePreparedExam(_ref) {
|
|
29148
29262
|
isKor: isKor,
|
29149
29263
|
paging: paging,
|
29150
29264
|
user: user,
|
29265
|
+
isAdmin: isAdmin,
|
29151
29266
|
isTeacher: isTeacher,
|
29267
|
+
isStudent: isStudent,
|
29268
|
+
isSuperAdmin: isSuperAdmin,
|
29152
29269
|
monthOptions: monthOptions,
|
29153
29270
|
openConfirmDialog: openConfirmDialog,
|
29154
29271
|
handleOpenConfirmDialog: handleOpenConfirmDialog,
|
@@ -29324,7 +29441,7 @@ var useTextbookDrawer = function useTextbookDrawer(_ref) {
|
|
29324
29441
|
};
|
29325
29442
|
var handleRedirectEdit = function handleRedirectEdit() {
|
29326
29443
|
if (!textbookId) return;
|
29327
|
-
pushTo(navigate, "/teacher/
|
29444
|
+
pushTo(navigate, "/teacher/prepared-exam/" + textbookId + "/detail");
|
29328
29445
|
};
|
29329
29446
|
var handleStartFromPage = function handleStartFromPage(values) {
|
29330
29447
|
try {
|
@@ -29874,7 +29991,7 @@ var Statistic = function Statistic(_ref) {
|
|
29874
29991
|
fontSize: "12px",
|
29875
29992
|
fontWeight: 500,
|
29876
29993
|
color: styles.darker
|
29877
|
-
}, (chapter.completedChapterQuestions || 0) / (chapter.totalChapterQuestions || 0) * 100 + "%")), React__default.createElement(Stack, {
|
29994
|
+
}, ((chapter.completedChapterQuestions || 0) / (chapter.totalChapterQuestions || 0) * 100).toFixed(2) + "%")), React__default.createElement(Stack, {
|
29878
29995
|
sx: {
|
29879
29996
|
width: "1px",
|
29880
29997
|
position: "absolute",
|
@@ -30077,7 +30194,7 @@ var TextbookDrawer = function TextbookDrawer(_ref) {
|
|
30077
30194
|
fontSize: "12px",
|
30078
30195
|
fontWeight: 500,
|
30079
30196
|
color: (textbook === null || textbook === void 0 ? void 0 : textbook.progress) === 0 ? theme.palette.common.black : theme.palette.common.white
|
30080
|
-
}, ((textbook === null || textbook === void 0 ? void 0 : textbook.progress) || 0) + "%")))), !!(textbook !== null && textbook !== void 0 && textbook.chapters.length) && React__default.createElement(Stack, null, React__default.createElement(Box, {
|
30197
|
+
}, ((textbook === null || textbook === void 0 ? void 0 : textbook.progress) || 0).toFixed(2) + "%")))), !!(textbook !== null && textbook !== void 0 && textbook.chapters.length) && React__default.createElement(Stack, null, React__default.createElement(Box, {
|
30081
30198
|
mt: "24px",
|
30082
30199
|
mx: "24px",
|
30083
30200
|
bgcolor: theme.palette.common.white,
|
@@ -30386,8 +30503,10 @@ var TextbookDetail = function TextbookDetail(_ref) {
|
|
30386
30503
|
};
|
30387
30504
|
|
30388
30505
|
var TextbookInfoDrawer = function TextbookInfoDrawer(_ref) {
|
30389
|
-
var _TeacherTabList$find;
|
30390
|
-
var
|
30506
|
+
var _textbook$createdBy, _TeacherTabList$find;
|
30507
|
+
var user = _ref.user,
|
30508
|
+
isSuperAdmin = _ref.isSuperAdmin,
|
30509
|
+
isOpen = _ref.isOpen,
|
30391
30510
|
onClose = _ref.onClose,
|
30392
30511
|
textbookId = _ref.textbookId,
|
30393
30512
|
navigate = _ref.navigate,
|
@@ -30428,7 +30547,9 @@ var TextbookInfoDrawer = function TextbookInfoDrawer(_ref) {
|
|
30428
30547
|
}, React__default.createElement(IoClose, {
|
30429
30548
|
color: styles.gray_700,
|
30430
30549
|
size: 32
|
30431
|
-
})),
|
30550
|
+
})), (isSuperAdmin || (textbook === null || textbook === void 0 ? void 0 : textbook.isShared) && ((textbook === null || textbook === void 0 ? void 0 : (_textbook$createdBy = textbook.createdBy) === null || _textbook$createdBy === void 0 ? void 0 : _textbook$createdBy.id) === (user === null || user === void 0 ? void 0 : user.id) || textbook.textbookOwners.some(function (i) {
|
30551
|
+
return i.id === (user === null || user === void 0 ? void 0 : user.id);
|
30552
|
+
}))) && React__default.createElement(Stack, {
|
30432
30553
|
flexDirection: "row",
|
30433
30554
|
gap: "16px",
|
30434
30555
|
alignItems: "center"
|
@@ -30497,10 +30618,13 @@ var TextbookInfoDrawer = function TextbookInfoDrawer(_ref) {
|
|
30497
30618
|
};
|
30498
30619
|
|
30499
30620
|
var Textbook = function Textbook(_ref) {
|
30621
|
+
var _textbook$createdBy, _textbook$createdBy2;
|
30500
30622
|
var t = _ref.t,
|
30623
|
+
user = _ref.user,
|
30501
30624
|
theme = _ref.theme,
|
30502
30625
|
textbook = _ref.textbook,
|
30503
|
-
|
30626
|
+
isStudent = _ref.isStudent,
|
30627
|
+
isSuperAdmin = _ref.isSuperAdmin,
|
30504
30628
|
navigate = _ref.navigate,
|
30505
30629
|
preparedType = _ref.preparedType,
|
30506
30630
|
preparedFilterType = _ref.preparedFilterType,
|
@@ -30579,7 +30703,7 @@ var Textbook = function Textbook(_ref) {
|
|
30579
30703
|
}, React__default.createElement(Stack, {
|
30580
30704
|
flexDirection: "row",
|
30581
30705
|
gap: "10px"
|
30582
|
-
},
|
30706
|
+
}, isStudent && React__default.createElement(Button, {
|
30583
30707
|
variant: "contained",
|
30584
30708
|
sx: {
|
30585
30709
|
width: "fit-content",
|
@@ -30592,7 +30716,9 @@ var Textbook = function Textbook(_ref) {
|
|
30592
30716
|
onClick: handleOpenDialog
|
30593
30717
|
}, React__default.createElement(FaBookOpen, {
|
30594
30718
|
size: "20px"
|
30595
|
-
}), t("test_start")),
|
30719
|
+
}), t("test_start")), (isSuperAdmin || textbook.isShared && ((textbook === null || textbook === void 0 ? void 0 : (_textbook$createdBy = textbook.createdBy) === null || _textbook$createdBy === void 0 ? void 0 : _textbook$createdBy.id) === (user === null || user === void 0 ? void 0 : user.id) || textbook.textbookOwners.some(function (i) {
|
30720
|
+
return i.id === (user === null || user === void 0 ? void 0 : user.id);
|
30721
|
+
}))) && React__default.createElement(Button, {
|
30596
30722
|
variant: "outlined",
|
30597
30723
|
sx: {
|
30598
30724
|
width: "fit-content",
|
@@ -30603,11 +30729,11 @@ var Textbook = function Textbook(_ref) {
|
|
30603
30729
|
maxHeight: "41px"
|
30604
30730
|
},
|
30605
30731
|
onClick: function onClick() {
|
30606
|
-
return pushTo(navigate, "/teacher/
|
30732
|
+
return pushTo(navigate, "/teacher/prepared-exam/" + (textbook === null || textbook === void 0 ? void 0 : textbook.id) + "/detail");
|
30607
30733
|
}
|
30608
30734
|
}, React__default.createElement(FaBookOpen, {
|
30609
30735
|
size: "20px"
|
30610
|
-
}), t("test_editing")),
|
30736
|
+
}), t("test_editing")), !isStudent && React__default.createElement(Button, {
|
30611
30737
|
variant: "contained",
|
30612
30738
|
sx: {
|
30613
30739
|
width: "fit-content",
|
@@ -30622,7 +30748,9 @@ var Textbook = function Textbook(_ref) {
|
|
30622
30748
|
}
|
30623
30749
|
}, React__default.createElement(IoInformationCircle, {
|
30624
30750
|
size: "20px"
|
30625
|
-
}), t("exam_information"))),
|
30751
|
+
}), t("exam_information"))), (isSuperAdmin || (textbook === null || textbook === void 0 ? void 0 : textbook.isShared) && ((textbook === null || textbook === void 0 ? void 0 : (_textbook$createdBy2 = textbook.createdBy) === null || _textbook$createdBy2 === void 0 ? void 0 : _textbook$createdBy2.id) === (user === null || user === void 0 ? void 0 : user.id) || textbook.textbookOwners.some(function (i) {
|
30752
|
+
return i.id === (user === null || user === void 0 ? void 0 : user.id);
|
30753
|
+
}))) && React__default.createElement(Button, {
|
30626
30754
|
variant: "contained",
|
30627
30755
|
sx: {
|
30628
30756
|
width: "fit-content",
|
@@ -30644,6 +30772,8 @@ var Textbook = function Textbook(_ref) {
|
|
30644
30772
|
textbookId: textbook.id,
|
30645
30773
|
navigate: navigate
|
30646
30774
|
}), openDetailDialog && React__default.createElement(TextbookInfoDrawer, {
|
30775
|
+
user: user,
|
30776
|
+
isSuperAdmin: isSuperAdmin,
|
30647
30777
|
isOpen: openDetailDialog,
|
30648
30778
|
onClose: handleCloseDetailDialog,
|
30649
30779
|
textbookId: textbook.id,
|
@@ -30674,9 +30804,12 @@ var PreparedItem = function PreparedItem(_ref) {
|
|
30674
30804
|
history: history
|
30675
30805
|
}),
|
30676
30806
|
t = _usePreparedExam.t,
|
30807
|
+
user = _usePreparedExam.user,
|
30677
30808
|
theme = _usePreparedExam.theme,
|
30678
30809
|
paging = _usePreparedExam.paging,
|
30679
|
-
|
30810
|
+
isAdmin = _usePreparedExam.isAdmin,
|
30811
|
+
isStudent = _usePreparedExam.isStudent,
|
30812
|
+
isSuperAdmin = _usePreparedExam.isSuperAdmin,
|
30680
30813
|
handleChangePage = _usePreparedExam.handleChangePage,
|
30681
30814
|
textbookList = _usePreparedExam.textbookList,
|
30682
30815
|
getTextbookList = _usePreparedExam.getTextbookList,
|
@@ -30833,7 +30966,7 @@ var PreparedItem = function PreparedItem(_ref) {
|
|
30833
30966
|
},
|
30834
30967
|
onClick: handleToggleExpand,
|
30835
30968
|
startIcon: React__default.createElement(IoIosArrowDown, null)
|
30836
|
-
}, t("fold"))),
|
30969
|
+
}, t("fold"))), !isStudent && !isAdmin && React__default.createElement(Stack, null, React__default.createElement(Button, {
|
30837
30970
|
variant: "contained",
|
30838
30971
|
sx: {
|
30839
30972
|
width: "fit-content",
|
@@ -30844,7 +30977,7 @@ var PreparedItem = function PreparedItem(_ref) {
|
|
30844
30977
|
marginRight: "27px"
|
30845
30978
|
},
|
30846
30979
|
onClick: function onClick() {
|
30847
|
-
return pushTo(navigate, "/teacher/
|
30980
|
+
return pushTo(navigate, "/teacher/prepared-exam/create");
|
30848
30981
|
}
|
30849
30982
|
}, React__default.createElement(IoAddCircle, null), t("create_a_new_workbook"))))), React__default.createElement(AccordionDetails, {
|
30850
30983
|
sx: {
|
@@ -31187,9 +31320,11 @@ var PreparedItem = function PreparedItem(_ref) {
|
|
31187
31320
|
}, textbookList === null || textbookList === void 0 ? void 0 : textbookList.map(function (textbook) {
|
31188
31321
|
return React__default.createElement(Textbook, {
|
31189
31322
|
t: t,
|
31323
|
+
user: user,
|
31190
31324
|
theme: theme,
|
31191
31325
|
textbook: textbook,
|
31192
|
-
|
31326
|
+
isSuperAdmin: isSuperAdmin,
|
31327
|
+
isStudent: isStudent,
|
31193
31328
|
navigate: navigate,
|
31194
31329
|
getTextbookList: getTextbookList,
|
31195
31330
|
preparedType: preparedType,
|
@@ -31238,6 +31373,7 @@ var TheAcademyDropdown = function TheAcademyDropdown(_ref) {
|
|
31238
31373
|
var isAdmin = role === Role.Admin;
|
31239
31374
|
var isSuperAdmin = user && (!user.academyDomain && !user.isLearningSpace && ((_user$roles = user.roles) === null || _user$roles === void 0 ? void 0 : _user$roles.includes(Role.Admin)) || user.isSuperAdmin);
|
31240
31375
|
var isStudentSite = role === Role.Student;
|
31376
|
+
var isTeacherSite = role === Role.Teacher;
|
31241
31377
|
var isLearningSpace = user === null || user === void 0 ? void 0 : user.isLearningSpace;
|
31242
31378
|
var _useTranslation = useTranslation(),
|
31243
31379
|
t = _useTranslation.t;
|
@@ -31331,7 +31467,7 @@ var TheAcademyDropdown = function TheAcademyDropdown(_ref) {
|
|
31331
31467
|
}, React__default.createElement(GoArrowSwitch, {
|
31332
31468
|
size: 14,
|
31333
31469
|
color: styles.gray_900
|
31334
|
-
})))))), (isSuperAdmin || !isAdmin) && React__default.createElement(Popover, {
|
31470
|
+
})))))), (isSuperAdmin || !isAdmin || isTeacherSite) && React__default.createElement(Popover, {
|
31335
31471
|
open: !!open,
|
31336
31472
|
anchorEl: open,
|
31337
31473
|
onClose: handleClose,
|