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.
Files changed (77) hide show
  1. package/dist/assets/iconAssignedQuestions.d.ts +3 -0
  2. package/dist/assets/iconBtnFeedback.d.ts +3 -0
  3. package/dist/assets/iconBtnNextChart.d.ts +3 -0
  4. package/dist/assets/iconBtnPrevChart.d.ts +3 -0
  5. package/dist/assets/iconBtnTerminate.d.ts +3 -0
  6. package/dist/assets/iconChat.d.ts +3 -0
  7. package/dist/assets/iconCloseDialog.d.ts +3 -0
  8. package/dist/assets/iconCorrectAnswer.d.ts +3 -0
  9. package/dist/assets/iconDownArrow.d.ts +3 -0
  10. package/dist/assets/iconInCorrectAnswer.d.ts +3 -0
  11. package/dist/assets/iconMeanTime.d.ts +3 -0
  12. package/dist/assets/iconMyPoolTime.d.ts +3 -0
  13. package/dist/assets/iconNoGrass.d.ts +3 -0
  14. package/dist/assets/iconNoStarQuestion.d.ts +3 -0
  15. package/dist/assets/iconStarQuestion.d.ts +3 -0
  16. package/dist/assets/iconTopTime.d.ts +3 -0
  17. package/dist/assets/iconUpArrow.d.ts +3 -0
  18. package/dist/assets/iconWarning.d.ts +3 -0
  19. package/dist/assets/iconX.d.ts +3 -0
  20. package/dist/components/Dialogs/CommonDialog.d.ts +3 -3
  21. package/dist/components/Dialogs/ConfirmDialog.d.ts +1 -0
  22. package/dist/components/Inputs/InputText.d.ts +4 -0
  23. package/dist/components/Selectors/AnswerCountSelector.d.ts +9 -0
  24. package/dist/components/Selectors/ArticleCategorySelector.d.ts +11 -0
  25. package/dist/components/Selectors/QuestionCountSelector.d.ts +9 -0
  26. package/dist/components/Selectors/ScoreSelector.d.ts +9 -0
  27. package/dist/components/Selectors/configs/constants.d.ts +4 -0
  28. package/dist/containers/ExamResult/apiClients/index.d.ts +12 -0
  29. package/dist/containers/ExamResult/components/CompareGrass/index.d.ts +5 -0
  30. package/dist/containers/ExamResult/components/Dialog/CreateNewQuestion.d.ts +9 -0
  31. package/dist/containers/ExamResult/components/GradesByTerritory/index.d.ts +12 -0
  32. package/dist/containers/ExamResult/components/MyAnswer/components/CreateNewQuestion.d.ts +12 -0
  33. package/dist/containers/ExamResult/components/MyAnswer/hooks/useCreateDialog.d.ts +10 -0
  34. package/dist/containers/ExamResult/components/MyAnswer/hooks/useMyAnswer.d.ts +10 -0
  35. package/dist/containers/ExamResult/components/MyAnswer/index.d.ts +9 -0
  36. package/dist/containers/ExamResult/components/ProtractedProblem/index.d.ts +12 -0
  37. package/dist/containers/ExamResult/components/TrickyProblem/index.d.ts +12 -0
  38. package/dist/containers/ExamResult/components/Vulnerable/index.d.ts +12 -0
  39. package/dist/containers/ExamResult/configs/constants.d.ts +19 -0
  40. package/dist/containers/ExamResult/configs/functions.d.ts +1 -0
  41. package/dist/containers/ExamResult/configs/types.d.ts +95 -0
  42. package/dist/containers/ExamResult/hooks/useCreateDialog.d.ts +9 -0
  43. package/dist/containers/ExamResult/hooks/useExamResult.d.ts +109 -0
  44. package/dist/containers/ExamResult/views/ExamResultV2.d.ts +7 -0
  45. package/dist/containers/Exams/components/ArticleGroupView.d.ts +5 -1
  46. package/dist/containers/Exams/components/QuestionView.d.ts +1 -1
  47. package/dist/containers/Exams/configs/constants.d.ts +0 -4
  48. package/dist/containers/Exams/configs/interfaces.d.ts +1 -2
  49. package/dist/containers/Exams/configs/types.d.ts +1 -0
  50. package/dist/containers/Exams/hooks/useExamDetailView.d.ts +2 -0
  51. package/dist/containers/Select/Category/apiClient/categoryService.d.ts +3 -0
  52. package/dist/containers/Select/Category/configs/types.d.ts +17 -0
  53. package/dist/containers/Select/Category/hook/useCategorySelect.d.ts +15 -0
  54. package/dist/containers/Select/Subject/apiClient/subjectService.d.ts +2 -0
  55. package/dist/containers/Select/Subject/configs/types.d.ts +9 -0
  56. package/dist/containers/Select/Subject/hook/useSubjectSelect.d.ts +12 -0
  57. package/dist/index.css +496 -3
  58. package/dist/index.d.ts +13 -3
  59. package/dist/index.js +4510 -410
  60. package/dist/index.js.map +1 -1
  61. package/dist/index.modern.js +4506 -416
  62. package/dist/index.modern.js.map +1 -1
  63. package/dist/utils/constants.d.ts +5 -0
  64. package/dist/utils/enums/index.d.ts +2 -0
  65. package/dist/utils/enums/order.d.ts +4 -0
  66. package/dist/utils/helpers.d.ts +8 -0
  67. package/dist/utils/hooks/index.d.ts +2 -1
  68. package/dist/utils/hooks/useList.d.ts +17 -0
  69. package/dist/utils/types/index.d.ts +3 -0
  70. package/dist/utils/types/searchQuery.d.ts +8 -0
  71. package/dist/utils/types/tableHeaderType.d.ts +4 -0
  72. package/package.json +4 -4
  73. package/dist/components/Alerts/CommonAlert.d.ts +0 -3
  74. package/dist/components/Alerts/EmptyDataAlert.d.ts +0 -8
  75. package/dist/components/Chats/hooks/useConversationList.d.ts +0 -20
  76. package/dist/utils/useGoogleSignOut.d.ts +0 -10
  77. package/dist/utils/useLanguage.d.ts +0 -12
@@ -0,0 +1,3 @@
1
+ import React, { SVGProps } from "react";
2
+ declare const iconAssignedQuestions: ({ width, height, color }: SVGProps<SVGSVGElement>) => React.JSX.Element;
3
+ export default iconAssignedQuestions;
@@ -0,0 +1,3 @@
1
+ import React, { SVGProps } from "react";
2
+ declare const iconBtnFeedback: ({ width, height, color }: SVGProps<SVGSVGElement>) => React.JSX.Element;
3
+ export default iconBtnFeedback;
@@ -0,0 +1,3 @@
1
+ import React, { SVGProps } from "react";
2
+ declare const iconBtnNextChart: ({ width, height, color }: SVGProps<SVGSVGElement>) => React.JSX.Element;
3
+ export default iconBtnNextChart;
@@ -0,0 +1,3 @@
1
+ import React, { SVGProps } from "react";
2
+ declare const iconBtnPrevChart: ({ width, height, color }: SVGProps<SVGSVGElement>) => React.JSX.Element;
3
+ export default iconBtnPrevChart;
@@ -0,0 +1,3 @@
1
+ import React, { SVGProps } from "react";
2
+ declare const iconBtnTerminate: ({ width, height, color }: SVGProps<SVGSVGElement>) => React.JSX.Element;
3
+ export default iconBtnTerminate;
@@ -0,0 +1,3 @@
1
+ import React, { SVGProps } from "react";
2
+ declare const iconChat: ({ width, height, color }: SVGProps<SVGSVGElement>) => React.JSX.Element;
3
+ export default iconChat;
@@ -0,0 +1,3 @@
1
+ import React, { SVGProps } from "react";
2
+ declare const iconCloseDialog: ({ width, height, color }: SVGProps<SVGSVGElement>) => React.JSX.Element;
3
+ export default iconCloseDialog;
@@ -0,0 +1,3 @@
1
+ import React, { SVGProps } from "react";
2
+ declare const iconCorrectAnswer: ({ width, height, color }: SVGProps<SVGSVGElement>) => React.JSX.Element;
3
+ export default iconCorrectAnswer;
@@ -0,0 +1,3 @@
1
+ import React, { SVGProps } from "react";
2
+ declare const iconDownArrow: ({ width, height, color }: SVGProps<SVGSVGElement>) => React.JSX.Element;
3
+ export default iconDownArrow;
@@ -0,0 +1,3 @@
1
+ import React, { SVGProps } from "react";
2
+ declare const iconCorrectAnswer: ({ width, height, color }: SVGProps<SVGSVGElement>) => React.JSX.Element;
3
+ export default iconCorrectAnswer;
@@ -0,0 +1,3 @@
1
+ import React, { SVGProps } from "react";
2
+ declare const iconMeanTime: ({ width, height, color }: SVGProps<SVGSVGElement>) => React.JSX.Element;
3
+ export default iconMeanTime;
@@ -0,0 +1,3 @@
1
+ import React, { SVGProps } from "react";
2
+ declare const iconMyPoolTime: ({ width, height, color }: SVGProps<SVGSVGElement>) => React.JSX.Element;
3
+ export default iconMyPoolTime;
@@ -0,0 +1,3 @@
1
+ import React, { SVGProps } from "react";
2
+ declare const iconNoGrass: ({ width, height, color }: SVGProps<SVGSVGElement>) => React.JSX.Element;
3
+ export default iconNoGrass;
@@ -0,0 +1,3 @@
1
+ import React, { SVGProps } from "react";
2
+ declare const iconNoStarQuestion: ({ width, height, color }: SVGProps<SVGSVGElement>) => React.JSX.Element;
3
+ export default iconNoStarQuestion;
@@ -0,0 +1,3 @@
1
+ import React, { SVGProps } from "react";
2
+ declare const iconStarQuestion: ({ width, height, color }: SVGProps<SVGSVGElement>) => React.JSX.Element;
3
+ export default iconStarQuestion;
@@ -0,0 +1,3 @@
1
+ import React, { SVGProps } from "react";
2
+ declare const iconTopTime: ({ width, height, color }: SVGProps<SVGSVGElement>) => React.JSX.Element;
3
+ export default iconTopTime;
@@ -0,0 +1,3 @@
1
+ import React, { SVGProps } from "react";
2
+ declare const iconUpArrow: ({ width, height, color }: SVGProps<SVGSVGElement>) => React.JSX.Element;
3
+ export default iconUpArrow;
@@ -0,0 +1,3 @@
1
+ import React, { SVGProps } from "react";
2
+ declare const iconWarning: ({ width, height, color }: SVGProps<SVGSVGElement>) => React.JSX.Element;
3
+ export default iconWarning;
@@ -0,0 +1,3 @@
1
+ import React, { SVGProps } from "react";
2
+ declare const iconX: ({ width, height, color }: SVGProps<SVGSVGElement>) => React.JSX.Element;
3
+ export default iconX;
@@ -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?: "xs" | "lg" | "xl";
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;
@@ -9,6 +9,7 @@ interface Props {
9
9
  isDelete?: boolean;
10
10
  title?: string;
11
11
  confirmText?: string;
12
+ titleClassName?: string;
12
13
  }
13
14
  export declare const ConfirmDialog: FC<Props>;
14
15
  export {};
@@ -0,0 +1,4 @@
1
+ import { FC } from "react";
2
+ import { TextFieldProps } from "@mui/material";
3
+ declare const InputText: FC<TextFieldProps>;
4
+ export default InputText;
@@ -0,0 +1,9 @@
1
+ import { FC } from "react";
2
+ interface Props {
3
+ id?: string;
4
+ value: number;
5
+ onChange: Function;
6
+ isDisabled?: boolean;
7
+ }
8
+ declare const AnswerCountSelector: FC<Props>;
9
+ export default AnswerCountSelector;
@@ -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,9 @@
1
+ import { FC } from "react";
2
+ interface Props {
3
+ id?: string;
4
+ value: number;
5
+ onChange: Function;
6
+ isDisabled?: boolean;
7
+ }
8
+ declare const QuestionCountSelector: FC<Props>;
9
+ export default QuestionCountSelector;
@@ -0,0 +1,9 @@
1
+ import { FC } from "react";
2
+ interface Props {
3
+ id?: string;
4
+ value: number;
5
+ onChange: Function;
6
+ isDisabled?: boolean;
7
+ }
8
+ declare const ScoreSelector: FC<Props>;
9
+ export default ScoreSelector;
@@ -0,0 +1,4 @@
1
+ export declare const SCORE_OPTIONS: number[];
2
+ export declare const QUESTION_OPTIONS: number[];
3
+ export declare const ANSWER_OPTIONS: number[];
4
+ export declare const DEFAULT_SCORE = 2;
@@ -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,5 @@
1
+ import React from "react";
2
+ import { EffectSize } from "../../configs/types";
3
+ export default function CompareGrass({ effectSize }: {
4
+ effectSize: EffectSize[];
5
+ }): React.JSX.Element;
@@ -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;
@@ -0,0 +1,7 @@
1
+ import { FC } from "react";
2
+ declare type Props = {
3
+ searchParams: string;
4
+ onNavigate: Function;
5
+ };
6
+ declare const ExamResultV2: FC<Props>;
7
+ export default ExamResultV2;
@@ -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,4 +1,4 @@
1
- import { FC } from 'react';
1
+ import { FC } from "react";
2
2
  export interface QuestionViewProps {
3
3
  index: number;
4
4
  question: any;
@@ -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,9 +1,8 @@
1
1
  import { Exam } from "./types";
2
2
  export interface ExamDetailViewProps {
3
3
  className?: string;
4
- categoryOptions: any[];
5
4
  exam: Exam;
6
5
  isDisabled?: boolean;
6
+ isEdit?: boolean;
7
7
  onChangeExam: (value: Exam) => void;
8
- isUsingMui?: boolean;
9
8
  }
@@ -9,6 +9,7 @@ export declare type Question = {
9
9
  };
10
10
  export declare type Exam = {
11
11
  title: string;
12
+ subjectId: number;
12
13
  duration: number;
13
14
  questions: Question[];
14
15
  };
@@ -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>>;