touchstudy-core 0.1.163 → 0.1.165
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.
- package/dist/components/Dialogs/CreateQuestionDialog.d.ts +15 -0
- package/dist/containers/Classes/apiClients/classService.d.ts +1 -0
- package/dist/containers/Classes/configs/types.d.ts +1 -0
- package/dist/containers/Classes/hooks/useClassList.d.ts +1 -0
- package/dist/containers/Notes/components/NoteTinyEditor.d.ts +10 -0
- package/dist/containers/Notes/configs/interfaces.d.ts +1 -0
- package/dist/index.js +175 -24
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +176 -25
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
@@ -0,0 +1,15 @@
|
|
1
|
+
import React from "react";
|
2
|
+
declare type Props = {
|
3
|
+
openDialog: boolean;
|
4
|
+
onClose: () => void;
|
5
|
+
initialValues: any;
|
6
|
+
handleCreateQuestion: any;
|
7
|
+
options: any[];
|
8
|
+
schema: any;
|
9
|
+
labelQuestion?: string;
|
10
|
+
nameQuestion: string;
|
11
|
+
labelContent?: string;
|
12
|
+
nameContent: string;
|
13
|
+
};
|
14
|
+
export default function CommonCreateNewQuestionDialog({ handleCreateQuestion, openDialog, initialValues, onClose, options, schema, labelQuestion, nameQuestion, labelContent, nameContent }: Props): React.JSX.Element;
|
15
|
+
export {};
|
@@ -10,6 +10,7 @@ export declare const getClassByIdApi: (id: number) => Promise<import("axios").Ax
|
|
10
10
|
export declare const createClassApi: (model: ClassRequestBody) => Promise<import("axios").AxiosResponse<any, any>>;
|
11
11
|
export declare const updateClassApi: (id: number, model: ClassRequestBody) => Promise<import("axios").AxiosResponse<any, any>>;
|
12
12
|
export declare const deleteClassApi: (id: number) => Promise<import("axios").AxiosResponse<any, any>>;
|
13
|
+
export declare const hiddenClassesApi: (hidden: boolean, classId: number) => Promise<import("axios").AxiosResponse<any, any>>;
|
13
14
|
export declare const addStudentToClass: (id: number, studentIds: number[]) => Promise<import("axios").AxiosResponse<any, any>>;
|
14
15
|
export declare const removeStudentFromClass: (id: number, studentId: number) => Promise<import("axios").AxiosResponse<any, any>>;
|
15
16
|
export declare const addTeacherToClass: (id: number, teacherIds: number[]) => Promise<import("axios").AxiosResponse<any, any>>;
|
@@ -16,5 +16,6 @@ declare const useClassList: (history: any, classCreateUrl?: string | undefined,
|
|
16
16
|
handleUpdateClass: (value: ClassResponse) => void;
|
17
17
|
handleChangePage: (_: any, page: number) => void;
|
18
18
|
handleDeleteClass: () => Promise<void>;
|
19
|
+
handleToggleHidden: (e: ChangeEvent<HTMLInputElement>, classId: number) => Promise<void>;
|
19
20
|
};
|
20
21
|
export default useClassList;
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import "@wiris/mathtype-tinymce6";
|
3
|
+
declare type Props = {
|
4
|
+
config?: any;
|
5
|
+
initValue: string;
|
6
|
+
onChange: any;
|
7
|
+
disabled?: boolean;
|
8
|
+
};
|
9
|
+
declare const NoteTinyEditor: ({ disabled, onChange, initValue, config }: Props) => React.JSX.Element;
|
10
|
+
export default NoteTinyEditor;
|
package/dist/index.js
CHANGED
@@ -1502,6 +1502,7 @@ var addedteachertoclass = "교사 수업 추가";
|
|
1502
1502
|
var removedteacherfromclass = "교사 수업 제거";
|
1503
1503
|
var addedstudenttoclass = "학생 수업 추가";
|
1504
1504
|
var removedstudentfromclass = "학생 수업 제거";
|
1505
|
+
var hidden = "숨겨진";
|
1505
1506
|
var lang_ko = {
|
1506
1507
|
problem_solving: problem_solving,
|
1507
1508
|
my_story: my_story,
|
@@ -2641,7 +2642,8 @@ var lang_ko = {
|
|
2641
2642
|
addedteachertoclass: addedteachertoclass,
|
2642
2643
|
removedteacherfromclass: removedteacherfromclass,
|
2643
2644
|
addedstudenttoclass: addedstudenttoclass,
|
2644
|
-
removedstudentfromclass: removedstudentfromclass
|
2645
|
+
removedstudentfromclass: removedstudentfromclass,
|
2646
|
+
hidden: hidden
|
2645
2647
|
};
|
2646
2648
|
|
2647
2649
|
var problem_solving$1 = "Problem Solving";
|
@@ -3804,6 +3806,7 @@ var addedteachertoclass$1 = "Added teacher to class";
|
|
3804
3806
|
var removedteacherfromclass$1 = "Removed teacher from class";
|
3805
3807
|
var addedstudenttoclass$1 = "Added student to class";
|
3806
3808
|
var removedstudentfromclass$1 = "Removed student from class";
|
3809
|
+
var hidden$1 = "Hidden";
|
3807
3810
|
var lang_en = {
|
3808
3811
|
problem_solving: problem_solving$1,
|
3809
3812
|
my_story: my_story$1,
|
@@ -4945,7 +4948,8 @@ var lang_en = {
|
|
4945
4948
|
addedteachertoclass: addedteachertoclass$1,
|
4946
4949
|
removedteacherfromclass: removedteacherfromclass$1,
|
4947
4950
|
addedstudenttoclass: addedstudenttoclass$1,
|
4948
|
-
removedstudentfromclass: removedstudentfromclass$1
|
4951
|
+
removedstudentfromclass: removedstudentfromclass$1,
|
4952
|
+
hidden: hidden$1
|
4949
4953
|
};
|
4950
4954
|
|
4951
4955
|
i18n__default.use(reactI18next.initReactI18next).init({
|
@@ -11041,7 +11045,11 @@ var useLoginPhoneNumber = function useLoginPhoneNumber(props) {
|
|
11041
11045
|
});
|
11042
11046
|
}, function (error) {
|
11043
11047
|
var _error$response, _error$response2, _error$response2$data;
|
11044
|
-
if ((error === null || error === void 0 ? void 0 : (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.status) === 500 && (error === null || error === void 0 ? void 0 : (_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : (_error$response2$data = _error$response2.data) === null || _error$response2$data === void 0 ? void 0 : _error$response2$data.title) === "PhoneNumberIsDuplicated") reactToastify.toast.error(t("duplicate_passcode_for_siblings_please_contact_admin_for_assistance"));else
|
11048
|
+
if ((error === null || error === void 0 ? void 0 : (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.status) === 500 && (error === null || error === void 0 ? void 0 : (_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : (_error$response2$data = _error$response2.data) === null || _error$response2$data === void 0 ? void 0 : _error$response2$data.title) === "PhoneNumberIsDuplicated") reactToastify.toast.error(t("duplicate_passcode_for_siblings_please_contact_admin_for_assistance"));else {
|
11049
|
+
!!academyDomain && localStorage.removeItem(ACADEMY_DOMAIN);
|
11050
|
+
localStorage.removeItem(LEARNING_SPACE);
|
11051
|
+
reactToastify.toast.error(getErrorMessage(t, error));
|
11052
|
+
}
|
11045
11053
|
});
|
11046
11054
|
return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
|
11047
11055
|
} catch (e) {
|
@@ -11570,7 +11578,8 @@ var useLogin$1 = function useLogin(_ref) {
|
|
11570
11578
|
}();
|
11571
11579
|
return _temp2 && _temp2.then ? _temp2.then(_temp3) : _temp3(_temp2);
|
11572
11580
|
}, function (error) {
|
11573
|
-
|
11581
|
+
!!academyDomain && localStorage.removeItem(ACADEMY_DOMAIN);
|
11582
|
+
localStorage.removeItem(LEARNING_SPACE);
|
11574
11583
|
reactToastify.toast.error(getErrorMessage(t, error, t("request_login_fail")));
|
11575
11584
|
});
|
11576
11585
|
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp5) : _temp5(_temp4));
|
@@ -11666,6 +11675,7 @@ var useLogiQRCode = function useLogiQRCode(props) {
|
|
11666
11675
|
error = _useState8[0],
|
11667
11676
|
setError = _useState8[1];
|
11668
11677
|
var firstLoadRef = React.useRef(true);
|
11678
|
+
var hasErrorRef = React.useRef(false);
|
11669
11679
|
var onVerify = React.useCallback(function (token) {
|
11670
11680
|
setTokenReCaptcha(token);
|
11671
11681
|
}, []);
|
@@ -11681,7 +11691,8 @@ var useLogiQRCode = function useLogiQRCode(props) {
|
|
11681
11691
|
if (!tokenReCaptcha) return Promise.resolve();
|
11682
11692
|
resetData();
|
11683
11693
|
setLoadingQR(true);
|
11684
|
-
if (!academyDomain) localStorage.setItem(LEARNING_SPACE, "true");
|
11694
|
+
if (!academyDomain || hasErrorRef.current) localStorage.setItem(LEARNING_SPACE, "true");
|
11695
|
+
if (hasErrorRef.current) localStorage.removeItem(ACADEMY_DOMAIN);
|
11685
11696
|
var _temp = _catch(function () {
|
11686
11697
|
return Promise.resolve(generateQRCode(academyDomain, tokenReCaptcha)).then(function (response) {
|
11687
11698
|
setQrCodeData(response.data);
|
@@ -11702,6 +11713,7 @@ var useLogiQRCode = function useLogiQRCode(props) {
|
|
11702
11713
|
setInfo(recievedData === null || recievedData === void 0 ? void 0 : recievedData.data);
|
11703
11714
|
setStatus(QRCodeStatus.Scanned);
|
11704
11715
|
} catch (error) {
|
11716
|
+
hasErrorRef.current = true;
|
11705
11717
|
setInvalid(true);
|
11706
11718
|
}
|
11707
11719
|
};
|
@@ -12007,7 +12019,8 @@ var useLoginWithEmail = function useLoginWithEmail(_ref) {
|
|
12007
12019
|
}), token, redirectUrl);
|
12008
12020
|
});
|
12009
12021
|
}, function (error) {
|
12010
|
-
|
12022
|
+
!!academyDomain && localStorage.removeItem(ACADEMY_DOMAIN);
|
12023
|
+
localStorage.removeItem(LEARNING_SPACE);
|
12011
12024
|
reactToastify.toast.error(getErrorMessage(t, error, t("request_login_fail")));
|
12012
12025
|
});
|
12013
12026
|
return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
|
@@ -12127,7 +12140,8 @@ var useLogin$2 = function useLogin(_ref) {
|
|
12127
12140
|
}), token, redirectUrl);
|
12128
12141
|
});
|
12129
12142
|
}, function (error) {
|
12130
|
-
|
12143
|
+
!!academyDomain && localStorage.removeItem(ACADEMY_DOMAIN);
|
12144
|
+
localStorage.removeItem(LEARNING_SPACE);
|
12131
12145
|
reactToastify.toast.error(getErrorMessage(t, error, t("request_login_fail")));
|
12132
12146
|
}));
|
12133
12147
|
} catch (e) {
|
@@ -14470,11 +14484,55 @@ var iconCloseDialog = function iconCloseDialog(_ref) {
|
|
14470
14484
|
}));
|
14471
14485
|
};
|
14472
14486
|
|
14487
|
+
var NoteTinyEditor = function NoteTinyEditor(_ref) {
|
14488
|
+
var _ref$disabled = _ref.disabled,
|
14489
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
14490
|
+
onChange = _ref.onChange,
|
14491
|
+
initValue = _ref.initValue,
|
14492
|
+
config = _ref.config;
|
14493
|
+
var isFirstChange = React.useRef(true);
|
14494
|
+
var _useTranslation = reactI18next.useTranslation(),
|
14495
|
+
t = _useTranslation.t;
|
14496
|
+
React.useEffect(function () {
|
14497
|
+
if (window.tinymce) {
|
14498
|
+
window.tinymce = tinymce;
|
14499
|
+
}
|
14500
|
+
}, []);
|
14501
|
+
var options = {
|
14502
|
+
height: 280,
|
14503
|
+
menubar: false,
|
14504
|
+
readonly: false,
|
14505
|
+
external_plugins: {
|
14506
|
+
tiny_mce_wiris: '/editor/wiris-for-tinymce.js'
|
14507
|
+
},
|
14508
|
+
plugins: ['anchor', 'autolink', 'charmap', 'codesample', 'emoticons', 'image', 'link', 'lists', 'media', 'searchreplace', 'table', 'textcolor', 'wordcount'],
|
14509
|
+
toolbar: 'undo redo | blocks fontfamily fontsize forecolor backcolor | bold italic underline strikethrough | link image media table mergetags | addcomment showcomments | spellcheckdialog a11ycheck typography | align lineheight | checklist numlist bullist indent outdent | emoticons charmap | removeformat | tiny_mce_wiris_formulaEditor | tiny_mce_wiris_formulaEditorChemistry',
|
14510
|
+
branding: false,
|
14511
|
+
extended_valid_elements: '*[.*]',
|
14512
|
+
placeholder: t("the_problem_is_difficult")
|
14513
|
+
};
|
14514
|
+
var handleChange = function handleChange(value, _) {
|
14515
|
+
if (isFirstChange.current) {
|
14516
|
+
isFirstChange.current = false;
|
14517
|
+
return;
|
14518
|
+
}
|
14519
|
+
onChange(value);
|
14520
|
+
};
|
14521
|
+
return React__default.createElement(tinymceReact.Editor, {
|
14522
|
+
disabled: disabled,
|
14523
|
+
init: config || options,
|
14524
|
+
value: initValue,
|
14525
|
+
onEditorChange: handleChange
|
14526
|
+
});
|
14527
|
+
};
|
14528
|
+
|
14473
14529
|
var schema$1 = yup.object().shape({
|
14474
14530
|
content: yup.string().required()
|
14475
14531
|
});
|
14476
14532
|
var ClassNoteDialog = function ClassNoteDialog(_ref) {
|
14477
|
-
var
|
14533
|
+
var _ref$id = _ref.id,
|
14534
|
+
id = _ref$id === void 0 ? "class-note-dialog" : _ref$id,
|
14535
|
+
open = _ref.open,
|
14478
14536
|
studentName = _ref.studentName,
|
14479
14537
|
selectedNote = _ref.selectedNote,
|
14480
14538
|
tip = _ref.tip,
|
@@ -14486,12 +14544,26 @@ var ClassNoteDialog = function ClassNoteDialog(_ref) {
|
|
14486
14544
|
var handleSaveNote = function handleSaveNote(content) {
|
14487
14545
|
onSaveNote(content);
|
14488
14546
|
};
|
14547
|
+
React.useEffect(function () {
|
14548
|
+
if (open) {
|
14549
|
+
var _document$getElementB;
|
14550
|
+
(_document$getElementB = document.getElementById(id)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.setAttribute("inert", "true");
|
14551
|
+
} else {
|
14552
|
+
var _document$getElementB2;
|
14553
|
+
(_document$getElementB2 = document.getElementById(id)) === null || _document$getElementB2 === void 0 ? void 0 : _document$getElementB2.removeAttribute("inert");
|
14554
|
+
}
|
14555
|
+
return function () {
|
14556
|
+
var _document$getElementB3;
|
14557
|
+
(_document$getElementB3 = document.getElementById(id)) === null || _document$getElementB3 === void 0 ? void 0 : _document$getElementB3.removeAttribute("inert");
|
14558
|
+
};
|
14559
|
+
}, [open, id]);
|
14489
14560
|
return React__default.createElement(material.Dialog, {
|
14490
14561
|
onClose: onClose,
|
14491
14562
|
open: open,
|
14492
14563
|
maxWidth: "md",
|
14493
14564
|
scroll: "body",
|
14494
|
-
fullWidth: true
|
14565
|
+
fullWidth: true,
|
14566
|
+
id: id
|
14495
14567
|
}, React__default.createElement(DialogTitle, {
|
14496
14568
|
id: "customized-dialog-title"
|
14497
14569
|
}, React__default.createElement(Typography, {
|
@@ -14520,7 +14592,8 @@ var ClassNoteDialog = function ClassNoteDialog(_ref) {
|
|
14520
14592
|
handleSaveNote(values.content);
|
14521
14593
|
}
|
14522
14594
|
}, function (_ref2) {
|
14523
|
-
var values = _ref2.values
|
14595
|
+
var values = _ref2.values,
|
14596
|
+
setFieldValue = _ref2.setFieldValue;
|
14524
14597
|
return React__default.createElement(formik.Form, null, React__default.createElement(DialogContent, {
|
14525
14598
|
sx: {
|
14526
14599
|
padding: 0,
|
@@ -14549,17 +14622,22 @@ var ClassNoteDialog = function ClassNoteDialog(_ref) {
|
|
14549
14622
|
flexDirection: "row",
|
14550
14623
|
alignItems: "center"
|
14551
14624
|
}, React__default.createElement(formik.Field, {
|
14552
|
-
as: "textarea",
|
14553
|
-
rows: 3,
|
14554
14625
|
id: "content-question",
|
14555
14626
|
style: {
|
14556
|
-
paddingRight: "40px",
|
14557
|
-
minHeight: "96px",
|
14558
14627
|
width: "100%"
|
14559
14628
|
},
|
14560
14629
|
name: "content",
|
14561
14630
|
placeholder: t("the_problem_is_difficult"),
|
14562
|
-
className: styles["form-control"]
|
14631
|
+
className: styles["form-control"],
|
14632
|
+
render: function render(_ref3) {
|
14633
|
+
var field = _ref3.field;
|
14634
|
+
return React__default.createElement(NoteTinyEditor, {
|
14635
|
+
initValue: field.value,
|
14636
|
+
onChange: function onChange(text) {
|
14637
|
+
return setFieldValue("content", text);
|
14638
|
+
}
|
14639
|
+
});
|
14640
|
+
}
|
14563
14641
|
})), React__default.createElement(material.Box, {
|
14564
14642
|
marginBottom: "4px"
|
14565
14643
|
})))), React__default.createElement(DialogActions, {
|
@@ -15027,6 +15105,12 @@ var NoteItem = function NoteItem(_ref) {
|
|
15027
15105
|
React.useEffect(function () {
|
15028
15106
|
onLoad === null || onLoad === void 0 ? void 0 : onLoad();
|
15029
15107
|
}, []);
|
15108
|
+
React.useEffect(function () {
|
15109
|
+
if (window.MathJax) {
|
15110
|
+
var _window$MathJax;
|
15111
|
+
(_window$MathJax = window.MathJax) === null || _window$MathJax === void 0 ? void 0 : _window$MathJax.typeset();
|
15112
|
+
}
|
15113
|
+
}, [data.content]);
|
15030
15114
|
return React__default.createElement(material.Box, Object.assign({}, NoteItemStyles.root, {
|
15031
15115
|
onClick: handleItemClick,
|
15032
15116
|
sx: {
|
@@ -15049,7 +15133,18 @@ var NoteItem = function NoteItem(_ref) {
|
|
15049
15133
|
number: (data.questionOrder || 0) + 1
|
15050
15134
|
}) : "" + utcToLocalTime(data.createdAt, t("date_format") + " HH:mm")), data.examSessionId && React__default.createElement(material.Typography, Object.assign({}, NoteItemStyles.text.right), data.categoryName)), React__default.createElement(material.Typography, Object.assign({
|
15051
15135
|
className: "truncate"
|
15052
|
-
}, NoteItemStyles.contentText
|
15136
|
+
}, NoteItemStyles.contentText, {
|
15137
|
+
sx: {
|
15138
|
+
display: "-webkit-box",
|
15139
|
+
lineClamp: 1,
|
15140
|
+
WebkitLineClamp: 1,
|
15141
|
+
WebkitBoxOrient: "vertical",
|
15142
|
+
overflow: "hidden"
|
15143
|
+
},
|
15144
|
+
dangerouslySetInnerHTML: {
|
15145
|
+
__html: data.content || ""
|
15146
|
+
}
|
15147
|
+
}))), React__default.createElement(material.Box, null, (isAdmin || data.isOwned) && React__default.createElement(material.ClickAwayListener, {
|
15053
15148
|
onClickAway: onClose
|
15054
15149
|
}, React__default.createElement(material.Box, null, React__default.createElement(CustomTooltip, {
|
15055
15150
|
onClose: onClose,
|
@@ -15129,6 +15224,12 @@ var NoteDrawer = function NoteDrawer(props) {
|
|
15129
15224
|
var _state$common2;
|
15130
15225
|
return state === null || state === void 0 ? void 0 : (_state$common2 = state.common) === null || _state$common2 === void 0 ? void 0 : _state$common2.language;
|
15131
15226
|
});
|
15227
|
+
React.useEffect(function () {
|
15228
|
+
if (window.MathJax) {
|
15229
|
+
var _window$MathJax;
|
15230
|
+
(_window$MathJax = window.MathJax) === null || _window$MathJax === void 0 ? void 0 : _window$MathJax.typeset();
|
15231
|
+
}
|
15232
|
+
}, [data === null || data === void 0 ? void 0 : data.content]);
|
15132
15233
|
return React__default.createElement(material.Drawer, {
|
15133
15234
|
anchor: anchor,
|
15134
15235
|
open: open,
|
@@ -15249,8 +15350,11 @@ var NoteDrawer = function NoteDrawer(props) {
|
|
15249
15350
|
fontSize: "14px",
|
15250
15351
|
fontWeight: "300",
|
15251
15352
|
color: "#414E62"
|
15353
|
+
},
|
15354
|
+
dangerouslySetInnerHTML: {
|
15355
|
+
__html: (data === null || data === void 0 ? void 0 : data.content) || ""
|
15252
15356
|
}
|
15253
|
-
}
|
15357
|
+
})));
|
15254
15358
|
};
|
15255
15359
|
|
15256
15360
|
var useVirtualList = function useVirtualList(studentId, defaultFilter, getItemsApi) {
|
@@ -25547,6 +25651,12 @@ var updateClassApi = function updateClassApi(id, model) {
|
|
25547
25651
|
var deleteClassApi = function deleteClassApi(id) {
|
25548
25652
|
return api["delete"](CLASS_URL + "/" + id);
|
25549
25653
|
};
|
25654
|
+
var hiddenClassesApi = function hiddenClassesApi(hidden, classId) {
|
25655
|
+
return api.post(CLASS_URL + "/hidden", {
|
25656
|
+
hidden: hidden,
|
25657
|
+
courseIds: [classId]
|
25658
|
+
});
|
25659
|
+
};
|
25550
25660
|
var addStudentToClass = function addStudentToClass(id, studentIds) {
|
25551
25661
|
return api.post(CLASS_URL + "/" + id + "/students", studentIds);
|
25552
25662
|
};
|
@@ -27080,6 +27190,27 @@ var useClassList = function useClassList(history, classCreateUrl, classUpdateUrl
|
|
27080
27190
|
var handleUpdateClass = function handleUpdateClass(value) {
|
27081
27191
|
value.id && classUpdateUrl && pushTo(history, "" + classUpdateUrl.replace(":id", "" + value.id));
|
27082
27192
|
};
|
27193
|
+
var handleToggleHidden = function handleToggleHidden(e, classId) {
|
27194
|
+
try {
|
27195
|
+
var _temp5 = function _temp5() {
|
27196
|
+
dispatch(setLoading(false));
|
27197
|
+
};
|
27198
|
+
var checked = e.target.checked;
|
27199
|
+
dispatch(setLoading(true));
|
27200
|
+
var _temp4 = _catch(function () {
|
27201
|
+
return Promise.resolve(hiddenClassesApi(checked, classId)).then(function () {
|
27202
|
+
return Promise.resolve(getClassList()).then(function () {
|
27203
|
+
reactToastify.toast.success(t("update_data_successfully"));
|
27204
|
+
});
|
27205
|
+
});
|
27206
|
+
}, function (error) {
|
27207
|
+
reactToastify.toast.error(getErrorMessage(t, error));
|
27208
|
+
});
|
27209
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp5) : _temp5(_temp4));
|
27210
|
+
} catch (e) {
|
27211
|
+
return Promise.reject(e);
|
27212
|
+
}
|
27213
|
+
};
|
27083
27214
|
var handleChangePage = function handleChangePage(_, page) {
|
27084
27215
|
setClassFilter(_extends({}, classFilter, {
|
27085
27216
|
currentPage: page
|
@@ -27105,7 +27236,8 @@ var useClassList = function useClassList(history, classCreateUrl, classUpdateUrl
|
|
27105
27236
|
handleCreateClass: handleCreateClass,
|
27106
27237
|
handleUpdateClass: handleUpdateClass,
|
27107
27238
|
handleChangePage: handleChangePage,
|
27108
|
-
handleDeleteClass: handleDeleteClass
|
27239
|
+
handleDeleteClass: handleDeleteClass,
|
27240
|
+
handleToggleHidden: handleToggleHidden
|
27109
27241
|
};
|
27110
27242
|
};
|
27111
27243
|
|
@@ -27118,7 +27250,15 @@ var ClassList = function ClassList(_ref) {
|
|
27118
27250
|
var _state$common, _state$common$user;
|
27119
27251
|
return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : (_state$common$user = _state$common.user) === null || _state$common$user === void 0 ? void 0 : _state$common$user.isSuperAdmin;
|
27120
27252
|
});
|
27121
|
-
var isAdmin =
|
27253
|
+
var isAdmin = reactRedux.useSelector(function (state) {
|
27254
|
+
var _state$common2, _state$common2$user, _state$common2$user$r;
|
27255
|
+
return state === null || state === void 0 ? void 0 : (_state$common2 = state.common) === null || _state$common2 === void 0 ? void 0 : (_state$common2$user = _state$common2.user) === null || _state$common2$user === void 0 ? void 0 : (_state$common2$user$r = _state$common2$user.roles) === null || _state$common2$user$r === void 0 ? void 0 : _state$common2$user$r.includes(exports.Role.Admin);
|
27256
|
+
});
|
27257
|
+
var isTeacher = reactRedux.useSelector(function (state) {
|
27258
|
+
var _state$common3, _state$common3$user, _state$common3$user$r;
|
27259
|
+
return state === null || state === void 0 ? void 0 : (_state$common3 = state.common) === null || _state$common3 === void 0 ? void 0 : (_state$common3$user = _state$common3.user) === null || _state$common3$user === void 0 ? void 0 : (_state$common3$user$r = _state$common3$user.roles) === null || _state$common3$user$r === void 0 ? void 0 : _state$common3$user$r.includes(exports.Role.Teacher);
|
27260
|
+
}) && !isAdmin;
|
27261
|
+
var isAdminSite = role === exports.Role.Admin;
|
27122
27262
|
var _useClassList = useClassList(history, classCreateUrl, classUpdateUrl),
|
27123
27263
|
t = _useClassList.t,
|
27124
27264
|
paging = _useClassList.paging,
|
@@ -27133,7 +27273,11 @@ var ClassList = function ClassList(_ref) {
|
|
27133
27273
|
handleCreateClass = _useClassList.handleCreateClass,
|
27134
27274
|
handleUpdateClass = _useClassList.handleUpdateClass,
|
27135
27275
|
handleChangePage = _useClassList.handleChangePage,
|
27136
|
-
handleDeleteClass = _useClassList.handleDeleteClass
|
27276
|
+
handleDeleteClass = _useClassList.handleDeleteClass,
|
27277
|
+
handleToggleHidden = _useClassList.handleToggleHidden;
|
27278
|
+
var headers = !isTeacher ? CLASS_HEADERS : [].concat(CLASS_HEADERS.slice(0, -1), [{
|
27279
|
+
title: "hidden"
|
27280
|
+
}], CLASS_HEADERS.slice(-1));
|
27137
27281
|
return React__default.createElement(material.Box, null, React__default.createElement(material.Stack, {
|
27138
27282
|
direction: "row",
|
27139
27283
|
alignItems: "center",
|
@@ -27141,7 +27285,7 @@ var ClassList = function ClassList(_ref) {
|
|
27141
27285
|
mb: 2
|
27142
27286
|
}, React__default.createElement(material.Typography, {
|
27143
27287
|
variant: "h4"
|
27144
|
-
}, t("classes")), (
|
27288
|
+
}, t("classes")), (isAdminSite || isSuperAdmin) && React__default.createElement(MButton, {
|
27145
27289
|
variant: "contained",
|
27146
27290
|
color: "inherit",
|
27147
27291
|
startIcon: React__default.createElement(fa.FaPlus, {
|
@@ -27164,7 +27308,7 @@ var ClassList = function ClassList(_ref) {
|
|
27164
27308
|
}), React__default.createElement(material.Grid, {
|
27165
27309
|
item: true,
|
27166
27310
|
xs: 12
|
27167
|
-
}, React__default.createElement(material.TableContainer, null, React__default.createElement(Table, null, React__default.createElement(TableHead, null, React__default.createElement(TableRow, null,
|
27311
|
+
}, React__default.createElement(material.TableContainer, null, React__default.createElement(Table, null, React__default.createElement(TableHead, null, React__default.createElement(TableRow, null, headers.map(function (i, index) {
|
27168
27312
|
return React__default.createElement(TableCell, {
|
27169
27313
|
key: index,
|
27170
27314
|
onClick: !!i.sortKey ? function () {
|
@@ -27181,7 +27325,13 @@ var ClassList = function ClassList(_ref) {
|
|
27181
27325
|
key: i.id
|
27182
27326
|
}, React__default.createElement(TableCell, null, (paging.page - 1) * paging.limit + index + 1), React__default.createElement(TableCell, {
|
27183
27327
|
className: "text-nowrap"
|
27184
|
-
}, i.name), React__default.createElement(TableCell, null, toLocalTime(i.startDate, t("date_format"))), React__default.createElement(TableCell, null, toLocalTime(i.endDate, t("date_format"))), React__default.createElement(TableCell, null, i.totalStudents), React__default.createElement(TableCell, null, i.totalTeachers), React__default.createElement(TableCell, null, i.totalLessons), React__default.createElement(TableCell, null,
|
27328
|
+
}, i.name), React__default.createElement(TableCell, null, toLocalTime(i.startDate, t("date_format"))), React__default.createElement(TableCell, null, toLocalTime(i.endDate, t("date_format"))), React__default.createElement(TableCell, null, i.totalStudents), React__default.createElement(TableCell, null, i.totalTeachers), React__default.createElement(TableCell, null, i.totalLessons), isTeacher && React__default.createElement(TableCell, null, React__default.createElement(material.Switch, {
|
27329
|
+
checked: i.hidden,
|
27330
|
+
onChange: function onChange(e) {
|
27331
|
+
var _i$id;
|
27332
|
+
return handleToggleHidden(e, (_i$id = i.id) != null ? _i$id : 0);
|
27333
|
+
}
|
27334
|
+
})), React__default.createElement(TableCell, null, (isAdminSite || isSuperAdmin) && React__default.createElement("div", {
|
27185
27335
|
className: "d-flex"
|
27186
27336
|
}, React__default.createElement(material.IconButton, {
|
27187
27337
|
color: "default",
|
@@ -27199,7 +27349,7 @@ var ClassList = function ClassList(_ref) {
|
|
27199
27349
|
}
|
27200
27350
|
}, React__default.createElement(fa6.FaTrashCan, {
|
27201
27351
|
size: 12
|
27202
|
-
}))), !(
|
27352
|
+
}))), !(isAdminSite || isSuperAdmin) && React__default.createElement(material.IconButton, {
|
27203
27353
|
color: "default",
|
27204
27354
|
className: "bg-primary text-white me-1",
|
27205
27355
|
onClick: function onClick() {
|
@@ -38301,6 +38451,7 @@ var Header = function Header(_ref) {
|
|
38301
38451
|
}, [isTeacherSide, language]);
|
38302
38452
|
return React__default.createElement(material.Stack, {
|
38303
38453
|
width: "100%",
|
38454
|
+
height: "78px",
|
38304
38455
|
display: "flex",
|
38305
38456
|
flexDirection: "row",
|
38306
38457
|
gap: {
|