touchstudy-core 0.1.113 → 0.1.115
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/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 +330 -411
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +331 -412
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
package/dist/index.modern.js
CHANGED
@@ -27,7 +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 {
|
30
|
+
import { AutoSizer } from 'react-virtualized';
|
31
31
|
import Grid$1 from '@mui/material/Grid';
|
32
32
|
import Typography$1 from '@mui/material/Typography';
|
33
33
|
import Card from '@mui/material/Card';
|
@@ -1190,6 +1190,7 @@ var notify_share_exam = {
|
|
1190
1190
|
update_fail: "업데이트 실패!"
|
1191
1191
|
};
|
1192
1192
|
var academy_admin_teacher = "아카데미 관리자/선생님";
|
1193
|
+
var academyadmin_teacher = "아카데미 관리자/선생님";
|
1193
1194
|
var total_student = "총 학생 수";
|
1194
1195
|
var total_teacher = "총 교사 수";
|
1195
1196
|
var total_exam = "총 시험 수";
|
@@ -1353,6 +1354,7 @@ var delete_textbook_successfully = "교과서 삭제 성공";
|
|
1353
1354
|
var information = "정보";
|
1354
1355
|
var running_time = "진행 시간";
|
1355
1356
|
var hours_mins_seconds = "{{hours}}시간 {{mins}}분 {{seconds}}초";
|
1357
|
+
var create_schedule_successfully = "일정을 성공적으로 생성했습니다";
|
1356
1358
|
var prepared_textbook = "준비된 교과서";
|
1357
1359
|
var enable_phone_pass_code = "전화 비밀번호 활성화";
|
1358
1360
|
var custom = "관습";
|
@@ -1361,6 +1363,13 @@ var pass_code_is_invalid = "비밀번호가 유효하지 않습니다";
|
|
1361
1363
|
var pass_code_length_must_be_n = "비밀번호 길이는 {{n}}이어야 합니다";
|
1362
1364
|
var parent_phone_number_is_invalid = "부모 전화번호가 잘못되었습니다";
|
1363
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 = "달성한 스케줄";
|
1364
1373
|
var lang_ko = {
|
1365
1374
|
problem_solving: problem_solving,
|
1366
1375
|
my_story: my_story,
|
@@ -2192,6 +2201,7 @@ var lang_ko = {
|
|
2192
2201
|
notify_share_textbook: notify_share_textbook,
|
2193
2202
|
notify_share_exam: notify_share_exam,
|
2194
2203
|
academy_admin_teacher: academy_admin_teacher,
|
2204
|
+
academyadmin_teacher: academyadmin_teacher,
|
2195
2205
|
total_student: total_student,
|
2196
2206
|
total_teacher: total_teacher,
|
2197
2207
|
total_exam: total_exam,
|
@@ -2357,6 +2367,7 @@ var lang_ko = {
|
|
2357
2367
|
information: information,
|
2358
2368
|
running_time: running_time,
|
2359
2369
|
hours_mins_seconds: hours_mins_seconds,
|
2370
|
+
create_schedule_successfully: create_schedule_successfully,
|
2360
2371
|
prepared_textbook: prepared_textbook,
|
2361
2372
|
enable_phone_pass_code: enable_phone_pass_code,
|
2362
2373
|
custom: custom,
|
@@ -2364,7 +2375,14 @@ var lang_ko = {
|
|
2364
2375
|
pass_code_is_invalid: pass_code_is_invalid,
|
2365
2376
|
pass_code_length_must_be_n: pass_code_length_must_be_n,
|
2366
2377
|
parent_phone_number_is_invalid: parent_phone_number_is_invalid,
|
2367
|
-
parent_phone_number_is_required: parent_phone_number_is_required
|
2378
|
+
parent_phone_number_is_required: parent_phone_number_is_required,
|
2379
|
+
update_schedule_successfully: update_schedule_successfully,
|
2380
|
+
delete_schedule_successfully: delete_schedule_successfully,
|
2381
|
+
group: group,
|
2382
|
+
update_schedule: update_schedule,
|
2383
|
+
back_month: back_month,
|
2384
|
+
today_schedule: today_schedule,
|
2385
|
+
schedule_achieved: schedule_achieved
|
2368
2386
|
};
|
2369
2387
|
|
2370
2388
|
var problem_solving$1 = "Problem Solving";
|
@@ -2504,7 +2522,7 @@ var create_exam$1 = "Create exam";
|
|
2504
2522
|
var back$1 = "Back";
|
2505
2523
|
var date_format_exam$1 = "MMMM YYYY";
|
2506
2524
|
var date_format$1 = "MMM. D. YYYY";
|
2507
|
-
var day_month_format$1 = "
|
2525
|
+
var day_month_format$1 = "Do MMM";
|
2508
2526
|
var date_time_format$1 = "HH:mm MMM. D YYYY ";
|
2509
2527
|
var date_time_format_12h$1 = "MM-DD-YYYY HH:mm A";
|
2510
2528
|
var full_date_time_format$1 = "MMM Do YYYY HH:mm:ss";
|
@@ -3278,14 +3296,15 @@ var chapter$1 = "Chapter";
|
|
3278
3296
|
var chapter_number$1 = "Chapter {{number}}";
|
3279
3297
|
var category_required$1 = "Category is required";
|
3280
3298
|
var subject_required$1 = "Subject is required";
|
3281
|
-
var academy_admin_teacher$1 = "Academy Admin
|
3299
|
+
var academy_admin_teacher$1 = "Academy Admin/Teacher";
|
3300
|
+
var academyadmin_teacher$1 = "Academy Admin/Teacher";
|
3282
3301
|
var date_required$1 = "Date is required";
|
3283
3302
|
var start_time_required$1 = "Start time is required";
|
3284
3303
|
var end_time_required$1 = "End time is required";
|
3285
3304
|
var title_required$1 = "Title is required";
|
3286
3305
|
var delete_schedule$1 = "Delete Schedule";
|
3287
3306
|
var edit_schedule$1 = "Edit Schedule";
|
3288
|
-
var are_you_sure_you_want_to_delete_the_schedule$1 = "
|
3307
|
+
var are_you_sure_you_want_to_delete_the_schedule$1 = "Are you sure you want to delete the schedule: {{name}}";
|
3289
3308
|
var correct_answer_rate$1 = "Correct answer rate";
|
3290
3309
|
var progress$1 = "Progress";
|
3291
3310
|
var grammar$1 = "Grammar";
|
@@ -3378,6 +3397,7 @@ var delete_textbook_successfully$1 = "Delete the textbook successfully";
|
|
3378
3397
|
var information$1 = "Information";
|
3379
3398
|
var running_time$1 = "Running time";
|
3380
3399
|
var hours_mins_seconds$1 = "{{hours}}h {{mins}}m {{seconds}}s";
|
3400
|
+
var create_schedule_successfully$1 = "Create schedule successfully";
|
3381
3401
|
var prepared_textbook$1 = "Prepared Textbook";
|
3382
3402
|
var enable_phone_pass_code$1 = "Enable phone pass code";
|
3383
3403
|
var custom$1 = "Custom";
|
@@ -3387,6 +3407,13 @@ var pass_code_length_must_be_n$1 = "Pass code length must be {{n}}";
|
|
3387
3407
|
var email_is_invalid = "Email is invalid";
|
3388
3408
|
var parent_phone_number_is_invalid$1 = "Parent phone number is invalid";
|
3389
3409
|
var parent_phone_number_is_required$1 = "Parent phone number is required";
|
3410
|
+
var update_schedule_successfully$1 = "Update schedule successfully";
|
3411
|
+
var delete_schedule_successfully$1 = "Delete schedule successfully";
|
3412
|
+
var group$1 = "Group";
|
3413
|
+
var update_schedule$1 = "Update Schedule";
|
3414
|
+
var back_month$1 = "Back Month";
|
3415
|
+
var today_schedule$1 = "Today's schedule";
|
3416
|
+
var schedule_achieved$1 = "Schedule achieved";
|
3390
3417
|
var lang_en = {
|
3391
3418
|
problem_solving: problem_solving$1,
|
3392
3419
|
my_story: my_story$1,
|
@@ -4283,6 +4310,7 @@ var lang_en = {
|
|
4283
4310
|
category_required: category_required$1,
|
4284
4311
|
subject_required: subject_required$1,
|
4285
4312
|
academy_admin_teacher: academy_admin_teacher$1,
|
4313
|
+
academyadmin_teacher: academyadmin_teacher$1,
|
4286
4314
|
date_required: date_required$1,
|
4287
4315
|
start_time_required: start_time_required$1,
|
4288
4316
|
end_time_required: end_time_required$1,
|
@@ -4384,6 +4412,7 @@ var lang_en = {
|
|
4384
4412
|
information: information$1,
|
4385
4413
|
running_time: running_time$1,
|
4386
4414
|
hours_mins_seconds: hours_mins_seconds$1,
|
4415
|
+
create_schedule_successfully: create_schedule_successfully$1,
|
4387
4416
|
prepared_textbook: prepared_textbook$1,
|
4388
4417
|
enable_phone_pass_code: enable_phone_pass_code$1,
|
4389
4418
|
custom: custom$1,
|
@@ -4392,7 +4421,14 @@ var lang_en = {
|
|
4392
4421
|
pass_code_length_must_be_n: pass_code_length_must_be_n$1,
|
4393
4422
|
email_is_invalid: email_is_invalid,
|
4394
4423
|
parent_phone_number_is_invalid: parent_phone_number_is_invalid$1,
|
4395
|
-
parent_phone_number_is_required: parent_phone_number_is_required$1
|
4424
|
+
parent_phone_number_is_required: parent_phone_number_is_required$1,
|
4425
|
+
update_schedule_successfully: update_schedule_successfully$1,
|
4426
|
+
delete_schedule_successfully: delete_schedule_successfully$1,
|
4427
|
+
group: group$1,
|
4428
|
+
update_schedule: update_schedule$1,
|
4429
|
+
back_month: back_month$1,
|
4430
|
+
today_schedule: today_schedule$1,
|
4431
|
+
schedule_achieved: schedule_achieved$1
|
4396
4432
|
};
|
4397
4433
|
|
4398
4434
|
i18n.use(initReactI18next).init({
|
@@ -9200,74 +9236,7 @@ var ListView = function ListView(_ref) {
|
|
9200
9236
|
}));
|
9201
9237
|
};
|
9202
9238
|
|
9203
|
-
var
|
9204
|
-
var data = props.data,
|
9205
|
-
loading = props.loading,
|
9206
|
-
onLoadMore = props.onLoadMore;
|
9207
|
-
var handleLoadMore = function handleLoadMore() {
|
9208
|
-
if (loading) return;
|
9209
|
-
onLoadMore === null || onLoadMore === void 0 ? void 0 : onLoadMore();
|
9210
|
-
};
|
9211
|
-
var onScroll = function onScroll(_ref) {
|
9212
|
-
var scrollTop = _ref.scrollTop,
|
9213
|
-
clientHeight = _ref.clientHeight,
|
9214
|
-
scrollHeight = _ref.scrollHeight;
|
9215
|
-
if (scrollTop + clientHeight >= scrollHeight - 100) {
|
9216
|
-
handleLoadMore();
|
9217
|
-
}
|
9218
|
-
};
|
9219
|
-
var rowCount = data.length + (loading ? 1 : 0);
|
9220
|
-
return {
|
9221
|
-
rowCount: rowCount,
|
9222
|
-
onScroll: onScroll
|
9223
|
-
};
|
9224
|
-
};
|
9225
|
-
|
9226
|
-
var cellMeasurerCache = new CellMeasurerCache({
|
9227
|
-
fixedWidth: true,
|
9228
|
-
defaultHeight: 50
|
9229
|
-
});
|
9230
|
-
|
9231
|
-
var VirtualListItem = function VirtualListItem(_ref) {
|
9232
|
-
var isLoading = _ref.isLoading,
|
9233
|
-
rowData = _ref.rowData,
|
9234
|
-
style = _ref.style,
|
9235
|
-
parent = _ref.parent,
|
9236
|
-
index = _ref.index,
|
9237
|
-
renderItem = _ref.renderItem,
|
9238
|
-
loadingElement = _ref.loadingElement;
|
9239
|
-
return React__default.createElement(CellMeasurer, {
|
9240
|
-
cache: cellMeasurerCache,
|
9241
|
-
columnIndex: 0,
|
9242
|
-
rowIndex: index,
|
9243
|
-
key: rowData === null || rowData === void 0 ? void 0 : rowData.id,
|
9244
|
-
parent: parent
|
9245
|
-
}, function (_ref2) {
|
9246
|
-
var measure = _ref2.measure;
|
9247
|
-
if (isLoading) {
|
9248
|
-
if (loadingElement) return loadingElement;
|
9249
|
-
return React__default.createElement("div", {
|
9250
|
-
key: rowData === null || rowData === void 0 ? void 0 : rowData.id,
|
9251
|
-
style: style
|
9252
|
-
}, React__default.createElement(Box, {
|
9253
|
-
p: 1,
|
9254
|
-
className: "d-flex justify-content-center align-items-center w-100"
|
9255
|
-
}, React__default.createElement(CircularProgress, {
|
9256
|
-
size: 24,
|
9257
|
-
sx: {
|
9258
|
-
color: "#5d5d5b"
|
9259
|
-
}
|
9260
|
-
})));
|
9261
|
-
}
|
9262
|
-
return React__default.createElement("div", {
|
9263
|
-
key: rowData === null || rowData === void 0 ? void 0 : rowData.id,
|
9264
|
-
style: style,
|
9265
|
-
ref: measure
|
9266
|
-
}, renderItem(rowData, index));
|
9267
|
-
});
|
9268
|
-
};
|
9269
|
-
|
9270
|
-
var VirtualEmptyItem = function VirtualEmptyItem(_ref) {
|
9239
|
+
var VirtualTableEmpty = function VirtualTableEmpty(_ref) {
|
9271
9240
|
var emptyElement = _ref.emptyElement;
|
9272
9241
|
var _useTranslation = useTranslation(),
|
9273
9242
|
t = _useTranslation.t;
|
@@ -9280,186 +9249,70 @@ var VirtualEmptyItem = function VirtualEmptyItem(_ref) {
|
|
9280
9249
|
var VirtualListView = function VirtualListView(props) {
|
9281
9250
|
var data = props.data,
|
9282
9251
|
containerProps = props.containerProps,
|
9283
|
-
listHeight = props.listHeight,
|
9284
|
-
_props$overscanRowCou = props.overscanRowCount,
|
9285
|
-
overscanRowCount = _props$overscanRowCou === void 0 ? 5 : _props$overscanRowCou,
|
9286
9252
|
renderItem = props.renderItem,
|
9287
9253
|
emptyElement = props.emptyElement,
|
9288
|
-
|
9289
|
-
|
9290
|
-
|
9291
|
-
onScroll = _useVirtualListView.onScroll;
|
9292
|
-
var rowRenderer = useCallback(function (props) {
|
9293
|
-
var index = props.index;
|
9294
|
-
var isLoading = index === data.length;
|
9295
|
-
var rowData = isLoading ? undefined : data[index];
|
9296
|
-
return React__default.createElement(VirtualListItem, Object.assign({}, props, {
|
9297
|
-
rowData: rowData,
|
9298
|
-
isLoading: isLoading,
|
9299
|
-
renderItem: renderItem,
|
9300
|
-
loadingElement: loadingElement
|
9301
|
-
}));
|
9302
|
-
}, [JSON.stringify(data)]);
|
9303
|
-
var noRowsRenderer = useCallback(function () {
|
9304
|
-
return React__default.createElement(VirtualEmptyItem, {
|
9305
|
-
emptyElement: emptyElement
|
9306
|
-
});
|
9307
|
-
}, []);
|
9254
|
+
loading = props.loading,
|
9255
|
+
loadingElement = props.loadingElement,
|
9256
|
+
listHeight = props.listHeight;
|
9308
9257
|
return React__default.createElement(Box, Object.assign({}, containerProps), React__default.createElement(AutoSizer, {
|
9309
9258
|
disableHeight: !!listHeight
|
9310
9259
|
}, function (_ref) {
|
9311
9260
|
var width = _ref.width,
|
9312
9261
|
height = _ref.height;
|
9313
|
-
return React__default.createElement(
|
9262
|
+
return React__default.createElement(Box, {
|
9314
9263
|
width: width,
|
9315
|
-
height:
|
9316
|
-
|
9317
|
-
|
9318
|
-
|
9319
|
-
|
9320
|
-
|
9321
|
-
|
9322
|
-
|
9323
|
-
|
9264
|
+
height: height,
|
9265
|
+
overflow: "auto"
|
9266
|
+
}, loading && React__default.createElement(Fragment$1, null, loadingElement != null ? loadingElement : React__default.createElement(Box, {
|
9267
|
+
p: 1,
|
9268
|
+
className: "d-flex justify-content-center align-items-center w-100"
|
9269
|
+
}, React__default.createElement(CircularProgress, {
|
9270
|
+
size: 24,
|
9271
|
+
sx: {
|
9272
|
+
color: "#5d5d5b"
|
9273
|
+
}
|
9274
|
+
}))), !loading && !data.length && React__default.createElement(VirtualTableEmpty, {
|
9275
|
+
emptyElement: emptyElement
|
9276
|
+
}), !loading && !!data.length && React__default.createElement(ListView, {
|
9277
|
+
data: data,
|
9278
|
+
render: renderItem
|
9279
|
+
}));
|
9324
9280
|
}));
|
9325
9281
|
};
|
9326
9282
|
|
9327
|
-
var cellMeasurerCache$1 = new CellMeasurerCache({
|
9328
|
-
defaultWidth: 100,
|
9329
|
-
defaultHeight: 50
|
9330
|
-
});
|
9331
|
-
|
9332
|
-
var VirtualTableRowItem = function VirtualTableRowItem(_ref) {
|
9333
|
-
var isLoading = _ref.isLoading,
|
9334
|
-
style = _ref.style,
|
9335
|
-
parent = _ref.parent,
|
9336
|
-
rowIndex = _ref.rowIndex,
|
9337
|
-
columnIndex = _ref.columnIndex,
|
9338
|
-
renderItem = _ref.renderItem,
|
9339
|
-
loadingElement = _ref.loadingElement;
|
9340
|
-
return React__default.createElement(CellMeasurer, {
|
9341
|
-
cache: cellMeasurerCache$1,
|
9342
|
-
columnIndex: columnIndex,
|
9343
|
-
rowIndex: rowIndex,
|
9344
|
-
key: rowIndex + "-" + columnIndex,
|
9345
|
-
parent: parent
|
9346
|
-
}, function (_ref2) {
|
9347
|
-
var measure = _ref2.measure;
|
9348
|
-
if (isLoading) {
|
9349
|
-
if (loadingElement) return loadingElement;
|
9350
|
-
return React__default.createElement("div", {
|
9351
|
-
style: style
|
9352
|
-
}, React__default.createElement(Box, {
|
9353
|
-
p: 1,
|
9354
|
-
className: "d-flex justify-content-center align-items-center w-100"
|
9355
|
-
}, React__default.createElement(CircularProgress, {
|
9356
|
-
size: 24,
|
9357
|
-
sx: {
|
9358
|
-
color: "#5d5d5b"
|
9359
|
-
}
|
9360
|
-
})));
|
9361
|
-
}
|
9362
|
-
return React__default.createElement("div", {
|
9363
|
-
style: style,
|
9364
|
-
ref: measure
|
9365
|
-
}, renderItem(rowIndex, columnIndex));
|
9366
|
-
});
|
9367
|
-
};
|
9368
|
-
|
9369
|
-
var VirtualTableEmpty = function VirtualTableEmpty(_ref) {
|
9370
|
-
var emptyElement = _ref.emptyElement;
|
9371
|
-
var _useTranslation = useTranslation(),
|
9372
|
-
t = _useTranslation.t;
|
9373
|
-
if (emptyElement) return emptyElement;
|
9374
|
-
return React__default.createElement(Box, null, React__default.createElement(Typography, {
|
9375
|
-
className: "text-center text-muted"
|
9376
|
-
}, t("no_data")));
|
9377
|
-
};
|
9378
|
-
|
9379
|
-
var _excluded$6 = ["data", "containerProps", "listHeight", "overscanRowCount", "renderItem", "emptyElement", "loadingElement", "fixedColumnCount", "fixedRowCount", "listWidth"];
|
9380
9283
|
var VirtualTableView = function VirtualTableView(props) {
|
9381
9284
|
var data = props.data,
|
9382
9285
|
containerProps = props.containerProps,
|
9383
|
-
listHeight = props.listHeight,
|
9384
|
-
_props$overscanRowCou = props.overscanRowCount,
|
9385
|
-
overscanRowCount = _props$overscanRowCou === void 0 ? 5 : _props$overscanRowCou,
|
9386
9286
|
renderItem = props.renderItem,
|
9387
9287
|
emptyElement = props.emptyElement,
|
9388
|
-
|
9389
|
-
|
9390
|
-
|
9391
|
-
listWidth = props.listWidth,
|
9392
|
-
rest = _objectWithoutPropertiesLoose(props, _excluded$6);
|
9393
|
-
var columnCount = props.columnCount;
|
9394
|
-
var _useVirtualListView = useVirtualListView(props),
|
9395
|
-
rowCount = _useVirtualListView.rowCount,
|
9396
|
-
onScroll = _useVirtualListView.onScroll;
|
9397
|
-
var _useState = useState(false),
|
9398
|
-
renderedColumnWidth = _useState[0],
|
9399
|
-
setRenderedColumnWidth = _useState[1];
|
9288
|
+
columnCount = props.columnCount,
|
9289
|
+
loading = props.loading,
|
9290
|
+
loadingElement = props.loadingElement;
|
9400
9291
|
var containerRef = useRef(null);
|
9401
|
-
var
|
9402
|
-
|
9403
|
-
|
9404
|
-
|
9405
|
-
|
9406
|
-
|
9407
|
-
|
9408
|
-
loadingElement: loadingElement
|
9292
|
+
var renderTableRow = function renderTableRow(_, index) {
|
9293
|
+
return React__default.createElement(Stack, {
|
9294
|
+
direction: "row"
|
9295
|
+
}, Array.from({
|
9296
|
+
length: columnCount
|
9297
|
+
}, function (_, colIndex) {
|
9298
|
+
return renderItem(index, colIndex);
|
9409
9299
|
}));
|
9410
|
-
}
|
9411
|
-
var noRowsRenderer = useCallback(function () {
|
9412
|
-
return React__default.createElement(VirtualTableEmpty, {
|
9413
|
-
emptyElement: emptyElement
|
9414
|
-
});
|
9415
|
-
}, []);
|
9416
|
-
var onSectionRendered = function onSectionRendered(_) {
|
9417
|
-
setRenderedColumnWidth(true);
|
9418
|
-
};
|
9419
|
-
var columnWidth = useCallback(function (params) {
|
9420
|
-
var _containerRef$current, _containerRef$current2;
|
9421
|
-
var index = params.index;
|
9422
|
-
var cWidth = cellMeasurerCache$1.columnWidth(params);
|
9423
|
-
if (listWidth) return cWidth;
|
9424
|
-
var totalWidths = columnCount * cWidth;
|
9425
|
-
var w = cWidth;
|
9426
|
-
if ((_containerRef$current = containerRef.current) !== null && _containerRef$current !== void 0 && _containerRef$current.offsetWidth && totalWidths < ((_containerRef$current2 = containerRef.current) === null || _containerRef$current2 === void 0 ? void 0 : _containerRef$current2.offsetWidth) && index === columnCount - 1) {
|
9427
|
-
var _containerRef$current3;
|
9428
|
-
w = Math.max(cWidth, ((_containerRef$current3 = containerRef.current) === null || _containerRef$current3 === void 0 ? void 0 : _containerRef$current3.offsetWidth) - (columnCount - 1) * cWidth);
|
9429
|
-
}
|
9430
|
-
return w;
|
9431
|
-
}, [columnCount]);
|
9432
|
-
useEffect(function () {
|
9433
|
-
if (renderedColumnWidth && listRef.current) {
|
9434
|
-
listRef.current.forceUpdateGrids();
|
9435
|
-
}
|
9436
|
-
}, [renderedColumnWidth]);
|
9300
|
+
};
|
9437
9301
|
return React__default.createElement(Box, Object.assign({
|
9438
9302
|
ref: containerRef
|
9439
|
-
}, containerProps), React__default.createElement(
|
9440
|
-
|
9441
|
-
|
9442
|
-
},
|
9443
|
-
|
9444
|
-
|
9445
|
-
|
9446
|
-
|
9447
|
-
|
9448
|
-
|
9449
|
-
|
9450
|
-
|
9451
|
-
|
9452
|
-
columnWidth: columnWidth,
|
9453
|
-
height: listHeight || height,
|
9454
|
-
rowHeight: cellMeasurerCache$1.rowHeight,
|
9455
|
-
deferredMeasurementCache: cellMeasurerCache$1,
|
9456
|
-
rowCount: rowCount,
|
9457
|
-
width: listWidth || width,
|
9458
|
-
overscanRowCount: overscanRowCount,
|
9459
|
-
noRowsRenderer: noRowsRenderer,
|
9460
|
-
onScroll: onScroll,
|
9461
|
-
onSectionRendered: onSectionRendered
|
9462
|
-
}, rest));
|
9303
|
+
}, containerProps), loading && React__default.createElement(Fragment$1, null, loadingElement != null ? loadingElement : React__default.createElement(Box, {
|
9304
|
+
p: 1,
|
9305
|
+
className: "d-flex justify-content-center align-items-center w-100"
|
9306
|
+
}, React__default.createElement(CircularProgress, {
|
9307
|
+
size: 24,
|
9308
|
+
sx: {
|
9309
|
+
color: "#5d5d5b"
|
9310
|
+
}
|
9311
|
+
}))), !loading && !data.length && React__default.createElement(VirtualTableEmpty, {
|
9312
|
+
emptyElement: emptyElement
|
9313
|
+
}), !loading && !!data.length && React__default.createElement(ListView, {
|
9314
|
+
data: data,
|
9315
|
+
render: renderTableRow
|
9463
9316
|
}));
|
9464
9317
|
};
|
9465
9318
|
|
@@ -10694,6 +10547,7 @@ var useLogiQRCode = function useLogiQRCode(props) {
|
|
10694
10547
|
var _useState8 = useState(false),
|
10695
10548
|
error = _useState8[0],
|
10696
10549
|
setError = _useState8[1];
|
10550
|
+
var firstLoadRef = useRef(true);
|
10697
10551
|
var onVerify = useCallback(function (token) {
|
10698
10552
|
setTokenReCaptcha(token);
|
10699
10553
|
}, []);
|
@@ -10703,9 +10557,11 @@ var useLogiQRCode = function useLogiQRCode(props) {
|
|
10703
10557
|
setRefreshReCaptcha(function (b) {
|
10704
10558
|
return !b;
|
10705
10559
|
});
|
10560
|
+
firstLoadRef.current = false;
|
10706
10561
|
setLoadingQR(false);
|
10707
10562
|
};
|
10708
|
-
if (!tokenReCaptcha
|
10563
|
+
if (!tokenReCaptcha) return Promise.resolve();
|
10564
|
+
resetData();
|
10709
10565
|
setLoadingQR(true);
|
10710
10566
|
if (!academyDomain) localStorage.setItem(LEARNING_SPACE, "true");
|
10711
10567
|
var _temp = _catch(function () {
|
@@ -10740,8 +10596,8 @@ var useLogiQRCode = function useLogiQRCode(props) {
|
|
10740
10596
|
}
|
10741
10597
|
};
|
10742
10598
|
useEffect(function () {
|
10743
|
-
getQRCodeDataLogin();
|
10744
|
-
}, [academyDomain, tokenReCaptcha
|
10599
|
+
if (firstLoadRef.current) getQRCodeDataLogin();
|
10600
|
+
}, [academyDomain, tokenReCaptcha]);
|
10745
10601
|
useEffect(function () {
|
10746
10602
|
if (qrCodeData !== null && qrCodeData !== void 0 && qrCodeData.key) {
|
10747
10603
|
if (pusher.current) pusher.current.disconnect();
|
@@ -10779,9 +10635,8 @@ var useLogiQRCode = function useLogiQRCode(props) {
|
|
10779
10635
|
var redirectUrl = needToRegister ? registerUrl : isAcademy ? homeAcademyUrl : homeUrl;
|
10780
10636
|
redirectLoginUser(user, token, redirectUrl);
|
10781
10637
|
});
|
10782
|
-
}, function (
|
10638
|
+
}, function () {
|
10783
10639
|
setInvalid(true);
|
10784
|
-
toast.error(getErrorMessage(t, error));
|
10785
10640
|
});
|
10786
10641
|
return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3));
|
10787
10642
|
} catch (e) {
|
@@ -10810,7 +10665,7 @@ var useLogiQRCode = function useLogiQRCode(props) {
|
|
10810
10665
|
setError(false);
|
10811
10666
|
};
|
10812
10667
|
var handleGenerateNewAQRCode = function handleGenerateNewAQRCode() {
|
10813
|
-
|
10668
|
+
getQRCodeDataLogin();
|
10814
10669
|
};
|
10815
10670
|
return {
|
10816
10671
|
t: t,
|
@@ -10922,10 +10777,10 @@ var LoginQRCode = function LoginQRCode(props) {
|
|
10922
10777
|
}));
|
10923
10778
|
};
|
10924
10779
|
|
10925
|
-
var _excluded$
|
10780
|
+
var _excluded$6 = ["history"];
|
10926
10781
|
var Login = function Login(_ref) {
|
10927
10782
|
var history = _ref.history,
|
10928
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
10783
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
|
10929
10784
|
var _useLogin = useLogin$1({
|
10930
10785
|
homeAcademyUrl: rest.homeAcademyUrl,
|
10931
10786
|
homeUrl: rest.homeUrl,
|
@@ -11875,11 +11730,11 @@ var DEFAULT_USER_FILTERS = {
|
|
11875
11730
|
|
11876
11731
|
var styles$2 = {"avatar":"_2rJkZ","date-picker":"_1iqE2","time-picker":"_20xtc","teacher-selector-wrapper":"_3L1Oj"};
|
11877
11732
|
|
11878
|
-
var _excluded$
|
11733
|
+
var _excluded$7 = ["teachers", "value"];
|
11879
11734
|
var TeacherSelector = function TeacherSelector(_ref) {
|
11880
11735
|
var teachers = _ref.teachers,
|
11881
11736
|
value = _ref.value,
|
11882
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
11737
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$7);
|
11883
11738
|
var teacherOptions = teachers.map(function (i) {
|
11884
11739
|
return {
|
11885
11740
|
label: i.teacherName + "/" + i.teacherEmail,
|
@@ -11907,7 +11762,7 @@ var ErrorHandler = function ErrorHandler(_ref) {
|
|
11907
11762
|
var ClassForm = function ClassForm(_ref) {
|
11908
11763
|
var history = _ref.history,
|
11909
11764
|
formikProp = _ref.formikProp,
|
11910
|
-
|
11765
|
+
classId = _ref.classId,
|
11911
11766
|
data = _ref.data,
|
11912
11767
|
teachers = _ref.teachers,
|
11913
11768
|
disabled = _ref.disabled,
|
@@ -12272,7 +12127,7 @@ var ClassForm = function ClassForm(_ref) {
|
|
12272
12127
|
formikProp.handleSubmit();
|
12273
12128
|
},
|
12274
12129
|
disabled: disabled
|
12275
|
-
}, !
|
12130
|
+
}, !classId ? t("create_and_continue") : t("save_and_exit")), React__default.createElement(Button, {
|
12276
12131
|
color: "secondary",
|
12277
12132
|
className: "bg-secondary",
|
12278
12133
|
variant: "contained",
|
@@ -13170,14 +13025,15 @@ var useTeacherList = function useTeacherList() {
|
|
13170
13025
|
};
|
13171
13026
|
};
|
13172
13027
|
|
13173
|
-
var _excluded$
|
13028
|
+
var _excluded$8 = ["getStudents"],
|
13174
13029
|
_excluded2 = ["getTeachers"],
|
13175
13030
|
_excluded3 = ["getLessons"];
|
13176
13031
|
var PAGE_TITLE$4 = "classes";
|
13177
13032
|
var useClassDetail = function useClassDetail(_ref) {
|
13178
13033
|
var history = _ref.history,
|
13179
|
-
|
13180
|
-
role = _ref.role
|
13034
|
+
classId = _ref.classId,
|
13035
|
+
role = _ref.role,
|
13036
|
+
classListUrl = _ref.classListUrl;
|
13181
13037
|
var _useTranslation = useTranslation(),
|
13182
13038
|
t = _useTranslation.t;
|
13183
13039
|
var dispatch = useDispatch();
|
@@ -13188,8 +13044,11 @@ var useClassDetail = function useClassDetail(_ref) {
|
|
13188
13044
|
});
|
13189
13045
|
var roles = (user === null || user === void 0 ? void 0 : user.roles) || [];
|
13190
13046
|
var isOneRoleExists = roles.length === 1;
|
13191
|
-
var isAdmin = roles.includes(Role.Admin)
|
13192
|
-
var isTeacher = roles.includes(Role.Teacher) && !
|
13047
|
+
var isAdmin = roles.includes(Role.Admin);
|
13048
|
+
var isTeacher = roles.includes(Role.Teacher) && !isAdmin;
|
13049
|
+
var isSuperAdmin = user === null || user === void 0 ? void 0 : user.isSuperAdmin;
|
13050
|
+
var isteacherSite = role === Role.Teacher;
|
13051
|
+
var isDisabled = isAdmin && !isSuperAdmin && isteacherSite || isTeacher;
|
13193
13052
|
var _useState = useState(),
|
13194
13053
|
course = _useState[0],
|
13195
13054
|
setCourse = _useState[1];
|
@@ -13215,13 +13074,13 @@ var useClassDetail = function useClassDetail(_ref) {
|
|
13215
13074
|
var isSelected = function isSelected(id) {
|
13216
13075
|
return selected.indexOf(id) !== -1;
|
13217
13076
|
};
|
13218
|
-
var _useStudentClassList = useStudentClassList(
|
13077
|
+
var _useStudentClassList = useStudentClassList(classId),
|
13219
13078
|
getStudents = _useStudentClassList.getStudents,
|
13220
|
-
studentListProps = _objectWithoutPropertiesLoose(_useStudentClassList, _excluded$
|
13221
|
-
var _useTeacherClassList = useTeacherClassList(
|
13079
|
+
studentListProps = _objectWithoutPropertiesLoose(_useStudentClassList, _excluded$8);
|
13080
|
+
var _useTeacherClassList = useTeacherClassList(classId),
|
13222
13081
|
getTeachers = _useTeacherClassList.getTeachers,
|
13223
13082
|
teacherListProps = _objectWithoutPropertiesLoose(_useTeacherClassList, _excluded2);
|
13224
|
-
var _useLessonClassList = useLessonClassList(
|
13083
|
+
var _useLessonClassList = useLessonClassList(classId),
|
13225
13084
|
getLessons = _useLessonClassList.getLessons,
|
13226
13085
|
lessonListProps = _objectWithoutPropertiesLoose(_useLessonClassList, _excluded3);
|
13227
13086
|
var selectedLesson = lessonListProps.selectedLesson,
|
@@ -13245,12 +13104,10 @@ var useClassDetail = function useClassDetail(_ref) {
|
|
13245
13104
|
isLoading && dispatch(setLoading(false));
|
13246
13105
|
};
|
13247
13106
|
var _exit = false;
|
13248
|
-
if (!
|
13249
|
-
var idNumber = +id;
|
13250
|
-
if (isNaN(idNumber)) return Promise.resolve();
|
13107
|
+
if (!classId) return Promise.resolve();
|
13251
13108
|
isLoading && dispatch(setLoading(true));
|
13252
13109
|
var _temp = _catch(function () {
|
13253
|
-
return Promise.resolve(getClassByIdApi(
|
13110
|
+
return Promise.resolve(getClassByIdApi(classId)).then(function (res) {
|
13254
13111
|
var classData = res.data;
|
13255
13112
|
if (!classData) {
|
13256
13113
|
toast.error(t("get_class_detail_error"));
|
@@ -13367,22 +13224,22 @@ var useClassDetail = function useClassDetail(_ref) {
|
|
13367
13224
|
var _temp12 = function _temp12() {
|
13368
13225
|
dispatch(setLoading(false));
|
13369
13226
|
};
|
13370
|
-
if (!
|
13227
|
+
if (!classId || !openSelectDialog) return Promise.resolve();
|
13371
13228
|
dispatch(setLoading(true));
|
13372
13229
|
var _temp11 = _catch(function () {
|
13373
13230
|
function _temp10() {
|
13374
13231
|
return Promise.resolve(handleGetDetailData(false)).then(function () {
|
13375
|
-
toast.success(t(
|
13232
|
+
toast.success(t(classId ? "update_class_successfully" : "create_class_successfully"));
|
13376
13233
|
handleCloseSelectDialog();
|
13377
13234
|
});
|
13378
13235
|
}
|
13379
13236
|
var _temp9 = function () {
|
13380
13237
|
if (openSelectDialog === "Student") {
|
13381
|
-
return Promise.resolve(addStudentToClass(
|
13238
|
+
return Promise.resolve(addStudentToClass(classId, userIds)).then(function () {
|
13382
13239
|
return Promise.resolve(getStudents()).then(function () {});
|
13383
13240
|
});
|
13384
13241
|
} else {
|
13385
|
-
return Promise.resolve(addTeacherToClass(
|
13242
|
+
return Promise.resolve(addTeacherToClass(classId, userIds)).then(function () {
|
13386
13243
|
return Promise.resolve(getTeachers()).then(function () {});
|
13387
13244
|
});
|
13388
13245
|
}
|
@@ -13417,16 +13274,16 @@ var useClassDetail = function useClassDetail(_ref) {
|
|
13417
13274
|
dispatch(setLoading(true));
|
13418
13275
|
var _temp15 = _catch(function () {
|
13419
13276
|
function _temp14() {
|
13420
|
-
toast.success(t(
|
13277
|
+
toast.success(t(classId ? "update_class_successfully" : "create_class_successfully"));
|
13421
13278
|
}
|
13422
13279
|
var _temp13 = function () {
|
13423
|
-
if (!
|
13280
|
+
if (!classId) {
|
13424
13281
|
return Promise.resolve(createClassApi(body)).then(function (res) {
|
13425
|
-
pushTo(history, "/
|
13282
|
+
pushTo(history, classListUrl + "/" + res.data.id);
|
13426
13283
|
});
|
13427
13284
|
} else {
|
13428
|
-
return Promise.resolve(updateClassApi(
|
13429
|
-
pushTo(history,
|
13285
|
+
return Promise.resolve(updateClassApi(classId, body)).then(function () {
|
13286
|
+
pushTo(history, classListUrl);
|
13430
13287
|
});
|
13431
13288
|
}
|
13432
13289
|
}();
|
@@ -13441,10 +13298,10 @@ var useClassDetail = function useClassDetail(_ref) {
|
|
13441
13298
|
};
|
13442
13299
|
var getStudentNotInClassList = function getStudentNotInClassList() {
|
13443
13300
|
try {
|
13444
|
-
if (!
|
13301
|
+
if (!classId) return Promise.resolve();
|
13445
13302
|
var _temp17 = _catch(function () {
|
13446
13303
|
var _textSearchRef$curren;
|
13447
|
-
return Promise.resolve(getStudentClassApi(
|
13304
|
+
return Promise.resolve(getStudentClassApi(classId, _extends({}, filter, {
|
13448
13305
|
textSearch: (_textSearchRef$curren = textSearchRef.current) === null || _textSearchRef$curren === void 0 ? void 0 : _textSearchRef$curren.value,
|
13449
13306
|
isInCourse: false
|
13450
13307
|
}))).then(function (res) {
|
@@ -13480,10 +13337,10 @@ var useClassDetail = function useClassDetail(_ref) {
|
|
13480
13337
|
};
|
13481
13338
|
var getTeacherNotInClassList = function getTeacherNotInClassList() {
|
13482
13339
|
try {
|
13483
|
-
if (!
|
13340
|
+
if (!classId) return Promise.resolve();
|
13484
13341
|
var _temp18 = _catch(function () {
|
13485
13342
|
var _textSearchRef$curren2;
|
13486
|
-
return Promise.resolve(getTeacherClassApi(
|
13343
|
+
return Promise.resolve(getTeacherClassApi(classId, _extends({}, filter, {
|
13487
13344
|
textSearch: (_textSearchRef$curren2 = textSearchRef.current) === null || _textSearchRef$curren2 === void 0 ? void 0 : _textSearchRef$curren2.value,
|
13488
13345
|
isInCourse: false
|
13489
13346
|
}))).then(function (res) {
|
@@ -13599,7 +13456,7 @@ var useClassDetail = function useClassDetail(_ref) {
|
|
13599
13456
|
};
|
13600
13457
|
useEffect(function () {
|
13601
13458
|
handleGetDetailData();
|
13602
|
-
}, [
|
13459
|
+
}, [classId]);
|
13603
13460
|
useEffect(function () {
|
13604
13461
|
handleFetchUsers();
|
13605
13462
|
}, [JSON.stringify(filter)]);
|
@@ -13607,9 +13464,9 @@ var useClassDetail = function useClassDetail(_ref) {
|
|
13607
13464
|
document.title = t("study_peak") + " | " + t(PAGE_TITLE$4);
|
13608
13465
|
}, [t]);
|
13609
13466
|
return {
|
13610
|
-
|
13467
|
+
classId: classId,
|
13611
13468
|
schema: schema,
|
13612
|
-
|
13469
|
+
isDisabled: isDisabled,
|
13613
13470
|
paging: paging,
|
13614
13471
|
filter: filter,
|
13615
13472
|
isTeacher: isTeacher,
|
@@ -13969,12 +13826,12 @@ var LessonList = function LessonList(_ref) {
|
|
13969
13826
|
}));
|
13970
13827
|
};
|
13971
13828
|
|
13972
|
-
var _excluded$
|
13829
|
+
var _excluded$9 = ["children", "value", "index"];
|
13973
13830
|
var CustomTabPanel = function CustomTabPanel(props) {
|
13974
13831
|
var children = props.children,
|
13975
13832
|
value = props.value,
|
13976
13833
|
index = props.index,
|
13977
|
-
other = _objectWithoutPropertiesLoose(props, _excluded$
|
13834
|
+
other = _objectWithoutPropertiesLoose(props, _excluded$9);
|
13978
13835
|
return React__default.createElement("div", Object.assign({
|
13979
13836
|
role: "tabpanel",
|
13980
13837
|
hidden: value !== index,
|
@@ -14001,15 +13858,17 @@ var ClassDetail = function ClassDetail(_ref) {
|
|
14001
13858
|
history = _ref.history,
|
14002
13859
|
classListUrl = _ref.classListUrl,
|
14003
13860
|
role = _ref.role;
|
13861
|
+
var classId = !id || Number.isNaN(+id) ? 0 : +id;
|
14004
13862
|
var _useClassDetail = useClassDetail({
|
14005
13863
|
history: history,
|
14006
|
-
|
14007
|
-
role: role
|
13864
|
+
classId: classId,
|
13865
|
+
role: role,
|
13866
|
+
classListUrl: classListUrl
|
14008
13867
|
}),
|
14009
13868
|
schema = _useClassDetail.schema,
|
14010
13869
|
paging = _useClassDetail.paging,
|
14011
|
-
isAdmin = _useClassDetail.isAdmin,
|
14012
13870
|
isTeacher = _useClassDetail.isTeacher,
|
13871
|
+
isDisabled = _useClassDetail.isDisabled,
|
14013
13872
|
filter = _useClassDetail.filter,
|
14014
13873
|
listUserSelected = _useClassDetail.listUserSelected,
|
14015
13874
|
userList = _useClassDetail.userList,
|
@@ -14059,7 +13918,7 @@ var ClassDetail = function ClassDetail(_ref) {
|
|
14059
13918
|
if (selected === TabList$1[1].value) studentListProps.resetData();
|
14060
13919
|
if (selected === TabList$1[2].value) studentListProps.resetData();
|
14061
13920
|
}, [selected]);
|
14062
|
-
return React__default.createElement(Box, null, !!
|
13921
|
+
return React__default.createElement(Box, null, !!classId && React__default.createElement(Box, null, React__default.createElement(Stack, {
|
14063
13922
|
display: "flex",
|
14064
13923
|
flexDirection: "row",
|
14065
13924
|
gap: "8px"
|
@@ -14089,12 +13948,12 @@ var ClassDetail = function ClassDetail(_ref) {
|
|
14089
13948
|
direction: "row",
|
14090
13949
|
alignItems: "center",
|
14091
13950
|
justifyContent: "space-between",
|
14092
|
-
mt:
|
13951
|
+
mt: classId ? 2 : 0,
|
14093
13952
|
mb: 2,
|
14094
|
-
pt:
|
13953
|
+
pt: classId ? "12px" : "0px"
|
14095
13954
|
}, React__default.createElement(Typography, {
|
14096
13955
|
variant: "h4"
|
14097
|
-
}, t(!
|
13956
|
+
}, t(!classId ? "create_class" : !isDisabled ? "update_class" : "view_class"))), React__default.createElement(Formik, {
|
14098
13957
|
initialValues: DEFAULT_CLASS_REQUEST,
|
14099
13958
|
validationSchema: schema,
|
14100
13959
|
onSubmit: handleSubmit
|
@@ -14102,30 +13961,30 @@ var ClassDetail = function ClassDetail(_ref) {
|
|
14102
13961
|
return React__default.createElement(ClassForm, {
|
14103
13962
|
classListUrl: classListUrl,
|
14104
13963
|
history: history,
|
14105
|
-
|
13964
|
+
classId: classId,
|
14106
13965
|
formikProp: props,
|
14107
13966
|
data: classRequest,
|
14108
13967
|
teachers: teacherOptions,
|
14109
|
-
disabled:
|
13968
|
+
disabled: isDisabled,
|
14110
13969
|
onSearchTeachers: handleChangeTextSearchTeachers
|
14111
13970
|
});
|
14112
13971
|
})), React__default.createElement(CustomTabPanel, {
|
14113
13972
|
value: selected,
|
14114
13973
|
index: TabList$1[1].value
|
14115
|
-
}, !!
|
14116
|
-
disabled:
|
13974
|
+
}, !!classId && selected === TabList$1[1].value && React__default.createElement(StudentList, Object.assign({
|
13975
|
+
disabled: isDisabled && !isTeacher,
|
14117
13976
|
onAdd: handleOpenSelectDialog
|
14118
13977
|
}, studentListProps))), React__default.createElement(CustomTabPanel, {
|
14119
13978
|
value: selected,
|
14120
13979
|
index: TabList$1[2].value
|
14121
|
-
}, !!
|
14122
|
-
disabled:
|
13980
|
+
}, !!classId && selected === TabList$1[2].value && React__default.createElement(TeacherList, Object.assign({
|
13981
|
+
disabled: isDisabled,
|
14123
13982
|
onAdd: handleOpenSelectDialog
|
14124
13983
|
}, teacherListProps))), React__default.createElement(CustomTabPanel, {
|
14125
13984
|
value: selected,
|
14126
13985
|
index: TabList$1[3].value
|
14127
|
-
}, !!
|
14128
|
-
disabled:
|
13986
|
+
}, !!classId && selected === TabList$1[3].value && React__default.createElement(LessonList, Object.assign({
|
13987
|
+
disabled: isDisabled,
|
14129
13988
|
startDate: course === null || course === void 0 ? void 0 : course.startDate,
|
14130
13989
|
endDate: course === null || course === void 0 ? void 0 : course.endDate
|
14131
13990
|
}, lessonListProps, {
|
@@ -14133,7 +13992,7 @@ var ClassDetail = function ClassDetail(_ref) {
|
|
14133
13992
|
handleDeleteLessonClass: handleDeleteLessonClass,
|
14134
13993
|
teachers: teacherOptions,
|
14135
13994
|
onSearchTeachers: handleChangeTextSearchTeachers
|
14136
|
-
}))), (
|
13995
|
+
}))), (!isDisabled && !isTeacher || openSelectDialog === "Student") && React__default.createElement(SelectDialog, {
|
14137
13996
|
open: !!openSelectDialog,
|
14138
13997
|
isStudent: openSelectDialog === "Student",
|
14139
13998
|
onClose: handleCloseSelectDialog,
|
@@ -14299,6 +14158,10 @@ var ClassList = function ClassList(_ref) {
|
|
14299
14158
|
role = _ref.role,
|
14300
14159
|
classCreateUrl = _ref.classCreateUrl,
|
14301
14160
|
classUpdateUrl = _ref.classUpdateUrl;
|
14161
|
+
var isSuperAdmin = useSelector(function (state) {
|
14162
|
+
var _state$common, _state$common$user;
|
14163
|
+
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;
|
14164
|
+
});
|
14302
14165
|
var isAdmin = role === Role.Admin;
|
14303
14166
|
var _useClassList = useClassList(history, classCreateUrl, classUpdateUrl),
|
14304
14167
|
t = _useClassList.t,
|
@@ -14322,7 +14185,7 @@ var ClassList = function ClassList(_ref) {
|
|
14322
14185
|
mb: 2
|
14323
14186
|
}, React__default.createElement(Typography, {
|
14324
14187
|
variant: "h4"
|
14325
|
-
}, t("classes")), isAdmin && React__default.createElement(MButton, {
|
14188
|
+
}, t("classes")), (isAdmin || isSuperAdmin) && React__default.createElement(MButton, {
|
14326
14189
|
variant: "contained",
|
14327
14190
|
color: "inherit",
|
14328
14191
|
startIcon: React__default.createElement(FaPlus, {
|
@@ -14362,7 +14225,7 @@ var ClassList = function ClassList(_ref) {
|
|
14362
14225
|
key: i.id
|
14363
14226
|
}, React__default.createElement(TableCell$1, null, (paging.page - 1) * paging.limit + index + 1), React__default.createElement(TableCell$1, {
|
14364
14227
|
className: "text-nowrap"
|
14365
|
-
}, 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", {
|
14228
|
+
}, 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", {
|
14366
14229
|
className: "d-flex"
|
14367
14230
|
}, React__default.createElement(IconButton, {
|
14368
14231
|
color: "default",
|
@@ -14380,7 +14243,7 @@ var ClassList = function ClassList(_ref) {
|
|
14380
14243
|
}
|
14381
14244
|
}, React__default.createElement(FaTrashCan, {
|
14382
14245
|
size: 12
|
14383
|
-
}))), !isAdmin && React__default.createElement(IconButton, {
|
14246
|
+
}))), !(isAdmin || isSuperAdmin) && React__default.createElement(IconButton, {
|
14384
14247
|
color: "default",
|
14385
14248
|
className: "bg-primary text-white me-1",
|
14386
14249
|
onClick: function onClick() {
|
@@ -19237,7 +19100,9 @@ var useNotes = function useNotes(setFilter, filter) {
|
|
19237
19100
|
}
|
19238
19101
|
setLoadingNotes(true);
|
19239
19102
|
var _temp = _catch(function () {
|
19240
|
-
return Promise.resolve(getNotesApi(_extends({}, filter
|
19103
|
+
return Promise.resolve(getNotesApi(_extends({}, filter, {
|
19104
|
+
currentPage: -1
|
19105
|
+
}))).then(function (res) {
|
19241
19106
|
var data = res.data;
|
19242
19107
|
setTotalPages((data === null || data === void 0 ? void 0 : data.totalPages) || 0);
|
19243
19108
|
var items = (data === null || data === void 0 ? void 0 : data.items) || [];
|
@@ -19339,6 +19204,7 @@ var NoteItem = function NoteItem(_ref) {
|
|
19339
19204
|
}),
|
19340
19205
|
placement: placement
|
19341
19206
|
}, React__default.createElement(IconButton, {
|
19207
|
+
disabled: !actions.length,
|
19342
19208
|
onClick: handleMoreClick
|
19343
19209
|
}, React__default.createElement(MdMoreHoriz, {
|
19344
19210
|
color: "#5d5d5b"
|
@@ -19646,11 +19512,10 @@ var useExamResultData = function useExamResultData(props) {
|
|
19646
19512
|
var getData = function getData() {
|
19647
19513
|
resetData();
|
19648
19514
|
if (!(user !== null && user !== void 0 && user.email)) return;
|
19649
|
-
|
19650
|
-
!isStudent && getStudentDataByTeacher(examSessionId, studentId);
|
19515
|
+
if (chapterId) getDataTextbookResult();else isStudent ? getStudentData(examCode) : getStudentDataByTeacher(examSessionId, studentId);
|
19651
19516
|
};
|
19652
19517
|
examCode === "example-code" ? setExampleData() : getData();
|
19653
|
-
}, [examCode, isStudent, code, examSessionId, studentId, user === null || user === void 0 ? void 0 : user.email]);
|
19518
|
+
}, [examCode, isStudent, code, examSessionId, studentId, chapterId, user === null || user === void 0 ? void 0 : user.email]);
|
19654
19519
|
var handlePrevChart = function handlePrevChart() {
|
19655
19520
|
if (dataChartIndex > 0) {
|
19656
19521
|
setDataChartIndex(dataChartIndex - 1);
|
@@ -21106,6 +20971,9 @@ var UserSchema = object().shape({
|
|
21106
20971
|
},
|
21107
20972
|
then: function then(schema) {
|
21108
20973
|
return schema.trim().required("school_name_is_required");
|
20974
|
+
},
|
20975
|
+
otherwise: function otherwise(schema) {
|
20976
|
+
return schema.notRequired();
|
21109
20977
|
}
|
21110
20978
|
}),
|
21111
20979
|
grade: number().transform(function (value) {
|
@@ -21116,6 +20984,9 @@ var UserSchema = object().shape({
|
|
21116
20984
|
},
|
21117
20985
|
then: function then(schema) {
|
21118
20986
|
return schema.required("student_grade_is_required").typeError("student_grade_is_required").min(1, "student_grade_is_invalid").max(12, "student_grade_is_invalid");
|
20987
|
+
},
|
20988
|
+
otherwise: function otherwise(schema) {
|
20989
|
+
return schema.notRequired();
|
21119
20990
|
}
|
21120
20991
|
}),
|
21121
20992
|
major: string().when("role", {
|
@@ -21124,6 +20995,9 @@ var UserSchema = object().shape({
|
|
21124
20995
|
},
|
21125
20996
|
then: function then(schema) {
|
21126
20997
|
return schema.trim().required("major_is_required");
|
20998
|
+
},
|
20999
|
+
otherwise: function otherwise(schema) {
|
21000
|
+
return schema.notRequired();
|
21127
21001
|
}
|
21128
21002
|
}),
|
21129
21003
|
parentPhoneNumber: string().when("role", {
|
@@ -21134,6 +21008,9 @@ var UserSchema = object().shape({
|
|
21134
21008
|
return schema.trim().matches(phoneRegExp, {
|
21135
21009
|
message: "parent_phone_number_is_invalid"
|
21136
21010
|
}).min(10, "parent_phone_number_is_invalid").required("parent_phone_number_is_required");
|
21011
|
+
},
|
21012
|
+
otherwise: function otherwise(schema) {
|
21013
|
+
return schema.notRequired();
|
21137
21014
|
}
|
21138
21015
|
}),
|
21139
21016
|
parentName: string().when("role", {
|
@@ -21142,6 +21019,9 @@ var UserSchema = object().shape({
|
|
21142
21019
|
},
|
21143
21020
|
then: function then(schema) {
|
21144
21021
|
return schema.trim().required("parent_name_is_required");
|
21022
|
+
},
|
21023
|
+
otherwise: function otherwise(schema) {
|
21024
|
+
return schema.notRequired();
|
21145
21025
|
}
|
21146
21026
|
}),
|
21147
21027
|
subjectId: number().when("role", {
|
@@ -21181,14 +21061,14 @@ var CSV_PREFIX = "data:text/csv;charset=utf-8,";
|
|
21181
21061
|
|
21182
21062
|
var styles$5 = {"action-btn":"_1jXbz","action-btn--pencil":"_at4xP","icon-rotate-180":"_12gv9","drop-area":"_R4bn5"};
|
21183
21063
|
|
21184
|
-
var _excluded$
|
21064
|
+
var _excluded$a = ["text", "isRequired", "className"];
|
21185
21065
|
var LabelRequired = function LabelRequired(_ref) {
|
21186
21066
|
var text = _ref.text,
|
21187
21067
|
_ref$isRequired = _ref.isRequired,
|
21188
21068
|
isRequired = _ref$isRequired === void 0 ? true : _ref$isRequired,
|
21189
21069
|
_ref$className = _ref.className,
|
21190
21070
|
className = _ref$className === void 0 ? "" : _ref$className,
|
21191
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
21071
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$a);
|
21192
21072
|
return React__default.createElement(FormLabel, Object.assign({
|
21193
21073
|
className: "fw-medium mb-1 " + className
|
21194
21074
|
}, rest), text, isRequired && React__default.createElement("span", {
|
@@ -21242,7 +21122,7 @@ var deleteUserApi = function deleteUserApi(id) {
|
|
21242
21122
|
return api["delete"](USER_URL + "/delete/" + id);
|
21243
21123
|
};
|
21244
21124
|
|
21245
|
-
var _excluded$
|
21125
|
+
var _excluded$b = ["ref"],
|
21246
21126
|
_excluded2$1 = ["ref"],
|
21247
21127
|
_excluded3$1 = ["ref"],
|
21248
21128
|
_excluded4 = ["ref"],
|
@@ -21272,7 +21152,7 @@ var UserDialog = function UserDialog(_ref) {
|
|
21272
21152
|
t = _useTranslation.t;
|
21273
21153
|
var _register = register("fullName"),
|
21274
21154
|
fullNameRef = _register.ref,
|
21275
|
-
fullNameBio = _objectWithoutPropertiesLoose(_register, _excluded$
|
21155
|
+
fullNameBio = _objectWithoutPropertiesLoose(_register, _excluded$b);
|
21276
21156
|
var _register2 = register("email"),
|
21277
21157
|
emailRef = _register2.ref,
|
21278
21158
|
emailBio = _objectWithoutPropertiesLoose(_register2, _excluded2$1);
|
@@ -21681,7 +21561,8 @@ var UserDialog = function UserDialog(_ref) {
|
|
21681
21561
|
size: "1rem"
|
21682
21562
|
}) : React__default.createElement(IconButton, {
|
21683
21563
|
className: "bg-success",
|
21684
|
-
onClick: getDefaultPassCode
|
21564
|
+
onClick: getDefaultPassCode,
|
21565
|
+
disabled: disabled
|
21685
21566
|
}, React__default.createElement(FaRotateRight, {
|
21686
21567
|
color: "#FFF",
|
21687
21568
|
size: 10
|
@@ -21708,7 +21589,8 @@ var UserDialog = function UserDialog(_ref) {
|
|
21708
21589
|
disabled: disabled
|
21709
21590
|
}), React__default.createElement(Box, null, React__default.createElement(IconButton, {
|
21710
21591
|
className: "bg-success",
|
21711
|
-
onClick: getRandomPassCode
|
21592
|
+
onClick: getRandomPassCode,
|
21593
|
+
disabled: disabled
|
21712
21594
|
}, React__default.createElement(FaRotateRight, {
|
21713
21595
|
color: "#FFF",
|
21714
21596
|
size: 10
|
@@ -22369,6 +22251,10 @@ var RecentUserActionDialog = function RecentUserActionDialog(_ref) {
|
|
22369
22251
|
|
22370
22252
|
var UserList = function UserList(_ref) {
|
22371
22253
|
var role = _ref.role;
|
22254
|
+
var isSuperAdmin = useSelector(function (state) {
|
22255
|
+
var _state$common, _state$common$user;
|
22256
|
+
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;
|
22257
|
+
});
|
22372
22258
|
var isAdmin = role === Role.Admin;
|
22373
22259
|
var _useUserList = useUserList(role),
|
22374
22260
|
userHeaders = _useUserList.userHeaders,
|
@@ -22422,7 +22308,7 @@ var UserList = function UserList(_ref) {
|
|
22422
22308
|
mb: 2
|
22423
22309
|
}, React__default.createElement(Typography, {
|
22424
22310
|
variant: "h4"
|
22425
|
-
}, t("users")), isAdmin && React__default.createElement("div", {
|
22311
|
+
}, t("users")), (isAdmin || isSuperAdmin) && React__default.createElement("div", {
|
22426
22312
|
className: "d-flex"
|
22427
22313
|
}, React__default.createElement("input", {
|
22428
22314
|
type: "file",
|
@@ -22530,7 +22416,7 @@ var UserList = function UserList(_ref) {
|
|
22530
22416
|
key: i.id
|
22531
22417
|
}, 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", {
|
22532
22418
|
className: "d-flex"
|
22533
|
-
}, isAdmin ? React__default.createElement(IconButton, {
|
22419
|
+
}, isAdmin || isSuperAdmin ? React__default.createElement(IconButton, {
|
22534
22420
|
color: "default",
|
22535
22421
|
className: styles$5["action-btn"] + " bg-warning text-white me-2",
|
22536
22422
|
onClick: function onClick() {
|
@@ -22547,7 +22433,7 @@ var UserList = function UserList(_ref) {
|
|
22547
22433
|
}
|
22548
22434
|
}, React__default.createElement(FaEye$1, {
|
22549
22435
|
size: 12
|
22550
|
-
})), isAdmin && React__default.createElement(IconButton, {
|
22436
|
+
})), (isAdmin || isSuperAdmin) && React__default.createElement(IconButton, {
|
22551
22437
|
onClick: function onClick() {
|
22552
22438
|
return openDeleteDialog(i);
|
22553
22439
|
},
|
@@ -22577,14 +22463,14 @@ var UserList = function UserList(_ref) {
|
|
22577
22463
|
}), React__default.createElement(UserDialog, {
|
22578
22464
|
open: openUserDialog,
|
22579
22465
|
data: userDetail,
|
22580
|
-
disabled: !isAdmin,
|
22466
|
+
disabled: !(isAdmin || isSuperAdmin),
|
22581
22467
|
onClose: handleCloseUserDialog,
|
22582
22468
|
onSubmitForm: handleCreateOrUpdateUser
|
22583
22469
|
}), React__default.createElement(RecentUserActionDialog, {
|
22584
22470
|
open: isOpenRecentUserActionDialog,
|
22585
22471
|
onClose: handleCloseRecentUserActionDialog,
|
22586
22472
|
recentUserActions: recentUserActions
|
22587
|
-
}), isAdmin && React__default.createElement(DeleteUserCsvDialog, {
|
22473
|
+
}), (isAdmin || isSuperAdmin) && React__default.createElement(DeleteUserCsvDialog, {
|
22588
22474
|
open: isOpenDeleteUserCsv,
|
22589
22475
|
file: deleteFile,
|
22590
22476
|
onChangeFile: handleChangeDeleteFile,
|
@@ -23896,9 +23782,6 @@ var TextbookDefaultQuery = {
|
|
23896
23782
|
sortColumnDirection: OrderType.ASC,
|
23897
23783
|
sortColumnName: TextbookSortBy.Title
|
23898
23784
|
};
|
23899
|
-
var TEXTBOOK_URL$1 = "/teacher/teacher-admin/textbooks";
|
23900
|
-
var ADMIN_TEXTBOOK_URL = "/textbooks";
|
23901
|
-
var SUPER_ADMIN_TEXTBOOK_URL = "/personal/textbooks";
|
23902
23785
|
var DEFAULT_TEXTBOOK = {
|
23903
23786
|
name: "",
|
23904
23787
|
chapters: []
|
@@ -24066,7 +23949,9 @@ var useTextbookDetail = function useTextbookDetail(props) {
|
|
24066
23949
|
isReadonlyParam = props.isReadonlyParam,
|
24067
23950
|
navigate = props.navigate,
|
24068
23951
|
id = props.id,
|
24069
|
-
isSuperAdmin = props.isSuperAdmin
|
23952
|
+
isSuperAdmin = props.isSuperAdmin,
|
23953
|
+
onNavigateDetail = props.onNavigateDetail,
|
23954
|
+
onNavigateList = props.onNavigateList;
|
24070
23955
|
var _useTranslation = useTranslation(),
|
24071
23956
|
t = _useTranslation.t;
|
24072
23957
|
var dispatch = useDispatch();
|
@@ -24099,7 +23984,6 @@ var useTextbookDetail = function useTextbookDetail(props) {
|
|
24099
23984
|
var _useState9 = useState([]),
|
24100
23985
|
categoryList = _useState9[0],
|
24101
23986
|
setCategoryList = _useState9[1];
|
24102
|
-
var textbookUrl = isSuperAdmin ? SUPER_ADMIN_TEXTBOOK_URL : role === Role.Teacher ? TEXTBOOK_URL$1 : ADMIN_TEXTBOOK_URL;
|
24103
23987
|
var isAdminSite = role === Role.Admin;
|
24104
23988
|
var user = useSelector(function (state) {
|
24105
23989
|
var _state$common;
|
@@ -24659,10 +24543,7 @@ var useTextbookDetail = function useTextbookDetail(props) {
|
|
24659
24543
|
subjectId: textbook.subject.id
|
24660
24544
|
};
|
24661
24545
|
return Promise.resolve(createTextbookApi(_body)).then(function (res) {
|
24662
|
-
|
24663
|
-
navigate(textbookUrl + "/" + textbookId, {
|
24664
|
-
replace: true
|
24665
|
-
});
|
24546
|
+
onNavigateDetail === null || onNavigateDetail === void 0 ? void 0 : onNavigateDetail(res.data, false, true);
|
24666
24547
|
});
|
24667
24548
|
}
|
24668
24549
|
}();
|
@@ -24705,9 +24586,7 @@ var useTextbookDetail = function useTextbookDetail(props) {
|
|
24705
24586
|
}
|
24706
24587
|
};
|
24707
24588
|
var handleGoToTextbookList = function handleGoToTextbookList() {
|
24708
|
-
|
24709
|
-
replace: true
|
24710
|
-
});
|
24589
|
+
onNavigateList(true);
|
24711
24590
|
};
|
24712
24591
|
var textbookSubject = useMemo(function () {
|
24713
24592
|
return textbook !== null && textbook !== void 0 && textbook.subject ? {
|
@@ -25055,12 +24934,12 @@ var ArticleDialog = function ArticleDialog(_ref) {
|
|
25055
24934
|
|
25056
24935
|
var styles$7 = {"drawer":"_11aYm","open":"_3Ydwm","drawer-overlay":"_3SQDf","drawer-header":"_2BwOx","drawer-form":"_2Zo7R","dropdown-content-academy":"_1lzjD","dropdown-change":"_1y7K9","dropdown-academy-item":"_1Y-55","dropdown-content-language":"_1fBXY","dropdown-item-language":"_3Szun","dropdown-item-language-active":"_2HhLb","item-address":"_3WYHC","item-logout":"_2-9ix","title-address":"_1r4pn","image-academy":"_2ZozT"};
|
25057
24936
|
|
25058
|
-
var _excluded$
|
24937
|
+
var _excluded$c = ["isOpen", "onClose", "handleSaveExam"];
|
25059
24938
|
var CreateExamDrawer = function CreateExamDrawer(props) {
|
25060
24939
|
var isOpen = props.isOpen,
|
25061
24940
|
onClose = props.onClose,
|
25062
24941
|
handleSaveExam = props.handleSaveExam,
|
25063
|
-
examDetailViewProps = _objectWithoutPropertiesLoose(props, _excluded$
|
24942
|
+
examDetailViewProps = _objectWithoutPropertiesLoose(props, _excluded$c);
|
25064
24943
|
var _useTranslation = useTranslation(),
|
25065
24944
|
t = _useTranslation.t;
|
25066
24945
|
var theme = useTheme();
|
@@ -25103,7 +24982,8 @@ var TextbookViewDetail = function TextbookViewDetail(props) {
|
|
25103
24982
|
var _textbook$chapters;
|
25104
24983
|
var navigate = props.navigate,
|
25105
24984
|
as = props.as,
|
25106
|
-
className = props.className
|
24985
|
+
className = props.className,
|
24986
|
+
onNavigateDetail = props.onNavigateDetail;
|
25107
24987
|
var _useTextbookDetail = useTextbookDetail(props),
|
25108
24988
|
id = _useTextbookDetail.id,
|
25109
24989
|
t = _useTextbookDetail.t,
|
@@ -25152,7 +25032,7 @@ var TextbookViewDetail = function TextbookViewDetail(props) {
|
|
25152
25032
|
}),
|
25153
25033
|
categoryOptions = _useCategorySelect.categoryOptions;
|
25154
25034
|
var Wrapper = as || Container;
|
25155
|
-
if (isNotFound) return React__default.createElement(NotFound, {
|
25035
|
+
if (isNotFound || id && textbook.isPrepared) return React__default.createElement(NotFound, {
|
25156
25036
|
history: navigate
|
25157
25037
|
});
|
25158
25038
|
return React__default.createElement(Wrapper, {
|
@@ -25232,7 +25112,7 @@ var TextbookViewDetail = function TextbookViewDetail(props) {
|
|
25232
25112
|
textbook: textbook,
|
25233
25113
|
onBack: handleGoToTextbookList,
|
25234
25114
|
onSave: handleCreateOrUpdateTextbook,
|
25235
|
-
hideSave: !!id && isReadonly
|
25115
|
+
hideSave: !!id && isReadonly || !onNavigateDetail
|
25236
25116
|
}))), React__default.createElement(Grid, {
|
25237
25117
|
item: true,
|
25238
25118
|
xs: 12,
|
@@ -25310,8 +25190,8 @@ var TextbookViewDetail = function TextbookViewDetail(props) {
|
|
25310
25190
|
|
25311
25191
|
var PAGE_TITLE$7 = "textbooks";
|
25312
25192
|
var useTextbookList = function useTextbookList(props) {
|
25313
|
-
var
|
25314
|
-
|
25193
|
+
var onNavigateCreate = props.onNavigateCreate,
|
25194
|
+
onNavigateDetail = props.onNavigateDetail,
|
25315
25195
|
isSuperAdmin = props.isSuperAdmin;
|
25316
25196
|
var _useList = useList(function (search) {
|
25317
25197
|
return getTextbookListApi(search, isSuperAdmin);
|
@@ -25329,21 +25209,15 @@ var useTextbookList = function useTextbookList(props) {
|
|
25329
25209
|
getData = _useList.getData;
|
25330
25210
|
var _useTranslation = useTranslation(),
|
25331
25211
|
t = _useTranslation.t;
|
25332
|
-
var textbookUrl = isSuperAdmin ? SUPER_ADMIN_TEXTBOOK_URL : role === Role.Teacher ? TEXTBOOK_URL$1 : ADMIN_TEXTBOOK_URL;
|
25333
25212
|
var dispatch = useDispatch();
|
25334
|
-
var handleViewTextbook = function handleViewTextbook(
|
25335
|
-
|
25336
|
-
navigate(textbookUrl + "/" + id + "?readonly=true", {
|
25337
|
-
replace: true
|
25338
|
-
});
|
25213
|
+
var handleViewTextbook = function handleViewTextbook(data) {
|
25214
|
+
onNavigateDetail(data, true, true);
|
25339
25215
|
};
|
25340
|
-
var handleUpdateTextbook = function handleUpdateTextbook(
|
25341
|
-
|
25342
|
-
replace: true
|
25343
|
-
});
|
25216
|
+
var handleUpdateTextbook = function handleUpdateTextbook(data) {
|
25217
|
+
onNavigateDetail(data, false, true);
|
25344
25218
|
};
|
25345
25219
|
var handleCreateTextbook = function handleCreateTextbook() {
|
25346
|
-
|
25220
|
+
onNavigateCreate === null || onNavigateCreate === void 0 ? void 0 : onNavigateCreate();
|
25347
25221
|
};
|
25348
25222
|
var toggleConfirmDialog = function toggleConfirmDialog() {
|
25349
25223
|
handleChangeSelectedItem(undefined);
|
@@ -25572,7 +25446,7 @@ var useTextbookShare = function useTextbookShare(props) {
|
|
25572
25446
|
var getData = props.getData,
|
25573
25447
|
role = props.role,
|
25574
25448
|
isSuperAdmin = props.isSuperAdmin;
|
25575
|
-
var _useList = useList(
|
25449
|
+
var _useList = useList(!isSuperAdmin ? function (search) {
|
25576
25450
|
return getTeacherListApi$1(search);
|
25577
25451
|
} : null, DefaultTeacherQuery),
|
25578
25452
|
filterShare = _useList.filter,
|
@@ -25612,8 +25486,10 @@ var useTextbookShare = function useTextbookShare(props) {
|
|
25612
25486
|
var _state$common;
|
25613
25487
|
return (state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user) || {};
|
25614
25488
|
});
|
25615
|
-
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);
|
25489
|
+
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));
|
25616
25490
|
var isAdminSite = role === Role.Admin;
|
25491
|
+
var onAcademy = !!infoUser.academyDomain;
|
25492
|
+
var isSuperAdminUser = infoUser && infoUser.isSuperAdmin;
|
25617
25493
|
useEffect(function () {
|
25618
25494
|
if (!isUpdate) {
|
25619
25495
|
filterTeacherNotShared(currentModel);
|
@@ -25622,6 +25498,8 @@ var useTextbookShare = function useTextbookShare(props) {
|
|
25622
25498
|
}
|
25623
25499
|
}, [teachers, isUpdate]);
|
25624
25500
|
var handleOpenShareDialog = function handleOpenShareDialog(textbook) {
|
25501
|
+
if (textSearchShareRef.current) textSearchShareRef.current.value = "";
|
25502
|
+
getData();
|
25625
25503
|
setIsUpdate(false);
|
25626
25504
|
setOpenShareDialog(true);
|
25627
25505
|
setCurrentModel(textbook);
|
@@ -25646,6 +25524,8 @@ var useTextbookShare = function useTextbookShare(props) {
|
|
25646
25524
|
setSelectedShare([]);
|
25647
25525
|
};
|
25648
25526
|
var handleOpenUpdateShareDialog = function handleOpenUpdateShareDialog(textbook) {
|
25527
|
+
if (textSearchShareRef.current) textSearchShareRef.current.value = "";
|
25528
|
+
getData();
|
25649
25529
|
setIsUpdate(true);
|
25650
25530
|
setOpenShareDialog(true);
|
25651
25531
|
setCurrentModel(textbook);
|
@@ -25700,8 +25580,11 @@ var useTextbookShare = function useTextbookShare(props) {
|
|
25700
25580
|
});
|
25701
25581
|
setShared(existsTeachers);
|
25702
25582
|
};
|
25703
|
-
var
|
25704
|
-
return
|
25583
|
+
var enabledSave = function enabledSave(textbook) {
|
25584
|
+
return isAdminSite || isSuperAdmin || isSuperAdminUser || !isAdmin && textbook.isShared && textbook.createdBy.id === infoUser.id;
|
25585
|
+
};
|
25586
|
+
var enabledShare = function enabledShare(textbook) {
|
25587
|
+
return textbook.isShared && onAcademy && (isAdminSite || isSuperAdminUser || !isAdmin && textbook.createdBy.id === infoUser.id);
|
25705
25588
|
};
|
25706
25589
|
var handleShareTextbook = function handleShareTextbook(teacherIds, textbookId) {
|
25707
25590
|
try {
|
@@ -25779,13 +25662,16 @@ var useTextbookShare = function useTextbookShare(props) {
|
|
25779
25662
|
isUpdate: isUpdate,
|
25780
25663
|
handleUpdateSharedTextbook: handleUpdateSharedTextbook,
|
25781
25664
|
currentModel: currentModel,
|
25782
|
-
|
25665
|
+
enabledSave: enabledSave,
|
25666
|
+
enabledShare: enabledShare,
|
25783
25667
|
isAdmin: isAdmin,
|
25784
25668
|
isAdminSite: isAdminSite
|
25785
25669
|
};
|
25786
25670
|
};
|
25787
25671
|
|
25788
25672
|
var TextbookList = function TextbookList(props) {
|
25673
|
+
var _props$createable = props.createable,
|
25674
|
+
createable = _props$createable === void 0 ? true : _props$createable;
|
25789
25675
|
var _useTranslation = useTranslation(),
|
25790
25676
|
t = _useTranslation.t;
|
25791
25677
|
var _useTextbookList = useTextbookList(props),
|
@@ -25831,9 +25717,8 @@ var TextbookList = function TextbookList(props) {
|
|
25831
25717
|
isUpdate = _useTextbookShare.isUpdate,
|
25832
25718
|
handleUpdateSharedTextbook = _useTextbookShare.handleUpdateSharedTextbook,
|
25833
25719
|
currentModel = _useTextbookShare.currentModel,
|
25834
|
-
|
25835
|
-
|
25836
|
-
isAdminSite = _useTextbookShare.isAdminSite;
|
25720
|
+
enabledSave = _useTextbookShare.enabledSave,
|
25721
|
+
enabledShare = _useTextbookShare.enabledShare;
|
25837
25722
|
return React__default.createElement(LayoutList, {
|
25838
25723
|
title: t(TEXTBOOK_PAGE_TITLE)
|
25839
25724
|
}, React__default.createElement(Grid, {
|
@@ -25855,14 +25740,14 @@ var TextbookList = function TextbookList(props) {
|
|
25855
25740
|
justifyContent: "flex-end"
|
25856
25741
|
},
|
25857
25742
|
spacing: 2
|
25858
|
-
},
|
25743
|
+
}, createable && React__default.createElement(Button, {
|
25859
25744
|
startIcon: React__default.createElement(FaPlus, {
|
25860
25745
|
size: 12
|
25861
25746
|
}),
|
25862
25747
|
variant: "contained",
|
25863
25748
|
color: "primary",
|
25864
25749
|
onClick: handleCreateTextbook,
|
25865
|
-
className:
|
25750
|
+
className: "bg-success text-white"
|
25866
25751
|
}, t("create_textbook")))), React__default.createElement(Grid, {
|
25867
25752
|
item: true,
|
25868
25753
|
xs: 12,
|
@@ -25884,32 +25769,32 @@ var TextbookList = function TextbookList(props) {
|
|
25884
25769
|
alignItems: "center"
|
25885
25770
|
}, React__default.createElement(IconButton, {
|
25886
25771
|
color: "default",
|
25887
|
-
className: (
|
25772
|
+
className: (!enabledSave(i) ? "bg-secondary" : "bg-warning") + " text-white",
|
25888
25773
|
onClick: function onClick() {
|
25889
|
-
return handleUpdateTextbook(i
|
25774
|
+
return handleUpdateTextbook(i);
|
25890
25775
|
},
|
25891
|
-
disabled:
|
25776
|
+
disabled: !enabledSave(i)
|
25892
25777
|
}, React__default.createElement(FaPencil, {
|
25893
25778
|
size: 12
|
25894
25779
|
})), React__default.createElement(IconButton, {
|
25895
25780
|
color: "default",
|
25896
25781
|
className: "bg-primary text-white",
|
25897
25782
|
onClick: function onClick() {
|
25898
|
-
return handleViewTextbook(i
|
25783
|
+
return handleViewTextbook(i);
|
25899
25784
|
}
|
25900
25785
|
}, React__default.createElement(FaEye$1, {
|
25901
25786
|
size: 12
|
25902
25787
|
})), React__default.createElement(IconButton, {
|
25903
|
-
disabled:
|
25904
|
-
className: (
|
25788
|
+
disabled: !enabledShare(i),
|
25789
|
+
className: (!enabledShare(i) ? "bg-secondary" : "bg-info") + " text-white me-1",
|
25905
25790
|
onClick: function onClick() {
|
25906
25791
|
return handleOpenShareDialog(i);
|
25907
25792
|
}
|
25908
25793
|
}, React__default.createElement(FaShare, {
|
25909
25794
|
size: 12
|
25910
25795
|
})), React__default.createElement(IconButton, {
|
25911
|
-
disabled:
|
25912
|
-
className: (
|
25796
|
+
disabled: !enabledShare(i),
|
25797
|
+
className: (!enabledShare(i) ? "bg-secondary" : "bg-success") + " text-white me-1",
|
25913
25798
|
onClick: function onClick() {
|
25914
25799
|
return handleOpenUpdateShareDialog(i);
|
25915
25800
|
}
|
@@ -25917,11 +25802,11 @@ var TextbookList = function TextbookList(props) {
|
|
25917
25802
|
size: 12
|
25918
25803
|
})), React__default.createElement(IconButton, {
|
25919
25804
|
color: "default",
|
25920
|
-
className: (
|
25805
|
+
className: (!enabledSave(i) ? "bg-secondary" : "bg-danger") + " text-white mr-1",
|
25921
25806
|
onClick: function onClick() {
|
25922
25807
|
return handleSelectDeleteTextbook(i);
|
25923
25808
|
},
|
25924
|
-
disabled:
|
25809
|
+
disabled: !enabledSave(i)
|
25925
25810
|
}, React__default.createElement(FaTrash, {
|
25926
25811
|
size: 12
|
25927
25812
|
})))));
|
@@ -26122,12 +26007,12 @@ var useNotificationDetail = function useNotificationDetail(_ref) {
|
|
26122
26007
|
|
26123
26008
|
var styles$8 = {"avatar":"_8niRT"};
|
26124
26009
|
|
26125
|
-
var _excluded$
|
26010
|
+
var _excluded$d = ["value", "disabled", "optionTypeNotification"];
|
26126
26011
|
var TypeSelector = function TypeSelector(_ref) {
|
26127
26012
|
var value = _ref.value,
|
26128
26013
|
disabled = _ref.disabled,
|
26129
26014
|
optionTypeNotification = _ref.optionTypeNotification,
|
26130
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
26015
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$d);
|
26131
26016
|
return React__default.createElement(CustomAsyncSelect, Object.assign({
|
26132
26017
|
options: optionTypeNotification,
|
26133
26018
|
value: value
|
@@ -26519,11 +26404,11 @@ var useNotificationList = function useNotificationList(_ref) {
|
|
26519
26404
|
};
|
26520
26405
|
};
|
26521
26406
|
|
26522
|
-
var _excluded$
|
26407
|
+
var _excluded$e = ["value", "optionTypeNotification"];
|
26523
26408
|
var SelectFilterType = function SelectFilterType(_ref) {
|
26524
26409
|
var value = _ref.value,
|
26525
26410
|
optionTypeNotification = _ref.optionTypeNotification,
|
26526
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$
|
26411
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$e);
|
26527
26412
|
return React__default.createElement(CustomAsyncSelect, Object.assign({
|
26528
26413
|
options: optionTypeNotification,
|
26529
26414
|
value: value
|
@@ -27686,8 +27571,8 @@ var CourseSelector = function CourseSelector(_ref) {
|
|
27686
27571
|
}));
|
27687
27572
|
};
|
27688
27573
|
|
27689
|
-
var TEXTBOOK_URL$
|
27690
|
-
var SUPER_ADMIN_TEXTBOOK_URL
|
27574
|
+
var TEXTBOOK_URL$1 = BASE_URL + "/api/textbooks";
|
27575
|
+
var SUPER_ADMIN_TEXTBOOK_URL = SUPER_ADMIN_BASE_URL + "/api/textbook";
|
27691
27576
|
var PREPARED_TEXTBOOK_URL = BASE_URL + "/api/textbooks/prepared-textbooks";
|
27692
27577
|
var SUPER_ADMIN_PREPARED_TEXTBOOK_URL = SUPER_ADMIN_BASE_URL + "/api/textbook/prepared-textbooks";
|
27693
27578
|
var FILE_URL = BASE_URL + "/api/file/images";
|
@@ -27696,7 +27581,7 @@ var uploadImageFileApi = function uploadImageFileApi(formData, isAdmin) {
|
|
27696
27581
|
return apiUpload.post("" + (isAdmin ? SUPER_FILE_URL : FILE_URL), formData);
|
27697
27582
|
};
|
27698
27583
|
var getTextbookDetailApi = function getTextbookDetailApi(id, isAdmin) {
|
27699
|
-
return api.get((isAdmin ? SUPER_ADMIN_PREPARED_TEXTBOOK_URL : TEXTBOOK_URL$
|
27584
|
+
return api.get((isAdmin ? SUPER_ADMIN_PREPARED_TEXTBOOK_URL : TEXTBOOK_URL$1) + "/" + id);
|
27700
27585
|
};
|
27701
27586
|
var getTextbookListApi$1 = function getTextbookListApi(query, isAdmin) {
|
27702
27587
|
return api.get("" + (isAdmin ? SUPER_ADMIN_PREPARED_TEXTBOOK_URL : PREPARED_TEXTBOOK_URL), {
|
@@ -27710,14 +27595,14 @@ var updateTextbookApi$1 = function updateTextbookApi(values, id, isAdmin) {
|
|
27710
27595
|
return api.put((isAdmin ? SUPER_ADMIN_PREPARED_TEXTBOOK_URL : PREPARED_TEXTBOOK_URL) + "/" + id, values);
|
27711
27596
|
};
|
27712
27597
|
var getAcademyByTeacher = function getAcademyByTeacher(email, isAdmin) {
|
27713
|
-
return api.get((isAdmin ? SUPER_ADMIN_TEXTBOOK_URL
|
27598
|
+
return api.get((isAdmin ? SUPER_ADMIN_TEXTBOOK_URL : TEXTBOOK_URL$1) + "/academy-teacher-owner", {
|
27714
27599
|
params: {
|
27715
27600
|
email: email
|
27716
27601
|
}
|
27717
27602
|
});
|
27718
27603
|
};
|
27719
27604
|
var deleteTextbookApi$1 = function deleteTextbookApi(textbookId, isAdmin) {
|
27720
|
-
return api["delete"]((isAdmin ? SUPER_ADMIN_PREPARED_TEXTBOOK_URL : TEXTBOOK_URL$
|
27605
|
+
return api["delete"]((isAdmin ? SUPER_ADMIN_PREPARED_TEXTBOOK_URL : TEXTBOOK_URL$1) + "/" + textbookId);
|
27721
27606
|
};
|
27722
27607
|
|
27723
27608
|
var useSelect = function useSelect(_ref) {
|
@@ -27966,8 +27851,8 @@ var TextbookOwners = function TextbookOwners(_ref) {
|
|
27966
27851
|
};
|
27967
27852
|
|
27968
27853
|
var useTextbookManagement = function useTextbookManagement(_ref) {
|
27969
|
-
var
|
27970
|
-
|
27854
|
+
var textbookId = _ref.textbookId,
|
27855
|
+
onNavigateList = _ref.onNavigateList;
|
27971
27856
|
var _useTranslation = useTranslation(),
|
27972
27857
|
t = _useTranslation.t;
|
27973
27858
|
var theme = useTheme();
|
@@ -27986,7 +27871,6 @@ var useTextbookManagement = function useTextbookManagement(_ref) {
|
|
27986
27871
|
return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user;
|
27987
27872
|
});
|
27988
27873
|
var isSuperAdmin = !!user && !user.academyDomain;
|
27989
|
-
var isTeacher = ((user === null || user === void 0 ? void 0 : user.roles) || []).includes(Role.Teacher);
|
27990
27874
|
var handleOpenDialog = function handleOpenDialog(item) {
|
27991
27875
|
if (item) {
|
27992
27876
|
setSelectedTextbook(item);
|
@@ -28049,7 +27933,7 @@ var useTextbookManagement = function useTextbookManagement(_ref) {
|
|
28049
27933
|
}), isSuperAdmin)).then(function (res) {
|
28050
27934
|
if (res !== null && res !== void 0 && res.data) {
|
28051
27935
|
toast.success(t(!(selectedTextbook !== null && selectedTextbook !== void 0 && selectedTextbook.id) ? "create_the_textbook_successfully" : "update_the_textbook_successfully"));
|
28052
|
-
|
27936
|
+
onNavigateList();
|
28053
27937
|
}
|
28054
27938
|
});
|
28055
27939
|
}, function (error) {
|
@@ -28099,7 +27983,7 @@ var useTextbookManagement = function useTextbookManagement(_ref) {
|
|
28099
27983
|
};
|
28100
27984
|
};
|
28101
27985
|
|
28102
|
-
var _excluded$
|
27986
|
+
var _excluded$f = ["value"],
|
28103
27987
|
_excluded2$2 = ["onChange"],
|
28104
27988
|
_excluded3$2 = ["onChange"];
|
28105
27989
|
var VisuallyHiddenInput = styled("input")({
|
@@ -28152,7 +28036,8 @@ var schema$4 = function schema(t) {
|
|
28152
28036
|
};
|
28153
28037
|
var PreparedTextbook = function PreparedTextbook(_ref) {
|
28154
28038
|
var _selectedTextbook$sub, _selectedTextbook$cha;
|
28155
|
-
var
|
28039
|
+
var onNavigateList = _ref.onNavigateList,
|
28040
|
+
navigate = _ref.navigate,
|
28156
28041
|
textbookId = _ref.textbookId;
|
28157
28042
|
var _useTextbookState = useTextbookState(),
|
28158
28043
|
isAdmin = _useTextbookState.isAdmin,
|
@@ -28162,7 +28047,7 @@ var PreparedTextbook = function PreparedTextbook(_ref) {
|
|
28162
28047
|
handleSetChapterSection = _useTextbookState.handleSetChapterSection,
|
28163
28048
|
handleSetSubChapterSection = _useTextbookState.handleSetSubChapterSection;
|
28164
28049
|
var _useTextbookManagemen = useTextbookManagement({
|
28165
|
-
|
28050
|
+
onNavigateList: onNavigateList,
|
28166
28051
|
textbookId: textbookId
|
28167
28052
|
}),
|
28168
28053
|
t = _useTextbookManagemen.t,
|
@@ -28171,6 +28056,9 @@ var PreparedTextbook = function PreparedTextbook(_ref) {
|
|
28171
28056
|
selectedTextbook = _useTextbookManagemen.selectedTextbook,
|
28172
28057
|
handleSubmit = _useTextbookManagemen.handleSubmit,
|
28173
28058
|
handleUploadImage = _useTextbookManagemen.handleUploadImage;
|
28059
|
+
if (textbookId && selectedTextbook && !selectedTextbook.isPrepared) return React__default.createElement(NotFound, {
|
28060
|
+
history: navigate
|
28061
|
+
});
|
28174
28062
|
return React__default.createElement(Formik, {
|
28175
28063
|
initialValues: {
|
28176
28064
|
name: (selectedTextbook === null || selectedTextbook === void 0 ? void 0 : selectedTextbook.name) || "",
|
@@ -28360,7 +28248,7 @@ var PreparedTextbook = function PreparedTextbook(_ref) {
|
|
28360
28248
|
render: function render(_ref4) {
|
28361
28249
|
var _ref4$field = _ref4.field,
|
28362
28250
|
value = _ref4$field.value,
|
28363
|
-
action = _objectWithoutPropertiesLoose(_ref4$field, _excluded$
|
28251
|
+
action = _objectWithoutPropertiesLoose(_ref4$field, _excluded$f);
|
28364
28252
|
return React__default.createElement(LocalizationProvider$1, {
|
28365
28253
|
dateAdapter: AdapterMoment
|
28366
28254
|
}, React__default.createElement(DatePicker$1, Object.assign({}, action, {
|
@@ -28838,15 +28726,14 @@ var DeleteTextbookDialog = function DeleteTextbookDialog(_ref) {
|
|
28838
28726
|
};
|
28839
28727
|
|
28840
28728
|
var PreparedTextbookList = function PreparedTextbookList(_ref) {
|
28841
|
-
var
|
28729
|
+
var onNavigateDetail = _ref.onNavigateDetail,
|
28730
|
+
onNavigteCreate = _ref.onNavigteCreate;
|
28842
28731
|
var _useTextbookList = useTextbookList$1(),
|
28843
28732
|
t = _useTextbookList.t,
|
28844
28733
|
theme = _useTextbookList.theme,
|
28845
28734
|
filter = _useTextbookList.filter,
|
28846
28735
|
paging = _useTextbookList.paging,
|
28847
|
-
isTeacher = _useTextbookList.isTeacher,
|
28848
28736
|
textbooks = _useTextbookList.textbooks,
|
28849
|
-
isSuperAdmin = _useTextbookList.isSuperAdmin,
|
28850
28737
|
handleChangePage = _useTextbookList.handleChangePage,
|
28851
28738
|
handleSort = _useTextbookList.handleSort,
|
28852
28739
|
openConfirmDialog = _useTextbookList.openConfirmDialog,
|
@@ -28867,9 +28754,7 @@ var PreparedTextbookList = function PreparedTextbookList(_ref) {
|
|
28867
28754
|
sx: {
|
28868
28755
|
width: "fit-content"
|
28869
28756
|
},
|
28870
|
-
onClick:
|
28871
|
-
return pushTo(navigate, !isTeacher ? isSuperAdmin ? "/super-textbook-management/create" : "/textbook-management/create" : "/teacher/textbook-management/create");
|
28872
|
-
}
|
28757
|
+
onClick: onNavigteCreate
|
28873
28758
|
}, t("create"))), React__default.createElement(Stack, null, React__default.createElement(Grid, {
|
28874
28759
|
item: true,
|
28875
28760
|
xs: 12
|
@@ -28916,7 +28801,7 @@ var PreparedTextbookList = function PreparedTextbookList(_ref) {
|
|
28916
28801
|
color: "default",
|
28917
28802
|
className: styles$9["action-btn"] + " bg-warning text-white me-2",
|
28918
28803
|
onClick: function onClick() {
|
28919
|
-
return
|
28804
|
+
return onNavigateDetail(i);
|
28920
28805
|
}
|
28921
28806
|
}, React__default.createElement(HiOutlinePencilAlt, {
|
28922
28807
|
className: styles$9["action-btn--pencil"],
|
@@ -29080,7 +28965,7 @@ var DefaultFilter = {
|
|
29080
28965
|
};
|
29081
28966
|
|
29082
28967
|
var PREPARED_TEXTBOOK_URL$1 = BASE_URL + "/api/textbooks/prepared-textbooks";
|
29083
|
-
var TEXTBOOK_URL$
|
28968
|
+
var TEXTBOOK_URL$2 = BASE_URL + "/api/textbooks";
|
29084
28969
|
var TEXTBOOK_SESSION_URL$1 = BASE_URL + "/api/textbooksession";
|
29085
28970
|
var getTextbookListApi$2 = function getTextbookListApi(query) {
|
29086
28971
|
return api.get("" + PREPARED_TEXTBOOK_URL$1, {
|
@@ -29094,7 +28979,7 @@ var startPageApi = function startPageApi(value) {
|
|
29094
28979
|
return api.post(TEXTBOOK_SESSION_URL$1 + "/study-textbook", _extends({}, value));
|
29095
28980
|
};
|
29096
28981
|
var deleteTextbookApi$2 = function deleteTextbookApi(textbookId) {
|
29097
|
-
return api["delete"](TEXTBOOK_URL$
|
28982
|
+
return api["delete"](TEXTBOOK_URL$2 + "/" + textbookId);
|
29098
28983
|
};
|
29099
28984
|
|
29100
28985
|
var ADMIN_SUBJECT_URL$2 = SUPER_ADMIN_BASE_URL + "/api/subject";
|
@@ -29164,17 +29049,29 @@ var usePreparedExam = function usePreparedExam(_ref) {
|
|
29164
29049
|
var _state$common3, _state$common3$user;
|
29165
29050
|
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;
|
29166
29051
|
});
|
29167
|
-
var
|
29052
|
+
var isStudent = useSelector(function (state) {
|
29168
29053
|
var _state$common4, _state$common4$user;
|
29169
29054
|
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) || [];
|
29055
|
+
}).includes(Role.Student);
|
29056
|
+
var isTeacher = useSelector(function (state) {
|
29057
|
+
var _state$common5, _state$common5$user;
|
29058
|
+
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) || [];
|
29170
29059
|
}).includes(Role.Teacher);
|
29171
29060
|
var _useState5 = useState(false),
|
29172
29061
|
openConfirmDialog = _useState5[0],
|
29173
29062
|
setOpenConfirmDialog = _useState5[1];
|
29174
|
-
var
|
29175
|
-
var _state$
|
29176
|
-
return (state === null || state === void 0 ? void 0 : (_state$
|
29063
|
+
var isSuperAdminDomain = useSelector(function (state) {
|
29064
|
+
var _state$common6, _state$common6$user;
|
29065
|
+
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) || [];
|
29177
29066
|
}).includes(Role.Admin) && !isDomain;
|
29067
|
+
var isAdmin = useSelector(function (state) {
|
29068
|
+
var _state$common7, _state$common7$user;
|
29069
|
+
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) || [];
|
29070
|
+
}).includes(Role.Admin);
|
29071
|
+
var isSuperAdmin = useSelector(function (state) {
|
29072
|
+
var _state$common8, _state$common8$user;
|
29073
|
+
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;
|
29074
|
+
});
|
29178
29075
|
var handleCloseConfirmDialog = function handleCloseConfirmDialog() {
|
29179
29076
|
setOpenConfirmDialog(false);
|
29180
29077
|
};
|
@@ -29188,7 +29085,7 @@ var usePreparedExam = function usePreparedExam(_ref) {
|
|
29188
29085
|
};
|
29189
29086
|
setLoading(true);
|
29190
29087
|
var _temp = _catch(function () {
|
29191
|
-
return Promise.resolve(
|
29088
|
+
return Promise.resolve(isSuperAdminDomain ? getSubjectListAdminApi$2("") : getSubjectListApi$2("")).then(function (res) {
|
29192
29089
|
var _res$data$items = res.data.items,
|
29193
29090
|
items = _res$data$items === void 0 ? [] : _res$data$items;
|
29194
29091
|
setSubjects(items);
|
@@ -29200,7 +29097,7 @@ var usePreparedExam = function usePreparedExam(_ref) {
|
|
29200
29097
|
} catch (e) {
|
29201
29098
|
return Promise.reject(e);
|
29202
29099
|
}
|
29203
|
-
}, [
|
29100
|
+
}, [isSuperAdminDomain]);
|
29204
29101
|
var subjectOptions = subjects.map(function (subject) {
|
29205
29102
|
return {
|
29206
29103
|
label: "" + subject.name,
|
@@ -29341,7 +29238,10 @@ var usePreparedExam = function usePreparedExam(_ref) {
|
|
29341
29238
|
isKor: isKor,
|
29342
29239
|
paging: paging,
|
29343
29240
|
user: user,
|
29241
|
+
isAdmin: isAdmin,
|
29344
29242
|
isTeacher: isTeacher,
|
29243
|
+
isStudent: isStudent,
|
29244
|
+
isSuperAdmin: isSuperAdmin,
|
29345
29245
|
monthOptions: monthOptions,
|
29346
29246
|
openConfirmDialog: openConfirmDialog,
|
29347
29247
|
handleOpenConfirmDialog: handleOpenConfirmDialog,
|
@@ -29517,7 +29417,7 @@ var useTextbookDrawer = function useTextbookDrawer(_ref) {
|
|
29517
29417
|
};
|
29518
29418
|
var handleRedirectEdit = function handleRedirectEdit() {
|
29519
29419
|
if (!textbookId) return;
|
29520
|
-
pushTo(navigate, "/teacher/
|
29420
|
+
pushTo(navigate, "/teacher/prepared-exam/" + textbookId + "/detail");
|
29521
29421
|
};
|
29522
29422
|
var handleStartFromPage = function handleStartFromPage(values) {
|
29523
29423
|
try {
|
@@ -29833,7 +29733,7 @@ var ChapterProblemSolvingResultsDialog = function ChapterProblemSolvingResultsDi
|
|
29833
29733
|
}, t("cancel"))))));
|
29834
29734
|
};
|
29835
29735
|
|
29836
|
-
var _excluded$
|
29736
|
+
var _excluded$g = ["onChange"];
|
29837
29737
|
var StartPageDialog = function StartPageDialog(_ref) {
|
29838
29738
|
var t = _ref.t,
|
29839
29739
|
onClose = _ref.onClose,
|
@@ -29894,7 +29794,7 @@ var StartPageDialog = function StartPageDialog(_ref) {
|
|
29894
29794
|
}, t("page_to_start_with")), React__default.createElement(Field, {
|
29895
29795
|
name: "startPage",
|
29896
29796
|
render: function render(_ref3) {
|
29897
|
-
var field = _objectWithoutPropertiesLoose(_ref3, _excluded$
|
29797
|
+
var field = _objectWithoutPropertiesLoose(_ref3, _excluded$g);
|
29898
29798
|
return React__default.createElement(CustomSelectOption, Object.assign({
|
29899
29799
|
menuPosition: "fixed",
|
29900
29800
|
onChange: function onChange(option) {
|
@@ -30067,7 +29967,7 @@ var Statistic = function Statistic(_ref) {
|
|
30067
29967
|
fontSize: "12px",
|
30068
29968
|
fontWeight: 500,
|
30069
29969
|
color: styles.darker
|
30070
|
-
}, (chapter.completedChapterQuestions || 0) / (chapter.totalChapterQuestions || 0) * 100 + "%")), React__default.createElement(Stack, {
|
29970
|
+
}, ((chapter.completedChapterQuestions || 0) / (chapter.totalChapterQuestions || 0) * 100).toFixed(2) + "%")), React__default.createElement(Stack, {
|
30071
29971
|
sx: {
|
30072
29972
|
width: "1px",
|
30073
29973
|
position: "absolute",
|
@@ -30270,7 +30170,7 @@ var TextbookDrawer = function TextbookDrawer(_ref) {
|
|
30270
30170
|
fontSize: "12px",
|
30271
30171
|
fontWeight: 500,
|
30272
30172
|
color: (textbook === null || textbook === void 0 ? void 0 : textbook.progress) === 0 ? theme.palette.common.black : theme.palette.common.white
|
30273
|
-
}, ((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, {
|
30173
|
+
}, ((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, {
|
30274
30174
|
mt: "24px",
|
30275
30175
|
mx: "24px",
|
30276
30176
|
bgcolor: theme.palette.common.white,
|
@@ -30579,8 +30479,10 @@ var TextbookDetail = function TextbookDetail(_ref) {
|
|
30579
30479
|
};
|
30580
30480
|
|
30581
30481
|
var TextbookInfoDrawer = function TextbookInfoDrawer(_ref) {
|
30582
|
-
var _TeacherTabList$find;
|
30583
|
-
var
|
30482
|
+
var _textbook$createdBy, _TeacherTabList$find;
|
30483
|
+
var user = _ref.user,
|
30484
|
+
isSuperAdmin = _ref.isSuperAdmin,
|
30485
|
+
isOpen = _ref.isOpen,
|
30584
30486
|
onClose = _ref.onClose,
|
30585
30487
|
textbookId = _ref.textbookId,
|
30586
30488
|
navigate = _ref.navigate,
|
@@ -30621,7 +30523,9 @@ var TextbookInfoDrawer = function TextbookInfoDrawer(_ref) {
|
|
30621
30523
|
}, React__default.createElement(IoClose, {
|
30622
30524
|
color: styles.gray_700,
|
30623
30525
|
size: 32
|
30624
|
-
})),
|
30526
|
+
})), (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) {
|
30527
|
+
return i.id === (user === null || user === void 0 ? void 0 : user.id);
|
30528
|
+
}))) && React__default.createElement(Stack, {
|
30625
30529
|
flexDirection: "row",
|
30626
30530
|
gap: "16px",
|
30627
30531
|
alignItems: "center"
|
@@ -30690,10 +30594,13 @@ var TextbookInfoDrawer = function TextbookInfoDrawer(_ref) {
|
|
30690
30594
|
};
|
30691
30595
|
|
30692
30596
|
var Textbook = function Textbook(_ref) {
|
30597
|
+
var _textbook$createdBy, _textbook$createdBy2;
|
30693
30598
|
var t = _ref.t,
|
30599
|
+
user = _ref.user,
|
30694
30600
|
theme = _ref.theme,
|
30695
30601
|
textbook = _ref.textbook,
|
30696
|
-
|
30602
|
+
isStudent = _ref.isStudent,
|
30603
|
+
isSuperAdmin = _ref.isSuperAdmin,
|
30697
30604
|
navigate = _ref.navigate,
|
30698
30605
|
preparedType = _ref.preparedType,
|
30699
30606
|
preparedFilterType = _ref.preparedFilterType,
|
@@ -30772,7 +30679,7 @@ var Textbook = function Textbook(_ref) {
|
|
30772
30679
|
}, React__default.createElement(Stack, {
|
30773
30680
|
flexDirection: "row",
|
30774
30681
|
gap: "10px"
|
30775
|
-
},
|
30682
|
+
}, isStudent && React__default.createElement(Button, {
|
30776
30683
|
variant: "contained",
|
30777
30684
|
sx: {
|
30778
30685
|
width: "fit-content",
|
@@ -30785,7 +30692,9 @@ var Textbook = function Textbook(_ref) {
|
|
30785
30692
|
onClick: handleOpenDialog
|
30786
30693
|
}, React__default.createElement(FaBookOpen, {
|
30787
30694
|
size: "20px"
|
30788
|
-
}), t("test_start")),
|
30695
|
+
}), 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) {
|
30696
|
+
return i.id === (user === null || user === void 0 ? void 0 : user.id);
|
30697
|
+
}))) && React__default.createElement(Button, {
|
30789
30698
|
variant: "outlined",
|
30790
30699
|
sx: {
|
30791
30700
|
width: "fit-content",
|
@@ -30796,11 +30705,11 @@ var Textbook = function Textbook(_ref) {
|
|
30796
30705
|
maxHeight: "41px"
|
30797
30706
|
},
|
30798
30707
|
onClick: function onClick() {
|
30799
|
-
return pushTo(navigate, "/teacher/
|
30708
|
+
return pushTo(navigate, "/teacher/prepared-exam/" + (textbook === null || textbook === void 0 ? void 0 : textbook.id) + "/detail");
|
30800
30709
|
}
|
30801
30710
|
}, React__default.createElement(FaBookOpen, {
|
30802
30711
|
size: "20px"
|
30803
|
-
}), t("test_editing")),
|
30712
|
+
}), t("test_editing")), !isStudent && React__default.createElement(Button, {
|
30804
30713
|
variant: "contained",
|
30805
30714
|
sx: {
|
30806
30715
|
width: "fit-content",
|
@@ -30815,7 +30724,9 @@ var Textbook = function Textbook(_ref) {
|
|
30815
30724
|
}
|
30816
30725
|
}, React__default.createElement(IoInformationCircle, {
|
30817
30726
|
size: "20px"
|
30818
|
-
}), t("exam_information"))),
|
30727
|
+
}), 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) {
|
30728
|
+
return i.id === (user === null || user === void 0 ? void 0 : user.id);
|
30729
|
+
}))) && React__default.createElement(Button, {
|
30819
30730
|
variant: "contained",
|
30820
30731
|
sx: {
|
30821
30732
|
width: "fit-content",
|
@@ -30837,6 +30748,8 @@ var Textbook = function Textbook(_ref) {
|
|
30837
30748
|
textbookId: textbook.id,
|
30838
30749
|
navigate: navigate
|
30839
30750
|
}), openDetailDialog && React__default.createElement(TextbookInfoDrawer, {
|
30751
|
+
user: user,
|
30752
|
+
isSuperAdmin: isSuperAdmin,
|
30840
30753
|
isOpen: openDetailDialog,
|
30841
30754
|
onClose: handleCloseDetailDialog,
|
30842
30755
|
textbookId: textbook.id,
|
@@ -30867,9 +30780,12 @@ var PreparedItem = function PreparedItem(_ref) {
|
|
30867
30780
|
history: history
|
30868
30781
|
}),
|
30869
30782
|
t = _usePreparedExam.t,
|
30783
|
+
user = _usePreparedExam.user,
|
30870
30784
|
theme = _usePreparedExam.theme,
|
30871
30785
|
paging = _usePreparedExam.paging,
|
30872
|
-
|
30786
|
+
isAdmin = _usePreparedExam.isAdmin,
|
30787
|
+
isStudent = _usePreparedExam.isStudent,
|
30788
|
+
isSuperAdmin = _usePreparedExam.isSuperAdmin,
|
30873
30789
|
handleChangePage = _usePreparedExam.handleChangePage,
|
30874
30790
|
textbookList = _usePreparedExam.textbookList,
|
30875
30791
|
getTextbookList = _usePreparedExam.getTextbookList,
|
@@ -31026,7 +30942,7 @@ var PreparedItem = function PreparedItem(_ref) {
|
|
31026
30942
|
},
|
31027
30943
|
onClick: handleToggleExpand,
|
31028
30944
|
startIcon: React__default.createElement(IoIosArrowDown, null)
|
31029
|
-
}, t("fold"))),
|
30945
|
+
}, t("fold"))), !isStudent && !isAdmin && React__default.createElement(Stack, null, React__default.createElement(Button, {
|
31030
30946
|
variant: "contained",
|
31031
30947
|
sx: {
|
31032
30948
|
width: "fit-content",
|
@@ -31037,7 +30953,7 @@ var PreparedItem = function PreparedItem(_ref) {
|
|
31037
30953
|
marginRight: "27px"
|
31038
30954
|
},
|
31039
30955
|
onClick: function onClick() {
|
31040
|
-
return pushTo(navigate, "/teacher/
|
30956
|
+
return pushTo(navigate, "/teacher/prepared-exam/create");
|
31041
30957
|
}
|
31042
30958
|
}, React__default.createElement(IoAddCircle, null), t("create_a_new_workbook"))))), React__default.createElement(AccordionDetails, {
|
31043
30959
|
sx: {
|
@@ -31380,9 +31296,11 @@ var PreparedItem = function PreparedItem(_ref) {
|
|
31380
31296
|
}, textbookList === null || textbookList === void 0 ? void 0 : textbookList.map(function (textbook) {
|
31381
31297
|
return React__default.createElement(Textbook, {
|
31382
31298
|
t: t,
|
31299
|
+
user: user,
|
31383
31300
|
theme: theme,
|
31384
31301
|
textbook: textbook,
|
31385
|
-
|
31302
|
+
isSuperAdmin: isSuperAdmin,
|
31303
|
+
isStudent: isStudent,
|
31386
31304
|
navigate: navigate,
|
31387
31305
|
getTextbookList: getTextbookList,
|
31388
31306
|
preparedType: preparedType,
|
@@ -31431,6 +31349,7 @@ var TheAcademyDropdown = function TheAcademyDropdown(_ref) {
|
|
31431
31349
|
var isAdmin = role === Role.Admin;
|
31432
31350
|
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);
|
31433
31351
|
var isStudentSite = role === Role.Student;
|
31352
|
+
var isTeacherSite = role === Role.Teacher;
|
31434
31353
|
var isLearningSpace = user === null || user === void 0 ? void 0 : user.isLearningSpace;
|
31435
31354
|
var _useTranslation = useTranslation(),
|
31436
31355
|
t = _useTranslation.t;
|
@@ -31524,7 +31443,7 @@ var TheAcademyDropdown = function TheAcademyDropdown(_ref) {
|
|
31524
31443
|
}, React__default.createElement(GoArrowSwitch, {
|
31525
31444
|
size: 14,
|
31526
31445
|
color: styles.gray_900
|
31527
|
-
})))))), (isSuperAdmin || !isAdmin) && React__default.createElement(Popover, {
|
31446
|
+
})))))), (isSuperAdmin || !isAdmin || isTeacherSite) && React__default.createElement(Popover, {
|
31528
31447
|
open: !!open,
|
31529
31448
|
anchorEl: open,
|
31530
31449
|
onClose: handleClose,
|