mario-education 2.2.7 → 2.3.1

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.
@@ -150,9 +150,6 @@ var StudentSelector = function StudentSelector(_ref) {
150
150
  id: student.id
151
151
  };
152
152
  });
153
- console.log("teacher assignment");
154
- console.log(options);
155
- console.log(value);
156
153
  return React.createElement(CustomSelector, {
157
154
  options: options,
158
155
  inputValue: searchString,
@@ -5212,6 +5209,9 @@ var CSV_FILE_URL = BASE_URL + "/api/ImportCsv/csv";
5212
5209
  var importCSV = function importCSV(formData, subFolder) {
5213
5210
  return apiUpload.post(CSV_FILE_URL + "/" + subFolder, formData);
5214
5211
  };
5212
+ var importClassReflectionCSV = function importClassReflectionCSV(formData) {
5213
+ return apiUpload.post(CSV_FILE_URL + "/importClassReflection", formData);
5214
+ };
5215
5215
 
5216
5216
  var CSVType;
5217
5217
 
@@ -5247,6 +5247,12 @@ var buttons = [{
5247
5247
  }];
5248
5248
  var title = "CSV Import";
5249
5249
  var id = "csvupload";
5250
+ var initClassReflect = {
5251
+ teacherName: '',
5252
+ teacherEmail: '',
5253
+ studentIds: [],
5254
+ file: ''
5255
+ };
5250
5256
 
5251
5257
  var useCSVImport = function useCSVImport() {
5252
5258
  var dispatch = useDispatch();
@@ -5258,6 +5264,18 @@ var useCSVImport = function useCSVImport() {
5258
5264
  type = _useState[0],
5259
5265
  setType = _useState[1];
5260
5266
 
5267
+ var _useState2 = useState(),
5268
+ dataFile = _useState2[0],
5269
+ setDataFile = _useState2[1];
5270
+
5271
+ var _useState3 = useState([]),
5272
+ arrStudent = _useState3[0],
5273
+ setArrStudent = _useState3[1];
5274
+
5275
+ var _useState4 = useState(initClassReflect),
5276
+ initImportReflection = _useState4[0],
5277
+ setInitImportReflection = _useState4[1];
5278
+
5261
5279
  useEffect(function () {
5262
5280
  document.title = title;
5263
5281
  }, []);
@@ -5295,50 +5313,203 @@ var useCSVImport = function useCSVImport() {
5295
5313
  return Promise.reject(e);
5296
5314
  }
5297
5315
  }, [type]);
5316
+
5317
+ var onConfirm = function onConfirm(values) {
5318
+ try {
5319
+ var _temp7 = function _temp7() {
5320
+ dispatch(setLoading(false));
5321
+ var input = document.getElementById(id);
5322
+ input && (input.value = "");
5323
+ };
5324
+
5325
+ if (!dataFile || !dataFile) return Promise.resolve();
5326
+ dispatch(setLoading(true));
5327
+
5328
+ var _temp8 = _catch(function () {
5329
+ var formData = new FormData();
5330
+ formData.append("file", dataFile, dataFile.name);
5331
+ formData.append("teacherName", values.teacherName);
5332
+ formData.append("teacherEmail", values.teacherEmail);
5333
+ formData.append("studentIds", values.studentIds);
5334
+ return Promise.resolve(importClassReflectionCSV(formData)).then(function () {
5335
+ dispatch(setAlert({
5336
+ type: "success",
5337
+ message: "Import CSV successfully"
5338
+ }));
5339
+ setInitImportReflection(initClassReflect);
5340
+ });
5341
+ }, function (err) {
5342
+ var _err$response2, _err$response2$data;
5343
+
5344
+ dispatch(setAlert({
5345
+ type: "danger",
5346
+ 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
5347
+ }));
5348
+ });
5349
+
5350
+ return Promise.resolve(_temp8 && _temp8.then ? _temp8.then(_temp7) : _temp7(_temp8));
5351
+ } catch (e) {
5352
+ return Promise.reject(e);
5353
+ }
5354
+ };
5355
+
5298
5356
  return {
5299
5357
  isLoading: isLoading,
5300
5358
  buttons: buttons,
5301
5359
  id: id,
5302
5360
  setType: setType,
5303
- upload: upload
5361
+ upload: upload,
5362
+ initImportReflection: initImportReflection,
5363
+ setInitImportReflection: setInitImportReflection,
5364
+ onConfirm: onConfirm,
5365
+ CSVType: CSVType,
5366
+ dataFile: dataFile,
5367
+ setDataFile: setDataFile,
5368
+ setArrStudent: setArrStudent,
5369
+ arrStudent: arrStudent
5304
5370
  };
5305
5371
  };
5306
5372
 
5373
+ var schema$4 = object({
5374
+ teacherName: string().required(),
5375
+ teacherEmail: string().required(),
5376
+ studentIds: array().required().test("test students", "Please choose student", function () {
5377
+ return !!this.parent.studentIds && !!this.parent.studentIds.length;
5378
+ }),
5379
+ file: string().required()
5380
+ });
5381
+
5307
5382
  var CSVImport = function CSVImport() {
5308
5383
  var _useCSVImport = useCSVImport(),
5384
+ initImportReflection = _useCSVImport.initImportReflection,
5385
+ onConfirm = _useCSVImport.onConfirm,
5309
5386
  isLoading = _useCSVImport.isLoading,
5310
- buttons = _useCSVImport.buttons,
5311
- id = _useCSVImport.id,
5312
5387
  setType = _useCSVImport.setType,
5313
- upload = _useCSVImport.upload;
5388
+ id = _useCSVImport.id,
5389
+ CSVType = _useCSVImport.CSVType,
5390
+ dataFile = _useCSVImport.dataFile,
5391
+ setDataFile = _useCSVImport.setDataFile,
5392
+ setArrStudent = _useCSVImport.setArrStudent,
5393
+ arrStudent = _useCSVImport.arrStudent;
5314
5394
 
5315
5395
  return React.createElement("div", {
5316
5396
  className: "animated fadeIn pt-3"
5317
- }, React.createElement(Input, {
5318
- className: "d-none",
5319
- type: "file",
5320
- id: id,
5321
- onChange: function onChange(e) {
5322
- return upload(e.target.files[0]);
5323
- },
5324
- accept: "text/csv"
5325
- }), React.createElement("div", {
5326
- className: "d-flex align-items-center"
5327
- }, buttons.map(function (button) {
5328
- return React.createElement(UploadCSVButton, {
5329
- key: button.text,
5397
+ }, React.createElement("div", {
5398
+ className: "class-reflection"
5399
+ }, React.createElement(Formik, {
5400
+ initialValues: initImportReflection,
5401
+ enableReinitialize: true,
5402
+ validationSchema: schema$4,
5403
+ onSubmit: function onSubmit(values, actions) {
5404
+ onConfirm(values);
5405
+ setDataFile('');
5406
+ setArrStudent([]);
5407
+ actions.resetForm();
5408
+ }
5409
+ }, function (formProps) {
5410
+ var values = formProps.values,
5411
+ touched = formProps.touched,
5412
+ errors = formProps.errors,
5413
+ handleSubmit = formProps.handleSubmit,
5414
+ handleChange = formProps.handleChange;
5415
+ return React.createElement(Row, {
5416
+ className: "mb-2"
5417
+ }, React.createElement(Input, {
5418
+ className: "d-none",
5419
+ type: "file",
5420
+ id: id,
5421
+ onChange: function onChange(e) {
5422
+ setDataFile(e.target.files[0]);
5423
+ formProps.setFieldValue('file', 'imported');
5424
+ var input = document.getElementById(id);
5425
+ input && (input.value = "");
5426
+ },
5427
+ accept: "text/csv"
5428
+ }), React.createElement(Col, {
5429
+ md: 6,
5430
+ className: "mb-2"
5431
+ }, React.createElement(Row, null, React.createElement(Col, {
5432
+ md: 12,
5433
+ className: "mb-2"
5434
+ }, React.createElement(RequiredLabel, {
5435
+ text: "Class Teacher Name"
5436
+ }), React.createElement(Input, {
5437
+ name: "teacherName",
5438
+ value: values.teacherName,
5439
+ type: "text",
5440
+ onChange: function onChange(e) {
5441
+ handleChange(e);
5442
+ }
5443
+ }), touched.teacherName && errors.teacherName && React.createElement(ErrorHandler, {
5444
+ text: errors.teacherName
5445
+ })), React.createElement(Col, {
5446
+ md: 12,
5447
+ className: "mb-2"
5448
+ }, React.createElement(RequiredLabel, {
5449
+ text: "Class Teacher Email"
5450
+ }), React.createElement(Input, {
5451
+ name: "teacherEmail",
5452
+ value: values.teacherEmail,
5453
+ type: "text",
5454
+ onChange: function onChange(e) {
5455
+ handleChange(e);
5456
+ }
5457
+ }), touched.teacherEmail && errors.teacherEmail && React.createElement(ErrorHandler, {
5458
+ text: errors.teacherEmail
5459
+ })), React.createElement(Col, {
5460
+ md: 12,
5461
+ className: "mb-2"
5462
+ }, React.createElement(Label, null, "Students"), React.createElement(StudentSelector, {
5463
+ onChange: function onChange(e) {
5464
+ setArrStudent(e);
5465
+ formProps.setFieldValue("studentIds", e.map(function (i) {
5466
+ return i.value;
5467
+ }) || []);
5468
+ },
5469
+ value: arrStudent
5470
+ })), React.createElement(Col, {
5471
+ md: 12,
5472
+ className: "mb-2"
5473
+ }, touched.studentIds && errors.studentIds && React.createElement(ErrorHandler, {
5474
+ text: errors.studentIds
5475
+ })), React.createElement(Col, {
5476
+ md: 12,
5477
+ className: "mb-2"
5478
+ }, React.createElement(RequiredLabel, {
5479
+ text: "Upload File Class Reflection"
5480
+ }), React.createElement(UploadCSVButton, {
5481
+ key: "Import class reflections",
5330
5482
  htmlFor: id,
5331
- text: button.text,
5483
+ text: "Import class reflections",
5332
5484
  isDisabled: isLoading,
5333
- backgroundColor: button.backgroundColor,
5485
+ backgroundColor: "#e74c3c",
5334
5486
  onClick: function onClick() {
5335
- return setType(button.type);
5487
+ setType(CSVType.ClassReflection);
5336
5488
  }
5337
- });
5489
+ }), !!dataFile && React.createElement("p", {
5490
+ style: {
5491
+ color: 'red',
5492
+ fontStyle: 'italic',
5493
+ marginTop: '5px'
5494
+ }
5495
+ }, dataFile.name)), !dataFile && React.createElement(Col, {
5496
+ md: 12,
5497
+ className: "mb-2"
5498
+ }, touched.file && errors.file && React.createElement(ErrorHandler, {
5499
+ text: errors.file
5500
+ })), React.createElement(Col, {
5501
+ md: 12
5502
+ }, React.createElement(Button, {
5503
+ color: "primary",
5504
+ className: "float-right",
5505
+ onClick: function onClick() {
5506
+ return handleSubmit();
5507
+ }
5508
+ }, "Import"), ' '))));
5338
5509
  })));
5339
5510
  };
5340
5511
 
5341
- var schema$4 = object({
5512
+ var schema$5 = object({
5342
5513
  name: string().required("Name is required"),
5343
5514
  startTime: string().required("Start time is required"),
5344
5515
  endTime: string().required("End time is required")
@@ -5357,7 +5528,7 @@ var SemesterDetailModal = function SemesterDetailModal(props, ref) {
5357
5528
  return React.createElement(Formik, {
5358
5529
  initialValues: semesterDetail,
5359
5530
  enableReinitialize: true,
5360
- validationSchema: schema$4,
5531
+ validationSchema: schema$5,
5361
5532
  onSubmit: function onSubmit(values, actions) {
5362
5533
  onConfirm(values);
5363
5534
  actions.resetForm();
@@ -5410,7 +5581,7 @@ var SemesterDetailModal = function SemesterDetailModal(props, ref) {
5410
5581
  })), React.createElement(Col, {
5411
5582
  md: 6
5412
5583
  }, React.createElement(DatePicker, {
5413
- value: utcToLocalTime(values.startTime, "MMM dd, yyyy"),
5584
+ value: !!values.startTime ? utcToLocalTime(values.startTime, "Do MMMM YYYY") : "",
5414
5585
  todayButton: "Today",
5415
5586
  peekNextMonth: true,
5416
5587
  showMonthDropdown: true,
@@ -5441,7 +5612,7 @@ var SemesterDetailModal = function SemesterDetailModal(props, ref) {
5441
5612
  })), React.createElement(Col, {
5442
5613
  md: 6
5443
5614
  }, React.createElement(DatePicker, {
5444
- value: utcToLocalTime(values.endTime, "MMM dd, yyyy"),
5615
+ value: !!values.endTime ? utcToLocalTime(values.endTime, "Do MMMM YYYY") : "",
5445
5616
  todayButton: "Today",
5446
5617
  peekNextMonth: true,
5447
5618
  showMonthDropdown: true,
@@ -5468,7 +5639,7 @@ var SemesterDetailModal = function SemesterDetailModal(props, ref) {
5468
5639
 
5469
5640
  var SemesterDetailModal$1 = forwardRef(SemesterDetailModal);
5470
5641
 
5471
- var schema$5 = object({
5642
+ var schema$6 = object({
5472
5643
  value: number().required("Breaking month is required")
5473
5644
  });
5474
5645
  var options = [{
@@ -5521,7 +5692,7 @@ var BreakingMonthModal = function BreakingMonthModal(props, ref) {
5521
5692
  return React.createElement(Formik, {
5522
5693
  initialValues: breakingMonthDetail,
5523
5694
  enableReinitialize: true,
5524
- validationSchema: schema$5,
5695
+ validationSchema: schema$6,
5525
5696
  onSubmit: function onSubmit(values, actions) {
5526
5697
  onConfirm(values);
5527
5698
  actions.resetForm();
@@ -6057,9 +6228,9 @@ var SemesterList = function SemesterList() {
6057
6228
  }
6058
6229
  })), React.createElement("td", {
6059
6230
  className: "align-middle"
6060
- }, utcToLocalTime(record.startTime, "MMM dd, yyyy")), React.createElement("td", {
6231
+ }, utcToLocalTime(record.startTime, "Do MMMM YYYY")), React.createElement("td", {
6061
6232
  className: "align-middle"
6062
- }, utcToLocalTime(record.endTime, "MMM dd, yyyy")), React.createElement("td", {
6233
+ }, utcToLocalTime(record.endTime, "Do MMMM YYYY")), React.createElement("td", {
6063
6234
  className: "text-center align-middle"
6064
6235
  }, React.createElement(DeleteButtonIcon, {
6065
6236
  onClick: function onClick() {
@@ -6099,7 +6270,7 @@ var SemesterList = function SemesterList() {
6099
6270
  }, "Change breaking month"))))));
6100
6271
  };
6101
6272
 
6102
- var schema$6 = object({
6273
+ var schema$7 = object({
6103
6274
  label: string().required("Label is required"),
6104
6275
  value: number().required("Value is required")
6105
6276
  });
@@ -6117,7 +6288,7 @@ var BandScoreDetailModal = function BandScoreDetailModal(props, ref) {
6117
6288
  return React.createElement(Formik, {
6118
6289
  initialValues: bandScoreDetail,
6119
6290
  enableReinitialize: true,
6120
- validationSchema: schema$6,
6291
+ validationSchema: schema$7,
6121
6292
  onSubmit: function onSubmit(values, actions) {
6122
6293
  onConfirm(values);
6123
6294
  actions.resetForm();
@@ -6786,7 +6957,7 @@ var CurrentLicense = function CurrentLicense() {
6786
6957
  }))));
6787
6958
  };
6788
6959
 
6789
- var schema$7 = object({
6960
+ var schema$8 = object({
6790
6961
  name: string().required("Name is required"),
6791
6962
  startTime: string().required("Start time is required"),
6792
6963
  endTime: string().required("End time is required")
@@ -6805,7 +6976,7 @@ var SchoolBlankDayDetailModal = function SchoolBlankDayDetailModal(props, ref) {
6805
6976
  return React.createElement(Formik, {
6806
6977
  initialValues: schoolBlankDayDetail,
6807
6978
  enableReinitialize: true,
6808
- validationSchema: schema$7,
6979
+ validationSchema: schema$8,
6809
6980
  onSubmit: function onSubmit(values, actions) {
6810
6981
  onConfirm(values);
6811
6982
  actions.resetForm();
@@ -7241,9 +7412,9 @@ var SchoolBlankDayList = function SchoolBlankDayList() {
7241
7412
  }
7242
7413
  })), React.createElement("td", {
7243
7414
  className: "align-middle"
7244
- }, utcToLocalTime(record.startTime, DATE_FORMAT)), React.createElement("td", {
7415
+ }, utcToLocalTime(record.startTime, "Do MMMM YYYY")), React.createElement("td", {
7245
7416
  className: "align-middle"
7246
- }, utcToLocalTime(record.endTime, DATE_FORMAT)), React.createElement("td", {
7417
+ }, utcToLocalTime(record.endTime, "Do MMMM YYYY")), React.createElement("td", {
7247
7418
  className: "text-center align-middle"
7248
7419
  }, React.createElement(DeleteButtonIcon, {
7249
7420
  onClick: function onClick() {
@@ -8335,7 +8506,7 @@ var QuestionSplitPaneSelector = function QuestionSplitPaneSelector(props) {
8335
8506
  }, " ", "v", " ")) : "");
8336
8507
  };
8337
8508
 
8338
- var schema$8 = object({
8509
+ var schema$9 = object({
8339
8510
  name: string().required("Name is required")
8340
8511
  });
8341
8512
 
@@ -8361,7 +8532,7 @@ var ReflectionDetailModal = function ReflectionDetailModal(props, ref) {
8361
8532
  return React.createElement(Formik, {
8362
8533
  initialValues: reflectionformDetail,
8363
8534
  enableReinitialize: true,
8364
- validationSchema: schema$8,
8535
+ validationSchema: schema$9,
8365
8536
  onSubmit: function onSubmit(values, actions) {
8366
8537
  values.questionIds = arrId;
8367
8538
  onConfirm(values);
@@ -9742,7 +9913,7 @@ var AdditionalComponent = function AdditionalComponent(_ref) {
9742
9913
  return null;
9743
9914
  };
9744
9915
 
9745
- var schema$9 = object({
9916
+ var schema$a = object({
9746
9917
  text: string().required("Question text is required"),
9747
9918
  type: string().required("Question type is required"),
9748
9919
  categoryId: number().test("test category id", "Category is required", function (value) {
@@ -9995,7 +10166,7 @@ var QuestionDetail = function QuestionDetail() {
9995
10166
  return React.createElement(Formik, {
9996
10167
  initialValues: questionDetail,
9997
10168
  enableReinitialize: true,
9998
- validationSchema: schema$9,
10169
+ validationSchema: schema$a,
9999
10170
  onSubmit: function onSubmit(values) {
10000
10171
  if (values.type == QUESTION_TYPES.EMOTIONAL && !!values.answers) {
10001
10172
  for (var index in values.answers) {
@@ -10261,7 +10432,7 @@ var QuestionSplitPaneSelector$1 = function QuestionSplitPaneSelector(props) {
10261
10432
  }, " ", "v", " ")) : "");
10262
10433
  };
10263
10434
 
10264
- var schema$a = object({
10435
+ var schema$b = object({
10265
10436
  name: string().required("Name is required")
10266
10437
  });
10267
10438
 
@@ -10287,7 +10458,7 @@ var AssessmentDetailModal = function AssessmentDetailModal(props, ref) {
10287
10458
  return React.createElement(Formik, {
10288
10459
  initialValues: assessmentDetail,
10289
10460
  enableReinitialize: true,
10290
- validationSchema: schema$a,
10461
+ validationSchema: schema$b,
10291
10462
  onSubmit: function onSubmit(values, actions) {
10292
10463
  values.questionIds = arrId;
10293
10464
  onConfirm(values);
@@ -11229,7 +11400,7 @@ var FeedbackList = function FeedbackList() {
11229
11400
  }))));
11230
11401
  };
11231
11402
 
11232
- var schema$b = object({
11403
+ var schema$c = object({
11233
11404
  name: string().required("Name is required")
11234
11405
  });
11235
11406
 
@@ -11249,7 +11420,7 @@ var TutorialScreenDetailModal = function TutorialScreenDetailModal(props, ref) {
11249
11420
  typeRole: typeRole
11250
11421
  }),
11251
11422
  enableReinitialize: true,
11252
- validationSchema: schema$b,
11423
+ validationSchema: schema$c,
11253
11424
  onSubmit: function onSubmit(values, actions) {
11254
11425
  onConfirm(values);
11255
11426
  actions.resetForm();
@@ -11729,110 +11900,7 @@ var TutorialScreenContainer = function TutorialScreenContainer() {
11729
11900
  });
11730
11901
  };
11731
11902
 
11732
- var QuestionBankList$1 = function QuestionBankList(_ref) {
11733
- var isDefaultQuestion = _ref.isDefaultQuestion,
11734
- isDefaultQuestionGeneral = _ref.isDefaultQuestionGeneral;
11735
-
11736
- var _useQuestionList = useQuestionList(isDefaultQuestion, isDefaultQuestionGeneral),
11737
- totalItems = _useQuestionList.totalItems,
11738
- gridOptions = _useQuestionList.gridOptions,
11739
- setRef = _useQuestionList.setRef,
11740
- goToDetail = _useQuestionList.goToDetail,
11741
- filters = _useQuestionList.filters,
11742
- changeFilters = _useQuestionList.changeFilters,
11743
- updateOrderQuestions = _useQuestionList.updateOrderQuestions;
11744
-
11745
- var onRowDragEnd = function onRowDragEnd(e) {
11746
- var dataAfterDrag = e.node.parent.childrenAfterFilter.map(function (item, index) {
11747
- return {
11748
- id: item.data.id,
11749
- orderDrag: ++index
11750
- };
11751
- });
11752
- updateOrderQuestions(dataAfterDrag, isDefaultQuestionGeneral);
11753
- };
11754
-
11755
- return React.createElement("div", {
11756
- className: "animated fadeIn"
11757
- }, React.createElement(Row, {
11758
- className: "my-2"
11759
- }, React.createElement(Col, {
11760
- md: 8
11761
- }, React.createElement(SearchBoxContainer, {
11762
- text: "Create question",
11763
- onClick: function onClick() {
11764
- return goToDetail();
11765
- },
11766
- initValue: filters.searchString,
11767
- onSearch: function onSearch(searchString) {
11768
- return changeFilters({
11769
- searchString: searchString
11770
- });
11771
- },
11772
- placeholder: "Type something to Search question"
11773
- })), isDefaultQuestion && React.createElement(Col, {
11774
- md: 2
11775
- }, React.createElement(DefaultQuestionStudentTeacherFilter, {
11776
- isDefaultQuestionTeacher: filters.isDefaultQuestionTeacher,
11777
- onChange: function onChange(e) {
11778
- return changeFilters({
11779
- isDefaultQuestionTeacher: e ? e.value : null
11780
- });
11781
- }
11782
- })), isDefaultQuestionGeneral && React.createElement(Col, {
11783
- md: 2
11784
- }, React.createElement(DefaultQuestionStudentTeacherFilter, {
11785
- isDefaultQuestionTeacher: filters.isDefaultQuestionGeneralClassTeacher,
11786
- onChange: function onChange(e) {
11787
- return changeFilters({
11788
- isDefaultQuestionGeneralClassTeacher: e ? e.value : null
11789
- });
11790
- },
11791
- isDefaultGeneralClass: true
11792
- })), React.createElement(Col, {
11793
- md: isDefaultQuestion || isDefaultQuestionGeneral ? 2 : 4,
11794
- className: "d-flex align-items-center justify-content-end"
11795
- }, "Total of questions: ", totalItems)), React.createElement(Row, {
11796
- className: "mb-2"
11797
- }, React.createElement(Col, {
11798
- md: 12,
11799
- className: "mb-2"
11800
- }, React.createElement("div", {
11801
- className: "ag-theme-balham w-100"
11802
- }, React.createElement(AgGridReact, {
11803
- domLayout: "autoHeight",
11804
- gridOptions: gridOptions,
11805
- masterDetail: true,
11806
- onGridReady: function onGridReady(params) {
11807
- setRef(params.api);
11808
- },
11809
- rowDragManaged: true,
11810
- animateRows: true,
11811
- modules: [MasterDetailModule, ClientSideRowModelModule],
11812
- onRowDragEnd: onRowDragEnd
11813
- }))), React.createElement(Col, {
11814
- md: 12
11815
- }, React.createElement(CustomPagination, {
11816
- filters: filters,
11817
- totalRecordCount: totalItems,
11818
- changePageSize: function changePageSize(pageSize) {
11819
- return changeFilters({
11820
- pageSize: pageSize
11821
- });
11822
- },
11823
- changePage: function changePage(currentPage) {
11824
- return changeFilters({
11825
- currentPage: currentPage
11826
- });
11827
- }
11828
- }))));
11829
- };
11830
-
11831
- QuestionBankList$1.defaultProps = {
11832
- isDefaultQuestion: false
11833
- };
11834
-
11835
- var schema$c = object({
11903
+ var schema$d = object({
11836
11904
  name: string().required("Name is required")
11837
11905
  });
11838
11906
 
@@ -11849,7 +11917,7 @@ var QuestionCateModal = function QuestionCateModal(props, ref) {
11849
11917
  return React.createElement(Formik, {
11850
11918
  initialValues: questionCateDetail,
11851
11919
  enableReinitialize: true,
11852
- validationSchema: schema$c,
11920
+ validationSchema: schema$d,
11853
11921
  onSubmit: function onSubmit(values, actions) {
11854
11922
  onConfirm(values);
11855
11923
  actions.resetForm();
@@ -12260,25 +12328,7 @@ var QuestionCateList = function QuestionCateList() {
12260
12328
  var tabs$3 = [{
12261
12329
  path: "/admin/question/question-list",
12262
12330
  title: "Question list",
12263
- component: QuestionBankList$1
12264
- }, {
12265
- path: "/admin/question/default-question-list",
12266
- title: "Default question list",
12267
- component: function component() {
12268
- return React.createElement(QuestionBankList$1, {
12269
- isDefaultQuestion: true,
12270
- isDefaultQuestionGeneral: false
12271
- });
12272
- }
12273
- }, {
12274
- path: "/admin/question/default-question-general-list",
12275
- title: "Default question general class list",
12276
- component: function component() {
12277
- return React.createElement(QuestionBankList$1, {
12278
- isDefaultQuestion: false,
12279
- isDefaultQuestionGeneral: true
12280
- });
12281
- }
12331
+ component: QuestionBankList
12282
12332
  }, {
12283
12333
  path: "/admin/question/question-category",
12284
12334
  title: "Question category",
@@ -12454,7 +12504,7 @@ var SemesterSelector = function SemesterSelector(_ref) {
12454
12504
  }));
12455
12505
  };
12456
12506
 
12457
- var schema$d = object({
12507
+ var schema$e = object({
12458
12508
  beginDate: string().required("Begin date is required"),
12459
12509
  endDate: string().required("End date is required"),
12460
12510
  timeSemester: string().required("Time Semester is required"),
@@ -12490,7 +12540,7 @@ var AssignmentDetailModal = function AssignmentDetailModal(props, ref) {
12490
12540
  return React.createElement(Formik, {
12491
12541
  initialValues: assignmentDetail,
12492
12542
  enableReinitialize: true,
12493
- validationSchema: schema$d,
12543
+ validationSchema: schema$e,
12494
12544
  onSubmit: function onSubmit(values, actions) {
12495
12545
  onConfirm(values);
12496
12546
  actions.resetForm();
@@ -14178,7 +14228,7 @@ var SkillSelector$1 = function SkillSelector(_ref) {
14178
14228
  });
14179
14229
  };
14180
14230
 
14181
- var schema$e = object({
14231
+ var schema$f = object({
14182
14232
  name: string().required("Name is required"),
14183
14233
  isConference: boolean().required("Is conference is required"),
14184
14234
  conferenceRubricId: number().nullable().test("Test conference rubric id", "Conference rubric is required", function () {
@@ -14566,7 +14616,7 @@ var SessionTemplateDetail = function SessionTemplateDetail() {
14566
14616
  return React.createElement(Formik, {
14567
14617
  initialValues: sessionTemplateDetail,
14568
14618
  enableReinitialize: true,
14569
- validationSchema: schema$e,
14619
+ validationSchema: schema$f,
14570
14620
  onSubmit: function onSubmit(values) {
14571
14621
  confirmData(values);
14572
14622
  setEdited(false);
@@ -15119,7 +15169,7 @@ var useSessionTemplateGeneralClassDetail = function useSessionTemplateGeneralCla
15119
15169
  };
15120
15170
 
15121
15171
  var LINK_TO_DEFAULT_QUESTION_GENERAL_CLASS = "/admin/question/default-question-general-list";
15122
- var schema$f = object({
15172
+ var schema$g = object({
15123
15173
  name: string().trim().required("Name is required"),
15124
15174
  subjectId: number().required("Subject is required").test("Test subject", "Subject is required", function (value) {
15125
15175
  return value > 0;
@@ -15203,7 +15253,7 @@ var SessionTemplateGeneralClassDetail = function SessionTemplateGeneralClassDeta
15203
15253
  return React.createElement(Formik, {
15204
15254
  initialValues: sessionTemplateGeneralClassDetail,
15205
15255
  enableReinitialize: true,
15206
- validationSchema: schema$f,
15256
+ validationSchema: schema$g,
15207
15257
  onSubmit: function onSubmit(values) {
15208
15258
  confirmData(values);
15209
15259
  setEdited(false);
@@ -15410,7 +15460,7 @@ var SessionTemplateGeneralClassDetail = function SessionTemplateGeneralClassDeta
15410
15460
  });
15411
15461
  };
15412
15462
 
15413
- var schema$g = object({
15463
+ var schema$h = object({
15414
15464
  learningSupportCategoryId: number().test("testLearningSupportCategoryId", "Invalid category", function (number) {
15415
15465
  return !!number && number >= 1;
15416
15466
  }),
@@ -15440,7 +15490,7 @@ var CustomAlertDetailModal = function CustomAlertDetailModal(props, ref) {
15440
15490
  return React.createElement(Formik, {
15441
15491
  initialValues: customAlertDetail,
15442
15492
  enableReinitialize: true,
15443
- validationSchema: schema$g,
15493
+ validationSchema: schema$h,
15444
15494
  onSubmit: function onSubmit(values, actions) {
15445
15495
  onConfirm(values);
15446
15496
  actions.resetForm();
@@ -16014,7 +16064,7 @@ var CustomAlertList = function CustomAlertList() {
16014
16064
 
16015
16065
  var certificate = {"certificate-item":"_3DVMZ","add-breakpoint":"_3zOGW","box-item":"_3DQwX"};
16016
16066
 
16017
- var schema$h = object({
16067
+ var schema$i = object({
16018
16068
  name: string().required("Name is required"),
16019
16069
  certificateItems: array().test("Text label required", "Text is required", function (value) {
16020
16070
  return value === null || value === void 0 ? void 0 : value.every(function (item) {
@@ -16039,7 +16089,7 @@ var CertificateDetailModal = function CertificateDetailModal(props, ref) {
16039
16089
  return React.createElement(Formik, {
16040
16090
  initialValues: certificateDetail,
16041
16091
  enableReinitialize: true,
16042
- validationSchema: schema$h,
16092
+ validationSchema: schema$i,
16043
16093
  onSubmit: function onSubmit(values, actions) {
16044
16094
  var _values$certificateIt;
16045
16095
 
@@ -17328,6 +17378,7 @@ var HighImpact = function HighImpact(_ref) {
17328
17378
  }, [data]);
17329
17379
  if (!data) return React.createElement(Loading, null);
17330
17380
  var series = [{
17381
+ name: "",
17331
17382
  data: ratings
17332
17383
  }];
17333
17384
  var options = {
@@ -17460,11 +17511,6 @@ var PerceivedImpact = function PerceivedImpact(_ref) {
17460
17511
  var data = _ref.data;
17461
17512
  if (!data) return React.createElement(Loading, null);
17462
17513
  var series = [{
17463
- name: "Teacher",
17464
- data: data.map(function (item) {
17465
- return item.teacherRating;
17466
- })
17467
- }, {
17468
17514
  name: "Student",
17469
17515
  data: data.map(function (item) {
17470
17516
  return item.studentRating;
@@ -17526,7 +17572,10 @@ var Quantity = function Quantity(_ref) {
17526
17572
  if (!data) return React.createElement(Loading, null);
17527
17573
  var teacherPercentage = data.teacherPercentage,
17528
17574
  studentPercentage = data.studentPercentage,
17529
- assistantPercentage = data.assistantPercentage;
17575
+ assistantPercentage = data.assistantPercentage,
17576
+ numberOfTeachers = data.numberOfTeachers,
17577
+ numberOfStudents = data.numberOfStudents,
17578
+ numberOfAssistants = data.numberOfAssistants;
17530
17579
  var series = [teacherPercentage, studentPercentage, assistantPercentage].map(function (number) {
17531
17580
  return Number(number.toFixed(2));
17532
17581
  });
@@ -17552,15 +17601,15 @@ var Quantity = function Quantity(_ref) {
17552
17601
  var details = [{
17553
17602
  label: "Teachers",
17554
17603
  color: colors$3[0],
17555
- value: teacherPercentage
17604
+ value: numberOfTeachers
17556
17605
  }, {
17557
17606
  label: "Students",
17558
17607
  color: colors$3[1],
17559
- value: studentPercentage
17608
+ value: numberOfStudents
17560
17609
  }, {
17561
17610
  label: "Assistants",
17562
17611
  color: colors$3[2],
17563
- value: assistantPercentage
17612
+ value: numberOfAssistants
17564
17613
  }];
17565
17614
  return React.createElement("div", {
17566
17615
  className: "d-flex h-100"
@@ -17574,8 +17623,6 @@ var Quantity = function Quantity(_ref) {
17574
17623
  bordered: true,
17575
17624
  size: "sm"
17576
17625
  }, React.createElement("tbody", null, details.map(function (item) {
17577
- var _item$value;
17578
-
17579
17626
  return React.createElement("tr", {
17580
17627
  key: item.label
17581
17628
  }, React.createElement("td", null, item.label), React.createElement("td", {
@@ -17585,8 +17632,8 @@ var Quantity = function Quantity(_ref) {
17585
17632
  style: {
17586
17633
  backgroundColor: item.color
17587
17634
  }
17588
- })), React.createElement("td", null, Number(((_item$value = item.value) === null || _item$value === void 0 ? void 0 : _item$value.toFixed(2)) || "0"), "%"));
17589
- }))))), React.createElement("div", {
17635
+ })), React.createElement("td", null, item.value));
17636
+ }))), React.createElement("p", null, "The number of user for each role"))), React.createElement("div", {
17590
17637
  className: "d-flex align-items-end"
17591
17638
  }, React.createElement(ReactApexChart, {
17592
17639
  options: options,
@@ -17614,7 +17661,7 @@ var Dashboard = function Dashboard() {
17614
17661
  data: perceivedImpact
17615
17662
  })
17616
17663
  }, {
17617
- label: "Students & teachers login per day",
17664
+ label: "Students & teachers logins per day",
17618
17665
  children: React.createElement(LoginCouting, {
17619
17666
  data: loginCounting
17620
17667
  })