ei-dev-shared
Version:
Shared components for EnAble India Projects
111 lines • 3.69 kB
TypeScript
import { AllowedKeysForActionMap, AllowedKeysForApplicationMapBrowser, AllowedKeysForApplicationMapExcel, AllowedKeysForApplicationMapWord, PressKeyAction, TypingAction } from "./actionKeyMap";
import { AcceptableDataTypes } from "./UserProgress.type";
export type STWordType = {
id: string;
word: string;
complexity_score: number;
module_id: string;
};
export type ExerciseType = {
id: string;
question: string;
description?: string;
data: {
score: number;
template: ExerciseTemplateTypes;
templateData: MCQSingleExerciseTemplateData | MCQMultipleExerciseTemplateData | TextAnswerExerciseTemplateData | FillInTheBlankExerciseTemplateData | STFillInTheBlankExerciseTemplateData | FillInTheBlankExerciseTemplateDataMissing | STDropdownExerciseTemplateData | STMCQSingleExerciseTemplateData | STSentenceTypingExerciseTemplateData | STSelfEvaluationResultTemplateData | DragAndDropExerciseTemplateData | SystemActionExerciseTemplateData;
systemPreSteps?: PreparatoryStep[];
userPreSteps?: Omit<SystemActionExerciseTemplateData, "correct">[];
words?: STWordType[];
custom?: {
[key: string]: AcceptableDataTypes;
};
};
};
export type ExerciseTemplateTypes = "mcq-single" | "mcq-multiple" | "text-answer" | "fill-in-the-blank" | "st-fill-in-the-blank" | "fill-in-the-blank-missing" | "st-mcq-single" | "st-sentence-typing" | "st-dropdown" | "st-self-evaluation-result" | "drag-and-drop" | "system-action";
export type MCQSingleExerciseTemplateData = {
type: "mcq-single";
options: {
id: string;
text: string;
}[];
correct: string;
};
export type MCQMultipleExerciseTemplateData = {
type: "mcq-multiple";
options: {
id: string;
text: string;
}[];
matchAll?: boolean;
correct: string[];
};
export type TextAnswerExerciseTemplateData = {
type: "text-answer";
correct: string;
};
export type FillInTheBlankExerciseTemplateData = {
wordsToBlank?: string[];
type: "fill-in-the-blank";
correct: string[];
};
export type STFillInTheBlankExerciseTemplateData = {
wordsToBlank?: string[];
type: "st-fill-in-the-blank";
correct: string[];
};
export type STMCQSingleExerciseTemplateData = {
type: "st-mcq-single";
correct: string[];
incorrect: string[];
};
export type STSentenceTypingExerciseTemplateData = {
type: "st-sentence-typing";
correct: string;
};
export type STDropdownExerciseTemplateData = {
type: "st-dropdown";
items: {
word: string;
definition: string;
}[];
correct: string[];
};
export type FillInTheBlankExerciseTemplateDataMissing = {
wordsToBlank?: string[];
type: "fill-in-the-blank-missing";
correct: string[];
showVowels: boolean;
};
export type STSelfEvaluationResultTemplateData = {
type: "st-self-evaluation-result";
data?: {
[key: string]: AcceptableDataTypes;
};
correct: string[];
};
export type DragAndDropExerciseTemplateData = {
type: "drag-and-drop";
columns: {
id: string;
text: string[];
}[];
correct: {
[key: string]: string;
}[];
};
export type SystemActionExerciseTemplateData = {
type: "system-action";
steps: (AllowedKeysForActionMap | AllowedKeysForApplicationMapBrowser | AllowedKeysForApplicationMapExcel | AllowedKeysForApplicationMapWord | TypingAction | PressKeyAction)[];
correct: {
validationFn: string;
validationArgs: string[];
};
};
export type PreparatoryStep = {
action: {
fn: string;
fnArgs: string[];
};
};
//# sourceMappingURL=Exercise.type.d.ts.map