mario-education 2.4.1 → 2.4.2

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 (92) 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/services/csvService.d.ts +1 -0
  4. package/dist/index.css +135 -135
  5. package/dist/index.js +153 -15
  6. package/dist/index.js.map +1 -1
  7. package/dist/index.modern.js +153 -15
  8. package/dist/index.modern.js.map +1 -1
  9. package/package.json +91 -91
  10. package/dist/containers/Assessment/components/AssessmentDetailModal.d.ts +0 -3
  11. package/dist/containers/Assessment/hooks/useAssessmentDetail.d.ts +0 -17
  12. package/dist/containers/Assessment/hooks/useAssessmentList.d.ts +0 -9
  13. package/dist/containers/Assessment/views/AssessmentAssignment.d.ts +0 -3
  14. package/dist/containers/Assessment/views/AssessmentList.d.ts +0 -3
  15. package/dist/containers/Badge/components/BadgeDetailModal.d.ts +0 -3
  16. package/dist/containers/Badge/hooks/useBadgeDetail.d.ts +0 -14
  17. package/dist/containers/Badge/hooks/useBadgeList.d.ts +0 -9
  18. package/dist/containers/Badge/views/BadgeList.d.ts +0 -3
  19. package/dist/containers/Classes/components/ClassDetailModal.d.ts +0 -3
  20. package/dist/containers/Classes/hooks/useClassDetail.d.ts +0 -12
  21. package/dist/containers/Classes/hooks/useClassList.d.ts +0 -9
  22. package/dist/containers/Classes/views/ClassList.d.ts +0 -3
  23. package/dist/containers/ConferenceRubric/components/CellList.d.ts +0 -10
  24. package/dist/containers/ConferenceRubric/components/ColumnList.d.ts +0 -11
  25. package/dist/containers/ConferenceRubric/components/RowList.d.ts +0 -11
  26. package/dist/containers/ConferenceRubric/configs/conferenceRubricDetailSchema.d.ts +0 -8
  27. package/dist/containers/ConferenceRubric/hooks/useConferenceRubricDetail.d.ts +0 -48
  28. package/dist/containers/ConferenceRubric/hooks/useConferenceRubricList.d.ts +0 -10
  29. package/dist/containers/ConferenceRubric/views/ConferenceRubricDetail.d.ts +0 -3
  30. package/dist/containers/ConferenceRubric/views/ConferenceRubricList.d.ts +0 -3
  31. package/dist/containers/Feedback/components/FeedbackDetailModal.d.ts +0 -3
  32. package/dist/containers/Feedback/hooks/useFeedbackDetail.d.ts +0 -12
  33. package/dist/containers/Feedback/hooks/useFeedbackList.d.ts +0 -8
  34. package/dist/containers/Feedback/views/FeedbackList.d.ts +0 -3
  35. package/dist/containers/GoalExample/components/GoalExampleDetailModal.d.ts +0 -3
  36. package/dist/containers/GoalExample/hooks/useGoalExampleDetail.d.ts +0 -13
  37. package/dist/containers/GoalExample/hooks/useGoalExampleList.d.ts +0 -9
  38. package/dist/containers/GoalExample/views/GoalExampleList.d.ts +0 -3
  39. package/dist/containers/LearningStrategy/components/StrategyDetailModal.d.ts +0 -3
  40. package/dist/containers/LearningStrategy/hooks/useLearningStrategyList.d.ts +0 -9
  41. package/dist/containers/LearningStrategy/hooks/useStrategyDetail.d.ts +0 -13
  42. package/dist/containers/LearningStrategy/views/LearningStrategyList.d.ts +0 -3
  43. package/dist/containers/ManageAssistant/views/ManageAssistantList.d.ts +0 -3
  44. package/dist/containers/QuestionBank/components/AdditionalComponent.d.ts +0 -7
  45. package/dist/containers/QuestionBank/components/AgGridComponents.d.ts +0 -9
  46. package/dist/containers/QuestionBank/components/AnswerList.d.ts +0 -8
  47. package/dist/containers/QuestionBank/components/QuestionPreview.d.ts +0 -3
  48. package/dist/containers/QuestionBank/components/SliderScale.d.ts +0 -8
  49. package/dist/containers/QuestionBank/components/StarRating.d.ts +0 -7
  50. package/dist/containers/QuestionBank/configs/questionDetailSchema.d.ts +0 -21
  51. package/dist/containers/QuestionBank/configs/validationAnswerId.d.ts +0 -2
  52. package/dist/containers/QuestionBank/configs/validationChoices.d.ts +0 -2
  53. package/dist/containers/QuestionBank/hooks/useQuestionAnswerList.d.ts +0 -7
  54. package/dist/containers/QuestionBank/hooks/useQuestionDetail.d.ts +0 -23
  55. package/dist/containers/QuestionBank/hooks/useQuestionList.d.ts +0 -12
  56. package/dist/containers/QuestionBank/views/QuestionBankList.d.ts +0 -3
  57. package/dist/containers/QuestionBank/views/QuestionDetail.d.ts +0 -3
  58. package/dist/containers/QuestionCategory/components/QuestionCateModal.d.ts +0 -3
  59. package/dist/containers/QuestionCategory/hooks/useQuestionCateDetail.d.ts +0 -13
  60. package/dist/containers/QuestionCategory/hooks/useQuestionCateList.d.ts +0 -9
  61. package/dist/containers/QuestionCategory/views/QuestionCategogyList.d.ts +0 -3
  62. package/dist/containers/ReflectionForm/components/QuestionSplitPaneSelector.d.ts +0 -3
  63. package/dist/containers/ReflectionForm/components/ReflectionDetailModal.d.ts +0 -3
  64. package/dist/containers/ReflectionForm/hooks/useQuestionCategory.d.ts +0 -13
  65. package/dist/containers/ReflectionForm/hooks/useReflectionFormDetail.d.ts +0 -16
  66. package/dist/containers/ReflectionForm/hooks/useReflectionFormList.d.ts +0 -9
  67. package/dist/containers/ReflectionForm/views/ReflectionFormList.d.ts +0 -3
  68. package/dist/containers/Setup/views/SetupContainer.d.ts +0 -3
  69. package/dist/containers/Subject/components/SubjectDetailModal.d.ts +0 -3
  70. package/dist/containers/Subject/hooks/useSubjectDetail.d.ts +0 -13
  71. package/dist/containers/Subject/hooks/useSubjectList.d.ts +0 -9
  72. package/dist/containers/Subject/views/SubjectList.d.ts +0 -3
  73. package/dist/containers/SuggestionBank/components/SuggestionDetailModal.d.ts +0 -3
  74. package/dist/containers/SuggestionBank/hooks/useKeywordList.d.ts +0 -10
  75. package/dist/containers/SuggestionBank/hooks/useSuggestionDetail.d.ts +0 -24
  76. package/dist/containers/SuggestionBank/hooks/useSuggestionList.d.ts +0 -10
  77. package/dist/containers/SuggestionBank/views/SuggestionList.d.ts +0 -3
  78. package/dist/index.d.ts +0 -16
  79. package/dist/index.test.d.ts +0 -1
  80. package/dist/services/assessmentService.d.ts +0 -6
  81. package/dist/services/badgeService.d.ts +0 -6
  82. package/dist/services/classService.d.ts +0 -6
  83. package/dist/services/conferenceRubricService.d.ts +0 -7
  84. package/dist/services/feedbackService.d.ts +0 -6
  85. package/dist/services/goalExampleService.d.ts +0 -6
  86. package/dist/services/learningStrategyService.d.ts +0 -6
  87. package/dist/services/questionCategoryService.d.ts +0 -6
  88. package/dist/services/questionService.d.ts +0 -6
  89. package/dist/services/reflectionFormService.d.ts +0 -6
  90. package/dist/services/studentService.d.ts +0 -2
  91. package/dist/services/subjectService.d.ts +0 -6
  92. package/dist/services/suggestionService.d.ts +0 -6
@@ -5192,7 +5192,8 @@ var style = {
5192
5192
  color: "#fff",
5193
5193
  fontWeight: 500,
5194
5194
  fontSize: "0.9em",
5195
- height: "30px"
5195
+ height: "35px",
5196
+ justifyContent: "center"
5196
5197
  };
5197
5198
 
5198
5199
  var UploadCSVButton = function UploadCSVButton(_ref) {
@@ -5206,7 +5207,7 @@ var UploadCSVButton = function UploadCSVButton(_ref) {
5206
5207
  htmlFor: htmlFor,
5207
5208
  role: "button",
5208
5209
  tabIndex: 0,
5209
- className: "d-flex align-items-center justfy-content-center \n " + (isClassReflection ? "w-25" : "") + "\n " + (!isDisabled ? "cursor-pointer hover-opacity" : ""),
5210
+ className: "d-flex align-items-center justfy-content-center\n " + (isClassReflection ? "w-25" : "") + "\n " + (!isDisabled ? "cursor-pointer hover-opacity" : ""),
5210
5211
  style: _extends({}, style, {
5211
5212
  backgroundColor: backgroundColor,
5212
5213
  opacity: !isDisabled ? 1 : 0.5
@@ -5231,6 +5232,9 @@ var importStudentCSV = function importStudentCSV(formData) {
5231
5232
  var importClassReflectionCSV = function importClassReflectionCSV(formData) {
5232
5233
  return apiUpload.post(CSV_FILE_URL + "/importClassReflection", formData);
5233
5234
  };
5235
+ var importStudentByTeacher = function importStudentByTeacher(teacherId, formData) {
5236
+ return apiUpload.post(CSV_FILE_TEACHER + "/adminImportStudentByTeacherId/" + teacherId, formData);
5237
+ };
5234
5238
 
5235
5239
  var CSVType;
5236
5240
 
@@ -5279,8 +5283,21 @@ var useCSVImport = function useCSVImport() {
5279
5283
  initImportReflection = _useState4[0],
5280
5284
  setInitImportReflection = _useState4[1];
5281
5285
 
5286
+ var _useState5 = useState(),
5287
+ studentDataFile = _useState5[0],
5288
+ setStudentDataFile = _useState5[1];
5289
+
5282
5290
  var domainName = window.location.hostname;
5283
5291
  var isCheckDomainIBS = domainName.includes('isb');
5292
+
5293
+ var _useState6 = useState(0),
5294
+ defaultTeacher = _useState6[0],
5295
+ setDefaultTeacher = _useState6[1];
5296
+
5297
+ var _useState7 = useState(""),
5298
+ fileName = _useState7[0],
5299
+ setFileName = _useState7[1];
5300
+
5284
5301
  useEffect(function () {
5285
5302
  document.title = title;
5286
5303
  }, []);
@@ -5350,9 +5367,52 @@ var useCSVImport = function useCSVImport() {
5350
5367
  }
5351
5368
  }, [type]);
5352
5369
 
5353
- var onConfirm = function onConfirm(values) {
5370
+ var uploadByTeacherId = function uploadByTeacherId(file) {
5354
5371
  try {
5355
5372
  var _temp14 = function _temp14() {
5373
+ dispatch(setLoading(false));
5374
+ var input = document.getElementById('teacherSelector');
5375
+ input && (input.value = "");
5376
+ };
5377
+
5378
+ if (!defaultTeacher) {
5379
+ dispatch(setAlert({
5380
+ type: "danger",
5381
+ message: "Select teacher before import csv"
5382
+ }));
5383
+ return Promise.resolve();
5384
+ }
5385
+
5386
+ if (!type || !file) return Promise.resolve();
5387
+ dispatch(setLoading(true));
5388
+
5389
+ var _temp15 = _catch(function () {
5390
+ var formData = new FormData();
5391
+ formData.append("file", file, file.name);
5392
+ return Promise.resolve(importStudentByTeacher(defaultTeacher, formData)).then(function () {
5393
+ dispatch(setAlert({
5394
+ type: "success",
5395
+ message: "Import CSV successfully"
5396
+ }));
5397
+ });
5398
+ }, function (err) {
5399
+ var _err$response2, _err$response2$data;
5400
+
5401
+ dispatch(setAlert({
5402
+ type: "danger",
5403
+ 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
5404
+ }));
5405
+ });
5406
+
5407
+ return Promise.resolve(_temp15 && _temp15.then ? _temp15.then(_temp14) : _temp14(_temp15));
5408
+ } catch (e) {
5409
+ return Promise.reject(e);
5410
+ }
5411
+ };
5412
+
5413
+ var onConfirm = function onConfirm(values) {
5414
+ try {
5415
+ var _temp18 = function _temp18() {
5356
5416
  dispatch(setLoading(false));
5357
5417
  var input = document.getElementById(id);
5358
5418
  input && (input.value = "");
@@ -5361,7 +5421,7 @@ var useCSVImport = function useCSVImport() {
5361
5421
  if (!dataFile || !dataFile) return Promise.resolve();
5362
5422
  dispatch(setLoading(true));
5363
5423
 
5364
- var _temp15 = _catch(function () {
5424
+ var _temp19 = _catch(function () {
5365
5425
  var formData = new FormData();
5366
5426
  formData.append("file", dataFile, dataFile.name);
5367
5427
  formData.append("teacherName", values.teacherName);
@@ -5377,20 +5437,52 @@ var useCSVImport = function useCSVImport() {
5377
5437
  setInitImportReflection(initClassReflect);
5378
5438
  });
5379
5439
  }, function (err) {
5380
- var _err$response2, _err$response2$data;
5440
+ var _err$response3, _err$response3$data;
5381
5441
 
5382
5442
  dispatch(setAlert({
5383
5443
  type: "danger",
5384
- 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
5444
+ 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
5385
5445
  }));
5386
5446
  });
5387
5447
 
5388
- return Promise.resolve(_temp15 && _temp15.then ? _temp15.then(_temp14) : _temp14(_temp15));
5448
+ return Promise.resolve(_temp19 && _temp19.then ? _temp19.then(_temp18) : _temp18(_temp19));
5389
5449
  } catch (e) {
5390
5450
  return Promise.reject(e);
5391
5451
  }
5392
5452
  };
5393
5453
 
5454
+ var onChangeTeacher = function onChangeTeacher(teacher) {
5455
+ setDefaultTeacher(teacher.value);
5456
+ };
5457
+
5458
+ var setDataFileImportStudent = function setDataFileImportStudent(dataFile) {
5459
+ setStudentDataFile(dataFile);
5460
+ setFileName((dataFile === null || dataFile === void 0 ? void 0 : dataFile.name) || "");
5461
+ };
5462
+
5463
+ var onUpLoadStudentFile = function onUpLoadStudentFile() {
5464
+ if (!studentDataFile) {
5465
+ dispatch(setAlert({
5466
+ type: "danger",
5467
+ message: "Select CSV to import"
5468
+ }));
5469
+ return;
5470
+ }
5471
+
5472
+ uploadByTeacherId(studentDataFile);
5473
+ };
5474
+
5475
+ var onStudentSubmit = function onStudentSubmit() {
5476
+ dispatch(setModal({
5477
+ isOpen: true,
5478
+ type: "warning",
5479
+ message: "Are you sure upload this file?",
5480
+ onConfirm: function onConfirm() {
5481
+ onUpLoadStudentFile();
5482
+ }
5483
+ }));
5484
+ };
5485
+
5394
5486
  return {
5395
5487
  isLoading: isLoading,
5396
5488
  buttons: buttons,
@@ -5405,7 +5497,14 @@ var useCSVImport = function useCSVImport() {
5405
5497
  setDataFile: setDataFile,
5406
5498
  setArrStudent: setArrStudent,
5407
5499
  arrStudent: arrStudent,
5408
- isCheckDomainIBS: isCheckDomainIBS
5500
+ isCheckDomainIBS: isCheckDomainIBS,
5501
+ onChangeTeacher: onChangeTeacher,
5502
+ uploadByTeacherId: uploadByTeacherId,
5503
+ setDataFileImportStudent: setDataFileImportStudent,
5504
+ onUpLoadStudentFile: onUpLoadStudentFile,
5505
+ defaultTeacher: defaultTeacher,
5506
+ fileName: fileName,
5507
+ onStudentSubmit: onStudentSubmit
5409
5508
  };
5410
5509
  };
5411
5510
 
@@ -5432,10 +5531,15 @@ var CSVImport = function CSVImport() {
5432
5531
  setArrStudent = _useCSVImport.setArrStudent,
5433
5532
  buttons = _useCSVImport.buttons,
5434
5533
  upload = _useCSVImport.upload,
5435
- isCheckDomainIBS = _useCSVImport.isCheckDomainIBS;
5534
+ isCheckDomainIBS = _useCSVImport.isCheckDomainIBS,
5535
+ onChangeTeacher = _useCSVImport.onChangeTeacher,
5536
+ setDataFileImportStudent = _useCSVImport.setDataFileImportStudent,
5537
+ defaultTeacher = _useCSVImport.defaultTeacher,
5538
+ fileName = _useCSVImport.fileName,
5539
+ onStudentSubmit = _useCSVImport.onStudentSubmit;
5436
5540
 
5437
5541
  return React.createElement("div", {
5438
- className: "animated fadeIn pt-3"
5542
+ className: "animated fadeIn pt-5"
5439
5543
  }, isCheckDomainIBS ? React.createElement(React.Fragment, null, React.createElement(Input, {
5440
5544
  className: "d-none",
5441
5545
  type: "file",
@@ -5528,7 +5632,43 @@ var CSVImport = function CSVImport() {
5528
5632
  }
5529
5633
  });
5530
5634
  })))));
5531
- }))) : React.createElement(React.Fragment, null, React.createElement(Input, {
5635
+ }))) : React.createElement(React.Fragment, null, React.createElement(Row, null, React.createElement(Col, {
5636
+ md: 3,
5637
+ className: "mb-3"
5638
+ }, React.createElement(TeacherSelector, {
5639
+ defaultValue: defaultTeacher,
5640
+ onChange: onChangeTeacher
5641
+ }), React.createElement("div", {
5642
+ className: "mt-3"
5643
+ }, fileName ? React.createElement("span", {
5644
+ className: "font-italic mb-1 font-lg"
5645
+ }, fileName) : null, React.createElement(Input, {
5646
+ className: "d-none",
5647
+ type: "file",
5648
+ id: "teacherSelector",
5649
+ onChange: function onChange(e) {
5650
+ return setDataFileImportStudent(e.target.files[0]);
5651
+ },
5652
+ accept: "text/csv"
5653
+ }), React.createElement(UploadCSVButton, {
5654
+ key: "Import student",
5655
+ htmlFor: "teacherSelector",
5656
+ text: "Select CSV",
5657
+ isDisabled: isLoading,
5658
+ backgroundColor: "#e74c3c",
5659
+ onClick: function onClick() {
5660
+ return setType(CSVType.Students);
5661
+ }
5662
+ })), React.createElement(Button, {
5663
+ color: "success",
5664
+ onClick: onStudentSubmit,
5665
+ className: "w-100 mt-3"
5666
+ }, "Import")), React.createElement(Col, {
5667
+ md: 3
5668
+ }), React.createElement(Col, {
5669
+ md: 3,
5670
+ className: "mb-3"
5671
+ }, React.createElement(Input, {
5532
5672
  className: "d-none",
5533
5673
  type: "file",
5534
5674
  id: id,
@@ -5536,9 +5676,7 @@ var CSVImport = function CSVImport() {
5536
5676
  return upload(e.target.files[0]);
5537
5677
  },
5538
5678
  accept: "text/csv"
5539
- }), React.createElement("div", {
5540
- className: "d-flex align-items-center"
5541
- }, buttons.map(function (button) {
5679
+ }), buttons.map(function (button) {
5542
5680
  return React.createElement(UploadCSVButton, {
5543
5681
  key: button.text,
5544
5682
  htmlFor: id,
@@ -5549,7 +5687,7 @@ var CSVImport = function CSVImport() {
5549
5687
  return setType(button.type);
5550
5688
  }
5551
5689
  });
5552
- }))));
5690
+ })))));
5553
5691
  };
5554
5692
 
5555
5693
  var schema$5 = object({