touchstudy-core 0.1.18 → 0.1.19
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/assets/iconAssignedQuestions.d.ts +3 -0
- package/dist/assets/iconBtnFeedback.d.ts +3 -0
- package/dist/assets/iconBtnNextChart.d.ts +3 -0
- package/dist/assets/iconBtnPrevChart.d.ts +3 -0
- package/dist/assets/iconBtnTerminate.d.ts +3 -0
- package/dist/assets/iconChat.d.ts +3 -0
- package/dist/assets/iconCloseDialog.d.ts +3 -0
- package/dist/assets/iconCorrectAnswer.d.ts +3 -0
- package/dist/assets/iconDownArrow.d.ts +3 -0
- package/dist/assets/iconInCorrectAnswer.d.ts +3 -0
- package/dist/assets/iconMeanTime.d.ts +3 -0
- package/dist/assets/iconMyPoolTime.d.ts +3 -0
- package/dist/assets/iconNoGrass.d.ts +3 -0
- package/dist/assets/iconNoStarQuestion.d.ts +3 -0
- package/dist/assets/iconStarQuestion.d.ts +3 -0
- package/dist/assets/iconTopTime.d.ts +3 -0
- package/dist/assets/iconUpArrow.d.ts +3 -0
- package/dist/assets/iconWarning.d.ts +3 -0
- package/dist/assets/iconX.d.ts +3 -0
- package/dist/components/Dialogs/CommonDialog.d.ts +3 -3
- package/dist/components/Dialogs/ConfirmDialog.d.ts +1 -0
- package/dist/components/Inputs/InputText.d.ts +4 -0
- package/dist/components/Selectors/AnswerCountSelector.d.ts +9 -0
- package/dist/components/Selectors/ArticleCategorySelector.d.ts +11 -0
- package/dist/components/Selectors/QuestionCountSelector.d.ts +9 -0
- package/dist/components/Selectors/ScoreSelector.d.ts +9 -0
- package/dist/components/Selectors/configs/constants.d.ts +4 -0
- package/dist/containers/ExamResult/apiClients/index.d.ts +12 -0
- package/dist/containers/ExamResult/components/CompareGrass/index.d.ts +5 -0
- package/dist/containers/ExamResult/components/Dialog/CreateNewQuestion.d.ts +9 -0
- package/dist/containers/ExamResult/components/GradesByTerritory/index.d.ts +12 -0
- package/dist/containers/ExamResult/components/MyAnswer/components/CreateNewQuestion.d.ts +12 -0
- package/dist/containers/ExamResult/components/MyAnswer/hooks/useCreateDialog.d.ts +10 -0
- package/dist/containers/ExamResult/components/MyAnswer/hooks/useMyAnswer.d.ts +10 -0
- package/dist/containers/ExamResult/components/MyAnswer/index.d.ts +9 -0
- package/dist/containers/ExamResult/components/ProtractedProblem/index.d.ts +12 -0
- package/dist/containers/ExamResult/components/TrickyProblem/index.d.ts +12 -0
- package/dist/containers/ExamResult/components/Vulnerable/index.d.ts +12 -0
- package/dist/containers/ExamResult/configs/constants.d.ts +19 -0
- package/dist/containers/ExamResult/configs/functions.d.ts +1 -0
- package/dist/containers/ExamResult/configs/types.d.ts +95 -0
- package/dist/containers/ExamResult/hooks/useCreateDialog.d.ts +9 -0
- package/dist/containers/ExamResult/hooks/useExamResult.d.ts +109 -0
- package/dist/containers/ExamResult/views/ExamResultV2.d.ts +7 -0
- package/dist/containers/Exams/components/ArticleGroupView.d.ts +5 -1
- package/dist/containers/Exams/components/QuestionView.d.ts +1 -1
- package/dist/containers/Exams/configs/constants.d.ts +0 -4
- package/dist/containers/Exams/configs/interfaces.d.ts +1 -2
- package/dist/containers/Exams/configs/types.d.ts +1 -0
- package/dist/containers/Exams/hooks/useExamDetailView.d.ts +2 -0
- package/dist/containers/Select/Category/apiClient/categoryService.d.ts +3 -0
- package/dist/containers/Select/Category/configs/types.d.ts +17 -0
- package/dist/containers/Select/Category/hook/useCategorySelect.d.ts +15 -0
- package/dist/containers/Select/Subject/apiClient/subjectService.d.ts +2 -0
- package/dist/containers/Select/Subject/configs/types.d.ts +9 -0
- package/dist/containers/Select/Subject/hook/useSubjectSelect.d.ts +12 -0
- package/dist/index.css +496 -3
- package/dist/index.d.ts +13 -3
- package/dist/index.js +4510 -410
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +4506 -416
- package/dist/index.modern.js.map +1 -1
- package/dist/utils/constants.d.ts +5 -0
- package/dist/utils/enums/index.d.ts +2 -0
- package/dist/utils/enums/order.d.ts +4 -0
- package/dist/utils/helpers.d.ts +8 -0
- package/dist/utils/hooks/index.d.ts +2 -1
- package/dist/utils/hooks/useList.d.ts +17 -0
- package/dist/utils/types/index.d.ts +3 -0
- package/dist/utils/types/searchQuery.d.ts +8 -0
- package/dist/utils/types/tableHeaderType.d.ts +4 -0
- package/package.json +4 -4
- package/dist/components/Alerts/CommonAlert.d.ts +0 -3
- package/dist/components/Alerts/EmptyDataAlert.d.ts +0 -8
- package/dist/components/Chats/hooks/useConversationList.d.ts +0 -20
- package/dist/utils/useGoogleSignOut.d.ts +0 -10
- package/dist/utils/useLanguage.d.ts +0 -12
@@ -1,12 +1,12 @@
|
|
1
1
|
import { FC, PropsWithChildren } from "react";
|
2
|
+
import { DialogProps } from "@mui/material";
|
2
3
|
interface Props {
|
3
4
|
open: boolean;
|
4
5
|
onClose: () => void;
|
5
|
-
centered?: boolean;
|
6
6
|
title: string;
|
7
|
-
size?: "
|
8
|
-
backdrop?: boolean | "static";
|
7
|
+
size?: DialogProps["maxWidth"];
|
9
8
|
isShowHeader?: boolean;
|
9
|
+
titleClassName?: string;
|
10
10
|
}
|
11
11
|
declare const CommonDialog: FC<Props & PropsWithChildren>;
|
12
12
|
export default CommonDialog;
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { FC } from "react";
|
2
|
+
interface Props {
|
3
|
+
id?: string;
|
4
|
+
value?: number;
|
5
|
+
onChange: Function;
|
6
|
+
isDisabled?: boolean;
|
7
|
+
options?: any[];
|
8
|
+
placeholder?: string;
|
9
|
+
}
|
10
|
+
declare const ArticleCategorySelector: FC<Props>;
|
11
|
+
export default ArticleCategorySelector;
|
@@ -0,0 +1,12 @@
|
|
1
|
+
export declare const getResults: (code: string) => Promise<import("axios").AxiosResponse<any, any>>;
|
2
|
+
export declare const getResultsLongTimeSpend: (code: string) => Promise<import("axios").AxiosResponse<any, any>>;
|
3
|
+
export declare const getResultsEffectSize: (code: string) => Promise<import("axios").AxiosResponse<any, any>>;
|
4
|
+
export declare const getResultsTimeOrderQuestion: (code: string) => Promise<import("axios").AxiosResponse<any, any>>;
|
5
|
+
export declare const getResultsCategories: (code: string) => Promise<import("axios").AxiosResponse<any, any>>;
|
6
|
+
export declare const getResultsTeacher: (id: string, studentId: string) => Promise<import("axios").AxiosResponse<any, any>>;
|
7
|
+
export declare const getResultsLongTimeSpendTeacher: (id: string, studentId: string) => Promise<import("axios").AxiosResponse<any, any>>;
|
8
|
+
export declare const getResultsEffectSizeTeacher: (id: string, studentId: string) => Promise<import("axios").AxiosResponse<any, any>>;
|
9
|
+
export declare const getResultsTimeOrderQuestionTeacher: (id: string, studentId: string) => Promise<import("axios").AxiosResponse<any, any>>;
|
10
|
+
export declare const getResultsCategoriesTeacher: (id: string, studentId: string) => Promise<import("axios").AxiosResponse<any, any>>;
|
11
|
+
export declare const createConversationApi: (data: any) => Promise<import("axios").AxiosResponse<any, any>>;
|
12
|
+
export declare const getCheckStatusExam: (examCode?: string | undefined) => Promise<import("axios").AxiosResponse<any, any>>;
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
declare type Props = {
|
3
|
+
openCreateQuestionDialog: boolean;
|
4
|
+
toggleCreateQuestion: () => void;
|
5
|
+
handleCreateQuestion: any;
|
6
|
+
examSessionId: number;
|
7
|
+
};
|
8
|
+
export default function CreateNewQuestionDialog({ handleCreateQuestion, openCreateQuestionDialog, toggleCreateQuestion, examSessionId }: Props): React.JSX.Element;
|
9
|
+
export {};
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { CategoryResponse } from "../../configs/types";
|
3
|
+
export default function GradesByTerritory({ data, openProblem, changeOpen, }: {
|
4
|
+
data: CategoryResponse[];
|
5
|
+
openProblem: {
|
6
|
+
problem1: boolean;
|
7
|
+
problem2: boolean;
|
8
|
+
problem3: boolean;
|
9
|
+
problem4: boolean;
|
10
|
+
};
|
11
|
+
changeOpen: any;
|
12
|
+
}): React.JSX.Element;
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { Question } from '../../../configs/types';
|
3
|
+
declare type Props = {
|
4
|
+
openCreateQuestionDialog: boolean;
|
5
|
+
toggleCreateQuestion: () => void;
|
6
|
+
handleCreateQuestion: any;
|
7
|
+
questionOrderSelected?: number;
|
8
|
+
examSessionId: number;
|
9
|
+
questions: Array<Question>;
|
10
|
+
};
|
11
|
+
export default function CreateNewQuestionDialog({ handleCreateQuestion, openCreateQuestionDialog, toggleCreateQuestion, examSessionId, questionOrderSelected, questions }: Props): React.JSX.Element;
|
12
|
+
export {};
|
@@ -0,0 +1,10 @@
|
|
1
|
+
declare const useCreateQuestionDialog: () => {
|
2
|
+
openCreateQuestionDialog: boolean;
|
3
|
+
toggleCreateQuestion: () => void;
|
4
|
+
handleCreateQuestion: ({ content, examSessionId, questionId }: {
|
5
|
+
content: string;
|
6
|
+
examSessionId: number;
|
7
|
+
questionId: number;
|
8
|
+
}) => Promise<void>;
|
9
|
+
};
|
10
|
+
export default useCreateQuestionDialog;
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { Question } from "../../../configs/types";
|
2
|
+
declare const useMyAnswer: () => {
|
3
|
+
isOpenTime: {
|
4
|
+
[key: number]: boolean;
|
5
|
+
};
|
6
|
+
handleOpenCompareTime: (question: Question) => void;
|
7
|
+
handleSelectQuestionOrder: (id: number) => void;
|
8
|
+
questionOrderSelected: number | undefined;
|
9
|
+
};
|
10
|
+
export default useMyAnswer;
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { CategoryResponse, ExamResult } from "../../configs/types";
|
3
|
+
interface Props {
|
4
|
+
data: ExamResult;
|
5
|
+
categories: CategoryResponse[];
|
6
|
+
isStudent: boolean;
|
7
|
+
}
|
8
|
+
export default function MyAnswer({ data, categories, isStudent }: Props): React.JSX.Element;
|
9
|
+
export {};
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { LongTimeSpendQuestion } from "../../configs/types";
|
3
|
+
export default function ProtractedProblem({ data, openProblem, changeOpen, }: {
|
4
|
+
data: LongTimeSpendQuestion[];
|
5
|
+
openProblem: {
|
6
|
+
problem1: boolean;
|
7
|
+
problem2: boolean;
|
8
|
+
problem3: boolean;
|
9
|
+
problem4: boolean;
|
10
|
+
};
|
11
|
+
changeOpen: any;
|
12
|
+
}): React.JSX.Element;
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { ExamResult } from "../../configs/types";
|
3
|
+
export default function TrickyProblem({ data, openProblem, changeOpen, }: {
|
4
|
+
data: ExamResult;
|
5
|
+
openProblem: {
|
6
|
+
problem1: boolean;
|
7
|
+
problem2: boolean;
|
8
|
+
problem3: boolean;
|
9
|
+
problem4: boolean;
|
10
|
+
};
|
11
|
+
changeOpen: any;
|
12
|
+
}): React.JSX.Element;
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { ExamResult } from "../../configs/types";
|
3
|
+
export default function Vulnerable({ data, openProblem, changeOpen, }: {
|
4
|
+
data: ExamResult;
|
5
|
+
openProblem: {
|
6
|
+
problem1: boolean;
|
7
|
+
problem2: boolean;
|
8
|
+
problem3: boolean;
|
9
|
+
problem4: boolean;
|
10
|
+
};
|
11
|
+
changeOpen: any;
|
12
|
+
}): React.JSX.Element;
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { EffectSize, ExamResult, LongTimeSpendQuestion, TimelyOrderQuestion } from "./types";
|
2
|
+
export declare const ORDER_NUMBERS: any;
|
3
|
+
export declare enum Roles {
|
4
|
+
Student = "Student",
|
5
|
+
Teacher = "Teacher",
|
6
|
+
Admin = "Admin"
|
7
|
+
}
|
8
|
+
export declare const EXAM_RESULT: ExamResult;
|
9
|
+
export declare const LONGTIME_SPEND_QUESTIONS: LongTimeSpendQuestion[];
|
10
|
+
export declare const EFFECT_SIZE_QUESTIONS: EffectSize[];
|
11
|
+
export declare const TIMELY_ORDER_QUESTIONS: TimelyOrderQuestion[];
|
12
|
+
export declare const CATEGORY_RESPONSES: {
|
13
|
+
id: number;
|
14
|
+
name: string;
|
15
|
+
totalQuestions: number;
|
16
|
+
totalCorrectQuestions: number;
|
17
|
+
totalAnsweredQuestions: number;
|
18
|
+
percentageAmongStudents: number;
|
19
|
+
}[];
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const toNumberOrder: (value: number) => string;
|
@@ -0,0 +1,95 @@
|
|
1
|
+
import { AnswerResponseSignal } from "../../Exam/config/types";
|
2
|
+
export declare type Category = {
|
3
|
+
id: number;
|
4
|
+
name: string;
|
5
|
+
numberOfChildren?: number;
|
6
|
+
numberOfQuestions?: number;
|
7
|
+
parentCategoryId?: number | null;
|
8
|
+
path?: string;
|
9
|
+
};
|
10
|
+
export declare type Question = {
|
11
|
+
answerResponseSignal: AnswerResponseSignal | null;
|
12
|
+
answerTime: string;
|
13
|
+
article: number;
|
14
|
+
category: Category;
|
15
|
+
classAverageTime: any;
|
16
|
+
correctAnswers: string;
|
17
|
+
duration: any;
|
18
|
+
id: number;
|
19
|
+
isCorrect: boolean;
|
20
|
+
isStar: boolean;
|
21
|
+
overallCorrectRate: number;
|
22
|
+
selectedAnswers: string;
|
23
|
+
topDuration?: number | null;
|
24
|
+
questionOrder: number;
|
25
|
+
};
|
26
|
+
export declare type CategoryResponse = {
|
27
|
+
id: number;
|
28
|
+
name: string;
|
29
|
+
totalQuestions: number;
|
30
|
+
totalCorrectQuestions: number;
|
31
|
+
totalAnsweredQuestions: number;
|
32
|
+
percentageAmongStudents: number;
|
33
|
+
};
|
34
|
+
export declare type Student = {
|
35
|
+
avatar: string;
|
36
|
+
className: string;
|
37
|
+
email: string;
|
38
|
+
id: number;
|
39
|
+
major: string;
|
40
|
+
parentName: string;
|
41
|
+
parentPhoneNumber: string;
|
42
|
+
phoneNumber: string;
|
43
|
+
roles: string[];
|
44
|
+
schoolName: string;
|
45
|
+
};
|
46
|
+
export declare type ExamResult = {
|
47
|
+
description: string;
|
48
|
+
duration: string;
|
49
|
+
finishTime: string;
|
50
|
+
id: number;
|
51
|
+
examSessionId: number;
|
52
|
+
image: string;
|
53
|
+
placeOrder: 1;
|
54
|
+
questions: Question[];
|
55
|
+
score: number;
|
56
|
+
startTime: string;
|
57
|
+
status: number;
|
58
|
+
student: Student;
|
59
|
+
teacherAvatar: string;
|
60
|
+
teacherId: number;
|
61
|
+
teacherName: string;
|
62
|
+
title: string;
|
63
|
+
totalStudent: number;
|
64
|
+
totalTime: any;
|
65
|
+
type: string;
|
66
|
+
};
|
67
|
+
export declare type EffectSize = {
|
68
|
+
id: number;
|
69
|
+
questionOrder: number;
|
70
|
+
article: number;
|
71
|
+
isCorrect: boolean;
|
72
|
+
selectedAnswers: string;
|
73
|
+
correctAnswers: string;
|
74
|
+
answerResponseSignal: number | null;
|
75
|
+
problemCategories: number[];
|
76
|
+
mostSelectedAnswers: string;
|
77
|
+
};
|
78
|
+
export declare type OrderQuestion = {
|
79
|
+
questionId: number;
|
80
|
+
questionOrder: number;
|
81
|
+
answerOrder: number | null;
|
82
|
+
topAnswerOrder: number | null;
|
83
|
+
};
|
84
|
+
export declare type TimelyOrderQuestion = {
|
85
|
+
categoryId: number;
|
86
|
+
categoryName: string;
|
87
|
+
article: number;
|
88
|
+
questions: OrderQuestion[];
|
89
|
+
};
|
90
|
+
export declare type LongTimeSpendQuestion = {
|
91
|
+
id: any;
|
92
|
+
questionOrder: any;
|
93
|
+
duration: any;
|
94
|
+
topDuration?: any;
|
95
|
+
};
|
@@ -0,0 +1,9 @@
|
|
1
|
+
declare const useCreateQuestionDialog: () => {
|
2
|
+
openCreateQuestionDialog: boolean;
|
3
|
+
toggleCreateQuestion: () => void;
|
4
|
+
handleCreateQuestion: ({ content, examSessionId }: {
|
5
|
+
content: string;
|
6
|
+
examSessionId: number;
|
7
|
+
}) => Promise<void>;
|
8
|
+
};
|
9
|
+
export default useCreateQuestionDialog;
|
@@ -0,0 +1,109 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
import { CategoryResponse, EffectSize, ExamResult, LongTimeSpendQuestion, TimelyOrderQuestion } from "../configs/types";
|
3
|
+
declare const useExamResult: (searchParam: string, navigate: Function) => {
|
4
|
+
series: {
|
5
|
+
name: string;
|
6
|
+
data: (number | null)[];
|
7
|
+
}[];
|
8
|
+
chartOptions: {
|
9
|
+
chart: {
|
10
|
+
type: string;
|
11
|
+
toolbar: {
|
12
|
+
show: boolean;
|
13
|
+
};
|
14
|
+
zoom: {
|
15
|
+
enabled: boolean;
|
16
|
+
};
|
17
|
+
};
|
18
|
+
tooltip: {
|
19
|
+
enabled: boolean;
|
20
|
+
hideEmptySeries: boolean;
|
21
|
+
y: {
|
22
|
+
formatter: (value: any, { dataPointIndex }: {
|
23
|
+
dataPointIndex: number;
|
24
|
+
}) => string | null;
|
25
|
+
};
|
26
|
+
};
|
27
|
+
legend: {
|
28
|
+
show: boolean;
|
29
|
+
fontSize: string;
|
30
|
+
fontWeight: number;
|
31
|
+
markers: {
|
32
|
+
width: number;
|
33
|
+
height: number;
|
34
|
+
};
|
35
|
+
labels: {
|
36
|
+
colors: string;
|
37
|
+
};
|
38
|
+
itemMargin: {
|
39
|
+
vertical: number;
|
40
|
+
};
|
41
|
+
};
|
42
|
+
dataLabels: {
|
43
|
+
enabled: boolean;
|
44
|
+
};
|
45
|
+
xaxis: {
|
46
|
+
categories: any[];
|
47
|
+
axisBorder: {
|
48
|
+
show: boolean;
|
49
|
+
color: string;
|
50
|
+
};
|
51
|
+
labels: {
|
52
|
+
style: {
|
53
|
+
fontSize: string;
|
54
|
+
};
|
55
|
+
};
|
56
|
+
};
|
57
|
+
grid: {
|
58
|
+
row: {
|
59
|
+
colors: string[];
|
60
|
+
};
|
61
|
+
borderColor: string;
|
62
|
+
xaxis: {
|
63
|
+
lines: {
|
64
|
+
show: boolean;
|
65
|
+
};
|
66
|
+
};
|
67
|
+
};
|
68
|
+
yaxis: {
|
69
|
+
tickAmount: number;
|
70
|
+
stepSize: number;
|
71
|
+
min: number;
|
72
|
+
max: number;
|
73
|
+
axisBorder: {
|
74
|
+
show: boolean;
|
75
|
+
color: string;
|
76
|
+
};
|
77
|
+
labels: {
|
78
|
+
formatter: (val: any) => string;
|
79
|
+
style: {
|
80
|
+
fontSize: string;
|
81
|
+
};
|
82
|
+
};
|
83
|
+
};
|
84
|
+
};
|
85
|
+
dataChartIndex: number;
|
86
|
+
totalTime: any;
|
87
|
+
isStudent: any;
|
88
|
+
resultDatas: ExamResult | undefined;
|
89
|
+
effectSize: EffectSize[] | undefined;
|
90
|
+
longTimeSpend: LongTimeSpendQuestion[];
|
91
|
+
timelyOrderQuestion: TimelyOrderQuestion[];
|
92
|
+
openProblem: {
|
93
|
+
problem1: boolean;
|
94
|
+
problem2: boolean;
|
95
|
+
problem3: boolean;
|
96
|
+
problem4: boolean;
|
97
|
+
};
|
98
|
+
categoryResponses: CategoryResponse[];
|
99
|
+
setOpenProblem: import("react").Dispatch<import("react").SetStateAction<{
|
100
|
+
problem1: boolean;
|
101
|
+
problem2: boolean;
|
102
|
+
problem3: boolean;
|
103
|
+
problem4: boolean;
|
104
|
+
}>>;
|
105
|
+
handlePrevChart: () => void;
|
106
|
+
handleNextChart: () => void;
|
107
|
+
handleExit: () => void;
|
108
|
+
};
|
109
|
+
export default useExamResult;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { FC } from "react";
|
2
|
+
import { Subject } from "../../Select/Subject/configs/types";
|
2
3
|
export interface ArticleGroupViewProps {
|
3
|
-
categoryOptions: any[];
|
4
4
|
article: number;
|
5
5
|
questionCount: number;
|
6
6
|
categoryId?: number;
|
@@ -9,11 +9,15 @@ export interface ArticleGroupViewProps {
|
|
9
9
|
isMultiple?: boolean;
|
10
10
|
isActive?: boolean;
|
11
11
|
isDisabled?: boolean;
|
12
|
+
selectedSubject?: Subject;
|
13
|
+
isDeletable?: boolean;
|
14
|
+
categoryOptions?: any[];
|
12
15
|
onChangeQuestionCount: (article: number, questionCount: number, answerCount: number) => void;
|
13
16
|
onChangeCategory: (article: number, categoryId: number) => void;
|
14
17
|
onChangeAnswerCount: (article: number, newAnswerCount: number, answerCount: number) => void;
|
15
18
|
onChangeCorrectAnswers: (article: number, index: number, answer: number) => void;
|
16
19
|
onChangeScoreAnswer: (article: number, index: number, score: number) => void;
|
20
|
+
onDelete?: (article: number) => void;
|
17
21
|
}
|
18
22
|
declare const ArticleGroupView: FC<ArticleGroupViewProps>;
|
19
23
|
export default ArticleGroupView;
|
@@ -1,8 +1,4 @@
|
|
1
1
|
import { Exam } from "./types";
|
2
2
|
export declare const DURATION_OPTIONS: number[];
|
3
|
-
export declare const SCORE_OPTIONS: number[];
|
4
|
-
export declare const QUESTION_OPTIONS: number[];
|
5
|
-
export declare const ANSWER_OPTIONS: number[];
|
6
|
-
export declare const DEFAULT_SCORE = 2;
|
7
3
|
export declare const DEFAULT_ANSWER_COUNT = 5;
|
8
4
|
export declare const DEFAULT_EXAM: Exam;
|
@@ -1,7 +1,9 @@
|
|
1
1
|
import { ArticleGroup, Exam } from "../configs/types";
|
2
2
|
import { ChangeEvent } from "react";
|
3
|
+
import { Subject } from "../../Select/Subject/configs/types";
|
3
4
|
interface Props {
|
4
5
|
exam: Exam;
|
6
|
+
selectedSubject?: Subject;
|
5
7
|
onChangeExam: (value: Exam) => void;
|
6
8
|
}
|
7
9
|
declare const useExamDetailView: (props: Props) => {
|
@@ -0,0 +1,3 @@
|
|
1
|
+
import { CategoryRequest } from "../configs/types";
|
2
|
+
export declare const getCategoryListAdminApi: (data: CategoryRequest) => Promise<import("axios").AxiosResponse<any, any>>;
|
3
|
+
export declare const getCategoryListApi: (data: CategoryRequest) => Promise<import("axios").AxiosResponse<any, any>>;
|