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
package/dist/index.modern.js
CHANGED
@@ -13,7 +13,7 @@ export { AdapterMoment } from '@mui/x-date-pickers/AdapterMoment';
|
|
13
13
|
import { DemoContainer } from '@mui/x-date-pickers/internals/demo';
|
14
14
|
export { DemoContainer } from '@mui/x-date-pickers/internals/demo';
|
15
15
|
import React__default, { useState, useEffect, Fragment as Fragment$1, useRef, useCallback, useMemo, memo, createElement } from 'react';
|
16
|
-
import { useTheme, Container, Typography, Stack, List, ListItem, FormGroup, FormControlLabel, Checkbox, Button, Box, Dialog, DialogTitle, IconButton, DialogContent, TextField, DialogActions, styled, FormLabel, Pagination, Paper, InputBase, Tooltip, tooltipClasses, Grid, ClickAwayListener, useMediaQuery, CircularProgress, InputAdornment, Card as Card$1, Avatar, Table, TableHead, TableRow, TableCell, TableBody, Skeleton, Tabs, Tab, Divider, Drawer, tableCellClasses, Accordion, AccordionSummary, AccordionDetails, TableContainer, RadioGroup, Radio, FormControl, InputLabel, Chip,
|
16
|
+
import { useTheme, Container, Typography, Stack, List, ListItem, FormGroup, FormControlLabel, Checkbox, Button, Box, Dialog, DialogTitle, IconButton, DialogContent, TextField, DialogActions, styled, FormLabel, Pagination, Paper, InputBase, Tooltip, tooltipClasses, Grid, ClickAwayListener, useMediaQuery, CircularProgress, InputAdornment, Card as Card$1, Avatar, Table, TableHead, TableRow, TableCell, TableBody, Skeleton, Tabs, Tab, Divider, Drawer, tableCellClasses, Accordion, AccordionSummary, AccordionDetails, TableContainer, Switch, RadioGroup, Radio, FormControl, InputLabel, Chip, CardMedia as CardMedia$1, MenuList } from '@mui/material';
|
17
17
|
import moment from 'moment';
|
18
18
|
export { default as moment } from 'moment';
|
19
19
|
import { FaSave, FaCaretDown, FaTimes, FaTrash, FaSortUp, FaSortDown, FaPlusCircle, FaCalendar, FaUser, FaBookOpen, FaPlus, FaUpload, FaEye as FaEye$1, FaPencilAlt, FaCheckCircle, FaShare, FaExchangeAlt } from 'react-icons/fa';
|
@@ -1506,6 +1506,7 @@ var addedteachertoclass = "교사 수업 추가";
|
|
1506
1506
|
var removedteacherfromclass = "교사 수업 제거";
|
1507
1507
|
var addedstudenttoclass = "학생 수업 추가";
|
1508
1508
|
var removedstudentfromclass = "학생 수업 제거";
|
1509
|
+
var hidden = "숨겨진";
|
1509
1510
|
var lang_ko = {
|
1510
1511
|
problem_solving: problem_solving,
|
1511
1512
|
my_story: my_story,
|
@@ -2645,7 +2646,8 @@ var lang_ko = {
|
|
2645
2646
|
addedteachertoclass: addedteachertoclass,
|
2646
2647
|
removedteacherfromclass: removedteacherfromclass,
|
2647
2648
|
addedstudenttoclass: addedstudenttoclass,
|
2648
|
-
removedstudentfromclass: removedstudentfromclass
|
2649
|
+
removedstudentfromclass: removedstudentfromclass,
|
2650
|
+
hidden: hidden
|
2649
2651
|
};
|
2650
2652
|
|
2651
2653
|
var problem_solving$1 = "Problem Solving";
|
@@ -3808,6 +3810,7 @@ var addedteachertoclass$1 = "Added teacher to class";
|
|
3808
3810
|
var removedteacherfromclass$1 = "Removed teacher from class";
|
3809
3811
|
var addedstudenttoclass$1 = "Added student to class";
|
3810
3812
|
var removedstudentfromclass$1 = "Removed student from class";
|
3813
|
+
var hidden$1 = "Hidden";
|
3811
3814
|
var lang_en = {
|
3812
3815
|
problem_solving: problem_solving$1,
|
3813
3816
|
my_story: my_story$1,
|
@@ -4949,7 +4952,8 @@ var lang_en = {
|
|
4949
4952
|
addedteachertoclass: addedteachertoclass$1,
|
4950
4953
|
removedteacherfromclass: removedteacherfromclass$1,
|
4951
4954
|
addedstudenttoclass: addedstudenttoclass$1,
|
4952
|
-
removedstudentfromclass: removedstudentfromclass$1
|
4955
|
+
removedstudentfromclass: removedstudentfromclass$1,
|
4956
|
+
hidden: hidden$1
|
4953
4957
|
};
|
4954
4958
|
|
4955
4959
|
i18n.use(initReactI18next).init({
|
@@ -11059,7 +11063,11 @@ var useLoginPhoneNumber = function useLoginPhoneNumber(props) {
|
|
11059
11063
|
});
|
11060
11064
|
}, function (error) {
|
11061
11065
|
var _error$response, _error$response2, _error$response2$data;
|
11062
|
-
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") toast.error(t("duplicate_passcode_for_siblings_please_contact_admin_for_assistance"));else
|
11066
|
+
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") toast.error(t("duplicate_passcode_for_siblings_please_contact_admin_for_assistance"));else {
|
11067
|
+
!!academyDomain && localStorage.removeItem(ACADEMY_DOMAIN);
|
11068
|
+
localStorage.removeItem(LEARNING_SPACE);
|
11069
|
+
toast.error(getErrorMessage(t, error));
|
11070
|
+
}
|
11063
11071
|
});
|
11064
11072
|
return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
|
11065
11073
|
} catch (e) {
|
@@ -11588,7 +11596,8 @@ var useLogin$1 = function useLogin(_ref) {
|
|
11588
11596
|
}();
|
11589
11597
|
return _temp2 && _temp2.then ? _temp2.then(_temp3) : _temp3(_temp2);
|
11590
11598
|
}, function (error) {
|
11591
|
-
|
11599
|
+
!!academyDomain && localStorage.removeItem(ACADEMY_DOMAIN);
|
11600
|
+
localStorage.removeItem(LEARNING_SPACE);
|
11592
11601
|
toast.error(getErrorMessage(t, error, t("request_login_fail")));
|
11593
11602
|
});
|
11594
11603
|
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp5) : _temp5(_temp4));
|
@@ -11684,6 +11693,7 @@ var useLogiQRCode = function useLogiQRCode(props) {
|
|
11684
11693
|
error = _useState8[0],
|
11685
11694
|
setError = _useState8[1];
|
11686
11695
|
var firstLoadRef = useRef(true);
|
11696
|
+
var hasErrorRef = useRef(false);
|
11687
11697
|
var onVerify = useCallback(function (token) {
|
11688
11698
|
setTokenReCaptcha(token);
|
11689
11699
|
}, []);
|
@@ -11699,7 +11709,8 @@ var useLogiQRCode = function useLogiQRCode(props) {
|
|
11699
11709
|
if (!tokenReCaptcha) return Promise.resolve();
|
11700
11710
|
resetData();
|
11701
11711
|
setLoadingQR(true);
|
11702
|
-
if (!academyDomain) localStorage.setItem(LEARNING_SPACE, "true");
|
11712
|
+
if (!academyDomain || hasErrorRef.current) localStorage.setItem(LEARNING_SPACE, "true");
|
11713
|
+
if (hasErrorRef.current) localStorage.removeItem(ACADEMY_DOMAIN);
|
11703
11714
|
var _temp = _catch(function () {
|
11704
11715
|
return Promise.resolve(generateQRCode(academyDomain, tokenReCaptcha)).then(function (response) {
|
11705
11716
|
setQrCodeData(response.data);
|
@@ -11720,6 +11731,7 @@ var useLogiQRCode = function useLogiQRCode(props) {
|
|
11720
11731
|
setInfo(recievedData === null || recievedData === void 0 ? void 0 : recievedData.data);
|
11721
11732
|
setStatus(QRCodeStatus.Scanned);
|
11722
11733
|
} catch (error) {
|
11734
|
+
hasErrorRef.current = true;
|
11723
11735
|
setInvalid(true);
|
11724
11736
|
}
|
11725
11737
|
};
|
@@ -12025,7 +12037,8 @@ var useLoginWithEmail = function useLoginWithEmail(_ref) {
|
|
12025
12037
|
}), token, redirectUrl);
|
12026
12038
|
});
|
12027
12039
|
}, function (error) {
|
12028
|
-
|
12040
|
+
!!academyDomain && localStorage.removeItem(ACADEMY_DOMAIN);
|
12041
|
+
localStorage.removeItem(LEARNING_SPACE);
|
12029
12042
|
toast.error(getErrorMessage(t, error, t("request_login_fail")));
|
12030
12043
|
});
|
12031
12044
|
return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
|
@@ -12145,7 +12158,8 @@ var useLogin$2 = function useLogin(_ref) {
|
|
12145
12158
|
}), token, redirectUrl);
|
12146
12159
|
});
|
12147
12160
|
}, function (error) {
|
12148
|
-
|
12161
|
+
!!academyDomain && localStorage.removeItem(ACADEMY_DOMAIN);
|
12162
|
+
localStorage.removeItem(LEARNING_SPACE);
|
12149
12163
|
toast.error(getErrorMessage(t, error, t("request_login_fail")));
|
12150
12164
|
}));
|
12151
12165
|
} catch (e) {
|
@@ -14488,11 +14502,55 @@ var iconCloseDialog = function iconCloseDialog(_ref) {
|
|
14488
14502
|
}));
|
14489
14503
|
};
|
14490
14504
|
|
14505
|
+
var NoteTinyEditor = function NoteTinyEditor(_ref) {
|
14506
|
+
var _ref$disabled = _ref.disabled,
|
14507
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
14508
|
+
onChange = _ref.onChange,
|
14509
|
+
initValue = _ref.initValue,
|
14510
|
+
config = _ref.config;
|
14511
|
+
var isFirstChange = useRef(true);
|
14512
|
+
var _useTranslation = useTranslation(),
|
14513
|
+
t = _useTranslation.t;
|
14514
|
+
useEffect(function () {
|
14515
|
+
if (window.tinymce) {
|
14516
|
+
window.tinymce = tinymce;
|
14517
|
+
}
|
14518
|
+
}, []);
|
14519
|
+
var options = {
|
14520
|
+
height: 280,
|
14521
|
+
menubar: false,
|
14522
|
+
readonly: false,
|
14523
|
+
external_plugins: {
|
14524
|
+
tiny_mce_wiris: '/editor/wiris-for-tinymce.js'
|
14525
|
+
},
|
14526
|
+
plugins: ['anchor', 'autolink', 'charmap', 'codesample', 'emoticons', 'image', 'link', 'lists', 'media', 'searchreplace', 'table', 'textcolor', 'wordcount'],
|
14527
|
+
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',
|
14528
|
+
branding: false,
|
14529
|
+
extended_valid_elements: '*[.*]',
|
14530
|
+
placeholder: t("the_problem_is_difficult")
|
14531
|
+
};
|
14532
|
+
var handleChange = function handleChange(value, _) {
|
14533
|
+
if (isFirstChange.current) {
|
14534
|
+
isFirstChange.current = false;
|
14535
|
+
return;
|
14536
|
+
}
|
14537
|
+
onChange(value);
|
14538
|
+
};
|
14539
|
+
return React__default.createElement(Editor, {
|
14540
|
+
disabled: disabled,
|
14541
|
+
init: config || options,
|
14542
|
+
value: initValue,
|
14543
|
+
onEditorChange: handleChange
|
14544
|
+
});
|
14545
|
+
};
|
14546
|
+
|
14491
14547
|
var schema$1 = object().shape({
|
14492
14548
|
content: string().required()
|
14493
14549
|
});
|
14494
14550
|
var ClassNoteDialog = function ClassNoteDialog(_ref) {
|
14495
|
-
var
|
14551
|
+
var _ref$id = _ref.id,
|
14552
|
+
id = _ref$id === void 0 ? "class-note-dialog" : _ref$id,
|
14553
|
+
open = _ref.open,
|
14496
14554
|
studentName = _ref.studentName,
|
14497
14555
|
selectedNote = _ref.selectedNote,
|
14498
14556
|
tip = _ref.tip,
|
@@ -14504,12 +14562,26 @@ var ClassNoteDialog = function ClassNoteDialog(_ref) {
|
|
14504
14562
|
var handleSaveNote = function handleSaveNote(content) {
|
14505
14563
|
onSaveNote(content);
|
14506
14564
|
};
|
14565
|
+
useEffect(function () {
|
14566
|
+
if (open) {
|
14567
|
+
var _document$getElementB;
|
14568
|
+
(_document$getElementB = document.getElementById(id)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.setAttribute("inert", "true");
|
14569
|
+
} else {
|
14570
|
+
var _document$getElementB2;
|
14571
|
+
(_document$getElementB2 = document.getElementById(id)) === null || _document$getElementB2 === void 0 ? void 0 : _document$getElementB2.removeAttribute("inert");
|
14572
|
+
}
|
14573
|
+
return function () {
|
14574
|
+
var _document$getElementB3;
|
14575
|
+
(_document$getElementB3 = document.getElementById(id)) === null || _document$getElementB3 === void 0 ? void 0 : _document$getElementB3.removeAttribute("inert");
|
14576
|
+
};
|
14577
|
+
}, [open, id]);
|
14507
14578
|
return React__default.createElement(Dialog, {
|
14508
14579
|
onClose: onClose,
|
14509
14580
|
open: open,
|
14510
14581
|
maxWidth: "md",
|
14511
14582
|
scroll: "body",
|
14512
|
-
fullWidth: true
|
14583
|
+
fullWidth: true,
|
14584
|
+
id: id
|
14513
14585
|
}, React__default.createElement(DialogTitle$1, {
|
14514
14586
|
id: "customized-dialog-title"
|
14515
14587
|
}, React__default.createElement(Typography$1, {
|
@@ -14538,7 +14610,8 @@ var ClassNoteDialog = function ClassNoteDialog(_ref) {
|
|
14538
14610
|
handleSaveNote(values.content);
|
14539
14611
|
}
|
14540
14612
|
}, function (_ref2) {
|
14541
|
-
var values = _ref2.values
|
14613
|
+
var values = _ref2.values,
|
14614
|
+
setFieldValue = _ref2.setFieldValue;
|
14542
14615
|
return React__default.createElement(Form, null, React__default.createElement(DialogContent$1, {
|
14543
14616
|
sx: {
|
14544
14617
|
padding: 0,
|
@@ -14567,17 +14640,22 @@ var ClassNoteDialog = function ClassNoteDialog(_ref) {
|
|
14567
14640
|
flexDirection: "row",
|
14568
14641
|
alignItems: "center"
|
14569
14642
|
}, React__default.createElement(Field, {
|
14570
|
-
as: "textarea",
|
14571
|
-
rows: 3,
|
14572
14643
|
id: "content-question",
|
14573
14644
|
style: {
|
14574
|
-
paddingRight: "40px",
|
14575
|
-
minHeight: "96px",
|
14576
14645
|
width: "100%"
|
14577
14646
|
},
|
14578
14647
|
name: "content",
|
14579
14648
|
placeholder: t("the_problem_is_difficult"),
|
14580
|
-
className: styles["form-control"]
|
14649
|
+
className: styles["form-control"],
|
14650
|
+
render: function render(_ref3) {
|
14651
|
+
var field = _ref3.field;
|
14652
|
+
return React__default.createElement(NoteTinyEditor, {
|
14653
|
+
initValue: field.value,
|
14654
|
+
onChange: function onChange(text) {
|
14655
|
+
return setFieldValue("content", text);
|
14656
|
+
}
|
14657
|
+
});
|
14658
|
+
}
|
14581
14659
|
})), React__default.createElement(Box, {
|
14582
14660
|
marginBottom: "4px"
|
14583
14661
|
})))), React__default.createElement(DialogActions$1, {
|
@@ -15045,6 +15123,12 @@ var NoteItem = function NoteItem(_ref) {
|
|
15045
15123
|
useEffect(function () {
|
15046
15124
|
onLoad === null || onLoad === void 0 ? void 0 : onLoad();
|
15047
15125
|
}, []);
|
15126
|
+
useEffect(function () {
|
15127
|
+
if (window.MathJax) {
|
15128
|
+
var _window$MathJax;
|
15129
|
+
(_window$MathJax = window.MathJax) === null || _window$MathJax === void 0 ? void 0 : _window$MathJax.typeset();
|
15130
|
+
}
|
15131
|
+
}, [data.content]);
|
15048
15132
|
return React__default.createElement(Box, Object.assign({}, NoteItemStyles.root, {
|
15049
15133
|
onClick: handleItemClick,
|
15050
15134
|
sx: {
|
@@ -15067,7 +15151,18 @@ var NoteItem = function NoteItem(_ref) {
|
|
15067
15151
|
number: (data.questionOrder || 0) + 1
|
15068
15152
|
}) : "" + utcToLocalTime(data.createdAt, t("date_format") + " HH:mm")), data.examSessionId && React__default.createElement(Typography, Object.assign({}, NoteItemStyles.text.right), data.categoryName)), React__default.createElement(Typography, Object.assign({
|
15069
15153
|
className: "truncate"
|
15070
|
-
}, NoteItemStyles.contentText
|
15154
|
+
}, NoteItemStyles.contentText, {
|
15155
|
+
sx: {
|
15156
|
+
display: "-webkit-box",
|
15157
|
+
lineClamp: 1,
|
15158
|
+
WebkitLineClamp: 1,
|
15159
|
+
WebkitBoxOrient: "vertical",
|
15160
|
+
overflow: "hidden"
|
15161
|
+
},
|
15162
|
+
dangerouslySetInnerHTML: {
|
15163
|
+
__html: data.content || ""
|
15164
|
+
}
|
15165
|
+
}))), React__default.createElement(Box, null, (isAdmin || data.isOwned) && React__default.createElement(ClickAwayListener, {
|
15071
15166
|
onClickAway: onClose
|
15072
15167
|
}, React__default.createElement(Box, null, React__default.createElement(CustomTooltip, {
|
15073
15168
|
onClose: onClose,
|
@@ -15147,6 +15242,12 @@ var NoteDrawer = function NoteDrawer(props) {
|
|
15147
15242
|
var _state$common2;
|
15148
15243
|
return state === null || state === void 0 ? void 0 : (_state$common2 = state.common) === null || _state$common2 === void 0 ? void 0 : _state$common2.language;
|
15149
15244
|
});
|
15245
|
+
useEffect(function () {
|
15246
|
+
if (window.MathJax) {
|
15247
|
+
var _window$MathJax;
|
15248
|
+
(_window$MathJax = window.MathJax) === null || _window$MathJax === void 0 ? void 0 : _window$MathJax.typeset();
|
15249
|
+
}
|
15250
|
+
}, [data === null || data === void 0 ? void 0 : data.content]);
|
15150
15251
|
return React__default.createElement(Drawer, {
|
15151
15252
|
anchor: anchor,
|
15152
15253
|
open: open,
|
@@ -15267,8 +15368,11 @@ var NoteDrawer = function NoteDrawer(props) {
|
|
15267
15368
|
fontSize: "14px",
|
15268
15369
|
fontWeight: "300",
|
15269
15370
|
color: "#414E62"
|
15371
|
+
},
|
15372
|
+
dangerouslySetInnerHTML: {
|
15373
|
+
__html: (data === null || data === void 0 ? void 0 : data.content) || ""
|
15270
15374
|
}
|
15271
|
-
}
|
15375
|
+
})));
|
15272
15376
|
};
|
15273
15377
|
|
15274
15378
|
var useVirtualList = function useVirtualList(studentId, defaultFilter, getItemsApi) {
|
@@ -25565,6 +25669,12 @@ var updateClassApi = function updateClassApi(id, model) {
|
|
25565
25669
|
var deleteClassApi = function deleteClassApi(id) {
|
25566
25670
|
return api["delete"](CLASS_URL + "/" + id);
|
25567
25671
|
};
|
25672
|
+
var hiddenClassesApi = function hiddenClassesApi(hidden, classId) {
|
25673
|
+
return api.post(CLASS_URL + "/hidden", {
|
25674
|
+
hidden: hidden,
|
25675
|
+
courseIds: [classId]
|
25676
|
+
});
|
25677
|
+
};
|
25568
25678
|
var addStudentToClass = function addStudentToClass(id, studentIds) {
|
25569
25679
|
return api.post(CLASS_URL + "/" + id + "/students", studentIds);
|
25570
25680
|
};
|
@@ -27098,6 +27208,27 @@ var useClassList = function useClassList(history, classCreateUrl, classUpdateUrl
|
|
27098
27208
|
var handleUpdateClass = function handleUpdateClass(value) {
|
27099
27209
|
value.id && classUpdateUrl && pushTo(history, "" + classUpdateUrl.replace(":id", "" + value.id));
|
27100
27210
|
};
|
27211
|
+
var handleToggleHidden = function handleToggleHidden(e, classId) {
|
27212
|
+
try {
|
27213
|
+
var _temp5 = function _temp5() {
|
27214
|
+
dispatch(setLoading(false));
|
27215
|
+
};
|
27216
|
+
var checked = e.target.checked;
|
27217
|
+
dispatch(setLoading(true));
|
27218
|
+
var _temp4 = _catch(function () {
|
27219
|
+
return Promise.resolve(hiddenClassesApi(checked, classId)).then(function () {
|
27220
|
+
return Promise.resolve(getClassList()).then(function () {
|
27221
|
+
toast.success(t("update_data_successfully"));
|
27222
|
+
});
|
27223
|
+
});
|
27224
|
+
}, function (error) {
|
27225
|
+
toast.error(getErrorMessage(t, error));
|
27226
|
+
});
|
27227
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp5) : _temp5(_temp4));
|
27228
|
+
} catch (e) {
|
27229
|
+
return Promise.reject(e);
|
27230
|
+
}
|
27231
|
+
};
|
27101
27232
|
var handleChangePage = function handleChangePage(_, page) {
|
27102
27233
|
setClassFilter(_extends({}, classFilter, {
|
27103
27234
|
currentPage: page
|
@@ -27123,7 +27254,8 @@ var useClassList = function useClassList(history, classCreateUrl, classUpdateUrl
|
|
27123
27254
|
handleCreateClass: handleCreateClass,
|
27124
27255
|
handleUpdateClass: handleUpdateClass,
|
27125
27256
|
handleChangePage: handleChangePage,
|
27126
|
-
handleDeleteClass: handleDeleteClass
|
27257
|
+
handleDeleteClass: handleDeleteClass,
|
27258
|
+
handleToggleHidden: handleToggleHidden
|
27127
27259
|
};
|
27128
27260
|
};
|
27129
27261
|
|
@@ -27136,7 +27268,15 @@ var ClassList = function ClassList(_ref) {
|
|
27136
27268
|
var _state$common, _state$common$user;
|
27137
27269
|
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;
|
27138
27270
|
});
|
27139
|
-
var isAdmin =
|
27271
|
+
var isAdmin = useSelector(function (state) {
|
27272
|
+
var _state$common2, _state$common2$user, _state$common2$user$r;
|
27273
|
+
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(Role.Admin);
|
27274
|
+
});
|
27275
|
+
var isTeacher = useSelector(function (state) {
|
27276
|
+
var _state$common3, _state$common3$user, _state$common3$user$r;
|
27277
|
+
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(Role.Teacher);
|
27278
|
+
}) && !isAdmin;
|
27279
|
+
var isAdminSite = role === Role.Admin;
|
27140
27280
|
var _useClassList = useClassList(history, classCreateUrl, classUpdateUrl),
|
27141
27281
|
t = _useClassList.t,
|
27142
27282
|
paging = _useClassList.paging,
|
@@ -27151,7 +27291,11 @@ var ClassList = function ClassList(_ref) {
|
|
27151
27291
|
handleCreateClass = _useClassList.handleCreateClass,
|
27152
27292
|
handleUpdateClass = _useClassList.handleUpdateClass,
|
27153
27293
|
handleChangePage = _useClassList.handleChangePage,
|
27154
|
-
handleDeleteClass = _useClassList.handleDeleteClass
|
27294
|
+
handleDeleteClass = _useClassList.handleDeleteClass,
|
27295
|
+
handleToggleHidden = _useClassList.handleToggleHidden;
|
27296
|
+
var headers = !isTeacher ? CLASS_HEADERS : [].concat(CLASS_HEADERS.slice(0, -1), [{
|
27297
|
+
title: "hidden"
|
27298
|
+
}], CLASS_HEADERS.slice(-1));
|
27155
27299
|
return React__default.createElement(Box, null, React__default.createElement(Stack, {
|
27156
27300
|
direction: "row",
|
27157
27301
|
alignItems: "center",
|
@@ -27159,7 +27303,7 @@ var ClassList = function ClassList(_ref) {
|
|
27159
27303
|
mb: 2
|
27160
27304
|
}, React__default.createElement(Typography, {
|
27161
27305
|
variant: "h4"
|
27162
|
-
}, t("classes")), (
|
27306
|
+
}, t("classes")), (isAdminSite || isSuperAdmin) && React__default.createElement(MButton, {
|
27163
27307
|
variant: "contained",
|
27164
27308
|
color: "inherit",
|
27165
27309
|
startIcon: React__default.createElement(FaPlus, {
|
@@ -27182,7 +27326,7 @@ var ClassList = function ClassList(_ref) {
|
|
27182
27326
|
}), React__default.createElement(Grid, {
|
27183
27327
|
item: true,
|
27184
27328
|
xs: 12
|
27185
|
-
}, React__default.createElement(TableContainer, null, React__default.createElement(Table$1, null, React__default.createElement(TableHead$1, null, React__default.createElement(TableRow$1, null,
|
27329
|
+
}, React__default.createElement(TableContainer, null, React__default.createElement(Table$1, null, React__default.createElement(TableHead$1, null, React__default.createElement(TableRow$1, null, headers.map(function (i, index) {
|
27186
27330
|
return React__default.createElement(TableCell$1, {
|
27187
27331
|
key: index,
|
27188
27332
|
onClick: !!i.sortKey ? function () {
|
@@ -27199,7 +27343,13 @@ var ClassList = function ClassList(_ref) {
|
|
27199
27343
|
key: i.id
|
27200
27344
|
}, React__default.createElement(TableCell$1, null, (paging.page - 1) * paging.limit + index + 1), React__default.createElement(TableCell$1, {
|
27201
27345
|
className: "text-nowrap"
|
27202
|
-
}, i.name), React__default.createElement(TableCell$1, null, toLocalTime(i.startDate, t("date_format"))), React__default.createElement(TableCell$1, null, toLocalTime(i.endDate, t("date_format"))), React__default.createElement(TableCell$1, null, i.totalStudents), React__default.createElement(TableCell$1, null, i.totalTeachers), React__default.createElement(TableCell$1, null, i.totalLessons), React__default.createElement(TableCell$1, null,
|
27346
|
+
}, i.name), React__default.createElement(TableCell$1, null, toLocalTime(i.startDate, t("date_format"))), React__default.createElement(TableCell$1, null, toLocalTime(i.endDate, t("date_format"))), React__default.createElement(TableCell$1, null, i.totalStudents), React__default.createElement(TableCell$1, null, i.totalTeachers), React__default.createElement(TableCell$1, null, i.totalLessons), isTeacher && React__default.createElement(TableCell$1, null, React__default.createElement(Switch, {
|
27347
|
+
checked: i.hidden,
|
27348
|
+
onChange: function onChange(e) {
|
27349
|
+
var _i$id;
|
27350
|
+
return handleToggleHidden(e, (_i$id = i.id) != null ? _i$id : 0);
|
27351
|
+
}
|
27352
|
+
})), React__default.createElement(TableCell$1, null, (isAdminSite || isSuperAdmin) && React__default.createElement("div", {
|
27203
27353
|
className: "d-flex"
|
27204
27354
|
}, React__default.createElement(IconButton, {
|
27205
27355
|
color: "default",
|
@@ -27217,7 +27367,7 @@ var ClassList = function ClassList(_ref) {
|
|
27217
27367
|
}
|
27218
27368
|
}, React__default.createElement(FaTrashCan, {
|
27219
27369
|
size: 12
|
27220
|
-
}))), !(
|
27370
|
+
}))), !(isAdminSite || isSuperAdmin) && React__default.createElement(IconButton, {
|
27221
27371
|
color: "default",
|
27222
27372
|
className: "bg-primary text-white me-1",
|
27223
27373
|
onClick: function onClick() {
|
@@ -38319,6 +38469,7 @@ var Header = function Header(_ref) {
|
|
38319
38469
|
}, [isTeacherSide, language]);
|
38320
38470
|
return React__default.createElement(Stack, {
|
38321
38471
|
width: "100%",
|
38472
|
+
height: "78px",
|
38322
38473
|
display: "flex",
|
38323
38474
|
flexDirection: "row",
|
38324
38475
|
gap: {
|