mario-education 2.4.249-release → 2.4.250-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.
@@ -0,0 +1,9 @@
1
+ interface PropsType {
2
+ open: boolean;
3
+ selectedId: number;
4
+ handleCloseModalConfirmDelete: () => void;
5
+ handleDelete: (selectedId: number) => Promise<void>;
6
+ content: string;
7
+ }
8
+ declare const ConfirmDelete: ({ open, handleCloseModalConfirmDelete, handleDelete, selectedId, content }: PropsType) => JSX.Element;
9
+ export default ConfirmDelete;
@@ -34,6 +34,7 @@ interface Props {
34
34
  studentUserId?: string;
35
35
  isCheckIn?: boolean;
36
36
  isShowButtonAnimation?: boolean;
37
+ isPreviewSurvey?: boolean;
37
38
  }
38
39
  declare const HeaderComponent: FC<Props>;
39
40
  export default HeaderComponent;
@@ -28,5 +28,6 @@ declare const usePreviewSurvey: () => {
28
28
  studentShareId: number | undefined;
29
29
  setStudentShareId: import("react").Dispatch<import("react").SetStateAction<number | undefined>>;
30
30
  teacherUserId: string | null;
31
+ isPreviewSurvey: boolean;
31
32
  };
32
33
  export default usePreviewSurvey;
@@ -16,6 +16,7 @@ export declare const shareSurvey: (data: any) => void;
16
16
  export declare const importCsv: (formData: FormData) => Promise<import("axios").AxiosResponse<any>>;
17
17
  export declare const downloadTemplateFile: () => Promise<import("axios").AxiosResponse<any>>;
18
18
  export declare const updateSurvey: (surveyId: number, model: any) => Promise<import("axios").AxiosResponse<any>>;
19
+ export declare const deleteSurvey: (surveyId: number) => Promise<import("axios").AxiosResponse<any>>;
19
20
  export declare const getListExternal: (surveyId: number, params: any) => Promise<import("axios").AxiosResponse<any>>;
20
21
  export declare const getListQuestionSurvey: (params: any, surveyId: number) => Promise<import("axios").AxiosResponse<any>>;
21
22
  export declare const getSurveyDetail: (surveyId: number) => Promise<import("axios").AxiosResponse<any>>;
@@ -147,3 +147,8 @@ export declare const questionTypeAdditional: {
147
147
  label: string;
148
148
  value: QuestionType;
149
149
  }[];
150
+ export declare enum TYPE_SURVEY_OPTION {
151
+ VIEW_PREVIEW = 0,
152
+ VIEW_RESPONSE = 1,
153
+ DELETE = 2
154
+ }
@@ -298,6 +298,7 @@ export interface SURVEY_LIST {
298
298
  isFavorite: boolean;
299
299
  status: SurveyEnum;
300
300
  createdBy: string;
301
+ studentIds?: number[];
301
302
  }
302
303
  export interface FILTER_OVERVIEW_SURVEY {
303
304
  startDate: number;
@@ -1,8 +1,10 @@
1
1
  /// <reference types="react" />
2
2
  import { FILTER_SURVEY, SURVEY_RESPONSE, TOTAL_TYPE } from "../configs/types";
3
+ import { TYPE_SURVEY_OPTION } from "../configs/constants";
3
4
  import { MaterialUiPickersDate } from "@material-ui/pickers/typings/date";
4
5
  declare const useListSurvey: () => {
5
6
  itemSelectedId: number;
7
+ itemSelectedStudentId: number;
6
8
  changeFilters: (updatedFilters: any) => void;
7
9
  filters: FILTER_SURVEY;
8
10
  listSurvey: SURVEY_RESPONSE | undefined;
@@ -16,7 +18,7 @@ declare const useListSurvey: () => {
16
18
  handleChangeRowsPerPage: (event: React.ChangeEvent<HTMLInputElement>) => void;
17
19
  handleChangePage: (_event: unknown, newPage: number) => void;
18
20
  handleChangePageCreate: () => void;
19
- open: (surveyId: number) => void;
21
+ open: (type: TYPE_SURVEY_OPTION, surveyId: number) => void;
20
22
  handleChangeInputSearch: (event: React.ChangeEvent<HTMLInputElement>) => void;
21
23
  handleSelectFavorite: (isFavorite: boolean) => void;
22
24
  handleSort: (e: string) => void;
@@ -30,9 +32,13 @@ declare const useListSurvey: () => {
30
32
  anchorEl: HTMLButtonElement | null;
31
33
  popoverId: string | undefined;
32
34
  openPopover: boolean;
33
- handleClickAction: (event: React.MouseEvent<HTMLButtonElement>, id: number) => void;
35
+ handleClickAction: (event: React.MouseEvent<HTMLButtonElement>, id: number, studentId?: number | undefined) => void;
34
36
  handleCloseAction: () => void;
35
37
  handleDownloadCsv: () => void;
36
38
  handleDownloadCsvSurvey: (id: number) => void;
39
+ showModalDeleteSurvey: boolean;
40
+ handleCloseModalConfirmDelete: () => void;
41
+ handleDeleteSurvey: (surveyId: any) => Promise<void>;
42
+ nameSurvey: string | undefined;
37
43
  };
38
44
  export default useListSurvey;
@@ -9,5 +9,6 @@ declare const useRevertUser: () => {
9
9
  userTo: Student | null;
10
10
  setUserTo: import("react").Dispatch<import("react").SetStateAction<Student | null>>;
11
11
  handelMergeDataUser: () => Promise<void>;
12
+ handelResetAcademicYear: () => Promise<void>;
12
13
  };
13
14
  export default useRevertUser;
@@ -1,2 +1,3 @@
1
1
  export declare const revertUser: (id: string) => Promise<import("axios").AxiosResponse<any>>;
2
2
  export declare const mergeData: (fromId: string, toId: string) => Promise<import("axios").AxiosResponse<any>>;
3
+ export declare const resetAcademicYear: () => Promise<import("axios").AxiosResponse<any>>;
package/dist/index.js CHANGED
@@ -46,6 +46,7 @@ var ArrowUpwardIcon = _interopDefault(require('@material-ui/icons/ArrowUpward'))
46
46
  var ArrowDownwardIcon = _interopDefault(require('@material-ui/icons/ArrowDownward'));
47
47
  var AccessTimeIcon = _interopDefault(require('@material-ui/icons/AccessTime'));
48
48
  var icons = require('@material-ui/icons');
49
+ var DeleteIcon = _interopDefault(require('@material-ui/icons/Delete'));
49
50
  var AddCircleRoundedIcon = _interopDefault(require('@material-ui/icons/AddCircleRounded'));
50
51
  var lab = require('@material-ui/lab');
51
52
  var bi = require('react-icons/bi');
@@ -44200,6 +44201,13 @@ var questionTypeAdditional = [{
44200
44201
  label: "Single Choice",
44201
44202
  value: QuestionType$1.SingleChoice
44202
44203
  }];
44204
+ var TYPE_SURVEY_OPTION;
44205
+
44206
+ (function (TYPE_SURVEY_OPTION) {
44207
+ TYPE_SURVEY_OPTION[TYPE_SURVEY_OPTION["VIEW_PREVIEW"] = 0] = "VIEW_PREVIEW";
44208
+ TYPE_SURVEY_OPTION[TYPE_SURVEY_OPTION["VIEW_RESPONSE"] = 1] = "VIEW_RESPONSE";
44209
+ TYPE_SURVEY_OPTION[TYPE_SURVEY_OPTION["DELETE"] = 2] = "DELETE";
44210
+ })(TYPE_SURVEY_OPTION || (TYPE_SURVEY_OPTION = {}));
44203
44211
 
44204
44212
  var TotalCard$1 = function TotalCard(_ref) {
44205
44213
  var icon = _ref.icon,
@@ -45175,6 +45183,9 @@ var downloadTemplateFile = function downloadTemplateFile() {
45175
45183
  var updateSurvey$1 = function updateSurvey(surveyId, model) {
45176
45184
  return marioCore.api.put(SURVEY_API + "/setting-survey/" + surveyId, model);
45177
45185
  };
45186
+ var deleteSurvey = function deleteSurvey(surveyId) {
45187
+ return marioCore.api["delete"](SURVEY_API + "/delete-survey/" + surveyId);
45188
+ };
45178
45189
  var getListQuestionSurvey = function getListQuestionSurvey(params, surveyId) {
45179
45190
  return marioCore.api.get(SURVEY_API + "/" + surveyId + "/questions", {
45180
45191
  params: params
@@ -45388,9 +45399,17 @@ var useListSurvey = function useListSurvey() {
45388
45399
  itemSelectedId = _useState6[0],
45389
45400
  setItemSelectedId = _useState6[1];
45390
45401
 
45402
+ var _useState7 = React.useState(0),
45403
+ itemSelectedStudentId = _useState7[0],
45404
+ setItemSelectedStudentId = _useState7[1];
45405
+
45406
+ var _useState8 = React.useState(false),
45407
+ showModalDeleteSurvey = _useState8[0],
45408
+ setShowModalDeleteSurvey = _useState8[1];
45409
+
45391
45410
  var inputSearch = React.useRef(null);
45392
45411
 
45393
- var _useState7 = React.useState({
45412
+ var _useState9 = React.useState({
45394
45413
  isAdmin: true,
45395
45414
  currentPage: 1,
45396
45415
  pageSize: 10,
@@ -45404,8 +45423,8 @@ var useListSurvey = function useListSurvey() {
45404
45423
  isSchedule: false,
45405
45424
  flag: ""
45406
45425
  }),
45407
- filters = _useState7[0],
45408
- setFilters = _useState7[1];
45426
+ filters = _useState9[0],
45427
+ setFilters = _useState9[1];
45409
45428
 
45410
45429
  var _useSurveyExportCsv = useSurveyExportCsv(),
45411
45430
  exportSurveys = _useSurveyExportCsv.exportSurveys,
@@ -45494,9 +45513,31 @@ var useListSurvey = function useListSurvey() {
45494
45513
  setShowFilterCalendar(!isShowFilterCalendar);
45495
45514
  };
45496
45515
 
45497
- var open = React.useCallback(function (surveyId) {
45498
- var resultUrl = "/admin/survey-detail/" + surveyId;
45499
- history.push(resultUrl);
45516
+ var nameSurvey = React.useMemo(function () {
45517
+ var _listSurvey$items, _listSurvey$items$fin;
45518
+
45519
+ return listSurvey === null || listSurvey === void 0 ? void 0 : (_listSurvey$items = listSurvey.items) === null || _listSurvey$items === void 0 ? void 0 : (_listSurvey$items$fin = _listSurvey$items.find(function (item) {
45520
+ return item.id == itemSelectedId;
45521
+ })) === null || _listSurvey$items$fin === void 0 ? void 0 : _listSurvey$items$fin.title;
45522
+ }, [itemSelectedId]);
45523
+ var open = React.useCallback(function (type, surveyId) {
45524
+ if (type == TYPE_SURVEY_OPTION.VIEW_RESPONSE) {
45525
+ var resultUrl = "/admin/survey-detail/" + surveyId;
45526
+ history.push(resultUrl);
45527
+ return;
45528
+ }
45529
+
45530
+ if (type == TYPE_SURVEY_OPTION.VIEW_PREVIEW) {
45531
+ var _resultUrl = "/admin/view-survey/" + surveyId + "?isPreview=1";
45532
+
45533
+ history.push(_resultUrl);
45534
+ return;
45535
+ }
45536
+
45537
+ if (type == TYPE_SURVEY_OPTION.DELETE) {
45538
+ console.log("open modal");
45539
+ setShowModalDeleteSurvey(true);
45540
+ }
45500
45541
  }, [isTeacher]);
45501
45542
 
45502
45543
  var handleChangePageCreate = function handleChangePageCreate() {
@@ -45625,24 +45666,63 @@ var useListSurvey = function useListSurvey() {
45625
45666
  getListSurvey();
45626
45667
  }, [filters]);
45627
45668
  React.useEffect(function () {
45669
+ console.log("useffect total survey");
45628
45670
  document.title = t("survey_summary");
45629
45671
  getItemTotalSurvey();
45630
- }, []);
45672
+ }, [JSON.stringify(listSurvey)]);
45631
45673
 
45632
- var handleClickAction = function handleClickAction(event, id) {
45674
+ var handleClickAction = function handleClickAction(event, id, studentId) {
45633
45675
  setAnchorEl(event.currentTarget);
45634
45676
  setItemSelectedId(id);
45677
+ setItemSelectedStudentId(studentId || 0);
45635
45678
  };
45636
45679
 
45637
45680
  var handleCloseAction = function handleCloseAction() {
45638
45681
  setAnchorEl(null);
45639
45682
  setItemSelectedId(0);
45683
+ setItemSelectedStudentId(0);
45684
+ };
45685
+
45686
+ var handleDeleteSurvey = function handleDeleteSurvey(surveyId) {
45687
+ try {
45688
+ var _temp13 = function _temp13() {
45689
+ dispatch(marioCore.setLoading(false));
45690
+ };
45691
+
45692
+ dispatch(marioCore.setLoading(true));
45693
+
45694
+ var _temp14 = _catch(function () {
45695
+ return Promise.resolve(deleteSurvey(surveyId)).then(function () {
45696
+ setShowModalDeleteSurvey(false);
45697
+ return Promise.resolve(getAllSurvey(_extends({}, filters))).then(function (res) {
45698
+ setListSurvey(res.data);
45699
+ });
45700
+ });
45701
+ }, function (err) {
45702
+ var _err$response4, _err$response4$data;
45703
+
45704
+ dispatch(marioCore.setAlert({
45705
+ type: "danger",
45706
+ 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
45707
+ }));
45708
+ });
45709
+
45710
+ return Promise.resolve(_temp14 && _temp14.then ? _temp14.then(_temp13) : _temp13(_temp14));
45711
+ } catch (e) {
45712
+ return Promise.reject(e);
45713
+ }
45714
+ };
45715
+
45716
+ var handleCloseModalConfirmDelete = function handleCloseModalConfirmDelete() {
45717
+ setItemSelectedId(0);
45718
+ setShowModalDeleteSurvey(false);
45640
45719
  };
45641
45720
 
45642
45721
  var openPopover = Boolean(anchorEl);
45643
45722
  var popoverId = openPopover ? 'simple-popover' : undefined;
45644
45723
  return {
45645
45724
  itemSelectedId: itemSelectedId,
45725
+ itemSelectedStudentId: itemSelectedStudentId,
45646
45726
  changeFilters: changeFilters,
45647
45727
  filters: filters,
45648
45728
  listSurvey: listSurvey,
@@ -45673,7 +45753,11 @@ var useListSurvey = function useListSurvey() {
45673
45753
  handleClickAction: handleClickAction,
45674
45754
  handleCloseAction: handleCloseAction,
45675
45755
  handleDownloadCsv: handleDownloadCsv,
45676
- handleDownloadCsvSurvey: handleDownloadCsvSurvey
45756
+ handleDownloadCsvSurvey: handleDownloadCsvSurvey,
45757
+ showModalDeleteSurvey: showModalDeleteSurvey,
45758
+ handleCloseModalConfirmDelete: handleCloseModalConfirmDelete,
45759
+ handleDeleteSurvey: handleDeleteSurvey,
45760
+ nameSurvey: nameSurvey
45677
45761
  };
45678
45762
  };
45679
45763
 
@@ -46472,6 +46556,41 @@ var TableCells = function TableCells(_ref) {
46472
46556
  }));
46473
46557
  };
46474
46558
 
46559
+ var ConfirmDelete = function ConfirmDelete(_ref) {
46560
+ var open = _ref.open,
46561
+ handleCloseModalConfirmDelete = _ref.handleCloseModalConfirmDelete,
46562
+ handleDelete = _ref.handleDelete,
46563
+ selectedId = _ref.selectedId,
46564
+ content = _ref.content;
46565
+ return React__default.createElement(core$1.Dialog, {
46566
+ open: open,
46567
+ onClose: handleCloseModalConfirmDelete
46568
+ }, React__default.createElement(core$1.DialogTitle, null, React__default.createElement("p", {
46569
+ style: {
46570
+ fontSize: "18px",
46571
+ fontWeight: 700
46572
+ }
46573
+ }, content)), React__default.createElement(core$1.DialogActions, {
46574
+ style: {
46575
+ padding: "20px"
46576
+ }
46577
+ }, React__default.createElement(core$1.Button, {
46578
+ style: {
46579
+ color: "#C94645"
46580
+ },
46581
+ onClick: handleCloseModalConfirmDelete
46582
+ }, "CANCEL"), React__default.createElement(core$1.Button, {
46583
+ variant: "contained",
46584
+ style: {
46585
+ color: "#fff",
46586
+ backgroundColor: "#C94645"
46587
+ },
46588
+ onClick: function onClick() {
46589
+ return handleDelete(selectedId);
46590
+ }
46591
+ }, "YES, DELETE ", React__default.createElement(DeleteIcon, null))));
46592
+ };
46593
+
46475
46594
  var PopoverCustom = core$1.styled(core$1.Popover)(function () {
46476
46595
  return {
46477
46596
  "& .MuiPopover-paper": {
@@ -46521,7 +46640,11 @@ var ListSurveys = function ListSurveys() {
46521
46640
  handleClickAction = _useListSurvey.handleClickAction,
46522
46641
  handleCloseAction = _useListSurvey.handleCloseAction,
46523
46642
  handleDownloadCsv = _useListSurvey.handleDownloadCsv,
46524
- handleDownloadCsvSurvey = _useListSurvey.handleDownloadCsvSurvey;
46643
+ handleDownloadCsvSurvey = _useListSurvey.handleDownloadCsvSurvey,
46644
+ showModalDeleteSurvey = _useListSurvey.showModalDeleteSurvey,
46645
+ handleCloseModalConfirmDelete = _useListSurvey.handleCloseModalConfirmDelete,
46646
+ handleDeleteSurvey = _useListSurvey.handleDeleteSurvey,
46647
+ nameSurvey = _useListSurvey.nameSurvey;
46525
46648
 
46526
46649
  var _useFontStyles = useFontStyles(),
46527
46650
  classFontSize = _useFontStyles.classFontSize,
@@ -46673,7 +46796,9 @@ var ListSurveys = function ListSurveys() {
46673
46796
  "aria-describedby": popoverId,
46674
46797
  variant: "text",
46675
46798
  onClick: function onClick(event) {
46676
- return handleClickAction(event, e.id);
46799
+ var _e$studentIds;
46800
+
46801
+ return handleClickAction(event, e.id, (_e$studentIds = e.studentIds) === null || _e$studentIds === void 0 ? void 0 : _e$studentIds[0]);
46677
46802
  }
46678
46803
  }, React__default.createElement(icons.MoreHoriz, null))));
46679
46804
  })))), (listSurvey === null || listSurvey === void 0 ? void 0 : listSurvey.items.length) === 0 ? React__default.createElement(core$1.Box, {
@@ -46736,15 +46861,31 @@ var ListSurveys = function ListSurveys() {
46736
46861
  className: "" + styles$3["action-wrapper"]
46737
46862
  }, React__default.createElement("li", {
46738
46863
  onClick: function onClick() {
46739
- return open(itemSelectedId);
46864
+ return open(TYPE_SURVEY_OPTION.VIEW_RESPONSE, itemSelectedId);
46740
46865
  },
46741
46866
  className: styles$3["action-item"] + " text-nowrap"
46742
46867
  }, t("view_responses")), React__default.createElement("li", {
46868
+ onClick: function onClick() {
46869
+ return open(TYPE_SURVEY_OPTION.VIEW_PREVIEW, itemSelectedId);
46870
+ },
46871
+ className: styles$3["action-item"] + " text-nowrap"
46872
+ }, t("preview_survey")), React__default.createElement("li", {
46743
46873
  className: styles$3["action-item"] + " text-nowrap",
46744
46874
  onClick: function onClick() {
46745
46875
  return handleDownloadCsvSurvey(itemSelectedId);
46746
46876
  }
46747
- }, t("download.csv")))));
46877
+ }, t("download.csv")), React__default.createElement("li", {
46878
+ onClick: function onClick() {
46879
+ return open(TYPE_SURVEY_OPTION.DELETE, itemSelectedId);
46880
+ },
46881
+ className: styles$3["action-item"] + " text-nowrap"
46882
+ }, t("delete")))), React__default.createElement(ConfirmDelete, {
46883
+ open: showModalDeleteSurvey,
46884
+ handleCloseModalConfirmDelete: handleCloseModalConfirmDelete,
46885
+ handleDelete: handleDeleteSurvey,
46886
+ selectedId: itemSelectedId,
46887
+ content: nameSurvey + " survey was sent. All sent survey would be invalid. Are you sure to delete it"
46888
+ }));
46748
46889
  };
46749
46890
 
46750
46891
  var PlusIcon = function PlusIcon(_ref) {
@@ -77155,7 +77296,8 @@ var HeaderComponent = function HeaderComponent(_ref) {
77155
77296
  onRedirectPageUser = _ref.onRedirectPageUser,
77156
77297
  studentUserId = _ref.studentUserId,
77157
77298
  isCheckIn = _ref.isCheckIn,
77158
- isShowButtonAnimation = _ref.isShowButtonAnimation;
77299
+ isShowButtonAnimation = _ref.isShowButtonAnimation,
77300
+ isPreviewSurvey = _ref.isPreviewSurvey;
77159
77301
 
77160
77302
  var _useFontStyles = useFontStyles(),
77161
77303
  classFontSize = _useFontStyles.classFontSize;
@@ -77272,7 +77414,7 @@ var HeaderComponent = function HeaderComponent(_ref) {
77272
77414
  return handleSubmit === null || handleSubmit === void 0 ? void 0 : handleSubmit();
77273
77415
  },
77274
77416
  className: "" + styles["btn-conduct-session"]
77275
- }, t("save")), isTeacher && duplicateSurvey && isShowDuplicate && React__default.createElement(core$1.Button, {
77417
+ }, t("save")), isTeacher && duplicateSurvey && isShowDuplicate && !isPreviewSurvey && React__default.createElement(core$1.Button, {
77276
77418
  variant: "contained",
77277
77419
  color: "primary",
77278
77420
  endIcon: React__default.createElement("img", {
@@ -77282,7 +77424,7 @@ var HeaderComponent = function HeaderComponent(_ref) {
77282
77424
  return duplicateSurvey === null || duplicateSurvey === void 0 ? void 0 : duplicateSurvey();
77283
77425
  },
77284
77426
  className: "" + styles["btn-duplicate-survey"]
77285
- }, t("duplicate_survey")), isTeacher && shareSurvey && isShowDuplicate && React__default.createElement(core$1.Button, {
77427
+ }, t("duplicate_survey")), isTeacher && shareSurvey && isShowDuplicate && !isPreviewSurvey && React__default.createElement(core$1.Button, {
77286
77428
  variant: "contained",
77287
77429
  color: "primary",
77288
77430
  endIcon: React__default.createElement(ShareIcon, null),
@@ -77330,6 +77472,8 @@ var usePreviewSurvey = function usePreviewSurvey() {
77330
77472
  var _useParams = reactRouterDom.useParams(),
77331
77473
  surveyId = _useParams.surveyId;
77332
77474
 
77475
+ var params = new URLSearchParams(location.search);
77476
+ var isPreviewSurvey = params.get("isPreview") === "1";
77333
77477
  var currentUser = reactRedux.useSelector(function (state) {
77334
77478
  var _state$common;
77335
77479
 
@@ -77810,7 +77954,8 @@ var usePreviewSurvey = function usePreviewSurvey() {
77810
77954
  listStudent: listStudent,
77811
77955
  studentShareId: studentShareId,
77812
77956
  setStudentShareId: setStudentShareId,
77813
- teacherUserId: teacherUserId
77957
+ teacherUserId: teacherUserId,
77958
+ isPreviewSurvey: isPreviewSurvey
77814
77959
  };
77815
77960
  };
77816
77961
 
@@ -78028,7 +78173,8 @@ var PreviewSurveyAdmin = function PreviewSurveyAdmin() {
78028
78173
  listStudent = _usePreviewSurvey.listStudent,
78029
78174
  studentShareId = _usePreviewSurvey.studentShareId,
78030
78175
  setStudentShareId = _usePreviewSurvey.setStudentShareId,
78031
- teacherUserId = _usePreviewSurvey.teacherUserId;
78176
+ teacherUserId = _usePreviewSurvey.teacherUserId,
78177
+ isPreviewSurvey = _usePreviewSurvey.isPreviewSurvey;
78032
78178
 
78033
78179
  var _useTranslation = marioCore.useTranslation(),
78034
78180
  t = _useTranslation.t;
@@ -78049,7 +78195,8 @@ var PreviewSurveyAdmin = function PreviewSurveyAdmin() {
78049
78195
  duplicateSurvey: duplicateSurvey,
78050
78196
  isShowDuplicate: !!surveyId && !!surveyDetail.studentIds,
78051
78197
  shareSurvey: handleToggleModelSurvey,
78052
- onPublishSurvey: handleCreateSurvey
78198
+ onPublishSurvey: handleCreateSurvey,
78199
+ isPreviewSurvey: isPreviewSurvey
78053
78200
  }), React__default.createElement(ShareSurveyDialog, {
78054
78201
  open: openDialogShareSurvey,
78055
78202
  handleClose: handleToggleModelSurvey,
@@ -78156,6 +78303,7 @@ var PreviewSurveyAdmin = function PreviewSurveyAdmin() {
78156
78303
  utils: MomentUtils
78157
78304
  }, React__default.createElement(pickers.KeyboardDateTimePicker, {
78158
78305
  disablePast: true,
78306
+ disabled: isPreviewSurvey,
78159
78307
  fullWidth: true,
78160
78308
  inputVariant: "outlined",
78161
78309
  format: "yyyy/MM/DD hh:mm A",
@@ -81192,7 +81340,7 @@ var useFormCreateSurvey = function useFormCreateSurvey(_ref) {
81192
81340
  var handleToggleButtonHeader = React.useCallback(function () {
81193
81341
  var _dataFormCreateSurvey;
81194
81342
 
81195
- if ((dataFormCreateSurvey === null || dataFormCreateSurvey === void 0 ? void 0 : (_dataFormCreateSurvey = dataFormCreateSurvey.studentIds) === null || _dataFormCreateSurvey === void 0 ? void 0 : _dataFormCreateSurvey.length) > 0 && dataFormCreateSurvey.activeStep === 0) {
81343
+ if ((dataFormCreateSurvey === null || dataFormCreateSurvey === void 0 ? void 0 : (_dataFormCreateSurvey = dataFormCreateSurvey.studentIds) === null || _dataFormCreateSurvey === void 0 ? void 0 : _dataFormCreateSurvey.length) >= 0 && dataFormCreateSurvey.activeStep === 0) {
81196
81344
  return false;
81197
81345
  } else if (dataFormCreateSurvey.activeStep === 2 && !!dataFormCreateSurvey.title.trim()) {
81198
81346
  return false;
@@ -83301,7 +83449,7 @@ var ModelSendSurvey = function ModelSendSurvey(_ref) {
83301
83449
  return handleClose();
83302
83450
  }
83303
83451
  }, t("cancel")), React__default.createElement(core$1.Button, {
83304
- disabled: !studentShareId || !(listEduTeacher !== null && listEduTeacher !== void 0 && (_listEduTeacher$filte = listEduTeacher.filter(function (r) {
83452
+ disabled: !studentShareId && listChooseStudents.length > 0 || !(listEduTeacher !== null && listEduTeacher !== void 0 && (_listEduTeacher$filte = listEduTeacher.filter(function (r) {
83305
83453
  return r.isSelected;
83306
83454
  })) !== null && _listEduTeacher$filte !== void 0 && _listEduTeacher$filte.length) && !(senderList !== null && senderList !== void 0 && senderList.length),
83307
83455
  color: "primary",
@@ -83747,6 +83895,9 @@ var revertUser = function revertUser(id) {
83747
83895
  var mergeData = function mergeData(fromId, toId) {
83748
83896
  return marioCore.api.put(USER_URL$4 + "/merge-data/" + fromId + "/" + toId);
83749
83897
  };
83898
+ var resetAcademicYear = function resetAcademicYear() {
83899
+ return marioCore.api.put(USER_URL$4 + "/reset-academic-year");
83900
+ };
83750
83901
 
83751
83902
  var useRevertUser = function useRevertUser() {
83752
83903
  var dispatch = reactRedux.useDispatch();
@@ -83815,6 +83966,36 @@ var useRevertUser = function useRevertUser() {
83815
83966
  }
83816
83967
  };
83817
83968
 
83969
+ var handelResetAcademicYear = function handelResetAcademicYear() {
83970
+ try {
83971
+ var _temp6 = function _temp6() {
83972
+ marioCore.setLoading(false);
83973
+ };
83974
+
83975
+ marioCore.setLoading(true);
83976
+
83977
+ var _temp7 = _catch(function () {
83978
+ return Promise.resolve(resetAcademicYear()).then(function () {
83979
+ dispatch(marioCore.setAlert({
83980
+ type: "success",
83981
+ message: "Success"
83982
+ }));
83983
+ });
83984
+ }, function (err) {
83985
+ var _err$response3, _err$response3$data;
83986
+
83987
+ dispatch(marioCore.setAlert({
83988
+ type: "danger",
83989
+ 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
83990
+ }));
83991
+ });
83992
+
83993
+ return Promise.resolve(_temp7 && _temp7.then ? _temp7.then(_temp6) : _temp6(_temp7));
83994
+ } catch (e) {
83995
+ return Promise.reject(e);
83996
+ }
83997
+ };
83998
+
83818
83999
  return {
83819
84000
  user: user,
83820
84001
  setUser: setUser,
@@ -83823,7 +84004,8 @@ var useRevertUser = function useRevertUser() {
83823
84004
  setUserFrom: setUserFrom,
83824
84005
  userTo: userTo,
83825
84006
  setUserTo: setUserTo,
83826
- handelMergeDataUser: handelMergeDataUser
84007
+ handelMergeDataUser: handelMergeDataUser,
84008
+ handelResetAcademicYear: handelResetAcademicYear
83827
84009
  };
83828
84010
  };
83829
84011
 
@@ -83836,7 +84018,8 @@ var RevertUser = function RevertUser() {
83836
84018
  setUserFrom = _useRevertUser.setUserFrom,
83837
84019
  userTo = _useRevertUser.userTo,
83838
84020
  setUserTo = _useRevertUser.setUserTo,
83839
- handelMergeDataUser = _useRevertUser.handelMergeDataUser;
84021
+ handelMergeDataUser = _useRevertUser.handelMergeDataUser,
84022
+ handelResetAcademicYear = _useRevertUser.handelResetAcademicYear;
83840
84023
 
83841
84024
  return React__default.createElement(reactstrap.Row, {
83842
84025
  className: "my-2"
@@ -83877,7 +84060,12 @@ var RevertUser = function RevertUser() {
83877
84060
  onClick: function onClick() {
83878
84061
  return handelMergeDataUser();
83879
84062
  }
83880
- }, "Merge Session, Conference"))));
84063
+ }, "Merge Session, Conference"))), React__default.createElement(reactstrap.Col, null, React__default.createElement(reactstrap.Row, null, React__default.createElement(reactstrap.Button, {
84064
+ className: "m-2",
84065
+ onClick: function onClick() {
84066
+ return handelResetAcademicYear();
84067
+ }
84068
+ }, "Reset academic year"))));
83881
84069
  };
83882
84070
 
83883
84071
  var USER_URL$5 = marioCore.BASE_URL + "/api/User";