touchstudy-core 0.1.67 → 0.1.69

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.
@@ -1740,7 +1740,7 @@ var formatTime = (function (time, ORIGINAL_FORMAT, FORMAT) {
1740
1740
  var diffFromNow = (function (time, unitOfTime, targetTime) {
1741
1741
  if (time === DATE_MIN_VALUE || targetTime === DATE_MIN_VALUE) return 0;
1742
1742
  try {
1743
- var now = !!targetTime ? moment() : moment.utc(targetTime).local();
1743
+ var now = !targetTime ? moment() : moment.utc(targetTime).local();
1744
1744
  return now.diff(moment.utc(time).local(), unitOfTime);
1745
1745
  } catch (_unused) {
1746
1746
  return "";
@@ -2270,6 +2270,7 @@ var creation_date = "생성 날짜";
2270
2270
  var total_use = "총 사용량";
2271
2271
  var duration = "지속";
2272
2272
  var code_header = "암호";
2273
+ var duration_header = "지속";
2273
2274
  var total_number_of_students_participating = "참여한 총 학생 수";
2274
2275
  var create = "생성하기";
2275
2276
  var to_show = "보여주다";
@@ -2515,6 +2516,21 @@ var number_of_correct_answers = "정답 수";
2515
2516
  var total_solve_time = "총 풀이 시간";
2516
2517
  var number_of_answer = "{{ number }} 개";
2517
2518
  var time_comparison = "시간 비교";
2519
+ var import_student_exam_results = "학생 시험 결과 가져오기";
2520
+ var file_required = "파일이 필요합니다";
2521
+ var exam_required = "시험이 필요합니다";
2522
+ var teacher_required = "선생님은 필수입니다";
2523
+ var total_users = "총 사용자";
2524
+ var added_date = "추가된 날짜";
2525
+ var sync_exam_results = "시험 결과 동기화";
2526
+ var update_data_fail = "데이터 업데이트 실패";
2527
+ var are_you_sure_to_sync_exam_results_to_academy = "시험 결과를 아카데미 {{ academyName }}에 동기화하시겠습니까(백그라운드에서 실행되며 시간이 다소 소요됨)";
2528
+ var messages = {
2529
+ exam_sessions_are_being_synchronized: "{{ total }} 개의 시험 세션이 동기화되고 있습니다"
2530
+ };
2531
+ var submit = "제출하다";
2532
+ var must_select_a_teacher_first = "먼저 교사를 선택해야 합니다";
2533
+ var student_grade_is_invalid = "학생 등급은 1에서 12 사이여야 합니다";
2518
2534
  var lang_ko = {
2519
2535
  problem_solving: problem_solving,
2520
2536
  my_story: my_story,
@@ -2918,6 +2934,7 @@ var lang_ko = {
2918
2934
  total_use: total_use,
2919
2935
  duration: duration,
2920
2936
  code_header: code_header,
2937
+ duration_header: duration_header,
2921
2938
  total_number_of_students_participating: total_number_of_students_participating,
2922
2939
  create: create,
2923
2940
  to_show: to_show,
@@ -3165,7 +3182,20 @@ var lang_ko = {
3165
3182
  number_of_correct_answers: number_of_correct_answers,
3166
3183
  total_solve_time: total_solve_time,
3167
3184
  number_of_answer: number_of_answer,
3168
- time_comparison: time_comparison
3185
+ time_comparison: time_comparison,
3186
+ import_student_exam_results: import_student_exam_results,
3187
+ file_required: file_required,
3188
+ exam_required: exam_required,
3189
+ teacher_required: teacher_required,
3190
+ total_users: total_users,
3191
+ added_date: added_date,
3192
+ sync_exam_results: sync_exam_results,
3193
+ update_data_fail: update_data_fail,
3194
+ are_you_sure_to_sync_exam_results_to_academy: are_you_sure_to_sync_exam_results_to_academy,
3195
+ messages: messages,
3196
+ submit: submit,
3197
+ must_select_a_teacher_first: must_select_a_teacher_first,
3198
+ student_grade_is_invalid: student_grade_is_invalid
3169
3199
  };
3170
3200
 
3171
3201
  var problem_solving$1 = "Problem Solving";
@@ -3601,6 +3631,7 @@ var creation_date$1 = "Creation date";
3601
3631
  var total_use$1 = "Total use";
3602
3632
  var duration$1 = "Duration";
3603
3633
  var code_header$1 = "Code";
3634
+ var duration_header$1 = "Duration";
3604
3635
  var total_number_of_students_participating$1 = "Total number of students participating";
3605
3636
  var create$1 = "Create";
3606
3637
  var to_show$1 = "To Show";
@@ -3823,6 +3854,21 @@ var number_of_correct_answers$1 = "Number of correct answers";
3823
3854
  var total_solve_time$1 = "Total solve time";
3824
3855
  var number_of_answer$1 = "{{ number }}";
3825
3856
  var time_comparison$1 = "Time comparison";
3857
+ var import_student_exam_results$1 = "Import Student Exam Results";
3858
+ var file_required$1 = "File is required";
3859
+ var exam_required$1 = "Exam is required";
3860
+ var teacher_required$1 = "Teacher is required";
3861
+ var total_users$1 = "Total users";
3862
+ var added_date$1 = "Added date";
3863
+ var sync_exam_results$1 = "Sync exam results";
3864
+ var update_data_fail$1 = "Update data fail";
3865
+ var are_you_sure_to_sync_exam_results_to_academy$1 = "Are you sure to sync exam results to academy \"{{ academyName }}\" (it will run in the background and take a while)";
3866
+ var messages$1 = {
3867
+ exam_sessions_are_being_synchronized: "{{ total }} exam sessions are being synchronized"
3868
+ };
3869
+ var submit$1 = "Submit";
3870
+ var must_select_a_teacher_first$1 = "Must select a teacher first";
3871
+ var student_grade_is_invalid$1 = "Student grade must be from 1 to 12";
3826
3872
  var lang_en = {
3827
3873
  problem_solving: problem_solving$1,
3828
3874
  my_story: my_story$1,
@@ -4249,6 +4295,7 @@ var lang_en = {
4249
4295
  total_use: total_use$1,
4250
4296
  duration: duration$1,
4251
4297
  code_header: code_header$1,
4298
+ duration_header: duration_header$1,
4252
4299
  total_number_of_students_participating: total_number_of_students_participating$1,
4253
4300
  create: create$1,
4254
4301
  to_show: to_show$1,
@@ -4473,7 +4520,20 @@ var lang_en = {
4473
4520
  number_of_correct_answers: number_of_correct_answers$1,
4474
4521
  total_solve_time: total_solve_time$1,
4475
4522
  number_of_answer: number_of_answer$1,
4476
- time_comparison: time_comparison$1
4523
+ time_comparison: time_comparison$1,
4524
+ import_student_exam_results: import_student_exam_results$1,
4525
+ file_required: file_required$1,
4526
+ exam_required: exam_required$1,
4527
+ teacher_required: teacher_required$1,
4528
+ total_users: total_users$1,
4529
+ added_date: added_date$1,
4530
+ sync_exam_results: sync_exam_results$1,
4531
+ update_data_fail: update_data_fail$1,
4532
+ are_you_sure_to_sync_exam_results_to_academy: are_you_sure_to_sync_exam_results_to_academy$1,
4533
+ messages: messages$1,
4534
+ submit: submit$1,
4535
+ must_select_a_teacher_first: must_select_a_teacher_first$1,
4536
+ student_grade_is_invalid: student_grade_is_invalid$1
4477
4537
  };
4478
4538
 
4479
4539
  i18n.use(initReactI18next).init({
@@ -10331,9 +10391,6 @@ var getResultsCategoriesTeacher = function getResultsCategoriesTeacher(id, stude
10331
10391
  var createConversationApi = function createConversationApi(data) {
10332
10392
  return api.post(BASE_URL + "/api/conversation", data);
10333
10393
  };
10334
- var getCheckStatusExam = function getCheckStatusExam(examCode) {
10335
- return api.get(EXAM_SESSION_URL + "/" + examCode + "/status");
10336
- };
10337
10394
 
10338
10395
  var toNumberOrder = function toNumberOrder(value) {
10339
10396
  return "The " + value + (value % 10 === 1 ? 'st' : value % 10 === 2 ? 'nd' : value % 10 === 3 ? 'rd' : 'th');
@@ -11181,72 +11238,51 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
11181
11238
  t = _useTranslation.t;
11182
11239
  var getStudentData = function getStudentData(examCode) {
11183
11240
  try {
11184
- var _temp4 = function _temp4() {
11185
- function _temp2() {
11186
- dispatch(setLoading(false));
11187
- }
11188
- var _temp = _catch(function () {
11189
- return Promise.resolve(Promise.all([getResults(examCode), getResultsLongTimeSpend(examCode), getResultsEffectSize(examCode), getResultsTimeOrderQuestion(examCode), getResultsCategories(examCode)])).then(function (result) {
11190
- var _result$0$data, _result$1$data, _result$2$data, _result$3$data, _result$4$data;
11191
- handleChangeTab(0);
11192
- setDataChartIndex(0);
11193
- setResultData((_result$0$data = result[0].data) === null || _result$0$data === void 0 ? void 0 : _result$0$data.data);
11194
- setLongTimeSpend((_result$1$data = result[1].data) === null || _result$1$data === void 0 ? void 0 : _result$1$data.data);
11195
- setEffectSize((_result$2$data = result[2].data) === null || _result$2$data === void 0 ? void 0 : _result$2$data.data);
11196
- setTimelyOrderQuestions((_result$3$data = result[3].data) === null || _result$3$data === void 0 ? void 0 : _result$3$data.data);
11197
- setCategoryResponses(((_result$4$data = result[4].data) === null || _result$4$data === void 0 ? void 0 : _result$4$data.data) || []);
11198
- });
11199
- }, function (error) {
11200
- toast.error(getErrorMessage(t, error));
11201
- });
11202
- return _temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp);
11241
+ var _temp2 = function _temp2() {
11242
+ dispatch(setLoading(false));
11203
11243
  };
11204
11244
  if (!examCode) return Promise.resolve();
11205
- dispatch(setLoading(true));
11206
- var _temp3 = _catch(function () {
11207
- return Promise.resolve(getCheckStatusExam(examCode)).then(function () {});
11208
- }, function (error) {
11209
- console.log({
11210
- error: error
11245
+ var _temp = _catch(function () {
11246
+ return Promise.resolve(Promise.all([getResults(examCode), getResultsLongTimeSpend(examCode), getResultsEffectSize(examCode), getResultsTimeOrderQuestion(examCode), getResultsCategories(examCode)])).then(function (result) {
11247
+ var _result$0$data, _result$1$data, _result$2$data, _result$3$data, _result$4$data;
11248
+ handleChangeTab(0);
11249
+ setDataChartIndex(0);
11250
+ setResultData((_result$0$data = result[0].data) === null || _result$0$data === void 0 ? void 0 : _result$0$data.data);
11251
+ setLongTimeSpend((_result$1$data = result[1].data) === null || _result$1$data === void 0 ? void 0 : _result$1$data.data);
11252
+ setEffectSize((_result$2$data = result[2].data) === null || _result$2$data === void 0 ? void 0 : _result$2$data.data);
11253
+ setTimelyOrderQuestions((_result$3$data = result[3].data) === null || _result$3$data === void 0 ? void 0 : _result$3$data.data);
11254
+ setCategoryResponses(((_result$4$data = result[4].data) === null || _result$4$data === void 0 ? void 0 : _result$4$data.data) || []);
11211
11255
  });
11256
+ }, function (error) {
11257
+ toast.error(getErrorMessage(t, error));
11212
11258
  });
11213
- return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3));
11259
+ return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
11214
11260
  } catch (e) {
11215
11261
  return Promise.reject(e);
11216
11262
  }
11217
11263
  };
11218
11264
  var getStudentDataByTeacher = function getStudentDataByTeacher(examCode, examSessionId, studentId) {
11219
11265
  try {
11220
- var _temp8 = function _temp8() {
11221
- function _temp6() {
11222
- dispatch(setLoading(false));
11223
- }
11224
- var _temp5 = _catch(function () {
11225
- return Promise.resolve(Promise.all([getResultsTeacher(examSessionId, studentId), getResultsLongTimeSpendTeacher(examSessionId, studentId), getResultsEffectSizeTeacher(examSessionId, studentId), getResultsTimeOrderQuestionTeacher(examSessionId, studentId), getResultsCategoriesTeacher(examSessionId, studentId)])).then(function (result) {
11226
- var _result$0$data2, _result$1$data2, _result$2$data2, _result$3$data2, _result$4$data2;
11227
- handleChangeTab(0);
11228
- setDataChartIndex(0);
11229
- setResultData((_result$0$data2 = result[0].data) === null || _result$0$data2 === void 0 ? void 0 : _result$0$data2.data);
11230
- setLongTimeSpend((_result$1$data2 = result[1].data) === null || _result$1$data2 === void 0 ? void 0 : _result$1$data2.data);
11231
- setEffectSize((_result$2$data2 = result[2].data) === null || _result$2$data2 === void 0 ? void 0 : _result$2$data2.data);
11232
- setTimelyOrderQuestions((_result$3$data2 = result[3].data) === null || _result$3$data2 === void 0 ? void 0 : _result$3$data2.data);
11233
- setCategoryResponses(((_result$4$data2 = result[4].data) === null || _result$4$data2 === void 0 ? void 0 : _result$4$data2.data) || []);
11234
- });
11235
- }, function (error) {
11236
- toast.error(getErrorMessage(t, error));
11237
- });
11238
- return _temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5);
11266
+ var _temp4 = function _temp4() {
11267
+ dispatch(setLoading(false));
11239
11268
  };
11240
11269
  if (!examCode || !examSessionId || !studentId) return Promise.resolve();
11241
11270
  dispatch(setLoading(true));
11242
- var _temp7 = _catch(function () {
11243
- return Promise.resolve(getCheckStatusExam(examCode)).then(function () {});
11244
- }, function (error) {
11245
- console.log({
11246
- error: error
11271
+ var _temp3 = _catch(function () {
11272
+ return Promise.resolve(Promise.all([getResultsTeacher(examSessionId, studentId), getResultsLongTimeSpendTeacher(examSessionId, studentId), getResultsEffectSizeTeacher(examSessionId, studentId), getResultsTimeOrderQuestionTeacher(examSessionId, studentId), getResultsCategoriesTeacher(examSessionId, studentId)])).then(function (result) {
11273
+ var _result$0$data2, _result$1$data2, _result$2$data2, _result$3$data2, _result$4$data2;
11274
+ handleChangeTab(0);
11275
+ setDataChartIndex(0);
11276
+ setResultData((_result$0$data2 = result[0].data) === null || _result$0$data2 === void 0 ? void 0 : _result$0$data2.data);
11277
+ setLongTimeSpend((_result$1$data2 = result[1].data) === null || _result$1$data2 === void 0 ? void 0 : _result$1$data2.data);
11278
+ setEffectSize((_result$2$data2 = result[2].data) === null || _result$2$data2 === void 0 ? void 0 : _result$2$data2.data);
11279
+ setTimelyOrderQuestions((_result$3$data2 = result[3].data) === null || _result$3$data2 === void 0 ? void 0 : _result$3$data2.data);
11280
+ setCategoryResponses(((_result$4$data2 = result[4].data) === null || _result$4$data2 === void 0 ? void 0 : _result$4$data2.data) || []);
11247
11281
  });
11282
+ }, function (error) {
11283
+ toast.error(getErrorMessage(t, error));
11248
11284
  });
11249
- return Promise.resolve(_temp7 && _temp7.then ? _temp7.then(_temp8) : _temp8(_temp7));
11285
+ return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3));
11250
11286
  } catch (e) {
11251
11287
  return Promise.reject(e);
11252
11288
  }
@@ -11422,13 +11458,13 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
11422
11458
  var series = (_allSeries$dataChartI = allSeries[dataChartIndex]) != null ? _allSeries$dataChartI : defaultSeries(t);
11423
11459
  var handleExportPdf = function handleExportPdf() {
11424
11460
  try {
11425
- var _temp26 = function _temp26(_result) {
11461
+ var _temp22 = function _temp22(_result) {
11426
11462
  if (_exit) return _result;
11427
11463
  dispatch(setLoading(false));
11428
11464
  };
11429
11465
  var _exit = false;
11430
11466
  dispatch(setLoading(true));
11431
- var _temp25 = _catch(function () {
11467
+ var _temp21 = _catch(function () {
11432
11468
  var canvas = document.querySelector("#canvas");
11433
11469
  var headerCanvas = document.querySelector("#header-canvas");
11434
11470
  if (!canvas || !headerCanvas) {
@@ -11450,7 +11486,7 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
11450
11486
  var imgWidth = WIDTH_PAPER;
11451
11487
  var chartWidth = WIDTH_PAPER - 20;
11452
11488
  return Promise.resolve(html2canvas(headerCanvas)).then(function (header) {
11453
- function _temp24() {
11489
+ function _temp20() {
11454
11490
  doc.save("download.pdf");
11455
11491
  }
11456
11492
  var imgHeaderHeight = header.height * imgWidth / header.width;
@@ -11458,16 +11494,16 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
11458
11494
  doc.addImage(imgHeaderData, 'PNG', 0, 0, imgWidth, imgHeaderHeight);
11459
11495
  line += imgHeaderHeight;
11460
11496
  if (line > HEIGHT_PAPER) breakPage();
11461
- var _temp23 = function () {
11497
+ var _temp19 = function () {
11462
11498
  if (canvas && canvas.childElementCount > 0) {
11463
11499
  var _index = 0;
11464
- var _temp22 = _for(function () {
11500
+ var _temp18 = _for(function () {
11465
11501
  return _index < canvas.childElementCount;
11466
11502
  }, function () {
11467
11503
  return _index++;
11468
11504
  }, function () {
11469
- function _temp21() {
11470
- function _temp19() {
11505
+ function _temp17() {
11506
+ function _temp15() {
11471
11507
  line += 20;
11472
11508
  }
11473
11509
  var printChartTitle = function printChartTitle() {
@@ -11482,11 +11518,11 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
11482
11518
  return Promise.reject(e);
11483
11519
  }
11484
11520
  };
11485
- var _temp18 = function () {
11521
+ var _temp14 = function () {
11486
11522
  if (printContainerEls.length) {
11487
- var _temp17 = _forTo(printContainerEls, function (i) {
11488
- function _temp16() {
11489
- function _temp14() {
11523
+ var _temp13 = _forTo(printContainerEls, function (i) {
11524
+ function _temp12() {
11525
+ function _temp10() {
11490
11526
  var printTitle = function printTitle() {
11491
11527
  try {
11492
11528
  if (!printTitleHeight || !printTitleData) return Promise.resolve();
@@ -11515,10 +11551,10 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
11515
11551
  var printContents = printContainerEl.querySelectorAll("." + PrintContentClassName);
11516
11552
  if (!printContents.length) return;
11517
11553
  printTitle();
11518
- var _temp12 = _forTo(printContents, function (j) {
11554
+ var _temp8 = _forTo(printContents, function (j) {
11519
11555
  var rowItem = printContents[j];
11520
11556
  return Promise.resolve(html2canvas(rowItem)).then(function (rowItemCanvas) {
11521
- function _temp11() {
11557
+ function _temp7() {
11522
11558
  doc.addImage(data, 'PNG', 10, line, chartWidth, height);
11523
11559
  line += height;
11524
11560
  }
@@ -11526,25 +11562,25 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
11526
11562
  var data = rowItemCanvas.toDataURL('image/png');
11527
11563
  if (i === 0 && j === 0 && line + height + (printHeaderHeight || 0) + ((chartTitleHeight || 0) + 10) + 20 > HEIGHT_PAPER) breakPage();
11528
11564
  i === 0 && j === 0 && printChartTitle();
11529
- var _temp10 = function () {
11565
+ var _temp6 = function () {
11530
11566
  if (line + height + 20 > HEIGHT_PAPER) {
11531
11567
  breakPage();
11532
11568
  return Promise.resolve(printHeader()).then(function () {});
11533
11569
  } else {
11534
- var _temp27 = function () {
11570
+ var _temp23 = function () {
11535
11571
  if (j === 0) {
11536
11572
  return Promise.resolve(printHeader(10)).then(function () {});
11537
11573
  }
11538
11574
  }();
11539
- if (_temp27 && _temp27.then) return _temp27.then(function () {});
11575
+ if (_temp23 && _temp23.then) return _temp23.then(function () {});
11540
11576
  }
11541
11577
  }();
11542
- return _temp10 && _temp10.then ? _temp10.then(_temp11) : _temp11(_temp10);
11578
+ return _temp6 && _temp6.then ? _temp6.then(_temp7) : _temp7(_temp6);
11543
11579
  });
11544
11580
  });
11545
- if (_temp12 && _temp12.then) return _temp12.then(function () {});
11581
+ if (_temp8 && _temp8.then) return _temp8.then(function () {});
11546
11582
  }
11547
- var _temp13 = function () {
11583
+ var _temp9 = function () {
11548
11584
  if (printHeaderEl) {
11549
11585
  return Promise.resolve(html2canvas(printHeaderEl)).then(function (_html2canvas3) {
11550
11586
  printHeaderCanvas = _html2canvas3;
@@ -11553,7 +11589,7 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
11553
11589
  });
11554
11590
  }
11555
11591
  }();
11556
- return _temp13 && _temp13.then ? _temp13.then(_temp14) : _temp14(_temp13);
11592
+ return _temp9 && _temp9.then ? _temp9.then(_temp10) : _temp10(_temp9);
11557
11593
  }
11558
11594
  var printContainerEl = printContainerEls[i];
11559
11595
  var printTitleEl = printContainerEl.querySelector("." + PrintTitleClassName);
@@ -11564,7 +11600,7 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
11564
11600
  var printHeaderCanvas = null;
11565
11601
  var printHeaderHeight = null;
11566
11602
  var printHeaderData = "";
11567
- var _temp15 = function () {
11603
+ var _temp11 = function () {
11568
11604
  if (printTitleEl) {
11569
11605
  return Promise.resolve(html2canvas(printTitleEl)).then(function (_html2canvas2) {
11570
11606
  printTitleCanvas = _html2canvas2;
@@ -11573,9 +11609,9 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
11573
11609
  });
11574
11610
  }
11575
11611
  }();
11576
- return _temp15 && _temp15.then ? _temp15.then(_temp16) : _temp16(_temp15);
11612
+ return _temp11 && _temp11.then ? _temp11.then(_temp12) : _temp12(_temp11);
11577
11613
  });
11578
- if (_temp17 && _temp17.then) return _temp17.then(function () {});
11614
+ if (_temp13 && _temp13.then) return _temp13.then(function () {});
11579
11615
  } else {
11580
11616
  return Promise.resolve(html2canvas(chart)).then(function (chartCanvas) {
11581
11617
  var imgBodyHeight = chartCanvas.height * chartWidth / chartCanvas.width;
@@ -11588,7 +11624,7 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
11588
11624
  });
11589
11625
  }
11590
11626
  }();
11591
- return _temp18 && _temp18.then ? _temp18.then(_temp19) : _temp19(_temp18);
11627
+ return _temp14 && _temp14.then ? _temp14.then(_temp15) : _temp15(_temp14);
11592
11628
  }
11593
11629
  var chart = canvas.children.item(_index);
11594
11630
  if (chart.getAttribute("id") === "header-canvas") return;
@@ -11597,7 +11633,7 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
11597
11633
  var printChartTitleCanvas = null;
11598
11634
  var chartTitleHeight = null;
11599
11635
  var chartTitleData = "";
11600
- var _temp20 = function () {
11636
+ var _temp16 = function () {
11601
11637
  if (chartTitle && printContainerEls.length) {
11602
11638
  return Promise.resolve(html2canvas(chartTitle)).then(function (_html2canvas) {
11603
11639
  printChartTitleCanvas = _html2canvas;
@@ -11606,12 +11642,12 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
11606
11642
  });
11607
11643
  }
11608
11644
  }();
11609
- return _temp20 && _temp20.then ? _temp20.then(_temp21) : _temp21(_temp20);
11645
+ return _temp16 && _temp16.then ? _temp16.then(_temp17) : _temp17(_temp16);
11610
11646
  });
11611
- if (_temp22 && _temp22.then) return _temp22.then(function () {});
11647
+ if (_temp18 && _temp18.then) return _temp18.then(function () {});
11612
11648
  }
11613
11649
  }();
11614
- return _temp23 && _temp23.then ? _temp23.then(_temp24) : _temp24(_temp23);
11650
+ return _temp19 && _temp19.then ? _temp19.then(_temp20) : _temp20(_temp19);
11615
11651
  });
11616
11652
  }, function (error) {
11617
11653
  console.log({
@@ -11619,7 +11655,7 @@ var useExamResult = function useExamResult(searchParam, history, examSessionId,
11619
11655
  });
11620
11656
  toast.error(getErrorMessage(t, error));
11621
11657
  });
11622
- return Promise.resolve(_temp25 && _temp25.then ? _temp25.then(_temp26) : _temp26(_temp25));
11658
+ return Promise.resolve(_temp21 && _temp21.then ? _temp21.then(_temp22) : _temp22(_temp21));
11623
11659
  } catch (e) {
11624
11660
  return Promise.reject(e);
11625
11661
  }
@@ -13270,6 +13306,7 @@ function MyAnswer(_ref) {
13270
13306
  justifyContent: "flex-end"
13271
13307
  }
13272
13308
  }, React__default.createElement("span", {
13309
+ className: "pointer",
13273
13310
  onClick: function onClick(e) {
13274
13311
  return handleOpenChat(e, question === null || question === void 0 ? void 0 : question.id);
13275
13312
  }
@@ -15710,6 +15747,11 @@ var AcademyList = function AcademyList(_ref) {
15710
15747
  }, React__default.createElement("span", null, t("no_academy_available"), "."))))));
15711
15748
  };
15712
15749
 
15750
+ var EXAM_SESSION_URL$1 = BASE_URL + "/api/examSession";
15751
+ var getCheckStatusExam = function getCheckStatusExam(examCode) {
15752
+ return api.get(EXAM_SESSION_URL$1 + "/" + examCode + "/status");
15753
+ };
15754
+
15713
15755
  var ONE_SECOND_IN_MILLISECONDS = 1000;
15714
15756
  var useCountDownTimer = function useCountDownTimer(props) {
15715
15757
  var startTime = props.startTime,
@@ -15718,6 +15760,7 @@ var useCountDownTimer = function useCountDownTimer(props) {
15718
15760
  duration = props.duration,
15719
15761
  fetchedCount = props.fetchedCount,
15720
15762
  onFinish = props.onFinish;
15763
+ var dispatch = useDispatch();
15721
15764
  var _useState = useState(),
15722
15765
  remainTime = _useState[0],
15723
15766
  setRemainTime = _useState[1];
@@ -15730,9 +15773,11 @@ var useCountDownTimer = function useCountDownTimer(props) {
15730
15773
  return Promise.resolve();
15731
15774
  }
15732
15775
  var _temp = _catch(function () {
15776
+ dispatch(setLoading(true));
15733
15777
  return Promise.resolve(getCheckStatusExam(code)).then(function (res) {
15734
15778
  if (res.data.data.status === ExamStatus$1.Completed) {
15735
- clearInterval(checkStatusRef.current);
15779
+ clearTimeout(checkStatusRef.current);
15780
+ dispatch(setLoading(false));
15736
15781
  onFinish();
15737
15782
  } else {
15738
15783
  checkStatusRef.current = setTimeout(checkLiveExamStatus, ONE_SECOND_IN_MILLISECONDS);
@@ -15753,7 +15798,6 @@ var useCountDownTimer = function useCountDownTimer(props) {
15753
15798
  var animate = function animate() {
15754
15799
  if (!startTime || !duration) return;
15755
15800
  if (typeof remainTime === "number" && remainTime <= 0) {
15756
- onFinish();
15757
15801
  return;
15758
15802
  }
15759
15803
  var remain = getRemainTime(startTime, duration);
@@ -15763,7 +15807,6 @@ var useCountDownTimer = function useCountDownTimer(props) {
15763
15807
  }
15764
15808
  if (remain <= 0) {
15765
15809
  setRemainTime(0);
15766
- checkLiveExamStatus();
15767
15810
  return;
15768
15811
  }
15769
15812
  setRemainTime(remain || 0);
@@ -15772,61 +15815,15 @@ var useCountDownTimer = function useCountDownTimer(props) {
15772
15815
  requestRef.current = requestAnimationFrame(animate);
15773
15816
  return function () {
15774
15817
  !!requestRef.current && cancelAnimationFrame(requestRef.current);
15775
- !!checkStatusRef.current && clearTimeout(checkStatusRef.current);
15776
15818
  setRemainTime(undefined);
15777
15819
  };
15778
- }, [startTime, duration, fetchedCount, checkLiveExamStatus]);
15820
+ }, [startTime, duration, fetchedCount]);
15779
15821
  useEffect(function () {
15780
- if (typeof remainTime === "number" && remainTime <= 0) onFinish();
15781
- }, [remainTime, onFinish]);
15822
+ if (typeof remainTime === "number" && remainTime <= 0) checkLiveExamStatus();
15823
+ }, [remainTime, checkLiveExamStatus]);
15782
15824
  return remainTime;
15783
15825
  };
15784
15826
 
15785
- var EXAM_SESSION_URL$1 = BASE_URL + "/api/examSession";
15786
- var getCheckStatusExam$1 = function getCheckStatusExam(examCode) {
15787
- return api.get(EXAM_SESSION_URL$1 + "/" + examCode + "/status");
15788
- };
15789
-
15790
- var useCheckExam = function useCheckExam(code, status) {
15791
- var _useState = useState({}),
15792
- isCheckExam = _useState[0],
15793
- setCheckExam = _useState[1];
15794
- var isCheck = !code ? false : isCheckExam[code];
15795
- var checkExam = function checkExam() {
15796
- try {
15797
- if (!code || isCheck) return Promise.resolve();
15798
- if (status === ExamStatus$1.Completed) {
15799
- setCheckExam(function (state) {
15800
- var _extends2;
15801
- return _extends({}, state, (_extends2 = {}, _extends2[code] = true, _extends2));
15802
- });
15803
- return Promise.resolve();
15804
- }
15805
- var _temp = _catch(function () {
15806
- return Promise.resolve(getCheckStatusExam$1(code)).then(function () {
15807
- setCheckExam(function (state) {
15808
- var _extends3;
15809
- return _extends({}, state, (_extends3 = {}, _extends3[code] = true, _extends3));
15810
- });
15811
- });
15812
- }, function (error) {
15813
- console.log({
15814
- error: error
15815
- });
15816
- });
15817
- return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
15818
- } catch (e) {
15819
- return Promise.reject(e);
15820
- }
15821
- };
15822
- useEffect(function () {
15823
- checkExam();
15824
- }, [code]);
15825
- return {
15826
- isCheck: isCheck
15827
- };
15828
- };
15829
-
15830
15827
  var useLoadMore = function useLoadMore(props) {
15831
15828
  var onLoadMore = props.onLoadMore,
15832
15829
  loading = props.loading;
@@ -15925,5 +15922,5 @@ var useVirtualizeList = function useVirtualizeList(totalItems, rowHeight, offset
15925
15922
  };
15926
15923
  };
15927
15924
 
15928
- export { ACADEMY_DOMAIN, ACCESS_TOKEN, AcademyHeaders, AcademyList, AnswerCountSelector, ArticleCategorySelector, ArticleGroupView, BASE_URL, ChatContainer, ChatItemType, types as ChatTypes, CommonDialog, ConfirmDialog, index$1 as CoreHooks, CustomAsyncSelect, CustomCreatable, CustomPagination, CustomSelect, CustomSelectOption, DATE_MIN_VALUE, DATE_TIME_MIN_VALUE, DEFAULT_PAGING_RESPONSE, DefaultErrorMessage, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, index as Enums, ExamDetailView, ExamEvent, ExamResultV2, Header, InputText, LANGUAGES, Language, LayoutContext, Loading, Login, SignIn as LoginWithPassword, NotFound, PUSHER_CONFIG, QuestionCountSelector, Role, SUPER_ADMIN_BASE_URL, ScoreSelector, SubjectSelector, index$2 as Textbook, TextbookViewDetail as TextbookDetail, TextbookList, TheAcademyDropdown, TheLanguageDropdown, index$3 as Types, api, apiUpload, canAccess as canAccessRoute, diffFromNow, formatTime, getAcademyDomain, getAccessToken, getErrorMessage, getOrdinalSuffix, i18n, minutesToTimeSpan, setAlert, setLanguage, setLoading, setReFetchUserAcademies, setReadyRegisterPusher, setUser, store, times as timeUtils, toISOString, useAutoAcademyDomain, useCategorySelect, useChatContainer, useCheckExam, useCountDownTimer, useGoogleSignOut, useLanguage, useLoadMore, useLogin, usePusherConversation, useSubjectSelect, useSwitchAcademy, useVirtualizeList, utcToLocalTime };
15925
+ export { ACADEMY_DOMAIN, ACCESS_TOKEN, AcademyHeaders, AcademyList, AnswerCountSelector, ArticleCategorySelector, ArticleGroupView, BASE_URL, ChatContainer, ChatItemType, types as ChatTypes, CommonDialog, ConfirmDialog, index$1 as CoreHooks, CustomAsyncSelect, CustomCreatable, CustomPagination, CustomSelect, CustomSelectOption, DATE_MIN_VALUE, DATE_TIME_MIN_VALUE, DEFAULT_PAGING_RESPONSE, DefaultErrorMessage, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, index as Enums, ExamDetailView, ExamEvent, ExamResultV2, Header, InputText, LANGUAGES, Language, LayoutContext, Loading, Login, SignIn as LoginWithPassword, NotFound, PUSHER_CONFIG, QuestionCountSelector, Role, SUPER_ADMIN_BASE_URL, ScoreSelector, SubjectSelector, index$2 as Textbook, TextbookViewDetail as TextbookDetail, TextbookList, TheAcademyDropdown, TheLanguageDropdown, index$3 as Types, api, apiUpload, canAccess as canAccessRoute, diffFromNow, formatTime, getAcademyDomain, getAccessToken, getErrorMessage, getOrdinalSuffix, i18n, minutesToTimeSpan, setAlert, setLanguage, setLoading, setReFetchUserAcademies, setReadyRegisterPusher, setUser, store, times as timeUtils, toISOString, useAutoAcademyDomain, useCategorySelect, useChatContainer, useCountDownTimer, useGoogleSignOut, useLanguage, useLoadMore, useLogin, usePusherConversation, useSubjectSelect, useSwitchAcademy, useVirtualizeList, utcToLocalTime };
15929
15926
  //# sourceMappingURL=index.modern.js.map