mario-education 2.4.271-release → 2.4.272-release

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.
@@ -10,5 +10,7 @@ declare const useRevertUser: () => {
10
10
  setUserTo: import("react").Dispatch<import("react").SetStateAction<Student | null>>;
11
11
  handelMergeDataUser: () => Promise<void>;
12
12
  handelResetAcademicYear: () => Promise<void>;
13
+ upload: (file: any) => Promise<void>;
14
+ isLoading: any;
13
15
  };
14
16
  export default useRevertUser;
package/dist/index.js CHANGED
@@ -44836,22 +44836,28 @@ var useDashboard$1 = function useDashboard() {
44836
44836
  studentUserId: option === null || option === void 0 ? void 0 : option.id
44837
44837
  }));
44838
44838
  return;
44839
+ } else {
44840
+ setGenderOfStudent("");
44841
+ setStudentDefault(undefined);
44842
+ setFilter(_extends({}, filter, {
44843
+ grade: [],
44844
+ studentId: undefined,
44845
+ studentUserId: ""
44846
+ }));
44847
+ return;
44839
44848
  }
44840
-
44841
- setGenderOfStudent("");
44842
- setStudentDefault(undefined);
44843
- setFilter(_extends({}, filter, {
44844
- grade: [],
44845
- studentId: undefined,
44846
- studentUserId: ""
44847
- }));
44848
- return;
44849
44849
  };
44850
44850
 
44851
44851
  var handleSaveGradeFilter = function handleSaveGradeFilter(grades) {
44852
- setFilter(_extends({}, filter, {
44853
- grade: grades
44854
- }));
44852
+ var filterGrades = grades.filter(function (g) {
44853
+ return g !== null;
44854
+ });
44855
+
44856
+ if (filterGrades && filterGrades.length > 0) {
44857
+ setFilter(_extends({}, filter, {
44858
+ grade: grades
44859
+ }));
44860
+ }
44855
44861
  };
44856
44862
 
44857
44863
  var onChangeFilters = function onChangeFilters(filterSelect) {
@@ -45035,7 +45041,7 @@ var useDashboard$1 = function useDashboard() {
45035
45041
  getDashboardFlags();
45036
45042
  }, [JSON.stringify(filter)]);
45037
45043
  React.useEffect(function () {
45038
- !!filter.studentUserId && callApiByStudentUserId(getGrades, handleSaveGradeFilter, filter.studentUserId, []);
45044
+ filter.studentUserId && callApiByStudentUserId(getGrades, handleSaveGradeFilter, filter.studentUserId, []);
45039
45045
  }, [filter.studentUserId]);
45040
45046
  return {
45041
45047
  setFilter: setFilter,
@@ -51056,6 +51062,14 @@ var MultiChoiceComponent = function MultiChoiceComponent(_ref) {
51056
51062
  }, correctQuestionAnswer.join("; "))))));
51057
51063
  };
51058
51064
 
51065
+ var useStyles$3 = core$1.makeStyles({
51066
+ customAutocomplete: {
51067
+ '& .MuiFormControl-fullWidth': {
51068
+ width: '89%'
51069
+ }
51070
+ }
51071
+ });
51072
+
51059
51073
  var DropDownComponent = function DropDownComponent(_ref) {
51060
51074
  var questionItemName = _ref.questionItemName,
51061
51075
  questionId = _ref.questionId,
@@ -51063,10 +51077,10 @@ var DropDownComponent = function DropDownComponent(_ref) {
51063
51077
  isUserChangeSession = _ref.isUserChangeSession,
51064
51078
  onChangeQuestionAnswer = _ref.onChangeQuestionAnswer,
51065
51079
  questionAnswer = _ref.questionAnswer;
51080
+ var classes = useStyles$3();
51066
51081
  return React__default.createElement(lab.Autocomplete, {
51067
- fullWidth: true,
51068
51082
  id: "combo-box-demo",
51069
- className: "mt-1",
51083
+ className: "mt-1 ml-4 " + classes.customAutocomplete,
51070
51084
  disabled: !isUserChangeSession,
51071
51085
  options: (questionAnswer === null || questionAnswer === void 0 ? void 0 : questionAnswer.map(function (r) {
51072
51086
  return r.text;
@@ -76806,7 +76820,7 @@ var lodash = createCommonjsModule(function (module, exports) {
76806
76820
  }.call(commonjsGlobal));
76807
76821
  });
76808
76822
 
76809
- var useStyles$3 = core$1.makeStyles(function () {
76823
+ var useStyles$4 = core$1.makeStyles(function () {
76810
76824
  return {
76811
76825
  container: {
76812
76826
  position: "relative"
@@ -76899,7 +76913,7 @@ var InterventionSelector = function InterventionSelector(_ref) {
76899
76913
  var optionSelected = options.find(function (i) {
76900
76914
  return i.name === (value === null || value === void 0 ? void 0 : value.name);
76901
76915
  });
76902
- var classes = useStyles$3();
76916
+ var classes = useStyles$4();
76903
76917
 
76904
76918
  var handleToggleOpen = function handleToggleOpen() {
76905
76919
  setOpen(function (state) {
@@ -78613,7 +78627,7 @@ var usePreviewSurvey = function usePreviewSurvey() {
78613
78627
  };
78614
78628
  };
78615
78629
 
78616
- var useStyles$4 = core$1.makeStyles(function (theme) {
78630
+ var useStyles$5 = core$1.makeStyles(function (theme) {
78617
78631
  var _tabLabel;
78618
78632
 
78619
78633
  return {
@@ -78804,7 +78818,7 @@ var ShareSurveyDialog = function ShareSurveyDialog(_ref) {
78804
78818
  };
78805
78819
 
78806
78820
  var PreviewSurveyAdmin = function PreviewSurveyAdmin() {
78807
- var classes = useStyles$4();
78821
+ var classes = useStyles$5();
78808
78822
 
78809
78823
  var _usePreviewSurvey = usePreviewSurvey(),
78810
78824
  classFontSize = _usePreviewSurvey.classFontSize,
@@ -83095,7 +83109,7 @@ var TableSelectStudent = function TableSelectStudent(_ref) {
83095
83109
  }, t("no_data")))));
83096
83110
  };
83097
83111
 
83098
- var useStyles$5 = core$1.makeStyles(function () {
83112
+ var useStyles$6 = core$1.makeStyles(function () {
83099
83113
  return {
83100
83114
  root: {
83101
83115
  "& > *": {
@@ -83120,7 +83134,7 @@ var InputComponent = function InputComponent(_ref) {
83120
83134
  canSubmit = _ref.canSubmit,
83121
83135
  disabled = _ref.disabled,
83122
83136
  onChangeEvent = _ref.onChangeEvent;
83123
- var classes = useStyles$5();
83137
+ var classes = useStyles$6();
83124
83138
  return React__default.createElement("div", {
83125
83139
  className: styles["talk-conduct"]
83126
83140
  }, React__default.createElement("div", {
@@ -84736,6 +84750,7 @@ var CreateSurveyAdmin = function CreateSurveyAdmin() {
84736
84750
  };
84737
84751
 
84738
84752
  var USER_URL$4 = marioCore.BASE_URL + "/api/User";
84753
+ var EXCEL_FILE_URL = marioCore.BASE_URL + "/api/ExportDataUser";
84739
84754
  var revertUser = function revertUser(id) {
84740
84755
  return marioCore.api.put(USER_URL$4 + "/revert-user/" + id);
84741
84756
  };
@@ -84745,9 +84760,15 @@ var mergeData = function mergeData(fromId, toId) {
84745
84760
  var resetAcademicYear = function resetAcademicYear() {
84746
84761
  return marioCore.api.put(USER_URL$4 + "/reset-academic-year");
84747
84762
  };
84763
+ var importUserDataCSV = function importUserDataCSV(formData, studentUserId) {
84764
+ return marioCore.apiUpload.post(EXCEL_FILE_URL + "/" + studentUserId, formData);
84765
+ };
84748
84766
 
84749
84767
  var useRevertUser = function useRevertUser() {
84750
84768
  var dispatch = reactRedux.useDispatch();
84769
+ var isLoading = reactRedux.useSelector(function (state) {
84770
+ return state.common.isLoading;
84771
+ });
84751
84772
 
84752
84773
  var _useState = React.useState(null),
84753
84774
  user = _useState[0],
@@ -84843,6 +84864,38 @@ var useRevertUser = function useRevertUser() {
84843
84864
  }
84844
84865
  };
84845
84866
 
84867
+ var upload = React.useCallback(function (file) {
84868
+ try {
84869
+ var _temp10 = function _temp10() {
84870
+ dispatch(marioCore.setLoading(false));
84871
+ };
84872
+
84873
+ if (!file || !userTo) return Promise.resolve();
84874
+ dispatch(marioCore.setLoading(true));
84875
+
84876
+ var _temp11 = _catch(function () {
84877
+ var formData = new FormData();
84878
+ formData.append("file", file, file.name);
84879
+ return Promise.resolve(importUserDataCSV(formData, userTo === null || userTo === void 0 ? void 0 : userTo.id)).then(function () {
84880
+ dispatch(marioCore.setAlert({
84881
+ type: "success",
84882
+ message: "Import data successfully"
84883
+ }));
84884
+ });
84885
+ }, function (err) {
84886
+ var _err$response4, _err$response4$data;
84887
+
84888
+ dispatch(marioCore.setAlert({
84889
+ type: "danger",
84890
+ message: ((_err$response4 = err.response) === null || _err$response4 === void 0 ? void 0 : (_err$response4$data = _err$response4.data) === null || _err$response4$data === void 0 ? void 0 : _err$response4$data.title) || err.message
84891
+ }));
84892
+ });
84893
+
84894
+ return Promise.resolve(_temp11 && _temp11.then ? _temp11.then(_temp10) : _temp10(_temp11));
84895
+ } catch (e) {
84896
+ return Promise.reject(e);
84897
+ }
84898
+ }, [userTo]);
84846
84899
  return {
84847
84900
  user: user,
84848
84901
  setUser: setUser,
@@ -84852,7 +84905,9 @@ var useRevertUser = function useRevertUser() {
84852
84905
  userTo: userTo,
84853
84906
  setUserTo: setUserTo,
84854
84907
  handelMergeDataUser: handelMergeDataUser,
84855
- handelResetAcademicYear: handelResetAcademicYear
84908
+ handelResetAcademicYear: handelResetAcademicYear,
84909
+ upload: upload,
84910
+ isLoading: isLoading
84856
84911
  };
84857
84912
  };
84858
84913
 
@@ -84865,6 +84920,8 @@ var RevertUser = function RevertUser() {
84865
84920
  setUserFrom = _useRevertUser.setUserFrom,
84866
84921
  userTo = _useRevertUser.userTo,
84867
84922
  setUserTo = _useRevertUser.setUserTo,
84923
+ upload = _useRevertUser.upload,
84924
+ isLoading = _useRevertUser.isLoading,
84868
84925
  handelMergeDataUser = _useRevertUser.handelMergeDataUser,
84869
84926
  handelResetAcademicYear = _useRevertUser.handelResetAcademicYear;
84870
84927
 
@@ -84912,7 +84969,24 @@ var RevertUser = function RevertUser() {
84912
84969
  onClick: function onClick() {
84913
84970
  return handelResetAcademicYear();
84914
84971
  }
84915
- }, "Reset academic year"))));
84972
+ }, "Reset academic year")), React__default.createElement(reactstrap.Row, null, React__default.createElement(reactstrap.Input, {
84973
+ id: "import-user",
84974
+ className: "d-none",
84975
+ type: "file",
84976
+ onChange: function onChange(e) {
84977
+ return upload(e.target.files[0]);
84978
+ },
84979
+ accept: "text/xlsx"
84980
+ }), React__default.createElement(marioCore.RequiredLabel, {
84981
+ text: "Import users"
84982
+ }), React__default.createElement(UploadCSVButton, {
84983
+ key: "import-users",
84984
+ htmlFor: "import-user",
84985
+ text: "Import data users",
84986
+ isDisabled: isLoading || !userTo,
84987
+ backgroundColor: "#0abde3",
84988
+ onClick: function onClick() {}
84989
+ }))));
84916
84990
  };
84917
84991
 
84918
84992
  var USER_URL$5 = marioCore.BASE_URL + "/api/User";