touchstudy-core 0.1.186 → 0.1.188
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/containers/ExamResult/apiClients/index.d.ts +6 -0
- package/dist/containers/ExamResult/components/Charts/HexagonChart.d.ts +3 -0
- package/dist/containers/ExamResult/components/Charts/SolutionOrderChart.d.ts +11 -0
- package/dist/containers/ExamResult/components/Charts/TimeChart.d.ts +4 -0
- package/dist/containers/ExamResult/components/Charts/TimeOrderChart.d.ts +1 -0
- package/dist/containers/ExamResult/components/Charts/index.d.ts +2 -1
- package/dist/containers/ExamResult/components/CompareGrass/AnswerPopover.d.ts +8 -0
- package/dist/containers/ExamResult/components/CompareGrass/index.d.ts +3 -0
- package/dist/containers/ExamResult/components/ExamHeader.d.ts +1 -1
- package/dist/containers/ExamResult/components/GradesByTerritoryProblems.d.ts +9 -0
- package/dist/containers/ExamResult/components/MyAnswer/configs/interfaces.d.ts +2 -1
- package/dist/containers/ExamResult/components/MyAnswer/index.d.ts +2 -0
- package/dist/containers/ExamResult/components/OverallTabs/CategoriesOverallChartContainer.d.ts +10 -8
- package/dist/containers/ExamResult/components/OverallTabs/OverallChartContainer.d.ts +10 -8
- package/dist/containers/ExamResult/components/OverallTabs/OverallTab.d.ts +8 -6
- package/dist/containers/ExamResult/components/OverallTabs/OverallTimeChart.d.ts +11 -0
- package/dist/containers/ExamResult/components/OverallTabs/OverallTimeChartContainer.d.ts +7 -8
- package/dist/containers/ExamResult/components/PrintSolutionOrder.d.ts +10 -0
- package/dist/containers/ExamResult/components/PrintSolutionOrderItem.d.ts +10 -0
- package/dist/containers/ExamResult/components/ProblemContainer.d.ts +12 -0
- package/dist/containers/ExamResult/components/ProtractedProblem/index.d.ts +0 -3
- package/dist/containers/ExamResult/components/ProtractedProblems.d.ts +9 -0
- package/dist/containers/ExamResult/components/SolutionOrder.d.ts +8 -0
- package/dist/containers/ExamResult/components/TrickyProblems.d.ts +9 -0
- package/dist/containers/ExamResult/components/Vulnerable/index.d.ts +2 -2
- package/dist/containers/ExamResult/components/VulnerableProblems.d.ts +10 -0
- package/dist/containers/ExamResult/configs/constants.d.ts +169 -0
- package/dist/containers/ExamResult/configs/functions.d.ts +1 -0
- package/dist/containers/ExamResult/configs/types.d.ts +40 -24
- package/dist/containers/ExamResult/hooks/useCategoriesOverallChartContainer.d.ts +9 -0
- package/dist/containers/ExamResult/hooks/useExamResult.d.ts +6 -0
- package/dist/containers/ExamResult/hooks/useOverallChartContainer.d.ts +9 -0
- package/dist/containers/ExamResult/hooks/useOverallTimeChartContainer.d.ts +6 -0
- package/dist/containers/ExamResult/hooks/usePrintExamResult.d.ts +2 -1
- package/dist/containers/ExamResult/index.d.ts +1 -0
- package/dist/containers/ExamResult/views/PrintExamResult.d.ts +7 -0
- package/dist/containers/Exams/hooks/useOverallChartContainer.d.ts +9 -0
- package/dist/index.css +15 -13
- package/dist/index.js +4164 -3409
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +4164 -3412
- package/dist/index.modern.js.map +1 -1
- package/dist/utils/functions/common.d.ts +1 -20
- package/dist/utils/types/examResults.d.ts +2 -0
- package/package.json +1 -1
@@ -14,3 +14,9 @@ export declare const getResultsEffectSizeTeacher: (id: number, studentId: number
|
|
14
14
|
export declare const getResultsTimeOrderQuestionTeacher: (id: number, studentId: number) => Promise<import("axios").AxiosResponse<any, any>>;
|
15
15
|
export declare const getResultsCategoriesTeacher: (id: number, studentId: number) => Promise<import("axios").AxiosResponse<any, any>>;
|
16
16
|
export declare const createConversationApi: (data: any) => Promise<import("axios").AxiosResponse<any, any>>;
|
17
|
+
export declare const getOverallResultsApi: (code: string) => Promise<import("axios").AxiosResponse<any, any>>;
|
18
|
+
export declare const getOverallResultsTeacherApi: (id: number, studentId: number) => Promise<import("axios").AxiosResponse<any, any>>;
|
19
|
+
export declare const getOverallCategoriesResultsApi: (code: string) => Promise<import("axios").AxiosResponse<any, any>>;
|
20
|
+
export declare const getOverallCategoriesResultsTeacherApi: (id: number, studentId: number) => Promise<import("axios").AxiosResponse<any, any>>;
|
21
|
+
export declare const getQuestionTimeCategoriesResultsApi: (code: string) => Promise<import("axios").AxiosResponse<any, any>>;
|
22
|
+
export declare const getQuestionTimeCategoriesResultsTeacherApi: (id: number, studentId: number) => Promise<import("axios").AxiosResponse<any, any>>;
|
@@ -5,7 +5,10 @@ interface Props {
|
|
5
5
|
avgData: number[];
|
6
6
|
categories: string[];
|
7
7
|
height?: number;
|
8
|
+
isPrint?: boolean;
|
8
9
|
customTooltip?: (val: any) => string;
|
10
|
+
xAxisLabelFormatter?: (val: string, option: any) => string;
|
11
|
+
onRendered?: () => void;
|
9
12
|
}
|
10
13
|
declare const HexagonChart: FC<Props>;
|
11
14
|
export default HexagonChart;
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { FC } from 'react';
|
2
|
+
export interface SolutionOrderChartProps {
|
3
|
+
series: any;
|
4
|
+
chartOptions: any;
|
5
|
+
dataChartIndex: number;
|
6
|
+
totalCharts: number;
|
7
|
+
onPrevChartClick: () => void;
|
8
|
+
onNextChartClick: () => void;
|
9
|
+
}
|
10
|
+
declare const SolutionOrderChart: FC<SolutionOrderChartProps>;
|
11
|
+
export default SolutionOrderChart;
|
@@ -4,6 +4,10 @@ interface Props {
|
|
4
4
|
avgTimes: number[];
|
5
5
|
categories: number[];
|
6
6
|
height?: number;
|
7
|
+
isPrint?: boolean;
|
8
|
+
xTooltipLabelFormatter?: (val: string, option: any) => string;
|
9
|
+
yTooltipLabelFormatter?: (val: string, option: any) => string;
|
10
|
+
onRendered?: () => void;
|
7
11
|
}
|
8
12
|
declare const TimeChart: FC<Props>;
|
9
13
|
export default TimeChart;
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import HexagonChart from "./HexagonChart";
|
2
|
+
import SolutionOrderChart from "./SolutionOrderChart";
|
2
3
|
import TimeChart from "./TimeChart";
|
3
4
|
import TimeOrderChart from "./TimeOrderChart";
|
4
|
-
export { HexagonChart, TimeChart, TimeOrderChart };
|
5
|
+
export { HexagonChart, TimeChart, TimeOrderChart, SolutionOrderChart };
|
@@ -1,7 +1,10 @@
|
|
1
1
|
import { FC } from "react";
|
2
2
|
import { EffectSize } from "../../configs/types";
|
3
|
+
import { ExamResult } from "../../../../utils";
|
3
4
|
interface Props {
|
4
5
|
effectSize: EffectSize[];
|
6
|
+
data?: ExamResult;
|
7
|
+
isPrint?: boolean;
|
5
8
|
}
|
6
9
|
declare const CompareGrass: FC<Props>;
|
7
10
|
export default CompareGrass;
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { FC } from "react";
|
2
|
+
import { ProblemContainerProps } from "./ProblemContainer";
|
3
|
+
import { CategoryResponse } from "../../../utils";
|
4
|
+
interface Props extends Omit<ProblemContainerProps, "title" | "keyOpen"> {
|
5
|
+
data: CategoryResponse[];
|
6
|
+
isPrint?: boolean;
|
7
|
+
}
|
8
|
+
declare const GradesByTerritoryProblems: FC<Props>;
|
9
|
+
export default GradesByTerritoryProblems;
|
@@ -1,12 +1,13 @@
|
|
1
1
|
import { Action } from "../../../../../components/Tooltips/configs/types";
|
2
2
|
import { Question } from "../../../../../utils";
|
3
|
-
import { StudentQuestionResult } from "../../../configs/types";
|
3
|
+
import { EffectSize, StudentQuestionResult } from "../../../configs/types";
|
4
4
|
export interface AnswerItemProps extends AnswerItemBaseProps {
|
5
5
|
data: Question;
|
6
6
|
openContextMenu: boolean;
|
7
7
|
nextData?: Question;
|
8
8
|
isLast?: boolean;
|
9
9
|
isFirst?: boolean;
|
10
|
+
effectSize?: EffectSize;
|
10
11
|
}
|
11
12
|
export interface TextbookAnswerItemProps extends TextbookAnswerItemBaseProps {
|
12
13
|
data: StudentQuestionResult;
|
@@ -1,12 +1,14 @@
|
|
1
1
|
import { FC } from "react";
|
2
2
|
import { CategoryResponse, ExamResult } from "../../../../utils/types/examResults";
|
3
3
|
import { AnswerItemBaseProps } from "./configs/interfaces";
|
4
|
+
import { EffectSize } from "../../configs/types";
|
4
5
|
interface Props {
|
5
6
|
data: ExamResult;
|
6
7
|
questionIdContextMenu?: number;
|
7
8
|
categories: CategoryResponse[];
|
8
9
|
itemProps?: AnswerItemBaseProps;
|
9
10
|
isStudent: boolean;
|
11
|
+
effectSize: EffectSize[];
|
10
12
|
}
|
11
13
|
declare const MyAnswer: FC<Props>;
|
12
14
|
export default MyAnswer;
|
package/dist/containers/ExamResult/components/OverallTabs/CategoriesOverallChartContainer.d.ts
CHANGED
@@ -1,11 +1,13 @@
|
|
1
1
|
import { FC } from "react";
|
2
|
-
interface
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
2
|
+
export interface CategoriesOverallChartContainerProps {
|
3
|
+
isLoading: boolean;
|
4
|
+
myData: number[];
|
5
|
+
avgData: number[];
|
6
|
+
shortCategories: string[];
|
7
|
+
isPrint?: boolean;
|
8
|
+
formatTooltip: (val: any) => string;
|
9
|
+
xAxisLabelFormatter: (val: string, option: any) => string;
|
10
|
+
onRendered?: () => void;
|
9
11
|
}
|
10
|
-
declare const CategoriesOverallChartContainer: FC<
|
12
|
+
declare const CategoriesOverallChartContainer: FC<CategoriesOverallChartContainerProps>;
|
11
13
|
export default CategoriesOverallChartContainer;
|
@@ -1,11 +1,13 @@
|
|
1
1
|
import { FC } from "react";
|
2
|
-
interface
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
2
|
+
export interface OverallChartContainerProps {
|
3
|
+
isLoading: boolean;
|
4
|
+
myData: number[];
|
5
|
+
avgData: number[];
|
6
|
+
shortCategories: string[];
|
7
|
+
isPrint?: boolean;
|
8
|
+
formatTooltip: (val: any) => string;
|
9
|
+
xAxisLabelFormatter: (val: string, option: any) => string;
|
10
|
+
onRendered?: () => void;
|
9
11
|
}
|
10
|
-
declare const OverallChartContainer: FC<
|
12
|
+
declare const OverallChartContainer: FC<OverallChartContainerProps>;
|
11
13
|
export default OverallChartContainer;
|
@@ -1,11 +1,13 @@
|
|
1
1
|
import { FC } from "react";
|
2
|
+
import { OverallChartContainerProps } from "./OverallChartContainer";
|
3
|
+
import { CategoriesOverallChartContainerProps } from "./CategoriesOverallChartContainer";
|
4
|
+
import { OverallTimeChartContainerProps } from "./OverallTimeChartContainer";
|
2
5
|
interface Props {
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
studentId: number;
|
6
|
+
overallChartContainerProps: OverallChartContainerProps;
|
7
|
+
categoriesOverallChartContainerProps: CategoriesOverallChartContainerProps;
|
8
|
+
overallTimeChartContainerProps: OverallTimeChartContainerProps;
|
9
|
+
isPrint?: boolean;
|
10
|
+
onRendered?: () => void;
|
9
11
|
}
|
10
12
|
declare const OverallTab: FC<Props>;
|
11
13
|
export default OverallTab;
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { FC } from "react";
|
2
|
+
import { QuestionTimeCategoryData } from "../../configs/types";
|
3
|
+
interface Props {
|
4
|
+
data: QuestionTimeCategoryData;
|
5
|
+
total: number;
|
6
|
+
index: number;
|
7
|
+
isPrint?: boolean;
|
8
|
+
onRendered?: (index: number) => void;
|
9
|
+
}
|
10
|
+
declare const OverallTimeChart: FC<Props>;
|
11
|
+
export default OverallTimeChart;
|
@@ -1,11 +1,10 @@
|
|
1
1
|
import { FC } from "react";
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
studentId: number;
|
2
|
+
import { QuestionTimeCategoryData } from "../../configs/types";
|
3
|
+
export interface OverallTimeChartContainerProps {
|
4
|
+
isLoading: boolean;
|
5
|
+
categories: QuestionTimeCategoryData[];
|
6
|
+
isPrint?: boolean;
|
7
|
+
onRendered?: () => void;
|
9
8
|
}
|
10
|
-
declare const OverallTimeChartContainer: FC<
|
9
|
+
declare const OverallTimeChartContainer: FC<OverallTimeChartContainerProps>;
|
11
10
|
export default OverallTimeChartContainer;
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { FC } from "react";
|
2
|
+
import { TimelyOrderQuestion } from "../configs/types";
|
3
|
+
interface Props {
|
4
|
+
timelyOrderQuestions: TimelyOrderQuestion[];
|
5
|
+
allChartOptions: any;
|
6
|
+
allSeries: any;
|
7
|
+
setIsRendered: (questionGroupIndex: number) => void;
|
8
|
+
}
|
9
|
+
declare const PrintSolutionOrder: FC<Props>;
|
10
|
+
export default PrintSolutionOrder;
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { FC } from "react";
|
2
|
+
import { TimelyOrderQuestion } from "../configs/types";
|
3
|
+
interface Props {
|
4
|
+
timelyOrderQuestion: TimelyOrderQuestion;
|
5
|
+
options: any;
|
6
|
+
series: any;
|
7
|
+
setIsRendered: (questionGroupIndex: number) => void;
|
8
|
+
}
|
9
|
+
declare const PrintSolutionOrderItem: FC<Props>;
|
10
|
+
export default PrintSolutionOrderItem;
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { FC, PropsWithChildren } from "react";
|
2
|
+
import { ProblemKey } from "../configs/types";
|
3
|
+
export interface ProblemContainerProps extends PropsWithChildren {
|
4
|
+
title: string;
|
5
|
+
detail?: string;
|
6
|
+
keyOpen: ProblemKey;
|
7
|
+
openProblem?: ProblemKey;
|
8
|
+
isPrint?: boolean;
|
9
|
+
changeOpen?: (key?: ProblemKey) => void;
|
10
|
+
}
|
11
|
+
declare const ProblemContainer: FC<ProblemContainerProps>;
|
12
|
+
export default ProblemContainer;
|
@@ -1,13 +1,10 @@
|
|
1
1
|
import { FC } from "react";
|
2
2
|
import { LongTimeSpendQuestion, ProblemKey } from "../../configs/types";
|
3
|
-
import { ExamResult } from "../../../../utils";
|
4
3
|
interface Props {
|
5
4
|
data: LongTimeSpendQuestion[];
|
6
5
|
keyOpen: ProblemKey;
|
7
|
-
examResult?: ExamResult;
|
8
6
|
openProblem?: ProblemKey;
|
9
7
|
changeOpen?: (key?: ProblemKey) => void;
|
10
|
-
isMyStoryStudent?: boolean;
|
11
8
|
}
|
12
9
|
declare const ProtractedProblem: FC<Props>;
|
13
10
|
export default ProtractedProblem;
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { FC } from "react";
|
2
|
+
import { ProblemContainerProps } from "./ProblemContainer";
|
3
|
+
import { LongTimeSpendQuestion } from "../configs/types";
|
4
|
+
interface Props extends Omit<ProblemContainerProps, "title" | "keyOpen"> {
|
5
|
+
data: LongTimeSpendQuestion[];
|
6
|
+
isPrint?: boolean;
|
7
|
+
}
|
8
|
+
declare const ProtractedProblems: FC<Props>;
|
9
|
+
export default ProtractedProblems;
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { FC } from "react";
|
2
|
+
import { SolutionOrderChartProps } from "./Charts/SolutionOrderChart";
|
3
|
+
import { ProblemContainerProps } from "./ProblemContainer";
|
4
|
+
interface Props extends SolutionOrderChartProps, Omit<ProblemContainerProps, "title" | "keyOpen"> {
|
5
|
+
isPrint?: boolean;
|
6
|
+
}
|
7
|
+
declare const SolutionOrder: FC<Props>;
|
8
|
+
export default SolutionOrder;
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { FC } from "react";
|
2
|
+
import { ProblemContainerProps } from "./ProblemContainer";
|
3
|
+
import { Question } from "../../../utils/types/examResults";
|
4
|
+
interface Props extends Omit<ProblemContainerProps, "title" | "keyOpen"> {
|
5
|
+
data: Question[];
|
6
|
+
isPrint?: boolean;
|
7
|
+
}
|
8
|
+
declare const TrickyProblems: FC<Props>;
|
9
|
+
export default TrickyProblems;
|
@@ -1,12 +1,12 @@
|
|
1
1
|
import { FC } from "react";
|
2
2
|
import { ProblemKey } from "../../configs/types";
|
3
|
-
import { ExamResult } from "../../../../utils/types/examResults";
|
3
|
+
import { CategoryResponse, ExamResult } from "../../../../utils/types/examResults";
|
4
4
|
interface Props {
|
5
5
|
keyOpen: ProblemKey;
|
6
6
|
data: ExamResult;
|
7
7
|
openProblem?: ProblemKey;
|
8
|
+
categories: CategoryResponse[];
|
8
9
|
changeOpen?: (key?: ProblemKey) => void;
|
9
|
-
isMyStoryStudent?: boolean;
|
10
10
|
}
|
11
11
|
declare const Vulnerable: FC<Props>;
|
12
12
|
export default Vulnerable;
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { FC } from "react";
|
2
|
+
import { ProblemContainerProps } from "./ProblemContainer";
|
3
|
+
import { CategoryResponse, Question } from "../../../utils/types/examResults";
|
4
|
+
interface Props extends Omit<ProblemContainerProps, "title" | "keyOpen"> {
|
5
|
+
data: Question[];
|
6
|
+
categories: CategoryResponse[];
|
7
|
+
isPrint?: boolean;
|
8
|
+
}
|
9
|
+
declare const VulnerableProblems: FC<Props>;
|
10
|
+
export default VulnerableProblems;
|
@@ -5,6 +5,10 @@ export declare const TabList: {
|
|
5
5
|
label: string;
|
6
6
|
value: number;
|
7
7
|
}[];
|
8
|
+
export declare const TextbookTabList: {
|
9
|
+
label: string;
|
10
|
+
value: number;
|
11
|
+
}[];
|
8
12
|
export declare enum Roles {
|
9
13
|
Student = "Student",
|
10
14
|
Teacher = "Teacher",
|
@@ -85,3 +89,168 @@ export declare const defaultSeries: (t: any) => {
|
|
85
89
|
name: any;
|
86
90
|
data: never[];
|
87
91
|
}[];
|
92
|
+
export declare const DEFAULT_HEXAGON_OPTIONS: {
|
93
|
+
chart: {
|
94
|
+
height: number;
|
95
|
+
type: string;
|
96
|
+
toolbar: {
|
97
|
+
show: boolean;
|
98
|
+
};
|
99
|
+
dropShadow: {
|
100
|
+
enabled: boolean;
|
101
|
+
blur: number;
|
102
|
+
left: number;
|
103
|
+
top: number;
|
104
|
+
};
|
105
|
+
};
|
106
|
+
tooltip: {
|
107
|
+
enable: boolean;
|
108
|
+
custom: ({ series, seriesIndex, dataPointIndex, w }: any) => string;
|
109
|
+
};
|
110
|
+
plotOptions: {
|
111
|
+
radar: {
|
112
|
+
polygons: {
|
113
|
+
strokeWidth: number;
|
114
|
+
strokeColors: string;
|
115
|
+
connectorColors: string;
|
116
|
+
};
|
117
|
+
};
|
118
|
+
};
|
119
|
+
title: {
|
120
|
+
show: boolean;
|
121
|
+
};
|
122
|
+
stroke: {
|
123
|
+
width: number;
|
124
|
+
};
|
125
|
+
fill: {
|
126
|
+
opacity: number;
|
127
|
+
};
|
128
|
+
markers: {
|
129
|
+
size: number;
|
130
|
+
hover: {
|
131
|
+
size: number;
|
132
|
+
};
|
133
|
+
strokeColors: string;
|
134
|
+
};
|
135
|
+
yaxis: {
|
136
|
+
show: boolean;
|
137
|
+
min: number;
|
138
|
+
max: number;
|
139
|
+
tickAmount: number;
|
140
|
+
};
|
141
|
+
xaxis: {
|
142
|
+
categories: never[];
|
143
|
+
labels: {
|
144
|
+
style: {
|
145
|
+
fontSize: string;
|
146
|
+
fontFamily: string;
|
147
|
+
colors: string[];
|
148
|
+
};
|
149
|
+
formatter: (val: string) => string;
|
150
|
+
};
|
151
|
+
};
|
152
|
+
colors: string[];
|
153
|
+
legend: {
|
154
|
+
show: boolean;
|
155
|
+
markers: {
|
156
|
+
width: number;
|
157
|
+
height: number;
|
158
|
+
radius: number;
|
159
|
+
customHTML: undefined;
|
160
|
+
};
|
161
|
+
labels: {
|
162
|
+
useSeriesColors: boolean;
|
163
|
+
fontSize: string;
|
164
|
+
fontWeight: number;
|
165
|
+
};
|
166
|
+
};
|
167
|
+
};
|
168
|
+
export declare const DEFAULT_TIME_CHART_OPTIONS: {
|
169
|
+
chart: {
|
170
|
+
height: number;
|
171
|
+
type: string;
|
172
|
+
toolbar: {
|
173
|
+
show: boolean;
|
174
|
+
};
|
175
|
+
zoom: {
|
176
|
+
enabled: boolean;
|
177
|
+
};
|
178
|
+
};
|
179
|
+
grid: {
|
180
|
+
show: boolean;
|
181
|
+
};
|
182
|
+
stroke: {
|
183
|
+
width: number;
|
184
|
+
};
|
185
|
+
markers: {
|
186
|
+
size: number[];
|
187
|
+
colors: string;
|
188
|
+
strokeWidth: number;
|
189
|
+
strokeColors: string[];
|
190
|
+
hover: {
|
191
|
+
size: number;
|
192
|
+
};
|
193
|
+
};
|
194
|
+
colors: string[];
|
195
|
+
legend: {
|
196
|
+
show: boolean;
|
197
|
+
itemMargin: {
|
198
|
+
vertical: string;
|
199
|
+
};
|
200
|
+
markers: {
|
201
|
+
width: number;
|
202
|
+
height: number;
|
203
|
+
radius: number;
|
204
|
+
customHTML: undefined;
|
205
|
+
};
|
206
|
+
labels: {
|
207
|
+
useSeriesColors: boolean;
|
208
|
+
colors: string[];
|
209
|
+
fontSize: string;
|
210
|
+
fontWeight: number;
|
211
|
+
};
|
212
|
+
};
|
213
|
+
xaxis: {
|
214
|
+
categories: never[];
|
215
|
+
axisBorder: {
|
216
|
+
show: boolean;
|
217
|
+
color: string;
|
218
|
+
};
|
219
|
+
axisTicks: {
|
220
|
+
show: boolean;
|
221
|
+
color: string;
|
222
|
+
height: number;
|
223
|
+
};
|
224
|
+
};
|
225
|
+
yaxis: {
|
226
|
+
max: number;
|
227
|
+
min: number;
|
228
|
+
tickAmount: number;
|
229
|
+
forceNiceScale: boolean;
|
230
|
+
axisBorder: {
|
231
|
+
show: boolean;
|
232
|
+
color: string;
|
233
|
+
width: number;
|
234
|
+
offsetX: number;
|
235
|
+
};
|
236
|
+
axisTicks: {
|
237
|
+
show: boolean;
|
238
|
+
color: string;
|
239
|
+
width: number;
|
240
|
+
offsetX: number;
|
241
|
+
};
|
242
|
+
labels: {
|
243
|
+
formatter: (value: any) => any;
|
244
|
+
};
|
245
|
+
};
|
246
|
+
tooltip: {
|
247
|
+
shared: boolean;
|
248
|
+
intersect: boolean;
|
249
|
+
y: {
|
250
|
+
formatter: (y: any) => any;
|
251
|
+
};
|
252
|
+
x: {
|
253
|
+
formatter: (x: any) => any;
|
254
|
+
};
|
255
|
+
};
|
256
|
+
};
|
@@ -3,3 +3,4 @@ export declare const toNumberOrder: (value: number) => string;
|
|
3
3
|
export declare const formatDuration: (t: any, duration: number) => any;
|
4
4
|
export declare const formatQuestionOrder: (index: number, t: any, language?: string | undefined) => any;
|
5
5
|
export declare const groupMonth: (exams: ExamSessionResponse[]) => {} | undefined;
|
6
|
+
export declare const normalizeArray: <T>(arr: T[], length: number, replacement: any) => (T | null)[];
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { QuestionAnswerType } from './../../../utils/enums/examStatus';
|
2
|
-
import { CategoryResponse } from "../../../utils/types/examResults";
|
2
|
+
import { CategoryResponse, Question } from "../../../utils/types/examResults";
|
3
3
|
import { Role } from '../../../utils';
|
4
4
|
export interface CategoryFormat extends CategoryResponse {
|
5
5
|
totalSolveTime: number;
|
@@ -36,10 +36,11 @@ export declare type LongTimeSpendQuestion = {
|
|
36
36
|
topDuration?: any;
|
37
37
|
};
|
38
38
|
export declare enum ProblemKey {
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
39
|
+
SolutionOrder = 0,
|
40
|
+
TrickyProblem = 1,
|
41
|
+
ProtractedProblem = 2,
|
42
|
+
GradesByTerritory = 3,
|
43
|
+
Vulnerable = 4
|
43
44
|
}
|
44
45
|
export declare type TextbookResult = {
|
45
46
|
id: number;
|
@@ -53,26 +54,9 @@ export declare type TextbookResult = {
|
|
53
54
|
studentTextbookSessionId: number;
|
54
55
|
studentQuestionResults: StudentQuestionResult[];
|
55
56
|
};
|
56
|
-
export declare type StudentQuestionResult = {
|
57
|
-
id: number;
|
58
|
-
questionGroupId: number;
|
59
|
-
selectedAnswers?: number[] | string;
|
60
|
-
correctAnswers?: number[] | string;
|
61
|
-
textualAnswers?: string[];
|
62
|
-
correctTextualAnswers?: string[];
|
63
|
-
isStar: boolean;
|
64
|
-
duration: number;
|
65
|
-
classAverageTime: number;
|
66
|
-
topDuration: number | null;
|
67
|
-
answerResponseSignal: number;
|
68
|
-
isCorrect: boolean;
|
69
|
-
answerTime: string;
|
70
|
-
questionGroupIndex: number;
|
71
|
-
score: number;
|
72
|
-
questionAnswerType: QuestionAnswerType;
|
57
|
+
export declare type StudentQuestionResult = Question & {
|
73
58
|
categories: Category[];
|
74
|
-
|
75
|
-
questionOrder: number;
|
59
|
+
questionGroupId: number;
|
76
60
|
};
|
77
61
|
export declare type Category = {
|
78
62
|
parentCategoryId: number | null;
|
@@ -124,3 +108,35 @@ export declare type ExamSessionResponse = {
|
|
124
108
|
export declare type GroupedExamSession = {
|
125
109
|
[key: string]: ExamSessionResponse[];
|
126
110
|
};
|
111
|
+
export declare type OverallExamResultResponse = {
|
112
|
+
data: OverallExamResultData[];
|
113
|
+
maxData: OverallExamResultData;
|
114
|
+
};
|
115
|
+
export declare type OverallExamResultData = {
|
116
|
+
correctRate: number;
|
117
|
+
highLevelQuestions: number;
|
118
|
+
lowLevelQuestions: number;
|
119
|
+
totalAsteriskQuestions: number;
|
120
|
+
problemSolvingTime: number;
|
121
|
+
questionLongestTime: number;
|
122
|
+
};
|
123
|
+
export declare type OverallCategoryData = {
|
124
|
+
categoryId: number;
|
125
|
+
categoryName: string;
|
126
|
+
path: string;
|
127
|
+
totalCorrectQuestions: number;
|
128
|
+
avgCorrectQuestions: number;
|
129
|
+
totalQuestions: number;
|
130
|
+
};
|
131
|
+
export declare type QuestionTimeCategoryData = {
|
132
|
+
categoryId: number;
|
133
|
+
categoryName: string;
|
134
|
+
path: string;
|
135
|
+
questions: QuestionTime[];
|
136
|
+
};
|
137
|
+
export declare type QuestionTime = {
|
138
|
+
questionId: number;
|
139
|
+
questionOrder: number;
|
140
|
+
time: number;
|
141
|
+
avgTime: number;
|
142
|
+
};
|
@@ -0,0 +1,9 @@
|
|
1
|
+
declare const useCategoriesOverallChartContainer: (isStudent: boolean, examCode: string, code: string, examSessionId: number, chapterId: number, studentId: number) => {
|
2
|
+
isLoading: boolean;
|
3
|
+
myData: number[];
|
4
|
+
avgData: number[];
|
5
|
+
shortCategories: string[];
|
6
|
+
xAxisLabelFormatter: (_: string, { dataPointIndex }: any) => string;
|
7
|
+
formatTooltip: ({ dataPointIndex, w }: any) => string;
|
8
|
+
};
|
9
|
+
export default useCategoriesOverallChartContainer;
|
@@ -4,6 +4,11 @@ import { MouseEvent } from "react";
|
|
4
4
|
import { NoteResponse } from "../../../utils/types/note";
|
5
5
|
declare const useExamResult: (props: ExamResultV2Props) => {
|
6
6
|
t: any;
|
7
|
+
code: string | undefined;
|
8
|
+
examCode: string;
|
9
|
+
studentId: number;
|
10
|
+
examSessionId: number;
|
11
|
+
chapterId: number | undefined;
|
7
12
|
fileName: string;
|
8
13
|
selected: number;
|
9
14
|
isStudent: any;
|
@@ -14,6 +19,7 @@ declare const useExamResult: (props: ExamResultV2Props) => {
|
|
14
19
|
setRenderedChart: (chart: number) => void;
|
15
20
|
handlePrintPdf: () => void;
|
16
21
|
reset: () => void;
|
22
|
+
handleOverallChartsRendered: () => void;
|
17
23
|
};
|
18
24
|
examResultNotes: {
|
19
25
|
selectedNote: NoteResponse | undefined;
|
@@ -0,0 +1,9 @@
|
|
1
|
+
declare const useOverallChartContainer: (isStudent: boolean, examCode: string, code: string, examSessionId: number, chapterId: number, studentId: number) => {
|
2
|
+
isLoading: boolean;
|
3
|
+
myData: number[];
|
4
|
+
avgData: number[];
|
5
|
+
shortCategories: string[];
|
6
|
+
xAxisLabelFormatter: (_: string, { dataPointIndex }: any) => any;
|
7
|
+
formatTooltip: ({ dataPointIndex, w }: any) => string;
|
8
|
+
};
|
9
|
+
export default useOverallChartContainer;
|