touchstudy-core 0.1.83 → 0.1.85

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.
Files changed (39) hide show
  1. package/dist/abc/index.d.ts +2 -0
  2. package/dist/abc.js +4 -0
  3. package/dist/abc.js.map +1 -0
  4. package/dist/abc.modern.js +4 -0
  5. package/dist/abc.modern.js.map +1 -0
  6. package/dist/containers/Login/apiClient/index.d.ts +2 -5
  7. package/dist/containers/Login/configs/types.d.ts +11 -0
  8. package/dist/containers/Login/hooks/useLogin.d.ts +2 -4
  9. package/dist/containers/Select/Category/hook/useCategorySelect.d.ts +0 -1
  10. package/dist/containers/Textbooks/apiClient/articleService.d.ts +5 -6
  11. package/dist/containers/Textbooks/apiClient/chapterService.d.ts +5 -6
  12. package/dist/containers/Textbooks/apiClient/textbookService.d.ts +5 -6
  13. package/dist/containers/Textbooks/hooks/useTextbookDetail.d.ts +2 -0
  14. package/dist/index.js +172 -154
  15. package/dist/index.js.map +1 -1
  16. package/dist/index.modern.js +172 -154
  17. package/dist/index.modern.js.map +1 -1
  18. package/package.json +1 -1
  19. package/dist/components/Selectors/InActiveAcademySelector.d.ts +0 -16
  20. package/dist/components/Selectors/TimeZoneSelector.d.ts +0 -9
  21. package/dist/components/Selectors/configs/enums.d.ts +0 -6
  22. package/dist/components/Selects/styles.d.ts +0 -6
  23. package/dist/containers/ExamResult/components/Dialog/PrintDialog.d.ts +0 -6
  24. package/dist/containers/ExamResult/views/ExamResultView.d.ts +0 -11
  25. package/dist/containers/ExamResult/views/PrintPdfExamResult.d.ts +0 -12
  26. package/dist/containers/Textbooks/components/ChapterNameDialog.d.ts +0 -10
  27. package/dist/test/performance_login.d.ts +0 -5
  28. package/dist/tests/performances/do-exam-session-list-student.d.ts +0 -19
  29. package/dist/tests/performances/do-exam-session-request-answer-one-time.d.ts +0 -19
  30. package/dist/tests/performances/do-exam-session-skip-answer.d.ts +0 -19
  31. package/dist/tests/performances/do-exam-session2.d.ts +0 -19
  32. package/dist/tests/performances/do-exam.d.ts +0 -15
  33. package/dist/tests/performances/join-exam.d.ts +0 -13
  34. package/dist/tests/performances/login.d.ts +0 -20
  35. package/dist/tests/performances/ramping-vus.d.ts +0 -7
  36. package/dist/utilities.d.ts +0 -1
  37. package/dist/utils/enums/orderBy.d.ts +0 -4
  38. package/dist/utils/hooks/useCheckExam.d.ts +0 -5
  39. /package/dist/utils/types/{PagingResponse.d.ts → pagingResponse.d.ts} +0 -0
package/dist/index.js CHANGED
@@ -799,16 +799,11 @@ var BlockLogin = function BlockLogin(_ref3) {
799
799
  onSubmit: onSubmit
800
800
  }, function (_ref4) {
801
801
  var errors = _ref4.errors,
802
- values = _ref4.values,
803
802
  setFieldValue = _ref4.setFieldValue;
804
- console.log({
805
- errors: errors,
806
- values: values
807
- });
808
803
  React.useEffect(function () {
809
- if (isOTP) {
804
+ if (isEmail) setFieldValue("otp", "");
805
+ if (!isOTP && !isEmail) {
810
806
  setFieldValue("email", "");
811
- } else {
812
807
  setFieldValue("otp", "");
813
808
  }
814
809
  }, [isOTP, isEmail]);
@@ -844,8 +839,9 @@ var BlockLogin = function BlockLogin(_ref3) {
844
839
  fontSize: "14px",
845
840
  fontWeight: 700,
846
841
  color: colors.blue[700]
847
- }, t("sign_in_with_email"))))), (isEmail || isOTP) && React__default.createElement(material.Stack, null, !isOTP ? React__default.createElement(material.Stack, {
842
+ }, t("sign_in_with_email"))))), (isEmail || isOTP) && React__default.createElement(material.Stack, null, React__default.createElement(material.Stack, {
848
843
  flexDirection: "column",
844
+ display: isOTP ? "none" : "flex",
849
845
  gap: 1
850
846
  }, React__default.createElement(material.Typography, {
851
847
  fontWeight: 700,
@@ -861,8 +857,9 @@ var BlockLogin = function BlockLogin(_ref3) {
861
857
  fontSize: "10px",
862
858
  lineHeight: "11.93px",
863
859
  color: !(errors !== null && errors !== void 0 && errors.email) ? "#97A1AF" : "#F34B4B"
864
- }, errors === null || errors === void 0 ? void 0 : errors.email)) : React__default.createElement(material.Stack, {
860
+ }, errors === null || errors === void 0 ? void 0 : errors.email)), React__default.createElement(material.Stack, {
865
861
  flexDirection: "column",
862
+ display: !isOTP ? "none" : "flex",
866
863
  gap: 1
867
864
  }, React__default.createElement(material.Typography, {
868
865
  fontWeight: 700,
@@ -901,10 +898,18 @@ var BlockLogin = function BlockLogin(_ref3) {
901
898
  color: colors.blue[700]
902
899
  }, t("sign_in_with_google_account"))), React__default.createElement(material.Stack, {
903
900
  flexDirection: "row",
904
- justifyContent: "end",
901
+ justifyContent: isOTP ? "space-between" : "end",
905
902
  gap: 1,
906
903
  mt: 2
907
- }, React__default.createElement(material.Button, {
904
+ }, isOTP && React__default.createElement(material.Button, {
905
+ variant: "contained",
906
+ color: "secondary",
907
+ className: "bg-secondary",
908
+ onClick: function onClick() {
909
+ handleSwitchEmail(true);
910
+ handleSwitchOTP(false);
911
+ }
912
+ }, t("back")), React__default.createElement(material.Button, {
908
913
  variant: "contained",
909
914
  color: "primary",
910
915
  type: "submit",
@@ -941,10 +946,14 @@ var signInWithEmailApi = function signInWithEmailApi(_ref2) {
941
946
  var signInWithOTPApi = function signInWithOTPApi(_ref3) {
942
947
  var academyDomain = _ref3.academyDomain,
943
948
  otp = _ref3.otp,
949
+ email = _ref3.email,
950
+ reCaptcha = _ref3.reCaptcha,
944
951
  role = _ref3.role;
945
952
  return api.post((academyDomain ? SIGN_IN_URL : SIGN_IN_SUPER_ADMIN_URL) + "/otp", {
946
953
  otp: otp,
947
- role: role
954
+ email: email,
955
+ role: role,
956
+ reCaptcha: reCaptcha
948
957
  });
949
958
  };
950
959
  var signInWithKeyApi = function signInWithKeyApi(_ref4) {
@@ -1031,6 +1040,9 @@ var useLogin$1 = function useLogin(_ref) {
1031
1040
  var handleSubmit = function handleSubmit(values) {
1032
1041
  try {
1033
1042
  var _temp5 = function _temp5() {
1043
+ setRefreshReCaptcha(function (b) {
1044
+ return !b;
1045
+ });
1034
1046
  dispatch(setLoading(false));
1035
1047
  };
1036
1048
  if (!tokenReCaptcha) return Promise.resolve();
@@ -1040,11 +1052,13 @@ var useLogin$1 = function useLogin(_ref) {
1040
1052
  var _temp4 = _catch(function () {
1041
1053
  function _temp3() {
1042
1054
  var _temp = function () {
1043
- if (otp) {
1055
+ if (email && otp) {
1044
1056
  return Promise.resolve(signInWithOTPApi({
1045
1057
  academyDomain: academyDomain,
1058
+ email: email,
1046
1059
  otp: otp,
1047
- role: role
1060
+ role: role,
1061
+ reCaptcha: tokenReCaptcha
1048
1062
  })).then(function (res) {
1049
1063
  var loginResponse = res === null || res === void 0 ? void 0 : res.data;
1050
1064
  var isFirstLogin = loginResponse.isFirstLogin,
@@ -1061,7 +1075,7 @@ var useLogin$1 = function useLogin(_ref) {
1061
1075
  if (_temp && _temp.then) return _temp.then(function () {});
1062
1076
  }
1063
1077
  var _temp2 = function () {
1064
- if (email) {
1078
+ if (email && !otp) {
1065
1079
  return Promise.resolve(signInWithEmailApi({
1066
1080
  academyDomain: academyDomain,
1067
1081
  email: email,
@@ -1070,9 +1084,6 @@ var useLogin$1 = function useLogin(_ref) {
1070
1084
  reactToastify.toast.success(t("please_check_your_mailbox"));
1071
1085
  handleSwitchOTP(true);
1072
1086
  handleSwitchEmail(false);
1073
- setRefreshReCaptcha(function (b) {
1074
- return !b;
1075
- });
1076
1087
  });
1077
1088
  }
1078
1089
  }();
@@ -2068,11 +2079,17 @@ var useSubjectSelect = function useSubjectSelect(_ref) {
2068
2079
  }, []);
2069
2080
  var handleChangeSubject = function handleChangeSubject(value) {
2070
2081
  var id = value.value;
2082
+ var examQuestions = exam.questions;
2071
2083
  var selectedSubject = subjectList === null || subjectList === void 0 ? void 0 : subjectList.find(function (subject) {
2072
2084
  return subject.id === id;
2073
2085
  });
2074
2086
  onChangeExam(_extends({}, exam, {
2075
- subjectId: (selectedSubject === null || selectedSubject === void 0 ? void 0 : selectedSubject.id) || 0
2087
+ subjectId: (selectedSubject === null || selectedSubject === void 0 ? void 0 : selectedSubject.id) || 0,
2088
+ questions: [].concat(examQuestions.map(function (q) {
2089
+ return _extends({}, q, {
2090
+ categoryId: undefined
2091
+ });
2092
+ }))
2076
2093
  }));
2077
2094
  };
2078
2095
  return {
@@ -2431,7 +2448,7 @@ var teachers = "교사";
2431
2448
  var lessons = "수업";
2432
2449
  var new_test = "새로운 시험";
2433
2450
  var manage_saved_exams = "저장된 시험 관리";
2434
- var manage_textbook = "교과서 관리";
2451
+ var manage_textbooks = "교과서 관리";
2435
2452
  var my_question = "내 질문";
2436
2453
  var update_class = "수업 업데이트";
2437
2454
  var create_class = "수업 만들기";
@@ -2883,6 +2900,7 @@ var min_is_1 = "최소값은 1입니다.";
2883
2900
  var max_is_6 = "최대는 6입니다";
2884
2901
  var must_be_number = "숫자여야 합니다.";
2885
2902
  var sign_in_with_google_account = "구글 계정으로 로그인";
2903
+ var academy_role = "아카데미 역할";
2886
2904
  var lang_ko = {
2887
2905
  problem_solving: problem_solving,
2888
2906
  my_story: my_story,
@@ -3214,7 +3232,7 @@ var lang_ko = {
3214
3232
  lessons: lessons,
3215
3233
  new_test: new_test,
3216
3234
  manage_saved_exams: manage_saved_exams,
3217
- manage_textbook: manage_textbook,
3235
+ manage_textbooks: manage_textbooks,
3218
3236
  my_question: my_question,
3219
3237
  update_class: update_class,
3220
3238
  create_class: create_class,
@@ -3669,7 +3687,8 @@ var lang_ko = {
3669
3687
  min_is_1: min_is_1,
3670
3688
  max_is_6: max_is_6,
3671
3689
  must_be_number: must_be_number,
3672
- sign_in_with_google_account: sign_in_with_google_account
3690
+ sign_in_with_google_account: sign_in_with_google_account,
3691
+ academy_role: academy_role
3673
3692
  };
3674
3693
 
3675
3694
  var problem_solving$1 = "Problem Solving";
@@ -4040,7 +4059,7 @@ var update_class$1 = "Update class";
4040
4059
  var create_class$1 = "Create class";
4041
4060
  var new_test$1 = "New Test";
4042
4061
  var manage_saved_exams$1 = "Manage saved exams";
4043
- var manage_textbook$1 = "Manage Textbook";
4062
+ var manage_textbooks$1 = "Manage textbooks";
4044
4063
  var my_question$1 = "My Q&As";
4045
4064
  var problem_number$1 = "Problem number";
4046
4065
  var solve_time$1 = "Solve time";
@@ -4354,8 +4373,8 @@ var messages$1 = {
4354
4373
  var submit$1 = "Submit";
4355
4374
  var must_select_a_teacher_first$1 = "Must select a teacher first";
4356
4375
  var student_grade_is_invalid$1 = "Student grade must be from 1 to 12";
4357
- var recent_users$1 = "Recent Users";
4358
- var recent_students$1 = "Recent Students";
4376
+ var recent_users$1 = "Recent users";
4377
+ var recent_students$1 = "Recent students";
4359
4378
  var viewed_user$1 = "Viewed User";
4360
4379
  var viewed_QNA$1 = "Viewed Question&Answer";
4361
4380
  var viewed_exam_result$1 = "Viewed Exam Results";
@@ -4466,6 +4485,7 @@ var min_is_1$1 = "Min is 1";
4466
4485
  var max_is_6$1 = "Max is 6";
4467
4486
  var must_be_number$1 = "Must be number";
4468
4487
  var sign_in_with_google_account$1 = "Sign in with google account";
4488
+ var academy_role$1 = "Academy role";
4469
4489
  var lang_en = {
4470
4490
  problem_solving: problem_solving$1,
4471
4491
  my_story: my_story$1,
@@ -4824,7 +4844,7 @@ var lang_en = {
4824
4844
  create_class: create_class$1,
4825
4845
  new_test: new_test$1,
4826
4846
  manage_saved_exams: manage_saved_exams$1,
4827
- manage_textbook: manage_textbook$1,
4847
+ manage_textbooks: manage_textbooks$1,
4828
4848
  my_question: my_question$1,
4829
4849
  problem_number: problem_number$1,
4830
4850
  solve_time: solve_time$1,
@@ -5253,7 +5273,8 @@ var lang_en = {
5253
5273
  min_is_1: min_is_1$1,
5254
5274
  max_is_6: max_is_6$1,
5255
5275
  must_be_number: must_be_number$1,
5256
- sign_in_with_google_account: sign_in_with_google_account$1
5276
+ sign_in_with_google_account: sign_in_with_google_account$1,
5277
+ academy_role: academy_role$1
5257
5278
  };
5258
5279
 
5259
5280
  i18n__default.use(reactI18next.initReactI18next).init({
@@ -8401,40 +8422,22 @@ var ChapterBox = function ChapterBox(_ref) {
8401
8422
  };
8402
8423
 
8403
8424
  var TEXTBOOK_URL = BASE_URL + "/api/textbooks";
8404
- var getTextbookListApi = function getTextbookListApi(query, role) {
8425
+ var getTextbookListApi = function getTextbookListApi(query) {
8405
8426
  return api.get("" + TEXTBOOK_URL, {
8406
- params: _extends({}, query, {
8407
- roles: role
8408
- })
8427
+ params: query
8409
8428
  });
8410
8429
  };
8411
- var getTextbookByIdApi = function getTextbookByIdApi(textbookId, role) {
8412
- return api.get(TEXTBOOK_URL + "/" + textbookId, {
8413
- params: {
8414
- roles: role
8415
- }
8416
- });
8430
+ var getTextbookByIdApi = function getTextbookByIdApi(textbookId) {
8431
+ return api.get(TEXTBOOK_URL + "/" + textbookId);
8417
8432
  };
8418
- var createTextbookApi = function createTextbookApi(data, role) {
8419
- return api.post("" + TEXTBOOK_URL, data, {
8420
- params: {
8421
- roles: role
8422
- }
8423
- });
8433
+ var createTextbookApi = function createTextbookApi(data) {
8434
+ return api.post("" + TEXTBOOK_URL, data);
8424
8435
  };
8425
- var updateTextbookApi = function updateTextbookApi(textbookId, data, role) {
8426
- return api.put(TEXTBOOK_URL + "/" + textbookId, data, {
8427
- params: {
8428
- roles: role
8429
- }
8430
- });
8436
+ var updateTextbookApi = function updateTextbookApi(textbookId, data) {
8437
+ return api.put(TEXTBOOK_URL + "/" + textbookId, data);
8431
8438
  };
8432
- var deleteTextbookApi = function deleteTextbookApi(textbookId, role) {
8433
- return api["delete"](TEXTBOOK_URL + "/" + textbookId, {
8434
- params: {
8435
- roles: role
8436
- }
8437
- });
8439
+ var deleteTextbookApi = function deleteTextbookApi(textbookId) {
8440
+ return api["delete"](TEXTBOOK_URL + "/" + textbookId);
8438
8441
  };
8439
8442
 
8440
8443
  var ExamStatus$1;
@@ -8538,49 +8541,25 @@ var DEFAULT_ARTICLE_CREATE_REQUEST = {
8538
8541
  };
8539
8542
 
8540
8543
  var CHAPTER_URL = BASE_URL + "/api/chapters";
8541
- var createChapterApi = function createChapterApi(chapter, role) {
8542
- return api.post("" + CHAPTER_URL, chapter, {
8543
- params: {
8544
- roles: role
8545
- }
8546
- });
8544
+ var createChapterApi = function createChapterApi(chapter) {
8545
+ return api.post("" + CHAPTER_URL, chapter);
8547
8546
  };
8548
- var updateChapterApi = function updateChapterApi(chapterId, chapter, role) {
8549
- return api.put(CHAPTER_URL + "/" + chapterId, chapter, {
8550
- params: {
8551
- roles: role
8552
- }
8553
- });
8547
+ var updateChapterApi = function updateChapterApi(chapterId, chapter) {
8548
+ return api.put(CHAPTER_URL + "/" + chapterId, chapter);
8554
8549
  };
8555
- var deleteChapterApi = function deleteChapterApi(chapterId, role) {
8556
- return api["delete"](CHAPTER_URL + "/" + chapterId, {
8557
- params: {
8558
- roles: role
8559
- }
8560
- });
8550
+ var deleteChapterApi = function deleteChapterApi(chapterId) {
8551
+ return api["delete"](CHAPTER_URL + "/" + chapterId);
8561
8552
  };
8562
8553
 
8563
8554
  var ARTICLE_URL = BASE_URL + "/api/articles";
8564
- var createArticleApi = function createArticleApi(article, role) {
8565
- return api.post("" + ARTICLE_URL, article, {
8566
- params: {
8567
- roles: role
8568
- }
8569
- });
8555
+ var createArticleApi = function createArticleApi(article) {
8556
+ return api.post("" + ARTICLE_URL, article);
8570
8557
  };
8571
- var updateArticleApi = function updateArticleApi(articleId, article, role) {
8572
- return api.put(ARTICLE_URL + "/" + articleId, article, {
8573
- params: {
8574
- roles: role
8575
- }
8576
- });
8558
+ var updateArticleApi = function updateArticleApi(articleId, article) {
8559
+ return api.put(ARTICLE_URL + "/" + articleId, article);
8577
8560
  };
8578
- var deleteArticleApi = function deleteArticleApi(articleId, role) {
8579
- return api["delete"](ARTICLE_URL + "/" + articleId, {
8580
- params: {
8581
- roles: role
8582
- }
8583
- });
8561
+ var deleteArticleApi = function deleteArticleApi(articleId) {
8562
+ return api["delete"](ARTICLE_URL + "/" + articleId);
8584
8563
  };
8585
8564
 
8586
8565
  var EXAM_URL = BASE_URL + "/api/exam";
@@ -8710,9 +8689,31 @@ var useExam = function useExam(props) {
8710
8689
  };
8711
8690
  };
8712
8691
 
8692
+ var ADMIN_CATEGORY_URL = SUPER_ADMIN_BASE_URL + "/api/category";
8693
+ var CATEGORY_URL = BASE_URL + "/api/examcategory";
8694
+ var getCategoryListAdminApi = function getCategoryListAdminApi(data) {
8695
+ try {
8696
+ return Promise.resolve(api.get("" + ADMIN_CATEGORY_URL, {
8697
+ params: data
8698
+ }));
8699
+ } catch (e) {
8700
+ return Promise.reject(e);
8701
+ }
8702
+ };
8703
+ var getCategoryListApi = function getCategoryListApi(data) {
8704
+ try {
8705
+ return Promise.resolve(api.get("" + CATEGORY_URL, {
8706
+ params: data
8707
+ }));
8708
+ } catch (e) {
8709
+ return Promise.reject(e);
8710
+ }
8711
+ };
8712
+
8713
8713
  var PAGE_TITLE_DETAIL = "textbook_detail";
8714
8714
  var PAGE_TITLE_CREATE = "create_textbook";
8715
8715
  var useTextbookDetail = function useTextbookDetail(props) {
8716
+ var _textbook$subject3;
8716
8717
  var role = props.role,
8717
8718
  isReadonlyParam = props.isReadonlyParam,
8718
8719
  navigate = props.navigate,
@@ -8749,6 +8750,9 @@ var useTextbookDetail = function useTextbookDetail(props) {
8749
8750
  var _useState9 = React.useState(false),
8750
8751
  isEditedTitle = _useState9[0],
8751
8752
  setEditedTitle = _useState9[1];
8753
+ var _useState10 = React.useState([]),
8754
+ categoryList = _useState10[0],
8755
+ setCategoryList = _useState10[1];
8752
8756
  var textbookUrl = role === exports.Role.Teacher ? TEXTBOOK_URL$1 : ADMIN_TEXTBOOK_URL;
8753
8757
  var _useExam = useExam({
8754
8758
  navigate: navigate
@@ -8760,6 +8764,40 @@ var useTextbookDetail = function useTextbookDetail(props) {
8760
8764
  handleSaveExam = _useExam.handleSaveExam,
8761
8765
  handleCloseDialog = _useExam.handleCloseDialog,
8762
8766
  handleCreateExam = _useExam.handleCreateExam;
8767
+ var getCategoryList = function getCategoryList(isLoading) {
8768
+ if (isLoading === void 0) {
8769
+ isLoading = true;
8770
+ }
8771
+ try {
8772
+ var _textbook$subject;
8773
+ var _temp2 = function _temp2() {
8774
+ isLoading && dispatch(setLoading(false));
8775
+ };
8776
+ if (!(textbook !== null && textbook !== void 0 && (_textbook$subject = textbook.subject) !== null && _textbook$subject !== void 0 && _textbook$subject.id)) {
8777
+ setCategoryList([]);
8778
+ return Promise.resolve();
8779
+ }
8780
+ isLoading && dispatch(setLoading(true));
8781
+ var _temp = _catch(function () {
8782
+ var _textbook$subject2;
8783
+ return Promise.resolve(getCategoryListApi({
8784
+ subjectId: textbook === null || textbook === void 0 ? void 0 : (_textbook$subject2 = textbook.subject) === null || _textbook$subject2 === void 0 ? void 0 : _textbook$subject2.id
8785
+ })).then(function (res) {
8786
+ var data = res.data.items;
8787
+ setCategoryList(data || []);
8788
+ });
8789
+ }, function (error) {
8790
+ setCategoryList([]);
8791
+ console.log(error);
8792
+ });
8793
+ return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
8794
+ } catch (e) {
8795
+ return Promise.reject(e);
8796
+ }
8797
+ };
8798
+ React.useEffect(function () {
8799
+ getCategoryList();
8800
+ }, [textbook === null || textbook === void 0 ? void 0 : (_textbook$subject3 = textbook.subject) === null || _textbook$subject3 === void 0 ? void 0 : _textbook$subject3.id]);
8763
8801
  var handleOpenAddArticleDialog = function handleOpenAddArticleDialog(chapter) {
8764
8802
  setSelectedChapter(chapter);
8765
8803
  };
@@ -8768,35 +8806,35 @@ var useTextbookDetail = function useTextbookDetail(props) {
8768
8806
  };
8769
8807
  var handleUpdateChapter = function handleUpdateChapter(chapterId, chapter, callback) {
8770
8808
  try {
8771
- var _temp2 = function _temp2() {
8809
+ var _temp4 = function _temp4() {
8772
8810
  dispatch(setLoading(false));
8773
8811
  };
8774
8812
  if (!textbook) return Promise.resolve();
8775
- var _temp = _catch(function () {
8813
+ var _temp3 = _catch(function () {
8776
8814
  var body = {
8777
8815
  name: chapter.name,
8778
8816
  pageFrom: chapter.pageFrom,
8779
8817
  pageTo: chapter.pageTo
8780
8818
  };
8781
- return Promise.resolve(updateChapterApi(chapterId, body, role)).then(function (res) {
8819
+ return Promise.resolve(updateChapterApi(chapterId, body)).then(function (res) {
8782
8820
  callback === null || callback === void 0 ? void 0 : callback(res.data);
8783
8821
  });
8784
8822
  }, function (error) {
8785
8823
  reactToastify.toast.error(getErrorMessage(t, error));
8786
8824
  });
8787
- return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
8825
+ return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3));
8788
8826
  } catch (e) {
8789
8827
  return Promise.reject(e);
8790
8828
  }
8791
8829
  };
8792
8830
  var handleCreateArticle = function handleCreateArticle(article, callback) {
8793
8831
  try {
8794
- var _temp4 = function _temp4() {
8832
+ var _temp6 = function _temp6() {
8795
8833
  dispatch(setLoading(false));
8796
8834
  };
8797
8835
  if (!textbook) return Promise.resolve();
8798
8836
  dispatch(setLoading(true));
8799
- var _temp3 = _catch(function () {
8837
+ var _temp5 = _catch(function () {
8800
8838
  var _article$category;
8801
8839
  var body = {
8802
8840
  articleNumber: article.articleNumber,
@@ -8812,45 +8850,45 @@ var useTextbookDetail = function useTextbookDetail(props) {
8812
8850
  };
8813
8851
  })
8814
8852
  };
8815
- return Promise.resolve(createArticleApi(body, role)).then(function (res) {
8853
+ return Promise.resolve(createArticleApi(body)).then(function (res) {
8816
8854
  callback === null || callback === void 0 ? void 0 : callback(res.data);
8817
8855
  });
8818
8856
  }, function (error) {
8819
8857
  reactToastify.toast.error(getErrorMessage(t, error));
8820
8858
  });
8821
- return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3));
8859
+ return Promise.resolve(_temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5));
8822
8860
  } catch (e) {
8823
8861
  return Promise.reject(e);
8824
8862
  }
8825
8863
  };
8826
8864
  var handleDeleteArticle = function handleDeleteArticle(articleId, callback) {
8827
8865
  try {
8828
- var _temp6 = function _temp6() {
8866
+ var _temp8 = function _temp8() {
8829
8867
  dispatch(setLoading(false));
8830
8868
  };
8831
8869
  if (!textbook) return Promise.resolve();
8832
8870
  dispatch(setLoading(true));
8833
- var _temp5 = _catch(function () {
8834
- return Promise.resolve(deleteArticleApi(articleId, role)).then(function () {
8871
+ var _temp7 = _catch(function () {
8872
+ return Promise.resolve(deleteArticleApi(articleId)).then(function () {
8835
8873
  callback === null || callback === void 0 ? void 0 : callback();
8836
8874
  });
8837
8875
  }, function (error) {
8838
8876
  reactToastify.toast.error(getErrorMessage(t, error));
8839
8877
  });
8840
- return Promise.resolve(_temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5));
8878
+ return Promise.resolve(_temp7 && _temp7.then ? _temp7.then(_temp8) : _temp8(_temp7));
8841
8879
  } catch (e) {
8842
8880
  return Promise.reject(e);
8843
8881
  }
8844
8882
  };
8845
8883
  var handleDeleteChapter = function handleDeleteChapter(chapterId, parentChapterId, callback) {
8846
8884
  try {
8847
- var _temp8 = function _temp8() {
8885
+ var _temp10 = function _temp10() {
8848
8886
  dispatch(setLoading(false));
8849
8887
  };
8850
8888
  if (!textbook) return Promise.resolve();
8851
8889
  dispatch(setLoading(true));
8852
- var _temp7 = _catch(function () {
8853
- return Promise.resolve(deleteChapterApi(chapterId, role)).then(function () {
8890
+ var _temp9 = _catch(function () {
8891
+ return Promise.resolve(deleteChapterApi(chapterId)).then(function () {
8854
8892
  if (parentChapterId) {
8855
8893
  var parentIndex = textbook.chapters.findIndex(function (i) {
8856
8894
  return i.id === parentChapterId;
@@ -8875,7 +8913,7 @@ var useTextbookDetail = function useTextbookDetail(props) {
8875
8913
  }, function (error) {
8876
8914
  reactToastify.toast.error(getErrorMessage(t, error));
8877
8915
  });
8878
- return Promise.resolve(_temp7 && _temp7.then ? _temp7.then(_temp8) : _temp8(_temp7));
8916
+ return Promise.resolve(_temp9 && _temp9.then ? _temp9.then(_temp10) : _temp10(_temp9));
8879
8917
  } catch (e) {
8880
8918
  return Promise.reject(e);
8881
8919
  }
@@ -8883,7 +8921,7 @@ var useTextbookDetail = function useTextbookDetail(props) {
8883
8921
  var handleUpdateArticle = function handleUpdateArticle(article, callback) {
8884
8922
  try {
8885
8923
  if (!textbook || !article.id) return Promise.resolve();
8886
- var _temp9 = _catch(function () {
8924
+ var _temp11 = _catch(function () {
8887
8925
  var _article$category2;
8888
8926
  var body = {
8889
8927
  articleNumber: article.articleNumber,
@@ -8899,13 +8937,13 @@ var useTextbookDetail = function useTextbookDetail(props) {
8899
8937
  };
8900
8938
  })
8901
8939
  };
8902
- return Promise.resolve(updateArticleApi(article.id, body, role)).then(function (res) {
8940
+ return Promise.resolve(updateArticleApi(article.id, body)).then(function (res) {
8903
8941
  callback === null || callback === void 0 ? void 0 : callback(res.data);
8904
8942
  });
8905
8943
  }, function (error) {
8906
8944
  reactToastify.toast.error(getErrorMessage(t, error));
8907
8945
  });
8908
- return Promise.resolve(_temp9 && _temp9.then ? _temp9.then(function () {}) : void 0);
8946
+ return Promise.resolve(_temp11 && _temp11.then ? _temp11.then(function () {}) : void 0);
8909
8947
  } catch (e) {
8910
8948
  return Promise.reject(e);
8911
8949
  }
@@ -9180,18 +9218,18 @@ var useTextbookDetail = function useTextbookDetail(props) {
9180
9218
  };
9181
9219
  var handleCreateChapter = function handleCreateChapter(chapterName) {
9182
9220
  try {
9183
- var _temp11 = function _temp11() {
9221
+ var _temp13 = function _temp13() {
9184
9222
  dispatch(setLoading(false));
9185
9223
  };
9186
9224
  if (!textbookId && !parentChapter && !textbook) return Promise.resolve();
9187
9225
  dispatch(setLoading(true));
9188
- var _temp10 = _catch(function () {
9226
+ var _temp12 = _catch(function () {
9189
9227
  var body = {
9190
9228
  name: chapterName,
9191
9229
  parentChapterId: parentChapter === null || parentChapter === void 0 ? void 0 : parentChapter.id,
9192
9230
  textbookId: textbookId
9193
9231
  };
9194
- return Promise.resolve(createChapterApi(body, role)).then(function (res) {
9232
+ return Promise.resolve(createChapterApi(body)).then(function (res) {
9195
9233
  var chapter = _extends({}, res.data, {
9196
9234
  articles: [],
9197
9235
  subChapters: []
@@ -9217,7 +9255,7 @@ var useTextbookDetail = function useTextbookDetail(props) {
9217
9255
  }, function (error) {
9218
9256
  reactToastify.toast.error(getErrorMessage(t, error));
9219
9257
  });
9220
- return Promise.resolve(_temp10 && _temp10.then ? _temp10.then(_temp11) : _temp11(_temp10));
9258
+ return Promise.resolve(_temp12 && _temp12.then ? _temp12.then(_temp13) : _temp13(_temp12));
9221
9259
  } catch (e) {
9222
9260
  return Promise.reject(e);
9223
9261
  }
@@ -9227,12 +9265,12 @@ var useTextbookDetail = function useTextbookDetail(props) {
9227
9265
  setParentChapter(undefined);
9228
9266
  };
9229
9267
  var validateTextbook = function validateTextbook() {
9230
- var _textbook$subject;
9268
+ var _textbook$subject4;
9231
9269
  if (!textbook.name.trim().length) {
9232
9270
  reactToastify.toast.error(t('textbook_name_is_required'));
9233
9271
  return false;
9234
9272
  }
9235
- if (!((_textbook$subject = textbook.subject) !== null && _textbook$subject !== void 0 && _textbook$subject.id)) {
9273
+ if (!((_textbook$subject4 = textbook.subject) !== null && _textbook$subject4 !== void 0 && _textbook$subject4.id)) {
9236
9274
  reactToastify.toast.error(t('textbook_subject_is_required'));
9237
9275
  return false;
9238
9276
  }
@@ -9240,7 +9278,7 @@ var useTextbookDetail = function useTextbookDetail(props) {
9240
9278
  };
9241
9279
  var handleCreateOrUpdateTextbook = function handleCreateOrUpdateTextbook() {
9242
9280
  try {
9243
- var _temp15 = function _temp15() {
9281
+ var _temp17 = function _temp17() {
9244
9282
  dispatch(setLoading(false));
9245
9283
  };
9246
9284
  if (!textbook) return Promise.resolve();
@@ -9251,22 +9289,22 @@ var useTextbookDetail = function useTextbookDetail(props) {
9251
9289
  return Promise.resolve();
9252
9290
  }
9253
9291
  dispatch(setLoading(true));
9254
- var _temp14 = _catch(function () {
9255
- function _temp13() {
9292
+ var _temp16 = _catch(function () {
9293
+ function _temp15() {
9256
9294
  reactToastify.toast.success(t(textbook.id ? "update_the_textbook_successfully" : "create_the_textbook_successfully"));
9257
9295
  }
9258
- var _temp12 = function () {
9296
+ var _temp14 = function () {
9259
9297
  if (textbook.id) {
9260
9298
  var body = {
9261
9299
  name: textbook.name
9262
9300
  };
9263
- return Promise.resolve(updateTextbookApi(textbook.id, body, role)).then(function () {});
9301
+ return Promise.resolve(updateTextbookApi(textbook.id, body)).then(function () {});
9264
9302
  } else {
9265
9303
  var _body = {
9266
9304
  name: textbook.name,
9267
9305
  subjectId: textbook.subject.id
9268
9306
  };
9269
- return Promise.resolve(createTextbookApi(_body, role)).then(function (res) {
9307
+ return Promise.resolve(createTextbookApi(_body)).then(function (res) {
9270
9308
  var textbookId = res.data.id;
9271
9309
  navigate(textbookUrl + "/" + textbookId, {
9272
9310
  replace: true
@@ -9274,11 +9312,11 @@ var useTextbookDetail = function useTextbookDetail(props) {
9274
9312
  });
9275
9313
  }
9276
9314
  }();
9277
- return _temp12 && _temp12.then ? _temp12.then(_temp13) : _temp13(_temp12);
9315
+ return _temp14 && _temp14.then ? _temp14.then(_temp15) : _temp15(_temp14);
9278
9316
  }, function (error) {
9279
9317
  reactToastify.toast.error(getErrorMessage(t, error));
9280
9318
  });
9281
- return Promise.resolve(_temp14 && _temp14.then ? _temp14.then(_temp15) : _temp15(_temp14));
9319
+ return Promise.resolve(_temp16 && _temp16.then ? _temp16.then(_temp17) : _temp17(_temp16));
9282
9320
  } catch (e) {
9283
9321
  return Promise.reject(e);
9284
9322
  }
@@ -9344,12 +9382,12 @@ var useTextbookDetail = function useTextbookDetail(props) {
9344
9382
  React.useEffect(function () {
9345
9383
  var getTextbookDetail = function getTextbookDetail() {
9346
9384
  try {
9347
- var _temp17 = function _temp17() {
9385
+ var _temp19 = function _temp19() {
9348
9386
  dispatch(setLoading(false));
9349
9387
  };
9350
9388
  dispatch(setLoading(true));
9351
- var _temp16 = _catch(function () {
9352
- return Promise.resolve(getTextbookByIdApi(+id, role)).then(function (res) {
9389
+ var _temp18 = _catch(function () {
9390
+ return Promise.resolve(getTextbookByIdApi(+id)).then(function (res) {
9353
9391
  setEditedTitle(false);
9354
9392
  setTextbook(res.data);
9355
9393
  setNotFound(false);
@@ -9358,7 +9396,7 @@ var useTextbookDetail = function useTextbookDetail(props) {
9358
9396
  var _error$response;
9359
9397
  if ((error === null || error === void 0 ? void 0 : (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.status) === 404) setNotFound(true);else reactToastify.toast.error(getErrorMessage(t, error));
9360
9398
  });
9361
- return Promise.resolve(_temp16 && _temp16.then ? _temp16.then(_temp17) : _temp17(_temp16));
9399
+ return Promise.resolve(_temp18 && _temp18.then ? _temp18.then(_temp19) : _temp19(_temp18));
9362
9400
  } catch (e) {
9363
9401
  return Promise.reject(e);
9364
9402
  }
@@ -9434,6 +9472,7 @@ var useTextbookDetail = function useTextbookDetail(props) {
9434
9472
  articlesSelected: articlesSelected,
9435
9473
  isOpenDialog: isOpenDialog,
9436
9474
  examRequest: examRequest,
9475
+ categoryList: categoryList,
9437
9476
  handleChangeExamRequest: handleChangeExamRequest,
9438
9477
  handleCheckArticle: handleCheckArticle,
9439
9478
  handleOpenCreateExamDialog: handleChangeExamRequestBeforeOpenDialog,
@@ -9868,27 +9907,6 @@ var DURATION_OPTIONS = Array.from({
9868
9907
  });
9869
9908
  var DEFAULT_ANSWER_COUNT$1 = 5;
9870
9909
 
9871
- var ADMIN_CATEGORY_URL = SUPER_ADMIN_BASE_URL + "/api/category";
9872
- var CATEGORY_URL = BASE_URL + "/api/examcategory";
9873
- var getCategoryListAdminApi = function getCategoryListAdminApi(data) {
9874
- try {
9875
- return Promise.resolve(api.get("" + ADMIN_CATEGORY_URL, {
9876
- params: data
9877
- }));
9878
- } catch (e) {
9879
- return Promise.reject(e);
9880
- }
9881
- };
9882
- var getCategoryListApi = function getCategoryListApi(data) {
9883
- try {
9884
- return Promise.resolve(api.get("" + CATEGORY_URL, {
9885
- params: data
9886
- }));
9887
- } catch (e) {
9888
- return Promise.reject(e);
9889
- }
9890
- };
9891
-
9892
9910
  var useExamDetailView = function useExamDetailView(props) {
9893
9911
  var exam = props.exam,
9894
9912
  onChangeExam = props.onChangeExam;
@@ -10114,9 +10132,8 @@ var useExamDetailView = function useExamDetailView(props) {
10114
10132
  }
10115
10133
  };
10116
10134
  React.useEffect(function () {
10117
- if (categoryList !== null && categoryList !== void 0 && categoryList.length) return;
10118
10135
  getCategoryList();
10119
- }, [exam.subjectId, JSON.stringify(categoryList)]);
10136
+ }, [exam.subjectId]);
10120
10137
  var examGroupByArticle = React.useMemo(function () {
10121
10138
  if (!exam) return [];
10122
10139
  var articles = [];
@@ -10349,6 +10366,7 @@ var TextbookViewDetail = function TextbookViewDetail(props) {
10349
10366
  isEditedTitle = _useTextbookDetail.isEditedTitle,
10350
10367
  isOpenDialog = _useTextbookDetail.isOpenDialog,
10351
10368
  examRequest = _useTextbookDetail.examRequest,
10369
+ categoryList = _useTextbookDetail.categoryList,
10352
10370
  handleChangeExamRequest = _useTextbookDetail.handleChangeExamRequest,
10353
10371
  handleSaveExam = _useTextbookDetail.handleSaveExam,
10354
10372
  handleCloseDialog = _useTextbookDetail.handleCloseDialog,
@@ -10378,7 +10396,7 @@ var TextbookViewDetail = function TextbookViewDetail(props) {
10378
10396
  handleRemoveSelectedItem = _useTextbookDetail.handleRemoveSelectedItem,
10379
10397
  handleOpenRemoveChapterConfirmDialog = _useTextbookDetail.handleOpenRemoveChapterConfirmDialog;
10380
10398
  var _useCategorySelect = useCategorySelect({
10381
- subjectId: id ? textbookSubject === null || textbookSubject === void 0 ? void 0 : textbookSubject.value : undefined
10399
+ categoryList: categoryList
10382
10400
  }),
10383
10401
  categoryOptions = _useCategorySelect.categoryOptions;
10384
10402
  if (isNotFound) return React__default.createElement(NotFound, {
@@ -10741,7 +10759,7 @@ var useTextbookList = function useTextbookList(props) {
10741
10759
  var role = props.role,
10742
10760
  navigate = props.navigate;
10743
10761
  var _useList = useList(function (search) {
10744
- return getTextbookListApi(search, role);
10762
+ return getTextbookListApi(search);
10745
10763
  }, TextbookDefaultQuery),
10746
10764
  filter = _useList.filter,
10747
10765
  textSearchRef = _useList.textSearchRef,
@@ -10787,7 +10805,7 @@ var useTextbookList = function useTextbookList(props) {
10787
10805
  if (!(selectedTextbook !== null && selectedTextbook !== void 0 && selectedTextbook.id)) return Promise.resolve();
10788
10806
  dispatch(setLoading(true));
10789
10807
  var _temp = _catch(function () {
10790
- return Promise.resolve(deleteTextbookApi(selectedTextbook.id, role)).then(function () {
10808
+ return Promise.resolve(deleteTextbookApi(selectedTextbook.id)).then(function () {
10791
10809
  return Promise.resolve(getData(false)).then(function () {
10792
10810
  toggleConfirmDialog();
10793
10811
  });