@digabi/exam-engine-core 23.0.0 → 23.0.2
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/__tests__/tsconfig.tsbuildinfo +1 -1
- package/dist/components/exam/ExamineExam.d.ts +5 -0
- package/dist/components/exam/ExamineExam.d.ts.map +1 -0
- package/dist/components/exam/ExamineExam.js +20 -0
- package/dist/components/exam/ExamineExam.js.map +1 -0
- package/dist/main-bundle.js +2 -4
- package/dist/src/components/AnswerToolbar.d.ts +18 -0
- package/dist/src/components/AnswerToolbar.d.ts.map +1 -0
- package/dist/src/components/AnswerToolbar.js +36 -0
- package/dist/src/components/AnswerToolbar.js.map +1 -0
- package/dist/src/components/AnsweringInstructions.d.ts +12 -0
- package/dist/src/components/AnsweringInstructions.d.ts.map +1 -0
- package/dist/src/components/AnsweringInstructions.js +24 -0
- package/dist/src/components/AnsweringInstructions.js.map +1 -0
- package/dist/src/components/DocumentTitle.d.ts +5 -0
- package/dist/src/components/DocumentTitle.d.ts.map +1 -0
- package/dist/src/components/DocumentTitle.js +13 -0
- package/dist/src/components/DocumentTitle.js.map +1 -0
- package/dist/src/components/NotificationIcon.d.ts +4 -0
- package/dist/src/components/NotificationIcon.d.ts.map +1 -0
- package/dist/src/components/NotificationIcon.js +6 -0
- package/dist/src/components/NotificationIcon.js.map +1 -0
- package/dist/src/components/RenderChildNodes.d.ts +5 -0
- package/dist/src/components/RenderChildNodes.d.ts.map +1 -0
- package/dist/src/components/RenderChildNodes.js +7 -0
- package/dist/src/components/RenderChildNodes.js.map +1 -0
- package/dist/src/components/RenderExamElements.d.ts +6 -0
- package/dist/src/components/RenderExamElements.d.ts.map +1 -0
- package/dist/src/components/RenderExamElements.js +6 -0
- package/dist/src/components/RenderExamElements.js.map +1 -0
- package/dist/src/components/RenderIf.d.ts +4 -0
- package/dist/src/components/RenderIf.d.ts.map +1 -0
- package/dist/src/components/RenderIf.js +8 -0
- package/dist/src/components/RenderIf.js.map +1 -0
- package/dist/src/components/ScreenReaderOnly.d.ts +5 -0
- package/dist/src/components/ScreenReaderOnly.d.ts.map +1 -0
- package/dist/src/components/ScreenReaderOnly.js +3 -0
- package/dist/src/components/ScreenReaderOnly.js.map +1 -0
- package/dist/src/components/SectionElement.d.ts +4 -0
- package/dist/src/components/SectionElement.d.ts.map +1 -0
- package/dist/src/components/SectionElement.js +8 -0
- package/dist/src/components/SectionElement.js.map +1 -0
- package/dist/src/components/attachments/Attachment.d.ts +4 -0
- package/dist/src/components/attachments/Attachment.d.ts.map +1 -0
- package/dist/src/components/attachments/Attachment.js +8 -0
- package/dist/src/components/attachments/Attachment.js.map +1 -0
- package/dist/src/components/attachments/AttachmentTitle.d.ts +6 -0
- package/dist/src/components/attachments/AttachmentTitle.d.ts.map +1 -0
- package/dist/src/components/attachments/AttachmentTitle.js +12 -0
- package/dist/src/components/attachments/AttachmentTitle.js.map +1 -0
- package/dist/src/components/attachments/Attachments.d.ts +5 -0
- package/dist/src/components/attachments/Attachments.d.ts.map +1 -0
- package/dist/src/components/attachments/Attachments.js +55 -0
- package/dist/src/components/attachments/Attachments.js.map +1 -0
- package/dist/src/components/attachments/ExternalMaterial.d.ts +9 -0
- package/dist/src/components/attachments/ExternalMaterial.d.ts.map +1 -0
- package/dist/src/components/attachments/ExternalMaterial.js +46 -0
- package/dist/src/components/attachments/ExternalMaterial.js.map +1 -0
- package/dist/src/components/attachments/Question.d.ts +4 -0
- package/dist/src/components/attachments/Question.d.ts.map +1 -0
- package/dist/src/components/attachments/Question.js +16 -0
- package/dist/src/components/attachments/Question.js.map +1 -0
- package/dist/src/components/attachments/QuestionTitle.d.ts +6 -0
- package/dist/src/components/attachments/QuestionTitle.d.ts.map +1 -0
- package/dist/src/components/attachments/QuestionTitle.js +15 -0
- package/dist/src/components/attachments/QuestionTitle.js.map +1 -0
- package/dist/src/components/context/AnnotationProvider.d.ts +16 -0
- package/dist/src/components/context/AnnotationProvider.d.ts.map +1 -0
- package/dist/src/components/context/AnnotationProvider.js +35 -0
- package/dist/src/components/context/AnnotationProvider.js.map +1 -0
- package/dist/src/components/context/AttachmentContext.d.ts +13 -0
- package/dist/src/components/context/AttachmentContext.d.ts.map +1 -0
- package/dist/src/components/context/AttachmentContext.js +12 -0
- package/dist/src/components/context/AttachmentContext.js.map +1 -0
- package/dist/src/components/context/CommonExamContext.d.ts +22 -0
- package/dist/src/components/context/CommonExamContext.d.ts.map +1 -0
- package/dist/src/components/context/CommonExamContext.js +28 -0
- package/dist/src/components/context/CommonExamContext.js.map +1 -0
- package/dist/src/components/context/ExamContext.d.ts +9 -0
- package/dist/src/components/context/ExamContext.d.ts.map +1 -0
- package/dist/src/components/context/ExamContext.js +11 -0
- package/dist/src/components/context/ExamContext.js.map +1 -0
- package/dist/src/components/context/IsInSidebarContext.d.ts +6 -0
- package/dist/src/components/context/IsInSidebarContext.d.ts.map +1 -0
- package/dist/src/components/context/IsInSidebarContext.js +3 -0
- package/dist/src/components/context/IsInSidebarContext.js.map +1 -0
- package/dist/src/components/context/QuestionContext.d.ts +14 -0
- package/dist/src/components/context/QuestionContext.d.ts.map +1 -0
- package/dist/src/components/context/QuestionContext.js +27 -0
- package/dist/src/components/context/QuestionContext.js.map +1 -0
- package/dist/src/components/context/ResultsContext.d.ts +17 -0
- package/dist/src/components/context/ResultsContext.d.ts.map +1 -0
- package/dist/src/components/context/ResultsContext.js +69 -0
- package/dist/src/components/context/ResultsContext.js.map +1 -0
- package/dist/src/components/context/SectionContext.d.ts +12 -0
- package/dist/src/components/context/SectionContext.d.ts.map +1 -0
- package/dist/src/components/context/SectionContext.js +21 -0
- package/dist/src/components/context/SectionContext.js.map +1 -0
- package/dist/src/components/context/TOCContext.d.ts +7 -0
- package/dist/src/components/context/TOCContext.d.ts.map +1 -0
- package/dist/src/components/context/TOCContext.js +3 -0
- package/dist/src/components/context/TOCContext.js.map +1 -0
- package/dist/src/components/context/withContext.d.ts +3 -0
- package/dist/src/components/context/withContext.d.ts.map +1 -0
- package/dist/src/components/context/withContext.js +12 -0
- package/dist/src/components/context/withContext.js.map +1 -0
- package/dist/src/components/exam/Attachment.d.ts +4 -0
- package/dist/src/components/exam/Attachment.d.ts.map +1 -0
- package/dist/src/components/exam/Attachment.js +8 -0
- package/dist/src/components/exam/Attachment.js.map +1 -0
- package/dist/src/components/exam/ChoiceAnswer.d.ts +5 -0
- package/dist/src/components/exam/ChoiceAnswer.d.ts.map +1 -0
- package/dist/src/components/exam/ChoiceAnswer.js +53 -0
- package/dist/src/components/exam/ChoiceAnswer.js.map +1 -0
- package/dist/src/components/exam/DropdownAnswer.d.ts +5 -0
- package/dist/src/components/exam/DropdownAnswer.d.ts.map +1 -0
- package/dist/src/components/exam/DropdownAnswer.js +101 -0
- package/dist/src/components/exam/DropdownAnswer.js.map +1 -0
- package/dist/src/components/exam/Exam.d.ts +48 -0
- package/dist/src/components/exam/Exam.d.ts.map +1 -0
- package/dist/src/components/exam/Exam.js +195 -0
- package/dist/src/components/exam/Exam.js.map +1 -0
- package/dist/src/components/exam/ExamFooter.d.ts +6 -0
- package/dist/src/components/exam/ExamFooter.d.ts.map +1 -0
- package/dist/src/components/exam/ExamFooter.js +6 -0
- package/dist/src/components/exam/ExamFooter.js.map +1 -0
- package/dist/src/components/exam/ExamInstruction.d.ts +6 -0
- package/dist/src/components/exam/ExamInstruction.d.ts.map +1 -0
- package/dist/src/components/exam/ExamInstruction.js +6 -0
- package/dist/src/components/exam/ExamInstruction.js.map +1 -0
- package/dist/src/components/exam/ExternalMaterial.d.ts +10 -0
- package/dist/src/components/exam/ExternalMaterial.d.ts.map +1 -0
- package/dist/src/components/exam/ExternalMaterial.js +33 -0
- package/dist/src/components/exam/ExternalMaterial.js.map +1 -0
- package/dist/src/components/exam/GoToExamineAnswersButton.d.ts +5 -0
- package/dist/src/components/exam/GoToExamineAnswersButton.d.ts.map +1 -0
- package/dist/src/components/exam/GoToExamineAnswersButton.js +18 -0
- package/dist/src/components/exam/GoToExamineAnswersButton.js.map +1 -0
- package/dist/src/components/exam/Hints.d.ts +5 -0
- package/dist/src/components/exam/Hints.d.ts.map +1 -0
- package/dist/src/components/exam/Hints.js +31 -0
- package/dist/src/components/exam/Hints.js.map +1 -0
- package/dist/src/components/exam/Question.d.ts +8 -0
- package/dist/src/components/exam/Question.d.ts.map +1 -0
- package/dist/src/components/exam/Question.js +75 -0
- package/dist/src/components/exam/Question.js.map +1 -0
- package/dist/src/components/exam/QuestionInstruction.d.ts +6 -0
- package/dist/src/components/exam/QuestionInstruction.d.ts.map +1 -0
- package/dist/src/components/exam/QuestionInstruction.js +8 -0
- package/dist/src/components/exam/QuestionInstruction.js.map +1 -0
- package/dist/src/components/exam/QuestionTitle.d.ts +5 -0
- package/dist/src/components/exam/QuestionTitle.d.ts.map +1 -0
- package/dist/src/components/exam/QuestionTitle.js +26 -0
- package/dist/src/components/exam/QuestionTitle.js.map +1 -0
- package/dist/src/components/exam/RichTextAnswer.d.ts +41 -0
- package/dist/src/components/exam/RichTextAnswer.d.ts.map +1 -0
- package/dist/src/components/exam/RichTextAnswer.js +79 -0
- package/dist/src/components/exam/RichTextAnswer.js.map +1 -0
- package/dist/src/components/exam/Section.d.ts +4 -0
- package/dist/src/components/exam/Section.d.ts.map +1 -0
- package/dist/src/components/exam/Section.js +49 -0
- package/dist/src/components/exam/Section.js.map +1 -0
- package/dist/src/components/exam/SectionInstruction.d.ts +6 -0
- package/dist/src/components/exam/SectionInstruction.d.ts.map +1 -0
- package/dist/src/components/exam/SectionInstruction.js +6 -0
- package/dist/src/components/exam/SectionInstruction.js.map +1 -0
- package/dist/src/components/exam/SectionTitle.d.ts +6 -0
- package/dist/src/components/exam/SectionTitle.d.ts.map +1 -0
- package/dist/src/components/exam/SectionTitle.js +30 -0
- package/dist/src/components/exam/SectionTitle.js.map +1 -0
- package/dist/src/components/exam/StudentNameHeader.d.ts +8 -0
- package/dist/src/components/exam/StudentNameHeader.d.ts.map +1 -0
- package/dist/src/components/exam/StudentNameHeader.js +3 -0
- package/dist/src/components/exam/StudentNameHeader.js.map +1 -0
- package/dist/src/components/exam/TextAnswer.d.ts +6 -0
- package/dist/src/components/exam/TextAnswer.d.ts.map +1 -0
- package/dist/src/components/exam/TextAnswer.js +20 -0
- package/dist/src/components/exam/TextAnswer.js.map +1 -0
- package/dist/src/components/exam/UndoHistoryEntry.d.ts +19 -0
- package/dist/src/components/exam/UndoHistoryEntry.d.ts.map +1 -0
- package/dist/src/components/exam/UndoHistoryEntry.js +39 -0
- package/dist/src/components/exam/UndoHistoryEntry.js.map +1 -0
- package/dist/src/components/exam/UndoView.d.ts +35 -0
- package/dist/src/components/exam/UndoView.d.ts.map +1 -0
- package/dist/src/components/exam/UndoView.js +162 -0
- package/dist/src/components/exam/UndoView.js.map +1 -0
- package/dist/src/components/exam/internal/ErrorIndicator.d.ts +9 -0
- package/dist/src/components/exam/internal/ErrorIndicator.d.ts.map +1 -0
- package/dist/src/components/exam/internal/ErrorIndicator.js +63 -0
- package/dist/src/components/exam/internal/ErrorIndicator.js.map +1 -0
- package/dist/src/components/exam/internal/ProgressBar.d.ts +8 -0
- package/dist/src/components/exam/internal/ProgressBar.d.ts.map +1 -0
- package/dist/src/components/exam/internal/ProgressBar.js +19 -0
- package/dist/src/components/exam/internal/ProgressBar.js.map +1 -0
- package/dist/src/components/exam/internal/SaveIndicator.d.ts +5 -0
- package/dist/src/components/exam/internal/SaveIndicator.d.ts.map +1 -0
- package/dist/src/components/exam/internal/SaveIndicator.js +16 -0
- package/dist/src/components/exam/internal/SaveIndicator.js.map +1 -0
- package/dist/src/components/exam/internal/TextAnswerInput.d.ts +6 -0
- package/dist/src/components/exam/internal/TextAnswerInput.d.ts.map +1 -0
- package/dist/src/components/exam/internal/TextAnswerInput.js +128 -0
- package/dist/src/components/exam/internal/TextAnswerInput.js.map +1 -0
- package/dist/src/components/grading/AnswerCharacterCounter.d.ts +6 -0
- package/dist/src/components/grading/AnswerCharacterCounter.d.ts.map +1 -0
- package/dist/src/components/grading/AnswerCharacterCounter.js +21 -0
- package/dist/src/components/grading/AnswerCharacterCounter.js.map +1 -0
- package/dist/src/components/grading/GradingAnswer.d.ts +24 -0
- package/dist/src/components/grading/GradingAnswer.d.ts.map +1 -0
- package/dist/src/components/grading/GradingAnswer.js +306 -0
- package/dist/src/components/grading/GradingAnswer.js.map +1 -0
- package/dist/src/components/grading/GradingAnswerAnnotationList.d.ts +9 -0
- package/dist/src/components/grading/GradingAnswerAnnotationList.d.ts.map +1 -0
- package/dist/src/components/grading/GradingAnswerAnnotationList.js +19 -0
- package/dist/src/components/grading/GradingAnswerAnnotationList.js.map +1 -0
- package/dist/src/components/grading/editAnnotations.d.ts +29 -0
- package/dist/src/components/grading/editAnnotations.d.ts.map +1 -0
- package/dist/src/components/grading/editAnnotations.js +190 -0
- package/dist/src/components/grading/editAnnotations.js.map +1 -0
- package/dist/src/components/grading/examAnnotationUtils.d.ts +3 -0
- package/dist/src/components/grading/examAnnotationUtils.d.ts.map +1 -0
- package/dist/src/components/grading/examAnnotationUtils.js +44 -0
- package/dist/src/components/grading/examAnnotationUtils.js.map +1 -0
- package/dist/src/components/grading/largeImageDetector.d.ts +3 -0
- package/dist/src/components/grading/largeImageDetector.d.ts.map +1 -0
- package/dist/src/components/grading/largeImageDetector.js +45 -0
- package/dist/src/components/grading/largeImageDetector.js.map +1 -0
- package/dist/src/components/grading-instructions/AnswerGradingInstruction.d.ts +5 -0
- package/dist/src/components/grading-instructions/AnswerGradingInstruction.d.ts.map +1 -0
- package/dist/src/components/grading-instructions/AnswerGradingInstruction.js +4 -0
- package/dist/src/components/grading-instructions/AnswerGradingInstruction.js.map +1 -0
- package/dist/src/components/grading-instructions/AutogradedAnswer.d.ts +5 -0
- package/dist/src/components/grading-instructions/AutogradedAnswer.d.ts.map +1 -0
- package/dist/src/components/grading-instructions/AutogradedAnswer.js +34 -0
- package/dist/src/components/grading-instructions/AutogradedAnswer.js.map +1 -0
- package/dist/src/components/grading-instructions/AutogradedAnswerOption.d.ts +5 -0
- package/dist/src/components/grading-instructions/AutogradedAnswerOption.d.ts.map +1 -0
- package/dist/src/components/grading-instructions/AutogradedAnswerOption.js +17 -0
- package/dist/src/components/grading-instructions/AutogradedAnswerOption.js.map +1 -0
- package/dist/src/components/grading-instructions/ExamGradingInstruction.d.ts +5 -0
- package/dist/src/components/grading-instructions/ExamGradingInstruction.d.ts.map +1 -0
- package/dist/src/components/grading-instructions/ExamGradingInstruction.js +4 -0
- package/dist/src/components/grading-instructions/ExamGradingInstruction.js.map +1 -0
- package/dist/src/components/grading-instructions/GradingInstructions.d.ts +6 -0
- package/dist/src/components/grading-instructions/GradingInstructions.d.ts.map +1 -0
- package/dist/src/components/grading-instructions/GradingInstructions.js +109 -0
- package/dist/src/components/grading-instructions/GradingInstructions.js.map +1 -0
- package/dist/src/components/grading-instructions/Question.d.ts +4 -0
- package/dist/src/components/grading-instructions/Question.d.ts.map +1 -0
- package/dist/src/components/grading-instructions/Question.js +14 -0
- package/dist/src/components/grading-instructions/Question.js.map +1 -0
- package/dist/src/components/grading-instructions/QuestionTitle.d.ts +5 -0
- package/dist/src/components/grading-instructions/QuestionTitle.d.ts.map +1 -0
- package/dist/src/components/grading-instructions/QuestionTitle.js +19 -0
- package/dist/src/components/grading-instructions/QuestionTitle.js.map +1 -0
- package/dist/src/components/grading-instructions/Recording.d.ts +5 -0
- package/dist/src/components/grading-instructions/Recording.d.ts.map +1 -0
- package/dist/src/components/grading-instructions/Recording.js +19 -0
- package/dist/src/components/grading-instructions/Recording.js.map +1 -0
- package/dist/src/components/grading-instructions/Section.d.ts +4 -0
- package/dist/src/components/grading-instructions/Section.d.ts.map +1 -0
- package/dist/src/components/grading-instructions/Section.js +10 -0
- package/dist/src/components/grading-instructions/Section.js.map +1 -0
- package/dist/src/components/grading-instructions/SectionTitle.d.ts +5 -0
- package/dist/src/components/grading-instructions/SectionTitle.d.ts.map +1 -0
- package/dist/src/components/grading-instructions/SectionTitle.js +16 -0
- package/dist/src/components/grading-instructions/SectionTitle.js.map +1 -0
- package/dist/src/components/results/ChoiceAnswer.d.ts +6 -0
- package/dist/src/components/results/ChoiceAnswer.d.ts.map +1 -0
- package/dist/src/components/results/ChoiceAnswer.js +57 -0
- package/dist/src/components/results/ChoiceAnswer.js.map +1 -0
- package/dist/src/components/results/DropdownAnswer.d.ts +6 -0
- package/dist/src/components/results/DropdownAnswer.d.ts.map +1 -0
- package/dist/src/components/results/DropdownAnswer.js +43 -0
- package/dist/src/components/results/DropdownAnswer.js.map +1 -0
- package/dist/src/components/results/EndExamSession.d.ts +8 -0
- package/dist/src/components/results/EndExamSession.d.ts.map +1 -0
- package/dist/src/components/results/EndExamSession.js +20 -0
- package/dist/src/components/results/EndExamSession.js.map +1 -0
- package/dist/src/components/results/MultiLineAnswer.d.ts +8 -0
- package/dist/src/components/results/MultiLineAnswer.d.ts.map +1 -0
- package/dist/src/components/results/MultiLineAnswer.js +22 -0
- package/dist/src/components/results/MultiLineAnswer.js.map +1 -0
- package/dist/src/components/results/Question.d.ts +4 -0
- package/dist/src/components/results/Question.d.ts.map +1 -0
- package/dist/src/components/results/Question.js +31 -0
- package/dist/src/components/results/Question.js.map +1 -0
- package/dist/src/components/results/QuestionTitle.d.ts +6 -0
- package/dist/src/components/results/QuestionTitle.d.ts.map +1 -0
- package/dist/src/components/results/QuestionTitle.js +26 -0
- package/dist/src/components/results/QuestionTitle.js.map +1 -0
- package/dist/src/components/results/Results.d.ts +19 -0
- package/dist/src/components/results/Results.d.ts.map +1 -0
- package/dist/src/components/results/Results.js +136 -0
- package/dist/src/components/results/Results.js.map +1 -0
- package/dist/src/components/results/ScoredTextAnswer.d.ts +6 -0
- package/dist/src/components/results/ScoredTextAnswer.d.ts.map +1 -0
- package/dist/src/components/results/ScoredTextAnswer.js +22 -0
- package/dist/src/components/results/ScoredTextAnswer.js.map +1 -0
- package/dist/src/components/results/Section.d.ts +4 -0
- package/dist/src/components/results/Section.d.ts.map +1 -0
- package/dist/src/components/results/Section.js +11 -0
- package/dist/src/components/results/Section.js.map +1 -0
- package/dist/src/components/results/SingleLineAnswer.d.ts +12 -0
- package/dist/src/components/results/SingleLineAnswer.d.ts.map +1 -0
- package/dist/src/components/results/SingleLineAnswer.js +26 -0
- package/dist/src/components/results/SingleLineAnswer.js.map +1 -0
- package/dist/src/components/results/TextAnswer.d.ts +7 -0
- package/dist/src/components/results/TextAnswer.d.ts.map +1 -0
- package/dist/src/components/results/TextAnswer.js +48 -0
- package/dist/src/components/results/TextAnswer.js.map +1 -0
- package/dist/src/components/results/internal/AnnotationList.d.ts +5 -0
- package/dist/src/components/results/internal/AnnotationList.d.ts.map +1 -0
- package/dist/src/components/results/internal/AnnotationList.js +32 -0
- package/dist/src/components/results/internal/AnnotationList.js.map +1 -0
- package/dist/src/components/results/internal/QuestionAutoScore.d.ts +11 -0
- package/dist/src/components/results/internal/QuestionAutoScore.d.ts.map +1 -0
- package/dist/src/components/results/internal/QuestionAutoScore.js +17 -0
- package/dist/src/components/results/internal/QuestionAutoScore.js.map +1 -0
- package/dist/src/components/results/internal/QuestionManualScore.d.ts +13 -0
- package/dist/src/components/results/internal/QuestionManualScore.d.ts.map +1 -0
- package/dist/src/components/results/internal/QuestionManualScore.js +66 -0
- package/dist/src/components/results/internal/QuestionManualScore.js.map +1 -0
- package/dist/src/components/results/internal/QuestionScoresContainer.d.ts +11 -0
- package/dist/src/components/results/internal/QuestionScoresContainer.d.ts.map +1 -0
- package/dist/src/components/results/internal/QuestionScoresContainer.js +27 -0
- package/dist/src/components/results/internal/QuestionScoresContainer.js.map +1 -0
- package/dist/src/components/results/isExamineExamPageHook.d.ts +2 -0
- package/dist/src/components/results/isExamineExamPageHook.d.ts.map +1 -0
- package/dist/src/components/results/isExamineExamPageHook.js +7 -0
- package/dist/src/components/results/isExamineExamPageHook.js.map +1 -0
- package/dist/src/components/shared/AnnotatableText.d.ts +5 -0
- package/dist/src/components/shared/AnnotatableText.d.ts.map +1 -0
- package/dist/src/components/shared/AnnotatableText.js +73 -0
- package/dist/src/components/shared/AnnotatableText.js.map +1 -0
- package/dist/src/components/shared/AnnotationLists.d.ts +13 -0
- package/dist/src/components/shared/AnnotationLists.d.ts.map +1 -0
- package/dist/src/components/shared/AnnotationLists.js +17 -0
- package/dist/src/components/shared/AnnotationLists.js.map +1 -0
- package/dist/src/components/shared/AnnotationPopup.d.ts +3 -0
- package/dist/src/components/shared/AnnotationPopup.d.ts.map +1 -0
- package/dist/src/components/shared/AnnotationPopup.js +74 -0
- package/dist/src/components/shared/AnnotationPopup.js.map +1 -0
- package/dist/src/components/shared/AnswerIndicator.d.ts +12 -0
- package/dist/src/components/shared/AnswerIndicator.d.ts.map +1 -0
- package/dist/src/components/shared/AnswerIndicator.js +27 -0
- package/dist/src/components/shared/AnswerIndicator.js.map +1 -0
- package/dist/src/components/shared/AnswerLengthInfo.d.ts +7 -0
- package/dist/src/components/shared/AnswerLengthInfo.d.ts.map +1 -0
- package/dist/src/components/shared/AnswerLengthInfo.js +11 -0
- package/dist/src/components/shared/AnswerLengthInfo.js.map +1 -0
- package/dist/src/components/shared/AttachmentLink.d.ts +5 -0
- package/dist/src/components/shared/AttachmentLink.d.ts.map +1 -0
- package/dist/src/components/shared/AttachmentLink.js +28 -0
- package/dist/src/components/shared/AttachmentLink.js.map +1 -0
- package/dist/src/components/shared/AttachmentLinks.d.ts +5 -0
- package/dist/src/components/shared/AttachmentLinks.d.ts.map +1 -0
- package/dist/src/components/shared/AttachmentLinks.js +58 -0
- package/dist/src/components/shared/AttachmentLinks.js.map +1 -0
- package/dist/src/components/shared/Audio.d.ts +6 -0
- package/dist/src/components/shared/Audio.d.ts.map +1 -0
- package/dist/src/components/shared/Audio.js +31 -0
- package/dist/src/components/shared/Audio.js.map +1 -0
- package/dist/src/components/shared/AudioGroup.d.ts +6 -0
- package/dist/src/components/shared/AudioGroup.d.ts.map +1 -0
- package/dist/src/components/shared/AudioGroup.js +9 -0
- package/dist/src/components/shared/AudioGroup.js.map +1 -0
- package/dist/src/components/shared/AudioTest.d.ts +6 -0
- package/dist/src/components/shared/AudioTest.d.ts.map +1 -0
- package/dist/src/components/shared/AudioTest.js +34 -0
- package/dist/src/components/shared/AudioTest.js.map +1 -0
- package/dist/src/components/shared/ExamTranslation.d.ts +6 -0
- package/dist/src/components/shared/ExamTranslation.d.ts.map +1 -0
- package/dist/src/components/shared/ExamTranslation.js +9 -0
- package/dist/src/components/shared/ExamTranslation.js.map +1 -0
- package/dist/src/components/shared/File.d.ts +6 -0
- package/dist/src/components/shared/File.d.ts.map +1 -0
- package/dist/src/components/shared/File.js +15 -0
- package/dist/src/components/shared/File.js.map +1 -0
- package/dist/src/components/shared/Footer.d.ts +5 -0
- package/dist/src/components/shared/Footer.d.ts.map +1 -0
- package/dist/src/components/shared/Footer.js +3 -0
- package/dist/src/components/shared/Footer.js.map +1 -0
- package/dist/src/components/shared/Formula.d.ts +6 -0
- package/dist/src/components/shared/Formula.d.ts.map +1 -0
- package/dist/src/components/shared/Formula.js +13 -0
- package/dist/src/components/shared/Formula.js.map +1 -0
- package/dist/src/components/shared/Image.d.ts +6 -0
- package/dist/src/components/shared/Image.d.ts.map +1 -0
- package/dist/src/components/shared/Image.js +30 -0
- package/dist/src/components/shared/Image.js.map +1 -0
- package/dist/src/components/shared/ImageOverlay.d.ts +6 -0
- package/dist/src/components/shared/ImageOverlay.d.ts.map +1 -0
- package/dist/src/components/shared/ImageOverlay.js +43 -0
- package/dist/src/components/shared/ImageOverlay.js.map +1 -0
- package/dist/src/components/shared/QuestionNumber.d.ts +4 -0
- package/dist/src/components/shared/QuestionNumber.d.ts.map +1 -0
- package/dist/src/components/shared/QuestionNumber.js +12 -0
- package/dist/src/components/shared/QuestionNumber.js.map +1 -0
- package/dist/src/components/shared/Reference.d.ts +6 -0
- package/dist/src/components/shared/Reference.d.ts.map +1 -0
- package/dist/src/components/shared/Reference.js +72 -0
- package/dist/src/components/shared/Reference.js.map +1 -0
- package/dist/src/components/shared/References.d.ts +6 -0
- package/dist/src/components/shared/References.d.ts.map +1 -0
- package/dist/src/components/shared/References.js +26 -0
- package/dist/src/components/shared/References.js.map +1 -0
- package/dist/src/components/shared/Score.d.ts +8 -0
- package/dist/src/components/shared/Score.d.ts.map +1 -0
- package/dist/src/components/shared/Score.js +13 -0
- package/dist/src/components/shared/Score.js.map +1 -0
- package/dist/src/components/shared/TOCQuestion.d.ts +4 -0
- package/dist/src/components/shared/TOCQuestion.d.ts.map +1 -0
- package/dist/src/components/shared/TOCQuestion.js +77 -0
- package/dist/src/components/shared/TOCQuestion.js.map +1 -0
- package/dist/src/components/shared/TOCSection.d.ts +7 -0
- package/dist/src/components/shared/TOCSection.d.ts.map +1 -0
- package/dist/src/components/shared/TOCSection.js +15 -0
- package/dist/src/components/shared/TOCSection.js.map +1 -0
- package/dist/src/components/shared/TOCSectionTitle.d.ts +4 -0
- package/dist/src/components/shared/TOCSectionTitle.d.ts.map +1 -0
- package/dist/src/components/shared/TOCSectionTitle.js +34 -0
- package/dist/src/components/shared/TOCSectionTitle.js.map +1 -0
- package/dist/src/components/shared/TableOfContents.d.ts +8 -0
- package/dist/src/components/shared/TableOfContents.d.ts.map +1 -0
- package/dist/src/components/shared/TableOfContents.js +61 -0
- package/dist/src/components/shared/TableOfContents.js.map +1 -0
- package/dist/src/components/shared/VersionNumber.d.ts +3 -0
- package/dist/src/components/shared/VersionNumber.d.ts.map +1 -0
- package/dist/src/components/shared/VersionNumber.js +10 -0
- package/dist/src/components/shared/VersionNumber.js.map +1 -0
- package/dist/src/components/shared/Video.d.ts +6 -0
- package/dist/src/components/shared/Video.d.ts.map +1 -0
- package/dist/src/components/shared/Video.js +22 -0
- package/dist/src/components/shared/Video.js.map +1 -0
- package/dist/src/components/shared/internal/AttachmentLinkAnchor.d.ts +8 -0
- package/dist/src/components/shared/internal/AttachmentLinkAnchor.d.ts.map +1 -0
- package/dist/src/components/shared/internal/AttachmentLinkAnchor.js +4 -0
- package/dist/src/components/shared/internal/AttachmentLinkAnchor.js.map +1 -0
- package/dist/src/components/shared/internal/AudioPlaybackError.d.ts +8 -0
- package/dist/src/components/shared/internal/AudioPlaybackError.d.ts.map +1 -0
- package/dist/src/components/shared/internal/AudioPlaybackError.js +17 -0
- package/dist/src/components/shared/internal/AudioPlaybackError.js.map +1 -0
- package/dist/src/components/shared/internal/ResponsiveMediaContainer.d.ts +18 -0
- package/dist/src/components/shared/internal/ResponsiveMediaContainer.d.ts.map +1 -0
- package/dist/src/components/shared/internal/ResponsiveMediaContainer.js +21 -0
- package/dist/src/components/shared/internal/ResponsiveMediaContainer.js.map +1 -0
- package/dist/src/components/shared/internal/RestrictedAudioPlayer.d.ts +12 -0
- package/dist/src/components/shared/internal/RestrictedAudioPlayer.d.ts.map +1 -0
- package/dist/src/components/shared/internal/RestrictedAudioPlayer.js +46 -0
- package/dist/src/components/shared/internal/RestrictedAudioPlayer.js.map +1 -0
- package/dist/src/components/surround.d.ts +8 -0
- package/dist/src/components/surround.d.ts.map +1 -0
- package/dist/src/components/surround.js +19 -0
- package/dist/src/components/surround.js.map +1 -0
- package/dist/src/createRenderChildNodes.d.ts +17 -0
- package/dist/src/createRenderChildNodes.d.ts.map +1 -0
- package/dist/src/createRenderChildNodes.js +64 -0
- package/dist/src/createRenderChildNodes.js.map +1 -0
- package/dist/src/dom-utils.d.ts +20 -0
- package/dist/src/dom-utils.d.ts.map +1 -0
- package/dist/src/dom-utils.js +164 -0
- package/dist/src/dom-utils.js.map +1 -0
- package/dist/src/fonts.d.ts +5 -0
- package/dist/src/fonts.d.ts.map +1 -0
- package/dist/src/fonts.js +16 -0
- package/dist/src/fonts.js.map +1 -0
- package/dist/src/formatting.d.ts +2 -0
- package/dist/src/formatting.d.ts.map +1 -0
- package/dist/src/formatting.js +4 -0
- package/dist/src/formatting.js.map +1 -0
- package/dist/src/getDisplayName.d.ts +4 -0
- package/dist/src/getDisplayName.d.ts.map +1 -0
- package/dist/src/getDisplayName.js +5 -0
- package/dist/src/getDisplayName.js.map +1 -0
- package/dist/src/i18n/A_E.d.ts +3 -0
- package/dist/src/i18n/A_E.d.ts.map +1 -0
- package/dist/src/i18n/A_E.js +8 -0
- package/dist/src/i18n/A_E.js.map +1 -0
- package/dist/src/i18n/BA.d.ts +3 -0
- package/dist/src/i18n/BA.d.ts.map +1 -0
- package/dist/src/i18n/BA.js +11 -0
- package/dist/src/i18n/BA.js.map +1 -0
- package/dist/src/i18n/CA.d.ts +3 -0
- package/dist/src/i18n/CA.d.ts.map +1 -0
- package/dist/src/i18n/CA.js +11 -0
- package/dist/src/i18n/CA.js.map +1 -0
- package/dist/src/i18n/EA.d.ts +3 -0
- package/dist/src/i18n/EA.d.ts.map +1 -0
- package/dist/src/i18n/EA.js +16 -0
- package/dist/src/i18n/EA.js.map +1 -0
- package/dist/src/i18n/FA.d.ts +3 -0
- package/dist/src/i18n/FA.d.ts.map +1 -0
- package/dist/src/i18n/FA.js +17 -0
- package/dist/src/i18n/FA.js.map +1 -0
- package/dist/src/i18n/GC.d.ts +3 -0
- package/dist/src/i18n/GC.d.ts.map +1 -0
- package/dist/src/i18n/GC.js +16 -0
- package/dist/src/i18n/GC.js.map +1 -0
- package/dist/src/i18n/I.d.ts +3 -0
- package/dist/src/i18n/I.d.ts.map +1 -0
- package/dist/src/i18n/I.js +21 -0
- package/dist/src/i18n/I.js.map +1 -0
- package/dist/src/i18n/M.d.ts +3 -0
- package/dist/src/i18n/M.d.ts.map +1 -0
- package/dist/src/i18n/M.js +4 -0
- package/dist/src/i18n/M.js.map +1 -0
- package/dist/src/i18n/O_E.d.ts +3 -0
- package/dist/src/i18n/O_E.d.ts.map +1 -0
- package/dist/src/i18n/O_E.js +7 -0
- package/dist/src/i18n/O_E.js.map +1 -0
- package/dist/src/i18n/PA.d.ts +3 -0
- package/dist/src/i18n/PA.d.ts.map +1 -0
- package/dist/src/i18n/PA.js +16 -0
- package/dist/src/i18n/PA.js.map +1 -0
- package/dist/src/i18n/SA.d.ts +3 -0
- package/dist/src/i18n/SA.d.ts.map +1 -0
- package/dist/src/i18n/SA.js +16 -0
- package/dist/src/i18n/SA.js.map +1 -0
- package/dist/src/i18n/TC.d.ts +3 -0
- package/dist/src/i18n/TC.d.ts.map +1 -0
- package/dist/src/i18n/TC.js +16 -0
- package/dist/src/i18n/TC.js.map +1 -0
- package/dist/src/i18n/VA.d.ts +3 -0
- package/dist/src/i18n/VA.d.ts.map +1 -0
- package/dist/src/i18n/VA.js +16 -0
- package/dist/src/i18n/VA.js.map +1 -0
- package/dist/src/i18n/Z.d.ts +3 -0
- package/dist/src/i18n/Z.d.ts.map +1 -0
- package/dist/src/i18n/Z.js +22 -0
- package/dist/src/i18n/Z.js.map +1 -0
- package/dist/src/i18n/fi-FI.d.ts +192 -0
- package/dist/src/i18n/fi-FI.d.ts.map +1 -0
- package/dist/src/i18n/fi-FI.js +182 -0
- package/dist/src/i18n/fi-FI.js.map +1 -0
- package/dist/src/i18n/index.d.ts +20 -0
- package/dist/src/i18n/index.d.ts.map +1 -0
- package/dist/src/i18n/index.js +128 -0
- package/dist/src/i18n/index.js.map +1 -0
- package/dist/src/i18n/sv-FI.d.ts +3 -0
- package/dist/src/i18n/sv-FI.d.ts.map +1 -0
- package/dist/src/i18n/sv-FI.js +181 -0
- package/dist/src/i18n/sv-FI.js.map +1 -0
- package/dist/src/ids.d.ts +14 -0
- package/dist/src/ids.d.ts.map +1 -0
- package/dist/src/ids.js +28 -0
- package/dist/src/ids.js.map +1 -0
- package/dist/src/index.d.ts +19 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +12 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/parser/parseExam.d.ts +2 -0
- package/dist/src/parser/parseExam.d.ts.map +1 -0
- package/dist/src/parser/parseExam.js +54 -0
- package/dist/src/parser/parseExam.js.map +1 -0
- package/dist/src/parser/parseExamStructure.d.ts +58 -0
- package/dist/src/parser/parseExamStructure.d.ts.map +1 -0
- package/dist/src/parser/parseExamStructure.js +40 -0
- package/dist/src/parser/parseExamStructure.js.map +1 -0
- package/dist/src/renderAnnotations.d.ts +7 -0
- package/dist/src/renderAnnotations.d.ts.map +1 -0
- package/dist/src/renderAnnotations.js +193 -0
- package/dist/src/renderAnnotations.js.map +1 -0
- package/dist/src/scrollToHash.d.ts +2 -0
- package/dist/src/scrollToHash.d.ts.map +1 -0
- package/dist/src/scrollToHash.js +24 -0
- package/dist/src/scrollToHash.js.map +1 -0
- package/dist/src/shortDisplayNumber.d.ts +2 -0
- package/dist/src/shortDisplayNumber.d.ts.map +1 -0
- package/dist/src/shortDisplayNumber.js +5 -0
- package/dist/src/shortDisplayNumber.js.map +1 -0
- package/dist/src/store/answers/actions.d.ts +33 -0
- package/dist/src/store/answers/actions.d.ts.map +1 -0
- package/dist/src/store/answers/actions.js +9 -0
- package/dist/src/store/answers/actions.js.map +1 -0
- package/dist/src/store/answers/reducer.d.ts +39 -0
- package/dist/src/store/answers/reducer.d.ts.map +1 -0
- package/dist/src/store/answers/reducer.js +55 -0
- package/dist/src/store/answers/reducer.js.map +1 -0
- package/dist/src/store/answers/sagas.d.ts +8 -0
- package/dist/src/store/answers/sagas.d.ts.map +1 -0
- package/dist/src/store/answers/sagas.js +60 -0
- package/dist/src/store/answers/sagas.js.map +1 -0
- package/dist/src/store/audio/actions.d.ts +29 -0
- package/dist/src/store/audio/actions.d.ts.map +1 -0
- package/dist/src/store/audio/actions.js +9 -0
- package/dist/src/store/audio/actions.js.map +1 -0
- package/dist/src/store/audio/reducer.d.ts +27 -0
- package/dist/src/store/audio/reducer.d.ts.map +1 -0
- package/dist/src/store/audio/reducer.js +55 -0
- package/dist/src/store/audio/reducer.js.map +1 -0
- package/dist/src/store/audio/sagas.d.ts +3 -0
- package/dist/src/store/audio/sagas.d.ts.map +1 -0
- package/dist/src/store/audio/sagas.js +68 -0
- package/dist/src/store/audio/sagas.js.map +1 -0
- package/dist/src/store/cas/actions.d.ts +19 -0
- package/dist/src/store/cas/actions.d.ts.map +1 -0
- package/dist/src/store/cas/actions.js +9 -0
- package/dist/src/store/cas/actions.js.map +1 -0
- package/dist/src/store/cas/reducer.d.ts +14 -0
- package/dist/src/store/cas/reducer.d.ts.map +1 -0
- package/dist/src/store/cas/reducer.js +24 -0
- package/dist/src/store/cas/reducer.js.map +1 -0
- package/dist/src/store/cas/sagas.d.ts +18 -0
- package/dist/src/store/cas/sagas.d.ts.map +1 -0
- package/dist/src/store/cas/sagas.js +36 -0
- package/dist/src/store/cas/sagas.js.map +1 -0
- package/dist/src/store/countdown.d.ts +4 -0
- package/dist/src/store/countdown.d.ts.map +1 -0
- package/dist/src/store/countdown.js +33 -0
- package/dist/src/store/countdown.js.map +1 -0
- package/dist/src/store/index.d.ts +78 -0
- package/dist/src/store/index.d.ts.map +1 -0
- package/dist/src/store/index.js +53 -0
- package/dist/src/store/index.js.map +1 -0
- package/dist/src/store/selectors.d.ts +9 -0
- package/dist/src/store/selectors.d.ts.map +1 -0
- package/dist/src/store/selectors.js +35 -0
- package/dist/src/store/selectors.js.map +1 -0
- package/dist/src/types/ExamAnswer.d.ts +22 -0
- package/dist/src/types/ExamAnswer.d.ts.map +1 -0
- package/dist/src/types/ExamAnswer.js +2 -0
- package/dist/src/types/ExamAnswer.js.map +1 -0
- package/dist/src/types/ExamServerAPI.d.ts +78 -0
- package/dist/src/types/ExamServerAPI.d.ts.map +1 -0
- package/dist/src/types/ExamServerAPI.js +2 -0
- package/dist/src/types/ExamServerAPI.js.map +1 -0
- package/dist/src/types/GradingStructure.d.ts +40 -0
- package/dist/src/types/GradingStructure.d.ts.map +1 -0
- package/dist/src/types/GradingStructure.js +2 -0
- package/dist/src/types/GradingStructure.js.map +1 -0
- package/dist/src/types/Score.d.ts +92 -0
- package/dist/src/types/Score.d.ts.map +1 -0
- package/dist/src/types/Score.js +2 -0
- package/dist/src/types/Score.js.map +1 -0
- package/dist/src/url.d.ts +7 -0
- package/dist/src/url.d.ts.map +1 -0
- package/dist/src/url.js +12 -0
- package/dist/src/url.js.map +1 -0
- package/dist/src/useCached.d.ts +3 -0
- package/dist/src/useCached.d.ts.map +1 -0
- package/dist/src/useCached.js +6 -0
- package/dist/src/useCached.js.map +1 -0
- package/dist/src/utils.d.ts +15 -0
- package/dist/src/utils.d.ts.map +1 -0
- package/dist/src/utils.js +35 -0
- package/dist/src/utils.js.map +1 -0
- package/dist/src/validateAnswers.d.ts +16 -0
- package/dist/src/validateAnswers.d.ts.map +1 -0
- package/dist/src/validateAnswers.js +89 -0
- package/dist/src/validateAnswers.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +3 -3
@@ -0,0 +1,35 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { onMouseDownForAnnotation } from '../grading/examAnnotationUtils';
|
3
|
+
import { AnnotationPopup } from '../shared/AnnotationPopup';
|
4
|
+
export const AnnotationContext = React.createContext({});
|
5
|
+
export const AnnotationProvider = ({ children, annotations, onClickAnnotation, onSaveAnnotation }) => {
|
6
|
+
const [newAnnotation, setNewAnnotation] = React.useState(null);
|
7
|
+
const [newAnnotationRef, setNewAnnotationRef] = React.useState();
|
8
|
+
const mouseUpCallback = (annotation) => {
|
9
|
+
setNewAnnotation(annotation);
|
10
|
+
};
|
11
|
+
function onMouseDown(e) {
|
12
|
+
const target = e.target;
|
13
|
+
const clickIsInPopup = target.closest('.annotation-popup');
|
14
|
+
if (!clickIsInPopup) {
|
15
|
+
setNewAnnotation(null);
|
16
|
+
}
|
17
|
+
onMouseDownForAnnotation(e, mouseUpCallback);
|
18
|
+
}
|
19
|
+
if (!onClickAnnotation && !onSaveAnnotation) {
|
20
|
+
return children;
|
21
|
+
}
|
22
|
+
return (React.createElement(AnnotationContext.Provider, { value: {
|
23
|
+
annotations,
|
24
|
+
onClickAnnotation,
|
25
|
+
onSaveAnnotation,
|
26
|
+
newAnnotation,
|
27
|
+
setNewAnnotation,
|
28
|
+
newAnnotationRef,
|
29
|
+
setNewAnnotationRef
|
30
|
+
} },
|
31
|
+
React.createElement("span", { onMouseDown: onMouseDown },
|
32
|
+
React.createElement(AnnotationPopup, null),
|
33
|
+
children)));
|
34
|
+
};
|
35
|
+
//# sourceMappingURL=AnnotationProvider.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"AnnotationProvider.js","sourceRoot":"","sources":["../../../../src/components/context/AnnotationProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAa3D,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAAC,EAA2B,CAAC,CAAA;AAEjF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EACjC,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EACQ,EAAE,EAAE;IAC5B,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAA2B,IAAI,CAAC,CAAA;IACxF,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAe,CAAA;IAE7E,MAAM,eAAe,GAAG,CAAC,UAA6B,EAAE,EAAE;QACxD,gBAAgB,CAAC,UAAU,CAAC,CAAA;IAC9B,CAAC,CAAA;IAED,SAAS,WAAW,CAAC,CAAmB;QACtC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAiB,CAAA;QAClC,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;QAC1D,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACxB,CAAC;QACD,wBAAwB,CAAC,CAAC,EAAE,eAAe,CAAC,CAAA;IAC9C,CAAC;IAED,IAAI,CAAC,iBAAiB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5C,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,OAAO,CACL,oBAAC,iBAAiB,CAAC,QAAQ,IACzB,KAAK,EAAE;YACL,WAAW;YACX,iBAAiB;YACjB,gBAAgB;YAChB,aAAa;YACb,gBAAgB;YAChB,gBAAgB;YAChB,mBAAmB;SACpB;QAED,8BAAM,WAAW,EAAE,WAAW;YAC5B,oBAAC,eAAe,OAAG;YAClB,QAAQ,CACJ,CACoB,CAC9B,CAAA;AACH,CAAC,CAAA"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
export type AttachmentContext = {
|
3
|
+
name: string | null;
|
4
|
+
isExternal: false;
|
5
|
+
displayNumber: null;
|
6
|
+
} | {
|
7
|
+
name: string | null;
|
8
|
+
isExternal: true;
|
9
|
+
displayNumber: string;
|
10
|
+
};
|
11
|
+
export declare const AttachmentContext: React.Context<AttachmentContext>;
|
12
|
+
export declare const withAttachmentContext: (Component: React.ComponentType<any>) => React.ComponentType<any>;
|
13
|
+
//# sourceMappingURL=AttachmentContext.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"AttachmentContext.d.ts","sourceRoot":"","sources":["../../../../src/components/context/AttachmentContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,KAAK,CAAC;IAAC,aAAa,EAAE,IAAI,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,IAAI,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAA;AAEpE,eAAO,MAAM,iBAAiB,kCAAkE,CAAA;AAEhG,eAAO,MAAM,qBAAqB,mEASjC,CAAA"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { queryAncestors } from '../../dom-utils';
|
3
|
+
import { withContext } from './withContext';
|
4
|
+
export const AttachmentContext = React.createContext({});
|
5
|
+
export const withAttachmentContext = withContext(AttachmentContext, ({ element }) => {
|
6
|
+
const isExternal = queryAncestors(element, 'external-material') != null;
|
7
|
+
const name = element.getAttribute('name');
|
8
|
+
return isExternal
|
9
|
+
? { displayNumber: element.getAttribute('display-number'), isExternal, name }
|
10
|
+
: { displayNumber: null, isExternal, name };
|
11
|
+
});
|
12
|
+
//# sourceMappingURL=AttachmentContext.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"AttachmentContext.js","sourceRoot":"","sources":["../../../../src/components/context/AttachmentContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAO3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAAoB,EAAuB,CAAC,CAAA;AAEhG,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAC9C,iBAAiB,EACjB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IACd,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,IAAI,CAAA;IACvE,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;IACzC,OAAO,UAAU;QACf,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAE,EAAE,UAAU,EAAE,IAAI,EAAE;QAC9E,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAA;AAC/C,CAAC,CACF,CAAA"}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { CommonExamProps } from '../exam/Exam';
|
3
|
+
export interface CommonExamContext {
|
4
|
+
attachmentsURL: string;
|
5
|
+
date?: Date;
|
6
|
+
dateTimeFormatter: Intl.DateTimeFormat;
|
7
|
+
dayCode?: string;
|
8
|
+
examCode?: string;
|
9
|
+
/** The language of the exam. */
|
10
|
+
language: string;
|
11
|
+
/** The language of the subject matter. Differs from the language in foreign language exams. */
|
12
|
+
subjectLanguage: string;
|
13
|
+
maxAnswers?: number;
|
14
|
+
maxScore?: number;
|
15
|
+
sections: Element[];
|
16
|
+
resolveAttachment: (filename: string) => string;
|
17
|
+
root: Element;
|
18
|
+
abitti2: boolean;
|
19
|
+
}
|
20
|
+
export declare const CommonExamContext: React.Context<CommonExamContext>;
|
21
|
+
export declare function withCommonExamContext<P extends CommonExamProps>(Component: React.ComponentType<P>): React.ComponentType<P>;
|
22
|
+
//# sourceMappingURL=CommonExamContext.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"CommonExamContext.d.ts","sourceRoot":"","sources":["../../../../src/components/context/CommonExamContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,iBAAiB,EAAE,IAAI,CAAC,cAAc,CAAA;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,+FAA+F;IAC/F,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;IAC/C,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,eAAO,MAAM,iBAAiB,kCAA+C,CAAA;AAE7E,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,eAAe,EAC7D,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAChC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAuBxB"}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { getAttribute, getNumericAttribute, queryAll } from '../../dom-utils';
|
3
|
+
import { withContext } from './withContext';
|
4
|
+
export const CommonExamContext = React.createContext({});
|
5
|
+
export function withCommonExamContext(Component) {
|
6
|
+
return withContext(CommonExamContext, ({ attachmentsURL, resolveAttachment, doc, abitti2 }) => {
|
7
|
+
const root = doc.documentElement;
|
8
|
+
const maybeDate = getAttribute(root, 'date');
|
9
|
+
const language = getAttribute(root, 'exam-lang');
|
10
|
+
const subjectLanguage = getAttribute(root, 'lang') || language;
|
11
|
+
return {
|
12
|
+
attachmentsURL,
|
13
|
+
date: maybeDate ? new Date(maybeDate) : undefined,
|
14
|
+
dateTimeFormatter: new Intl.DateTimeFormat('fi-FI', { timeZone: 'UTC' }),
|
15
|
+
dayCode: getAttribute(root, 'day-code'),
|
16
|
+
examCode: getAttribute(root, 'exam-code'),
|
17
|
+
language,
|
18
|
+
subjectLanguage,
|
19
|
+
maxAnswers: getNumericAttribute(root, 'max-answers'),
|
20
|
+
maxScore: getNumericAttribute(root, 'max-score'),
|
21
|
+
sections: queryAll(root, 'section'),
|
22
|
+
resolveAttachment,
|
23
|
+
abitti2: abitti2 || false,
|
24
|
+
root
|
25
|
+
};
|
26
|
+
})(Component);
|
27
|
+
}
|
28
|
+
//# sourceMappingURL=CommonExamContext.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"CommonExamContext.js","sourceRoot":"","sources":["../../../../src/components/context/CommonExamContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE7E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAoB3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAAC,EAAuB,CAAC,CAAA;AAE7E,MAAM,UAAU,qBAAqB,CACnC,SAAiC;IAEjC,OAAO,WAAW,CAAuB,iBAAiB,EAAE,CAAC,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE;QAClH,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,CAAA;QAChC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC5C,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,WAAW,CAAE,CAAA;QACjD,MAAM,eAAe,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAA;QAE9D,OAAO;YACL,cAAc;YACd,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;YACjD,iBAAiB,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YACxE,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC;YACvC,QAAQ,EAAE,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC;YACzC,QAAQ;YACR,eAAe;YACf,UAAU,EAAE,mBAAmB,CAAC,IAAI,EAAE,aAAa,CAAC;YACpD,QAAQ,EAAE,mBAAmB,CAAC,IAAI,EAAE,WAAW,CAAC;YAChD,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;YACnC,iBAAiB;YACjB,OAAO,EAAE,OAAO,IAAI,KAAK;YACzB,IAAI;SACL,CAAA;IACH,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;AACf,CAAC"}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { ExamServerAPI } from '../../index';
|
3
|
+
export interface ExamContext {
|
4
|
+
casCountdownDuration: number;
|
5
|
+
examServerApi: ExamServerAPI;
|
6
|
+
}
|
7
|
+
export declare const ExamContext: React.Context<ExamContext>;
|
8
|
+
export declare const withExamContext: (Component: React.ComponentType<any>) => React.ComponentType<any>;
|
9
|
+
//# sourceMappingURL=ExamContext.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ExamContext.d.ts","sourceRoot":"","sources":["../../../../src/components/context/ExamContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C,MAAM,WAAW,WAAW;IAC1B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,aAAa,EAAE,aAAa,CAAA;CAC7B;AAED,eAAO,MAAM,WAAW,4BAAyC,CAAA;AAEjE,eAAO,MAAM,eAAe,mEAO1B,CAAA"}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { withContext } from './withContext';
|
3
|
+
export const ExamContext = React.createContext({});
|
4
|
+
export const withExamContext = withContext(ExamContext, (props) => {
|
5
|
+
const { casCountdownDuration, examServerApi } = props;
|
6
|
+
return {
|
7
|
+
casCountdownDuration: casCountdownDuration || 60,
|
8
|
+
examServerApi
|
9
|
+
};
|
10
|
+
});
|
11
|
+
//# sourceMappingURL=ExamContext.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ExamContext.js","sourceRoot":"","sources":["../../../../src/components/context/ExamContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAQ3C,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,EAAiB,CAAC,CAAA;AAEjE,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAyB,WAAW,EAAE,CAAC,KAAgB,EAAE,EAAE;IACnG,MAAM,EAAE,oBAAoB,EAAE,aAAa,EAAE,GAAG,KAAK,CAAA;IAErD,OAAO;QACL,oBAAoB,EAAE,oBAAoB,IAAI,EAAE;QAChD,aAAa;KACd,CAAA;AACH,CAAC,CAAC,CAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"IsInSidebarContext.d.ts","sourceRoot":"","sources":["../../../../src/components/context/IsInSidebarContext.ts"],"names":[],"mappings":"AAEA,KAAK,sBAAsB,GAAG;IAC5B,WAAW,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,kBAAkB,iDAA8C,CAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"IsInSidebarContext.js","sourceRoot":"","sources":["../../../../src/components/context/IsInSidebarContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAMrC,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC,EAA4B,CAAC,CAAA"}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
export interface QuestionContext {
|
3
|
+
answers: Element[];
|
4
|
+
displayNumber: string;
|
5
|
+
hasExternalMaterial: boolean;
|
6
|
+
maxAnswers?: number;
|
7
|
+
maxScore: number;
|
8
|
+
level: number;
|
9
|
+
childQuestions: Element[];
|
10
|
+
questionLabelIds: string;
|
11
|
+
}
|
12
|
+
export declare const QuestionContext: React.Context<QuestionContext>;
|
13
|
+
export declare const withQuestionContext: (Component: React.ComponentType<any>) => React.ComponentType<any>;
|
14
|
+
//# sourceMappingURL=QuestionContext.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"QuestionContext.d.ts","sourceRoot":"","sources":["../../../../src/components/context/QuestionContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,EAAE,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,OAAO,EAAE,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,eAAO,MAAM,eAAe,gCAA8D,CAAA;AAE1F,eAAO,MAAM,mBAAmB,mEAsB9B,CAAA"}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { findChildElement, getNumericAttribute, parentElements, queryAll } from '../../dom-utils';
|
3
|
+
import { withContext } from './withContext';
|
4
|
+
import { questionInstructionId, questionTitleId } from '../../ids';
|
5
|
+
export const QuestionContext = React.createContext({});
|
6
|
+
export const withQuestionContext = withContext(QuestionContext, ({ element }) => {
|
7
|
+
const childQuestions = queryAll(element, 'question', false);
|
8
|
+
const answers = childQuestions.length
|
9
|
+
? []
|
10
|
+
: queryAll(element, ['text-answer', 'scored-text-answer', 'dropdown-answer', 'choice-answer'], false);
|
11
|
+
const questionInstructions = queryAll(element, 'question-instruction', false);
|
12
|
+
const displayNumber = element.getAttribute('display-number');
|
13
|
+
const questionLabelIds = questionInstructions.length > 0
|
14
|
+
? questionInstructions.map(questionInstructionId).join(' ')
|
15
|
+
: questionTitleId(displayNumber);
|
16
|
+
return {
|
17
|
+
answers,
|
18
|
+
displayNumber,
|
19
|
+
hasExternalMaterial: findChildElement(element, 'external-material') != null,
|
20
|
+
maxAnswers: getNumericAttribute(element, 'max-answers'),
|
21
|
+
maxScore: getNumericAttribute(element, 'max-score'),
|
22
|
+
level: parentElements(element, 'question').length,
|
23
|
+
childQuestions,
|
24
|
+
questionLabelIds
|
25
|
+
};
|
26
|
+
});
|
27
|
+
//# sourceMappingURL=QuestionContext.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"QuestionContext.js","sourceRoot":"","sources":["../../../../src/components/context/QuestionContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACjG,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAalE,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAAkB,EAAqB,CAAC,CAAA;AAE1F,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAsC,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IACnH,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM;QACnC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,aAAa,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,eAAe,CAAC,EAAE,KAAK,CAAC,CAAA;IACvG,MAAM,oBAAoB,GAAG,QAAQ,CAAC,OAAO,EAAE,sBAAsB,EAAE,KAAK,CAAC,CAAA;IAC7E,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAE,CAAA;IAC7D,MAAM,gBAAgB,GACpB,oBAAoB,CAAC,MAAM,GAAG,CAAC;QAC7B,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC3D,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,CAAA;IAEpC,OAAO;QACL,OAAO;QACP,aAAa;QACb,mBAAmB,EAAE,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,IAAI;QAC3E,UAAU,EAAE,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC;QACvD,QAAQ,EAAE,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAE;QACpD,KAAK,EAAE,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,MAAM;QACjD,cAAc;QACd,gBAAgB;KACjB,CAAA;AACH,CAAC,CAAC,CAAA"}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { ChoiceGroupChoice, ExamAnswer, GradingStructure, QuestionId, Score } from '../../index';
|
3
|
+
export interface ResultsContext {
|
4
|
+
answersByQuestionId: Record<QuestionId, ExamAnswer>;
|
5
|
+
gradingStructure: GradingStructure;
|
6
|
+
scores: Score[];
|
7
|
+
gradingText: string | undefined;
|
8
|
+
totalScore: number;
|
9
|
+
singleGrading?: boolean;
|
10
|
+
}
|
11
|
+
export declare const ResultsContext: React.Context<ResultsContext>;
|
12
|
+
export declare const withResultsContext: (Component: React.ComponentType<any>) => React.ComponentType<any>;
|
13
|
+
export declare function findMultiChoiceFromGradingStructure(gradingStructure: GradingStructure, id: number): ChoiceGroupChoice | undefined;
|
14
|
+
export declare function findScore(scores: Score[], questionId: number): Score | undefined;
|
15
|
+
export declare function calculateQuestionsTotalSumScore(topLevelQuestions: Element[], gradingStructure: GradingStructure, scores: Score[], answersByQuestionId: Record<QuestionId, ExamAnswer>): number;
|
16
|
+
export declare function calculateQuestionSumScore(questionElement: Element, gradingStructure: GradingStructure, scores: Score[], answersById: Record<QuestionId, ExamAnswer>): number;
|
17
|
+
//# sourceMappingURL=ResultsContext.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ResultsContext.d.ts","sourceRoot":"","sources":["../../../../src/components/context/ResultsContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAgB,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAI9G,MAAM,WAAW,cAAc;IAC7B,mBAAmB,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IACnD,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,eAAO,MAAM,cAAc,+BAA4D,CAAA;AAEvF,eAAO,MAAM,kBAAkB,mEAgB9B,CAAA;AAED,wBAAgB,mCAAmC,CACjD,gBAAgB,EAAE,gBAAgB,EAClC,EAAE,EAAE,MAAM,GACT,iBAAiB,GAAG,SAAS,CAY/B;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAEhF;AAED,wBAAgB,+BAA+B,CAC7C,iBAAiB,EAAE,OAAO,EAAE,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,KAAK,EAAE,EACf,mBAAmB,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAClD,MAAM,CAMR;AAED,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,OAAO,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,KAAK,EAAE,EACf,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAC1C,MAAM,CAgCR"}
|
@@ -0,0 +1,69 @@
|
|
1
|
+
import * as _ from 'lodash-es';
|
2
|
+
import React from 'react';
|
3
|
+
import { findChildrenAnswers, getNumericAttribute, parentElements, queryAll } from '../../dom-utils';
|
4
|
+
import { withContext } from './withContext';
|
5
|
+
export const ResultsContext = React.createContext({});
|
6
|
+
export const withResultsContext = withContext(ResultsContext, ({ scores, doc, gradingStructure, gradingText, answers, singleGrading }) => {
|
7
|
+
const answersByQuestionId = _.keyBy(answers, 'questionId');
|
8
|
+
const topLevelQuestions = queryAll(doc.documentElement, 'question', false);
|
9
|
+
const totalScore = calculateQuestionsTotalSumScore(topLevelQuestions, gradingStructure, scores, answersByQuestionId);
|
10
|
+
return {
|
11
|
+
answersByQuestionId,
|
12
|
+
gradingStructure,
|
13
|
+
scores,
|
14
|
+
totalScore,
|
15
|
+
gradingText,
|
16
|
+
singleGrading
|
17
|
+
};
|
18
|
+
});
|
19
|
+
export function findMultiChoiceFromGradingStructure(gradingStructure, id) {
|
20
|
+
const choiceGroups = (gradingStructure === null || gradingStructure === void 0 ? void 0 : gradingStructure.questions.filter(v => v.type === 'choicegroup')) || [];
|
21
|
+
for (let i = 0, length = choiceGroups.length; i < length; i++) {
|
22
|
+
const choiceGroup = choiceGroups[i];
|
23
|
+
for (let j = 0, choicesLength = choiceGroup.choices.length; j < choicesLength; j++) {
|
24
|
+
if (choiceGroup.choices[j].id === id) {
|
25
|
+
return choiceGroup.choices[j];
|
26
|
+
}
|
27
|
+
}
|
28
|
+
}
|
29
|
+
return undefined;
|
30
|
+
}
|
31
|
+
export function findScore(scores, questionId) {
|
32
|
+
return scores.find(a => a.questionId === questionId);
|
33
|
+
}
|
34
|
+
export function calculateQuestionsTotalSumScore(topLevelQuestions, gradingStructure, scores, answersByQuestionId) {
|
35
|
+
return _.sum(topLevelQuestions.map(question => calculateQuestionSumScore(question, gradingStructure, scores, answersByQuestionId)));
|
36
|
+
}
|
37
|
+
export function calculateQuestionSumScore(questionElement, gradingStructure, scores, answersById) {
|
38
|
+
const choiceQuestionScore = (questionId, scoredAnswer) => {
|
39
|
+
var _a;
|
40
|
+
const choice = findMultiChoiceFromGradingStructure(gradingStructure, questionId);
|
41
|
+
return choice ? (_a = choice.options.find(o => o.id === Number(scoredAnswer.value))) === null || _a === void 0 ? void 0 : _a.score : 0;
|
42
|
+
};
|
43
|
+
const textQuestionScore = (questionId) => {
|
44
|
+
var _a, _b;
|
45
|
+
const score = findScore(scores, questionId);
|
46
|
+
return score
|
47
|
+
? ((_b = [score.inspection, (_a = score.censoring) === null || _a === void 0 ? void 0 : _a.scores[0], score.autograding, score.pregrading].find(Boolean)) === null || _b === void 0 ? void 0 : _b.score) || 0
|
48
|
+
: 0;
|
49
|
+
};
|
50
|
+
const sumScore = _.sum(findChildrenAnswers(questionElement).map(answer => {
|
51
|
+
const questionId = getNumericAttribute(answer, 'question-id');
|
52
|
+
const scoredAnswer = answersById[questionId];
|
53
|
+
if (!scoredAnswer) {
|
54
|
+
return 0;
|
55
|
+
}
|
56
|
+
if (scoredAnswer.type === 'choice') {
|
57
|
+
return choiceQuestionScore(questionId, scoredAnswer);
|
58
|
+
}
|
59
|
+
else {
|
60
|
+
return textQuestionScore(questionId);
|
61
|
+
}
|
62
|
+
}));
|
63
|
+
// top level questions may not yield negative scores
|
64
|
+
if (parentElements(questionElement, 'question').length === 0 && sumScore < 0) {
|
65
|
+
return 0;
|
66
|
+
}
|
67
|
+
return sumScore;
|
68
|
+
}
|
69
|
+
//# sourceMappingURL=ResultsContext.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ResultsContext.js","sourceRoot":"","sources":["../../../../src/components/context/ResultsContext.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
export interface SectionContext {
|
3
|
+
casForbidden: boolean;
|
4
|
+
displayNumber: string;
|
5
|
+
maxAnswers?: number;
|
6
|
+
minAnswers?: number;
|
7
|
+
maxScore: number;
|
8
|
+
childQuestions: Element[];
|
9
|
+
}
|
10
|
+
export declare const SectionContext: React.Context<SectionContext>;
|
11
|
+
export declare const withSectionContext: (Component: React.ComponentType<any>) => React.ComponentType<any>;
|
12
|
+
//# sourceMappingURL=SectionContext.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"SectionContext.d.ts","sourceRoot":"","sources":["../../../../src/components/context/SectionContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,OAAO,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,OAAO,EAAE,CAAA;CAC1B;AAED,eAAO,MAAM,cAAc,+BAA4D,CAAA;AAEvF,eAAO,MAAM,kBAAkB,mEAkB7B,CAAA"}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { getBooleanAttribute, getNumericAttribute, mapChildElements } from '../../dom-utils';
|
3
|
+
import { withContext } from './withContext';
|
4
|
+
export const SectionContext = React.createContext({});
|
5
|
+
export const withSectionContext = withContext(SectionContext, ({ element }) => {
|
6
|
+
const casForbidden = getBooleanAttribute(element, 'cas-forbidden');
|
7
|
+
const displayNumber = element.getAttribute('display-number');
|
8
|
+
const maxAnswers = getNumericAttribute(element, 'max-answers');
|
9
|
+
const minAnswers = getNumericAttribute(element, 'min-answers');
|
10
|
+
const maxScore = getNumericAttribute(element, 'max-score');
|
11
|
+
const childQuestions = mapChildElements(element, childElement => childElement).filter(parentNode => parentNode.localName === 'question');
|
12
|
+
return {
|
13
|
+
casForbidden,
|
14
|
+
displayNumber,
|
15
|
+
maxAnswers,
|
16
|
+
minAnswers,
|
17
|
+
maxScore,
|
18
|
+
childQuestions
|
19
|
+
};
|
20
|
+
});
|
21
|
+
//# sourceMappingURL=SectionContext.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"SectionContext.js","sourceRoot":"","sources":["../../../../src/components/context/SectionContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAY3C,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,CAAiB,EAAoB,CAAC,CAAA;AAEvF,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAqC,cAAc,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IAChH,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;IAClE,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAE,CAAA;IAC7D,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAE,CAAA;IAC/D,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAE,CAAA;IAC/D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAE,CAAA;IAC3D,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,MAAM,CACnF,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,KAAK,UAAU,CAClD,CAAA;IAED,OAAO;QACL,YAAY;QACZ,aAAa;QACb,UAAU;QACV,UAAU;QACV,QAAQ;QACR,cAAc;KACf,CAAA;AACH,CAAC,CAAC,CAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"TOCContext.d.ts","sourceRoot":"","sources":["../../../../src/components/context/TOCContext.ts"],"names":[],"mappings":"AAEA,KAAK,cAAc,GAAG;IACpB,kBAAkB,EAAE,MAAM,EAAE,CAAA;IAC5B,MAAM,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAA;CACzC,CAAA;AAED,eAAO,MAAM,UAAU,yCAAsC,CAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"TOCContext.js","sourceRoot":"","sources":["../../../../src/components/context/TOCContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAOrC,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC,EAAoB,CAAC,CAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"withContext.d.ts","sourceRoot":"","sources":["../../../../src/components/context/withContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,eAAO,MAAM,WAAW,GACrB,CAAC,EAAE,CAAC,WAAW,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iBACxC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,KAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAW7D,CAAA"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { getDisplayName } from '../../getDisplayName';
|
3
|
+
export const withContext = (Context, parse) => (Component) => {
|
4
|
+
const Wrapped = (props) => {
|
5
|
+
const ctx = parse(props);
|
6
|
+
return (React.createElement(Context.Provider, { value: ctx },
|
7
|
+
React.createElement(Component, { ...props })));
|
8
|
+
};
|
9
|
+
Wrapped.displayName = `WithContext(${getDisplayName(Component)})`;
|
10
|
+
return Wrapped;
|
11
|
+
};
|
12
|
+
//# sourceMappingURL=withContext.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"withContext.js","sourceRoot":"","sources":["../../../../src/components/context/withContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,MAAM,CAAC,MAAM,WAAW,GACtB,CAAO,OAAyB,EAAE,KAAkB,EAAE,EAAE,CACxD,CAAC,SAAmC,EAA4B,EAAE;IAChE,MAAM,OAAO,GAAG,CAAC,KAAQ,EAAE,EAAE;QAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;QACxB,OAAO,CACL,oBAAC,OAAO,CAAC,QAAQ,IAAC,KAAK,EAAE,GAAG;YAC1B,oBAAC,SAAS,OAAK,KAAK,GAAI,CACP,CACpB,CAAA;IACH,CAAC,CAAA;IACD,OAAO,CAAC,WAAW,GAAG,eAAe,cAAc,CAAC,SAAS,CAAC,GAAG,CAAA;IACjE,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Attachment.d.ts","sourceRoot":"","sources":["../../../../src/components/exam/Attachment.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAA;;AASzC,wBAA4D"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import React, { useContext } from 'react';
|
2
|
+
import { AttachmentContext, withAttachmentContext } from '../context/AttachmentContext';
|
3
|
+
function Attachment({ element, renderChildNodes }) {
|
4
|
+
const { isExternal } = useContext(AttachmentContext);
|
5
|
+
return !isExternal ? React.createElement("span", { className: "exam-attachment e-mrg-b-2" }, renderChildNodes(element)) : null;
|
6
|
+
}
|
7
|
+
export default React.memo(withAttachmentContext(Attachment));
|
8
|
+
//# sourceMappingURL=Attachment.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Attachment.js","sourceRoot":"","sources":["../../../../src/components/exam/Attachment.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAGvF,SAAS,UAAU,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAsB;IACnE,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAA;IACpD,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,8BAAM,SAAS,EAAC,2BAA2B,IAAE,gBAAgB,CAAC,OAAO,CAAC,CAAQ,CAAC,CAAC,CAAC,IAAI,CAAA;AAC5G,CAAC;AAED,eAAe,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ChoiceAnswer.d.ts","sourceRoot":"","sources":["../../../../src/components/exam/ChoiceAnswer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkC,MAAM,OAAO,CAAA;AAGtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;;AA6HjE,wBAAuC"}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
import classNames from 'classnames';
|
2
|
+
import React, { useCallback, useContext } from 'react';
|
3
|
+
import { useDispatch, useSelector } from 'react-redux';
|
4
|
+
import { getNumericAttribute, mapChildElements, query } from '../../dom-utils';
|
5
|
+
import { QuestionContext } from '../context/QuestionContext';
|
6
|
+
import { saveAnswer } from '../../store/answers/actions';
|
7
|
+
const ChoiceAnswerOption = ({ selected, element, renderChildNodes, questionId, onSelect, direction, value }) => {
|
8
|
+
const className = element.getAttribute('class');
|
9
|
+
const content = (React.createElement("div", { className: classNames('e-choice-answer-option e-column', className, {
|
10
|
+
'e-choice-answer-option--selected': selected
|
11
|
+
}) }, renderChildNodes(element)));
|
12
|
+
return direction === 'vertical' ? (React.createElement("div", { className: "e-mrg-b-1" },
|
13
|
+
React.createElement("label", { className: classNames('e-columns', {
|
14
|
+
'e-columns--inline': query(element, ['image', 'video']) == null /* Force full width for options containing responsive media */
|
15
|
+
}) },
|
16
|
+
React.createElement("input", { type: "radio", className: "e-radio-button e-column e-column--narrow", name: String(questionId), onChange: onSelect, value: value, checked: selected }),
|
17
|
+
content))) : (React.createElement("div", { className: "e-column e-mrg-b-1" },
|
18
|
+
React.createElement("label", { className: "e-block e-text-center" },
|
19
|
+
React.createElement("input", { type: "radio", className: "e-radio-button", name: String(questionId), onChange: onSelect, value: value, checked: selected }),
|
20
|
+
content)));
|
21
|
+
};
|
22
|
+
const ChoiceAnswer = ({ element, renderChildNodes }) => {
|
23
|
+
const questionId = getNumericAttribute(element, 'question-id');
|
24
|
+
const displayNumber = element.getAttribute('display-number');
|
25
|
+
const direction = element.getAttribute('direction') || 'vertical';
|
26
|
+
const className = element.getAttribute('class');
|
27
|
+
const { questionLabelIds } = useContext(QuestionContext);
|
28
|
+
const answer = useSelector((state) => state.answers.answersById[questionId]);
|
29
|
+
const dispatch = useDispatch();
|
30
|
+
const onSelect = useCallback(event => {
|
31
|
+
dispatch(saveAnswer({ type: 'choice', questionId, value: event.currentTarget.value, displayNumber }));
|
32
|
+
}, [questionId, displayNumber]);
|
33
|
+
return (React.createElement("div", { className: classNames('e-choice-answer e-mrg-b-4', className, {
|
34
|
+
'e-columns': direction === 'horizontal'
|
35
|
+
}), "data-question-id": questionId, role: "radiogroup", "aria-labelledby": questionLabelIds },
|
36
|
+
React.createElement("span", { className: "anchor", id: `question-nr-${displayNumber}` }),
|
37
|
+
mapChildElements(element, childElement => {
|
38
|
+
const optionId = childElement.getAttribute('option-id');
|
39
|
+
const isNoAnswer = childElement.getAttribute('type') === 'no-answer';
|
40
|
+
const value = isNoAnswer ? '' : optionId;
|
41
|
+
const selected = answer != null && answer.value === value;
|
42
|
+
return (React.createElement(ChoiceAnswerOption, { element: childElement,
|
43
|
+
onSelect,
|
44
|
+
renderChildNodes,
|
45
|
+
questionId,
|
46
|
+
key: optionId,
|
47
|
+
direction,
|
48
|
+
selected,
|
49
|
+
value }));
|
50
|
+
})));
|
51
|
+
};
|
52
|
+
export default React.memo(ChoiceAnswer);
|
53
|
+
//# sourceMappingURL=ChoiceAnswer.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ChoiceAnswer.js","sourceRoot":"","sources":["../../../../src/components/exam/ChoiceAnswer.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"DropdownAnswer.d.ts","sourceRoot":"","sources":["../../../../src/components/exam/DropdownAnswer.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAkD,MAAM,OAAO,CAAA;AAEtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;;AA0JjE,wBAAyC"}
|