touchstudy-core 0.1.82 → 0.1.84
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/Chats/configs/types.d.ts +1 -0
- package/dist/components/ErrorHandler.d.ts +6 -0
- package/dist/components/LabelRequired.d.ts +8 -0
- package/dist/containers/Classes/apiClients/classService.d.ts +16 -0
- package/dist/containers/Classes/apiClients/teacherService.d.ts +2 -0
- package/dist/containers/Classes/components/ClassForm.d.ts +4 -0
- package/dist/containers/Classes/components/CorrectAnswerSelector.d.ts +7 -0
- package/dist/containers/Classes/components/LessonFormBody.d.ts +4 -0
- package/dist/containers/Classes/components/LessonFormDialog.d.ts +14 -0
- package/dist/containers/Classes/components/LessonList.d.ts +27 -0
- package/dist/containers/Classes/components/SelectDialog.d.ts +30 -0
- package/dist/containers/Classes/components/StudentList.d.ts +21 -0
- package/dist/containers/Classes/components/TeacherList.d.ts +21 -0
- package/dist/containers/Classes/components/TeacherSelector.d.ts +11 -0
- package/dist/containers/Classes/configs/constants.d.ts +70 -0
- package/dist/containers/Classes/configs/interfaces.d.ts +23 -0
- package/dist/containers/Classes/configs/types.d.ts +215 -0
- package/dist/containers/Classes/hooks/useClassDetail.d.ts +105 -0
- package/dist/containers/Classes/hooks/useClassList.d.ts +20 -0
- package/dist/containers/Classes/hooks/useLessonClassList.d.ts +20 -0
- package/dist/containers/Classes/hooks/useStudentClassList.d.ts +22 -0
- package/dist/containers/Classes/hooks/useTab.d.ts +5 -0
- package/dist/containers/Classes/hooks/useTeacherClassList.d.ts +22 -0
- package/dist/containers/Classes/hooks/useTeacherList.d.ts +6 -0
- package/dist/containers/Classes/views/ClassDetail.d.ts +10 -0
- package/dist/containers/Classes/views/ClassList.d.ts +10 -0
- package/dist/containers/Login/apiClient/index.d.ts +15 -0
- package/dist/containers/Login/configs/helpers.d.ts +1 -0
- package/dist/containers/Login/hooks/useLogin.d.ts +21 -4
- package/dist/containers/Login/hooks/useLoginWithEmail.d.ts +10 -0
- package/dist/containers/Login/views/Login.d.ts +1 -1
- package/dist/containers/Login/views/LoginWithEmail.d.ts +11 -0
- package/dist/containers/Login/views/block/BlockLogin.d.ts +15 -1
- package/dist/containers/Select/Category/hook/useCategorySelect.d.ts +0 -1
- package/dist/containers/Textbooks/apiClient/articleService.d.ts +5 -6
- package/dist/containers/Textbooks/apiClient/chapterService.d.ts +5 -6
- package/dist/containers/Textbooks/apiClient/textbookService.d.ts +5 -6
- package/dist/containers/Textbooks/hooks/useTextbookDetail.d.ts +2 -0
- package/dist/containers/Users/apiClient/userService.d.ts +9 -0
- package/dist/containers/Users/components/Dialogs/DeleteUserCsvDialog.d.ts +10 -0
- package/dist/containers/Users/components/Dialogs/RecentUserActionDialog.d.ts +9 -0
- package/dist/containers/Users/components/Dialogs/UserDialog.d.ts +12 -0
- package/dist/containers/Users/configs/constants.d.ts +37 -0
- package/dist/containers/Users/configs/types.d.ts +11 -0
- package/dist/containers/Users/hooks/useExportUsersCsv.d.ts +5 -0
- package/dist/containers/Users/hooks/useRecentUserAction.d.ts +10 -0
- package/dist/containers/Users/hooks/useUserList.d.ts +40 -0
- package/dist/containers/Users/views/UserList.d.ts +7 -0
- package/dist/index.css +6 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +625 -229
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +624 -229
- package/dist/index.modern.js.map +1 -1
- package/dist/services/recentUserActionService.d.ts +4 -4
- package/dist/utils/enums/UserSortColumn.d.ts +11 -0
- package/dist/utils/toLocalTime.d.ts +1 -0
- package/dist/utils/types/login.d.ts +1 -0
- package/dist/utils/types/recentUserAction.d.ts +1 -2
- package/dist/utils/types/user.d.ts +3 -0
- package/dist/utils/types/users.d.ts +17 -0
- package/package.json +1 -1
package/dist/index.modern.js
CHANGED
@@ -1,16 +1,20 @@
|
|
1
1
|
import { createAction, createReducer, configureStore } from '@reduxjs/toolkit';
|
2
2
|
import moment from 'moment';
|
3
3
|
export { default as moment } from 'moment';
|
4
|
-
import React__default, { useState, useCallback,
|
4
|
+
import React__default, { useEffect, useState, useCallback, Fragment as Fragment$1, useMemo, useRef, createElement } from 'react';
|
5
5
|
import { Formik, Form, Field } from 'formik';
|
6
|
-
import { object, string,
|
6
|
+
import { object, string, number } from 'yup';
|
7
7
|
import GoogleLogin, { useGoogleLogout } from '@leecheuk/react-google-login';
|
8
8
|
import { useDispatch, useSelector } from 'react-redux';
|
9
9
|
import axios from 'axios';
|
10
10
|
import { useTranslation, initReactI18next } from 'react-i18next';
|
11
11
|
export { I18nextProvider, useTranslation } from 'react-i18next';
|
12
|
-
import { Paper, Card, Stack,
|
12
|
+
import { Paper, Card, Stack, Box, Typography, TextField, Button, Grid, Dialog, DialogTitle, IconButton, DialogContent, DialogActions, Pagination, styled, useTheme, useMediaQuery, MenuList, Tooltip, tooltipClasses, ClickAwayListener, CircularProgress, FormControl, RadioGroup, FormControlLabel, Radio, FormGroup, FormLabel, Checkbox, InputLabel, Container, Table, TableBody, TableRow, TableCell, TableHead, InputBase, List, ListItem } from '@mui/material';
|
13
|
+
import { blue } from '@mui/material/colors';
|
14
|
+
import { GoogleReCaptcha, GoogleReCaptchaProvider } from 'react-google-recaptcha-v3';
|
13
15
|
import { gapi } from 'gapi-script';
|
16
|
+
import { toast } from 'react-toastify';
|
17
|
+
export { ToastContainer, toast } from 'react-toastify';
|
14
18
|
import 'moment/locale/ko.js';
|
15
19
|
import 'moment/locale/en-au.js';
|
16
20
|
import Pusher from 'pusher-js';
|
@@ -21,8 +25,6 @@ import Popover from '@mui/material/Popover';
|
|
21
25
|
import MenuItem from '@mui/material/MenuItem';
|
22
26
|
import IconButton$1 from '@mui/material/IconButton';
|
23
27
|
import { GoArrowSwitch } from 'react-icons/go';
|
24
|
-
import { toast } from 'react-toastify';
|
25
|
-
export { ToastContainer, toast } from 'react-toastify';
|
26
28
|
import Select, { components } from 'react-select';
|
27
29
|
import { FaCaretDown, FaTrash, FaPlus, FaSave, FaPencilAlt, FaPlusCircle, FaTimes, FaSortUp, FaSortDown, FaEye } from 'react-icons/fa';
|
28
30
|
import { PiDotsNineLight } from 'react-icons/pi';
|
@@ -471,14 +473,16 @@ var useLogin = function useLogin(history, homeAcademyUrl, homeUrl, registerUrl)
|
|
471
473
|
return Promise.resolve(apiLogin()).then(function (loginResponse) {
|
472
474
|
var isFirstLogin = loginResponse.isFirstLogin,
|
473
475
|
token = loginResponse.token,
|
474
|
-
user = loginResponse.user
|
476
|
+
user = loginResponse.user,
|
477
|
+
isSuperAdmin = loginResponse.isSuperAdmin;
|
475
478
|
var isAcademy = !!(user !== null && user !== void 0 && user.academyDomain);
|
476
479
|
var needToRegister = isStudent && isFirstLogin && isAcademy;
|
477
480
|
var redirectUrl = getRedirectUrl();
|
478
481
|
if (isStudent && !registerUrl) throw new Error("an_unexpected_error_has_occurred");
|
479
482
|
if (!redirectUrl) redirectUrl = needToRegister ? registerUrl : isAcademy ? homeAcademyUrl : homeUrl;
|
480
483
|
redirectLoginUser(_extends({}, user, {
|
481
|
-
isNotEnoughStatements: isFirstLogin
|
484
|
+
isNotEnoughStatements: isFirstLogin,
|
485
|
+
isSuperAdmin: isSuperAdmin
|
482
486
|
}), token, redirectUrl);
|
483
487
|
});
|
484
488
|
}, function (error) {
|
@@ -711,20 +715,33 @@ var SloganFullLogoEn = function SloganFullLogoEn(_ref) {
|
|
711
715
|
}))));
|
712
716
|
};
|
713
717
|
|
714
|
-
var schema =
|
715
|
-
|
716
|
-
|
717
|
-
|
718
|
-
})
|
719
|
-
|
720
|
-
|
721
|
-
|
722
|
-
|
723
|
-
|
724
|
-
|
725
|
-
|
726
|
-
|
727
|
-
|
718
|
+
var schema = function schema(t, isOTP) {
|
719
|
+
return object({
|
720
|
+
email: string().when([], function (_ref, schema) {
|
721
|
+
return !isOTP ? schema.email(t("invalid_email_address")).required(t("email_is_required")) : schema;
|
722
|
+
}),
|
723
|
+
otp: number().typeError(t("must_be_number")).when([], function (_ref2, schema) {
|
724
|
+
return isOTP ? schema.required(t("otp_is_required")).positive().integer() : schema;
|
725
|
+
})
|
726
|
+
});
|
727
|
+
};
|
728
|
+
var BlockLogin = function BlockLogin(_ref3) {
|
729
|
+
var isOTP = _ref3.isOTP,
|
730
|
+
isEmail = _ref3.isEmail,
|
731
|
+
defaultInfo = _ref3.defaultInfo,
|
732
|
+
onVerify = _ref3.onVerify,
|
733
|
+
tokenReCaptcha = _ref3.tokenReCaptcha,
|
734
|
+
refreshReCaptcha = _ref3.refreshReCaptcha,
|
735
|
+
handleSwitchOTP = _ref3.handleSwitchOTP,
|
736
|
+
handleSwitchEmail = _ref3.handleSwitchEmail,
|
737
|
+
history = _ref3.history,
|
738
|
+
_ref3$role = _ref3.role,
|
739
|
+
role = _ref3$role === void 0 ? Role.Student : _ref3$role,
|
740
|
+
homeAcademyUrl = _ref3.homeAcademyUrl,
|
741
|
+
homeUrl = _ref3.homeUrl,
|
742
|
+
registerUrl = _ref3.registerUrl,
|
743
|
+
clientId = _ref3.clientId,
|
744
|
+
onSubmit = _ref3.onSubmit;
|
728
745
|
var language = useSelector(function (state) {
|
729
746
|
var _state$common;
|
730
747
|
return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.language;
|
@@ -769,19 +786,32 @@ var BlockLogin = function BlockLogin(_ref) {
|
|
769
786
|
sx: {
|
770
787
|
gap: 4,
|
771
788
|
p: 6,
|
772
|
-
display:
|
773
|
-
flexDirection:
|
774
|
-
alignItems:
|
789
|
+
display: "flex",
|
790
|
+
flexDirection: "column",
|
791
|
+
alignItems: "center"
|
775
792
|
}
|
776
793
|
}, React__default.createElement(Formik, {
|
777
794
|
initialValues: defaultInfo,
|
778
|
-
validationSchema:
|
779
|
-
|
780
|
-
|
781
|
-
|
782
|
-
|
783
|
-
|
784
|
-
|
795
|
+
validationSchema: function validationSchema() {
|
796
|
+
return schema(t, isOTP);
|
797
|
+
},
|
798
|
+
onSubmit: onSubmit
|
799
|
+
}, function (_ref4) {
|
800
|
+
var errors = _ref4.errors,
|
801
|
+
values = _ref4.values,
|
802
|
+
setFieldValue = _ref4.setFieldValue;
|
803
|
+
console.log({
|
804
|
+
errors: errors,
|
805
|
+
values: values
|
806
|
+
});
|
807
|
+
useEffect(function () {
|
808
|
+
if (isOTP) {
|
809
|
+
setFieldValue("email", "");
|
810
|
+
} else {
|
811
|
+
setFieldValue("otp", "");
|
812
|
+
}
|
813
|
+
}, [isOTP, isEmail]);
|
814
|
+
return React__default.createElement(Form, null, React__default.createElement("div", {
|
785
815
|
className: "" + styles["block-form"]
|
786
816
|
}, React__default.createElement(Stack, {
|
787
817
|
py: 2,
|
@@ -791,7 +821,7 @@ var BlockLogin = function BlockLogin(_ref) {
|
|
791
821
|
width: "300px"
|
792
822
|
}) : React__default.createElement(SloganFullLogoEn, {
|
793
823
|
width: "300px"
|
794
|
-
})), React__default.createElement("div", {
|
824
|
+
})), !isOTP && !isEmail && React__default.createElement("div", {
|
795
825
|
className: "p-0 mt-1 mb-4"
|
796
826
|
}, React__default.createElement(GoogleLogin, {
|
797
827
|
clientId: clientId,
|
@@ -801,18 +831,152 @@ var BlockLogin = function BlockLogin(_ref) {
|
|
801
831
|
cookiePolicy: "single_host_origin",
|
802
832
|
className: "" + styles["btn-login-google"],
|
803
833
|
isSignedIn: true
|
804
|
-
})
|
834
|
+
}), React__default.createElement(Box, {
|
835
|
+
onClick: function onClick() {
|
836
|
+
return handleSwitchEmail(true);
|
837
|
+
},
|
838
|
+
sx: {
|
839
|
+
cursor: "pointer",
|
840
|
+
my: 4
|
841
|
+
}
|
842
|
+
}, React__default.createElement(Typography, {
|
843
|
+
fontSize: "14px",
|
844
|
+
fontWeight: 700,
|
845
|
+
color: blue[700]
|
846
|
+
}, t("sign_in_with_email"))))), (isEmail || isOTP) && React__default.createElement(Stack, null, !isOTP ? React__default.createElement(Stack, {
|
847
|
+
flexDirection: "column",
|
848
|
+
gap: 1
|
849
|
+
}, React__default.createElement(Typography, {
|
850
|
+
fontWeight: 700,
|
851
|
+
fontSize: "14px"
|
852
|
+
}, t("email")), React__default.createElement(Field, {
|
853
|
+
name: "email",
|
854
|
+
render: function render(_ref5) {
|
855
|
+
var field = _ref5.field;
|
856
|
+
return React__default.createElement(TextField, Object.assign({}, field));
|
857
|
+
}
|
858
|
+
}), !!(errors !== null && errors !== void 0 && errors.email) && React__default.createElement(Typography, {
|
859
|
+
fontWeight: 500,
|
860
|
+
fontSize: "10px",
|
861
|
+
lineHeight: "11.93px",
|
862
|
+
color: !(errors !== null && errors !== void 0 && errors.email) ? "#97A1AF" : "#F34B4B"
|
863
|
+
}, errors === null || errors === void 0 ? void 0 : errors.email)) : React__default.createElement(Stack, {
|
864
|
+
flexDirection: "column",
|
865
|
+
gap: 1
|
866
|
+
}, React__default.createElement(Typography, {
|
867
|
+
fontWeight: 700,
|
868
|
+
fontSize: "14px"
|
869
|
+
}, t("OTP")), React__default.createElement(Field, {
|
870
|
+
name: "otp",
|
871
|
+
render: function render(_ref6) {
|
872
|
+
var field = _ref6.field;
|
873
|
+
return React__default.createElement(TextField, Object.assign({}, field));
|
874
|
+
}
|
875
|
+
}), !!(errors !== null && errors !== void 0 && errors.otp) && React__default.createElement(Typography, {
|
876
|
+
fontWeight: 500,
|
877
|
+
fontSize: "10px",
|
878
|
+
lineHeight: "11.93px",
|
879
|
+
color: !(errors !== null && errors !== void 0 && errors.otp) ? "#97A1AF" : "#F34B4B"
|
880
|
+
}, errors === null || errors === void 0 ? void 0 : errors.otp)), React__default.createElement(Stack, {
|
881
|
+
flexDirection: "row",
|
882
|
+
alignItems: "center",
|
883
|
+
gap: 2,
|
884
|
+
my: 2
|
885
|
+
}, React__default.createElement(GoogleReCaptcha, {
|
886
|
+
onVerify: onVerify,
|
887
|
+
refreshReCaptcha: refreshReCaptcha
|
888
|
+
})), React__default.createElement(Box, {
|
889
|
+
onClick: function onClick() {
|
890
|
+
handleSwitchEmail(false);
|
891
|
+
handleSwitchOTP(false);
|
892
|
+
},
|
893
|
+
sx: {
|
894
|
+
cursor: "pointer",
|
895
|
+
my: 2
|
896
|
+
}
|
897
|
+
}, React__default.createElement(Typography, {
|
898
|
+
fontSize: "14px",
|
899
|
+
fontWeight: 700,
|
900
|
+
color: blue[700]
|
901
|
+
}, t("sign_in_with_google_account"))), React__default.createElement(Stack, {
|
902
|
+
flexDirection: "row",
|
903
|
+
justifyContent: "end",
|
904
|
+
gap: 1,
|
905
|
+
mt: 2
|
906
|
+
}, React__default.createElement(Button, {
|
907
|
+
variant: "contained",
|
908
|
+
color: "primary",
|
909
|
+
type: "submit",
|
910
|
+
disabled: !tokenReCaptcha
|
911
|
+
}, t("submit")))));
|
805
912
|
})));
|
806
913
|
};
|
807
914
|
|
915
|
+
var SIGN_IN_SUPER_ADMIN_URL = SUPER_ADMIN_BASE_URL + "/api/auth/login";
|
916
|
+
var SIGN_IN_URL = BASE_URL + "/api/auth/login";
|
917
|
+
var signInApi = function signInApi(_ref) {
|
918
|
+
var email = _ref.email,
|
919
|
+
password = _ref.password,
|
920
|
+
role = _ref.role;
|
921
|
+
return api.post(SIGN_IN_URL + "/demo", {
|
922
|
+
email: email,
|
923
|
+
password: password,
|
924
|
+
role: role
|
925
|
+
});
|
926
|
+
};
|
927
|
+
var signInWithEmailApi = function signInWithEmailApi(_ref2) {
|
928
|
+
var academyDomain = _ref2.academyDomain,
|
929
|
+
email = _ref2.email,
|
930
|
+
reCaptcha = _ref2.reCaptcha;
|
931
|
+
return api.post((academyDomain ? SIGN_IN_URL : SIGN_IN_SUPER_ADMIN_URL) + "/email", {
|
932
|
+
email: email,
|
933
|
+
reCaptcha: reCaptcha
|
934
|
+
}, {
|
935
|
+
headers: {
|
936
|
+
Domain: window.location.protocol + '//' + window.location.hostname + (window.location.port ? ':' + window.location.port : '')
|
937
|
+
}
|
938
|
+
});
|
939
|
+
};
|
940
|
+
var signInWithOTPApi = function signInWithOTPApi(_ref3) {
|
941
|
+
var academyDomain = _ref3.academyDomain,
|
942
|
+
otp = _ref3.otp,
|
943
|
+
role = _ref3.role;
|
944
|
+
return api.post((academyDomain ? SIGN_IN_URL : SIGN_IN_SUPER_ADMIN_URL) + "/otp", {
|
945
|
+
otp: otp,
|
946
|
+
role: role
|
947
|
+
});
|
948
|
+
};
|
949
|
+
var signInWithKeyApi = function signInWithKeyApi(_ref4) {
|
950
|
+
var academyDomain = _ref4.academyDomain,
|
951
|
+
key = _ref4.key,
|
952
|
+
role = _ref4.role;
|
953
|
+
return api.post((academyDomain ? SIGN_IN_URL : SIGN_IN_SUPER_ADMIN_URL) + "/email/key", {
|
954
|
+
key: key,
|
955
|
+
role: role
|
956
|
+
});
|
957
|
+
};
|
958
|
+
var signInSuperAdminApi = function signInSuperAdminApi(_ref5) {
|
959
|
+
var email = _ref5.email,
|
960
|
+
password = _ref5.password,
|
961
|
+
role = _ref5.role;
|
962
|
+
return api.post(SIGN_IN_SUPER_ADMIN_URL + "/demo", {
|
963
|
+
email: email,
|
964
|
+
password: password,
|
965
|
+
role: role
|
966
|
+
});
|
967
|
+
};
|
968
|
+
|
808
969
|
var defaultInfo = {
|
809
970
|
email: "",
|
810
|
-
|
811
|
-
captcha: "",
|
812
|
-
rememberMe: false
|
971
|
+
otp: ""
|
813
972
|
};
|
814
973
|
var PAGE_TITLE = "sign_in";
|
815
|
-
var useLogin$1 = function useLogin(
|
974
|
+
var useLogin$1 = function useLogin(_ref) {
|
975
|
+
var history = _ref.history,
|
976
|
+
homeAcademyUrl = _ref.homeAcademyUrl,
|
977
|
+
homeUrl = _ref.homeUrl,
|
978
|
+
registerUrl = _ref.registerUrl,
|
979
|
+
role = _ref.role;
|
816
980
|
var _useState = useState(false),
|
817
981
|
openLogin = _useState[0],
|
818
982
|
setOpenLogin = _useState[1];
|
@@ -822,6 +986,7 @@ var useLogin$1 = function useLogin(homeAcademyUrl, homeUrl) {
|
|
822
986
|
var _useState3 = useState(),
|
823
987
|
clientId = _useState3[0],
|
824
988
|
setClientId = _useState3[1];
|
989
|
+
var dispatch = useDispatch();
|
825
990
|
var _useTranslation = useTranslation(),
|
826
991
|
t = _useTranslation.t;
|
827
992
|
var toggle = useCallback(function () {
|
@@ -830,6 +995,96 @@ var useLogin$1 = function useLogin(homeAcademyUrl, homeUrl) {
|
|
830
995
|
var _useState4 = useState(false),
|
831
996
|
isShowPassword = _useState4[0],
|
832
997
|
setIsShowPassword = _useState4[1];
|
998
|
+
var _useState5 = useState(false),
|
999
|
+
isOTP = _useState5[0],
|
1000
|
+
setIsOTP = _useState5[1];
|
1001
|
+
var _useState6 = useState(false),
|
1002
|
+
isEmail = _useState6[0],
|
1003
|
+
setIsEmail = _useState6[1];
|
1004
|
+
var searchParams = new URLSearchParams(window.location.search);
|
1005
|
+
var paramDomain = searchParams.get("domain");
|
1006
|
+
var academyDomainStorage = getAcademyDomain();
|
1007
|
+
var academyDomain = paramDomain || academyDomainStorage || "";
|
1008
|
+
var _useState7 = useState(""),
|
1009
|
+
tokenReCaptcha = _useState7[0],
|
1010
|
+
setTokenReCaptcha = _useState7[1];
|
1011
|
+
var _useState8 = useState(false),
|
1012
|
+
refreshReCaptcha = _useState8[0],
|
1013
|
+
setRefreshReCaptcha = _useState8[1];
|
1014
|
+
var handleSwitchOTP = function handleSwitchOTP(bool) {
|
1015
|
+
setIsOTP(bool);
|
1016
|
+
};
|
1017
|
+
var handleSwitchEmail = function handleSwitchEmail(bool) {
|
1018
|
+
setIsEmail(bool);
|
1019
|
+
};
|
1020
|
+
var onVerify = useCallback(function (token) {
|
1021
|
+
setTokenReCaptcha(token);
|
1022
|
+
}, []);
|
1023
|
+
var redirectLoginUser = function redirectLoginUser(data, token, redirectUrl) {
|
1024
|
+
localStorage.setItem(ACCESS_TOKEN, token);
|
1025
|
+
!data.academyDomain && localStorage.removeItem(ACADEMY_DOMAIN);
|
1026
|
+
!!data.academyDomain && localStorage.setItem(ACADEMY_DOMAIN, data.academyDomain);
|
1027
|
+
dispatch(setUser(_extends({}, data)));
|
1028
|
+
if (redirectUrl) pushTo(history, redirectUrl);
|
1029
|
+
};
|
1030
|
+
var handleSubmit = function handleSubmit(values) {
|
1031
|
+
try {
|
1032
|
+
var _temp5 = function _temp5() {
|
1033
|
+
dispatch(setLoading(false));
|
1034
|
+
};
|
1035
|
+
if (!tokenReCaptcha) return Promise.resolve();
|
1036
|
+
dispatch(setLoading(true));
|
1037
|
+
var email = values.email,
|
1038
|
+
otp = values.otp;
|
1039
|
+
var _temp4 = _catch(function () {
|
1040
|
+
function _temp3() {
|
1041
|
+
var _temp = function () {
|
1042
|
+
if (otp) {
|
1043
|
+
return Promise.resolve(signInWithOTPApi({
|
1044
|
+
academyDomain: academyDomain,
|
1045
|
+
otp: otp,
|
1046
|
+
role: role
|
1047
|
+
})).then(function (res) {
|
1048
|
+
var loginResponse = res === null || res === void 0 ? void 0 : res.data;
|
1049
|
+
var isFirstLogin = loginResponse.isFirstLogin,
|
1050
|
+
token = loginResponse.token,
|
1051
|
+
user = loginResponse.user;
|
1052
|
+
var isAcademy = !!(user !== null && user !== void 0 && user.academyDomain);
|
1053
|
+
var needToRegister = isFirstLogin && isAcademy;
|
1054
|
+
var redirectUrl = needToRegister ? registerUrl : isAcademy ? homeAcademyUrl : homeUrl;
|
1055
|
+
handleSwitchOTP(false);
|
1056
|
+
redirectLoginUser(user, token, redirectUrl);
|
1057
|
+
});
|
1058
|
+
}
|
1059
|
+
}();
|
1060
|
+
if (_temp && _temp.then) return _temp.then(function () {});
|
1061
|
+
}
|
1062
|
+
var _temp2 = function () {
|
1063
|
+
if (email) {
|
1064
|
+
return Promise.resolve(signInWithEmailApi({
|
1065
|
+
academyDomain: academyDomain,
|
1066
|
+
email: email,
|
1067
|
+
reCaptcha: tokenReCaptcha
|
1068
|
+
})).then(function () {
|
1069
|
+
toast.success(t("please_check_your_mailbox"));
|
1070
|
+
handleSwitchOTP(true);
|
1071
|
+
handleSwitchEmail(false);
|
1072
|
+
setRefreshReCaptcha(function (b) {
|
1073
|
+
return !b;
|
1074
|
+
});
|
1075
|
+
});
|
1076
|
+
}
|
1077
|
+
}();
|
1078
|
+
return _temp2 && _temp2.then ? _temp2.then(_temp3) : _temp3(_temp2);
|
1079
|
+
}, function (error) {
|
1080
|
+
console.log(error);
|
1081
|
+
toast.error(getErrorMessage(t, error, t("request_login_fail")));
|
1082
|
+
});
|
1083
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp5) : _temp5(_temp4));
|
1084
|
+
} catch (e) {
|
1085
|
+
return Promise.reject(e);
|
1086
|
+
}
|
1087
|
+
};
|
833
1088
|
useEffect(function () {
|
834
1089
|
setClientId(GOOGLE_CLIENT_ID);
|
835
1090
|
}, []);
|
@@ -852,6 +1107,13 @@ var useLogin$1 = function useLogin(homeAcademyUrl, homeUrl) {
|
|
852
1107
|
document.title = t("study_peak") + " | " + t(PAGE_TITLE);
|
853
1108
|
}, [t]);
|
854
1109
|
return {
|
1110
|
+
isOTP: isOTP,
|
1111
|
+
isEmail: isEmail,
|
1112
|
+
onVerify: onVerify,
|
1113
|
+
tokenReCaptcha: tokenReCaptcha,
|
1114
|
+
refreshReCaptcha: refreshReCaptcha,
|
1115
|
+
handleSwitchOTP: handleSwitchOTP,
|
1116
|
+
handleSwitchEmail: handleSwitchEmail,
|
855
1117
|
clientId: clientId,
|
856
1118
|
defaultInfo: defaultInfo,
|
857
1119
|
openLogin: openLogin,
|
@@ -859,6 +1121,7 @@ var useLogin$1 = function useLogin(homeAcademyUrl, homeUrl) {
|
|
859
1121
|
isShowPassword: isShowPassword,
|
860
1122
|
setIsShowPassword: setIsShowPassword,
|
861
1123
|
infoUser: infoUser,
|
1124
|
+
handleSubmit: handleSubmit,
|
862
1125
|
setInfoUser: setInfoUser
|
863
1126
|
};
|
864
1127
|
};
|
@@ -961,9 +1224,23 @@ var _excluded = ["history"];
|
|
961
1224
|
var Login = function Login(_ref) {
|
962
1225
|
var history = _ref.history,
|
963
1226
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
964
|
-
var _useLogin = useLogin$1(
|
1227
|
+
var _useLogin = useLogin$1({
|
1228
|
+
homeAcademyUrl: rest.homeAcademyUrl,
|
1229
|
+
homeUrl: rest.homeUrl,
|
1230
|
+
role: rest.role,
|
1231
|
+
registerUrl: rest.registerUrl,
|
1232
|
+
history: history
|
1233
|
+
}),
|
1234
|
+
isOTP = _useLogin.isOTP,
|
1235
|
+
isEmail = _useLogin.isEmail,
|
1236
|
+
onVerify = _useLogin.onVerify,
|
965
1237
|
defaultInfo = _useLogin.defaultInfo,
|
966
|
-
clientId = _useLogin.clientId
|
1238
|
+
clientId = _useLogin.clientId,
|
1239
|
+
tokenReCaptcha = _useLogin.tokenReCaptcha,
|
1240
|
+
handleSubmit = _useLogin.handleSubmit,
|
1241
|
+
handleSwitchOTP = _useLogin.handleSwitchOTP,
|
1242
|
+
refreshReCaptcha = _useLogin.refreshReCaptcha,
|
1243
|
+
handleSwitchEmail = _useLogin.handleSwitchEmail;
|
967
1244
|
useLanguage(history);
|
968
1245
|
return React__default.createElement("div", {
|
969
1246
|
className: styles["login"] + " font-family-lato"
|
@@ -975,11 +1252,21 @@ var Login = function Login(_ref) {
|
|
975
1252
|
item: true,
|
976
1253
|
xs: 12,
|
977
1254
|
className: "d-flex justify-content-center h-100 align-items-center"
|
978
|
-
}, clientId && React__default.createElement(
|
1255
|
+
}, clientId && React__default.createElement(GoogleReCaptchaProvider, {
|
1256
|
+
reCaptchaKey: GOOGLE_RECAPTCHA_KEY
|
1257
|
+
}, React__default.createElement(BlockLogin, Object.assign({
|
1258
|
+
isOTP: isOTP,
|
1259
|
+
onVerify: onVerify,
|
1260
|
+
isEmail: isEmail,
|
1261
|
+
tokenReCaptcha: tokenReCaptcha,
|
1262
|
+
refreshReCaptcha: refreshReCaptcha,
|
1263
|
+
handleSwitchOTP: handleSwitchOTP,
|
1264
|
+
handleSwitchEmail: handleSwitchEmail,
|
979
1265
|
defaultInfo: defaultInfo,
|
980
1266
|
history: history,
|
981
|
-
clientId: clientId
|
982
|
-
|
1267
|
+
clientId: clientId,
|
1268
|
+
onSubmit: handleSubmit
|
1269
|
+
}, rest))))));
|
983
1270
|
};
|
984
1271
|
|
985
1272
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
@@ -1379,7 +1666,9 @@ var useLayoutContext = function useLayoutContext(role, pusherRegisterUrls, showL
|
|
1379
1666
|
};
|
1380
1667
|
var checkRoleUser = useCallback(function () {
|
1381
1668
|
if (!(user !== null && user !== void 0 && user.email)) return;
|
1382
|
-
|
1669
|
+
var isAdmin = roles.includes(Role.Admin);
|
1670
|
+
if (isAdmin && role === Role.Teacher) return;
|
1671
|
+
if (!roles.includes(role) && !!academyDomain && (role !== Role.Teacher || !roles.includes(Role.Admin))) {
|
1383
1672
|
alert(t("user_not_allow_to_register_role", {
|
1384
1673
|
user: user.email,
|
1385
1674
|
role: role
|
@@ -1779,11 +2068,17 @@ var useSubjectSelect = function useSubjectSelect(_ref) {
|
|
1779
2068
|
}, []);
|
1780
2069
|
var handleChangeSubject = function handleChangeSubject(value) {
|
1781
2070
|
var id = value.value;
|
2071
|
+
var examQuestions = exam.questions;
|
1782
2072
|
var selectedSubject = subjectList === null || subjectList === void 0 ? void 0 : subjectList.find(function (subject) {
|
1783
2073
|
return subject.id === id;
|
1784
2074
|
});
|
1785
2075
|
onChangeExam(_extends({}, exam, {
|
1786
|
-
subjectId: (selectedSubject === null || selectedSubject === void 0 ? void 0 : selectedSubject.id) || 0
|
2076
|
+
subjectId: (selectedSubject === null || selectedSubject === void 0 ? void 0 : selectedSubject.id) || 0,
|
2077
|
+
questions: [].concat(examQuestions.map(function (q) {
|
2078
|
+
return _extends({}, q, {
|
2079
|
+
categoryId: undefined
|
2080
|
+
});
|
2081
|
+
}))
|
1787
2082
|
}));
|
1788
2083
|
};
|
1789
2084
|
return {
|
@@ -1839,6 +2134,7 @@ var there_are_no_recent_exams = "최근 시험이 없습니다";
|
|
1839
2134
|
var you_have_started_an_exam_with_code_code_do_you_want_to_continue = "{{code}} 코드로 시험을 시작했습니다. 계속하시겠습니까?";
|
1840
2135
|
var here = "여기";
|
1841
2136
|
var do_you_want_to_complete_the_exam = "시험을 완료처리 하시겠습니까?";
|
2137
|
+
var do_you_want_to_cancel_the_exam = "시험을 취소하시겠습니까? (학생의 결과는 모두 삭제됩니다)";
|
1842
2138
|
var are_you_sure_you_want_to_delete_the_exam = "시험을 삭제하시겠습니까?";
|
1843
2139
|
var are_you_sure_you_want_to_delete_the_textbook = "교과서를 삭제하시겠습니까?";
|
1844
2140
|
var are_you_sure_you_want_to_delete_the_user = "사용자 {{user}}을(를) 삭제하시겠습니까?";
|
@@ -2082,6 +2378,7 @@ var parent_name = "부모님 성함";
|
|
2082
2378
|
var users = "사용자";
|
2083
2379
|
var new_user = "새로운 사용자";
|
2084
2380
|
var academy_admin = "아카데미 관리자";
|
2381
|
+
var super_admin = "최고 관리자";
|
2085
2382
|
var switch_academy_admin = "스위치 아카데미 관리자";
|
2086
2383
|
var switch_academy = "스위치 아카데미";
|
2087
2384
|
var there_are_no_lessons_this_week = "이번주는 수업이 없습니다";
|
@@ -2141,7 +2438,7 @@ var teachers = "교사";
|
|
2141
2438
|
var lessons = "수업";
|
2142
2439
|
var new_test = "새로운 시험";
|
2143
2440
|
var manage_saved_exams = "저장된 시험 관리";
|
2144
|
-
var
|
2441
|
+
var manage_textbooks = "교과서 관리";
|
2145
2442
|
var my_question = "내 질문";
|
2146
2443
|
var update_class = "수업 업데이트";
|
2147
2444
|
var create_class = "수업 만들기";
|
@@ -2372,6 +2669,7 @@ var textbook_subject_is_required = "교과서 과목은 필수입니다";
|
|
2372
2669
|
var update_the_textbook_successfully = "교과서를 성공적으로 업데이트했습니다.";
|
2373
2670
|
var create_the_textbook_successfully = "교과서를 성공적으로 만들었습니다.";
|
2374
2671
|
var finish_exam_successful = "시험을 성공적으로 마쳤습니다";
|
2672
|
+
var cancel_exam_successful = "시험을 성공적으로 취소했습니다";
|
2375
2673
|
var you_has_been_kicked_out = "당신은 쫓겨났습니다";
|
2376
2674
|
var the_teacher_has_closed_or_deleted_the_exam = "선생님이 시험을 종료했거나 삭제했습니다. 나중에 다시 시도해 주세요.";
|
2377
2675
|
var check_in_lesson_successfully = "수업 체크인 성공";
|
@@ -2466,6 +2764,7 @@ var added_date = "추가된 날짜";
|
|
2466
2764
|
var sync_exam_results = "시험 결과 동기화";
|
2467
2765
|
var update_data_fail = "데이터 업데이트 실패";
|
2468
2766
|
var add_students_to_class = "수업에 학생 추가";
|
2767
|
+
var add_teachers_to_class = "수업에 교사 추가";
|
2469
2768
|
var click_to_choose_file = "파일을 선택하려면 클릭하세요.";
|
2470
2769
|
var exam_data = "시험 데이터";
|
2471
2770
|
var questions_correct_rate = "질문 정답률";
|
@@ -2582,6 +2881,16 @@ var allowed_to_send_pop_ups_and_use_redirects = "팝업 보내기 및 리디렉
|
|
2582
2881
|
var disable_ask_where_to_save_each_file_before_downloading = "다운로드하기 전에 각 파일을 저장할 위치 묻기 비활성화";
|
2583
2882
|
var total_number_of_selected_results = "선택된 결과의 총 개수";
|
2584
2883
|
var choose_to_print = "인쇄를 선택하세요";
|
2884
|
+
var exam_has_been_cancelled = "시험이 취소되었습니다";
|
2885
|
+
var or = "또는";
|
2886
|
+
var sign_in_with_email = "이메일로 로그인";
|
2887
|
+
var please_check_your_mailbox = "우편함을 확인해 주세요";
|
2888
|
+
var otp_is_required = "OTP가 필요합니다";
|
2889
|
+
var min_is_1 = "최소값은 1입니다.";
|
2890
|
+
var max_is_6 = "최대는 6입니다";
|
2891
|
+
var must_be_number = "숫자여야 합니다.";
|
2892
|
+
var sign_in_with_google_account = "구글 계정으로 로그인";
|
2893
|
+
var academy_role = "아카데미 역할";
|
2585
2894
|
var lang_ko = {
|
2586
2895
|
problem_solving: problem_solving,
|
2587
2896
|
my_story: my_story,
|
@@ -2622,6 +2931,7 @@ var lang_ko = {
|
|
2622
2931
|
you_have_started_an_exam_with_code_code_do_you_want_to_continue: you_have_started_an_exam_with_code_code_do_you_want_to_continue,
|
2623
2932
|
here: here,
|
2624
2933
|
do_you_want_to_complete_the_exam: do_you_want_to_complete_the_exam,
|
2934
|
+
do_you_want_to_cancel_the_exam: do_you_want_to_cancel_the_exam,
|
2625
2935
|
are_you_sure_you_want_to_delete_the_exam: are_you_sure_you_want_to_delete_the_exam,
|
2626
2936
|
are_you_sure_you_want_to_delete_the_textbook: are_you_sure_you_want_to_delete_the_textbook,
|
2627
2937
|
are_you_sure_you_want_to_delete_the_user: are_you_sure_you_want_to_delete_the_user,
|
@@ -2862,6 +3172,7 @@ var lang_ko = {
|
|
2862
3172
|
users: users,
|
2863
3173
|
new_user: new_user,
|
2864
3174
|
academy_admin: academy_admin,
|
3175
|
+
super_admin: super_admin,
|
2865
3176
|
switch_academy_admin: switch_academy_admin,
|
2866
3177
|
switch_academy: switch_academy,
|
2867
3178
|
there_are_no_lessons_this_week: there_are_no_lessons_this_week,
|
@@ -2911,7 +3222,7 @@ var lang_ko = {
|
|
2911
3222
|
lessons: lessons,
|
2912
3223
|
new_test: new_test,
|
2913
3224
|
manage_saved_exams: manage_saved_exams,
|
2914
|
-
|
3225
|
+
manage_textbooks: manage_textbooks,
|
2915
3226
|
my_question: my_question,
|
2916
3227
|
update_class: update_class,
|
2917
3228
|
create_class: create_class,
|
@@ -3147,6 +3458,7 @@ var lang_ko = {
|
|
3147
3458
|
update_the_textbook_successfully: update_the_textbook_successfully,
|
3148
3459
|
create_the_textbook_successfully: create_the_textbook_successfully,
|
3149
3460
|
finish_exam_successful: finish_exam_successful,
|
3461
|
+
cancel_exam_successful: cancel_exam_successful,
|
3150
3462
|
you_has_been_kicked_out: you_has_been_kicked_out,
|
3151
3463
|
the_teacher_has_closed_or_deleted_the_exam: the_teacher_has_closed_or_deleted_the_exam,
|
3152
3464
|
check_in_lesson_successfully: check_in_lesson_successfully,
|
@@ -3242,6 +3554,7 @@ var lang_ko = {
|
|
3242
3554
|
sync_exam_results: sync_exam_results,
|
3243
3555
|
update_data_fail: update_data_fail,
|
3244
3556
|
add_students_to_class: add_students_to_class,
|
3557
|
+
add_teachers_to_class: add_teachers_to_class,
|
3245
3558
|
click_to_choose_file: click_to_choose_file,
|
3246
3559
|
exam_data: exam_data,
|
3247
3560
|
questions_correct_rate: questions_correct_rate,
|
@@ -3355,7 +3668,17 @@ var lang_ko = {
|
|
3355
3668
|
allowed_to_send_pop_ups_and_use_redirects: allowed_to_send_pop_ups_and_use_redirects,
|
3356
3669
|
disable_ask_where_to_save_each_file_before_downloading: disable_ask_where_to_save_each_file_before_downloading,
|
3357
3670
|
total_number_of_selected_results: total_number_of_selected_results,
|
3358
|
-
choose_to_print: choose_to_print
|
3671
|
+
choose_to_print: choose_to_print,
|
3672
|
+
exam_has_been_cancelled: exam_has_been_cancelled,
|
3673
|
+
or: or,
|
3674
|
+
sign_in_with_email: sign_in_with_email,
|
3675
|
+
please_check_your_mailbox: please_check_your_mailbox,
|
3676
|
+
otp_is_required: otp_is_required,
|
3677
|
+
min_is_1: min_is_1,
|
3678
|
+
max_is_6: max_is_6,
|
3679
|
+
must_be_number: must_be_number,
|
3680
|
+
sign_in_with_google_account: sign_in_with_google_account,
|
3681
|
+
academy_role: academy_role
|
3359
3682
|
};
|
3360
3683
|
|
3361
3684
|
var problem_solving$1 = "Problem Solving";
|
@@ -3395,6 +3718,7 @@ var there_are_no_recent_exams$1 = "There are no recent exams";
|
|
3395
3718
|
var you_have_started_an_exam_with_code_code_do_you_want_to_continue$1 = "You have started an exam with code {{code}}, do you want to continue?";
|
3396
3719
|
var here$1 = "here";
|
3397
3720
|
var do_you_want_to_complete_the_exam$1 = "Do you want to complete the exam?";
|
3721
|
+
var do_you_want_to_cancel_the_exam$1 = "Do you want to cancel the exam? (All student results will be deleted)";
|
3398
3722
|
var are_you_sure_you_want_to_delete_the_exam$1 = "Are you sure you want to delete the exam?";
|
3399
3723
|
var are_you_sure_you_want_to_delete_the_textbook$1 = "Are you sure you want to delete the textbook?";
|
3400
3724
|
var are_you_sure_you_want_to_delete_the_user$1 = "Are you sure you want to delete the user: {{user}}?";
|
@@ -3663,6 +3987,7 @@ var parent_name$1 = "Parent name";
|
|
3663
3987
|
var users$1 = "Users";
|
3664
3988
|
var new_user$1 = "New user";
|
3665
3989
|
var academy_admin$1 = "Academy Admin";
|
3990
|
+
var super_admin$1 = "Super Admin";
|
3666
3991
|
var switch_academy_admin$1 = "Switch Academy Admin";
|
3667
3992
|
var switch_academy$1 = "Switch Academy";
|
3668
3993
|
var there_are_no_lessons_this_week$1 = "There are no lessons this week";
|
@@ -3724,7 +4049,7 @@ var update_class$1 = "Update class";
|
|
3724
4049
|
var create_class$1 = "Create class";
|
3725
4050
|
var new_test$1 = "New Test";
|
3726
4051
|
var manage_saved_exams$1 = "Manage saved exams";
|
3727
|
-
var
|
4052
|
+
var manage_textbooks$1 = "Manage textbooks";
|
3728
4053
|
var my_question$1 = "My Q&As";
|
3729
4054
|
var problem_number$1 = "Problem number";
|
3730
4055
|
var solve_time$1 = "Solve time";
|
@@ -3942,7 +4267,8 @@ var textbook_name_is_required$1 = "Textbook name is required";
|
|
3942
4267
|
var textbook_subject_is_required$1 = "Textbook subject is required";
|
3943
4268
|
var update_the_textbook_successfully$1 = "Update the textbook successfully";
|
3944
4269
|
var create_the_textbook_successfully$1 = "Create the textbook successfully";
|
3945
|
-
var finish_exam_successful$1 = "Finish exam
|
4270
|
+
var finish_exam_successful$1 = "Finish exam successfully";
|
4271
|
+
var cancel_exam_successful$1 = "Cancel exam successfully";
|
3946
4272
|
var you_has_been_kicked_out$1 = "You has been kicked out";
|
3947
4273
|
var the_teacher_has_closed_or_deleted_the_exam$1 = "The teacher has closed or deleted the exam, please try again later";
|
3948
4274
|
var check_in_lesson_successfully$1 = "Check in lesson successfully";
|
@@ -4023,6 +4349,7 @@ var added_date$1 = "Added date";
|
|
4023
4349
|
var sync_exam_results$1 = "Sync exam results";
|
4024
4350
|
var update_data_fail$1 = "Update data fail";
|
4025
4351
|
var add_students_to_class$1 = "Add students to class";
|
4352
|
+
var add_teachers_to_class$1 = "Add teachers to class";
|
4026
4353
|
var click_to_choose_file$1 = "Click to choose file";
|
4027
4354
|
var exam_data$1 = "Exam Data";
|
4028
4355
|
var questions_correct_rate$1 = "Questions Correct Rate";
|
@@ -4036,8 +4363,8 @@ var messages$1 = {
|
|
4036
4363
|
var submit$1 = "Submit";
|
4037
4364
|
var must_select_a_teacher_first$1 = "Must select a teacher first";
|
4038
4365
|
var student_grade_is_invalid$1 = "Student grade must be from 1 to 12";
|
4039
|
-
var recent_users$1 = "Recent
|
4040
|
-
var recent_students$1 = "Recent
|
4366
|
+
var recent_users$1 = "Recent users";
|
4367
|
+
var recent_students$1 = "Recent students";
|
4041
4368
|
var viewed_user$1 = "Viewed User";
|
4042
4369
|
var viewed_QNA$1 = "Viewed Question&Answer";
|
4043
4370
|
var viewed_exam_result$1 = "Viewed Exam Results";
|
@@ -4139,6 +4466,16 @@ var allowed_to_send_pop_ups_and_use_redirects$1 = "Allowed to send pop-ups and u
|
|
4139
4466
|
var disable_ask_where_to_save_each_file_before_downloading$1 = "Disable ask where to save each file before downloading";
|
4140
4467
|
var total_number_of_selected_results$1 = "Total number of selected results";
|
4141
4468
|
var choose_to_print$1 = "Choose to print";
|
4469
|
+
var exam_has_been_cancelled$1 = "The exam has been cancelled";
|
4470
|
+
var or$1 = "Or";
|
4471
|
+
var sign_in_with_email$1 = "Sign in with email";
|
4472
|
+
var please_check_your_mailbox$1 = "Please check your mailbox";
|
4473
|
+
var otp_is_required$1 = "OTP is required";
|
4474
|
+
var min_is_1$1 = "Min is 1";
|
4475
|
+
var max_is_6$1 = "Max is 6";
|
4476
|
+
var must_be_number$1 = "Must be number";
|
4477
|
+
var sign_in_with_google_account$1 = "Sign in with google account";
|
4478
|
+
var academy_role$1 = "Academy role";
|
4142
4479
|
var lang_en = {
|
4143
4480
|
problem_solving: problem_solving$1,
|
4144
4481
|
my_story: my_story$1,
|
@@ -4179,6 +4516,7 @@ var lang_en = {
|
|
4179
4516
|
you_have_started_an_exam_with_code_code_do_you_want_to_continue: you_have_started_an_exam_with_code_code_do_you_want_to_continue$1,
|
4180
4517
|
here: here$1,
|
4181
4518
|
do_you_want_to_complete_the_exam: do_you_want_to_complete_the_exam$1,
|
4519
|
+
do_you_want_to_cancel_the_exam: do_you_want_to_cancel_the_exam$1,
|
4182
4520
|
are_you_sure_you_want_to_delete_the_exam: are_you_sure_you_want_to_delete_the_exam$1,
|
4183
4521
|
are_you_sure_you_want_to_delete_the_textbook: are_you_sure_you_want_to_delete_the_textbook$1,
|
4184
4522
|
are_you_sure_you_want_to_delete_the_user: are_you_sure_you_want_to_delete_the_user$1,
|
@@ -4444,6 +4782,7 @@ var lang_en = {
|
|
4444
4782
|
users: users$1,
|
4445
4783
|
new_user: new_user$1,
|
4446
4784
|
academy_admin: academy_admin$1,
|
4785
|
+
super_admin: super_admin$1,
|
4447
4786
|
switch_academy_admin: switch_academy_admin$1,
|
4448
4787
|
switch_academy: switch_academy$1,
|
4449
4788
|
there_are_no_lessons_this_week: there_are_no_lessons_this_week$1,
|
@@ -4495,7 +4834,7 @@ var lang_en = {
|
|
4495
4834
|
create_class: create_class$1,
|
4496
4835
|
new_test: new_test$1,
|
4497
4836
|
manage_saved_exams: manage_saved_exams$1,
|
4498
|
-
|
4837
|
+
manage_textbooks: manage_textbooks$1,
|
4499
4838
|
my_question: my_question$1,
|
4500
4839
|
problem_number: problem_number$1,
|
4501
4840
|
solve_time: solve_time$1,
|
@@ -4719,6 +5058,7 @@ var lang_en = {
|
|
4719
5058
|
update_the_textbook_successfully: update_the_textbook_successfully$1,
|
4720
5059
|
create_the_textbook_successfully: create_the_textbook_successfully$1,
|
4721
5060
|
finish_exam_successful: finish_exam_successful$1,
|
5061
|
+
cancel_exam_successful: cancel_exam_successful$1,
|
4722
5062
|
you_has_been_kicked_out: you_has_been_kicked_out$1,
|
4723
5063
|
the_teacher_has_closed_or_deleted_the_exam: the_teacher_has_closed_or_deleted_the_exam$1,
|
4724
5064
|
check_in_lesson_successfully: check_in_lesson_successfully$1,
|
@@ -4800,6 +5140,7 @@ var lang_en = {
|
|
4800
5140
|
sync_exam_results: sync_exam_results$1,
|
4801
5141
|
update_data_fail: update_data_fail$1,
|
4802
5142
|
add_students_to_class: add_students_to_class$1,
|
5143
|
+
add_teachers_to_class: add_teachers_to_class$1,
|
4803
5144
|
click_to_choose_file: click_to_choose_file$1,
|
4804
5145
|
exam_data: exam_data$1,
|
4805
5146
|
questions_correct_rate: questions_correct_rate$1,
|
@@ -4913,7 +5254,17 @@ var lang_en = {
|
|
4913
5254
|
allowed_to_send_pop_ups_and_use_redirects: allowed_to_send_pop_ups_and_use_redirects$1,
|
4914
5255
|
disable_ask_where_to_save_each_file_before_downloading: disable_ask_where_to_save_each_file_before_downloading$1,
|
4915
5256
|
total_number_of_selected_results: total_number_of_selected_results$1,
|
4916
|
-
choose_to_print: choose_to_print$1
|
5257
|
+
choose_to_print: choose_to_print$1,
|
5258
|
+
exam_has_been_cancelled: exam_has_been_cancelled$1,
|
5259
|
+
or: or$1,
|
5260
|
+
sign_in_with_email: sign_in_with_email$1,
|
5261
|
+
please_check_your_mailbox: please_check_your_mailbox$1,
|
5262
|
+
otp_is_required: otp_is_required$1,
|
5263
|
+
min_is_1: min_is_1$1,
|
5264
|
+
max_is_6: max_is_6$1,
|
5265
|
+
must_be_number: must_be_number$1,
|
5266
|
+
sign_in_with_google_account: sign_in_with_google_account$1,
|
5267
|
+
academy_role: academy_role$1
|
4917
5268
|
};
|
4918
5269
|
|
4919
5270
|
i18n.use(initReactI18next).init({
|
@@ -5187,7 +5538,7 @@ var TheAcademyDropdown = function TheAcademyDropdown(_ref) {
|
|
5187
5538
|
return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user;
|
5188
5539
|
});
|
5189
5540
|
var isAdmin = role === Role.Admin;
|
5190
|
-
var isSuperAdmin = user && !user.academyDomain && ((_user$roles = user.roles) === null || _user$roles === void 0 ? void 0 : _user$roles.includes(Role.Admin));
|
5541
|
+
var isSuperAdmin = user && (!user.academyDomain && ((_user$roles = user.roles) === null || _user$roles === void 0 ? void 0 : _user$roles.includes(Role.Admin)) || user.isSuperAdmin);
|
5191
5542
|
var _useTranslation = useTranslation(),
|
5192
5543
|
t = _useTranslation.t;
|
5193
5544
|
var _useState = useState(null),
|
@@ -6933,7 +7284,7 @@ var useMessageList = function useMessageList(_ref) {
|
|
6933
7284
|
userId: (student === null || student === void 0 ? void 0 : student.id) || 0,
|
6934
7285
|
action: RecentUserAction$1.ViewedQNA,
|
6935
7286
|
data: "" + conversationId,
|
6936
|
-
|
7287
|
+
isAdmin: !isTeacher
|
6937
7288
|
})).then(function () {
|
6938
7289
|
isFirst = false;
|
6939
7290
|
});
|
@@ -7101,6 +7452,7 @@ var useChatContainer = function useChatContainer(props) {
|
|
7101
7452
|
var _useState4 = useState(true),
|
7102
7453
|
isScrollToEnd = _useState4[0],
|
7103
7454
|
setScrollToEnd = _useState4[1];
|
7455
|
+
var isAdmin = roles === null || roles === void 0 ? void 0 : roles.includes(Role.Admin);
|
7104
7456
|
var _useMessageList = useMessageList({
|
7105
7457
|
student: student
|
7106
7458
|
}),
|
@@ -7226,9 +7578,6 @@ var useChatContainer = function useChatContainer(props) {
|
|
7226
7578
|
if (!data) return;
|
7227
7579
|
var parsedData = JSON.parse(data);
|
7228
7580
|
if (parsedData.id) setSelectedConversation(JSON.parse(data));
|
7229
|
-
console.log({
|
7230
|
-
data: JSON.parse(data)
|
7231
|
-
});
|
7232
7581
|
};
|
7233
7582
|
var handleLoadMoreMessages = function handleLoadMoreMessages() {
|
7234
7583
|
try {
|
@@ -7295,11 +7644,11 @@ var useChatContainer = function useChatContainer(props) {
|
|
7295
7644
|
var results = messages.map(function (i) {
|
7296
7645
|
var _i$sender;
|
7297
7646
|
return _extends({}, i, {
|
7298
|
-
isMe: (infoUser === null || infoUser === void 0 ? void 0 : infoUser.id) === ((_i$sender = i.sender) === null || _i$sender === void 0 ? void 0 : _i$sender.id)
|
7647
|
+
isMe: isAdmin && !i.isStudent || (infoUser === null || infoUser === void 0 ? void 0 : infoUser.id) === ((_i$sender = i.sender) === null || _i$sender === void 0 ? void 0 : _i$sender.id)
|
7299
7648
|
});
|
7300
7649
|
});
|
7301
7650
|
return results;
|
7302
|
-
}, [JSON.stringify(messages), infoUser === null || infoUser === void 0 ? void 0 : infoUser.id]);
|
7651
|
+
}, [JSON.stringify(messages), infoUser === null || infoUser === void 0 ? void 0 : infoUser.id, isAdmin]);
|
7303
7652
|
useEffect(function () {
|
7304
7653
|
getMessageConversation();
|
7305
7654
|
}, [JSON.stringify(selectedConversation)]);
|
@@ -8064,40 +8413,22 @@ var ChapterBox = function ChapterBox(_ref) {
|
|
8064
8413
|
};
|
8065
8414
|
|
8066
8415
|
var TEXTBOOK_URL = BASE_URL + "/api/textbooks";
|
8067
|
-
var getTextbookListApi = function getTextbookListApi(query
|
8416
|
+
var getTextbookListApi = function getTextbookListApi(query) {
|
8068
8417
|
return api.get("" + TEXTBOOK_URL, {
|
8069
|
-
params:
|
8070
|
-
roles: role
|
8071
|
-
})
|
8418
|
+
params: query
|
8072
8419
|
});
|
8073
8420
|
};
|
8074
|
-
var getTextbookByIdApi = function getTextbookByIdApi(textbookId
|
8075
|
-
return api.get(TEXTBOOK_URL + "/" + textbookId
|
8076
|
-
params: {
|
8077
|
-
roles: role
|
8078
|
-
}
|
8079
|
-
});
|
8421
|
+
var getTextbookByIdApi = function getTextbookByIdApi(textbookId) {
|
8422
|
+
return api.get(TEXTBOOK_URL + "/" + textbookId);
|
8080
8423
|
};
|
8081
|
-
var createTextbookApi = function createTextbookApi(data
|
8082
|
-
return api.post("" + TEXTBOOK_URL, data
|
8083
|
-
params: {
|
8084
|
-
roles: role
|
8085
|
-
}
|
8086
|
-
});
|
8424
|
+
var createTextbookApi = function createTextbookApi(data) {
|
8425
|
+
return api.post("" + TEXTBOOK_URL, data);
|
8087
8426
|
};
|
8088
|
-
var updateTextbookApi = function updateTextbookApi(textbookId, data
|
8089
|
-
return api.put(TEXTBOOK_URL + "/" + textbookId, data
|
8090
|
-
params: {
|
8091
|
-
roles: role
|
8092
|
-
}
|
8093
|
-
});
|
8427
|
+
var updateTextbookApi = function updateTextbookApi(textbookId, data) {
|
8428
|
+
return api.put(TEXTBOOK_URL + "/" + textbookId, data);
|
8094
8429
|
};
|
8095
|
-
var deleteTextbookApi = function deleteTextbookApi(textbookId
|
8096
|
-
return api["delete"](TEXTBOOK_URL + "/" + textbookId
|
8097
|
-
params: {
|
8098
|
-
roles: role
|
8099
|
-
}
|
8100
|
-
});
|
8430
|
+
var deleteTextbookApi = function deleteTextbookApi(textbookId) {
|
8431
|
+
return api["delete"](TEXTBOOK_URL + "/" + textbookId);
|
8101
8432
|
};
|
8102
8433
|
|
8103
8434
|
var ExamStatus$1;
|
@@ -8201,49 +8532,25 @@ var DEFAULT_ARTICLE_CREATE_REQUEST = {
|
|
8201
8532
|
};
|
8202
8533
|
|
8203
8534
|
var CHAPTER_URL = BASE_URL + "/api/chapters";
|
8204
|
-
var createChapterApi = function createChapterApi(chapter
|
8205
|
-
return api.post("" + CHAPTER_URL, chapter
|
8206
|
-
params: {
|
8207
|
-
roles: role
|
8208
|
-
}
|
8209
|
-
});
|
8535
|
+
var createChapterApi = function createChapterApi(chapter) {
|
8536
|
+
return api.post("" + CHAPTER_URL, chapter);
|
8210
8537
|
};
|
8211
|
-
var updateChapterApi = function updateChapterApi(chapterId, chapter
|
8212
|
-
return api.put(CHAPTER_URL + "/" + chapterId, chapter
|
8213
|
-
params: {
|
8214
|
-
roles: role
|
8215
|
-
}
|
8216
|
-
});
|
8538
|
+
var updateChapterApi = function updateChapterApi(chapterId, chapter) {
|
8539
|
+
return api.put(CHAPTER_URL + "/" + chapterId, chapter);
|
8217
8540
|
};
|
8218
|
-
var deleteChapterApi = function deleteChapterApi(chapterId
|
8219
|
-
return api["delete"](CHAPTER_URL + "/" + chapterId
|
8220
|
-
params: {
|
8221
|
-
roles: role
|
8222
|
-
}
|
8223
|
-
});
|
8541
|
+
var deleteChapterApi = function deleteChapterApi(chapterId) {
|
8542
|
+
return api["delete"](CHAPTER_URL + "/" + chapterId);
|
8224
8543
|
};
|
8225
8544
|
|
8226
8545
|
var ARTICLE_URL = BASE_URL + "/api/articles";
|
8227
|
-
var createArticleApi = function createArticleApi(article
|
8228
|
-
return api.post("" + ARTICLE_URL, article
|
8229
|
-
params: {
|
8230
|
-
roles: role
|
8231
|
-
}
|
8232
|
-
});
|
8546
|
+
var createArticleApi = function createArticleApi(article) {
|
8547
|
+
return api.post("" + ARTICLE_URL, article);
|
8233
8548
|
};
|
8234
|
-
var updateArticleApi = function updateArticleApi(articleId, article
|
8235
|
-
return api.put(ARTICLE_URL + "/" + articleId, article
|
8236
|
-
params: {
|
8237
|
-
roles: role
|
8238
|
-
}
|
8239
|
-
});
|
8549
|
+
var updateArticleApi = function updateArticleApi(articleId, article) {
|
8550
|
+
return api.put(ARTICLE_URL + "/" + articleId, article);
|
8240
8551
|
};
|
8241
|
-
var deleteArticleApi = function deleteArticleApi(articleId
|
8242
|
-
return api["delete"](ARTICLE_URL + "/" + articleId
|
8243
|
-
params: {
|
8244
|
-
roles: role
|
8245
|
-
}
|
8246
|
-
});
|
8552
|
+
var deleteArticleApi = function deleteArticleApi(articleId) {
|
8553
|
+
return api["delete"](ARTICLE_URL + "/" + articleId);
|
8247
8554
|
};
|
8248
8555
|
|
8249
8556
|
var EXAM_URL = BASE_URL + "/api/exam";
|
@@ -8373,9 +8680,31 @@ var useExam = function useExam(props) {
|
|
8373
8680
|
};
|
8374
8681
|
};
|
8375
8682
|
|
8683
|
+
var ADMIN_CATEGORY_URL = SUPER_ADMIN_BASE_URL + "/api/category";
|
8684
|
+
var CATEGORY_URL = BASE_URL + "/api/examcategory";
|
8685
|
+
var getCategoryListAdminApi = function getCategoryListAdminApi(data) {
|
8686
|
+
try {
|
8687
|
+
return Promise.resolve(api.get("" + ADMIN_CATEGORY_URL, {
|
8688
|
+
params: data
|
8689
|
+
}));
|
8690
|
+
} catch (e) {
|
8691
|
+
return Promise.reject(e);
|
8692
|
+
}
|
8693
|
+
};
|
8694
|
+
var getCategoryListApi = function getCategoryListApi(data) {
|
8695
|
+
try {
|
8696
|
+
return Promise.resolve(api.get("" + CATEGORY_URL, {
|
8697
|
+
params: data
|
8698
|
+
}));
|
8699
|
+
} catch (e) {
|
8700
|
+
return Promise.reject(e);
|
8701
|
+
}
|
8702
|
+
};
|
8703
|
+
|
8376
8704
|
var PAGE_TITLE_DETAIL = "textbook_detail";
|
8377
8705
|
var PAGE_TITLE_CREATE = "create_textbook";
|
8378
8706
|
var useTextbookDetail = function useTextbookDetail(props) {
|
8707
|
+
var _textbook$subject3;
|
8379
8708
|
var role = props.role,
|
8380
8709
|
isReadonlyParam = props.isReadonlyParam,
|
8381
8710
|
navigate = props.navigate,
|
@@ -8412,6 +8741,9 @@ var useTextbookDetail = function useTextbookDetail(props) {
|
|
8412
8741
|
var _useState9 = useState(false),
|
8413
8742
|
isEditedTitle = _useState9[0],
|
8414
8743
|
setEditedTitle = _useState9[1];
|
8744
|
+
var _useState10 = useState([]),
|
8745
|
+
categoryList = _useState10[0],
|
8746
|
+
setCategoryList = _useState10[1];
|
8415
8747
|
var textbookUrl = role === Role.Teacher ? TEXTBOOK_URL$1 : ADMIN_TEXTBOOK_URL;
|
8416
8748
|
var _useExam = useExam({
|
8417
8749
|
navigate: navigate
|
@@ -8423,6 +8755,40 @@ var useTextbookDetail = function useTextbookDetail(props) {
|
|
8423
8755
|
handleSaveExam = _useExam.handleSaveExam,
|
8424
8756
|
handleCloseDialog = _useExam.handleCloseDialog,
|
8425
8757
|
handleCreateExam = _useExam.handleCreateExam;
|
8758
|
+
var getCategoryList = function getCategoryList(isLoading) {
|
8759
|
+
if (isLoading === void 0) {
|
8760
|
+
isLoading = true;
|
8761
|
+
}
|
8762
|
+
try {
|
8763
|
+
var _textbook$subject;
|
8764
|
+
var _temp2 = function _temp2() {
|
8765
|
+
isLoading && dispatch(setLoading(false));
|
8766
|
+
};
|
8767
|
+
if (!(textbook !== null && textbook !== void 0 && (_textbook$subject = textbook.subject) !== null && _textbook$subject !== void 0 && _textbook$subject.id)) {
|
8768
|
+
setCategoryList([]);
|
8769
|
+
return Promise.resolve();
|
8770
|
+
}
|
8771
|
+
isLoading && dispatch(setLoading(true));
|
8772
|
+
var _temp = _catch(function () {
|
8773
|
+
var _textbook$subject2;
|
8774
|
+
return Promise.resolve(getCategoryListApi({
|
8775
|
+
subjectId: textbook === null || textbook === void 0 ? void 0 : (_textbook$subject2 = textbook.subject) === null || _textbook$subject2 === void 0 ? void 0 : _textbook$subject2.id
|
8776
|
+
})).then(function (res) {
|
8777
|
+
var data = res.data.items;
|
8778
|
+
setCategoryList(data || []);
|
8779
|
+
});
|
8780
|
+
}, function (error) {
|
8781
|
+
setCategoryList([]);
|
8782
|
+
console.log(error);
|
8783
|
+
});
|
8784
|
+
return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
|
8785
|
+
} catch (e) {
|
8786
|
+
return Promise.reject(e);
|
8787
|
+
}
|
8788
|
+
};
|
8789
|
+
useEffect(function () {
|
8790
|
+
getCategoryList();
|
8791
|
+
}, [textbook === null || textbook === void 0 ? void 0 : (_textbook$subject3 = textbook.subject) === null || _textbook$subject3 === void 0 ? void 0 : _textbook$subject3.id]);
|
8426
8792
|
var handleOpenAddArticleDialog = function handleOpenAddArticleDialog(chapter) {
|
8427
8793
|
setSelectedChapter(chapter);
|
8428
8794
|
};
|
@@ -8431,35 +8797,35 @@ var useTextbookDetail = function useTextbookDetail(props) {
|
|
8431
8797
|
};
|
8432
8798
|
var handleUpdateChapter = function handleUpdateChapter(chapterId, chapter, callback) {
|
8433
8799
|
try {
|
8434
|
-
var
|
8800
|
+
var _temp4 = function _temp4() {
|
8435
8801
|
dispatch(setLoading(false));
|
8436
8802
|
};
|
8437
8803
|
if (!textbook) return Promise.resolve();
|
8438
|
-
var
|
8804
|
+
var _temp3 = _catch(function () {
|
8439
8805
|
var body = {
|
8440
8806
|
name: chapter.name,
|
8441
8807
|
pageFrom: chapter.pageFrom,
|
8442
8808
|
pageTo: chapter.pageTo
|
8443
8809
|
};
|
8444
|
-
return Promise.resolve(updateChapterApi(chapterId, body
|
8810
|
+
return Promise.resolve(updateChapterApi(chapterId, body)).then(function (res) {
|
8445
8811
|
callback === null || callback === void 0 ? void 0 : callback(res.data);
|
8446
8812
|
});
|
8447
8813
|
}, function (error) {
|
8448
8814
|
toast.error(getErrorMessage(t, error));
|
8449
8815
|
});
|
8450
|
-
return Promise.resolve(
|
8816
|
+
return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3));
|
8451
8817
|
} catch (e) {
|
8452
8818
|
return Promise.reject(e);
|
8453
8819
|
}
|
8454
8820
|
};
|
8455
8821
|
var handleCreateArticle = function handleCreateArticle(article, callback) {
|
8456
8822
|
try {
|
8457
|
-
var
|
8823
|
+
var _temp6 = function _temp6() {
|
8458
8824
|
dispatch(setLoading(false));
|
8459
8825
|
};
|
8460
8826
|
if (!textbook) return Promise.resolve();
|
8461
8827
|
dispatch(setLoading(true));
|
8462
|
-
var
|
8828
|
+
var _temp5 = _catch(function () {
|
8463
8829
|
var _article$category;
|
8464
8830
|
var body = {
|
8465
8831
|
articleNumber: article.articleNumber,
|
@@ -8475,45 +8841,45 @@ var useTextbookDetail = function useTextbookDetail(props) {
|
|
8475
8841
|
};
|
8476
8842
|
})
|
8477
8843
|
};
|
8478
|
-
return Promise.resolve(createArticleApi(body
|
8844
|
+
return Promise.resolve(createArticleApi(body)).then(function (res) {
|
8479
8845
|
callback === null || callback === void 0 ? void 0 : callback(res.data);
|
8480
8846
|
});
|
8481
8847
|
}, function (error) {
|
8482
8848
|
toast.error(getErrorMessage(t, error));
|
8483
8849
|
});
|
8484
|
-
return Promise.resolve(
|
8850
|
+
return Promise.resolve(_temp5 && _temp5.then ? _temp5.then(_temp6) : _temp6(_temp5));
|
8485
8851
|
} catch (e) {
|
8486
8852
|
return Promise.reject(e);
|
8487
8853
|
}
|
8488
8854
|
};
|
8489
8855
|
var handleDeleteArticle = function handleDeleteArticle(articleId, callback) {
|
8490
8856
|
try {
|
8491
|
-
var
|
8857
|
+
var _temp8 = function _temp8() {
|
8492
8858
|
dispatch(setLoading(false));
|
8493
8859
|
};
|
8494
8860
|
if (!textbook) return Promise.resolve();
|
8495
8861
|
dispatch(setLoading(true));
|
8496
|
-
var
|
8497
|
-
return Promise.resolve(deleteArticleApi(articleId
|
8862
|
+
var _temp7 = _catch(function () {
|
8863
|
+
return Promise.resolve(deleteArticleApi(articleId)).then(function () {
|
8498
8864
|
callback === null || callback === void 0 ? void 0 : callback();
|
8499
8865
|
});
|
8500
8866
|
}, function (error) {
|
8501
8867
|
toast.error(getErrorMessage(t, error));
|
8502
8868
|
});
|
8503
|
-
return Promise.resolve(
|
8869
|
+
return Promise.resolve(_temp7 && _temp7.then ? _temp7.then(_temp8) : _temp8(_temp7));
|
8504
8870
|
} catch (e) {
|
8505
8871
|
return Promise.reject(e);
|
8506
8872
|
}
|
8507
8873
|
};
|
8508
8874
|
var handleDeleteChapter = function handleDeleteChapter(chapterId, parentChapterId, callback) {
|
8509
8875
|
try {
|
8510
|
-
var
|
8876
|
+
var _temp10 = function _temp10() {
|
8511
8877
|
dispatch(setLoading(false));
|
8512
8878
|
};
|
8513
8879
|
if (!textbook) return Promise.resolve();
|
8514
8880
|
dispatch(setLoading(true));
|
8515
|
-
var
|
8516
|
-
return Promise.resolve(deleteChapterApi(chapterId
|
8881
|
+
var _temp9 = _catch(function () {
|
8882
|
+
return Promise.resolve(deleteChapterApi(chapterId)).then(function () {
|
8517
8883
|
if (parentChapterId) {
|
8518
8884
|
var parentIndex = textbook.chapters.findIndex(function (i) {
|
8519
8885
|
return i.id === parentChapterId;
|
@@ -8538,7 +8904,7 @@ var useTextbookDetail = function useTextbookDetail(props) {
|
|
8538
8904
|
}, function (error) {
|
8539
8905
|
toast.error(getErrorMessage(t, error));
|
8540
8906
|
});
|
8541
|
-
return Promise.resolve(
|
8907
|
+
return Promise.resolve(_temp9 && _temp9.then ? _temp9.then(_temp10) : _temp10(_temp9));
|
8542
8908
|
} catch (e) {
|
8543
8909
|
return Promise.reject(e);
|
8544
8910
|
}
|
@@ -8546,7 +8912,7 @@ var useTextbookDetail = function useTextbookDetail(props) {
|
|
8546
8912
|
var handleUpdateArticle = function handleUpdateArticle(article, callback) {
|
8547
8913
|
try {
|
8548
8914
|
if (!textbook || !article.id) return Promise.resolve();
|
8549
|
-
var
|
8915
|
+
var _temp11 = _catch(function () {
|
8550
8916
|
var _article$category2;
|
8551
8917
|
var body = {
|
8552
8918
|
articleNumber: article.articleNumber,
|
@@ -8562,13 +8928,13 @@ var useTextbookDetail = function useTextbookDetail(props) {
|
|
8562
8928
|
};
|
8563
8929
|
})
|
8564
8930
|
};
|
8565
|
-
return Promise.resolve(updateArticleApi(article.id, body
|
8931
|
+
return Promise.resolve(updateArticleApi(article.id, body)).then(function (res) {
|
8566
8932
|
callback === null || callback === void 0 ? void 0 : callback(res.data);
|
8567
8933
|
});
|
8568
8934
|
}, function (error) {
|
8569
8935
|
toast.error(getErrorMessage(t, error));
|
8570
8936
|
});
|
8571
|
-
return Promise.resolve(
|
8937
|
+
return Promise.resolve(_temp11 && _temp11.then ? _temp11.then(function () {}) : void 0);
|
8572
8938
|
} catch (e) {
|
8573
8939
|
return Promise.reject(e);
|
8574
8940
|
}
|
@@ -8843,18 +9209,18 @@ var useTextbookDetail = function useTextbookDetail(props) {
|
|
8843
9209
|
};
|
8844
9210
|
var handleCreateChapter = function handleCreateChapter(chapterName) {
|
8845
9211
|
try {
|
8846
|
-
var
|
9212
|
+
var _temp13 = function _temp13() {
|
8847
9213
|
dispatch(setLoading(false));
|
8848
9214
|
};
|
8849
9215
|
if (!textbookId && !parentChapter && !textbook) return Promise.resolve();
|
8850
9216
|
dispatch(setLoading(true));
|
8851
|
-
var
|
9217
|
+
var _temp12 = _catch(function () {
|
8852
9218
|
var body = {
|
8853
9219
|
name: chapterName,
|
8854
9220
|
parentChapterId: parentChapter === null || parentChapter === void 0 ? void 0 : parentChapter.id,
|
8855
9221
|
textbookId: textbookId
|
8856
9222
|
};
|
8857
|
-
return Promise.resolve(createChapterApi(body
|
9223
|
+
return Promise.resolve(createChapterApi(body)).then(function (res) {
|
8858
9224
|
var chapter = _extends({}, res.data, {
|
8859
9225
|
articles: [],
|
8860
9226
|
subChapters: []
|
@@ -8880,7 +9246,7 @@ var useTextbookDetail = function useTextbookDetail(props) {
|
|
8880
9246
|
}, function (error) {
|
8881
9247
|
toast.error(getErrorMessage(t, error));
|
8882
9248
|
});
|
8883
|
-
return Promise.resolve(
|
9249
|
+
return Promise.resolve(_temp12 && _temp12.then ? _temp12.then(_temp13) : _temp13(_temp12));
|
8884
9250
|
} catch (e) {
|
8885
9251
|
return Promise.reject(e);
|
8886
9252
|
}
|
@@ -8890,12 +9256,12 @@ var useTextbookDetail = function useTextbookDetail(props) {
|
|
8890
9256
|
setParentChapter(undefined);
|
8891
9257
|
};
|
8892
9258
|
var validateTextbook = function validateTextbook() {
|
8893
|
-
var _textbook$
|
9259
|
+
var _textbook$subject4;
|
8894
9260
|
if (!textbook.name.trim().length) {
|
8895
9261
|
toast.error(t('textbook_name_is_required'));
|
8896
9262
|
return false;
|
8897
9263
|
}
|
8898
|
-
if (!((_textbook$
|
9264
|
+
if (!((_textbook$subject4 = textbook.subject) !== null && _textbook$subject4 !== void 0 && _textbook$subject4.id)) {
|
8899
9265
|
toast.error(t('textbook_subject_is_required'));
|
8900
9266
|
return false;
|
8901
9267
|
}
|
@@ -8903,7 +9269,7 @@ var useTextbookDetail = function useTextbookDetail(props) {
|
|
8903
9269
|
};
|
8904
9270
|
var handleCreateOrUpdateTextbook = function handleCreateOrUpdateTextbook() {
|
8905
9271
|
try {
|
8906
|
-
var
|
9272
|
+
var _temp17 = function _temp17() {
|
8907
9273
|
dispatch(setLoading(false));
|
8908
9274
|
};
|
8909
9275
|
if (!textbook) return Promise.resolve();
|
@@ -8914,22 +9280,22 @@ var useTextbookDetail = function useTextbookDetail(props) {
|
|
8914
9280
|
return Promise.resolve();
|
8915
9281
|
}
|
8916
9282
|
dispatch(setLoading(true));
|
8917
|
-
var
|
8918
|
-
function
|
9283
|
+
var _temp16 = _catch(function () {
|
9284
|
+
function _temp15() {
|
8919
9285
|
toast.success(t(textbook.id ? "update_the_textbook_successfully" : "create_the_textbook_successfully"));
|
8920
9286
|
}
|
8921
|
-
var
|
9287
|
+
var _temp14 = function () {
|
8922
9288
|
if (textbook.id) {
|
8923
9289
|
var body = {
|
8924
9290
|
name: textbook.name
|
8925
9291
|
};
|
8926
|
-
return Promise.resolve(updateTextbookApi(textbook.id, body
|
9292
|
+
return Promise.resolve(updateTextbookApi(textbook.id, body)).then(function () {});
|
8927
9293
|
} else {
|
8928
9294
|
var _body = {
|
8929
9295
|
name: textbook.name,
|
8930
9296
|
subjectId: textbook.subject.id
|
8931
9297
|
};
|
8932
|
-
return Promise.resolve(createTextbookApi(_body
|
9298
|
+
return Promise.resolve(createTextbookApi(_body)).then(function (res) {
|
8933
9299
|
var textbookId = res.data.id;
|
8934
9300
|
navigate(textbookUrl + "/" + textbookId, {
|
8935
9301
|
replace: true
|
@@ -8937,11 +9303,11 @@ var useTextbookDetail = function useTextbookDetail(props) {
|
|
8937
9303
|
});
|
8938
9304
|
}
|
8939
9305
|
}();
|
8940
|
-
return
|
9306
|
+
return _temp14 && _temp14.then ? _temp14.then(_temp15) : _temp15(_temp14);
|
8941
9307
|
}, function (error) {
|
8942
9308
|
toast.error(getErrorMessage(t, error));
|
8943
9309
|
});
|
8944
|
-
return Promise.resolve(
|
9310
|
+
return Promise.resolve(_temp16 && _temp16.then ? _temp16.then(_temp17) : _temp17(_temp16));
|
8945
9311
|
} catch (e) {
|
8946
9312
|
return Promise.reject(e);
|
8947
9313
|
}
|
@@ -9007,12 +9373,12 @@ var useTextbookDetail = function useTextbookDetail(props) {
|
|
9007
9373
|
useEffect(function () {
|
9008
9374
|
var getTextbookDetail = function getTextbookDetail() {
|
9009
9375
|
try {
|
9010
|
-
var
|
9376
|
+
var _temp19 = function _temp19() {
|
9011
9377
|
dispatch(setLoading(false));
|
9012
9378
|
};
|
9013
9379
|
dispatch(setLoading(true));
|
9014
|
-
var
|
9015
|
-
return Promise.resolve(getTextbookByIdApi(+id
|
9380
|
+
var _temp18 = _catch(function () {
|
9381
|
+
return Promise.resolve(getTextbookByIdApi(+id)).then(function (res) {
|
9016
9382
|
setEditedTitle(false);
|
9017
9383
|
setTextbook(res.data);
|
9018
9384
|
setNotFound(false);
|
@@ -9021,7 +9387,7 @@ var useTextbookDetail = function useTextbookDetail(props) {
|
|
9021
9387
|
var _error$response;
|
9022
9388
|
if ((error === null || error === void 0 ? void 0 : (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.status) === 404) setNotFound(true);else toast.error(getErrorMessage(t, error));
|
9023
9389
|
});
|
9024
|
-
return Promise.resolve(
|
9390
|
+
return Promise.resolve(_temp18 && _temp18.then ? _temp18.then(_temp19) : _temp19(_temp18));
|
9025
9391
|
} catch (e) {
|
9026
9392
|
return Promise.reject(e);
|
9027
9393
|
}
|
@@ -9097,6 +9463,7 @@ var useTextbookDetail = function useTextbookDetail(props) {
|
|
9097
9463
|
articlesSelected: articlesSelected,
|
9098
9464
|
isOpenDialog: isOpenDialog,
|
9099
9465
|
examRequest: examRequest,
|
9466
|
+
categoryList: categoryList,
|
9100
9467
|
handleChangeExamRequest: handleChangeExamRequest,
|
9101
9468
|
handleCheckArticle: handleCheckArticle,
|
9102
9469
|
handleOpenCreateExamDialog: handleChangeExamRequestBeforeOpenDialog,
|
@@ -9531,27 +9898,6 @@ var DURATION_OPTIONS = Array.from({
|
|
9531
9898
|
});
|
9532
9899
|
var DEFAULT_ANSWER_COUNT$1 = 5;
|
9533
9900
|
|
9534
|
-
var ADMIN_CATEGORY_URL = SUPER_ADMIN_BASE_URL + "/api/category";
|
9535
|
-
var CATEGORY_URL = BASE_URL + "/api/examcategory";
|
9536
|
-
var getCategoryListAdminApi = function getCategoryListAdminApi(data) {
|
9537
|
-
try {
|
9538
|
-
return Promise.resolve(api.get("" + ADMIN_CATEGORY_URL, {
|
9539
|
-
params: data
|
9540
|
-
}));
|
9541
|
-
} catch (e) {
|
9542
|
-
return Promise.reject(e);
|
9543
|
-
}
|
9544
|
-
};
|
9545
|
-
var getCategoryListApi = function getCategoryListApi(data) {
|
9546
|
-
try {
|
9547
|
-
return Promise.resolve(api.get("" + CATEGORY_URL, {
|
9548
|
-
params: data
|
9549
|
-
}));
|
9550
|
-
} catch (e) {
|
9551
|
-
return Promise.reject(e);
|
9552
|
-
}
|
9553
|
-
};
|
9554
|
-
|
9555
9901
|
var useExamDetailView = function useExamDetailView(props) {
|
9556
9902
|
var exam = props.exam,
|
9557
9903
|
onChangeExam = props.onChangeExam;
|
@@ -9777,9 +10123,8 @@ var useExamDetailView = function useExamDetailView(props) {
|
|
9777
10123
|
}
|
9778
10124
|
};
|
9779
10125
|
useEffect(function () {
|
9780
|
-
if (categoryList !== null && categoryList !== void 0 && categoryList.length) return;
|
9781
10126
|
getCategoryList();
|
9782
|
-
}, [exam.subjectId
|
10127
|
+
}, [exam.subjectId]);
|
9783
10128
|
var examGroupByArticle = useMemo(function () {
|
9784
10129
|
if (!exam) return [];
|
9785
10130
|
var articles = [];
|
@@ -10012,6 +10357,7 @@ var TextbookViewDetail = function TextbookViewDetail(props) {
|
|
10012
10357
|
isEditedTitle = _useTextbookDetail.isEditedTitle,
|
10013
10358
|
isOpenDialog = _useTextbookDetail.isOpenDialog,
|
10014
10359
|
examRequest = _useTextbookDetail.examRequest,
|
10360
|
+
categoryList = _useTextbookDetail.categoryList,
|
10015
10361
|
handleChangeExamRequest = _useTextbookDetail.handleChangeExamRequest,
|
10016
10362
|
handleSaveExam = _useTextbookDetail.handleSaveExam,
|
10017
10363
|
handleCloseDialog = _useTextbookDetail.handleCloseDialog,
|
@@ -10041,7 +10387,7 @@ var TextbookViewDetail = function TextbookViewDetail(props) {
|
|
10041
10387
|
handleRemoveSelectedItem = _useTextbookDetail.handleRemoveSelectedItem,
|
10042
10388
|
handleOpenRemoveChapterConfirmDialog = _useTextbookDetail.handleOpenRemoveChapterConfirmDialog;
|
10043
10389
|
var _useCategorySelect = useCategorySelect({
|
10044
|
-
|
10390
|
+
categoryList: categoryList
|
10045
10391
|
}),
|
10046
10392
|
categoryOptions = _useCategorySelect.categoryOptions;
|
10047
10393
|
if (isNotFound) return React__default.createElement(NotFound, {
|
@@ -10404,7 +10750,7 @@ var useTextbookList = function useTextbookList(props) {
|
|
10404
10750
|
var role = props.role,
|
10405
10751
|
navigate = props.navigate;
|
10406
10752
|
var _useList = useList(function (search) {
|
10407
|
-
return getTextbookListApi(search
|
10753
|
+
return getTextbookListApi(search);
|
10408
10754
|
}, TextbookDefaultQuery),
|
10409
10755
|
filter = _useList.filter,
|
10410
10756
|
textSearchRef = _useList.textSearchRef,
|
@@ -10450,7 +10796,7 @@ var useTextbookList = function useTextbookList(props) {
|
|
10450
10796
|
if (!(selectedTextbook !== null && selectedTextbook !== void 0 && selectedTextbook.id)) return Promise.resolve();
|
10451
10797
|
dispatch(setLoading(true));
|
10452
10798
|
var _temp = _catch(function () {
|
10453
|
-
return Promise.resolve(deleteTextbookApi(selectedTextbook.id
|
10799
|
+
return Promise.resolve(deleteTextbookApi(selectedTextbook.id)).then(function () {
|
10454
10800
|
return Promise.resolve(getData(false)).then(function () {
|
10455
10801
|
toggleConfirmDialog();
|
10456
10802
|
});
|
@@ -11627,23 +11973,11 @@ var getRecentUserActionListApi = function getRecentUserActionListApi(query) {
|
|
11627
11973
|
params: _extends({}, query)
|
11628
11974
|
});
|
11629
11975
|
};
|
11630
|
-
var createRecentUserActionListApi = function createRecentUserActionListApi(
|
11631
|
-
|
11632
|
-
action = _ref.action,
|
11633
|
-
data = _ref.data,
|
11634
|
-
roles = _ref.roles;
|
11635
|
-
return api.post("" + RECENT_USER_URL, {
|
11636
|
-
userId: userId,
|
11637
|
-
action: action,
|
11638
|
-
data: data
|
11639
|
-
}, {
|
11640
|
-
params: {
|
11641
|
-
roles: roles
|
11642
|
-
}
|
11643
|
-
});
|
11976
|
+
var createRecentUserActionListApi = function createRecentUserActionListApi(recentData) {
|
11977
|
+
return api.post("" + RECENT_USER_URL, recentData);
|
11644
11978
|
};
|
11645
11979
|
|
11646
|
-
var styles$4 = {"lighter":"#F0FFF6","light":"#89F0B2","less_dark":"#3DC674","dark":"#349056","darker":"#18442A","gray_50":"#FBFBF9","gray_100":"#EAEAE5","gray_300":"#D0D0C8","gray_500":"#9A9A98","gray_700":"#5D5D5B","gray_900":"#363634","red_900":"#DB4D4D","green_support_900":"#3ACB46","yellow_900":"#FEAF06","purple_900":"#C3099A","titleBox":"_1dveO","title":"_mxRxf","point":"_2fD-F","buttonGroup":"_2DGl3","btnFeedback":"_xGW1x","btnTerminate":"_3mLu2","myanswer":"_eDBpS","titleMyAnswer1":"_2fMq3","titleMyAnswer2":"_3gEYh","contentMyAnswer":"_2K_sx","myAnswerItem":"_2qiLh","time":"_6TCOK","timeCol":"_hmseC","answer-response":"_3GfJt","answer-response-0":"_3ut64","answer-response-1":"_2VtpD","answer-response-2":"_58lQU","answer-response-3":"_1ucMY","answer-response-4":"_1qkxy","answerCorrect":"_2jIeT","answerIncorrect":"_to2v0","answerNograss":"_1JSte","answerEasy":"_2_uTU","answerDiscrimination":"_1DBoA","answerTrap":"_1q3tD","answerNoTime":"_3iItu","questionOrder":"_1fNkS","myTimeLabel":"_1Z_F3","myPoolTime":"_4KwG0","topTimeLabel":"_245H-","topTime":"_3tZqw","meanTimeLabel":"_PlPLY","meanTime":"_12a7R","compareChart":"_3MW16","prevChart":"_1fNkb","chart":"_3K4oY","nextChart":"_3YKBp","titleChart":"_13BVP","titleCompareGrass":"_o1txm","tableCompareGrass":"_bT5nf","thcolumn1":"_3Umg0","tdcolumn1":"_3dRMF","tdcolumn3":"_2tcBP","classification":"_1AFeb","wrapperProblem":"_oTqG7","titleProblem":"_35eIx","titleProblemClose":"_3t4HO","titleTrickyProblem":"_1-oxK","wrongQuestions":"_2dpMR","question":"_1lSOX","assignedQuestions":"_1ONUt","wrapperContent":"_nPoR0","content":"_2zmZn","contentColumn1":"_334SY","span1":"_3Lf-U","span2":"_ZpMot","contentColumn2":"_16P3l","duration":"_1kT28","topDuration":"_1fVRi","overallCorrectRate":"_3jLGe","answer":"_VsZ0K","contentVulnerable":"_QxKMy","wrappContentProblem":"_nnqpW","contentProblem":"_3Z1nV","labelProblem":"_36Xpx","name":"_3ZJQW","percent":"_2J3MK","slider":"_1MPdO","track":"_3CV_y","noData":"__g-ff","loading":"_3j485","table-responsive":"_2O6RX","form-label":"_1RYOQ","form-control":"_3VRVT","form-label-dialog":"_3oCSh","btn-cancel":"_3USKq","btn-register":"_3y_iD","pdfBtnBox":"_3xZHo","pdfBtn":"_1DtWq","form-select":"_1a_vw","loader":"_2uC7T","dot":"_Xz-Mr","bounce":"_3THgz"};
|
11980
|
+
var styles$4 = {"lighter":"#F0FFF6","light":"#89F0B2","less_dark":"#3DC674","dark":"#349056","darker":"#18442A","gray_50":"#FBFBF9","gray_100":"#EAEAE5","gray_300":"#D0D0C8","gray_500":"#9A9A98","gray_700":"#5D5D5B","gray_900":"#363634","red_900":"#DB4D4D","green_support_900":"#3ACB46","yellow_900":"#FEAF06","purple_900":"#C3099A","titleBox":"_1dveO","title":"_mxRxf","point":"_2fD-F","buttonGroup":"_2DGl3","btnFeedback":"_xGW1x","btnTerminate":"_3mLu2","myanswer":"_eDBpS","titleMyAnswer1":"_2fMq3","titleMyAnswer2":"_3gEYh","contentMyAnswer":"_2K_sx","myAnswerItem":"_2qiLh","time":"_6TCOK","timeCol":"_hmseC","answer-response":"_3GfJt","answer-response-0":"_3ut64","answer-response-1":"_2VtpD","answer-response-2":"_58lQU","answer-response-3":"_1ucMY","answer-response-4":"_1qkxy","overall-response-1":"_1AeGu","overall-response-2":"_1xTB0","overall-response-3":"_3Yu_5","answerCorrect":"_2jIeT","answerIncorrect":"_to2v0","answerNograss":"_1JSte","answerEasy":"_2_uTU","answerDiscrimination":"_1DBoA","answerTrap":"_1q3tD","answerNoTime":"_3iItu","questionOrder":"_1fNkS","myTimeLabel":"_1Z_F3","myPoolTime":"_4KwG0","topTimeLabel":"_245H-","topTime":"_3tZqw","meanTimeLabel":"_PlPLY","meanTime":"_12a7R","compareChart":"_3MW16","prevChart":"_1fNkb","chart":"_3K4oY","nextChart":"_3YKBp","titleChart":"_13BVP","titleCompareGrass":"_o1txm","tableCompareGrass":"_bT5nf","thcolumn1":"_3Umg0","tdcolumn1":"_3dRMF","tdcolumn3":"_2tcBP","classification":"_1AFeb","wrapperProblem":"_oTqG7","titleProblem":"_35eIx","titleProblemClose":"_3t4HO","titleTrickyProblem":"_1-oxK","wrongQuestions":"_2dpMR","question":"_1lSOX","assignedQuestions":"_1ONUt","wrapperContent":"_nPoR0","content":"_2zmZn","contentColumn1":"_334SY","span1":"_3Lf-U","span2":"_ZpMot","contentColumn2":"_16P3l","duration":"_1kT28","topDuration":"_1fVRi","overallCorrectRate":"_3jLGe","answer":"_VsZ0K","contentVulnerable":"_QxKMy","wrappContentProblem":"_nnqpW","contentProblem":"_3Z1nV","labelProblem":"_36Xpx","name":"_3ZJQW","percent":"_2J3MK","slider":"_1MPdO","track":"_3CV_y","noData":"__g-ff","loading":"_3j485","table-responsive":"_2O6RX","form-label":"_1RYOQ","form-control":"_3VRVT","form-label-dialog":"_3oCSh","btn-cancel":"_3USKq","btn-register":"_3y_iD","pdfBtnBox":"_3xZHo","pdfBtn":"_1DtWq","form-select":"_1a_vw","loader":"_2uC7T","dot":"_Xz-Mr","bounce":"_3THgz"};
|
11647
11981
|
|
11648
11982
|
var useExamResult = function useExamResult(props) {
|
11649
11983
|
var _allSeries$dataChartI;
|
@@ -11663,6 +11997,7 @@ var useExamResult = function useExamResult(props) {
|
|
11663
11997
|
});
|
11664
11998
|
var roles = (user === null || user === void 0 ? void 0 : user.roles) || [];
|
11665
11999
|
var isStudent = roles === null || roles === void 0 ? void 0 : roles.includes(Role.Student);
|
12000
|
+
var isAdmin = roles === null || roles === void 0 ? void 0 : roles.includes(Role.Admin);
|
11666
12001
|
var examCode = query.get("examCode") || code;
|
11667
12002
|
var language = useSelector(function (state) {
|
11668
12003
|
var _state$common2;
|
@@ -11749,12 +12084,12 @@ var useExamResult = function useExamResult(props) {
|
|
11749
12084
|
userId: studentId,
|
11750
12085
|
action: isPrint ? RecentUserAction$1.PrintedExamResult : RecentUserAction$1.ViewedExamResult,
|
11751
12086
|
data: "" + examSessionId,
|
11752
|
-
|
12087
|
+
isAdmin: isAdmin
|
11753
12088
|
})) : Promise.resolve(!isStudent && createRecentUserActionListApi({
|
11754
12089
|
userId: studentId,
|
11755
12090
|
action: isPrint ? RecentUserAction$1.PrintedExamResult : RecentUserAction$1.ViewedExamResult,
|
11756
12091
|
data: "" + examSessionId,
|
11757
|
-
|
12092
|
+
isAdmin: isAdmin
|
11758
12093
|
})).then(_temp3);
|
11759
12094
|
});
|
11760
12095
|
}, function (error) {
|
@@ -13512,6 +13847,9 @@ function MyAnswer(_ref) {
|
|
13512
13847
|
if (diff > 0) prefix = "+";
|
13513
13848
|
return "" + prefix + formatTimeSecond(Math.abs(diff), t);
|
13514
13849
|
};
|
13850
|
+
var getOverallColorClassName = function getOverallColorClassName(correctRate) {
|
13851
|
+
return styles$4["overall-response-" + (correctRate < 40 ? 1 : correctRate <= 70 ? 2 : 3)];
|
13852
|
+
};
|
13515
13853
|
var renderQuestions = function renderQuestions(questions) {
|
13516
13854
|
return questions.map(function (question, index) {
|
13517
13855
|
var _questions;
|
@@ -13594,7 +13932,7 @@ function MyAnswer(_ref) {
|
|
13594
13932
|
style: {
|
13595
13933
|
margin: 0
|
13596
13934
|
},
|
13597
|
-
className: styles$4["answer-response"] + " " +
|
13935
|
+
className: styles$4["answer-response"] + " " + getOverallColorClassName(question.overallCorrectRate)
|
13598
13936
|
}, question.overallCorrectRate.toFixed(2) + "%") : React__default.createElement("p", {
|
13599
13937
|
style: {
|
13600
13938
|
margin: 0
|
@@ -15409,29 +15747,6 @@ var times = {
|
|
15409
15747
|
getRemainTime: getRemainTime
|
15410
15748
|
};
|
15411
15749
|
|
15412
|
-
var SIGN_IN_SUPER_ADMIN_URL = SUPER_ADMIN_BASE_URL + "/api/auth/login";
|
15413
|
-
var SIGN_IN_URL = BASE_URL + "/api/auth/login";
|
15414
|
-
var signInApi = function signInApi(_ref) {
|
15415
|
-
var email = _ref.email,
|
15416
|
-
password = _ref.password,
|
15417
|
-
role = _ref.role;
|
15418
|
-
return api.post(SIGN_IN_URL + "/demo", {
|
15419
|
-
email: email,
|
15420
|
-
password: password,
|
15421
|
-
role: role
|
15422
|
-
});
|
15423
|
-
};
|
15424
|
-
var signInSuperAdminApi = function signInSuperAdminApi(_ref2) {
|
15425
|
-
var email = _ref2.email,
|
15426
|
-
password = _ref2.password,
|
15427
|
-
role = _ref2.role;
|
15428
|
-
return api.post(SIGN_IN_SUPER_ADMIN_URL + "/demo", {
|
15429
|
-
email: email,
|
15430
|
-
password: password,
|
15431
|
-
role: role
|
15432
|
-
});
|
15433
|
-
};
|
15434
|
-
|
15435
15750
|
var PAGE_TITLE$2 = "sign_in";
|
15436
15751
|
var useLogin$2 = function useLogin(_ref) {
|
15437
15752
|
var history = _ref.history,
|
@@ -17089,5 +17404,85 @@ var PrintExamView2 = function PrintExamView2(_ref) {
|
|
17089
17404
|
}, t("print_pdf"))));
|
17090
17405
|
};
|
17091
17406
|
|
17092
|
-
|
17407
|
+
var urlSafeFormat = function urlSafeFormat(text) {
|
17408
|
+
return text.replaceAll(' ', "+");
|
17409
|
+
};
|
17410
|
+
|
17411
|
+
var useLoginWithEmail = function useLoginWithEmail(_ref) {
|
17412
|
+
var history = _ref.history,
|
17413
|
+
homeAcademyUrl = _ref.homeAcademyUrl,
|
17414
|
+
homeUrl = _ref.homeUrl,
|
17415
|
+
registerUrl = _ref.registerUrl,
|
17416
|
+
role = _ref.role;
|
17417
|
+
var _useLocation = useLocation(),
|
17418
|
+
searchLocation = _useLocation.search;
|
17419
|
+
var _useTranslation = useTranslation(),
|
17420
|
+
t = _useTranslation.t;
|
17421
|
+
var searchParams = new URLSearchParams(searchLocation);
|
17422
|
+
var key = urlSafeFormat(searchParams.get("key") || "");
|
17423
|
+
var dispatch = useDispatch();
|
17424
|
+
var paramDomain = searchParams.get("domain");
|
17425
|
+
var academyDomainStorage = getAcademyDomain();
|
17426
|
+
var academyDomain = paramDomain || academyDomainStorage || "";
|
17427
|
+
var handleSignIn = function handleSignIn() {
|
17428
|
+
try {
|
17429
|
+
var _temp2 = function _temp2() {
|
17430
|
+
dispatch(setLoading(false));
|
17431
|
+
};
|
17432
|
+
dispatch(setLoading(true));
|
17433
|
+
var _temp = _catch(function () {
|
17434
|
+
return Promise.resolve(signInWithKeyApi({
|
17435
|
+
academyDomain: academyDomain,
|
17436
|
+
key: key,
|
17437
|
+
role: role
|
17438
|
+
})).then(function (res) {
|
17439
|
+
var loginResponse = res === null || res === void 0 ? void 0 : res.data;
|
17440
|
+
var isFirstLogin = loginResponse.isFirstLogin,
|
17441
|
+
token = loginResponse.token,
|
17442
|
+
user = loginResponse.user;
|
17443
|
+
var isAcademy = !!(user !== null && user !== void 0 && user.academyDomain);
|
17444
|
+
var needToRegister = isFirstLogin && isAcademy;
|
17445
|
+
var redirectUrl = needToRegister ? registerUrl : isAcademy ? homeAcademyUrl : homeUrl;
|
17446
|
+
redirectLoginUser(user, token, redirectUrl);
|
17447
|
+
});
|
17448
|
+
}, function (error) {
|
17449
|
+
console.log(error);
|
17450
|
+
toast.error(getErrorMessage(t, error, t("request_login_fail")));
|
17451
|
+
});
|
17452
|
+
return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
|
17453
|
+
} catch (e) {
|
17454
|
+
return Promise.reject(e);
|
17455
|
+
}
|
17456
|
+
};
|
17457
|
+
var redirectLoginUser = function redirectLoginUser(data, token, redirectUrl) {
|
17458
|
+
localStorage.setItem(ACCESS_TOKEN, token);
|
17459
|
+
!data.academyDomain && localStorage.removeItem(ACADEMY_DOMAIN);
|
17460
|
+
!!data.academyDomain && localStorage.setItem(ACADEMY_DOMAIN, data.academyDomain);
|
17461
|
+
dispatch(setUser(_extends({}, data)));
|
17462
|
+
if (redirectUrl) pushTo(history, redirectUrl);
|
17463
|
+
};
|
17464
|
+
useEffect(function () {
|
17465
|
+
if (!key) return;
|
17466
|
+
handleSignIn();
|
17467
|
+
});
|
17468
|
+
return {};
|
17469
|
+
};
|
17470
|
+
|
17471
|
+
var LoginWithEmail = function LoginWithEmail(_ref) {
|
17472
|
+
var history = _ref.history,
|
17473
|
+
homeAcademyUrl = _ref.homeAcademyUrl,
|
17474
|
+
homeUrl = _ref.homeUrl,
|
17475
|
+
registerUrl = _ref.registerUrl,
|
17476
|
+
role = _ref.role;
|
17477
|
+
useLoginWithEmail({
|
17478
|
+
history: history,
|
17479
|
+
homeAcademyUrl: homeAcademyUrl,
|
17480
|
+
homeUrl: homeUrl,
|
17481
|
+
registerUrl: registerUrl,
|
17482
|
+
role: role
|
17483
|
+
});
|
17484
|
+
return React__default.createElement(Loading, null);
|
17485
|
+
};
|
17486
|
+
|
17487
|
+
export { ACADEMY_DOMAIN, ACCESS_TOKEN, AcademyHeaders, AcademyList, AnswerCountSelector, ArticleCategorySelector, ArticleGroupView, BASE_URL, ChatContainer, ChatItemType, types as ChatTypes, CommonDialog, ConfirmDialog, index$1 as CoreHooks, CustomAsyncSelect, CustomCreatable, CustomPagination, CustomSelect, CustomSelectOption, DATE_MIN_VALUE, DATE_TIME_MIN_VALUE, DEFAULT_PAGING_RESPONSE, DefaultErrorMessage, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, index as Enums, ExamDetailView, ExamEvent, ExamResultV2, Header, InputText, LANGUAGES, Language, LayoutContext, Loading, LoadingComponent, Login, LoginWithEmail, SignIn as LoginWithPassword, NotFound, PUSHER_CONFIG, PassCodeCheck, PrintExamResultView, PrintExamView2, QuestionCountSelector, RecentUserAction, Role, SUPER_ADMIN_BASE_URL, ScoreSelector, SubjectSelector, index$2 as Textbook, TextbookViewDetail as TextbookDetail, TextbookList, TheAcademyDropdown, TheLanguageDropdown, index$3 as Types, api, apiUpload, canAccess as canAccessRoute, checkSuperUrl, createRecentUserActionListApi, diffFromNow, formatTime, getAcademyDomain, getAccessToken, getErrorMessage, getOrdinalSuffix, getRecentUserActionListApi, i18n, minutesToTimeSpan, setAlert, setLanguage, setLoading, setReFetchUserAcademies, setReadyRegisterPusher, setUser, store, times as timeUtils, toISOString, useAutoAcademyDomain, useCategorySelect, useChatContainer, useCountDownTimer, useGoogleSignOut, useLanguage, useLoadMore, useLogin, usePusherConversation, useSubjectSelect, useSwitchAcademy, useVirtualizeList, utcToLocalTime };
|
17093
17488
|
//# sourceMappingURL=index.modern.js.map
|