mario-education 2.4.0 → 2.4.3-beta

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 (102) hide show
  1. package/dist/MarioFramework.Education/ClientApp/src/containers/CSVImport/hooks/useCSVImport.d.ts +8 -0
  2. package/dist/MarioFramework.Education/ClientApp/src/containers/Classes/components/TeacherSelector.d.ts +4 -0
  3. package/dist/MarioFramework.Education/ClientApp/src/containers/SwitchAssistant/components/SwitchAssistantModal.d.ts +4 -0
  4. package/dist/MarioFramework.Education/ClientApp/src/containers/SwitchAssistant/hooks/useSwitchAssistant.d.ts +17 -0
  5. package/dist/MarioFramework.Education/ClientApp/src/containers/SwitchAssistant/utils/constants.d.ts +8 -0
  6. package/dist/MarioFramework.Education/ClientApp/src/containers/SwitchAssistant/utils/type.interface.d.ts +36 -0
  7. package/dist/MarioFramework.Education/ClientApp/src/containers/SwitchAssistant/views/SwitchAssistantList.d.ts +3 -0
  8. package/dist/{containers/Assessment/components/AssessmentDetailModal.d.ts → MarioFramework.Education/ClientApp/src/containers/SwitchTeacher/components/SwitchTeacherModal.d.ts} +0 -0
  9. package/dist/MarioFramework.Education/ClientApp/src/containers/SwitchTeacher/hooks/useSwitchTeacher.d.ts +38 -0
  10. package/dist/MarioFramework.Education/ClientApp/src/containers/SwitchTeacher/views/SwitchTeacherList.d.ts +3 -0
  11. package/dist/MarioFramework.Education/ClientApp/src/services/csvService.d.ts +1 -0
  12. package/dist/MarioFramework.Education/ClientApp/src/services/userDeletedService.d.ts +2 -0
  13. package/dist/MarioFramework.Education/ClientApp/src/services/userService.d.ts +5 -0
  14. package/dist/MarioFramework.Education/ClientApp/src/utils/serviceType.interface.d.ts +8 -0
  15. package/dist/index.css +135 -135
  16. package/dist/index.js +1068 -230
  17. package/dist/index.js.map +1 -1
  18. package/dist/index.modern.js +1068 -230
  19. package/dist/index.modern.js.map +1 -1
  20. package/package.json +91 -91
  21. package/dist/containers/Assessment/hooks/useAssessmentDetail.d.ts +0 -17
  22. package/dist/containers/Assessment/hooks/useAssessmentList.d.ts +0 -9
  23. package/dist/containers/Assessment/views/AssessmentAssignment.d.ts +0 -3
  24. package/dist/containers/Assessment/views/AssessmentList.d.ts +0 -3
  25. package/dist/containers/Badge/components/BadgeDetailModal.d.ts +0 -3
  26. package/dist/containers/Badge/hooks/useBadgeDetail.d.ts +0 -14
  27. package/dist/containers/Badge/hooks/useBadgeList.d.ts +0 -9
  28. package/dist/containers/Badge/views/BadgeList.d.ts +0 -3
  29. package/dist/containers/Classes/components/ClassDetailModal.d.ts +0 -3
  30. package/dist/containers/Classes/hooks/useClassDetail.d.ts +0 -12
  31. package/dist/containers/Classes/hooks/useClassList.d.ts +0 -9
  32. package/dist/containers/Classes/views/ClassList.d.ts +0 -3
  33. package/dist/containers/ConferenceRubric/components/CellList.d.ts +0 -10
  34. package/dist/containers/ConferenceRubric/components/ColumnList.d.ts +0 -11
  35. package/dist/containers/ConferenceRubric/components/RowList.d.ts +0 -11
  36. package/dist/containers/ConferenceRubric/configs/conferenceRubricDetailSchema.d.ts +0 -8
  37. package/dist/containers/ConferenceRubric/hooks/useConferenceRubricDetail.d.ts +0 -48
  38. package/dist/containers/ConferenceRubric/hooks/useConferenceRubricList.d.ts +0 -10
  39. package/dist/containers/ConferenceRubric/views/ConferenceRubricDetail.d.ts +0 -3
  40. package/dist/containers/ConferenceRubric/views/ConferenceRubricList.d.ts +0 -3
  41. package/dist/containers/Feedback/components/FeedbackDetailModal.d.ts +0 -3
  42. package/dist/containers/Feedback/hooks/useFeedbackDetail.d.ts +0 -12
  43. package/dist/containers/Feedback/hooks/useFeedbackList.d.ts +0 -8
  44. package/dist/containers/Feedback/views/FeedbackList.d.ts +0 -3
  45. package/dist/containers/GoalExample/components/GoalExampleDetailModal.d.ts +0 -3
  46. package/dist/containers/GoalExample/hooks/useGoalExampleDetail.d.ts +0 -13
  47. package/dist/containers/GoalExample/hooks/useGoalExampleList.d.ts +0 -9
  48. package/dist/containers/GoalExample/views/GoalExampleList.d.ts +0 -3
  49. package/dist/containers/LearningStrategy/components/StrategyDetailModal.d.ts +0 -3
  50. package/dist/containers/LearningStrategy/hooks/useLearningStrategyList.d.ts +0 -9
  51. package/dist/containers/LearningStrategy/hooks/useStrategyDetail.d.ts +0 -13
  52. package/dist/containers/LearningStrategy/views/LearningStrategyList.d.ts +0 -3
  53. package/dist/containers/ManageAssistant/views/ManageAssistantList.d.ts +0 -3
  54. package/dist/containers/QuestionBank/components/AdditionalComponent.d.ts +0 -7
  55. package/dist/containers/QuestionBank/components/AgGridComponents.d.ts +0 -9
  56. package/dist/containers/QuestionBank/components/AnswerList.d.ts +0 -8
  57. package/dist/containers/QuestionBank/components/QuestionPreview.d.ts +0 -3
  58. package/dist/containers/QuestionBank/components/SliderScale.d.ts +0 -8
  59. package/dist/containers/QuestionBank/components/StarRating.d.ts +0 -7
  60. package/dist/containers/QuestionBank/configs/questionDetailSchema.d.ts +0 -21
  61. package/dist/containers/QuestionBank/configs/validationAnswerId.d.ts +0 -2
  62. package/dist/containers/QuestionBank/configs/validationChoices.d.ts +0 -2
  63. package/dist/containers/QuestionBank/hooks/useQuestionAnswerList.d.ts +0 -7
  64. package/dist/containers/QuestionBank/hooks/useQuestionDetail.d.ts +0 -23
  65. package/dist/containers/QuestionBank/hooks/useQuestionList.d.ts +0 -12
  66. package/dist/containers/QuestionBank/views/QuestionBankList.d.ts +0 -3
  67. package/dist/containers/QuestionBank/views/QuestionDetail.d.ts +0 -3
  68. package/dist/containers/QuestionCategory/components/QuestionCateModal.d.ts +0 -3
  69. package/dist/containers/QuestionCategory/hooks/useQuestionCateDetail.d.ts +0 -13
  70. package/dist/containers/QuestionCategory/hooks/useQuestionCateList.d.ts +0 -9
  71. package/dist/containers/QuestionCategory/views/QuestionCategogyList.d.ts +0 -3
  72. package/dist/containers/ReflectionForm/components/QuestionSplitPaneSelector.d.ts +0 -3
  73. package/dist/containers/ReflectionForm/components/ReflectionDetailModal.d.ts +0 -3
  74. package/dist/containers/ReflectionForm/hooks/useQuestionCategory.d.ts +0 -13
  75. package/dist/containers/ReflectionForm/hooks/useReflectionFormDetail.d.ts +0 -16
  76. package/dist/containers/ReflectionForm/hooks/useReflectionFormList.d.ts +0 -9
  77. package/dist/containers/ReflectionForm/views/ReflectionFormList.d.ts +0 -3
  78. package/dist/containers/Setup/views/SetupContainer.d.ts +0 -3
  79. package/dist/containers/Subject/components/SubjectDetailModal.d.ts +0 -3
  80. package/dist/containers/Subject/hooks/useSubjectDetail.d.ts +0 -13
  81. package/dist/containers/Subject/hooks/useSubjectList.d.ts +0 -9
  82. package/dist/containers/Subject/views/SubjectList.d.ts +0 -3
  83. package/dist/containers/SuggestionBank/components/SuggestionDetailModal.d.ts +0 -3
  84. package/dist/containers/SuggestionBank/hooks/useKeywordList.d.ts +0 -10
  85. package/dist/containers/SuggestionBank/hooks/useSuggestionDetail.d.ts +0 -24
  86. package/dist/containers/SuggestionBank/hooks/useSuggestionList.d.ts +0 -10
  87. package/dist/containers/SuggestionBank/views/SuggestionList.d.ts +0 -3
  88. package/dist/index.d.ts +0 -16
  89. package/dist/index.test.d.ts +0 -1
  90. package/dist/services/assessmentService.d.ts +0 -6
  91. package/dist/services/badgeService.d.ts +0 -6
  92. package/dist/services/classService.d.ts +0 -6
  93. package/dist/services/conferenceRubricService.d.ts +0 -7
  94. package/dist/services/feedbackService.d.ts +0 -6
  95. package/dist/services/goalExampleService.d.ts +0 -6
  96. package/dist/services/learningStrategyService.d.ts +0 -6
  97. package/dist/services/questionCategoryService.d.ts +0 -6
  98. package/dist/services/questionService.d.ts +0 -6
  99. package/dist/services/reflectionFormService.d.ts +0 -6
  100. package/dist/services/studentService.d.ts +0 -2
  101. package/dist/services/subjectService.d.ts +0 -6
  102. package/dist/services/suggestionService.d.ts +0 -6
package/dist/index.js CHANGED
@@ -5195,7 +5195,8 @@ var style = {
5195
5195
  color: "#fff",
5196
5196
  fontWeight: 500,
5197
5197
  fontSize: "0.9em",
5198
- height: "30px"
5198
+ height: "35px",
5199
+ justifyContent: "center"
5199
5200
  };
5200
5201
 
5201
5202
  var UploadCSVButton = function UploadCSVButton(_ref) {
@@ -5209,7 +5210,7 @@ var UploadCSVButton = function UploadCSVButton(_ref) {
5209
5210
  htmlFor: htmlFor,
5210
5211
  role: "button",
5211
5212
  tabIndex: 0,
5212
- className: "d-flex align-items-center justfy-content-center \n " + (isClassReflection ? "w-25" : "") + "\n " + (!isDisabled ? "cursor-pointer hover-opacity" : ""),
5213
+ className: "d-flex align-items-center justfy-content-center\n " + (isClassReflection ? "w-25" : "") + "\n " + (!isDisabled ? "cursor-pointer hover-opacity" : ""),
5213
5214
  style: _extends({}, style, {
5214
5215
  backgroundColor: backgroundColor,
5215
5216
  opacity: !isDisabled ? 1 : 0.5
@@ -5234,6 +5235,9 @@ var importStudentCSV = function importStudentCSV(formData) {
5234
5235
  var importClassReflectionCSV = function importClassReflectionCSV(formData) {
5235
5236
  return marioCore.apiUpload.post(CSV_FILE_URL + "/importClassReflection", formData);
5236
5237
  };
5238
+ var importStudentByTeacher = function importStudentByTeacher(teacherId, formData) {
5239
+ return marioCore.apiUpload.post(CSV_FILE_TEACHER + "/adminImportStudentByTeacherId/" + teacherId, formData);
5240
+ };
5237
5241
 
5238
5242
  var CSVType;
5239
5243
 
@@ -5282,8 +5286,21 @@ var useCSVImport = function useCSVImport() {
5282
5286
  initImportReflection = _useState4[0],
5283
5287
  setInitImportReflection = _useState4[1];
5284
5288
 
5289
+ var _useState5 = React.useState(),
5290
+ studentDataFile = _useState5[0],
5291
+ setStudentDataFile = _useState5[1];
5292
+
5285
5293
  var domainName = window.location.hostname;
5286
5294
  var isCheckDomainIBS = domainName.includes('isb');
5295
+
5296
+ var _useState6 = React.useState(0),
5297
+ defaultTeacher = _useState6[0],
5298
+ setDefaultTeacher = _useState6[1];
5299
+
5300
+ var _useState7 = React.useState(""),
5301
+ fileName = _useState7[0],
5302
+ setFileName = _useState7[1];
5303
+
5287
5304
  React.useEffect(function () {
5288
5305
  document.title = title;
5289
5306
  }, []);
@@ -5353,9 +5370,52 @@ var useCSVImport = function useCSVImport() {
5353
5370
  }
5354
5371
  }, [type]);
5355
5372
 
5356
- var onConfirm = function onConfirm(values) {
5373
+ var uploadByTeacherId = function uploadByTeacherId(file) {
5357
5374
  try {
5358
5375
  var _temp14 = function _temp14() {
5376
+ dispatch(marioCore.setLoading(false));
5377
+ var input = document.getElementById('teacherSelector');
5378
+ input && (input.value = "");
5379
+ };
5380
+
5381
+ if (!defaultTeacher) {
5382
+ dispatch(marioCore.setAlert({
5383
+ type: "danger",
5384
+ message: "Select teacher before import csv"
5385
+ }));
5386
+ return Promise.resolve();
5387
+ }
5388
+
5389
+ if (!type || !file) return Promise.resolve();
5390
+ dispatch(marioCore.setLoading(true));
5391
+
5392
+ var _temp15 = _catch(function () {
5393
+ var formData = new FormData();
5394
+ formData.append("file", file, file.name);
5395
+ return Promise.resolve(importStudentByTeacher(defaultTeacher, formData)).then(function () {
5396
+ dispatch(marioCore.setAlert({
5397
+ type: "success",
5398
+ message: "Import CSV successfully"
5399
+ }));
5400
+ });
5401
+ }, function (err) {
5402
+ var _err$response2, _err$response2$data;
5403
+
5404
+ dispatch(marioCore.setAlert({
5405
+ type: "danger",
5406
+ message: ((_err$response2 = err.response) === null || _err$response2 === void 0 ? void 0 : (_err$response2$data = _err$response2.data) === null || _err$response2$data === void 0 ? void 0 : _err$response2$data.title) || err.message
5407
+ }));
5408
+ });
5409
+
5410
+ return Promise.resolve(_temp15 && _temp15.then ? _temp15.then(_temp14) : _temp14(_temp15));
5411
+ } catch (e) {
5412
+ return Promise.reject(e);
5413
+ }
5414
+ };
5415
+
5416
+ var onConfirm = function onConfirm(values) {
5417
+ try {
5418
+ var _temp18 = function _temp18() {
5359
5419
  dispatch(marioCore.setLoading(false));
5360
5420
  var input = document.getElementById(id);
5361
5421
  input && (input.value = "");
@@ -5364,7 +5424,7 @@ var useCSVImport = function useCSVImport() {
5364
5424
  if (!dataFile || !dataFile) return Promise.resolve();
5365
5425
  dispatch(marioCore.setLoading(true));
5366
5426
 
5367
- var _temp15 = _catch(function () {
5427
+ var _temp19 = _catch(function () {
5368
5428
  var formData = new FormData();
5369
5429
  formData.append("file", dataFile, dataFile.name);
5370
5430
  formData.append("teacherName", values.teacherName);
@@ -5380,20 +5440,52 @@ var useCSVImport = function useCSVImport() {
5380
5440
  setInitImportReflection(initClassReflect);
5381
5441
  });
5382
5442
  }, function (err) {
5383
- var _err$response2, _err$response2$data;
5443
+ var _err$response3, _err$response3$data;
5384
5444
 
5385
5445
  dispatch(marioCore.setAlert({
5386
5446
  type: "danger",
5387
- message: ((_err$response2 = err.response) === null || _err$response2 === void 0 ? void 0 : (_err$response2$data = _err$response2.data) === null || _err$response2$data === void 0 ? void 0 : _err$response2$data.title) || err.message
5447
+ message: ((_err$response3 = err.response) === null || _err$response3 === void 0 ? void 0 : (_err$response3$data = _err$response3.data) === null || _err$response3$data === void 0 ? void 0 : _err$response3$data.title) || err.message
5388
5448
  }));
5389
5449
  });
5390
5450
 
5391
- return Promise.resolve(_temp15 && _temp15.then ? _temp15.then(_temp14) : _temp14(_temp15));
5451
+ return Promise.resolve(_temp19 && _temp19.then ? _temp19.then(_temp18) : _temp18(_temp19));
5392
5452
  } catch (e) {
5393
5453
  return Promise.reject(e);
5394
5454
  }
5395
5455
  };
5396
5456
 
5457
+ var onChangeTeacher = function onChangeTeacher(teacher) {
5458
+ setDefaultTeacher(teacher.value);
5459
+ };
5460
+
5461
+ var setDataFileImportStudent = function setDataFileImportStudent(dataFile) {
5462
+ setStudentDataFile(dataFile);
5463
+ setFileName((dataFile === null || dataFile === void 0 ? void 0 : dataFile.name) || "");
5464
+ };
5465
+
5466
+ var onUpLoadStudentFile = function onUpLoadStudentFile() {
5467
+ if (!studentDataFile) {
5468
+ dispatch(marioCore.setAlert({
5469
+ type: "danger",
5470
+ message: "Select CSV to import"
5471
+ }));
5472
+ return;
5473
+ }
5474
+
5475
+ uploadByTeacherId(studentDataFile);
5476
+ };
5477
+
5478
+ var onStudentSubmit = function onStudentSubmit() {
5479
+ dispatch(marioCore.setModal({
5480
+ isOpen: true,
5481
+ type: "warning",
5482
+ message: "Are you sure upload this file?",
5483
+ onConfirm: function onConfirm() {
5484
+ onUpLoadStudentFile();
5485
+ }
5486
+ }));
5487
+ };
5488
+
5397
5489
  return {
5398
5490
  isLoading: isLoading,
5399
5491
  buttons: buttons,
@@ -5408,7 +5500,14 @@ var useCSVImport = function useCSVImport() {
5408
5500
  setDataFile: setDataFile,
5409
5501
  setArrStudent: setArrStudent,
5410
5502
  arrStudent: arrStudent,
5411
- isCheckDomainIBS: isCheckDomainIBS
5503
+ isCheckDomainIBS: isCheckDomainIBS,
5504
+ onChangeTeacher: onChangeTeacher,
5505
+ uploadByTeacherId: uploadByTeacherId,
5506
+ setDataFileImportStudent: setDataFileImportStudent,
5507
+ onUpLoadStudentFile: onUpLoadStudentFile,
5508
+ defaultTeacher: defaultTeacher,
5509
+ fileName: fileName,
5510
+ onStudentSubmit: onStudentSubmit
5412
5511
  };
5413
5512
  };
5414
5513
 
@@ -5435,10 +5534,15 @@ var CSVImport = function CSVImport() {
5435
5534
  setArrStudent = _useCSVImport.setArrStudent,
5436
5535
  buttons = _useCSVImport.buttons,
5437
5536
  upload = _useCSVImport.upload,
5438
- isCheckDomainIBS = _useCSVImport.isCheckDomainIBS;
5537
+ isCheckDomainIBS = _useCSVImport.isCheckDomainIBS,
5538
+ onChangeTeacher = _useCSVImport.onChangeTeacher,
5539
+ setDataFileImportStudent = _useCSVImport.setDataFileImportStudent,
5540
+ defaultTeacher = _useCSVImport.defaultTeacher,
5541
+ fileName = _useCSVImport.fileName,
5542
+ onStudentSubmit = _useCSVImport.onStudentSubmit;
5439
5543
 
5440
5544
  return React__default.createElement("div", {
5441
- className: "animated fadeIn pt-3"
5545
+ className: "animated fadeIn pt-5"
5442
5546
  }, isCheckDomainIBS ? React__default.createElement(React__default.Fragment, null, React__default.createElement(reactstrap.Input, {
5443
5547
  className: "d-none",
5444
5548
  type: "file",
@@ -5531,7 +5635,43 @@ var CSVImport = function CSVImport() {
5531
5635
  }
5532
5636
  });
5533
5637
  })))));
5534
- }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(reactstrap.Input, {
5638
+ }))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(reactstrap.Row, null, React__default.createElement(reactstrap.Col, {
5639
+ md: 3,
5640
+ className: "mb-3"
5641
+ }, React__default.createElement(TeacherSelector, {
5642
+ defaultValue: defaultTeacher,
5643
+ onChange: onChangeTeacher
5644
+ }), React__default.createElement("div", {
5645
+ className: "mt-3"
5646
+ }, fileName ? React__default.createElement("span", {
5647
+ className: "font-italic mb-1 font-lg"
5648
+ }, fileName) : null, React__default.createElement(reactstrap.Input, {
5649
+ className: "d-none",
5650
+ type: "file",
5651
+ id: "teacherSelector",
5652
+ onChange: function onChange(e) {
5653
+ return setDataFileImportStudent(e.target.files[0]);
5654
+ },
5655
+ accept: "text/csv"
5656
+ }), React__default.createElement(UploadCSVButton, {
5657
+ key: "Import student",
5658
+ htmlFor: "teacherSelector",
5659
+ text: "Select CSV",
5660
+ isDisabled: isLoading,
5661
+ backgroundColor: "#e74c3c",
5662
+ onClick: function onClick() {
5663
+ return setType(CSVType.Students);
5664
+ }
5665
+ })), React__default.createElement(reactstrap.Button, {
5666
+ color: "success",
5667
+ onClick: onStudentSubmit,
5668
+ className: "w-100 mt-3"
5669
+ }, "Import")), React__default.createElement(reactstrap.Col, {
5670
+ md: 3
5671
+ }), React__default.createElement(reactstrap.Col, {
5672
+ md: 3,
5673
+ className: "mb-3"
5674
+ }, React__default.createElement(reactstrap.Input, {
5535
5675
  className: "d-none",
5536
5676
  type: "file",
5537
5677
  id: id,
@@ -5539,9 +5679,7 @@ var CSVImport = function CSVImport() {
5539
5679
  return upload(e.target.files[0]);
5540
5680
  },
5541
5681
  accept: "text/csv"
5542
- }), React__default.createElement("div", {
5543
- className: "d-flex align-items-center"
5544
- }, buttons.map(function (button) {
5682
+ }), buttons.map(function (button) {
5545
5683
  return React__default.createElement(UploadCSVButton, {
5546
5684
  key: button.text,
5547
5685
  htmlFor: id,
@@ -5552,7 +5690,7 @@ var CSVImport = function CSVImport() {
5552
5690
  return setType(button.type);
5553
5691
  }
5554
5692
  });
5555
- }))));
5693
+ })))));
5556
5694
  };
5557
5695
 
5558
5696
  var schema$5 = yup.object({
@@ -7503,6 +7641,16 @@ var remove$c = function remove(id, userChangeId) {
7503
7641
  var getTeacher = function getTeacher() {
7504
7642
  return marioCore.api.get(USER_DELETED_URL + "/all/teacher");
7505
7643
  };
7644
+ var getStudentAll = function getStudentAll(filter) {
7645
+ return marioCore.api.get(USER_DELETED_URL + "/studentUser/all", {
7646
+ params: filter
7647
+ });
7648
+ };
7649
+ var changeTeacherOfStudent = function changeTeacherOfStudent(id, teacherUserId) {
7650
+ return marioCore.api.put(USER_DELETED_URL + "/change-teacher/" + id, {
7651
+ teacherUserId: teacherUserId
7652
+ });
7653
+ };
7506
7654
 
7507
7655
  var useUserDeletedModal = function useUserDeletedModal() {
7508
7656
  var dispatch = reactRedux.useDispatch();
@@ -7591,228 +7739,907 @@ var useUserDeletedList = function useUserDeletedList() {
7591
7739
  filters = _useFilters.filters,
7592
7740
  changeFilters = _useFilters.changeFilters;
7593
7741
 
7594
- var dispatch = reactRedux.useDispatch();
7595
- var modal = React.useRef();
7742
+ var dispatch = reactRedux.useDispatch();
7743
+ var modal = React.useRef();
7744
+
7745
+ var openModal = function openModal() {
7746
+ modal && modal.current && modal.current.toggle();
7747
+ };
7748
+
7749
+ var resetData = function resetData() {
7750
+ setTeacherChangeId("");
7751
+ setUserChoiced(initialUserChoice);
7752
+ };
7753
+
7754
+ var getData = React.useCallback(function () {
7755
+ try {
7756
+ var _temp3 = function _temp3() {
7757
+ dispatch(marioCore.setLoading(false));
7758
+ };
7759
+
7760
+ dispatch(marioCore.setLoading(true));
7761
+
7762
+ var _temp4 = _catch(function () {
7763
+ return Promise.resolve(get$d(filters)).then(function (res) {
7764
+ var _res$data = res.data,
7765
+ items = _res$data.items,
7766
+ totalItems = _res$data.totalItems;
7767
+ setUserList(items);
7768
+ setTotalItems(totalItems);
7769
+ });
7770
+ }, function (err) {
7771
+ var _err$response, _err$response$data;
7772
+
7773
+ dispatch(marioCore.setAlert({
7774
+ type: "danger",
7775
+ message: ((_err$response = err.response) === null || _err$response === void 0 ? void 0 : (_err$response$data = _err$response.data) === null || _err$response$data === void 0 ? void 0 : _err$response$data.title) || err.message
7776
+ }));
7777
+ });
7778
+
7779
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
7780
+ } catch (e) {
7781
+ return Promise.reject(e);
7782
+ }
7783
+ }, [dispatch, filters]);
7784
+ React.useEffect(function () {
7785
+ document.title = TITLE$b;
7786
+ }, []);
7787
+ React.useEffect(function () {
7788
+ getData();
7789
+ }, [filters]);
7790
+ var removeData = React.useCallback(function (id) {
7791
+ dispatch(marioCore.setModal({
7792
+ isOpen: true,
7793
+ type: "warning",
7794
+ message: "Do you want to remove this user?",
7795
+ onConfirm: function () {
7796
+ try {
7797
+ var _temp9 = function _temp9() {
7798
+ dispatch(marioCore.setLoading(false));
7799
+ };
7800
+
7801
+ dispatch(marioCore.setLoading(true));
7802
+
7803
+ var _temp10 = _catch(function () {
7804
+ function _temp6() {
7805
+ dispatch(marioCore.setAlert({
7806
+ type: "success",
7807
+ message: "Remove user successfully"
7808
+ }));
7809
+ openModal();
7810
+ resetData();
7811
+ changeFilters({
7812
+ currentPage: 1
7813
+ });
7814
+ }
7815
+
7816
+ var _temp5 = function () {
7817
+ if (userChoiced.roles.includes("Teacher")) {
7818
+ return Promise.resolve(remove$c(id, teacherChangeId)).then(function () {});
7819
+ } else {
7820
+ return Promise.resolve(remove$c(id)).then(function () {});
7821
+ }
7822
+ }();
7823
+
7824
+ return _temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5);
7825
+ }, function (err) {
7826
+ var _err$response2, _err$response2$data;
7827
+
7828
+ dispatch(marioCore.setAlert({
7829
+ type: "danger",
7830
+ message: ((_err$response2 = err.response) === null || _err$response2 === void 0 ? void 0 : (_err$response2$data = _err$response2.data) === null || _err$response2$data === void 0 ? void 0 : _err$response2$data.title) || err.message
7831
+ }));
7832
+ });
7833
+
7834
+ return Promise.resolve(_temp10 && _temp10.then ? _temp10.then(_temp9) : _temp9(_temp10));
7835
+ } catch (e) {
7836
+ return Promise.reject(e);
7837
+ }
7838
+ }
7839
+ }));
7840
+ }, [filters, teacherChangeId, userChoiced]);
7841
+ return {
7842
+ userList: userList,
7843
+ totalItems: totalItems,
7844
+ filters: filters,
7845
+ getData: getData,
7846
+ removeData: removeData,
7847
+ changeFilters: changeFilters,
7848
+ modal: modal,
7849
+ openModal: openModal,
7850
+ userChoiced: userChoiced,
7851
+ setUserChoiced: setUserChoiced,
7852
+ options: options,
7853
+ teacherChangeId: teacherChangeId,
7854
+ setTeacherChangeId: setTeacherChangeId,
7855
+ resetData: resetData
7856
+ };
7857
+ };
7858
+
7859
+ var UserDeletedModal = function UserDeletedModal(props, ref) {
7860
+ var header = props.header,
7861
+ removeData = props.removeData,
7862
+ resetData = props.resetData,
7863
+ userChoiced = props.userChoiced,
7864
+ options = props.options,
7865
+ teacherChangeId = props.teacherChangeId,
7866
+ setTeacherChangeId = props.setTeacherChangeId;
7867
+ console.log({
7868
+ hags: userChoiced.id
7869
+ });
7870
+
7871
+ var getFile = function getFile() {
7872
+ var url = window.location.origin + "/api/ExportDataUser/" + userChoiced.id;
7873
+ window.open(url);
7874
+ };
7875
+
7876
+ return React__default.createElement(marioCore.CommonModal, {
7877
+ header: header,
7878
+ ref: ref,
7879
+ onCancel: function onCancel() {
7880
+ resetData();
7881
+ }
7882
+ }, React__default.createElement(reactstrap.Row, null, React__default.createElement(reactstrap.Col, {
7883
+ md: 12,
7884
+ className: "mb-2"
7885
+ }, React__default.createElement("p", null, "Export user data"), React__default.createElement("div", {
7886
+ className: "pb-3"
7887
+ }, React__default.createElement(reactstrap.Button, {
7888
+ color: "success",
7889
+ onClick: function onClick() {
7890
+ getFile();
7891
+ }
7892
+ }, "Download user's data")), React__default.createElement("p", null, "Delete user"), !!userChoiced && React__default.createElement("div", null, userChoiced.roles.includes("Student") && React__default.createElement("div", null, React__default.createElement(reactstrap.Alert, {
7893
+ color: "danger"
7894
+ }, "All data of this user will be permanently deleted from the system. Please export before continuing"), React__default.createElement(reactstrap.Button, {
7895
+ color: "danger",
7896
+ onClick: function onClick() {
7897
+ return removeData(userChoiced.id);
7898
+ }
7899
+ }, "Delete user")), userChoiced.roles.includes("Admin") && React__default.createElement("div", null, React__default.createElement(reactstrap.Alert, {
7900
+ color: "danger"
7901
+ }, "All data of this user will be permanently deleted from the system. Please export before continuing"), React__default.createElement(reactstrap.Button, {
7902
+ color: "danger",
7903
+ onClick: function onClick() {
7904
+ return removeData(userChoiced.id);
7905
+ }
7906
+ }, "Delete user")), userChoiced.roles.includes("Teacher") && React__default.createElement("div", null, React__default.createElement(reactstrap.Alert, {
7907
+ color: "warning"
7908
+ }, "A teacher must be selected before deleting this teacher. We will transfer the entire class and students to this teacher before deleting all of this teacher's data."), React__default.createElement(marioCore.CustomSelector, {
7909
+ options: options,
7910
+ defaultValue: teacherChangeId,
7911
+ placeholder: "Select teacher change",
7912
+ onChange: function onChange(e) {
7913
+ return setTeacherChangeId(e.value);
7914
+ }
7915
+ }), !!teacherChangeId && React__default.createElement("div", {
7916
+ className: "mt-2"
7917
+ }, React__default.createElement(reactstrap.Alert, {
7918
+ color: "danger"
7919
+ }, "All data of this user will be permanently deleted from the system. Please export before continuing"), React__default.createElement(reactstrap.Button, {
7920
+ color: "danger",
7921
+ onClick: function onClick() {
7922
+ return removeData(userChoiced.id);
7923
+ }
7924
+ }, "Delete user"))), userChoiced.roles.includes("Parent") && React__default.createElement("div", null, React__default.createElement(reactstrap.Alert, {
7925
+ color: "danger"
7926
+ }, "All data of this user will be permanently deleted from the system. Please export before continuing"), React__default.createElement(reactstrap.Button, {
7927
+ color: "danger",
7928
+ onClick: function onClick() {
7929
+ return removeData(userChoiced.id);
7930
+ }
7931
+ }, "Delete user"))))));
7932
+ };
7933
+
7934
+ var UserDeletedModal$1 = React.forwardRef(UserDeletedModal);
7935
+
7936
+ var header$3 = "User deleted";
7937
+
7938
+ var UserList = function UserList() {
7939
+ var _useUserDeletedList = useUserDeletedList(),
7940
+ userList = _useUserDeletedList.userList,
7941
+ totalItems = _useUserDeletedList.totalItems,
7942
+ filters = _useUserDeletedList.filters,
7943
+ changeFilters = _useUserDeletedList.changeFilters,
7944
+ removeData = _useUserDeletedList.removeData,
7945
+ openModal = _useUserDeletedList.openModal,
7946
+ modal = _useUserDeletedList.modal,
7947
+ userChoiced = _useUserDeletedList.userChoiced,
7948
+ setUserChoiced = _useUserDeletedList.setUserChoiced,
7949
+ options = _useUserDeletedList.options,
7950
+ teacherChangeId = _useUserDeletedList.teacherChangeId,
7951
+ setTeacherChangeId = _useUserDeletedList.setTeacherChangeId,
7952
+ resetData = _useUserDeletedList.resetData;
7953
+
7954
+ var choiceUser = function choiceUser(userChoiced) {
7955
+ !!userChoiced && setUserChoiced(userChoiced);
7956
+ openModal();
7957
+ };
7958
+
7959
+ return React__default.createElement("div", {
7960
+ className: "fadeIn animated"
7961
+ }, React__default.createElement("h5", {
7962
+ className: "mb-2"
7963
+ }, header$3), React__default.createElement(reactstrap.Row, {
7964
+ className: "my-2"
7965
+ }, React__default.createElement(reactstrap.Col, {
7966
+ md: 8
7967
+ }, React__default.createElement(marioCore.SearchBox, {
7968
+ initValue: filters.searchString,
7969
+ onSearch: function onSearch(searchString) {
7970
+ return changeFilters({
7971
+ searchString: searchString
7972
+ });
7973
+ },
7974
+ placeholder: "Type something to search reflection result"
7975
+ })), React__default.createElement(reactstrap.Col, {
7976
+ md: 4,
7977
+ className: "d-flex justify-content-end align-items-center"
7978
+ }, "Total of users: ", totalItems)), React__default.createElement(reactstrap.Row, {
7979
+ className: "mb-2"
7980
+ }, React__default.createElement(reactstrap.Col, {
7981
+ md: 12
7982
+ }, userList && userList.length > 0 ? React__default.createElement("div", null, React__default.createElement(reactstrap.Table, {
7983
+ bordered: true,
7984
+ hover: true,
7985
+ striped: true,
7986
+ responsive: true,
7987
+ size: "sm"
7988
+ }, React__default.createElement("thead", null, React__default.createElement("tr", null, React__default.createElement("th", {
7989
+ className: "align-top"
7990
+ }, "Name"), React__default.createElement("th", {
7991
+ className: "align-top"
7992
+ }, "Email"), React__default.createElement("th", {
7993
+ className: "align-top"
7994
+ }, "Role"))), React__default.createElement("tbody", null, userList.map(function (record) {
7995
+ return React__default.createElement("tr", {
7996
+ key: record.id
7997
+ }, React__default.createElement("td", {
7998
+ className: "align-middle"
7999
+ }, React__default.createElement(marioCore.LinkEditButton, {
8000
+ label: "" + record.fullName,
8001
+ onClick: function onClick() {
8002
+ return choiceUser(record);
8003
+ }
8004
+ })), React__default.createElement("td", {
8005
+ className: "align-middle"
8006
+ }, record.email), React__default.createElement("td", {
8007
+ className: "align-middle"
8008
+ }, !!record.roles && record.roles.join(", ")));
8009
+ })))) : React__default.createElement(marioCore.EmptyDataAlert, {
8010
+ label: "user"
8011
+ })), React__default.createElement(reactstrap.Col, {
8012
+ md: 12
8013
+ }, React__default.createElement(marioCore.CustomPagination, {
8014
+ filters: filters,
8015
+ totalRecordCount: totalItems,
8016
+ changePageSize: function changePageSize(pageSize) {
8017
+ return changeFilters({
8018
+ pageSize: pageSize
8019
+ });
8020
+ },
8021
+ changePage: function changePage(currentPage) {
8022
+ return changeFilters({
8023
+ currentPage: currentPage
8024
+ });
8025
+ }
8026
+ }))), React__default.createElement(UserDeletedModal$1, {
8027
+ ref: modal,
8028
+ header: userChoiced.fullName,
8029
+ onCancel: function onCancel() {},
8030
+ userChoiced: userChoiced,
8031
+ removeData: removeData,
8032
+ options: options,
8033
+ teacherChangeId: teacherChangeId,
8034
+ setTeacherChangeId: setTeacherChangeId,
8035
+ resetData: resetData
8036
+ }));
8037
+ };
8038
+
8039
+ var initialUserChoice$1 = {
8040
+ id: "",
8041
+ studentName: "",
8042
+ emailStudent: "",
8043
+ teacherUserId: "",
8044
+ emailTeacher: "",
8045
+ teacherName: ""
8046
+ };
8047
+ var TITLE$c = "Switch teacher list";
8048
+
8049
+ var useSwitchTeacher = function useSwitchTeacher() {
8050
+ var _useState = React.useState([]),
8051
+ teacherList = _useState[0],
8052
+ setTeacherList = _useState[1];
8053
+
8054
+ var _useState2 = React.useState([]),
8055
+ userList = _useState2[0],
8056
+ setUserList = _useState2[1];
8057
+
8058
+ var _useState3 = React.useState(0),
8059
+ totalItems = _useState3[0],
8060
+ setTotalItems = _useState3[1];
8061
+
8062
+ var _useFilters = marioCore.useFilters(),
8063
+ filters = _useFilters.filters,
8064
+ changeFilters = _useFilters.changeFilters;
8065
+
8066
+ var _useState4 = React.useState(initialUserChoice$1),
8067
+ userChoiced = _useState4[0],
8068
+ setUserChoiced = _useState4[1];
8069
+
8070
+ var _useState5 = React.useState(""),
8071
+ teacherChangeId = _useState5[0],
8072
+ setTeacherChangeId = _useState5[1];
8073
+
8074
+ var dispatch = reactRedux.useDispatch();
8075
+ var modal = React.useRef();
8076
+
8077
+ var openModal = function openModal() {
8078
+ modal && modal.current && modal.current.toggle();
8079
+ };
8080
+
8081
+ var getData = React.useCallback(function () {
8082
+ try {
8083
+ var _temp3 = function _temp3() {
8084
+ dispatch(marioCore.setLoading(false));
8085
+ };
8086
+
8087
+ dispatch(marioCore.setLoading(true));
8088
+
8089
+ var _temp4 = _catch(function () {
8090
+ return Promise.resolve(getStudentAll(filters)).then(function (res) {
8091
+ var _res$data = res.data,
8092
+ items = _res$data.items,
8093
+ totalItems = _res$data.totalItems;
8094
+ setUserList(items);
8095
+ setTotalItems(totalItems);
8096
+ });
8097
+ }, function (err) {
8098
+ var _err$response, _err$response$data;
8099
+
8100
+ dispatch(marioCore.setAlert({
8101
+ type: "danger",
8102
+ message: ((_err$response = err.response) === null || _err$response === void 0 ? void 0 : (_err$response$data = _err$response.data) === null || _err$response$data === void 0 ? void 0 : _err$response$data.title) || err.message
8103
+ }));
8104
+ });
8105
+
8106
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
8107
+ } catch (e) {
8108
+ return Promise.reject(e);
8109
+ }
8110
+ }, [dispatch, filters]);
8111
+ var options = React.useMemo(function () {
8112
+ return teacherList.map(function (record) {
8113
+ return {
8114
+ label: record.name + " - " + record.email,
8115
+ value: record.id
8116
+ };
8117
+ });
8118
+ }, [teacherList]);
8119
+
8120
+ var resetData = function resetData() {
8121
+ setTeacherChangeId("");
8122
+ setUserChoiced(initialUserChoice$1);
8123
+ };
8124
+
8125
+ React.useEffect(function () {
8126
+ document.title = TITLE$c;
8127
+ }, []);
8128
+ React.useEffect(function () {
8129
+ getAllTeacher();
8130
+ }, [modal]);
8131
+
8132
+ var getAllTeacher = function getAllTeacher() {
8133
+ try {
8134
+ var _temp6 = _catch(function () {
8135
+ return Promise.resolve(getTeacher()).then(function (res) {
8136
+ setTeacherList(res.data);
8137
+ });
8138
+ }, function (err) {
8139
+ var _err$response2, _err$response2$data;
8140
+
8141
+ dispatch(marioCore.setAlert({
8142
+ type: "danger",
8143
+ message: ((_err$response2 = err.response) === null || _err$response2 === void 0 ? void 0 : (_err$response2$data = _err$response2.data) === null || _err$response2$data === void 0 ? void 0 : _err$response2$data.title) || err.message
8144
+ }));
8145
+ });
8146
+
8147
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
8148
+ } catch (e) {
8149
+ return Promise.reject(e);
8150
+ }
8151
+ };
8152
+
8153
+ var removeData = function removeData(teacherUserId, studentId) {
8154
+ try {
8155
+ dispatch(marioCore.setModal({
8156
+ isOpen: true,
8157
+ type: "warning",
8158
+ message: "Do you want to change teacher?",
8159
+ onConfirm: function () {
8160
+ try {
8161
+ var _temp9 = function _temp9() {
8162
+ dispatch(marioCore.setLoading(false));
8163
+ };
8164
+
8165
+ dispatch(marioCore.setLoading(true));
8166
+
8167
+ var _temp10 = _catch(function () {
8168
+ return Promise.resolve(changeTeacherOfStudent(studentId, teacherUserId)).then(function () {
8169
+ dispatch(marioCore.setAlert({
8170
+ type: "success",
8171
+ message: "Change teacher successfully"
8172
+ }));
8173
+ openModal();
8174
+ resetData();
8175
+ changeFilters({
8176
+ currentPage: 1
8177
+ });
8178
+ });
8179
+ }, function (err) {
8180
+ var _err$response3, _err$response3$data;
8181
+
8182
+ dispatch(marioCore.setAlert({
8183
+ type: "danger",
8184
+ message: ((_err$response3 = err.response) === null || _err$response3 === void 0 ? void 0 : (_err$response3$data = _err$response3.data) === null || _err$response3$data === void 0 ? void 0 : _err$response3$data.title) || err.message
8185
+ }));
8186
+ });
8187
+
8188
+ return Promise.resolve(_temp10 && _temp10.then ? _temp10.then(_temp9) : _temp9(_temp10));
8189
+ } catch (e) {
8190
+ return Promise.reject(e);
8191
+ }
8192
+ }
8193
+ }));
8194
+ return Promise.resolve();
8195
+ } catch (e) {
8196
+ return Promise.reject(e);
8197
+ }
8198
+ };
8199
+
8200
+ React.useEffect(function () {
8201
+ getData();
8202
+ }, [filters]);
8203
+ return {
8204
+ userList: userList,
8205
+ totalItems: totalItems,
8206
+ filters: filters,
8207
+ getData: getData,
8208
+ changeFilters: changeFilters,
8209
+ modal: modal,
8210
+ openModal: openModal,
8211
+ teacherList: teacherList,
8212
+ options: options,
8213
+ setUserChoiced: setUserChoiced,
8214
+ userChoiced: userChoiced,
8215
+ setTeacherChangeId: setTeacherChangeId,
8216
+ teacherChangeId: teacherChangeId,
8217
+ removeData: removeData,
8218
+ resetData: resetData
8219
+ };
8220
+ };
8221
+
8222
+ var SwitchTeacherModal = function SwitchTeacherModal(props, ref) {
8223
+ var header = props.header,
8224
+ removeData = props.removeData,
8225
+ resetData = props.resetData,
8226
+ userChoiced = props.userChoiced,
8227
+ options = props.options,
8228
+ teacherChangeId = props.teacherChangeId,
8229
+ setTeacherChangeId = props.setTeacherChangeId;
8230
+ var valueDefault = options === null || options === void 0 ? void 0 : options.find(function (item) {
8231
+ return item.value == teacherChangeId;
8232
+ });
8233
+ return React__default.createElement(marioCore.CommonModal, {
8234
+ header: header,
8235
+ ref: ref,
8236
+ confirmText: "Change Save",
8237
+ onConfirm: function onConfirm() {
8238
+ return removeData(teacherChangeId, userChoiced.id);
8239
+ },
8240
+ onCancel: function onCancel() {
8241
+ resetData();
8242
+ }
8243
+ }, React__default.createElement(reactstrap.Row, null, React__default.createElement(reactstrap.Col, {
8244
+ md: 12,
8245
+ className: "mb-2"
8246
+ }, React__default.createElement("p", {
8247
+ className: "font-weight-bold"
8248
+ }, "Student Name"), React__default.createElement("p", null, userChoiced.studentName, " "), React__default.createElement("p", {
8249
+ className: "font-weight-bold"
8250
+ }, "Student Email"), React__default.createElement("p", null, userChoiced.emailStudent, " "), React__default.createElement("p", {
8251
+ className: "font-weight-bold"
8252
+ }, "Current Teacher Name"), React__default.createElement("p", null, userChoiced.teacherName, " "), React__default.createElement("p", {
8253
+ className: "font-weight-bold"
8254
+ }, "Current Teacher Email"), React__default.createElement("p", null, userChoiced.emailTeacher, " "), !!userChoiced && React__default.createElement(marioCore.CustomSelector, {
8255
+ options: options,
8256
+ value: valueDefault,
8257
+ placeholder: "Select teacher change",
8258
+ onChange: function onChange(e) {
8259
+ return setTeacherChangeId(e.value);
8260
+ }
8261
+ }))));
8262
+ };
8263
+
8264
+ var SwitchTeacherModal$1 = React.forwardRef(SwitchTeacherModal);
8265
+
8266
+ var header$4 = "List Students";
8267
+
8268
+ var SwitchTeacherList = function SwitchTeacherList() {
8269
+ var _useSwitchTeacher = useSwitchTeacher(),
8270
+ userList = _useSwitchTeacher.userList,
8271
+ totalItems = _useSwitchTeacher.totalItems,
8272
+ filters = _useSwitchTeacher.filters,
8273
+ changeFilters = _useSwitchTeacher.changeFilters,
8274
+ openModal = _useSwitchTeacher.openModal,
8275
+ modal = _useSwitchTeacher.modal,
8276
+ setUserChoiced = _useSwitchTeacher.setUserChoiced,
8277
+ userChoiced = _useSwitchTeacher.userChoiced,
8278
+ options = _useSwitchTeacher.options,
8279
+ setTeacherChangeId = _useSwitchTeacher.setTeacherChangeId,
8280
+ teacherChangeId = _useSwitchTeacher.teacherChangeId,
8281
+ removeData = _useSwitchTeacher.removeData,
8282
+ resetData = _useSwitchTeacher.resetData;
8283
+
8284
+ var choiceUser = function choiceUser(userChoiced) {
8285
+ !!userChoiced && setUserChoiced(userChoiced);
8286
+ setTeacherChangeId(userChoiced.teacherUserId);
8287
+ openModal();
8288
+ };
8289
+
8290
+ return React__default.createElement("div", {
8291
+ className: "fadeIn animated"
8292
+ }, React__default.createElement("h5", {
8293
+ className: "mt-4 mb-2"
8294
+ }, header$4), React__default.createElement(reactstrap.Row, {
8295
+ className: "my-2"
8296
+ }, React__default.createElement(reactstrap.Col, {
8297
+ md: 8
8298
+ }, React__default.createElement(marioCore.SearchBox, {
8299
+ initValue: filters.searchString,
8300
+ onSearch: function onSearch(searchString) {
8301
+ return changeFilters({
8302
+ searchString: searchString
8303
+ });
8304
+ },
8305
+ placeholder: "Type something to search reflection result"
8306
+ })), React__default.createElement(reactstrap.Col, {
8307
+ md: 4,
8308
+ className: "d-flex justify-content-end align-items-center"
8309
+ }, "Total of users: ", totalItems)), React__default.createElement(reactstrap.Row, {
8310
+ className: "mb-2"
8311
+ }, React__default.createElement(reactstrap.Col, {
8312
+ md: 12
8313
+ }, userList && userList.length > 0 ? React__default.createElement("div", null, React__default.createElement(reactstrap.Table, {
8314
+ bordered: true,
8315
+ hover: true,
8316
+ striped: true,
8317
+ responsive: true,
8318
+ size: "sm"
8319
+ }, React__default.createElement("thead", null, React__default.createElement("tr", null, React__default.createElement("th", {
8320
+ className: "align-top"
8321
+ }, "Student Name"), React__default.createElement("th", {
8322
+ className: "align-top"
8323
+ }, "Student Email"), React__default.createElement("th", {
8324
+ className: "align-top"
8325
+ }, "Current Teacher Name"), React__default.createElement("th", {
8326
+ className: "align-top"
8327
+ }, "Current Teacher Email"))), React__default.createElement("tbody", null, !!userList && userList.length > 0 && userList.map(function (record) {
8328
+ return React__default.createElement("tr", {
8329
+ key: record.id
8330
+ }, React__default.createElement("td", {
8331
+ className: "align-middle"
8332
+ }, React__default.createElement(marioCore.LinkEditButton, {
8333
+ label: "" + record.studentName,
8334
+ onClick: function onClick() {
8335
+ return choiceUser(record);
8336
+ }
8337
+ })), React__default.createElement("td", {
8338
+ className: "align-middle"
8339
+ }, record.emailStudent), React__default.createElement("td", {
8340
+ className: "align-middle"
8341
+ }, record.teacherName), React__default.createElement("td", {
8342
+ className: "align-middle"
8343
+ }, record.emailTeacher));
8344
+ })))) : React__default.createElement(marioCore.EmptyDataAlert, {
8345
+ label: "user"
8346
+ })), React__default.createElement(reactstrap.Col, {
8347
+ md: 12
8348
+ }, React__default.createElement(marioCore.CustomPagination, {
8349
+ filters: filters,
8350
+ totalRecordCount: totalItems,
8351
+ changePageSize: function changePageSize(pageSize) {
8352
+ return changeFilters({
8353
+ pageSize: pageSize
8354
+ });
8355
+ },
8356
+ changePage: function changePage(currentPage) {
8357
+ return changeFilters({
8358
+ currentPage: currentPage
8359
+ });
8360
+ }
8361
+ }))), React__default.createElement(SwitchTeacherModal$1, {
8362
+ ref: modal,
8363
+ header: "Switch Teacher",
8364
+ onCancel: function onCancel() {},
8365
+ userChoiced: userChoiced,
8366
+ removeData: removeData,
8367
+ options: options,
8368
+ teacherChangeId: teacherChangeId,
8369
+ setTeacherChangeId: setTeacherChangeId,
8370
+ resetData: resetData
8371
+ }));
8372
+ };
8373
+
8374
+ var USER_URL$1 = marioCore.BASE_URL + "/api/User";
8375
+ var getStudentAssistant = function getStudentAssistant(data) {
8376
+ return marioCore.api.get(USER_URL$1 + "/studentAssistant/", {
8377
+ params: data
8378
+ });
8379
+ };
8380
+ var getAssistant = function getAssistant() {
8381
+ return marioCore.api.get(USER_URL$1 + "/assistants");
8382
+ };
8383
+ var changeAssistantOfStudent = function changeAssistantOfStudent(id, assistantUserId) {
8384
+ return marioCore.api.put(USER_URL$1 + "/change-assistant/" + id, {
8385
+ assistantUserId: assistantUserId
8386
+ });
8387
+ };
8388
+
8389
+ var INITIAL_USER_CHOICE = {
8390
+ id: 0,
8391
+ emailStudent: "",
8392
+ studentName: "",
8393
+ assistantId: "",
8394
+ emailAssistant: "",
8395
+ assistantName: ""
8396
+ };
8397
+
8398
+ var TITLE$d = "Switch assistant list";
8399
+
8400
+ var useSwitchAssistant = function useSwitchAssistant() {
8401
+ var modal = React.useRef();
8402
+ var dispatch = reactRedux.useDispatch();
8403
+
8404
+ var _useState = React.useState([]),
8405
+ assistantList = _useState[0],
8406
+ setAssistantList = _useState[1];
8407
+
8408
+ var _useState2 = React.useState([]),
8409
+ userList = _useState2[0],
8410
+ setUserList = _useState2[1];
8411
+
8412
+ var _useState3 = React.useState(0),
8413
+ totalItems = _useState3[0],
8414
+ setTotalItems = _useState3[1];
8415
+
8416
+ var _useFilters = marioCore.useFilters(),
8417
+ filters = _useFilters.filters,
8418
+ changeFilters = _useFilters.changeFilters;
8419
+
8420
+ var _useState4 = React.useState(INITIAL_USER_CHOICE),
8421
+ userChoiced = _useState4[0],
8422
+ setUserChoiced = _useState4[1];
8423
+
8424
+ var _useState5 = React.useState(""),
8425
+ assistantChangeId = _useState5[0],
8426
+ setAssistantChangeId = _useState5[1];
8427
+
8428
+ var getStudentAssistantData = React.useCallback(function () {
8429
+ try {
8430
+ var _temp3 = function _temp3() {
8431
+ dispatch(marioCore.setLoading(false));
8432
+ };
8433
+
8434
+ dispatch(marioCore.setLoading(true));
8435
+ console.log(filters);
8436
+
8437
+ var _temp4 = _catch(function () {
8438
+ return Promise.resolve(getStudentAssistant(filters)).then(function (res) {
8439
+ var _res$data = res.data,
8440
+ items = _res$data.items,
8441
+ totalItems = _res$data.totalItems;
8442
+ setUserList(items);
8443
+ setTotalItems(totalItems);
8444
+ });
8445
+ }, function (err) {
8446
+ var _err$response, _err$response$data;
8447
+
8448
+ dispatch(marioCore.setAlert({
8449
+ type: "danger",
8450
+ message: ((_err$response = err.response) === null || _err$response === void 0 ? void 0 : (_err$response$data = _err$response.data) === null || _err$response$data === void 0 ? void 0 : _err$response$data.title) || err.message
8451
+ }));
8452
+ });
8453
+
8454
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
8455
+ } catch (e) {
8456
+ return Promise.reject(e);
8457
+ }
8458
+ }, [dispatch, filters]);
8459
+
8460
+ var getAllAssistant = function getAllAssistant() {
8461
+ try {
8462
+ var _temp6 = _catch(function () {
8463
+ return Promise.resolve(getAssistant()).then(function (res) {
8464
+ setAssistantList(res.data);
8465
+ });
8466
+ }, function (err) {
8467
+ var _err$response2, _err$response2$data;
8468
+
8469
+ dispatch(marioCore.setAlert({
8470
+ type: "danger",
8471
+ message: ((_err$response2 = err.response) === null || _err$response2 === void 0 ? void 0 : (_err$response2$data = _err$response2.data) === null || _err$response2$data === void 0 ? void 0 : _err$response2$data.title) || err.message
8472
+ }));
8473
+ });
8474
+
8475
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
8476
+ } catch (e) {
8477
+ return Promise.reject(e);
8478
+ }
8479
+ };
8480
+
8481
+ var options = React.useMemo(function () {
8482
+ return assistantList.map(function (record) {
8483
+ return {
8484
+ label: record.name + " - " + record.email,
8485
+ value: record.id
8486
+ };
8487
+ });
8488
+ }, [assistantList]);
7596
8489
 
7597
8490
  var openModal = function openModal() {
7598
8491
  modal && modal.current && modal.current.toggle();
7599
8492
  };
7600
8493
 
7601
8494
  var resetData = function resetData() {
7602
- setTeacherChangeId("");
7603
- setUserChoiced(initialUserChoice);
8495
+ setAssistantChangeId("");
8496
+ setUserChoiced(INITIAL_USER_CHOICE);
7604
8497
  };
7605
8498
 
7606
- var getData = React.useCallback(function () {
8499
+ var choiceUser = function choiceUser(userChoiced) {
8500
+ !!userChoiced && setUserChoiced(userChoiced);
8501
+ setAssistantChangeId(userChoiced.assistantId);
8502
+ openModal();
8503
+ };
8504
+
8505
+ var removeData = function removeData(teacherUserId, studentId) {
7607
8506
  try {
7608
- var _temp3 = function _temp3() {
7609
- dispatch(marioCore.setLoading(false));
7610
- };
8507
+ dispatch(marioCore.setModal({
8508
+ isOpen: true,
8509
+ type: "warning",
8510
+ message: "Do you want to change assistant?",
8511
+ onConfirm: function () {
8512
+ try {
8513
+ var _temp9 = function _temp9() {
8514
+ dispatch(marioCore.setLoading(false));
8515
+ };
7611
8516
 
7612
- dispatch(marioCore.setLoading(true));
8517
+ dispatch(marioCore.setLoading(true));
7613
8518
 
7614
- var _temp4 = _catch(function () {
7615
- return Promise.resolve(get$d(filters)).then(function (res) {
7616
- var _res$data = res.data,
7617
- items = _res$data.items,
7618
- totalItems = _res$data.totalItems;
7619
- setUserList(items);
7620
- setTotalItems(totalItems);
7621
- });
7622
- }, function (err) {
7623
- var _err$response, _err$response$data;
8519
+ var _temp10 = _catch(function () {
8520
+ return Promise.resolve(changeAssistantOfStudent(studentId, teacherUserId)).then(function () {
8521
+ dispatch(marioCore.setAlert({
8522
+ type: "success",
8523
+ message: "Change assistant successfully"
8524
+ }));
8525
+ openModal();
8526
+ resetData();
8527
+ changeFilters({
8528
+ currentPage: 1
8529
+ });
8530
+ });
8531
+ }, function (err) {
8532
+ var _err$response3, _err$response3$data;
7624
8533
 
7625
- dispatch(marioCore.setAlert({
7626
- type: "danger",
7627
- message: ((_err$response = err.response) === null || _err$response === void 0 ? void 0 : (_err$response$data = _err$response.data) === null || _err$response$data === void 0 ? void 0 : _err$response$data.title) || err.message
7628
- }));
7629
- });
8534
+ dispatch(marioCore.setAlert({
8535
+ type: "danger",
8536
+ message: ((_err$response3 = err.response) === null || _err$response3 === void 0 ? void 0 : (_err$response3$data = _err$response3.data) === null || _err$response3$data === void 0 ? void 0 : _err$response3$data.title) || err.message
8537
+ }));
8538
+ });
7630
8539
 
7631
- return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
8540
+ return Promise.resolve(_temp10 && _temp10.then ? _temp10.then(_temp9) : _temp9(_temp10));
8541
+ } catch (e) {
8542
+ return Promise.reject(e);
8543
+ }
8544
+ }
8545
+ }));
8546
+ return Promise.resolve();
7632
8547
  } catch (e) {
7633
8548
  return Promise.reject(e);
7634
8549
  }
7635
- }, [dispatch, filters]);
8550
+ };
8551
+
7636
8552
  React.useEffect(function () {
7637
- document.title = TITLE$b;
8553
+ document.title = TITLE$d;
7638
8554
  }, []);
7639
8555
  React.useEffect(function () {
7640
- getData();
8556
+ getAllAssistant();
8557
+ }, [modal]);
8558
+ React.useEffect(function () {
8559
+ getStudentAssistantData();
7641
8560
  }, [filters]);
7642
- var removeData = React.useCallback(function (id) {
7643
- dispatch(marioCore.setModal({
7644
- isOpen: true,
7645
- type: "warning",
7646
- message: "Do you want to remove this user?",
7647
- onConfirm: function () {
7648
- try {
7649
- var _temp9 = function _temp9() {
7650
- dispatch(marioCore.setLoading(false));
7651
- };
7652
-
7653
- dispatch(marioCore.setLoading(true));
7654
-
7655
- var _temp10 = _catch(function () {
7656
- function _temp6() {
7657
- dispatch(marioCore.setAlert({
7658
- type: "success",
7659
- message: "Remove user successfully"
7660
- }));
7661
- openModal();
7662
- resetData();
7663
- changeFilters({
7664
- currentPage: 1
7665
- });
7666
- }
7667
-
7668
- var _temp5 = function () {
7669
- if (userChoiced.roles.includes("Teacher")) {
7670
- return Promise.resolve(remove$c(id, teacherChangeId)).then(function () {});
7671
- } else {
7672
- return Promise.resolve(remove$c(id)).then(function () {});
7673
- }
7674
- }();
7675
-
7676
- return _temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5);
7677
- }, function (err) {
7678
- var _err$response2, _err$response2$data;
7679
-
7680
- dispatch(marioCore.setAlert({
7681
- type: "danger",
7682
- message: ((_err$response2 = err.response) === null || _err$response2 === void 0 ? void 0 : (_err$response2$data = _err$response2.data) === null || _err$response2$data === void 0 ? void 0 : _err$response2$data.title) || err.message
7683
- }));
7684
- });
7685
-
7686
- return Promise.resolve(_temp10 && _temp10.then ? _temp10.then(_temp9) : _temp9(_temp10));
7687
- } catch (e) {
7688
- return Promise.reject(e);
7689
- }
7690
- }
7691
- }));
7692
- }, [filters, teacherChangeId, userChoiced]);
7693
8561
  return {
7694
8562
  userList: userList,
7695
8563
  totalItems: totalItems,
7696
8564
  filters: filters,
7697
- getData: getData,
7698
- removeData: removeData,
7699
8565
  changeFilters: changeFilters,
7700
8566
  modal: modal,
7701
- openModal: openModal,
7702
8567
  userChoiced: userChoiced,
7703
- setUserChoiced: setUserChoiced,
7704
8568
  options: options,
7705
- teacherChangeId: teacherChangeId,
7706
- setTeacherChangeId: setTeacherChangeId,
7707
- resetData: resetData
8569
+ setAssistantChangeId: setAssistantChangeId,
8570
+ assistantChangeId: assistantChangeId,
8571
+ removeData: removeData,
8572
+ resetData: resetData,
8573
+ choiceUser: choiceUser
7708
8574
  };
7709
8575
  };
7710
8576
 
7711
- var UserDeletedModal = function UserDeletedModal(props, ref) {
7712
- var header = props.header,
7713
- removeData = props.removeData,
7714
- resetData = props.resetData,
7715
- userChoiced = props.userChoiced,
7716
- options = props.options,
7717
- teacherChangeId = props.teacherChangeId,
7718
- setTeacherChangeId = props.setTeacherChangeId;
7719
- console.log({
7720
- hags: userChoiced.id
8577
+ var SwitchAssistantModal = function SwitchAssistantModal(_ref, ref) {
8578
+ var header = _ref.header,
8579
+ removeData = _ref.removeData,
8580
+ resetData = _ref.resetData,
8581
+ userChoiced = _ref.userChoiced,
8582
+ options = _ref.options,
8583
+ assistantChangeId = _ref.assistantChangeId,
8584
+ setAssistantChangeId = _ref.setAssistantChangeId;
8585
+ var valueDefault = options === null || options === void 0 ? void 0 : options.find(function (item) {
8586
+ return item.value == assistantChangeId;
7721
8587
  });
7722
-
7723
- var getFile = function getFile() {
7724
- var url = window.location.origin + "/api/ExportDataUser/" + userChoiced.id;
7725
- window.open(url);
7726
- };
7727
-
7728
8588
  return React__default.createElement(marioCore.CommonModal, {
7729
8589
  header: header,
7730
8590
  ref: ref,
8591
+ confirmText: "Change Save",
8592
+ onConfirm: function onConfirm() {
8593
+ return removeData(assistantChangeId, userChoiced.id);
8594
+ },
7731
8595
  onCancel: function onCancel() {
7732
8596
  resetData();
7733
8597
  }
7734
8598
  }, React__default.createElement(reactstrap.Row, null, React__default.createElement(reactstrap.Col, {
7735
8599
  md: 12,
7736
8600
  className: "mb-2"
7737
- }, React__default.createElement("p", null, "Export user data"), React__default.createElement("div", {
7738
- className: "pb-3"
7739
- }, React__default.createElement(reactstrap.Button, {
7740
- color: "success",
7741
- onClick: function onClick() {
7742
- getFile();
7743
- }
7744
- }, "Download user's data")), React__default.createElement("p", null, "Delete user"), !!userChoiced && React__default.createElement("div", null, userChoiced.roles.includes("Student") && React__default.createElement("div", null, React__default.createElement(reactstrap.Alert, {
7745
- color: "danger"
7746
- }, "All data of this user will be permanently deleted from the system. Please export before continuing"), React__default.createElement(reactstrap.Button, {
7747
- color: "danger",
7748
- onClick: function onClick() {
7749
- return removeData(userChoiced.id);
7750
- }
7751
- }, "Delete user")), userChoiced.roles.includes("Admin") && React__default.createElement("div", null, React__default.createElement(reactstrap.Alert, {
7752
- color: "danger"
7753
- }, "All data of this user will be permanently deleted from the system. Please export before continuing"), React__default.createElement(reactstrap.Button, {
7754
- color: "danger",
7755
- onClick: function onClick() {
7756
- return removeData(userChoiced.id);
7757
- }
7758
- }, "Delete user")), userChoiced.roles.includes("Teacher") && React__default.createElement("div", null, React__default.createElement(reactstrap.Alert, {
7759
- color: "warning"
7760
- }, "A teacher must be selected before deleting this teacher. We will transfer the entire class and students to this teacher before deleting all of this teacher's data."), React__default.createElement(marioCore.CustomSelector, {
8601
+ }, React__default.createElement("p", {
8602
+ className: "font-weight-bold"
8603
+ }, "Student Name"), React__default.createElement("p", null, userChoiced.studentName, " "), React__default.createElement("p", {
8604
+ className: "font-weight-bold"
8605
+ }, "Student Email"), React__default.createElement("p", null, userChoiced.emailStudent), React__default.createElement("p", {
8606
+ className: "font-weight-bold"
8607
+ }, "Current Assistant Name"), React__default.createElement("p", null, userChoiced.assistantName), React__default.createElement("p", {
8608
+ className: "font-weight-bold"
8609
+ }, "Current Assistant Email"), React__default.createElement("p", null, userChoiced.emailAssistant), !!userChoiced && React__default.createElement(marioCore.CustomSelector, {
7761
8610
  options: options,
7762
- defaultValue: teacherChangeId,
7763
- placeholder: "Select teacher change",
8611
+ value: valueDefault,
8612
+ placeholder: "Select Assistant change",
7764
8613
  onChange: function onChange(e) {
7765
- return setTeacherChangeId(e.value);
7766
- }
7767
- }), !!teacherChangeId && React__default.createElement("div", {
7768
- className: "mt-2"
7769
- }, React__default.createElement(reactstrap.Alert, {
7770
- color: "danger"
7771
- }, "All data of this user will be permanently deleted from the system. Please export before continuing"), React__default.createElement(reactstrap.Button, {
7772
- color: "danger",
7773
- onClick: function onClick() {
7774
- return removeData(userChoiced.id);
7775
- }
7776
- }, "Delete user"))), userChoiced.roles.includes("Parent") && React__default.createElement("div", null, React__default.createElement(reactstrap.Alert, {
7777
- color: "danger"
7778
- }, "All data of this user will be permanently deleted from the system. Please export before continuing"), React__default.createElement(reactstrap.Button, {
7779
- color: "danger",
7780
- onClick: function onClick() {
7781
- return removeData(userChoiced.id);
8614
+ return setAssistantChangeId(e.value);
7782
8615
  }
7783
- }, "Delete user"))))));
8616
+ }))));
7784
8617
  };
7785
8618
 
7786
- var UserDeletedModal$1 = React.forwardRef(UserDeletedModal);
7787
-
7788
- var header$3 = "User deleted";
8619
+ var SwitchAssistantModal$1 = React.forwardRef(SwitchAssistantModal);
7789
8620
 
7790
- var UserList = function UserList() {
7791
- var _useUserDeletedList = useUserDeletedList(),
7792
- userList = _useUserDeletedList.userList,
7793
- totalItems = _useUserDeletedList.totalItems,
7794
- filters = _useUserDeletedList.filters,
7795
- changeFilters = _useUserDeletedList.changeFilters,
7796
- removeData = _useUserDeletedList.removeData,
7797
- openModal = _useUserDeletedList.openModal,
7798
- modal = _useUserDeletedList.modal,
7799
- userChoiced = _useUserDeletedList.userChoiced,
7800
- setUserChoiced = _useUserDeletedList.setUserChoiced,
7801
- options = _useUserDeletedList.options,
7802
- teacherChangeId = _useUserDeletedList.teacherChangeId,
7803
- setTeacherChangeId = _useUserDeletedList.setTeacherChangeId,
7804
- resetData = _useUserDeletedList.resetData;
8621
+ var header$5 = "List Students";
7805
8622
 
7806
- var choiceUser = function choiceUser(userChoiced) {
7807
- !!userChoiced && setUserChoiced(userChoiced);
7808
- openModal();
7809
- };
8623
+ var SwitchAssistantList = function SwitchAssistantList() {
8624
+ var _useSwitchTeacher = useSwitchAssistant(),
8625
+ userList = _useSwitchTeacher.userList,
8626
+ totalItems = _useSwitchTeacher.totalItems,
8627
+ filters = _useSwitchTeacher.filters,
8628
+ changeFilters = _useSwitchTeacher.changeFilters,
8629
+ modal = _useSwitchTeacher.modal,
8630
+ userChoiced = _useSwitchTeacher.userChoiced,
8631
+ options = _useSwitchTeacher.options,
8632
+ setAssistantChangeId = _useSwitchTeacher.setAssistantChangeId,
8633
+ assistantChangeId = _useSwitchTeacher.assistantChangeId,
8634
+ removeData = _useSwitchTeacher.removeData,
8635
+ resetData = _useSwitchTeacher.resetData,
8636
+ choiceUser = _useSwitchTeacher.choiceUser;
7810
8637
 
7811
8638
  return React__default.createElement("div", {
7812
8639
  className: "fadeIn animated"
7813
8640
  }, React__default.createElement("h5", {
7814
- className: "mb-2"
7815
- }, header$3), React__default.createElement(reactstrap.Row, {
8641
+ className: "mt-4 mb-2"
8642
+ }, header$5), React__default.createElement(reactstrap.Row, {
7816
8643
  className: "my-2"
7817
8644
  }, React__default.createElement(reactstrap.Col, {
7818
8645
  md: 8
@@ -7839,25 +8666,29 @@ var UserList = function UserList() {
7839
8666
  size: "sm"
7840
8667
  }, React__default.createElement("thead", null, React__default.createElement("tr", null, React__default.createElement("th", {
7841
8668
  className: "align-top"
7842
- }, "Name"), React__default.createElement("th", {
8669
+ }, "Student Name"), React__default.createElement("th", {
7843
8670
  className: "align-top"
7844
- }, "Email"), React__default.createElement("th", {
8671
+ }, "Student Email"), React__default.createElement("th", {
7845
8672
  className: "align-top"
7846
- }, "Role"))), React__default.createElement("tbody", null, userList.map(function (record) {
8673
+ }, "Current Assistant Name"), React__default.createElement("th", {
8674
+ className: "align-top"
8675
+ }, "Current Assistant Email"))), React__default.createElement("tbody", null, !!userList && userList.length > 0 && userList.map(function (record) {
7847
8676
  return React__default.createElement("tr", {
7848
8677
  key: record.id
7849
8678
  }, React__default.createElement("td", {
7850
8679
  className: "align-middle"
7851
8680
  }, React__default.createElement(marioCore.LinkEditButton, {
7852
- label: "" + record.fullName,
8681
+ label: "" + record.studentName,
7853
8682
  onClick: function onClick() {
7854
8683
  return choiceUser(record);
7855
8684
  }
7856
8685
  })), React__default.createElement("td", {
7857
8686
  className: "align-middle"
7858
- }, record.email), React__default.createElement("td", {
8687
+ }, record.emailStudent), React__default.createElement("td", {
7859
8688
  className: "align-middle"
7860
- }, !!record.roles && record.roles.join(", ")));
8689
+ }, record.assistantName), React__default.createElement("td", {
8690
+ className: "align-middle"
8691
+ }, record.emailAssistant));
7861
8692
  })))) : React__default.createElement(marioCore.EmptyDataAlert, {
7862
8693
  label: "user"
7863
8694
  })), React__default.createElement(reactstrap.Col, {
@@ -7875,15 +8706,14 @@ var UserList = function UserList() {
7875
8706
  currentPage: currentPage
7876
8707
  });
7877
8708
  }
7878
- }))), React__default.createElement(UserDeletedModal$1, {
8709
+ }))), React__default.createElement(SwitchAssistantModal$1, {
7879
8710
  ref: modal,
7880
- header: userChoiced.fullName,
7881
- onCancel: function onCancel() {},
8711
+ header: "Switch Assistant",
7882
8712
  userChoiced: userChoiced,
7883
8713
  removeData: removeData,
7884
8714
  options: options,
7885
- teacherChangeId: teacherChangeId,
7886
- setTeacherChangeId: setTeacherChangeId,
8715
+ assistantChangeId: assistantChangeId,
8716
+ setAssistantChangeId: setAssistantChangeId,
7887
8717
  resetData: resetData
7888
8718
  }));
7889
8719
  };
@@ -7936,6 +8766,14 @@ var tabs = [{
7936
8766
  path: "/admin/set-up/userDeleted",
7937
8767
  title: "User deleted",
7938
8768
  component: UserList
8769
+ }, {
8770
+ path: "/admin/set-up/switch-teacher",
8771
+ title: "Switch Teacher",
8772
+ component: SwitchTeacherList
8773
+ }, {
8774
+ path: "/admin/set-up/switch-assistant",
8775
+ title: "Switch assistant",
8776
+ component: SwitchAssistantList
7939
8777
  }];
7940
8778
  var title$1 = "Set up";
7941
8779
 
@@ -8129,7 +8967,7 @@ var renderType = function renderType(params) {
8129
8967
 
8130
8968
  var QUESTION_URL$1 = "/admin/question-bank";
8131
8969
  var CREATE_QUESTION_URL = "/admin/create-question";
8132
- var TITLE$c = "Question list";
8970
+ var TITLE$e = "Question list";
8133
8971
 
8134
8972
  var useQuestionList = function useQuestionList(isDefaultQuestion, isDefaultQuestionGeneralClass) {
8135
8973
  var history = reactRouterDom.useHistory();
@@ -8284,7 +9122,7 @@ var useQuestionList = function useQuestionList(isDefaultQuestion, isDefaultQuest
8284
9122
  history.push(url);
8285
9123
  }, []);
8286
9124
  React.useEffect(function () {
8287
- document.title = TITLE$c;
9125
+ document.title = TITLE$e;
8288
9126
  }, []);
8289
9127
  React.useEffect(function () {
8290
9128
  getData();
@@ -8916,7 +9754,7 @@ var useReflectionFormDetail = function useReflectionFormDetail() {
8916
9754
  };
8917
9755
  };
8918
9756
 
8919
- var TITLE$d = "Reflection form list";
9757
+ var TITLE$f = "Reflection form list";
8920
9758
 
8921
9759
  var useReflectionFormList = function useReflectionFormList() {
8922
9760
  var reflectionList = reactRedux.useSelector(function (state) {
@@ -9006,7 +9844,7 @@ var useReflectionFormList = function useReflectionFormList() {
9006
9844
  }
9007
9845
  }, [dispatch]);
9008
9846
  React.useEffect(function () {
9009
- document.title = TITLE$d;
9847
+ document.title = TITLE$f;
9010
9848
  }, []);
9011
9849
  React.useEffect(function () {
9012
9850
  getData();
@@ -10069,7 +10907,7 @@ var initValue$e = {
10069
10907
  isMandatory: false,
10070
10908
  isBeforeSession: false
10071
10909
  };
10072
- var TITLE$e = "Question detail";
10910
+ var TITLE$g = "Question detail";
10073
10911
 
10074
10912
  var useQuestionDetail = function useQuestionDetail(id) {
10075
10913
  var editorRef;
@@ -10095,7 +10933,7 @@ var useQuestionDetail = function useQuestionDetail(id) {
10095
10933
  };
10096
10934
 
10097
10935
  React.useEffect(function () {
10098
- document.title = TITLE$e;
10936
+ document.title = TITLE$g;
10099
10937
  setEdited(false);
10100
10938
  if (!!localStorage.getItem(window.location.href)) localStorage.removeItem(window.location.href);
10101
10939
  }, []);
@@ -10759,7 +11597,7 @@ var useAssessmentDetail = function useAssessmentDetail() {
10759
11597
  };
10760
11598
  };
10761
11599
 
10762
- var TITLE$f = "Assessment list";
11600
+ var TITLE$h = "Assessment list";
10763
11601
 
10764
11602
  var useAssessmentList = function useAssessmentList() {
10765
11603
  var assessmentList = reactRedux.useSelector(function (state) {
@@ -10842,7 +11680,7 @@ var useAssessmentList = function useAssessmentList() {
10842
11680
  dispatch(marioCore.setLoading(false));
10843
11681
  }, [filters]);
10844
11682
  React.useEffect(function () {
10845
- document.title = TITLE$f;
11683
+ document.title = TITLE$h;
10846
11684
  }, []);
10847
11685
  React.useEffect(function () {
10848
11686
  getData();
@@ -11294,7 +12132,7 @@ var useFeedbackDetail = function useFeedbackDetail() {
11294
12132
  };
11295
12133
  };
11296
12134
 
11297
- var TITLE$g = "Feedback list";
12135
+ var TITLE$i = "Feedback list";
11298
12136
 
11299
12137
  var useFeedbackList = function useFeedbackList() {
11300
12138
  var feedbackList = reactRedux.useSelector(function (state) {
@@ -11346,7 +12184,7 @@ var useFeedbackList = function useFeedbackList() {
11346
12184
  }
11347
12185
  }, [dispatch, filters]);
11348
12186
  React.useEffect(function () {
11349
- document.title = TITLE$g;
12187
+ document.title = TITLE$i;
11350
12188
  }, []);
11351
12189
  React.useEffect(function () {
11352
12190
  getData();
@@ -11360,7 +12198,7 @@ var useFeedbackList = function useFeedbackList() {
11360
12198
  };
11361
12199
  };
11362
12200
 
11363
- var header$4 = "Feedback";
12201
+ var header$6 = "Feedback";
11364
12202
 
11365
12203
  var FeedbackList = function FeedbackList() {
11366
12204
  var history = reactRouterDom.useHistory();
@@ -11389,7 +12227,7 @@ var FeedbackList = function FeedbackList() {
11389
12227
  feedbackDetail: feedbackDetail
11390
12228
  }), React__default.createElement("h5", {
11391
12229
  className: "mb-2"
11392
- }, header$4), React__default.createElement(reactstrap.Row, {
12230
+ }, header$6), React__default.createElement(reactstrap.Row, {
11393
12231
  className: "my-2"
11394
12232
  }, React__default.createElement(reactstrap.Col, {
11395
12233
  md: 8,
@@ -11687,7 +12525,7 @@ var useTutorialScreenDetail = function useTutorialScreenDetail(typeRole) {
11687
12525
  };
11688
12526
  };
11689
12527
 
11690
- var TITLE$h = "Tutorial screen list";
12528
+ var TITLE$j = "Tutorial screen list";
11691
12529
 
11692
12530
  var useTutorialScreenList = function useTutorialScreenList(typeRole) {
11693
12531
  var tutorialScreenList = reactRedux.useSelector(function (state) {
@@ -11772,7 +12610,7 @@ var useTutorialScreenList = function useTutorialScreenList(typeRole) {
11772
12610
  dispatch(marioCore.setLoading(false));
11773
12611
  }, [filters]);
11774
12612
  React.useEffect(function () {
11775
- document.title = TITLE$h;
12613
+ document.title = TITLE$j;
11776
12614
  }, []);
11777
12615
  React.useEffect(function () {
11778
12616
  getData();
@@ -12148,7 +12986,7 @@ var useQuestionCateDetail = function useQuestionCateDetail() {
12148
12986
  };
12149
12987
  };
12150
12988
 
12151
- var TITLE$i = "Question category list";
12989
+ var TITLE$k = "Question category list";
12152
12990
 
12153
12991
  var useQuestionCateList = function useQuestionCateList() {
12154
12992
  var questionCateList = reactRedux.useSelector(function (state) {
@@ -12231,7 +13069,7 @@ var useQuestionCateList = function useQuestionCateList() {
12231
13069
  dispatch(marioCore.setLoading(false));
12232
13070
  }, [filters]);
12233
13071
  React.useEffect(function () {
12234
- document.title = TITLE$i;
13072
+ document.title = TITLE$k;
12235
13073
  }, []);
12236
13074
  React.useEffect(function () {
12237
13075
  getData();
@@ -12982,7 +13820,7 @@ var useAssignmentDetail = function useAssignmentDetail() {
12982
13820
  };
12983
13821
  };
12984
13822
 
12985
- var TITLE$j = "Assignment list";
13823
+ var TITLE$l = "Assignment list";
12986
13824
 
12987
13825
  var useAssignmentList = function useAssignmentList() {
12988
13826
  var assignmentList = reactRedux.useSelector(function (state) {
@@ -13079,7 +13917,7 @@ var useAssignmentList = function useAssignmentList() {
13079
13917
  dispatch(marioCore.setLoading(false));
13080
13918
  }, [filters]);
13081
13919
  React.useEffect(function () {
13082
- document.title = TITLE$j;
13920
+ document.title = TITLE$l;
13083
13921
  }, []);
13084
13922
  React.useEffect(function () {
13085
13923
  getData();
@@ -13529,7 +14367,7 @@ var getRandomQuestion = function getRandomQuestion(data) {
13529
14367
  return marioCore.api.post(QUESTION_URL$2 + "/random", data);
13530
14368
  };
13531
14369
 
13532
- var TITLE$k = "Session template list";
14370
+ var TITLE$m = "Session template list";
13533
14371
  var SESSION_TEMPLATE_URL$1 = "/admin/session-template-learning-support";
13534
14372
  var CREATE_TEMPLATE_URL = "/admin/create-session-template-learning-support";
13535
14373
 
@@ -13633,7 +14471,7 @@ var useSessionTemplateList = function useSessionTemplateList() {
13633
14471
  history.push(url);
13634
14472
  }, []);
13635
14473
  React.useEffect(function () {
13636
- document.title = TITLE$k;
14474
+ document.title = TITLE$m;
13637
14475
  }, []);
13638
14476
  React.useEffect(function () {
13639
14477
  getData();
@@ -13780,7 +14618,7 @@ var remove$j = function remove(id) {
13780
14618
  return marioCore.api["delete"](SESSION_TEMPLATE_GENERAL_CLASS_URL + "/" + id);
13781
14619
  };
13782
14620
 
13783
- var TITLE$l = "Session template general class list";
14621
+ var TITLE$n = "Session template general class list";
13784
14622
  var SESSION_TEMPLATE_GENERAL_CLASS_URL$1 = "/admin/session-template/general-class";
13785
14623
  var CREATE_TEMPLATE_GENERAL_CLASS_URL = "/admin/create-session-template-general-class";
13786
14624
 
@@ -13870,7 +14708,7 @@ var useSessionTemplateGeneralClassList = function useSessionTemplateGeneralClass
13870
14708
  history.push(url);
13871
14709
  }, []);
13872
14710
  React.useEffect(function () {
13873
- document.title = TITLE$l;
14711
+ document.title = TITLE$n;
13874
14712
  }, []);
13875
14713
  React.useEffect(function () {
13876
14714
  getData();
@@ -15859,7 +16697,7 @@ var useCustomAlertDetail = function useCustomAlertDetail() {
15859
16697
  };
15860
16698
  };
15861
16699
 
15862
- var TITLE$m = "Custom alert list";
16700
+ var TITLE$o = "Custom alert list";
15863
16701
 
15864
16702
  var useCustomAlertList = function useCustomAlertList() {
15865
16703
  var customAlertList = reactRedux.useSelector(function (state) {
@@ -15947,7 +16785,7 @@ var useCustomAlertList = function useCustomAlertList() {
15947
16785
  dispatch(marioCore.setLoading(false));
15948
16786
  }, [filters]);
15949
16787
  React.useEffect(function () {
15950
- document.title = TITLE$m;
16788
+ document.title = TITLE$o;
15951
16789
  }, []);
15952
16790
  React.useEffect(function () {
15953
16791
  getData();
@@ -15962,7 +16800,7 @@ var useCustomAlertList = function useCustomAlertList() {
15962
16800
  };
15963
16801
  };
15964
16802
 
15965
- var header$5 = "Custom alert";
16803
+ var header$7 = "Custom alert";
15966
16804
 
15967
16805
  var CustomAlertList = function CustomAlertList() {
15968
16806
  var modal = React.useRef();
@@ -16030,7 +16868,7 @@ var CustomAlertList = function CustomAlertList() {
16030
16868
  when: edited
16031
16869
  }), React__default.createElement("h5", {
16032
16870
  className: "mb-2"
16033
- }, header$5), React__default.createElement(reactstrap.Row, {
16871
+ }, header$7), React__default.createElement(reactstrap.Row, {
16034
16872
  className: "my-2"
16035
16873
  }, React__default.createElement(reactstrap.Col, {
16036
16874
  md: 4
@@ -16589,7 +17427,7 @@ var useCertificateDetail = function useCertificateDetail() {
16589
17427
  };
16590
17428
  };
16591
17429
 
16592
- var TITLE$n = "Certificate list";
17430
+ var TITLE$p = "Certificate list";
16593
17431
 
16594
17432
  var useCertificateList = function useCertificateList() {
16595
17433
  var certificateList = reactRedux.useSelector(function (state) {
@@ -16672,7 +17510,7 @@ var useCertificateList = function useCertificateList() {
16672
17510
  dispatch(marioCore.setLoading(false));
16673
17511
  }, [filters]);
16674
17512
  React.useEffect(function () {
16675
- document.title = TITLE$n;
17513
+ document.title = TITLE$p;
16676
17514
  }, []);
16677
17515
  React.useEffect(function () {
16678
17516
  getData();
@@ -16687,7 +17525,7 @@ var useCertificateList = function useCertificateList() {
16687
17525
  };
16688
17526
  };
16689
17527
 
16690
- var header$6 = "Certificate";
17528
+ var header$8 = "Certificate";
16691
17529
 
16692
17530
  var CertificateList = function CertificateList() {
16693
17531
  var modal = React.useRef();
@@ -16746,7 +17584,7 @@ var CertificateList = function CertificateList() {
16746
17584
  when: edited
16747
17585
  }), React__default.createElement("h5", {
16748
17586
  className: "mb-2"
16749
- }, header$6), React__default.createElement(reactstrap.Row, {
17587
+ }, header$8), React__default.createElement(reactstrap.Row, {
16750
17588
  className: "my-2"
16751
17589
  }, React__default.createElement(reactstrap.Col, {
16752
17590
  md: 4
@@ -16820,7 +17658,7 @@ var CertificateList = function CertificateList() {
16820
17658
  }))));
16821
17659
  };
16822
17660
 
16823
- var TITLE$o = "Certificate list";
17661
+ var TITLE$q = "Certificate list";
16824
17662
 
16825
17663
  var useCertificateList$1 = function useCertificateList() {
16826
17664
  var dispatch = reactRedux.useDispatch();
@@ -16908,7 +17746,7 @@ var useCertificateList$1 = function useCertificateList() {
16908
17746
  }
16909
17747
  }, [listWaiting]);
16910
17748
  React.useEffect(function () {
16911
- document.title = TITLE$o;
17749
+ document.title = TITLE$q;
16912
17750
  getListWaiting();
16913
17751
  getListApproved();
16914
17752
  }, []);
@@ -17273,7 +18111,7 @@ var getGradeReport = function getGradeReport() {
17273
18111
  return marioCore.api.get(REPORT_URL + "/grade");
17274
18112
  };
17275
18113
 
17276
- var TITLE$p = "Dashboard";
18114
+ var TITLE$r = "Dashboard";
17277
18115
 
17278
18116
  var useDashboard = function useDashboard() {
17279
18117
  var dispatch = reactRedux.useDispatch();
@@ -17325,7 +18163,7 @@ var useDashboard = function useDashboard() {
17325
18163
  }, []);
17326
18164
  var getData = React.useCallback(function () {
17327
18165
  try {
17328
- document.title = TITLE$p;
18166
+ document.title = TITLE$r;
17329
18167
  dispatch(marioCore.setLoading(true));
17330
18168
  return Promise.resolve(Promise.any([callApi(getLoginCountingReport, setLoginCounting, []), callApi(getQuantityReport, setQuantity, {}), callApi(getGoalProgressReport, setGoalProgress, []), callApi(getHighImpactLearningStrategyReport, setHighImpact, {}), callApi(getPerceivedImpactReport, setPerceivedImpact, []), callApi(getGradeReport, setGrade, {})])).then(function () {
17331
18169
  dispatch(marioCore.setLoading(false));