mario-teacher-student-client 2.2.5-beta → 2.2.6-beta

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.
@@ -11,3 +11,4 @@ export declare const getSurveyCountStudent: () => Promise<import("axios").AxiosR
11
11
  export declare const getAllEduTeacher: () => Promise<import("axios").AxiosResponse<any>>;
12
12
  export declare const shareSurvey: (data: any) => void;
13
13
  export declare const updateSurvey: (surveyId: number, model: any) => Promise<import("axios").AxiosResponse<any>>;
14
+ export declare const getListExternal: (surveyId: number, params: any) => Promise<import("axios").AxiosResponse<any>>;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const ExternalSurveyList: () => JSX.Element;
3
+ export default ExternalSurveyList;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { MODEL_CONFIRM_SURVEY } from "../../constants/types";
3
+ declare const ConfirmShareSurvey: ({ open, handleClose, onOpenModelExternal }: MODEL_CONFIRM_SURVEY) => JSX.Element;
4
+ export default ConfirmShareSurvey;
@@ -75,3 +75,14 @@ export declare const tableActionNeedSurvey: ({
75
75
  sortName: null;
76
76
  align: string;
77
77
  })[];
78
+ export declare const tableExternalSurvey: ({
79
+ name: string;
80
+ tableWidth: number;
81
+ sortName: string;
82
+ align: string;
83
+ } | {
84
+ name: string;
85
+ tableWidth: number;
86
+ sortName: null;
87
+ align: string;
88
+ })[];
@@ -269,6 +269,7 @@ export interface MODEL_CONFIRM_SURVEY {
269
269
  handleEnterAddSender?: Function;
270
270
  emailContent?: string;
271
271
  handleChangeEmailContent?: Function;
272
+ onOpenModelExternal?: Function;
272
273
  }
273
274
  export interface EDU_TEACHER {
274
275
  email: string;
@@ -281,3 +282,17 @@ export interface EDU_TEACHER {
281
282
  profileImageFileName: string;
282
283
  isSelected?: boolean;
283
284
  }
285
+ export interface EXTERNAL_SURVEY {
286
+ id: number;
287
+ email: string;
288
+ startTime: string;
289
+ isDone: boolean;
290
+ status: string;
291
+ }
292
+ export interface EXTERNAL_RES {
293
+ items: EXTERNAL_SURVEY;
294
+ currentPage: number;
295
+ pageSize: number;
296
+ totalItems: number;
297
+ totalPages: number;
298
+ }
@@ -56,5 +56,7 @@ declare const useListSurveyDetail: () => {
56
56
  emailContent: string;
57
57
  handleShareSurvey: () => Promise<void>;
58
58
  handleDeleteEmail: (email: string) => void;
59
+ handleToggleModelConfirmShare: () => void;
60
+ openModelConfirmShare: boolean;
59
61
  };
60
62
  export default useListSurveyDetail;
@@ -15,5 +15,7 @@ declare const useExternalSurvey: ({ surveyId }: PropsCustomHook) => {
15
15
  emailContent: string;
16
16
  handleShareSurvey: () => Promise<void>;
17
17
  handleDeleteEmail: (email: string) => void;
18
+ handleToggleModelConfirmShare: () => void;
19
+ openModelConfirmShare: boolean;
18
20
  };
19
21
  export default useExternalSurvey;
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { FILTER_SURVEY, EXTERNAL_SURVEY } from "../constants/types";
3
+ declare const useExternalSurveyList: () => {
4
+ filters: FILTER_SURVEY;
5
+ inputSearch: import("react").MutableRefObject<any>;
6
+ externalSurveys: EXTERNAL_SURVEY[];
7
+ handleSort: (e: string) => void;
8
+ handleChangeInputSearch: (e: React.ChangeEvent<HTMLInputElement>) => void;
9
+ handleViewExternalResult: () => void;
10
+ };
11
+ export default useExternalSurveyList;
@@ -13,7 +13,7 @@ declare const useListSurveyDetail: ({ type }: SURVEY_STUDENT_PROPS) => {
13
13
  dayLeftCellBgColor: (dayLeft: number) => "" | "bg-red" | "bg-green" | "bg-yellow";
14
14
  handleStartSurvey: (surveyId: number, studentId: number) => void;
15
15
  goToBookSession: (studentId: number, surveyId: number) => void;
16
- handleShowSession: (status: string, schedule: string, isDone: boolean) => false | "Completed" | "Not Required" | "No Response yet" | "Scheduled";
16
+ handleShowSession: (status: string, schedule: string, isDone: boolean) => false | "Completed" | "Scheduled" | "No Response yet";
17
17
  sessionBackground: (point: number | null) => "bg-red" | "bg-green" | "bg-yellow";
18
18
  };
19
19
  export default useListSurveyDetail;
package/dist/index.js CHANGED
@@ -14311,7 +14311,8 @@ var ShareSurveyDialog = function ShareSurveyDialog(_ref) {
14311
14311
  },
14312
14312
  renderInput: function renderInput(params) {
14313
14313
  return React__default.createElement(core.TextField, Object.assign({}, params, {
14314
- variant: "outlined"
14314
+ variant: "outlined",
14315
+ placeholder: "Select teacher to share"
14315
14316
  }));
14316
14317
  }
14317
14318
  })), React__default.createElement(core.Grid, {
@@ -61952,6 +61953,11 @@ var shareSurvey$1 = function shareSurvey(data) {
61952
61953
  var updateSurvey$1 = function updateSurvey(surveyId, model) {
61953
61954
  return marioCore.api.put(SURVEY_API + "/setting-survey/" + surveyId, model);
61954
61955
  };
61956
+ var getListExternal = function getListExternal(surveyId, params) {
61957
+ return marioCore.api.get(SURVEY_API + "/external/" + surveyId, {
61958
+ params: params
61959
+ });
61960
+ };
61955
61961
 
61956
61962
  var STEP_MODEL = ["Select student", "Create a survey", "Review"];
61957
61963
  var lableStep = function lableStep(activeStep) {
@@ -62721,7 +62727,7 @@ var useListSurveyDetail = function useListSurveyDetail(_ref) {
62721
62727
 
62722
62728
  var handleShowSession = function handleShowSession(status, schedule, isDone) {
62723
62729
  if (status === "Completed") {
62724
- return "Not Required";
62730
+ return "Scheduled";
62725
62731
  } else if (status === "Pending") {
62726
62732
  return "No Response yet";
62727
62733
  } else if (status === "ActionNeed" && !!schedule) {
@@ -63025,6 +63031,27 @@ var tableActionNeedSurvey = [{
63025
63031
  sortName: null,
63026
63032
  align: "center"
63027
63033
  }];
63034
+ var tableExternalSurvey = [{
63035
+ name: "External email",
63036
+ tableWidth: 45,
63037
+ sortName: "email",
63038
+ align: "left"
63039
+ }, {
63040
+ name: "Start time",
63041
+ tableWidth: 25,
63042
+ sortName: "startTime",
63043
+ align: "left"
63044
+ }, {
63045
+ name: "Status",
63046
+ tableWidth: 20,
63047
+ sortName: "status",
63048
+ align: "center"
63049
+ }, {
63050
+ name: "",
63051
+ tableWidth: 10,
63052
+ sortName: null,
63053
+ align: "center"
63054
+ }];
63028
63055
 
63029
63056
  var AllStudentSurvey = function AllStudentSurvey() {
63030
63057
  var _useListSurveyDetail = useListSurveyDetail({
@@ -63404,6 +63431,145 @@ var ActionNeededSurvey = function ActionNeededSurvey() {
63404
63431
  }));
63405
63432
  };
63406
63433
 
63434
+ var useExternalSurveyList = function useExternalSurveyList() {
63435
+ var dispatch = reactRedux.useDispatch();
63436
+ var history = reactRouterDom.useHistory();
63437
+
63438
+ var _useParams = reactRouterDom.useParams(),
63439
+ id = _useParams.id;
63440
+
63441
+ var _useState = React.useState(initialFilterSurvey),
63442
+ filters = _useState[0],
63443
+ setFilters = _useState[1];
63444
+
63445
+ var _useState2 = React.useState([]),
63446
+ externalSurveys = _useState2[0],
63447
+ setExternalSurveys = _useState2[1];
63448
+
63449
+ var inputSearch = React.useRef(null);
63450
+
63451
+ var changeFilters = function changeFilters(updatedFilters) {
63452
+ return setFilters(_extends({}, filters, updatedFilters));
63453
+ };
63454
+
63455
+ var handleChangeInputSearch = function handleChangeInputSearch(e) {
63456
+ var inputValue = e.target.value;
63457
+
63458
+ if (!!inputSearch.current) {
63459
+ clearTimeout(inputSearch.current);
63460
+ }
63461
+
63462
+ inputSearch.current = setTimeout(function () {
63463
+ changeFilters({
63464
+ searchString: inputValue,
63465
+ currentPage: 1
63466
+ });
63467
+ }, 800);
63468
+ };
63469
+
63470
+ var handleSort = function handleSort(e) {
63471
+ changeFilters({
63472
+ sortOrder: filters.sortOrder === "DESC" ? "ASC" : "DESC",
63473
+ sortBy: e
63474
+ });
63475
+ };
63476
+
63477
+ var handleViewExternalResult = function handleViewExternalResult() {
63478
+ history.push("");
63479
+ };
63480
+
63481
+ var getExternalList = React.useCallback(function () {
63482
+ try {
63483
+ var _temp3 = function _temp3() {
63484
+ dispatch(marioCore.setLoading(false));
63485
+ };
63486
+
63487
+ dispatch(marioCore.setLoading(true));
63488
+
63489
+ var _temp4 = _catch(function () {
63490
+ return Promise.resolve(getListExternal(id, filters)).then(function (res) {
63491
+ var _res$data;
63492
+
63493
+ setExternalSurveys((_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.items);
63494
+ });
63495
+ }, function (err) {
63496
+ var _err$response, _err$response$data;
63497
+
63498
+ dispatch(marioCore.setAlert({
63499
+ type: "danger",
63500
+ message: ((_err$response = err.response) === null || _err$response === void 0 ? void 0 : (_err$response$data = _err$response.data) === null || _err$response$data === void 0 ? void 0 : _err$response$data.title) || err.message
63501
+ }));
63502
+ });
63503
+
63504
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
63505
+ } catch (e) {
63506
+ return Promise.reject(e);
63507
+ }
63508
+ }, [filters]);
63509
+ React.useEffect(function () {
63510
+ getExternalList();
63511
+ }, [filters]);
63512
+ return {
63513
+ filters: filters,
63514
+ inputSearch: inputSearch,
63515
+ externalSurveys: externalSurveys,
63516
+ handleSort: handleSort,
63517
+ handleChangeInputSearch: handleChangeInputSearch,
63518
+ handleViewExternalResult: handleViewExternalResult
63519
+ };
63520
+ };
63521
+
63522
+ var ExternalSurveyList = function ExternalSurveyList() {
63523
+ var _useExternalSurveyLis = useExternalSurveyList(),
63524
+ inputSearch = _useExternalSurveyLis.inputSearch,
63525
+ filters = _useExternalSurveyLis.filters,
63526
+ handleChangeInputSearch = _useExternalSurveyLis.handleChangeInputSearch,
63527
+ handleSort = _useExternalSurveyLis.handleSort,
63528
+ externalSurveys = _useExternalSurveyLis.externalSurveys;
63529
+
63530
+ return React__default.createElement(core.Grid, null, React__default.createElement(core.Box, {
63531
+ pl: 3,
63532
+ pr: 3
63533
+ }, React__default.createElement(CustomFilterComponent, {
63534
+ handleChangeInputSearch: handleChangeInputSearch,
63535
+ filters: filters,
63536
+ inputSearch: inputSearch,
63537
+ placeholderSearch: "Search email"
63538
+ })), React__default.createElement(core.TableContainer, null, React__default.createElement(core.Table, {
63539
+ "aria-label": "simple table",
63540
+ className: "" + styles$O["table-border"]
63541
+ }, React__default.createElement(core.TableHead, null, React__default.createElement(TableCells, {
63542
+ listTableCell: tableExternalSurvey,
63543
+ filters: filters,
63544
+ handleSort: handleSort
63545
+ })), React__default.createElement(core.TableBody, null, (externalSurveys === null || externalSurveys === void 0 ? void 0 : externalSurveys.length) > 0 && externalSurveys.map(function (r) {
63546
+ return React__default.createElement(core.TableRow, {
63547
+ className: "" + styles$O["table-row"],
63548
+ key: r.id
63549
+ }, React__default.createElement(core.TableCell, {
63550
+ align: "left",
63551
+ className: "" + styles$O["row_name"]
63552
+ }, r.email), React__default.createElement(core.TableCell, {
63553
+ align: "left",
63554
+ className: "" + styles$O["row_name"]
63555
+ }, !!r.startTime && React__default.createElement(ConvertTime, {
63556
+ time: r.startTime
63557
+ })), React__default.createElement(core.TableCell, {
63558
+ align: "left",
63559
+ className: "" + styles$O["row_name"]
63560
+ }, r.status), React__default.createElement(core.TableCell, {
63561
+ align: "center",
63562
+ component: "th",
63563
+ scope: "row",
63564
+ height: 80,
63565
+ className: "" + styles$O["table-class-type"]
63566
+ }, React__default.createElement(core.Button, {
63567
+ variant: "contained",
63568
+ className: "" + styles$O["btn-open"]
63569
+ }, React__default.createElement(ArrowForwardIcon, null))));
63570
+ })))));
63571
+ };
63572
+
63407
63573
  var ListSurveyDetail = function ListSurveyDetail(props) {
63408
63574
  var renderTab = function renderTab() {
63409
63575
  if (props.tab.includes("ALL")) {
@@ -63422,6 +63588,10 @@ var ListSurveyDetail = function ListSurveyDetail(props) {
63422
63588
  return React__default.createElement(ActionNeededSurvey, null);
63423
63589
  }
63424
63590
 
63591
+ if (props.tab.includes("EXTERNAL")) {
63592
+ return React__default.createElement(ExternalSurveyList, null);
63593
+ }
63594
+
63425
63595
  return React__default.createElement("div", null);
63426
63596
  };
63427
63597
 
@@ -63483,6 +63653,9 @@ var useSurveyDetail = function useSurveyDetail() {
63483
63653
  }, {
63484
63654
  label: "ACTION NEEDED",
63485
63655
  count: "[" + data.actionNeedCount + "]"
63656
+ }, {
63657
+ label: "EXTERNAL",
63658
+ count: "[" + data.externalCount + "]"
63486
63659
  }]);
63487
63660
  });
63488
63661
  }, function (err) {
@@ -63586,11 +63759,20 @@ var useExternalSurvey = function useExternalSurvey(_ref) {
63586
63759
  emailContent = _useState5[0],
63587
63760
  setEmailContent = _useState5[1];
63588
63761
 
63762
+ var _useState6 = React.useState(false),
63763
+ openModelConfirmShare = _useState6[0],
63764
+ setOpenModelConfirmShare = _useState6[1];
63765
+
63589
63766
  var handleToggleModelShare = function handleToggleModelShare() {
63590
63767
  if (openModelShare) history.push("/list-survey");
63591
63768
  setOpenModelShare(!openModelShare);
63592
63769
  };
63593
63770
 
63771
+ var handleToggleModelConfirmShare = function handleToggleModelConfirmShare() {
63772
+ if (openModelConfirmShare) history.push("/list-survey");
63773
+ setOpenModelConfirmShare(!openModelConfirmShare);
63774
+ };
63775
+
63594
63776
  var handleToggleSuggestedTeacher = function handleToggleSuggestedTeacher(teacherId, isChecked) {
63595
63777
  var teacherIndex = listEduTeacher.findIndex(function (r) {
63596
63778
  return r.generalEducationTeacherId === teacherId;
@@ -63729,7 +63911,9 @@ var useExternalSurvey = function useExternalSurvey(_ref) {
63729
63911
  handleChangeEmailContent: handleChangeEmailContent,
63730
63912
  emailContent: emailContent,
63731
63913
  handleShareSurvey: handleShareSurvey,
63732
- handleDeleteEmail: handleDeleteEmail
63914
+ handleDeleteEmail: handleDeleteEmail,
63915
+ handleToggleModelConfirmShare: handleToggleModelConfirmShare,
63916
+ openModelConfirmShare: openModelConfirmShare
63733
63917
  };
63734
63918
  };
63735
63919
 
@@ -63800,7 +63984,9 @@ var useListSurveyDetail$1 = function useListSurveyDetail() {
63800
63984
  handleChangeEmailContent = _useExternalSurvey.handleChangeEmailContent,
63801
63985
  emailContent = _useExternalSurvey.emailContent,
63802
63986
  handleShareSurvey = _useExternalSurvey.handleShareSurvey,
63803
- handleDeleteEmail = _useExternalSurvey.handleDeleteEmail;
63987
+ handleDeleteEmail = _useExternalSurvey.handleDeleteEmail,
63988
+ handleToggleModelConfirmShare = _useExternalSurvey.handleToggleModelConfirmShare,
63989
+ openModelConfirmShare = _useExternalSurvey.openModelConfirmShare;
63804
63990
 
63805
63991
  var handleToggleModelConfirm = function handleToggleModelConfirm() {
63806
63992
  setOpenModelConfirmPublish(!openModelConfirmPublish);
@@ -64145,7 +64331,7 @@ var useListSurveyDetail$1 = function useListSurveyDetail() {
64145
64331
  }))).then(function (res) {
64146
64332
  setSurveyId(res.data.id);
64147
64333
  localStorage.removeItem("dataFormSurvey");
64148
- handleToggleModelShare();
64334
+ handleToggleModelConfirmShare();
64149
64335
  dispatch(marioCore.setAlert({
64150
64336
  type: "success",
64151
64337
  message: "Publish survey success"
@@ -64254,7 +64440,9 @@ var useListSurveyDetail$1 = function useListSurveyDetail() {
64254
64440
  handleChangeEmailContent: handleChangeEmailContent,
64255
64441
  emailContent: emailContent,
64256
64442
  handleShareSurvey: handleShareSurvey,
64257
- handleDeleteEmail: handleDeleteEmail
64443
+ handleDeleteEmail: handleDeleteEmail,
64444
+ handleToggleModelConfirmShare: handleToggleModelConfirmShare,
64445
+ openModelConfirmShare: openModelConfirmShare
64258
64446
  };
64259
64447
  };
64260
64448
 
@@ -64910,7 +65098,7 @@ var ModelSendSurvey = function ModelSendSurvey(_ref) {
64910
65098
  className: "" + styles$O["box-email-content"]
64911
65099
  }, React__default.createElement(core.Typography, {
64912
65100
  className: "" + styles$O["title-content"]
64913
- }, "Add sender"), React__default.createElement(lab.Autocomplete, {
65101
+ }, "External email"), React__default.createElement(lab.Autocomplete, {
64914
65102
  multiple: true,
64915
65103
  freeSolo: true,
64916
65104
  id: "tags-filled",
@@ -64931,6 +65119,7 @@ var ModelSendSurvey = function ModelSendSurvey(_ref) {
64931
65119
  return React__default.createElement(core.TextField, Object.assign({}, params, {
64932
65120
  variant: "outlined",
64933
65121
  value: textValueSender,
65122
+ placeholder: "Enter external email",
64934
65123
  onKeyUp: function onKeyUp(event) {
64935
65124
  if (event.key === "Enter") handleEnterAddSender === null || handleEnterAddSender === void 0 ? void 0 : handleEnterAddSender();
64936
65125
  },
@@ -64997,7 +65186,36 @@ var ConfirmPublishSurvey = function ConfirmPublishSurvey(_ref) {
64997
65186
  return handlePublishSurvey === null || handlePublishSurvey === void 0 ? void 0 : handlePublishSurvey();
64998
65187
  },
64999
65188
  className: "" + styles$O["btn-send-survey"]
65000
- }, "SEND SURVEY")));
65189
+ }, "PUBLISH SURVEY")));
65190
+ };
65191
+
65192
+ var ConfirmShareSurvey = function ConfirmShareSurvey(_ref) {
65193
+ var open = _ref.open,
65194
+ handleClose = _ref.handleClose,
65195
+ onOpenModelExternal = _ref.onOpenModelExternal;
65196
+ return React__default.createElement(core.Dialog, {
65197
+ open: open,
65198
+ onClose: function onClose() {
65199
+ return handleClose();
65200
+ },
65201
+ className: "" + styles$O["model-confirm-publish"]
65202
+ }, React__default.createElement(core.DialogTitle, null, React__default.createElement(core.Typography, {
65203
+ className: "" + styles$O["dialog-title"]
65204
+ }, "Do you want to share a survey to Teachers?")), React__default.createElement(core.DialogContent, null, React__default.createElement(core.Typography, {
65205
+ className: "" + styles$O["content-confirm-model"]
65206
+ }, "You can share this survey to teachers to get more insight about your student.")), React__default.createElement(core.DialogActions, null, React__default.createElement(core.Button, {
65207
+ className: "" + styles$O["btn-cancel"],
65208
+ onClick: function onClick() {
65209
+ return handleClose();
65210
+ }
65211
+ }, "SKIP"), React__default.createElement(core.Button, {
65212
+ color: "primary",
65213
+ endIcon: React__default.createElement(SendIcon, null),
65214
+ onClick: function onClick() {
65215
+ return onOpenModelExternal === null || onOpenModelExternal === void 0 ? void 0 : onOpenModelExternal();
65216
+ },
65217
+ className: "" + styles$O["btn-send-survey"]
65218
+ }, "YES")));
65001
65219
  };
65002
65220
 
65003
65221
  var CreateSurvey = function CreateSurvey() {
@@ -65054,7 +65272,9 @@ var CreateSurvey = function CreateSurvey() {
65054
65272
  handleChangeEmailContent = _useCreateSurvey.handleChangeEmailContent,
65055
65273
  emailContent = _useCreateSurvey.emailContent,
65056
65274
  handleShareSurvey = _useCreateSurvey.handleShareSurvey,
65057
- handleDeleteEmail = _useCreateSurvey.handleDeleteEmail;
65275
+ handleDeleteEmail = _useCreateSurvey.handleDeleteEmail,
65276
+ handleToggleModelConfirmShare = _useCreateSurvey.handleToggleModelConfirmShare,
65277
+ openModelConfirmShare = _useCreateSurvey.openModelConfirmShare;
65058
65278
 
65059
65279
  var goback = function goback() {
65060
65280
  history.push("/list-survey");
@@ -65144,6 +65364,10 @@ var CreateSurvey = function CreateSurvey() {
65144
65364
  open: openModelConfirmPublish,
65145
65365
  handleClose: handleToggleModelConfirm,
65146
65366
  handlePublishSurvey: handleCreateSurvey
65367
+ }), React__default.createElement(ConfirmShareSurvey, {
65368
+ open: openModelConfirmShare,
65369
+ handleClose: handleToggleModelConfirmShare,
65370
+ onOpenModelExternal: handleToggleModelShare
65147
65371
  }), React__default.createElement(ModelSendSurvey, {
65148
65372
  handleClose: handleToggleModelShare,
65149
65373
  open: openModelShare,