mario-education 2.3.4 → 9000.0.0

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.
@@ -5,7 +5,6 @@ interface Props {
5
5
  text: string;
6
6
  backgroundColor: string;
7
7
  onClick: Function;
8
- isClassReflection?: boolean;
9
8
  }
10
9
  declare const UploadCSVButton: FC<Props>;
11
10
  export default UploadCSVButton;
@@ -2,6 +2,7 @@
2
2
  declare type StrategyDetail = {
3
3
  name: string;
4
4
  description?: string;
5
+ bestfit?: string;
5
6
  };
6
7
  declare const useStrategyDetail: () => {
7
8
  id: number;
package/dist/index.js CHANGED
@@ -2748,8 +2748,9 @@ var StrategyDetailModal = function StrategyDetailModal(props, ref) {
2748
2748
  }), touched.name && errors.name && React__default.createElement(marioCore.ErrorHandler, {
2749
2749
  text: errors.name
2750
2750
  })), React__default.createElement(reactstrap.Col, {
2751
- md: 12
2752
- }, React__default.createElement(reactstrap.Label, null, "Description"), React__default.createElement(reactstrap.Input, {
2751
+ md: 12,
2752
+ className: "mb-2"
2753
+ }, React__default.createElement(reactstrap.Label, null, "Detail"), React__default.createElement(reactstrap.Input, {
2753
2754
  type: "textarea",
2754
2755
  rows: 5,
2755
2756
  name: "description",
@@ -2760,6 +2761,19 @@ var StrategyDetailModal = function StrategyDetailModal(props, ref) {
2760
2761
  setEditedTrue();
2761
2762
  },
2762
2763
  onBlur: handleBlur("description")
2764
+ })), React__default.createElement(reactstrap.Col, {
2765
+ md: 12
2766
+ }, React__default.createElement(reactstrap.Label, null, "Best fit"), React__default.createElement(reactstrap.Input, {
2767
+ type: "textarea",
2768
+ rows: 5,
2769
+ name: "bestfit",
2770
+ placeholder: "Best fit",
2771
+ value: values.bestfit,
2772
+ onChange: function onChange(e) {
2773
+ handleChange(e);
2774
+ setEditedTrue();
2775
+ },
2776
+ onBlur: handleBlur("bestfit")
2763
2777
  }))));
2764
2778
  });
2765
2779
  };
@@ -2885,7 +2899,8 @@ var useStrategyList = function useStrategyList() {
2885
2899
 
2886
2900
  var initValue$3 = {
2887
2901
  name: "",
2888
- description: ""
2902
+ description: "",
2903
+ bestfit: ""
2889
2904
  };
2890
2905
 
2891
2906
  var useStrategyDetail = function useStrategyDetail() {
@@ -3091,7 +3106,7 @@ var LearningStrategyList = function LearningStrategyList() {
3091
3106
  className: "align-top"
3092
3107
  }, "Strategy name"), React__default.createElement("th", {
3093
3108
  className: "align-top"
3094
- }, "Description"), React__default.createElement("th", {
3109
+ }, "Detail"), React__default.createElement("th", {
3095
3110
  className: "text-center"
3096
3111
  }, "Action"))), React__default.createElement("tbody", null, strategyList.map(function (record) {
3097
3112
  return React__default.createElement("tr", {
@@ -5188,13 +5203,12 @@ var UploadCSVButton = function UploadCSVButton(_ref) {
5188
5203
  isDisabled = _ref.isDisabled,
5189
5204
  text = _ref.text,
5190
5205
  backgroundColor = _ref.backgroundColor,
5191
- _onClick = _ref.onClick,
5192
- isClassReflection = _ref.isClassReflection;
5206
+ _onClick = _ref.onClick;
5193
5207
  return React__default.createElement(reactstrap.Label, {
5194
5208
  htmlFor: htmlFor,
5195
5209
  role: "button",
5196
5210
  tabIndex: 0,
5197
- className: "d-flex align-items-center justfy-content-center \n " + (isClassReflection ? "w-25" : "") + "\n " + (!isDisabled ? "cursor-pointer hover-opacity" : ""),
5211
+ className: "d-flex align-items-center justfy-content-center " + (!isDisabled ? "cursor-pointer hover-opacity" : ""),
5198
5212
  style: _extends({}, style, {
5199
5213
  backgroundColor: backgroundColor,
5200
5214
  opacity: !isDisabled ? 1 : 0.5
@@ -5269,45 +5283,24 @@ var useCSVImport = function useCSVImport() {
5269
5283
  }, []);
5270
5284
  var upload = React.useCallback(function (file) {
5271
5285
  try {
5272
- var _temp7 = function _temp7() {
5286
+ var _temp3 = function _temp3() {
5273
5287
  dispatch(marioCore.setLoading(false));
5274
5288
  var input = document.getElementById('import-student');
5275
- var importClass = document.getElementById('import-classReflection');
5276
5289
  input && (input.value = "");
5277
- importClass && (importClass.value = "");
5278
5290
  };
5279
5291
 
5280
5292
  if (!type || !file) return Promise.resolve();
5281
5293
  dispatch(marioCore.setLoading(true));
5282
5294
 
5283
- var _temp8 = _catch(function () {
5284
- function _temp4() {
5285
- function _temp2() {
5286
- dispatch(marioCore.setAlert({
5287
- type: "success",
5288
- message: "Import CSV successfully"
5289
- }));
5290
- }
5291
-
5292
- var _temp = function () {
5293
- if (type == CSVType.ClassReflection) {
5294
- return Promise.resolve(importClassReflectionCSV(formData)).then(function () {});
5295
- }
5296
- }();
5297
-
5298
- return _temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp);
5299
- }
5300
-
5295
+ var _temp4 = _catch(function () {
5301
5296
  var formData = new FormData();
5302
5297
  formData.append("file", file, file.name);
5303
-
5304
- var _temp3 = function () {
5305
- if (type == CSVType.Students) {
5306
- return Promise.resolve(importStudentCSV(formData)).then(function () {});
5307
- }
5308
- }();
5309
-
5310
- return _temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3);
5298
+ return Promise.resolve(importStudentCSV(formData)).then(function () {
5299
+ dispatch(marioCore.setAlert({
5300
+ type: "success",
5301
+ message: "Import CSV successfully"
5302
+ }));
5303
+ });
5311
5304
  }, function (err) {
5312
5305
  var _err$response, _err$response$data;
5313
5306
 
@@ -5317,7 +5310,7 @@ var useCSVImport = function useCSVImport() {
5317
5310
  }));
5318
5311
  });
5319
5312
 
5320
- return Promise.resolve(_temp8 && _temp8.then ? _temp8.then(_temp7) : _temp7(_temp8));
5313
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
5321
5314
  } catch (e) {
5322
5315
  return Promise.reject(e);
5323
5316
  }
@@ -5325,7 +5318,7 @@ var useCSVImport = function useCSVImport() {
5325
5318
 
5326
5319
  var onConfirm = function onConfirm(values) {
5327
5320
  try {
5328
- var _temp11 = function _temp11() {
5321
+ var _temp7 = function _temp7() {
5329
5322
  dispatch(marioCore.setLoading(false));
5330
5323
  var input = document.getElementById(id);
5331
5324
  input && (input.value = "");
@@ -5334,7 +5327,7 @@ var useCSVImport = function useCSVImport() {
5334
5327
  if (!dataFile || !dataFile) return Promise.resolve();
5335
5328
  dispatch(marioCore.setLoading(true));
5336
5329
 
5337
- var _temp12 = _catch(function () {
5330
+ var _temp8 = _catch(function () {
5338
5331
  var formData = new FormData();
5339
5332
  formData.append("file", dataFile, dataFile.name);
5340
5333
  formData.append("teacherName", values.teacherName);
@@ -5358,7 +5351,7 @@ var useCSVImport = function useCSVImport() {
5358
5351
  }));
5359
5352
  });
5360
5353
 
5361
- return Promise.resolve(_temp12 && _temp12.then ? _temp12.then(_temp11) : _temp11(_temp12));
5354
+ return Promise.resolve(_temp8 && _temp8.then ? _temp8.then(_temp7) : _temp7(_temp8));
5362
5355
  } catch (e) {
5363
5356
  return Promise.reject(e);
5364
5357
  }
@@ -5381,14 +5374,13 @@ var useCSVImport = function useCSVImport() {
5381
5374
  };
5382
5375
  };
5383
5376
 
5384
- var _yup$string, _yup$string2, _yup$string3;
5385
5377
  var schema$4 = yup.object({
5386
- teacherName: (_yup$string = yup.string()) === null || _yup$string === void 0 ? void 0 : _yup$string.trim().required(),
5387
- teacherEmail: (_yup$string2 = yup.string()) === null || _yup$string2 === void 0 ? void 0 : _yup$string2.trim().email('Invalid email').required(),
5378
+ teacherName: yup.string().required(),
5379
+ teacherEmail: yup.string().email('Invalid email').required(),
5388
5380
  studentIds: yup.array().required().test("test students", "Please choose student", function () {
5389
5381
  return !!this.parent.studentIds && !!this.parent.studentIds.length;
5390
5382
  }),
5391
- file: (_yup$string3 = yup.string()) === null || _yup$string3 === void 0 ? void 0 : _yup$string3.trim().required()
5383
+ file: yup.string().required()
5392
5384
  });
5393
5385
 
5394
5386
  var CSVImport = function CSVImport() {
@@ -5402,6 +5394,7 @@ var CSVImport = function CSVImport() {
5402
5394
  dataFile = _useCSVImport.dataFile,
5403
5395
  setDataFile = _useCSVImport.setDataFile,
5404
5396
  setArrStudent = _useCSVImport.setArrStudent,
5397
+ arrStudent = _useCSVImport.arrStudent,
5405
5398
  buttons = _useCSVImport.buttons,
5406
5399
  upload = _useCSVImport.upload;
5407
5400
 
@@ -5415,14 +5408,6 @@ var CSVImport = function CSVImport() {
5415
5408
  return upload(e.target.files[0]);
5416
5409
  },
5417
5410
  accept: "text/csv"
5418
- }), React__default.createElement(reactstrap.Input, {
5419
- className: "d-none",
5420
- type: "file",
5421
- id: "import-classReflection",
5422
- onChange: function onChange(e) {
5423
- return upload(e.target.files[0]);
5424
- },
5425
- accept: "text/csv"
5426
5411
  }), React__default.createElement("div", {
5427
5412
  className: "class-reflection"
5428
5413
  }, React__default.createElement(formik.Formik, {
@@ -5436,8 +5421,11 @@ var CSVImport = function CSVImport() {
5436
5421
  actions.resetForm();
5437
5422
  }
5438
5423
  }, function (formProps) {
5439
- var touched = formProps.touched,
5440
- errors = formProps.errors;
5424
+ var values = formProps.values,
5425
+ touched = formProps.touched,
5426
+ errors = formProps.errors,
5427
+ handleSubmit = formProps.handleSubmit,
5428
+ handleChange = formProps.handleChange;
5441
5429
  return React__default.createElement(reactstrap.Row, {
5442
5430
  className: "mb-2"
5443
5431
  }, React__default.createElement(reactstrap.Input, {
@@ -5458,11 +5446,55 @@ var CSVImport = function CSVImport() {
5458
5446
  md: 12,
5459
5447
  className: "mb-2"
5460
5448
  }, React__default.createElement(marioCore.RequiredLabel, {
5461
- text: "Import Class Reflection"
5449
+ text: "Class Teacher Name"
5450
+ }), React__default.createElement(reactstrap.Input, {
5451
+ name: "teacherName",
5452
+ value: values.teacherName,
5453
+ type: "text",
5454
+ onChange: function onChange(e) {
5455
+ handleChange(e);
5456
+ }
5457
+ }), touched.teacherName && errors.teacherName && React__default.createElement(marioCore.ErrorHandler, {
5458
+ text: errors.teacherName
5459
+ })), React__default.createElement(reactstrap.Col, {
5460
+ md: 12,
5461
+ className: "mb-2"
5462
+ }, React__default.createElement(marioCore.RequiredLabel, {
5463
+ text: "Class Teacher Email"
5464
+ }), React__default.createElement(reactstrap.Input, {
5465
+ name: "teacherEmail",
5466
+ value: values.teacherEmail,
5467
+ type: "text",
5468
+ onChange: function onChange(e) {
5469
+ handleChange(e);
5470
+ }
5471
+ }), touched.teacherEmail && errors.teacherEmail && React__default.createElement(marioCore.ErrorHandler, {
5472
+ text: errors.teacherEmail
5473
+ })), React__default.createElement(reactstrap.Col, {
5474
+ md: 12,
5475
+ className: "mb-2"
5476
+ }, React__default.createElement(reactstrap.Label, null, "Students"), React__default.createElement(StudentSelector, {
5477
+ onChange: function onChange(e) {
5478
+ setArrStudent(e);
5479
+ formProps.setFieldValue("studentIds", e.map(function (i) {
5480
+ return i.value;
5481
+ }) || []);
5482
+ },
5483
+ value: arrStudent
5484
+ })), React__default.createElement(reactstrap.Col, {
5485
+ md: 12,
5486
+ className: "mb-2"
5487
+ }, touched.studentIds && errors.studentIds && React__default.createElement(marioCore.ErrorHandler, {
5488
+ text: errors.studentIds
5489
+ })), React__default.createElement(reactstrap.Col, {
5490
+ md: 12,
5491
+ className: "mb-2"
5492
+ }, React__default.createElement(marioCore.RequiredLabel, {
5493
+ text: "Upload File Class Reflection"
5462
5494
  }), React__default.createElement(UploadCSVButton, {
5463
5495
  key: "Import class reflections",
5464
- htmlFor: "import-classReflection",
5465
- text: "Import Class Reflection",
5496
+ htmlFor: id,
5497
+ text: "Import class reflections",
5466
5498
  isDisabled: isLoading,
5467
5499
  backgroundColor: "#e74c3c",
5468
5500
  onClick: function onClick() {
@@ -5479,7 +5511,15 @@ var CSVImport = function CSVImport() {
5479
5511
  className: "mb-2"
5480
5512
  }, touched.file && errors.file && React__default.createElement(marioCore.ErrorHandler, {
5481
5513
  text: errors.file
5482
- })))), React__default.createElement(reactstrap.Col, {
5514
+ })), React__default.createElement(reactstrap.Col, {
5515
+ md: 12
5516
+ }, React__default.createElement(reactstrap.Button, {
5517
+ color: "primary",
5518
+ className: "float-right",
5519
+ onClick: function onClick() {
5520
+ return handleSubmit();
5521
+ }
5522
+ }, "Import"), ' '))), React__default.createElement(reactstrap.Col, {
5483
5523
  md: 6,
5484
5524
  className: "mb-2"
5485
5525
  }, React__default.createElement(reactstrap.Row, null, React__default.createElement(reactstrap.Col, {