touchstudy-core 0.1.96 → 0.1.98
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/Buttons/ActionButtons.d.ts +1 -0
- package/dist/containers/Classes/components/StudentList.d.ts +1 -1
- package/dist/containers/Classes/hooks/useClassDetail.d.ts +1 -0
- package/dist/containers/Textbooks/components/TextbookShareDialog.d.ts +26 -0
- package/dist/containers/Textbooks/configs/types.d.ts +1 -0
- package/dist/containers/Textbooks/hooks/useTextbookShare.d.ts +5 -1
- package/dist/index.js +54 -53
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +54 -53
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
@@ -9,7 +9,7 @@ interface Props {
|
|
9
9
|
t: any;
|
10
10
|
selectedStudent: StudentClassResponse | undefined;
|
11
11
|
textSearchRef: RefObject<HTMLInputElement> | null;
|
12
|
-
|
12
|
+
disabled?: boolean;
|
13
13
|
handleOpenDeleteClassDialog: (value: StudentClassResponse) => void;
|
14
14
|
handleCloseConfirmDialog: () => void;
|
15
15
|
handleSort: (key: UserClassSortBy) => void;
|
@@ -33,6 +33,7 @@ declare const useClassDetail: ({ history, id, role }: {
|
|
33
33
|
isAdmin: boolean;
|
34
34
|
paging: PagingResponse;
|
35
35
|
filter: import("../../../utils/types/searchQuery").BaseSearchQuery<UserSortColumn>;
|
36
|
+
isTeacher: boolean;
|
36
37
|
listUserSelected: number[];
|
37
38
|
isSelected: (id: number) => boolean;
|
38
39
|
textSearchRef: import("react").RefObject<HTMLInputElement>;
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import React, { FC } from "react";
|
2
|
+
import { TeacherSimpleResponse } from "../configs/types";
|
3
|
+
import { SearchQuery } from "../../../utils/types/searchQuery";
|
4
|
+
import { PagingResponse } from "../../../utils/types/pagingResponse";
|
5
|
+
interface Props {
|
6
|
+
open: boolean;
|
7
|
+
selectedShare: number[];
|
8
|
+
textSearchShareRef: React.RefObject<HTMLInputElement>;
|
9
|
+
handleChangeSearchTextShare: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
10
|
+
numSelectedShare: number;
|
11
|
+
isCheckAllShare: (teachers: TeacherSimpleResponse[], userLength: number) => boolean;
|
12
|
+
handleSelectAllClickShare: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
13
|
+
teachers: TeacherSimpleResponse[];
|
14
|
+
handleSortShare: (sortColumnName: string) => void;
|
15
|
+
filterShare: SearchQuery;
|
16
|
+
pagingShare: PagingResponse;
|
17
|
+
handleChangePageShare: (_: any, page: number) => void;
|
18
|
+
handleShareTextbook: (teacherIds: number[], textbookId: number) => Promise<void>;
|
19
|
+
isSelectedShare: (id: number) => boolean;
|
20
|
+
handleCloseShareDialog: () => void;
|
21
|
+
handleClickCheckboxShare: (id: number) => void;
|
22
|
+
selectedTeacher: TeacherSimpleResponse | undefined;
|
23
|
+
currentTextbookId: number;
|
24
|
+
}
|
25
|
+
export declare const ShareTextbookDialog: FC<Props>;
|
26
|
+
export {};
|
@@ -1,7 +1,9 @@
|
|
1
1
|
/// <reference types="react" />
|
2
2
|
import { TeacherSimpleResponse, TextbookResponse } from "../configs/types";
|
3
|
+
import { Role } from "../../../utils/constants";
|
3
4
|
export interface TextbookShareProps {
|
4
5
|
getData: (isLoading?: boolean) => Promise<void>;
|
6
|
+
role: Role;
|
5
7
|
}
|
6
8
|
declare const useTextbookShare: (props: TextbookShareProps) => {
|
7
9
|
filterShare: import("../../../utils/types").SearchQuery;
|
@@ -26,7 +28,9 @@ declare const useTextbookShare: (props: TextbookShareProps) => {
|
|
26
28
|
handleOpenUpdateShareDialog: (textbook: TextbookResponse) => void;
|
27
29
|
isUpdate: boolean;
|
28
30
|
handleUpdateSharedTextbook: (teacherIds: number[], textbookId: number) => Promise<void>;
|
29
|
-
handleDisableShare: (textbook: TextbookResponse) => boolean;
|
30
31
|
currentModel: TextbookResponse | undefined;
|
32
|
+
handleDisable: (textbook: TextbookResponse) => boolean;
|
33
|
+
isAdmin: any;
|
34
|
+
isAdminSite: boolean;
|
31
35
|
};
|
32
36
|
export default useTextbookShare;
|
package/dist/index.js
CHANGED
@@ -7439,8 +7439,10 @@ var useMessageList = function useMessageList(_ref) {
|
|
7439
7439
|
var _state$common, _state$common$user;
|
7440
7440
|
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.roles) || [];
|
7441
7441
|
});
|
7442
|
-
var
|
7443
|
-
var
|
7442
|
+
var isAdmin = roles === null || roles === void 0 ? void 0 : roles.includes(exports.Role.Admin);
|
7443
|
+
var isTeacher = (roles === null || roles === void 0 ? void 0 : roles.includes(exports.Role.Teacher)) && !isAdmin;
|
7444
|
+
var isStudent = !isTeacher && !isAdmin;
|
7445
|
+
var firstRef = React.useRef(true);
|
7444
7446
|
var getMessageList = function getMessageList(conversationId) {
|
7445
7447
|
try {
|
7446
7448
|
var _temp3 = function _temp3() {
|
@@ -7460,14 +7462,14 @@ var useMessageList = function useMessageList(_ref) {
|
|
7460
7462
|
});
|
7461
7463
|
});
|
7462
7464
|
var _temp = function () {
|
7463
|
-
if (
|
7465
|
+
if (firstRef.current && !isStudent) {
|
7464
7466
|
return Promise.resolve(createRecentUserActionListApi({
|
7465
7467
|
userId: (student === null || student === void 0 ? void 0 : student.id) || 0,
|
7466
7468
|
action: RecentUserAction$1.ViewedQNA,
|
7467
7469
|
data: "" + conversationId,
|
7468
|
-
isAdmin:
|
7470
|
+
isAdmin: false
|
7469
7471
|
})).then(function () {
|
7470
|
-
|
7472
|
+
firstRef.current = false;
|
7471
7473
|
});
|
7472
7474
|
}
|
7473
7475
|
}();
|
@@ -9742,7 +9744,8 @@ var ActionButtons = function ActionButtons(_ref) {
|
|
9742
9744
|
hideSave = _ref$hideSave === void 0 ? false : _ref$hideSave,
|
9743
9745
|
onBack = _ref.onBack,
|
9744
9746
|
onSave = _ref.onSave,
|
9745
|
-
onAltSave = _ref.onAltSave
|
9747
|
+
onAltSave = _ref.onAltSave,
|
9748
|
+
isReadonly = _ref.isReadonly;
|
9746
9749
|
return React__default.createElement(material.Stack, {
|
9747
9750
|
direction: "row",
|
9748
9751
|
spacing: 1,
|
@@ -9761,7 +9764,7 @@ var ActionButtons = function ActionButtons(_ref) {
|
|
9761
9764
|
size: 16
|
9762
9765
|
}),
|
9763
9766
|
onClick: onSave,
|
9764
|
-
disabled: saveDisabled
|
9767
|
+
disabled: saveDisabled || isReadonly
|
9765
9768
|
}, saveText), !!altSaveText && onAltSave && React__default.createElement(material.Button, {
|
9766
9769
|
variant: "contained",
|
9767
9770
|
color: "primary",
|
@@ -9789,6 +9792,7 @@ var TextbookActionButtons = function TextbookActionButtons(_ref) {
|
|
9789
9792
|
size: 14
|
9790
9793
|
}) : undefined,
|
9791
9794
|
saveText: t(!(textbook !== null && textbook !== void 0 && textbook.id) ? "create_and_continue" : isReadonly ? "update" : "update_textbook_title"),
|
9795
|
+
isReadonly: isReadonly,
|
9792
9796
|
hideSave: hideSave,
|
9793
9797
|
onSave: onSave
|
9794
9798
|
});
|
@@ -10704,7 +10708,7 @@ var TextbookViewDetail = function TextbookViewDetail(props) {
|
|
10704
10708
|
textbook: textbook,
|
10705
10709
|
onBack: handleGoToTextbookList,
|
10706
10710
|
onSave: handleCreateOrUpdateTextbook,
|
10707
|
-
hideSave: !isEditedTitle && !!id && !isReadonly || textbook.isCreatedByAdmin
|
10711
|
+
hideSave: !isEditedTitle && !!id && !isReadonly || textbook.isCreatedByAdmin || !!id && isReadonly
|
10708
10712
|
}))), React__default.createElement(material.Grid, {
|
10709
10713
|
item: true,
|
10710
10714
|
xs: 12,
|
@@ -10715,7 +10719,7 @@ var TextbookViewDetail = function TextbookViewDetail(props) {
|
|
10715
10719
|
onClick: function onClick() {
|
10716
10720
|
return handleOpenCreateExamDialog();
|
10717
10721
|
},
|
10718
|
-
disabled:
|
10722
|
+
disabled: !articlesSelected.length,
|
10719
10723
|
startIcon: React__default.createElement(fa.FaPlus, {
|
10720
10724
|
size: 12
|
10721
10725
|
})
|
@@ -11296,7 +11300,9 @@ var getTeacherListApi = function getTeacherListApi(query) {
|
|
11296
11300
|
};
|
11297
11301
|
|
11298
11302
|
var useTextbookShare = function useTextbookShare(props) {
|
11299
|
-
var
|
11303
|
+
var _infoUser$roles;
|
11304
|
+
var getData = props.getData,
|
11305
|
+
role = props.role;
|
11300
11306
|
var _useList = useList(function (search) {
|
11301
11307
|
return getTeacherListApi(search);
|
11302
11308
|
}, DefaultTeacherQuery),
|
@@ -11336,6 +11342,8 @@ var useTextbookShare = function useTextbookShare(props) {
|
|
11336
11342
|
var _state$common;
|
11337
11343
|
return (state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user) || {};
|
11338
11344
|
});
|
11345
|
+
var isAdmin = infoUser === null || infoUser === void 0 ? void 0 : (_infoUser$roles = infoUser.roles) === null || _infoUser$roles === void 0 ? void 0 : _infoUser$roles.includes(exports.Role.Admin);
|
11346
|
+
var isAdminSite = role === exports.Role.Admin;
|
11339
11347
|
React.useEffect(function () {
|
11340
11348
|
if (!isUpdate) {
|
11341
11349
|
filterTeacherNotShared(currentModel);
|
@@ -11422,12 +11430,8 @@ var useTextbookShare = function useTextbookShare(props) {
|
|
11422
11430
|
});
|
11423
11431
|
setShared(existsTeachers);
|
11424
11432
|
};
|
11425
|
-
var
|
11426
|
-
return !textbook.isShared || textbook.
|
11427
|
-
return item.trim();
|
11428
|
-
}).filter(function (item) {
|
11429
|
-
return item !== "";
|
11430
|
-
}).includes(infoUser.email || "");
|
11433
|
+
var handleDisable = function handleDisable(textbook) {
|
11434
|
+
return isAdmin && !isAdminSite || !isAdmin && (!textbook.isShared || textbook.createdBy.id != infoUser.id);
|
11431
11435
|
};
|
11432
11436
|
var handleShareTextbook = function handleShareTextbook(teacherIds, textbookId) {
|
11433
11437
|
try {
|
@@ -11504,18 +11508,16 @@ var useTextbookShare = function useTextbookShare(props) {
|
|
11504
11508
|
handleOpenUpdateShareDialog: handleOpenUpdateShareDialog,
|
11505
11509
|
isUpdate: isUpdate,
|
11506
11510
|
handleUpdateSharedTextbook: handleUpdateSharedTextbook,
|
11507
|
-
|
11508
|
-
|
11511
|
+
currentModel: currentModel,
|
11512
|
+
handleDisable: handleDisable,
|
11513
|
+
isAdmin: isAdmin,
|
11514
|
+
isAdminSite: isAdminSite
|
11509
11515
|
};
|
11510
11516
|
};
|
11511
11517
|
|
11512
11518
|
var TextbookList = function TextbookList(props) {
|
11513
11519
|
var _useTranslation = reactI18next.useTranslation(),
|
11514
11520
|
t = _useTranslation.t;
|
11515
|
-
var isAdmin = reactRedux.useSelector(function (state) {
|
11516
|
-
var _state$common, _state$common$user, _state$common$user$ro;
|
11517
|
-
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$ro = _state$common$user.roles) === null || _state$common$user$ro === void 0 ? void 0 : _state$common$user$ro.includes(exports.Role.Admin);
|
11518
|
-
});
|
11519
11521
|
var _useTextbookList = useTextbookList(props),
|
11520
11522
|
filter = _useTextbookList.filter,
|
11521
11523
|
textbooks = _useTextbookList.textbooks,
|
@@ -11558,8 +11560,10 @@ var TextbookList = function TextbookList(props) {
|
|
11558
11560
|
handleOpenUpdateShareDialog = _useTextbookShare.handleOpenUpdateShareDialog,
|
11559
11561
|
isUpdate = _useTextbookShare.isUpdate,
|
11560
11562
|
handleUpdateSharedTextbook = _useTextbookShare.handleUpdateSharedTextbook,
|
11561
|
-
|
11562
|
-
|
11563
|
+
currentModel = _useTextbookShare.currentModel,
|
11564
|
+
handleDisable = _useTextbookShare.handleDisable,
|
11565
|
+
isAdmin = _useTextbookShare.isAdmin,
|
11566
|
+
isAdminSite = _useTextbookShare.isAdminSite;
|
11563
11567
|
return React__default.createElement(LayoutList, {
|
11564
11568
|
title: t(TEXTBOOK_PAGE_TITLE)
|
11565
11569
|
}, React__default.createElement(material.Grid, {
|
@@ -11581,15 +11585,14 @@ var TextbookList = function TextbookList(props) {
|
|
11581
11585
|
justifyContent: "flex-end"
|
11582
11586
|
},
|
11583
11587
|
spacing: 2
|
11584
|
-
}, React__default.createElement(material.Button, {
|
11588
|
+
}, (!isAdmin || isAdminSite) && React__default.createElement(material.Button, {
|
11585
11589
|
startIcon: React__default.createElement(fa.FaPlus, {
|
11586
11590
|
size: 12
|
11587
11591
|
}),
|
11588
11592
|
variant: "contained",
|
11589
11593
|
color: "primary",
|
11590
11594
|
onClick: handleCreateTextbook,
|
11591
|
-
|
11592
|
-
className: (!isAdmin ? "bg-success" : "bg-secondary") + " text-white"
|
11595
|
+
className: (isAdmin && !isAdminSite ? "bg-secondary" : "bg-success") + " text-white"
|
11593
11596
|
}, t("create_textbook")))), React__default.createElement(material.Grid, {
|
11594
11597
|
item: true,
|
11595
11598
|
xs: 12,
|
@@ -11611,11 +11614,11 @@ var TextbookList = function TextbookList(props) {
|
|
11611
11614
|
alignItems: "center"
|
11612
11615
|
}, React__default.createElement(material.IconButton, {
|
11613
11616
|
color: "default",
|
11614
|
-
className: (i
|
11617
|
+
className: (handleDisable(i) ? "bg-secondary" : "bg-warning") + " text-white",
|
11615
11618
|
onClick: function onClick() {
|
11616
11619
|
return handleUpdateTextbook(i.id);
|
11617
11620
|
},
|
11618
|
-
disabled:
|
11621
|
+
disabled: handleDisable(i)
|
11619
11622
|
}, React__default.createElement(fa6.FaPencil, {
|
11620
11623
|
size: 12
|
11621
11624
|
})), React__default.createElement(material.IconButton, {
|
@@ -11627,16 +11630,16 @@ var TextbookList = function TextbookList(props) {
|
|
11627
11630
|
}, React__default.createElement(fa.FaEye, {
|
11628
11631
|
size: 12
|
11629
11632
|
})), React__default.createElement(material.IconButton, {
|
11630
|
-
disabled:
|
11631
|
-
className: (
|
11633
|
+
disabled: handleDisable(i) || isAdmin,
|
11634
|
+
className: (handleDisable(i) || isAdmin ? "bg-secondary" : "bg-info") + " text-white me-1",
|
11632
11635
|
onClick: function onClick() {
|
11633
11636
|
return handleOpenShareDialog(i);
|
11634
11637
|
}
|
11635
11638
|
}, React__default.createElement(fa.FaShare, {
|
11636
11639
|
size: 12
|
11637
11640
|
})), React__default.createElement(material.IconButton, {
|
11638
|
-
disabled:
|
11639
|
-
className: (
|
11641
|
+
disabled: handleDisable(i) || isAdmin,
|
11642
|
+
className: (handleDisable(i) || isAdmin ? "bg-secondary" : "bg-success") + " text-white me-1",
|
11640
11643
|
onClick: function onClick() {
|
11641
11644
|
return handleOpenUpdateShareDialog(i);
|
11642
11645
|
}
|
@@ -11644,11 +11647,11 @@ var TextbookList = function TextbookList(props) {
|
|
11644
11647
|
size: 12
|
11645
11648
|
})), React__default.createElement(material.IconButton, {
|
11646
11649
|
color: "default",
|
11647
|
-
className: (i
|
11650
|
+
className: (handleDisable(i) ? "bg-secondary" : "bg-danger") + " text-white mr-1",
|
11648
11651
|
onClick: function onClick() {
|
11649
11652
|
return handleSelectDeleteTextbook(i);
|
11650
11653
|
},
|
11651
|
-
disabled:
|
11654
|
+
disabled: handleDisable(i)
|
11652
11655
|
}, React__default.createElement(fa.FaTrash, {
|
11653
11656
|
size: 12
|
11654
11657
|
})))));
|
@@ -16946,7 +16949,6 @@ var singleLogo = function singleLogo(_ref) {
|
|
16946
16949
|
};
|
16947
16950
|
|
16948
16951
|
var Header = function Header(_ref) {
|
16949
|
-
var _user$roles;
|
16950
16952
|
var academyListRoute = _ref.academyListRoute,
|
16951
16953
|
homeRoute = _ref.homeRoute,
|
16952
16954
|
registerRoute = _ref.registerRoute,
|
@@ -16958,27 +16960,24 @@ var Header = function Header(_ref) {
|
|
16958
16960
|
t = _useTranslation.t;
|
16959
16961
|
var location = reactRouterDom.useLocation();
|
16960
16962
|
var theme = material.useTheme();
|
16961
|
-
var
|
16962
|
-
var _state$common;
|
16963
|
-
return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user;
|
16964
|
-
});
|
16963
|
+
var param = window.location.pathname;
|
16965
16964
|
var language = reactRedux.useSelector(function (state) {
|
16966
|
-
var _state$
|
16967
|
-
return state === null || state === void 0 ? void 0 : (_state$
|
16965
|
+
var _state$common;
|
16966
|
+
return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.language;
|
16968
16967
|
});
|
16969
|
-
var
|
16968
|
+
var isTeacherSide = param.includes('teacher');
|
16970
16969
|
var isLargerThanXL = material.useMediaQuery(theme.breakpoints.up("xl"));
|
16971
16970
|
var academyDomain = reactRedux.useSelector(function (state) {
|
16972
|
-
var _state$
|
16973
|
-
return state === null || state === void 0 ? void 0 : (_state$
|
16971
|
+
var _state$common2, _state$common2$user;
|
16972
|
+
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.academyDomain;
|
16974
16973
|
});
|
16975
16974
|
var logo = React.useMemo(function () {
|
16976
|
-
if (
|
16975
|
+
if (isTeacherSide) {
|
16977
16976
|
return language === exports.Language.en ? React__default.createElement(teacherFullLogoEn, null) : React__default.createElement(teacherFullLogoKo, null);
|
16978
16977
|
} else {
|
16979
16978
|
return language === exports.Language.en ? React__default.createElement(studentFullLogoEn, null) : React__default.createElement(studentFullLogoKo, null);
|
16980
16979
|
}
|
16981
|
-
}, [
|
16980
|
+
}, [isTeacherSide, language]);
|
16982
16981
|
var pathname = location.pathname.toLowerCase();
|
16983
16982
|
return React__default.createElement(material.Stack, {
|
16984
16983
|
width: "100%",
|
@@ -19163,7 +19162,7 @@ var StudentList = function StudentList(_ref) {
|
|
19163
19162
|
selectedStudent = _ref.selectedStudent,
|
19164
19163
|
t = _ref.t,
|
19165
19164
|
textSearchRef = _ref.textSearchRef,
|
19166
|
-
|
19165
|
+
disabled = _ref.disabled,
|
19167
19166
|
handleOpenDeleteClassDialog = _ref.handleOpenDeleteClassDialog,
|
19168
19167
|
handleCloseConfirmDialog = _ref.handleCloseConfirmDialog,
|
19169
19168
|
handleSort = _ref.handleSort,
|
@@ -19223,7 +19222,7 @@ var StudentList = function StudentList(_ref) {
|
|
19223
19222
|
},
|
19224
19223
|
placeholder: t("search_for"),
|
19225
19224
|
onChange: handleChangeSearchText
|
19226
|
-
}))),
|
19225
|
+
}))), !disabled && React__default.createElement(material.Grid, {
|
19227
19226
|
item: true,
|
19228
19227
|
xs: 6,
|
19229
19228
|
className: "d-flex align-items-center"
|
@@ -19259,11 +19258,11 @@ var StudentList = function StudentList(_ref) {
|
|
19259
19258
|
className: "d-flex"
|
19260
19259
|
}, React__default.createElement(material.IconButton, {
|
19261
19260
|
color: "default",
|
19262
|
-
className: (
|
19261
|
+
className: (disabled ? "bg-secondary" : "bg-danger") + " text-white",
|
19263
19262
|
onClick: function onClick() {
|
19264
19263
|
return handleOpenDeleteClassDialog(i);
|
19265
19264
|
},
|
19266
|
-
disabled:
|
19265
|
+
disabled: disabled
|
19267
19266
|
}, React__default.createElement(fa6.FaTrashCan, {
|
19268
19267
|
size: 12
|
19269
19268
|
})))));
|
@@ -19988,6 +19987,7 @@ var useClassDetail = function useClassDetail(_ref) {
|
|
19988
19987
|
var roles = (user === null || user === void 0 ? void 0 : user.roles) || [];
|
19989
19988
|
var isOneRoleExists = roles.length === 1;
|
19990
19989
|
var isAdmin = roles.includes(exports.Role.Admin) && role === exports.Role.Admin;
|
19990
|
+
var isTeacher = roles.includes(exports.Role.Teacher) && !roles.includes(exports.Role.Admin) && role === exports.Role.Teacher;
|
19991
19991
|
var _useState = React.useState(),
|
19992
19992
|
course = _useState[0],
|
19993
19993
|
setCourse = _useState[1];
|
@@ -20410,6 +20410,7 @@ var useClassDetail = function useClassDetail(_ref) {
|
|
20410
20410
|
isAdmin: isAdmin,
|
20411
20411
|
paging: paging,
|
20412
20412
|
filter: filter,
|
20413
|
+
isTeacher: isTeacher,
|
20413
20414
|
listUserSelected: selected,
|
20414
20415
|
isSelected: isSelected,
|
20415
20416
|
textSearchRef: textSearchRef,
|
@@ -20792,6 +20793,7 @@ var ClassDetail = function ClassDetail(_ref) {
|
|
20792
20793
|
schema = _useClassDetail.schema,
|
20793
20794
|
paging = _useClassDetail.paging,
|
20794
20795
|
isAdmin = _useClassDetail.isAdmin,
|
20796
|
+
isTeacher = _useClassDetail.isTeacher,
|
20795
20797
|
filter = _useClassDetail.filter,
|
20796
20798
|
listUserSelected = _useClassDetail.listUserSelected,
|
20797
20799
|
userList = _useClassDetail.userList,
|
@@ -20808,7 +20810,6 @@ var ClassDetail = function ClassDetail(_ref) {
|
|
20808
20810
|
course = _useClassDetail.course,
|
20809
20811
|
classRequest = _useClassDetail.classRequest,
|
20810
20812
|
teacherOptions = _useClassDetail.teacherOptions,
|
20811
|
-
isOneRoleExists = _useClassDetail.isOneRoleExists,
|
20812
20813
|
studentListProps = _useClassDetail.studentListProps,
|
20813
20814
|
teacherListProps = _useClassDetail.teacherListProps,
|
20814
20815
|
lessonListProps = _useClassDetail.lessonListProps,
|
@@ -20896,7 +20897,7 @@ var ClassDetail = function ClassDetail(_ref) {
|
|
20896
20897
|
value: selected,
|
20897
20898
|
index: TabList$2[1].value
|
20898
20899
|
}, !!id && !Number.isNaN(+id) && selected === TabList$2[1].value && React__default.createElement(StudentList, Object.assign({
|
20899
|
-
|
20900
|
+
disabled: !isTeacher && !isAdmin,
|
20900
20901
|
onAdd: handleOpenSelectDialog
|
20901
20902
|
}, studentListProps))), React__default.createElement(CustomTabPanel, {
|
20902
20903
|
value: selected,
|