mario-core 2.9.193-release → 2.9.194-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.
@@ -1,4 +1,4 @@
1
- import { StudentFilter, UserColumn, UserFilter, UserOrder } from "./types";
1
+ import { IStaffAssign, StudentFilter, UserColumn, UserFilter, UserOrder } from "./types";
2
2
  export declare const userOrders: {
3
3
  0: string;
4
4
  1: string;
@@ -18,3 +18,4 @@ export declare const DEFAULT_FILTER: UserFilter;
18
18
  export declare const DEFAULT_STUDENT_FILTER: StudentFilter;
19
19
  export declare const DEFAULT_FILTER_POPOVER: UserFilter;
20
20
  export declare const CSV_PREFIX = "data:text/csv;charset=utf-8,";
21
+ export declare const initialStaffBulk: IStaffAssign;
@@ -84,6 +84,16 @@ export declare type StudentAssign = {
84
84
  mainTeacherEmail: string;
85
85
  mainTeacherId?: number;
86
86
  };
87
+ export interface IStaffAssign {
88
+ teacherId: string;
89
+ teacherEmail: string;
90
+ assistantId: string;
91
+ assistantEmail: string;
92
+ counselorId: string;
93
+ counselorEmail: string;
94
+ secondaryTeacherId: string;
95
+ secondaryTeacherEmail: string;
96
+ }
87
97
  export declare type Counselor = {
88
98
  id: string;
89
99
  counselorId: number;
@@ -1,5 +1,11 @@
1
+ import { IStaffAssign } from "../constants/types";
1
2
  declare const useAssignStudent: (teacherSelected?: object | undefined, assistantSelected?: object | undefined, counselorSelected?: object | undefined, secondaryTeacherSelected?: object | undefined, callback?: Function | undefined) => {
2
3
  handleAssignSingleStudent: (id: string) => void;
3
4
  handleAssignMultiStudent: (listUserIds: string[]) => void;
5
+ openModelBulk: boolean;
6
+ handleToggleModel: () => void;
7
+ handleChangeStaffBulk: (name: string, id: string) => void;
8
+ staffBulkAssign: IStaffAssign;
9
+ handleAssignStaffToStudents: (listUserIds: string[]) => void;
4
10
  };
5
11
  export default useAssignStudent;
@@ -4,7 +4,7 @@ declare const useAssistantList: () => {
4
4
  selectedAssistants: object | undefined;
5
5
  assistantOptions: IOptions[];
6
6
  handleSelectAssistant: (assistantId: string, studentUserId: string) => void;
7
- handleCreateAssistantOption: (newAssistant: IOptions, studentUserId: string) => void;
7
+ handleCreateAssistantOption: (newAssistant: IOptions, studentUserId: string, isSelect?: boolean | undefined) => void;
8
8
  setSelectedAssistants: import("react").Dispatch<import("react").SetStateAction<object | undefined>>;
9
9
  };
10
10
  export default useAssistantList;
@@ -4,7 +4,7 @@ declare const useCounselorList: () => {
4
4
  selectedCounselors: object | undefined;
5
5
  counselorOptions: IOptions[];
6
6
  handleSelectCounselor: (counselorId: string, studentUserId: string) => void;
7
- handleCreateCounselorOption: (newCounselor: IOptions, studentUserId: string) => void;
7
+ handleCreateCounselorOption: (newCounselor: IOptions, studentUserId: string, isSelect?: boolean | undefined) => void;
8
8
  setSelectedCounselors: import("react").Dispatch<import("react").SetStateAction<object | undefined>>;
9
9
  };
10
10
  export default useCounselorList;
@@ -4,7 +4,7 @@ declare const useSecondaryTeacherList: () => {
4
4
  selectedSecondaryTeachers: object | undefined;
5
5
  secondaryTeacherOptions: IOptions[];
6
6
  handleSelectSecondaryTeacher: (secondaryTeacherId: string, studentUserId: string) => void;
7
- handleCreateSecondaryTeacherOption: (newSecondaryTeacher: IOptions, studentUserId: string) => void;
7
+ handleCreateSecondaryTeacherOption: (newSecondaryTeacher: IOptions, studentUserId: string, isSelect?: boolean | undefined) => void;
8
8
  setSelectedSecondaryTeachers: import("react").Dispatch<import("react").SetStateAction<object | undefined>>;
9
9
  };
10
10
  export default useSecondaryTeacherList;
@@ -4,7 +4,7 @@ declare const useTeacherList: () => {
4
4
  selectedTeachers: object | undefined;
5
5
  teacherOptions: IOptions[];
6
6
  handleSelectTeacher: (teacherId: string, studentUserId: string) => void;
7
- handleCreateTeacherOption: (newTeacher: IOptions, studentUserId: string) => void;
7
+ handleCreateTeacherOption: (newTeacher: IOptions, studentUserId: string, isSelectTeacher?: boolean | undefined) => void;
8
8
  setSelectedTeachers: import("react").Dispatch<import("react").SetStateAction<object | undefined>>;
9
9
  };
10
10
  export default useTeacherList;
package/dist/index.js CHANGED
@@ -26869,6 +26869,16 @@ var DEFAULT_FILTER_POPOVER = {
26869
26869
  pageSize: 200
26870
26870
  };
26871
26871
  var CSV_PREFIX = "data:text/csv;charset=utf-8,";
26872
+ var initialStaffBulk = {
26873
+ assistantId: "",
26874
+ counselorId: "",
26875
+ secondaryTeacherId: "",
26876
+ teacherId: "",
26877
+ assistantEmail: "",
26878
+ counselorEmail: "",
26879
+ secondaryTeacherEmail: "",
26880
+ teacherEmail: ""
26881
+ };
26872
26882
 
26873
26883
  var useFilters$1 = function useFilters() {
26874
26884
  var _useState = React.useState(DEFAULT_FILTER$1),
@@ -28214,11 +28224,14 @@ var useCounselorList = function useCounselorList() {
28214
28224
  });
28215
28225
  setSelectedCounselors(_extends({}, selectedCounselors, (_extends2 = {}, _extends2[studentUserId] = selectedCounselor, _extends2)));
28216
28226
  }, [JSON.stringify(selectedCounselors), JSON.stringify(counselorOptions)]);
28217
- var handleCreateCounselorOption = React.useCallback(function (newCounselor, studentUserId) {
28218
- var _extends3;
28219
-
28227
+ var handleCreateCounselorOption = React.useCallback(function (newCounselor, studentUserId, isSelect) {
28220
28228
  setCounselorOptions([].concat(counselorOptions, [newCounselor]));
28221
- setSelectedCounselors(_extends({}, selectedCounselors, (_extends3 = {}, _extends3[studentUserId] = newCounselor, _extends3)));
28229
+
28230
+ if (!!isSelect) {
28231
+ var _extends3;
28232
+
28233
+ setSelectedCounselors(_extends({}, selectedCounselors, (_extends3 = {}, _extends3[studentUserId] = newCounselor, _extends3)));
28234
+ }
28222
28235
  }, [JSON.stringify(counselorOptions), JSON.stringify(selectedCounselors)]);
28223
28236
  React.useEffect(function () {
28224
28237
  getDataCounselors();
@@ -28279,11 +28292,14 @@ var useAssistantList = function useAssistantList() {
28279
28292
  });
28280
28293
  setSelectedAssistants(_extends({}, selectedAssistants, (_extends2 = {}, _extends2[studentUserId] = selectedAssistant, _extends2)));
28281
28294
  }, [JSON.stringify(selectedAssistants), JSON.stringify(assistantOptions)]);
28282
- var handleCreateAssistantOption = React.useCallback(function (newAssistant, studentUserId) {
28283
- var _extends3;
28284
-
28295
+ var handleCreateAssistantOption = React.useCallback(function (newAssistant, studentUserId, isSelect) {
28285
28296
  setAssistantOptions([].concat(assistantOptions, [newAssistant]));
28286
- setSelectedAssistants(_extends({}, selectedAssistants, (_extends3 = {}, _extends3[studentUserId] = newAssistant, _extends3)));
28297
+
28298
+ if (!!isSelect) {
28299
+ var _extends3;
28300
+
28301
+ setSelectedAssistants(_extends({}, selectedAssistants, (_extends3 = {}, _extends3[studentUserId] = newAssistant, _extends3)));
28302
+ }
28287
28303
  }, [JSON.stringify(assistantOptions), JSON.stringify(selectedAssistants)]);
28288
28304
  React.useEffect(function () {
28289
28305
  getDataAssistants();
@@ -28344,11 +28360,14 @@ var useSecondaryTeacherList = function useSecondaryTeacherList() {
28344
28360
  });
28345
28361
  setSelectedSecondaryTeachers(_extends({}, selectedSecondaryTeachers, (_extends2 = {}, _extends2[studentUserId] = selectedSecondaryTeacher, _extends2)));
28346
28362
  }, [JSON.stringify(selectedSecondaryTeachers), JSON.stringify(secondaryTeacherOptions)]);
28347
- var handleCreateSecondaryTeacherOption = React.useCallback(function (newSecondaryTeacher, studentUserId) {
28348
- var _extends3;
28349
-
28363
+ var handleCreateSecondaryTeacherOption = React.useCallback(function (newSecondaryTeacher, studentUserId, isSelect) {
28350
28364
  setSecondaryTeacherOptions([].concat(secondaryTeacherOptions, [newSecondaryTeacher]));
28351
- setSelectedSecondaryTeachers(_extends({}, selectedSecondaryTeachers, (_extends3 = {}, _extends3[studentUserId] = newSecondaryTeacher, _extends3)));
28365
+
28366
+ if (!!isSelect) {
28367
+ var _extends3;
28368
+
28369
+ setSelectedSecondaryTeachers(_extends({}, selectedSecondaryTeachers, (_extends3 = {}, _extends3[studentUserId] = newSecondaryTeacher, _extends3)));
28370
+ }
28352
28371
  }, [JSON.stringify(secondaryTeacherOptions), JSON.stringify(selectedSecondaryTeachers)]);
28353
28372
  React.useEffect(function () {
28354
28373
  getDataSecondaryTeachers();
@@ -28411,11 +28430,14 @@ var useTeacherList = function useTeacherList() {
28411
28430
  });
28412
28431
  setSelectedTeachers(_extends({}, selectedTeachers, (_extends2 = {}, _extends2[studentUserId] = selectedTeacher, _extends2)));
28413
28432
  }, [JSON.stringify(selectedTeachers), JSON.stringify(teacherOptions)]);
28414
- var handleCreateTeacherOption = React.useCallback(function (newTeacher, studentUserId) {
28415
- var _extends3;
28416
-
28433
+ var handleCreateTeacherOption = React.useCallback(function (newTeacher, studentUserId, isSelectTeacher) {
28417
28434
  setTeacherOptions([].concat(teacherOptions, [newTeacher]));
28418
- setSelectedTeachers(_extends({}, selectedTeachers, (_extends3 = {}, _extends3[studentUserId] = newTeacher, _extends3)));
28435
+
28436
+ if (!!isSelectTeacher) {
28437
+ var _extends3;
28438
+
28439
+ setSelectedTeachers(_extends({}, selectedTeachers, (_extends3 = {}, _extends3[studentUserId] = newTeacher, _extends3)));
28440
+ }
28419
28441
  }, [JSON.stringify(teacherOptions), JSON.stringify(selectedTeachers)]);
28420
28442
  React.useEffect(function () {
28421
28443
  getDataTeachers();
@@ -28432,6 +28454,25 @@ var useTeacherList = function useTeacherList() {
28432
28454
  var useAssignStudent = function useAssignStudent(teacherSelected, assistantSelected, counselorSelected, secondaryTeacherSelected, callback) {
28433
28455
  var dispatch = reactRedux.useDispatch();
28434
28456
 
28457
+ var _useState = React.useState(false),
28458
+ openModelBulk = _useState[0],
28459
+ setOpenModelBulk = _useState[1];
28460
+
28461
+ var _useState2 = React.useState(initialStaffBulk),
28462
+ staffBulkAssign = _useState2[0],
28463
+ setStaffBulkAssign = _useState2[1];
28464
+
28465
+ var handleToggleModel = function handleToggleModel() {
28466
+ setOpenModelBulk(!openModelBulk);
28467
+ setStaffBulkAssign(_extends({}, initialStaffBulk));
28468
+ };
28469
+
28470
+ var handleChangeStaffBulk = function handleChangeStaffBulk(name, id) {
28471
+ var _extends2;
28472
+
28473
+ setStaffBulkAssign(_extends({}, staffBulkAssign, (_extends2 = {}, _extends2[name] = id, _extends2)));
28474
+ };
28475
+
28435
28476
  var assignStudents = function assignStudents(users) {
28436
28477
  try {
28437
28478
  var _temp3 = function _temp3() {
@@ -28561,9 +28602,40 @@ var useAssignStudent = function useAssignStudent(teacherSelected, assistantSelec
28561
28602
 
28562
28603
  assignStudents([studentRequest]);
28563
28604
  }, [JSON.stringify(teacherSelected), JSON.stringify(assistantSelected), JSON.stringify(counselorSelected), JSON.stringify(secondaryTeacherSelected)]);
28605
+ var handleAssignStaffToStudents = React.useCallback(function (listUserIds) {
28606
+ if (listUserIds.length === 0) {
28607
+ dispatch(setAlert({
28608
+ type: "danger",
28609
+ message: "Not found selected student."
28610
+ }));
28611
+ return;
28612
+ }
28613
+
28614
+ var users = listUserIds.map(function (i) {
28615
+ var value = {
28616
+ id: i,
28617
+ mainTeacherUserId: !!(staffBulkAssign !== null && staffBulkAssign !== void 0 && staffBulkAssign.teacherId) ? staffBulkAssign === null || staffBulkAssign === void 0 ? void 0 : staffBulkAssign.teacherId : undefined,
28618
+ mainTeacherEmail: !!(staffBulkAssign !== null && staffBulkAssign !== void 0 && staffBulkAssign.teacherEmail) ? staffBulkAssign === null || staffBulkAssign === void 0 ? void 0 : staffBulkAssign.teacherEmail : undefined,
28619
+ assistantUserId: !!(staffBulkAssign !== null && staffBulkAssign !== void 0 && staffBulkAssign.assistantId) ? staffBulkAssign === null || staffBulkAssign === void 0 ? void 0 : staffBulkAssign.assistantId : undefined,
28620
+ assistantEmail: !!(staffBulkAssign !== null && staffBulkAssign !== void 0 && staffBulkAssign.assistantEmail) ? staffBulkAssign === null || staffBulkAssign === void 0 ? void 0 : staffBulkAssign.assistantEmail : undefined,
28621
+ counselorUserId: !!(staffBulkAssign !== null && staffBulkAssign !== void 0 && staffBulkAssign.counselorId) ? staffBulkAssign === null || staffBulkAssign === void 0 ? void 0 : staffBulkAssign.counselorId : undefined,
28622
+ counselorEmail: !!(staffBulkAssign !== null && staffBulkAssign !== void 0 && staffBulkAssign.counselorEmail) ? staffBulkAssign === null || staffBulkAssign === void 0 ? void 0 : staffBulkAssign.counselorEmail : undefined,
28623
+ secondaryTeacherUserId: !!(staffBulkAssign !== null && staffBulkAssign !== void 0 && staffBulkAssign.secondaryTeacherId) ? staffBulkAssign === null || staffBulkAssign === void 0 ? void 0 : staffBulkAssign.secondaryTeacherId : undefined,
28624
+ secondaryTeacherEmail: !!(staffBulkAssign !== null && staffBulkAssign !== void 0 && staffBulkAssign.secondaryTeacherEmail) ? staffBulkAssign === null || staffBulkAssign === void 0 ? void 0 : staffBulkAssign.secondaryTeacherEmail : undefined
28625
+ };
28626
+ return value;
28627
+ });
28628
+ handleToggleModel();
28629
+ assignStudents([].concat(users));
28630
+ }, [JSON.stringify(staffBulkAssign)]);
28564
28631
  return {
28565
28632
  handleAssignSingleStudent: handleAssignSingleStudent,
28566
- handleAssignMultiStudent: handleAssignMultiStudent
28633
+ handleAssignMultiStudent: handleAssignMultiStudent,
28634
+ openModelBulk: openModelBulk,
28635
+ handleToggleModel: handleToggleModel,
28636
+ handleChangeStaffBulk: handleChangeStaffBulk,
28637
+ staffBulkAssign: staffBulkAssign,
28638
+ handleAssignStaffToStudents: handleAssignStaffToStudents
28567
28639
  };
28568
28640
  };
28569
28641
 
@@ -28621,7 +28693,12 @@ var AssignStudentList = function AssignStudentList() {
28621
28693
 
28622
28694
  var _useAssignStudent = useAssignStudent(selectedTeachers, selectedAssistants, selectedCounselors, selectedSecondaryTeachers, handleResetData),
28623
28695
  handleAssignSingleStudent = _useAssignStudent.handleAssignSingleStudent,
28624
- handleAssignMultiStudent = _useAssignStudent.handleAssignMultiStudent;
28696
+ handleAssignMultiStudent = _useAssignStudent.handleAssignMultiStudent,
28697
+ openModelBulk = _useAssignStudent.openModelBulk,
28698
+ handleToggleModel = _useAssignStudent.handleToggleModel,
28699
+ staffBulkAssign = _useAssignStudent.staffBulkAssign,
28700
+ handleChangeStaffBulk = _useAssignStudent.handleChangeStaffBulk,
28701
+ handleAssignStaffToStudents = _useAssignStudent.handleAssignStaffToStudents;
28625
28702
 
28626
28703
  return React__default.createElement("div", {
28627
28704
  className: "fadeIn animated"
@@ -28649,7 +28726,86 @@ var AssignStudentList = function AssignStudentList() {
28649
28726
  return handleAssignMultiStudent(isCheck);
28650
28727
  },
28651
28728
  color: "primary"
28652
- }, "Assign for Selected Students"))), React__default.createElement(reactstrap.Row, {
28729
+ }, "Assign for Selected Students"), React__default.createElement(reactstrap.Button, {
28730
+ className: "mx-2",
28731
+ onClick: function onClick() {
28732
+ return handleToggleModel();
28733
+ },
28734
+ color: "primary"
28735
+ }, "Assign Bulk"))), React__default.createElement(reactstrap.Modal, {
28736
+ centered: true,
28737
+ isOpen: openModelBulk,
28738
+ toggle: function toggle() {
28739
+ return handleToggleModel();
28740
+ }
28741
+ }, React__default.createElement(reactstrap.ModalHeader, null, "Assign Bulk Student"), React__default.createElement(reactstrap.ModalBody, null, React__default.createElement(TeacherSelector, {
28742
+ value: teacherOptions.find(function (r) {
28743
+ return r.value == staffBulkAssign.teacherId || r.label == staffBulkAssign.teacherEmail;
28744
+ }) || null,
28745
+ options: teacherOptions,
28746
+ onChange: function onChange(e) {
28747
+ return handleChangeStaffBulk("teacherId", e.value);
28748
+ },
28749
+ onCreateOption: function onCreateOption(value) {
28750
+ handleCreateTeacherOption(value, "");
28751
+ handleChangeStaffBulk("teacherEmail", value.label);
28752
+ },
28753
+ placeholder: t("select_teacher"),
28754
+ className: "flex-grow-1 mb-3"
28755
+ }), React__default.createElement(TeacherSelector, {
28756
+ value: assistantOptions.find(function (r) {
28757
+ return r.value == staffBulkAssign.assistantId || r.label == staffBulkAssign.assistantEmail;
28758
+ }) || null,
28759
+ options: assistantOptions,
28760
+ onChange: function onChange(e) {
28761
+ return handleChangeStaffBulk("assistantId", e.value);
28762
+ },
28763
+ onCreateOption: function onCreateOption(value) {
28764
+ handleCreateAssistantOption(value, "");
28765
+ handleChangeStaffBulk("assistantEmail", value.label);
28766
+ },
28767
+ placeholder: t("select_assistant"),
28768
+ className: "flex-grow-1 mb-3"
28769
+ }), React__default.createElement(TeacherSelector, {
28770
+ value: counselorOptions.find(function (r) {
28771
+ return r.value == staffBulkAssign.counselorId || r.label == staffBulkAssign.counselorEmail;
28772
+ }) || null,
28773
+ options: counselorOptions,
28774
+ onChange: function onChange(e) {
28775
+ return handleChangeStaffBulk("counselorId", e.value);
28776
+ },
28777
+ onCreateOption: function onCreateOption(value) {
28778
+ handleCreateCounselorOption(value, "");
28779
+ handleChangeStaffBulk("counselorEmail", value.label);
28780
+ },
28781
+ placeholder: t("select_counselor"),
28782
+ className: "flex-grow-1 mb-3"
28783
+ }), React__default.createElement(TeacherSelector, {
28784
+ value: secondaryTeacherOptions.find(function (r) {
28785
+ return r.value == staffBulkAssign.secondaryTeacherId || r.label == staffBulkAssign.secondaryTeacherEmail;
28786
+ }) || null,
28787
+ options: secondaryTeacherOptions,
28788
+ onChange: function onChange(e) {
28789
+ return handleChangeStaffBulk("secondaryTeacherId", e.value);
28790
+ },
28791
+ onCreateOption: function onCreateOption(value) {
28792
+ handleCreateSecondaryTeacherOption(value, "");
28793
+ handleChangeStaffBulk("secondaryTeacherEmail", value.label);
28794
+ },
28795
+ placeholder: t("select_support_teacher"),
28796
+ className: "flex-grow-1"
28797
+ })), React__default.createElement(reactstrap.ModalFooter, {
28798
+ className: "text-right"
28799
+ }, React__default.createElement(reactstrap.Button, {
28800
+ onClick: function onClick() {
28801
+ return handleToggleModel();
28802
+ }
28803
+ }, "Cancel"), React__default.createElement(reactstrap.Button, {
28804
+ color: "primary",
28805
+ onClick: function onClick() {
28806
+ return handleAssignStaffToStudents(isCheck);
28807
+ }
28808
+ }, "Assign"))), React__default.createElement(reactstrap.Row, {
28653
28809
  className: "mb-2"
28654
28810
  }, React__default.createElement(reactstrap.Col, {
28655
28811
  md: 12
@@ -28728,7 +28884,7 @@ var AssignStudentList = function AssignStudentList() {
28728
28884
  return handleSelectTeacher(e.value, item.id);
28729
28885
  },
28730
28886
  onCreateOption: function onCreateOption(value) {
28731
- return handleCreateTeacherOption(value, item.id);
28887
+ return handleCreateTeacherOption(value, item.id, true);
28732
28888
  },
28733
28889
  placeholder: t("select_teacher"),
28734
28890
  className: "flex-grow-1 mr-2"
@@ -28745,7 +28901,7 @@ var AssignStudentList = function AssignStudentList() {
28745
28901
  return handleSelectAssistant(e.value, item.id);
28746
28902
  },
28747
28903
  onCreateOption: function onCreateOption(value) {
28748
- return handleCreateAssistantOption(value, item.id);
28904
+ return handleCreateAssistantOption(value, item.id, true);
28749
28905
  },
28750
28906
  placeholder: t("select_assistant"),
28751
28907
  className: "flex-grow-1 mr-2"
@@ -28762,7 +28918,7 @@ var AssignStudentList = function AssignStudentList() {
28762
28918
  return handleSelectCounselor(e.value, item.id);
28763
28919
  },
28764
28920
  onCreateOption: function onCreateOption(value) {
28765
- return handleCreateCounselorOption(value, item.id);
28921
+ return handleCreateCounselorOption(value, item.id, true);
28766
28922
  },
28767
28923
  placeholder: t("select_counselor"),
28768
28924
  className: "flex-grow-1 mr-2"
@@ -28779,7 +28935,7 @@ var AssignStudentList = function AssignStudentList() {
28779
28935
  return handleSelectSecondaryTeacher(e.value, item.id);
28780
28936
  },
28781
28937
  onCreateOption: function onCreateOption(value) {
28782
- return handleCreateSecondaryTeacherOption(value, item.id);
28938
+ return handleCreateSecondaryTeacherOption(value, item.id, true);
28783
28939
  },
28784
28940
  placeholder: t("select_support_teacher"),
28785
28941
  className: "flex-grow-1 mr-2"