touchstudy-core 0.1.192 → 0.1.194

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 (101) hide show
  1. package/dist/components/Chats/components/InputChat.d.ts +1 -2
  2. package/dist/components/Chats/hooks/useChatContainer.d.ts +1 -1
  3. package/dist/components/List/hooks/useVirtualListView.d.ts +2 -1
  4. package/dist/index.js +157 -111
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.modern.js +159 -113
  7. package/dist/index.modern.js.map +1 -1
  8. package/dist/utils/hooks/useVirtualList.d.ts +2 -0
  9. package/package.json +9 -7
  10. package/dist/add-ts-nocheck.js +0 -33
  11. package/dist/alert-circle-fill~CSSkoNUz.svg +0 -3
  12. package/dist/calendar_fill~zEgxFwDs.svg +0 -4
  13. package/dist/check-circle_fill~bbGHfKpz.svg +0 -3
  14. package/dist/checked-circle_fill~KLGxfRpW.svg +0 -3
  15. package/dist/clock_fill~mcRclYYO.svg +0 -3
  16. package/dist/close-circle_fill~PRVaHJUQ.svg +0 -3
  17. package/dist/components/CkEditor/CkEditor.d.ts +0 -10
  18. package/dist/components/CkEditor/config.d.ts +0 -19
  19. package/dist/components/CkEditor/index.d.ts +0 -2
  20. package/dist/components/Print/hooks/useDeviceType.d.ts +0 -4
  21. package/dist/containers/ExamResult/components/GradesByTerritory/Textbook.d.ts +0 -12
  22. package/dist/containers/ExamResult/components/GradesByTerritory/index.d.ts +0 -12
  23. package/dist/containers/ExamResult/components/ProtractedProblem/index.d.ts +0 -10
  24. package/dist/containers/ExamResult/components/TrickyProblem/Textbook.d.ts +0 -10
  25. package/dist/containers/ExamResult/components/TrickyProblem/index.d.ts +0 -11
  26. package/dist/containers/ExamResult/components/Vulnerable/Textbook.d.ts +0 -11
  27. package/dist/containers/ExamResult/components/Vulnerable/index.d.ts +0 -12
  28. package/dist/containers/Exams/components/ArticleBlock.d.ts +0 -20
  29. package/dist/containers/Exams/components/ArticleGroupView.d.ts +0 -33
  30. package/dist/containers/Exams/components/QuestionBlock.d.ts +0 -19
  31. package/dist/containers/Exams/components/QuestionCompareType.d.ts +0 -9
  32. package/dist/containers/Exams/components/QuestionGroupBlock.d.ts +0 -28
  33. package/dist/containers/Exams/components/QuestionGroupBlockBody.d.ts +0 -23
  34. package/dist/containers/Exams/components/QuestionOrderName.d.ts +0 -9
  35. package/dist/containers/Exams/components/QuestionShortInput.d.ts +0 -13
  36. package/dist/containers/Exams/components/QuestionView.d.ts +0 -20
  37. package/dist/containers/Exams/hooks/useOverallChartContainer.d.ts +0 -9
  38. package/dist/containers/Exams/styles/styles.d.ts +0 -6
  39. package/dist/containers/Notes/components/TeacherAdminNoteDialog.d.ts +0 -4
  40. package/dist/containers/PreparedTextbook/components/Article.d.ts +0 -20
  41. package/dist/containers/PreparedTextbook/components/ArticleBlock.d.ts +0 -20
  42. package/dist/containers/PreparedTextbook/components/Chapter.d.ts +0 -19
  43. package/dist/containers/PreparedTextbook/components/QuestionBlock.d.ts +0 -19
  44. package/dist/containers/PreparedTextbook/components/QuestionCompareType.d.ts +0 -8
  45. package/dist/containers/PreparedTextbook/components/QuestionGroupBlock.d.ts +0 -28
  46. package/dist/containers/PreparedTextbook/components/QuestionGroupBlockBody.d.ts +0 -24
  47. package/dist/containers/PreparedTextbook/components/QuestionOrderName.d.ts +0 -9
  48. package/dist/containers/PreparedTextbook/components/QuestionScore.d.ts +0 -9
  49. package/dist/containers/PreparedTextbook/components/QuestionShortInput.d.ts +0 -12
  50. package/dist/containers/PreparedTextbook/components/QuestionTypeFilter.d.ts +0 -10
  51. package/dist/containers/PreparedTextbook/components/SubChapter.d.ts +0 -18
  52. package/dist/containers/PreparedTextbook/components/TextbookOwners.d.ts +0 -13
  53. package/dist/containers/PreparedTextbook/hooks/useExamDetailView.d.ts +0 -30
  54. package/dist/containers/PreparedTextbook/hooks/useTextbookOptions.d.ts +0 -15
  55. package/dist/containers/PreparedTextbook/styles/styles.d.ts +0 -6
  56. package/dist/containers/PreparedTextbook/views/PreparedTextbook.d.ts +0 -8
  57. package/dist/containers/StudentInfoDrawer/components/Attendance/AttedanceFormDialog.d.ts +0 -13
  58. package/dist/containers/StudentInfoDrawer/components/AttendanceCourseTable.d.ts +0 -15
  59. package/dist/containers/StudentInfoDrawer/components/CourseAttendanceItem.d.ts +0 -10
  60. package/dist/containers/StudentInfoDrawer/components/CourseAttendanceList.d.ts +0 -4
  61. package/dist/containers/StudentInfoDrawer/components/DrawerAttendanceTab.d.ts +0 -4
  62. package/dist/containers/StudentInfoDrawer/components/DrawerExamResultTab.d.ts +0 -9
  63. package/dist/containers/StudentInfoDrawer/components/DrawerNoteTab.d.ts +0 -8
  64. package/dist/containers/StudentInfoDrawer/components/DrawerTextbookResultTab.d.ts +0 -7
  65. package/dist/containers/StudentInfoDrawer/components/Exam/ExanResultList.d.ts +0 -4
  66. package/dist/containers/StudentInfoDrawer/components/ExamResultDrawer.d.ts +0 -13
  67. package/dist/containers/StudentInfoDrawer/components/ExamResultItem.d.ts +0 -10
  68. package/dist/containers/StudentInfoDrawer/components/ExanResultList.d.ts +0 -4
  69. package/dist/containers/StudentInfoDrawer/components/LessonTooltip.d.ts +0 -8
  70. package/dist/containers/StudentInfoDrawer/components/NoteDrawer.d.ts +0 -13
  71. package/dist/containers/StudentInfoDrawer/components/TextbookResultItem.d.ts +0 -10
  72. package/dist/containers/StudentInfoDrawer/components/TextbookResultList.d.ts +0 -4
  73. package/dist/containers/Textbooks/components/ChapterBox.d.ts +0 -4
  74. package/dist/containers/Textbooks/configs/interfaces.d.ts +0 -21
  75. package/dist/containers/Textbooks/hooks/useExam.d.ts +0 -16
  76. package/dist/containers/Textbooks/hooks/useTextbookDetail.d.ts +0 -55
  77. package/dist/containers/Textbooks/views/TextbookDetail.d.ts +0 -15
  78. package/dist/iconPerson~bfprHOKm.svg +0 -4
  79. package/dist/layouts/HeaderLink.d.ts +0 -8
  80. package/dist/layouts/TimerCountItem.d.ts +0 -10
  81. package/dist/layouts/TimerDialog.d.ts +0 -9
  82. package/dist/layouts/TimerDropdown.d.ts +0 -3
  83. package/dist/layouts/TimerItem.d.ts +0 -11
  84. package/dist/layouts/configs/constants.d.ts +0 -12
  85. package/dist/layouts/hooks/useCountDownTimer.d.ts +0 -9
  86. package/dist/layouts/partials/AlarmClock.d.ts +0 -10
  87. package/dist/layouts/partials/AlarmClockPanel.d.ts +0 -10
  88. package/dist/layouts/partials/AlarmClockTab.d.ts +0 -10
  89. package/dist/layouts/partials/CircularTimer/index.d.ts +0 -11
  90. package/dist/layouts/partials/CircularTimer/tick.d.ts +0 -9
  91. package/dist/layouts/partials/CircularTimer.d.ts +0 -11
  92. package/dist/layouts/partials/StudyTimerTab.d.ts +0 -12
  93. package/dist/layouts/partials/TimerCountItem.d.ts +0 -10
  94. package/dist/layouts/partials/TimerItem.d.ts +0 -11
  95. package/dist/layouts/partials/TimerTabPanel.d.ts +0 -8
  96. package/dist/layouts/partials/TimerTabs.d.ts +0 -7
  97. package/dist/utils/enums/subject.d.ts +0 -6
  98. package/dist/utils/functions/checkSuperUrl.d.ts +0 -1
  99. package/dist/utils/functions/isRealTabletOrMobileDevice.d.ts +0 -1
  100. package/dist/utils/types/subjects.d.ts +0 -19
  101. /package/dist/utils/types/{QuestionTypeFilter.d.ts → questionTypeFilter.d.ts} +0 -0
package/dist/index.js CHANGED
@@ -1576,6 +1576,7 @@ var recent_class_exams = "최근 수업 시험";
1576
1576
  var there_are_no_problems_you_were_working_on = "풀던 문제가 없습니다.";
1577
1577
  var incomplete_exam = "미참가";
1578
1578
  var completed_exam = "참가";
1579
+ var failed_to_send_the_image_error = "이미지를 보내지 못했습니다: {{ message }}";
1579
1580
  var lang_ko = {
1580
1581
  problem_solving: problem_solving,
1581
1582
  my_story: my_story,
@@ -2783,7 +2784,8 @@ var lang_ko = {
2783
2784
  recent_class_exams: recent_class_exams,
2784
2785
  there_are_no_problems_you_were_working_on: there_are_no_problems_you_were_working_on,
2785
2786
  incomplete_exam: incomplete_exam,
2786
- completed_exam: completed_exam
2787
+ completed_exam: completed_exam,
2788
+ failed_to_send_the_image_error: failed_to_send_the_image_error
2787
2789
  };
2788
2790
 
2789
2791
  var problem_solving$1 = "Problem Solving";
@@ -4018,6 +4020,7 @@ var recent_class_exams$1 = "Recent Class Exams";
4018
4020
  var there_are_no_problems_you_were_working_on$1 = "There are no problems you were working on";
4019
4021
  var incomplete_exam$1 = "Incomplete";
4020
4022
  var completed_exam$1 = "Completed";
4023
+ var failed_to_send_the_image_error$1 = "Failed to send the image: {{ message }}";
4021
4024
  var lang_en = {
4022
4025
  problem_solving: problem_solving$1,
4023
4026
  my_story: my_story$1,
@@ -5227,7 +5230,8 @@ var lang_en = {
5227
5230
  recent_class_exams: recent_class_exams$1,
5228
5231
  there_are_no_problems_you_were_working_on: there_are_no_problems_you_were_working_on$1,
5229
5232
  incomplete_exam: incomplete_exam$1,
5230
- completed_exam: completed_exam$1
5233
+ completed_exam: completed_exam$1,
5234
+ failed_to_send_the_image_error: failed_to_send_the_image_error$1
5231
5235
  };
5232
5236
 
5233
5237
  i18n__default.use(reactI18next.initReactI18next).init({
@@ -7345,15 +7349,18 @@ var useVirtualList = function useVirtualList(defaultFilter, getItemsApi) {
7345
7349
  var _useState2 = React.useState(0),
7346
7350
  totalPages = _useState2[0],
7347
7351
  setTotalPages = _useState2[1];
7348
- var _useState3 = React.useState(),
7349
- selectedItem = _useState3[0],
7350
- setSelectedItem = _useState3[1];
7351
- var _useState4 = React.useState(false),
7352
- isLoading = _useState4[0],
7353
- setLoading = _useState4[1];
7354
- var _useState5 = React.useState(),
7355
- filter = _useState5[0],
7356
- setFilter = _useState5[1];
7352
+ var _useState3 = React.useState(0),
7353
+ totalItems = _useState3[0],
7354
+ setTotalItems = _useState3[1];
7355
+ var _useState4 = React.useState(),
7356
+ selectedItem = _useState4[0],
7357
+ setSelectedItem = _useState4[1];
7358
+ var _useState5 = React.useState(false),
7359
+ isLoading = _useState5[0],
7360
+ setLoading = _useState5[1];
7361
+ var _useState6 = React.useState(),
7362
+ filter = _useState6[0],
7363
+ setFilter = _useState6[1];
7357
7364
  var handleChangeSelectedItem = function handleChangeSelectedItem(data) {
7358
7365
  setSelectedItem(data);
7359
7366
  };
@@ -7372,6 +7379,7 @@ var useVirtualList = function useVirtualList(defaultFilter, getItemsApi) {
7372
7379
  return Promise.resolve(getItemsApi(filter)).then(function (res) {
7373
7380
  var responseData = res.data;
7374
7381
  setTotalPages((responseData === null || responseData === void 0 ? void 0 : responseData.totalPages) || 0);
7382
+ setTotalItems((responseData === null || responseData === void 0 ? void 0 : responseData.totalItems) || 0);
7375
7383
  var responseItems = (responseData === null || responseData === void 0 ? void 0 : responseData.items) || [];
7376
7384
  var results = responseItems;
7377
7385
  if (filter !== null && filter !== void 0 && filter.currentPage && filter.currentPage > 1) {
@@ -7388,16 +7396,13 @@ var useVirtualList = function useVirtualList(defaultFilter, getItemsApi) {
7388
7396
  }
7389
7397
  };
7390
7398
  var handleLoadMore = React.useCallback(function () {
7391
- if (!filter || !filter.currentPage || filter.currentPage >= totalPages) {
7392
- return;
7393
- }
7399
+ if (isLoading) return;
7394
7400
  setFilter(function (state) {
7395
- var _filter$currentPage;
7396
- return !state ? state : _extends({}, state, {
7397
- currentPage: ((_filter$currentPage = filter.currentPage) != null ? _filter$currentPage : 0) + 1
7401
+ return !state || state.currentPage === undefined || state.currentPage >= totalPages ? state : _extends({}, state, {
7402
+ currentPage: state.currentPage + 1
7398
7403
  });
7399
7404
  });
7400
- }, [filter === null || filter === void 0 ? void 0 : filter.currentPage, totalPages]);
7405
+ }, [totalPages, isLoading]);
7401
7406
  var handleItemAdded = function handleItemAdded(item) {
7402
7407
  var results = [].concat(_$a.uniqBy([item].concat(items), "id"));
7403
7408
  setItems(results);
@@ -7414,7 +7419,13 @@ var useVirtualList = function useVirtualList(defaultFilter, getItemsApi) {
7414
7419
  var handleChangeFilter = function handleChangeFilter(newFilter) {
7415
7420
  setFilter(newFilter);
7416
7421
  };
7422
+ var resetData = function resetData() {
7423
+ setTotalPages(0);
7424
+ setTotalItems(0);
7425
+ setItems([]);
7426
+ };
7417
7427
  React.useEffect(function () {
7428
+ resetData();
7418
7429
  setFilter(function (state) {
7419
7430
  if (JSON.stringify(state) == JSON.stringify(defaultFilter)) getItems();
7420
7431
  return defaultFilter;
@@ -7429,6 +7440,8 @@ var useVirtualList = function useVirtualList(defaultFilter, getItemsApi) {
7429
7440
  selectedItem: selectedItem,
7430
7441
  items: items,
7431
7442
  isLoading: isLoading,
7443
+ totalItems: totalItems,
7444
+ resetData: resetData,
7432
7445
  handleChangeFilter: handleChangeFilter,
7433
7446
  setItems: setItems,
7434
7447
  handleChangeSelectedItem: handleChangeSelectedItem,
@@ -9630,24 +9643,27 @@ var InputChat = function InputChat(_ref) {
9630
9643
  width: "fit-content"
9631
9644
  }
9632
9645
  }, React__default.createElement("img", {
9633
- src: selectedFile === null || selectedFile === void 0 ? void 0 : selectedFile.content,
9646
+ src: selectedFile,
9634
9647
  style: {
9635
9648
  height: "100px",
9636
9649
  objectFit: "contain",
9637
9650
  objectPosition: "center"
9638
9651
  }
9639
- }), React__default.createElement("div", {
9652
+ }), React__default.createElement(material.IconButton, {
9653
+ size: "small",
9654
+ color: "error",
9640
9655
  style: {
9641
9656
  position: "absolute",
9642
9657
  right: 0,
9643
9658
  top: 0,
9644
- cursor: "pointer"
9659
+ padding: "8px",
9660
+ cursor: "pointer",
9661
+ background: grey[100]
9645
9662
  },
9646
9663
  onClick: handleDeleteSelectedImage
9647
- }, React__default.createElement(io5.IoCloseOutline, {
9648
- color: "#fff",
9649
- size: 30
9650
- }))), React__default.createElement(TinyChatEditor, {
9664
+ }, React__default.createElement(fa.FaTrash, {
9665
+ size: 16
9666
+ }))), !selectedFile && React__default.createElement(TinyChatEditor, {
9651
9667
  initValue: text,
9652
9668
  onChange: onChangeInput,
9653
9669
  disabled: isCompleted
@@ -10348,14 +10364,17 @@ var useChatContainer = function useChatContainer(props) {
10348
10364
  selectedConversation = _useState[0],
10349
10365
  setSelectedConversation = _useState[1];
10350
10366
  var _useState2 = React.useState(),
10351
- selectedFile = _useState2[0],
10352
- setSelectedFile = _useState2[1];
10353
- var _useState3 = React.useState(),
10354
- message = _useState3[0],
10355
- setMessage = _useState3[1];
10356
- var _useState4 = React.useState(true),
10357
- isScrollToEnd = _useState4[0],
10358
- setScrollToEnd = _useState4[1];
10367
+ file = _useState2[0],
10368
+ setFile = _useState2[1];
10369
+ var _useState3 = React.useState(null),
10370
+ backgroundImage = _useState3[0],
10371
+ setBackgroundImage = _useState3[1];
10372
+ var _useState4 = React.useState(),
10373
+ message = _useState4[0],
10374
+ setMessage = _useState4[1];
10375
+ var _useState5 = React.useState(true),
10376
+ isScrollToEnd = _useState5[0],
10377
+ setScrollToEnd = _useState5[1];
10359
10378
  var isAdmin = roles === null || roles === void 0 ? void 0 : roles.includes(exports.Role.Admin);
10360
10379
  var _useMessageList = useMessageList({
10361
10380
  student: student
@@ -10378,34 +10397,39 @@ var useChatContainer = function useChatContainer(props) {
10378
10397
  };
10379
10398
  var handleAddMessage = function handleAddMessage() {
10380
10399
  try {
10381
- var _temp6 = function _temp6() {
10400
+ var _temp3 = function _temp3(_result2) {
10401
+ if (_exit) return _result2;
10382
10402
  loadingRef.current = false;
10383
10403
  };
10404
+ var _exit = false;
10384
10405
  if (loadingRef.current) return Promise.resolve();
10385
10406
  loadingRef.current = true;
10386
10407
  if (!(selectedConversation !== null && selectedConversation !== void 0 && selectedConversation.id)) return Promise.resolve();
10387
10408
  setScrollToEnd(true);
10388
- var _temp5 = _catch(function () {
10389
- function _temp4() {
10390
- function _temp2() {
10391
- handleChangeInput('');
10392
- setSelectedFile(null);
10393
- }
10394
- var _temp = function (_message$content) {
10409
+ var _temp2 = _catch(function () {
10410
+ if (file) {
10411
+ return Promise.resolve(handleUploadImageData(file)).then(function (selectedFile) {
10412
+ if (!selectedFile) {
10413
+ _exit = true;
10414
+ return;
10415
+ }
10416
+ return Promise.resolve(apiAddMessage(selectedConversation === null || selectedConversation === void 0 ? void 0 : selectedConversation.id, _extends({}, selectedFile, {
10417
+ contentType: 1
10418
+ }))).then(function () {
10419
+ setFile(undefined);
10420
+ setBackgroundImage(null);
10421
+ });
10422
+ });
10423
+ } else {
10424
+ var _temp4 = function (_message$content) {
10395
10425
  if (message !== null && message !== void 0 && (_message$content = message.content) !== null && _message$content !== void 0 && _message$content.trim().length) {
10396
- return Promise.resolve(apiAddMessage(selectedConversation === null || selectedConversation === void 0 ? void 0 : selectedConversation.id, _extends({}, message))).then(function () {});
10426
+ return Promise.resolve(apiAddMessage(selectedConversation === null || selectedConversation === void 0 ? void 0 : selectedConversation.id, _extends({}, message))).then(function () {
10427
+ handleChangeInput('');
10428
+ });
10397
10429
  }
10398
10430
  }();
10399
- return _temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp);
10431
+ if (_temp4 && _temp4.then) return _temp4.then(function () {});
10400
10432
  }
10401
- var _temp3 = function () {
10402
- if (selectedFile !== null && selectedFile !== void 0 && selectedFile.content) {
10403
- return Promise.resolve(apiAddMessage(selectedConversation === null || selectedConversation === void 0 ? void 0 : selectedConversation.id, _extends({}, selectedFile, {
10404
- contentType: 1
10405
- }))).then(function () {});
10406
- }
10407
- }();
10408
- return _temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3);
10409
10433
  }, function (error) {
10410
10434
  setMessages(function (state) {
10411
10435
  return [].concat(state.filter(function (i) {
@@ -10414,31 +10438,51 @@ var useChatContainer = function useChatContainer(props) {
10414
10438
  });
10415
10439
  reactToastify.toast.error(getErrorMessage(t, error));
10416
10440
  });
10417
- return Promise.resolve(_temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5));
10441
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(_temp3) : _temp3(_temp2));
10418
10442
  } catch (e) {
10419
10443
  return Promise.reject(e);
10420
10444
  }
10421
10445
  };
10422
10446
  var handleUploadImage = function handleUploadImage(file) {
10423
- return file ? Promise.resolve(_finally(function () {
10424
- return _catch(function () {
10447
+ try {
10448
+ if (file) {
10449
+ setFile(file);
10450
+ var reader = new FileReader();
10451
+ reader.onload = function () {
10452
+ setBackgroundImage(reader.result);
10453
+ };
10454
+ reader.readAsDataURL(file);
10455
+ }
10456
+ return Promise.resolve();
10457
+ } catch (e) {
10458
+ return Promise.reject(e);
10459
+ }
10460
+ };
10461
+ var handleUploadImageData = function handleUploadImageData(file) {
10462
+ try {
10463
+ return Promise.resolve(_catch(function () {
10425
10464
  var formData = new FormData();
10426
10465
  formData.append("upload", file);
10427
10466
  return Promise.resolve(apiUploadImageFile(formData)).then(function (res) {
10428
10467
  var _res$data;
10429
- setSelectedFile({
10468
+ return {
10430
10469
  content: res === null || res === void 0 ? void 0 : (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.url
10431
- });
10470
+ };
10432
10471
  });
10433
10472
  }, function (error) {
10473
+ reactToastify.toast.error(t("failed_to_send_the_image_error", {
10474
+ message: getErrorMessage(t, error)
10475
+ }));
10434
10476
  setMessages(function (state) {
10435
10477
  return [].concat(state.filter(function (i) {
10436
10478
  return (i === null || i === void 0 ? void 0 : i.id) !== 0;
10437
10479
  }));
10438
10480
  });
10439
- reactToastify.toast.error(getErrorMessage(t, error));
10440
- });
10441
- }, function () {})) : Promise.resolve();
10481
+ return null;
10482
+ }));
10483
+ } catch (e) {
10484
+ return Promise.reject(e);
10485
+ }
10442
10486
  };
10443
10487
  var handleChangeInput = function handleChangeInput(text) {
10444
10488
  setMessage({
@@ -10447,7 +10491,7 @@ var useChatContainer = function useChatContainer(props) {
10447
10491
  };
10448
10492
  var handleNewMessageSent = function handleNewMessageSent(data) {
10449
10493
  try {
10450
- var _temp7 = function _temp7(_updateLastTimeReadCo) {
10494
+ var _temp5 = function _temp5(_updateLastTimeReadCo) {
10451
10495
  _updateLastTimeReadCo;
10452
10496
  };
10453
10497
  if (!data) return Promise.resolve();
@@ -10456,14 +10500,14 @@ var useChatContainer = function useChatContainer(props) {
10456
10500
  return [].concat(state, [data]);
10457
10501
  });
10458
10502
  var _selectedConversation = selectedConversation === null || selectedConversation === void 0 ? void 0 : selectedConversation.id;
10459
- return Promise.resolve(_selectedConversation ? Promise.resolve(updateLastTimeReadConversation(selectedConversation.id)).then(_temp7) : _temp7(_selectedConversation));
10503
+ return Promise.resolve(_selectedConversation ? Promise.resolve(updateLastTimeReadConversation(selectedConversation.id)).then(_temp5) : _temp5(_selectedConversation));
10460
10504
  } catch (e) {
10461
10505
  return Promise.reject(e);
10462
10506
  }
10463
10507
  };
10464
10508
  var handleNewConversation = function handleNewConversation(data) {
10465
10509
  try {
10466
- var _temp8 = function _temp8(_updateLastTimeReadCo2) {
10510
+ var _temp6 = function _temp6(_updateLastTimeReadCo2) {
10467
10511
  _updateLastTimeReadCo2;
10468
10512
  };
10469
10513
  if (!data) return Promise.resolve();
@@ -10473,7 +10517,7 @@ var useChatContainer = function useChatContainer(props) {
10473
10517
  return [].concat(state, [item]);
10474
10518
  });
10475
10519
  var _selectedConversation2 = selectedConversation === null || selectedConversation === void 0 ? void 0 : selectedConversation.id;
10476
- return Promise.resolve(_selectedConversation2 ? Promise.resolve(updateLastTimeReadConversation(selectedConversation.id)).then(_temp8) : _temp8(_selectedConversation2));
10520
+ return Promise.resolve(_selectedConversation2 ? Promise.resolve(updateLastTimeReadConversation(selectedConversation.id)).then(_temp6) : _temp6(_selectedConversation2));
10477
10521
  } catch (e) {
10478
10522
  return Promise.reject(e);
10479
10523
  }
@@ -10492,7 +10536,8 @@ var useChatContainer = function useChatContainer(props) {
10492
10536
  }
10493
10537
  };
10494
10538
  var handleDeleteSelectedImage = function handleDeleteSelectedImage() {
10495
- setSelectedFile(null);
10539
+ setFile(undefined);
10540
+ setBackgroundImage(null);
10496
10541
  };
10497
10542
  var cleanupPusher = function cleanupPusher() {
10498
10543
  pusher === null || pusher === void 0 ? void 0 : pusher.unbind("new-message-event", handleNewMessageSent);
@@ -10578,7 +10623,7 @@ var useChatContainer = function useChatContainer(props) {
10578
10623
  handleDeleteMessage: handleDeleteMessage
10579
10624
  },
10580
10625
  inputProps: {
10581
- selectedFile: selectedFile,
10626
+ selectedFile: backgroundImage,
10582
10627
  text: (message === null || message === void 0 ? void 0 : message.content) || "",
10583
10628
  onChangeInput: handleChangeInput,
10584
10629
  onSubmit: handleAddMessage,
@@ -10661,10 +10706,11 @@ var useVirtualListView = function useVirtualListView(props) {
10661
10706
  handleLoadMore();
10662
10707
  }
10663
10708
  };
10709
+ var decounceScroll = _$a.debounce(onScroll, 300);
10664
10710
  var rowCount = data.length + (loading ? 1 : 0);
10665
10711
  return {
10666
10712
  rowCount: rowCount,
10667
- onScroll: onScroll
10713
+ onScroll: decounceScroll
10668
10714
  };
10669
10715
  };
10670
10716
 
@@ -16070,7 +16116,7 @@ var useStudentInfoDrawer = function useStudentInfoDrawer(props) {
16070
16116
  var _temp2 = function _temp2() {
16071
16117
  setLoading(false);
16072
16118
  };
16073
- if (!studentId) return Promise.resolve();
16119
+ if (!studentId || !open) return Promise.resolve();
16074
16120
  setLoading(true);
16075
16121
  var _temp = _catch(function () {
16076
16122
  return Promise.resolve(getUserByIdApi(studentId)).then(function (res) {
@@ -16083,7 +16129,7 @@ var useStudentInfoDrawer = function useStudentInfoDrawer(props) {
16083
16129
  }
16084
16130
  };
16085
16131
  getStudent();
16086
- }, [studentId]);
16132
+ }, [open, studentId]);
16087
16133
  React.useEffect(function () {
16088
16134
  if (open && inert) {
16089
16135
  var _document$getElementB;
@@ -23146,12 +23192,12 @@ var useExamResultData = function useExamResultData(props) {
23146
23192
  var _useState9 = React.useState(),
23147
23193
  openProblem = _useState9[0],
23148
23194
  setOpenProblem = _useState9[1];
23149
- var _useState10 = React.useState(),
23150
- selectedQuestion = _useState10[0],
23151
- setSelectedQuestion = _useState10[1];
23152
- var _useState11 = React.useState(),
23153
- errorMessage = _useState11[0],
23154
- setErrorMessage = _useState11[1];
23195
+ var _useState0 = React.useState(),
23196
+ selectedQuestion = _useState0[0],
23197
+ setSelectedQuestion = _useState0[1];
23198
+ var _useState1 = React.useState(),
23199
+ errorMessage = _useState1[0],
23200
+ setErrorMessage = _useState1[1];
23155
23201
  var _useTranslation = reactI18next.useTranslation(),
23156
23202
  t = _useTranslation.t;
23157
23203
  var isBelongAcademy = !!user && user.academyDomain && !user.isLearningSpace;
@@ -24044,7 +24090,7 @@ var useOverallChartContainer = function useOverallChartContainer(isStudent, exam
24044
24090
  return [texts.slice(0, middle), texts.slice(middle)];
24045
24091
  }, [JSON.stringify(categories)]);
24046
24092
  var formatTooltip = React.useCallback(function (_ref2) {
24047
- var _overallData$data$0$h, _overallData$data$, _overallData$data$1$h, _overallData$data$2, _overallData$data$2$h, _overallData$data$0$q, _overallData$data$3, _overallData$data$1$q, _overallData$data$4, _overallData$data$0$p, _overallData$data$5, _overallData$data$1$p, _overallData$data$6, _overallData$data$0$t, _overallData$data$7, _overallData$data$1$t, _overallData$data$8, _overallData$data$8$t, _overallData$data$0$l, _overallData$data$9, _overallData$data$1$l, _overallData$data$10, _overallData$data$10$, _overallData$data$0$c, _overallData$data$11, _overallData$data$11$, _overallData$data$1$c, _overallData$data$12, _overallData$data$12$;
24093
+ var _overallData$data$0$h, _overallData$data$, _overallData$data$1$h, _overallData$data$2, _overallData$data$2$h, _overallData$data$0$q, _overallData$data$3, _overallData$data$1$q, _overallData$data$4, _overallData$data$0$p, _overallData$data$5, _overallData$data$1$p, _overallData$data$6, _overallData$data$0$t, _overallData$data$7, _overallData$data$1$t, _overallData$data$8, _overallData$data$8$t, _overallData$data$0$l, _overallData$data$9, _overallData$data$1$l, _overallData$data$0, _overallData$data$0$l2, _overallData$data$0$c, _overallData$data$1, _overallData$data$1$c, _overallData$data$1$c2, _overallData$data$10, _overallData$data$10$;
24048
24094
  var dataPointIndex = _ref2.dataPointIndex,
24049
24095
  w = _ref2.w;
24050
24096
  var label = categories[dataPointIndex];
@@ -24088,12 +24134,12 @@ var useOverallChartContainer = function useOverallChartContainer(isStudent, exam
24088
24134
  total: (_overallData$data$0$l = overallData === null || overallData === void 0 ? void 0 : (_overallData$data$9 = overallData.data[0]) === null || _overallData$data$9 === void 0 ? void 0 : _overallData$data$9.lowLevelQuestions) != null ? _overallData$data$0$l : 0
24089
24135
  });
24090
24136
  avgValue = "" + t("n_questions", {
24091
- total: (_overallData$data$1$l = overallData === null || overallData === void 0 ? void 0 : (_overallData$data$10 = overallData.data[1]) === null || _overallData$data$10 === void 0 ? void 0 : (_overallData$data$10$ = _overallData$data$10.lowLevelQuestions) === null || _overallData$data$10$ === void 0 ? void 0 : _overallData$data$10$.toFixed(2)) != null ? _overallData$data$1$l : 0
24137
+ total: (_overallData$data$1$l = overallData === null || overallData === void 0 ? void 0 : (_overallData$data$0 = overallData.data[1]) === null || _overallData$data$0 === void 0 ? void 0 : (_overallData$data$0$l2 = _overallData$data$0.lowLevelQuestions) === null || _overallData$data$0$l2 === void 0 ? void 0 : _overallData$data$0$l2.toFixed(2)) != null ? _overallData$data$1$l : 0
24092
24138
  });
24093
24139
  break;
24094
24140
  default:
24095
- myValue = ((_overallData$data$0$c = overallData === null || overallData === void 0 ? void 0 : (_overallData$data$11 = overallData.data[0]) === null || _overallData$data$11 === void 0 ? void 0 : (_overallData$data$11$ = _overallData$data$11.correctRate) === null || _overallData$data$11$ === void 0 ? void 0 : _overallData$data$11$.toFixed(2)) != null ? _overallData$data$0$c : 0) + "%";
24096
- avgValue = ((_overallData$data$1$c = overallData === null || overallData === void 0 ? void 0 : (_overallData$data$12 = overallData.data[1]) === null || _overallData$data$12 === void 0 ? void 0 : (_overallData$data$12$ = _overallData$data$12.correctRate) === null || _overallData$data$12$ === void 0 ? void 0 : _overallData$data$12$.toFixed(2)) != null ? _overallData$data$1$c : 0) + "%";
24141
+ myValue = ((_overallData$data$0$c = overallData === null || overallData === void 0 ? void 0 : (_overallData$data$1 = overallData.data[0]) === null || _overallData$data$1 === void 0 ? void 0 : (_overallData$data$1$c = _overallData$data$1.correctRate) === null || _overallData$data$1$c === void 0 ? void 0 : _overallData$data$1$c.toFixed(2)) != null ? _overallData$data$0$c : 0) + "%";
24142
+ avgValue = ((_overallData$data$1$c2 = overallData === null || overallData === void 0 ? void 0 : (_overallData$data$10 = overallData.data[1]) === null || _overallData$data$10 === void 0 ? void 0 : (_overallData$data$10$ = _overallData$data$10.correctRate) === null || _overallData$data$10$ === void 0 ? void 0 : _overallData$data$10$.toFixed(2)) != null ? _overallData$data$1$c2 : 0) + "%";
24097
24143
  break;
24098
24144
  }
24099
24145
  return "<div style=\"padding: 8px; background: #fff; border-radius: 4px;\">\n <div style=\"border-bottom: 1px solid #f3f3f3; margin-bottom: 4px\"><strong>" + label + "</strong></div>\n <div style=\"display: flex; justify-content: space-between\">\n <p style=\"margin-right: 4px\"><strong style=\"color: " + w.globals.colors[0] + "\">" + t("my_data") + ":</strong></p>\n <p>" + myValue + "</p>\n </div>\n <div style=\"display: flex; justify-content: space-between\">\n <p style=\"margin-right: 4px\"><strong style=\"color: " + w.globals.colors[1] + "\">" + t("avg_data") + ":</strong></p>\n <p>" + avgValue + "</p>\n </div>\n </div>";
@@ -29777,13 +29823,13 @@ var useClassDetail = function useClassDetail(_ref) {
29777
29823
  };
29778
29824
  var handleAddToClass = function handleAddToClass(userIds) {
29779
29825
  try {
29780
- var _temp12 = function _temp12() {
29826
+ var _temp10 = function _temp10() {
29781
29827
  dispatch(setLoading(false));
29782
29828
  };
29783
29829
  if (!classId || !openSelectDialog) return Promise.resolve();
29784
29830
  dispatch(setLoading(true));
29785
- var _temp11 = _catch(function () {
29786
- function _temp10() {
29831
+ var _temp1 = _catch(function () {
29832
+ function _temp0() {
29787
29833
  return Promise.resolve(handleGetDetailData(false)).then(function () {
29788
29834
  reactToastify.toast.success(t(classId ? "update_class_successfully" : "create_class_successfully"));
29789
29835
  handleCloseSelectDialog();
@@ -29800,18 +29846,18 @@ var useClassDetail = function useClassDetail(_ref) {
29800
29846
  });
29801
29847
  }
29802
29848
  }();
29803
- return _temp9 && _temp9.then ? _temp9.then(_temp10) : _temp10(_temp9);
29849
+ return _temp9 && _temp9.then ? _temp9.then(_temp0) : _temp0(_temp9);
29804
29850
  }, function (error) {
29805
29851
  reactToastify.toast.error(getErrorMessage(t, error));
29806
29852
  });
29807
- return Promise.resolve(_temp11 && _temp11.then ? _temp11.then(_temp12) : _temp12(_temp11));
29853
+ return Promise.resolve(_temp1 && _temp1.then ? _temp1.then(_temp10) : _temp10(_temp1));
29808
29854
  } catch (e) {
29809
29855
  return Promise.reject(e);
29810
29856
  }
29811
29857
  };
29812
29858
  var handleSubmit = function handleSubmit(values, _) {
29813
29859
  try {
29814
- var _temp16 = function _temp16() {
29860
+ var _temp14 = function _temp14() {
29815
29861
  dispatch(setLoading(false));
29816
29862
  };
29817
29863
  if (values.courseWeeklyDays.some(function (i) {
@@ -29828,11 +29874,11 @@ var useClassDetail = function useClassDetail(_ref) {
29828
29874
  }
29829
29875
  var body = convertToRequestBody(values);
29830
29876
  dispatch(setLoading(true));
29831
- var _temp15 = _catch(function () {
29832
- function _temp14() {
29877
+ var _temp13 = _catch(function () {
29878
+ function _temp12() {
29833
29879
  reactToastify.toast.success(t(classId ? "update_class_successfully" : "create_class_successfully"));
29834
29880
  }
29835
- var _temp13 = function () {
29881
+ var _temp11 = function () {
29836
29882
  if (!classId) {
29837
29883
  return Promise.resolve(createClassApi(body)).then(function (res) {
29838
29884
  pushTo(history, classListUrl + "/" + res.data.id);
@@ -29843,11 +29889,11 @@ var useClassDetail = function useClassDetail(_ref) {
29843
29889
  });
29844
29890
  }
29845
29891
  }();
29846
- return _temp13 && _temp13.then ? _temp13.then(_temp14) : _temp14(_temp13);
29892
+ return _temp11 && _temp11.then ? _temp11.then(_temp12) : _temp12(_temp11);
29847
29893
  }, function (error) {
29848
29894
  reactToastify.toast.error(getErrorMessage(t, error));
29849
29895
  });
29850
- return Promise.resolve(_temp15 && _temp15.then ? _temp15.then(_temp16) : _temp16(_temp15));
29896
+ return Promise.resolve(_temp13 && _temp13.then ? _temp13.then(_temp14) : _temp14(_temp13));
29851
29897
  } catch (e) {
29852
29898
  return Promise.reject(e);
29853
29899
  }
@@ -29855,7 +29901,7 @@ var useClassDetail = function useClassDetail(_ref) {
29855
29901
  var getStudentNotInClassList = function getStudentNotInClassList() {
29856
29902
  try {
29857
29903
  if (!classId) return Promise.resolve();
29858
- var _temp17 = _catch(function () {
29904
+ var _temp15 = _catch(function () {
29859
29905
  var _textSearchRef$curren;
29860
29906
  return Promise.resolve(getStudentClassApi(classId, _extends({}, filter, {
29861
29907
  textSearch: (_textSearchRef$curren = textSearchRef.current) === null || _textSearchRef$curren === void 0 ? void 0 : _textSearchRef$curren.value,
@@ -29886,7 +29932,7 @@ var useClassDetail = function useClassDetail(_ref) {
29886
29932
  setStudents([]);
29887
29933
  reactToastify.toast.error(getErrorMessage(t, error));
29888
29934
  });
29889
- return Promise.resolve(_temp17 && _temp17.then ? _temp17.then(function () {}) : void 0);
29935
+ return Promise.resolve(_temp15 && _temp15.then ? _temp15.then(function () {}) : void 0);
29890
29936
  } catch (e) {
29891
29937
  return Promise.reject(e);
29892
29938
  }
@@ -29894,7 +29940,7 @@ var useClassDetail = function useClassDetail(_ref) {
29894
29940
  var getTeacherNotInClassList = function getTeacherNotInClassList() {
29895
29941
  try {
29896
29942
  if (!classId) return Promise.resolve();
29897
- var _temp18 = _catch(function () {
29943
+ var _temp16 = _catch(function () {
29898
29944
  var _textSearchRef$curren2;
29899
29945
  return Promise.resolve(getTeacherClassApi(classId, _extends({}, filter, {
29900
29946
  textSearch: (_textSearchRef$curren2 = textSearchRef.current) === null || _textSearchRef$curren2 === void 0 ? void 0 : _textSearchRef$curren2.value,
@@ -29925,7 +29971,7 @@ var useClassDetail = function useClassDetail(_ref) {
29925
29971
  setTeachers([]);
29926
29972
  reactToastify.toast.error(getErrorMessage(t, error));
29927
29973
  });
29928
- return Promise.resolve(_temp18 && _temp18.then ? _temp18.then(function () {}) : void 0);
29974
+ return Promise.resolve(_temp16 && _temp16.then ? _temp16.then(function () {}) : void 0);
29929
29975
  } catch (e) {
29930
29976
  return Promise.reject(e);
29931
29977
  }
@@ -31683,9 +31729,9 @@ var useUserList = function useUserList(role) {
31683
31729
  var _useState9 = React.useState(),
31684
31730
  deleteFile = _useState9[0],
31685
31731
  setDeleteFile = _useState9[1];
31686
- var _useState10 = React.useState(false),
31687
- isOpenDeleteUserCsv = _useState10[0],
31688
- setOpenDeleteUserCsv = _useState10[1];
31732
+ var _useState0 = React.useState(false),
31733
+ isOpenDeleteUserCsv = _useState0[0],
31734
+ setOpenDeleteUserCsv = _useState0[1];
31689
31735
  var inputFileRef = React.useRef(null);
31690
31736
  var firstLoadRef = React.useRef(true);
31691
31737
  var handleChangeSelectedStudent = function handleChangeSelectedStudent(student) {
@@ -31841,7 +31887,7 @@ var useUserList = function useUserList(role) {
31841
31887
  };
31842
31888
  var getUserList = function getUserList() {
31843
31889
  try {
31844
- var _temp10 = function _temp10() {
31890
+ var _temp0 = function _temp0() {
31845
31891
  firstLoadRef.current && dispatch(setLoading(false));
31846
31892
  if (firstLoadRef.current) firstLoadRef.current = false;
31847
31893
  };
@@ -31870,7 +31916,7 @@ var useUserList = function useUserList(role) {
31870
31916
  setPaging(DEFAULT_PAGING_RESPONSE);
31871
31917
  console.log(error);
31872
31918
  });
31873
- return Promise.resolve(_temp9 && _temp9.then ? _temp9.then(_temp10) : _temp10(_temp9));
31919
+ return Promise.resolve(_temp9 && _temp9.then ? _temp9.then(_temp0) : _temp0(_temp9));
31874
31920
  } catch (e) {
31875
31921
  return Promise.reject(e);
31876
31922
  }
@@ -31886,7 +31932,7 @@ var useUserList = function useUserList(role) {
31886
31932
  setSelectedUser(user);
31887
31933
  setOpenUserDialog(true);
31888
31934
  return Promise.resolve(_catch(function () {
31889
- var _temp11 = function () {
31935
+ var _temp1 = function () {
31890
31936
  if (!!user.id && !!user.email) {
31891
31937
  return Promise.resolve(createRecentUserActionListApi({
31892
31938
  userId: user === null || user === void 0 ? void 0 : user.id,
@@ -31896,7 +31942,7 @@ var useUserList = function useUserList(role) {
31896
31942
  })).then(function () {});
31897
31943
  }
31898
31944
  }();
31899
- if (_temp11 && _temp11.then) return _temp11.then(function () {});
31945
+ if (_temp1 && _temp1.then) return _temp1.then(function () {});
31900
31946
  }, function (error) {
31901
31947
  console.error(getErrorMessage(t, error));
31902
31948
  }));
@@ -31925,18 +31971,18 @@ var useUserList = function useUserList(role) {
31925
31971
  };
31926
31972
  var handleCreateOrUpdateUser = function handleCreateOrUpdateUser(value) {
31927
31973
  try {
31928
- var _temp15 = function _temp15() {
31974
+ var _temp13 = function _temp13() {
31929
31975
  dispatch(setLoading(false));
31930
31976
  };
31931
31977
  if (value.fullName === "marcus") return Promise.resolve();
31932
31978
  dispatch(setLoading(true));
31933
- var _temp14 = _catch(function () {
31934
- function _temp13() {
31979
+ var _temp12 = _catch(function () {
31980
+ function _temp11() {
31935
31981
  return Promise.resolve(getUserList()).then(function () {
31936
31982
  handleCloseUserDialog();
31937
31983
  });
31938
31984
  }
31939
- var _temp12 = function () {
31985
+ var _temp10 = function () {
31940
31986
  if (!!(selectedUser !== null && selectedUser !== void 0 && selectedUser.id)) {
31941
31987
  return Promise.resolve(updateUserApi(_extends({}, value, {
31942
31988
  grade: value.grade == null ? undefined : value.grade
@@ -31947,23 +31993,23 @@ var useUserList = function useUserList(role) {
31947
31993
  }))).then(function () {});
31948
31994
  }
31949
31995
  }();
31950
- return _temp12 && _temp12.then ? _temp12.then(_temp13) : _temp13(_temp12);
31996
+ return _temp10 && _temp10.then ? _temp10.then(_temp11) : _temp11(_temp10);
31951
31997
  }, function (error) {
31952
31998
  reactToastify.toast.error(getErrorMessage(t, error));
31953
31999
  });
31954
- return Promise.resolve(_temp14 && _temp14.then ? _temp14.then(_temp15) : _temp15(_temp14));
32000
+ return Promise.resolve(_temp12 && _temp12.then ? _temp12.then(_temp13) : _temp13(_temp12));
31955
32001
  } catch (e) {
31956
32002
  return Promise.reject(e);
31957
32003
  }
31958
32004
  };
31959
32005
  var handleDeleteUser = function handleDeleteUser() {
31960
32006
  try {
31961
- var _temp17 = function _temp17() {
32007
+ var _temp15 = function _temp15() {
31962
32008
  dispatch(setLoading(false));
31963
32009
  };
31964
32010
  if (!(selectedUser !== null && selectedUser !== void 0 && selectedUser.id)) return Promise.resolve();
31965
32011
  dispatch(setLoading(true));
31966
- var _temp16 = _catch(function () {
32012
+ var _temp14 = _catch(function () {
31967
32013
  return Promise.resolve(deleteUserApi(selectedUser.id)).then(function () {
31968
32014
  toggleConfirmDialog();
31969
32015
  getUserList();
@@ -31971,7 +32017,7 @@ var useUserList = function useUserList(role) {
31971
32017
  }, function (error) {
31972
32018
  reactToastify.toast.error(getErrorMessage(t, error));
31973
32019
  });
31974
- return Promise.resolve(_temp16 && _temp16.then ? _temp16.then(_temp17) : _temp17(_temp16));
32020
+ return Promise.resolve(_temp14 && _temp14.then ? _temp14.then(_temp15) : _temp15(_temp14));
31975
32021
  } catch (e) {
31976
32022
  return Promise.reject(e);
31977
32023
  }
@@ -32804,7 +32850,7 @@ var useCategoryOptions = function useCategoryOptions(subjectId, isMath, filter,
32804
32850
  };
32805
32851
  var getQuestionTypes = function getQuestionTypes(categoryId, subCategoryId) {
32806
32852
  try {
32807
- var _temp10 = function _temp10() {
32853
+ var _temp0 = function _temp0() {
32808
32854
  setLoadingQuestionTypes(false);
32809
32855
  };
32810
32856
  setLoadingQuestionTypes(true);
@@ -32827,7 +32873,7 @@ var useCategoryOptions = function useCategoryOptions(subjectId, isMath, filter,
32827
32873
  }, function () {
32828
32874
  setQuestionTypes([]);
32829
32875
  });
32830
- return Promise.resolve(_temp9 && _temp9.then ? _temp9.then(_temp10) : _temp10(_temp9));
32876
+ return Promise.resolve(_temp9 && _temp9.then ? _temp9.then(_temp0) : _temp0(_temp9));
32831
32877
  } catch (e) {
32832
32878
  return Promise.reject(e);
32833
32879
  }