@digabi/exam-engine-core 23.0.4 → 23.0.5-alpha.1
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/main-bundle.js +3 -3
- package/package.json +3 -3
- package/dist/components/exam/ExamineExam.d.ts +0 -5
- package/dist/components/exam/ExamineExam.d.ts.map +0 -1
- package/dist/components/exam/ExamineExam.js +0 -20
- package/dist/components/exam/ExamineExam.js.map +0 -1
- package/dist/src/components/AnswerToolbar.d.ts +0 -18
- package/dist/src/components/AnswerToolbar.d.ts.map +0 -1
- package/dist/src/components/AnswerToolbar.js +0 -36
- package/dist/src/components/AnswerToolbar.js.map +0 -1
- package/dist/src/components/AnsweringInstructions.d.ts +0 -12
- package/dist/src/components/AnsweringInstructions.d.ts.map +0 -1
- package/dist/src/components/AnsweringInstructions.js +0 -24
- package/dist/src/components/AnsweringInstructions.js.map +0 -1
- package/dist/src/components/DocumentTitle.d.ts +0 -5
- package/dist/src/components/DocumentTitle.d.ts.map +0 -1
- package/dist/src/components/DocumentTitle.js +0 -13
- package/dist/src/components/DocumentTitle.js.map +0 -1
- package/dist/src/components/NotificationIcon.d.ts +0 -4
- package/dist/src/components/NotificationIcon.d.ts.map +0 -1
- package/dist/src/components/NotificationIcon.js +0 -6
- package/dist/src/components/NotificationIcon.js.map +0 -1
- package/dist/src/components/RenderChildNodes.d.ts +0 -5
- package/dist/src/components/RenderChildNodes.d.ts.map +0 -1
- package/dist/src/components/RenderChildNodes.js +0 -7
- package/dist/src/components/RenderChildNodes.js.map +0 -1
- package/dist/src/components/RenderExamElements.d.ts +0 -6
- package/dist/src/components/RenderExamElements.d.ts.map +0 -1
- package/dist/src/components/RenderExamElements.js +0 -6
- package/dist/src/components/RenderExamElements.js.map +0 -1
- package/dist/src/components/RenderIf.d.ts +0 -4
- package/dist/src/components/RenderIf.d.ts.map +0 -1
- package/dist/src/components/RenderIf.js +0 -8
- package/dist/src/components/RenderIf.js.map +0 -1
- package/dist/src/components/ScreenReaderOnly.d.ts +0 -5
- package/dist/src/components/ScreenReaderOnly.d.ts.map +0 -1
- package/dist/src/components/ScreenReaderOnly.js +0 -3
- package/dist/src/components/ScreenReaderOnly.js.map +0 -1
- package/dist/src/components/SectionElement.d.ts +0 -4
- package/dist/src/components/SectionElement.d.ts.map +0 -1
- package/dist/src/components/SectionElement.js +0 -8
- package/dist/src/components/SectionElement.js.map +0 -1
- package/dist/src/components/attachments/Attachment.d.ts +0 -4
- package/dist/src/components/attachments/Attachment.d.ts.map +0 -1
- package/dist/src/components/attachments/Attachment.js +0 -8
- package/dist/src/components/attachments/Attachment.js.map +0 -1
- package/dist/src/components/attachments/AttachmentTitle.d.ts +0 -6
- package/dist/src/components/attachments/AttachmentTitle.d.ts.map +0 -1
- package/dist/src/components/attachments/AttachmentTitle.js +0 -12
- package/dist/src/components/attachments/AttachmentTitle.js.map +0 -1
- package/dist/src/components/attachments/Attachments.d.ts +0 -5
- package/dist/src/components/attachments/Attachments.d.ts.map +0 -1
- package/dist/src/components/attachments/Attachments.js +0 -55
- package/dist/src/components/attachments/Attachments.js.map +0 -1
- package/dist/src/components/attachments/ExternalMaterial.d.ts +0 -9
- package/dist/src/components/attachments/ExternalMaterial.d.ts.map +0 -1
- package/dist/src/components/attachments/ExternalMaterial.js +0 -46
- package/dist/src/components/attachments/ExternalMaterial.js.map +0 -1
- package/dist/src/components/attachments/Question.d.ts +0 -4
- package/dist/src/components/attachments/Question.d.ts.map +0 -1
- package/dist/src/components/attachments/Question.js +0 -16
- package/dist/src/components/attachments/Question.js.map +0 -1
- package/dist/src/components/attachments/QuestionTitle.d.ts +0 -6
- package/dist/src/components/attachments/QuestionTitle.d.ts.map +0 -1
- package/dist/src/components/attachments/QuestionTitle.js +0 -15
- package/dist/src/components/attachments/QuestionTitle.js.map +0 -1
- package/dist/src/components/context/AnnotationProvider.d.ts +0 -16
- package/dist/src/components/context/AnnotationProvider.d.ts.map +0 -1
- package/dist/src/components/context/AnnotationProvider.js +0 -35
- package/dist/src/components/context/AnnotationProvider.js.map +0 -1
- package/dist/src/components/context/AttachmentContext.d.ts +0 -13
- package/dist/src/components/context/AttachmentContext.d.ts.map +0 -1
- package/dist/src/components/context/AttachmentContext.js +0 -12
- package/dist/src/components/context/AttachmentContext.js.map +0 -1
- package/dist/src/components/context/CommonExamContext.d.ts +0 -22
- package/dist/src/components/context/CommonExamContext.d.ts.map +0 -1
- package/dist/src/components/context/CommonExamContext.js +0 -28
- package/dist/src/components/context/CommonExamContext.js.map +0 -1
- package/dist/src/components/context/ExamContext.d.ts +0 -9
- package/dist/src/components/context/ExamContext.d.ts.map +0 -1
- package/dist/src/components/context/ExamContext.js +0 -11
- package/dist/src/components/context/ExamContext.js.map +0 -1
- package/dist/src/components/context/IsInSidebarContext.d.ts +0 -6
- package/dist/src/components/context/IsInSidebarContext.d.ts.map +0 -1
- package/dist/src/components/context/IsInSidebarContext.js +0 -3
- package/dist/src/components/context/IsInSidebarContext.js.map +0 -1
- package/dist/src/components/context/QuestionContext.d.ts +0 -14
- package/dist/src/components/context/QuestionContext.d.ts.map +0 -1
- package/dist/src/components/context/QuestionContext.js +0 -27
- package/dist/src/components/context/QuestionContext.js.map +0 -1
- package/dist/src/components/context/ResultsContext.d.ts +0 -17
- package/dist/src/components/context/ResultsContext.d.ts.map +0 -1
- package/dist/src/components/context/ResultsContext.js +0 -69
- package/dist/src/components/context/ResultsContext.js.map +0 -1
- package/dist/src/components/context/SectionContext.d.ts +0 -12
- package/dist/src/components/context/SectionContext.d.ts.map +0 -1
- package/dist/src/components/context/SectionContext.js +0 -21
- package/dist/src/components/context/SectionContext.js.map +0 -1
- package/dist/src/components/context/TOCContext.d.ts +0 -7
- package/dist/src/components/context/TOCContext.d.ts.map +0 -1
- package/dist/src/components/context/TOCContext.js +0 -3
- package/dist/src/components/context/TOCContext.js.map +0 -1
- package/dist/src/components/context/withContext.d.ts +0 -3
- package/dist/src/components/context/withContext.d.ts.map +0 -1
- package/dist/src/components/context/withContext.js +0 -12
- package/dist/src/components/context/withContext.js.map +0 -1
- package/dist/src/components/exam/Attachment.d.ts +0 -4
- package/dist/src/components/exam/Attachment.d.ts.map +0 -1
- package/dist/src/components/exam/Attachment.js +0 -8
- package/dist/src/components/exam/Attachment.js.map +0 -1
- package/dist/src/components/exam/ChoiceAnswer.d.ts +0 -5
- package/dist/src/components/exam/ChoiceAnswer.d.ts.map +0 -1
- package/dist/src/components/exam/ChoiceAnswer.js +0 -53
- package/dist/src/components/exam/ChoiceAnswer.js.map +0 -1
- package/dist/src/components/exam/DropdownAnswer.d.ts +0 -5
- package/dist/src/components/exam/DropdownAnswer.d.ts.map +0 -1
- package/dist/src/components/exam/DropdownAnswer.js +0 -101
- package/dist/src/components/exam/DropdownAnswer.js.map +0 -1
- package/dist/src/components/exam/Exam.d.ts +0 -48
- package/dist/src/components/exam/Exam.d.ts.map +0 -1
- package/dist/src/components/exam/Exam.js +0 -195
- package/dist/src/components/exam/Exam.js.map +0 -1
- package/dist/src/components/exam/ExamFooter.d.ts +0 -6
- package/dist/src/components/exam/ExamFooter.d.ts.map +0 -1
- package/dist/src/components/exam/ExamFooter.js +0 -6
- package/dist/src/components/exam/ExamFooter.js.map +0 -1
- package/dist/src/components/exam/ExamInstruction.d.ts +0 -6
- package/dist/src/components/exam/ExamInstruction.d.ts.map +0 -1
- package/dist/src/components/exam/ExamInstruction.js +0 -6
- package/dist/src/components/exam/ExamInstruction.js.map +0 -1
- package/dist/src/components/exam/ExternalMaterial.d.ts +0 -10
- package/dist/src/components/exam/ExternalMaterial.d.ts.map +0 -1
- package/dist/src/components/exam/ExternalMaterial.js +0 -33
- package/dist/src/components/exam/ExternalMaterial.js.map +0 -1
- package/dist/src/components/exam/GoToExamineAnswersButton.d.ts +0 -5
- package/dist/src/components/exam/GoToExamineAnswersButton.d.ts.map +0 -1
- package/dist/src/components/exam/GoToExamineAnswersButton.js +0 -18
- package/dist/src/components/exam/GoToExamineAnswersButton.js.map +0 -1
- package/dist/src/components/exam/Hints.d.ts +0 -5
- package/dist/src/components/exam/Hints.d.ts.map +0 -1
- package/dist/src/components/exam/Hints.js +0 -31
- package/dist/src/components/exam/Hints.js.map +0 -1
- package/dist/src/components/exam/Question.d.ts +0 -8
- package/dist/src/components/exam/Question.d.ts.map +0 -1
- package/dist/src/components/exam/Question.js +0 -75
- package/dist/src/components/exam/Question.js.map +0 -1
- package/dist/src/components/exam/QuestionInstruction.d.ts +0 -6
- package/dist/src/components/exam/QuestionInstruction.d.ts.map +0 -1
- package/dist/src/components/exam/QuestionInstruction.js +0 -8
- package/dist/src/components/exam/QuestionInstruction.js.map +0 -1
- package/dist/src/components/exam/QuestionTitle.d.ts +0 -5
- package/dist/src/components/exam/QuestionTitle.d.ts.map +0 -1
- package/dist/src/components/exam/QuestionTitle.js +0 -26
- package/dist/src/components/exam/QuestionTitle.js.map +0 -1
- package/dist/src/components/exam/RichTextAnswer.d.ts +0 -41
- package/dist/src/components/exam/RichTextAnswer.d.ts.map +0 -1
- package/dist/src/components/exam/RichTextAnswer.js +0 -79
- package/dist/src/components/exam/RichTextAnswer.js.map +0 -1
- package/dist/src/components/exam/Section.d.ts +0 -4
- package/dist/src/components/exam/Section.d.ts.map +0 -1
- package/dist/src/components/exam/Section.js +0 -49
- package/dist/src/components/exam/Section.js.map +0 -1
- package/dist/src/components/exam/SectionInstruction.d.ts +0 -6
- package/dist/src/components/exam/SectionInstruction.d.ts.map +0 -1
- package/dist/src/components/exam/SectionInstruction.js +0 -6
- package/dist/src/components/exam/SectionInstruction.js.map +0 -1
- package/dist/src/components/exam/SectionTitle.d.ts +0 -6
- package/dist/src/components/exam/SectionTitle.d.ts.map +0 -1
- package/dist/src/components/exam/SectionTitle.js +0 -30
- package/dist/src/components/exam/SectionTitle.js.map +0 -1
- package/dist/src/components/exam/StudentNameHeader.d.ts +0 -8
- package/dist/src/components/exam/StudentNameHeader.d.ts.map +0 -1
- package/dist/src/components/exam/StudentNameHeader.js +0 -3
- package/dist/src/components/exam/StudentNameHeader.js.map +0 -1
- package/dist/src/components/exam/TextAnswer.d.ts +0 -6
- package/dist/src/components/exam/TextAnswer.d.ts.map +0 -1
- package/dist/src/components/exam/TextAnswer.js +0 -20
- package/dist/src/components/exam/TextAnswer.js.map +0 -1
- package/dist/src/components/exam/UndoHistoryEntry.d.ts +0 -19
- package/dist/src/components/exam/UndoHistoryEntry.d.ts.map +0 -1
- package/dist/src/components/exam/UndoHistoryEntry.js +0 -39
- package/dist/src/components/exam/UndoHistoryEntry.js.map +0 -1
- package/dist/src/components/exam/UndoView.d.ts +0 -35
- package/dist/src/components/exam/UndoView.d.ts.map +0 -1
- package/dist/src/components/exam/UndoView.js +0 -162
- package/dist/src/components/exam/UndoView.js.map +0 -1
- package/dist/src/components/exam/internal/ErrorIndicator.d.ts +0 -9
- package/dist/src/components/exam/internal/ErrorIndicator.d.ts.map +0 -1
- package/dist/src/components/exam/internal/ErrorIndicator.js +0 -63
- package/dist/src/components/exam/internal/ErrorIndicator.js.map +0 -1
- package/dist/src/components/exam/internal/ProgressBar.d.ts +0 -8
- package/dist/src/components/exam/internal/ProgressBar.d.ts.map +0 -1
- package/dist/src/components/exam/internal/ProgressBar.js +0 -19
- package/dist/src/components/exam/internal/ProgressBar.js.map +0 -1
- package/dist/src/components/exam/internal/SaveIndicator.d.ts +0 -5
- package/dist/src/components/exam/internal/SaveIndicator.d.ts.map +0 -1
- package/dist/src/components/exam/internal/SaveIndicator.js +0 -16
- package/dist/src/components/exam/internal/SaveIndicator.js.map +0 -1
- package/dist/src/components/exam/internal/TextAnswerInput.d.ts +0 -6
- package/dist/src/components/exam/internal/TextAnswerInput.d.ts.map +0 -1
- package/dist/src/components/exam/internal/TextAnswerInput.js +0 -128
- package/dist/src/components/exam/internal/TextAnswerInput.js.map +0 -1
- package/dist/src/components/grading/AnswerCharacterCounter.d.ts +0 -6
- package/dist/src/components/grading/AnswerCharacterCounter.d.ts.map +0 -1
- package/dist/src/components/grading/AnswerCharacterCounter.js +0 -21
- package/dist/src/components/grading/AnswerCharacterCounter.js.map +0 -1
- package/dist/src/components/grading/GradingAnswer.d.ts +0 -24
- package/dist/src/components/grading/GradingAnswer.d.ts.map +0 -1
- package/dist/src/components/grading/GradingAnswer.js +0 -306
- package/dist/src/components/grading/GradingAnswer.js.map +0 -1
- package/dist/src/components/grading/GradingAnswerAnnotationList.d.ts +0 -9
- package/dist/src/components/grading/GradingAnswerAnnotationList.d.ts.map +0 -1
- package/dist/src/components/grading/GradingAnswerAnnotationList.js +0 -19
- package/dist/src/components/grading/GradingAnswerAnnotationList.js.map +0 -1
- package/dist/src/components/grading/editAnnotations.d.ts +0 -29
- package/dist/src/components/grading/editAnnotations.d.ts.map +0 -1
- package/dist/src/components/grading/editAnnotations.js +0 -190
- package/dist/src/components/grading/editAnnotations.js.map +0 -1
- package/dist/src/components/grading/examAnnotationUtils.d.ts +0 -3
- package/dist/src/components/grading/examAnnotationUtils.d.ts.map +0 -1
- package/dist/src/components/grading/examAnnotationUtils.js +0 -44
- package/dist/src/components/grading/examAnnotationUtils.js.map +0 -1
- package/dist/src/components/grading/largeImageDetector.d.ts +0 -3
- package/dist/src/components/grading/largeImageDetector.d.ts.map +0 -1
- package/dist/src/components/grading/largeImageDetector.js +0 -45
- package/dist/src/components/grading/largeImageDetector.js.map +0 -1
- package/dist/src/components/grading-instructions/AnswerGradingInstruction.d.ts +0 -5
- package/dist/src/components/grading-instructions/AnswerGradingInstruction.d.ts.map +0 -1
- package/dist/src/components/grading-instructions/AnswerGradingInstruction.js +0 -4
- package/dist/src/components/grading-instructions/AnswerGradingInstruction.js.map +0 -1
- package/dist/src/components/grading-instructions/AutogradedAnswer.d.ts +0 -5
- package/dist/src/components/grading-instructions/AutogradedAnswer.d.ts.map +0 -1
- package/dist/src/components/grading-instructions/AutogradedAnswer.js +0 -34
- package/dist/src/components/grading-instructions/AutogradedAnswer.js.map +0 -1
- package/dist/src/components/grading-instructions/AutogradedAnswerOption.d.ts +0 -5
- package/dist/src/components/grading-instructions/AutogradedAnswerOption.d.ts.map +0 -1
- package/dist/src/components/grading-instructions/AutogradedAnswerOption.js +0 -17
- package/dist/src/components/grading-instructions/AutogradedAnswerOption.js.map +0 -1
- package/dist/src/components/grading-instructions/ExamGradingInstruction.d.ts +0 -5
- package/dist/src/components/grading-instructions/ExamGradingInstruction.d.ts.map +0 -1
- package/dist/src/components/grading-instructions/ExamGradingInstruction.js +0 -4
- package/dist/src/components/grading-instructions/ExamGradingInstruction.js.map +0 -1
- package/dist/src/components/grading-instructions/GradingInstructions.d.ts +0 -6
- package/dist/src/components/grading-instructions/GradingInstructions.d.ts.map +0 -1
- package/dist/src/components/grading-instructions/GradingInstructions.js +0 -109
- package/dist/src/components/grading-instructions/GradingInstructions.js.map +0 -1
- package/dist/src/components/grading-instructions/Question.d.ts +0 -4
- package/dist/src/components/grading-instructions/Question.d.ts.map +0 -1
- package/dist/src/components/grading-instructions/Question.js +0 -14
- package/dist/src/components/grading-instructions/Question.js.map +0 -1
- package/dist/src/components/grading-instructions/QuestionTitle.d.ts +0 -5
- package/dist/src/components/grading-instructions/QuestionTitle.d.ts.map +0 -1
- package/dist/src/components/grading-instructions/QuestionTitle.js +0 -19
- package/dist/src/components/grading-instructions/QuestionTitle.js.map +0 -1
- package/dist/src/components/grading-instructions/Recording.d.ts +0 -5
- package/dist/src/components/grading-instructions/Recording.d.ts.map +0 -1
- package/dist/src/components/grading-instructions/Recording.js +0 -19
- package/dist/src/components/grading-instructions/Recording.js.map +0 -1
- package/dist/src/components/grading-instructions/Section.d.ts +0 -4
- package/dist/src/components/grading-instructions/Section.d.ts.map +0 -1
- package/dist/src/components/grading-instructions/Section.js +0 -10
- package/dist/src/components/grading-instructions/Section.js.map +0 -1
- package/dist/src/components/grading-instructions/SectionTitle.d.ts +0 -5
- package/dist/src/components/grading-instructions/SectionTitle.d.ts.map +0 -1
- package/dist/src/components/grading-instructions/SectionTitle.js +0 -16
- package/dist/src/components/grading-instructions/SectionTitle.js.map +0 -1
- package/dist/src/components/results/ChoiceAnswer.d.ts +0 -6
- package/dist/src/components/results/ChoiceAnswer.d.ts.map +0 -1
- package/dist/src/components/results/ChoiceAnswer.js +0 -57
- package/dist/src/components/results/ChoiceAnswer.js.map +0 -1
- package/dist/src/components/results/DropdownAnswer.d.ts +0 -6
- package/dist/src/components/results/DropdownAnswer.d.ts.map +0 -1
- package/dist/src/components/results/DropdownAnswer.js +0 -43
- package/dist/src/components/results/DropdownAnswer.js.map +0 -1
- package/dist/src/components/results/EndExamSession.d.ts +0 -8
- package/dist/src/components/results/EndExamSession.d.ts.map +0 -1
- package/dist/src/components/results/EndExamSession.js +0 -20
- package/dist/src/components/results/EndExamSession.js.map +0 -1
- package/dist/src/components/results/MultiLineAnswer.d.ts +0 -8
- package/dist/src/components/results/MultiLineAnswer.d.ts.map +0 -1
- package/dist/src/components/results/MultiLineAnswer.js +0 -22
- package/dist/src/components/results/MultiLineAnswer.js.map +0 -1
- package/dist/src/components/results/Question.d.ts +0 -4
- package/dist/src/components/results/Question.d.ts.map +0 -1
- package/dist/src/components/results/Question.js +0 -31
- package/dist/src/components/results/Question.js.map +0 -1
- package/dist/src/components/results/QuestionTitle.d.ts +0 -6
- package/dist/src/components/results/QuestionTitle.d.ts.map +0 -1
- package/dist/src/components/results/QuestionTitle.js +0 -26
- package/dist/src/components/results/QuestionTitle.js.map +0 -1
- package/dist/src/components/results/Results.d.ts +0 -19
- package/dist/src/components/results/Results.d.ts.map +0 -1
- package/dist/src/components/results/Results.js +0 -136
- package/dist/src/components/results/Results.js.map +0 -1
- package/dist/src/components/results/ScoredTextAnswer.d.ts +0 -6
- package/dist/src/components/results/ScoredTextAnswer.d.ts.map +0 -1
- package/dist/src/components/results/ScoredTextAnswer.js +0 -22
- package/dist/src/components/results/ScoredTextAnswer.js.map +0 -1
- package/dist/src/components/results/Section.d.ts +0 -4
- package/dist/src/components/results/Section.d.ts.map +0 -1
- package/dist/src/components/results/Section.js +0 -11
- package/dist/src/components/results/Section.js.map +0 -1
- package/dist/src/components/results/SingleLineAnswer.d.ts +0 -12
- package/dist/src/components/results/SingleLineAnswer.d.ts.map +0 -1
- package/dist/src/components/results/SingleLineAnswer.js +0 -26
- package/dist/src/components/results/SingleLineAnswer.js.map +0 -1
- package/dist/src/components/results/TextAnswer.d.ts +0 -7
- package/dist/src/components/results/TextAnswer.d.ts.map +0 -1
- package/dist/src/components/results/TextAnswer.js +0 -48
- package/dist/src/components/results/TextAnswer.js.map +0 -1
- package/dist/src/components/results/internal/AnnotationList.d.ts +0 -5
- package/dist/src/components/results/internal/AnnotationList.d.ts.map +0 -1
- package/dist/src/components/results/internal/AnnotationList.js +0 -32
- package/dist/src/components/results/internal/AnnotationList.js.map +0 -1
- package/dist/src/components/results/internal/QuestionAutoScore.d.ts +0 -11
- package/dist/src/components/results/internal/QuestionAutoScore.d.ts.map +0 -1
- package/dist/src/components/results/internal/QuestionAutoScore.js +0 -17
- package/dist/src/components/results/internal/QuestionAutoScore.js.map +0 -1
- package/dist/src/components/results/internal/QuestionManualScore.d.ts +0 -13
- package/dist/src/components/results/internal/QuestionManualScore.d.ts.map +0 -1
- package/dist/src/components/results/internal/QuestionManualScore.js +0 -66
- package/dist/src/components/results/internal/QuestionManualScore.js.map +0 -1
- package/dist/src/components/results/internal/QuestionScoresContainer.d.ts +0 -11
- package/dist/src/components/results/internal/QuestionScoresContainer.d.ts.map +0 -1
- package/dist/src/components/results/internal/QuestionScoresContainer.js +0 -27
- package/dist/src/components/results/internal/QuestionScoresContainer.js.map +0 -1
- package/dist/src/components/results/isExamineExamPageHook.d.ts +0 -2
- package/dist/src/components/results/isExamineExamPageHook.d.ts.map +0 -1
- package/dist/src/components/results/isExamineExamPageHook.js +0 -7
- package/dist/src/components/results/isExamineExamPageHook.js.map +0 -1
- package/dist/src/components/shared/AnnotatableText.d.ts +0 -5
- package/dist/src/components/shared/AnnotatableText.d.ts.map +0 -1
- package/dist/src/components/shared/AnnotatableText.js +0 -73
- package/dist/src/components/shared/AnnotatableText.js.map +0 -1
- package/dist/src/components/shared/AnnotationLists.d.ts +0 -13
- package/dist/src/components/shared/AnnotationLists.d.ts.map +0 -1
- package/dist/src/components/shared/AnnotationLists.js +0 -17
- package/dist/src/components/shared/AnnotationLists.js.map +0 -1
- package/dist/src/components/shared/AnnotationPopup.d.ts +0 -3
- package/dist/src/components/shared/AnnotationPopup.d.ts.map +0 -1
- package/dist/src/components/shared/AnnotationPopup.js +0 -74
- package/dist/src/components/shared/AnnotationPopup.js.map +0 -1
- package/dist/src/components/shared/AnswerIndicator.d.ts +0 -12
- package/dist/src/components/shared/AnswerIndicator.d.ts.map +0 -1
- package/dist/src/components/shared/AnswerIndicator.js +0 -27
- package/dist/src/components/shared/AnswerIndicator.js.map +0 -1
- package/dist/src/components/shared/AnswerLengthInfo.d.ts +0 -7
- package/dist/src/components/shared/AnswerLengthInfo.d.ts.map +0 -1
- package/dist/src/components/shared/AnswerLengthInfo.js +0 -11
- package/dist/src/components/shared/AnswerLengthInfo.js.map +0 -1
- package/dist/src/components/shared/AttachmentLink.d.ts +0 -5
- package/dist/src/components/shared/AttachmentLink.d.ts.map +0 -1
- package/dist/src/components/shared/AttachmentLink.js +0 -28
- package/dist/src/components/shared/AttachmentLink.js.map +0 -1
- package/dist/src/components/shared/AttachmentLinks.d.ts +0 -5
- package/dist/src/components/shared/AttachmentLinks.d.ts.map +0 -1
- package/dist/src/components/shared/AttachmentLinks.js +0 -58
- package/dist/src/components/shared/AttachmentLinks.js.map +0 -1
- package/dist/src/components/shared/Audio.d.ts +0 -6
- package/dist/src/components/shared/Audio.d.ts.map +0 -1
- package/dist/src/components/shared/Audio.js +0 -31
- package/dist/src/components/shared/Audio.js.map +0 -1
- package/dist/src/components/shared/AudioGroup.d.ts +0 -6
- package/dist/src/components/shared/AudioGroup.d.ts.map +0 -1
- package/dist/src/components/shared/AudioGroup.js +0 -9
- package/dist/src/components/shared/AudioGroup.js.map +0 -1
- package/dist/src/components/shared/AudioTest.d.ts +0 -6
- package/dist/src/components/shared/AudioTest.d.ts.map +0 -1
- package/dist/src/components/shared/AudioTest.js +0 -34
- package/dist/src/components/shared/AudioTest.js.map +0 -1
- package/dist/src/components/shared/ExamTranslation.d.ts +0 -6
- package/dist/src/components/shared/ExamTranslation.d.ts.map +0 -1
- package/dist/src/components/shared/ExamTranslation.js +0 -9
- package/dist/src/components/shared/ExamTranslation.js.map +0 -1
- package/dist/src/components/shared/File.d.ts +0 -6
- package/dist/src/components/shared/File.d.ts.map +0 -1
- package/dist/src/components/shared/File.js +0 -15
- package/dist/src/components/shared/File.js.map +0 -1
- package/dist/src/components/shared/Footer.d.ts +0 -5
- package/dist/src/components/shared/Footer.d.ts.map +0 -1
- package/dist/src/components/shared/Footer.js +0 -3
- package/dist/src/components/shared/Footer.js.map +0 -1
- package/dist/src/components/shared/Formula.d.ts +0 -6
- package/dist/src/components/shared/Formula.d.ts.map +0 -1
- package/dist/src/components/shared/Formula.js +0 -13
- package/dist/src/components/shared/Formula.js.map +0 -1
- package/dist/src/components/shared/Image.d.ts +0 -6
- package/dist/src/components/shared/Image.d.ts.map +0 -1
- package/dist/src/components/shared/Image.js +0 -30
- package/dist/src/components/shared/Image.js.map +0 -1
- package/dist/src/components/shared/ImageOverlay.d.ts +0 -6
- package/dist/src/components/shared/ImageOverlay.d.ts.map +0 -1
- package/dist/src/components/shared/ImageOverlay.js +0 -43
- package/dist/src/components/shared/ImageOverlay.js.map +0 -1
- package/dist/src/components/shared/QuestionNumber.d.ts +0 -4
- package/dist/src/components/shared/QuestionNumber.d.ts.map +0 -1
- package/dist/src/components/shared/QuestionNumber.js +0 -12
- package/dist/src/components/shared/QuestionNumber.js.map +0 -1
- package/dist/src/components/shared/Reference.d.ts +0 -6
- package/dist/src/components/shared/Reference.d.ts.map +0 -1
- package/dist/src/components/shared/Reference.js +0 -72
- package/dist/src/components/shared/Reference.js.map +0 -1
- package/dist/src/components/shared/References.d.ts +0 -6
- package/dist/src/components/shared/References.d.ts.map +0 -1
- package/dist/src/components/shared/References.js +0 -26
- package/dist/src/components/shared/References.js.map +0 -1
- package/dist/src/components/shared/Score.d.ts +0 -8
- package/dist/src/components/shared/Score.d.ts.map +0 -1
- package/dist/src/components/shared/Score.js +0 -13
- package/dist/src/components/shared/Score.js.map +0 -1
- package/dist/src/components/shared/TOCQuestion.d.ts +0 -4
- package/dist/src/components/shared/TOCQuestion.d.ts.map +0 -1
- package/dist/src/components/shared/TOCQuestion.js +0 -77
- package/dist/src/components/shared/TOCQuestion.js.map +0 -1
- package/dist/src/components/shared/TOCSection.d.ts +0 -7
- package/dist/src/components/shared/TOCSection.d.ts.map +0 -1
- package/dist/src/components/shared/TOCSection.js +0 -15
- package/dist/src/components/shared/TOCSection.js.map +0 -1
- package/dist/src/components/shared/TOCSectionTitle.d.ts +0 -4
- package/dist/src/components/shared/TOCSectionTitle.d.ts.map +0 -1
- package/dist/src/components/shared/TOCSectionTitle.js +0 -34
- package/dist/src/components/shared/TOCSectionTitle.js.map +0 -1
- package/dist/src/components/shared/TableOfContents.d.ts +0 -8
- package/dist/src/components/shared/TableOfContents.d.ts.map +0 -1
- package/dist/src/components/shared/TableOfContents.js +0 -61
- package/dist/src/components/shared/TableOfContents.js.map +0 -1
- package/dist/src/components/shared/VersionNumber.d.ts +0 -3
- package/dist/src/components/shared/VersionNumber.d.ts.map +0 -1
- package/dist/src/components/shared/VersionNumber.js +0 -10
- package/dist/src/components/shared/VersionNumber.js.map +0 -1
- package/dist/src/components/shared/Video.d.ts +0 -6
- package/dist/src/components/shared/Video.d.ts.map +0 -1
- package/dist/src/components/shared/Video.js +0 -22
- package/dist/src/components/shared/Video.js.map +0 -1
- package/dist/src/components/shared/internal/AttachmentLinkAnchor.d.ts +0 -8
- package/dist/src/components/shared/internal/AttachmentLinkAnchor.d.ts.map +0 -1
- package/dist/src/components/shared/internal/AttachmentLinkAnchor.js +0 -4
- package/dist/src/components/shared/internal/AttachmentLinkAnchor.js.map +0 -1
- package/dist/src/components/shared/internal/AudioPlaybackError.d.ts +0 -8
- package/dist/src/components/shared/internal/AudioPlaybackError.d.ts.map +0 -1
- package/dist/src/components/shared/internal/AudioPlaybackError.js +0 -17
- package/dist/src/components/shared/internal/AudioPlaybackError.js.map +0 -1
- package/dist/src/components/shared/internal/ResponsiveMediaContainer.d.ts +0 -18
- package/dist/src/components/shared/internal/ResponsiveMediaContainer.d.ts.map +0 -1
- package/dist/src/components/shared/internal/ResponsiveMediaContainer.js +0 -21
- package/dist/src/components/shared/internal/ResponsiveMediaContainer.js.map +0 -1
- package/dist/src/components/shared/internal/RestrictedAudioPlayer.d.ts +0 -12
- package/dist/src/components/shared/internal/RestrictedAudioPlayer.d.ts.map +0 -1
- package/dist/src/components/shared/internal/RestrictedAudioPlayer.js +0 -46
- package/dist/src/components/shared/internal/RestrictedAudioPlayer.js.map +0 -1
- package/dist/src/components/surround.d.ts +0 -8
- package/dist/src/components/surround.d.ts.map +0 -1
- package/dist/src/components/surround.js +0 -19
- package/dist/src/components/surround.js.map +0 -1
- package/dist/src/createRenderChildNodes.d.ts +0 -17
- package/dist/src/createRenderChildNodes.d.ts.map +0 -1
- package/dist/src/createRenderChildNodes.js +0 -64
- package/dist/src/createRenderChildNodes.js.map +0 -1
- package/dist/src/dom-utils.d.ts +0 -20
- package/dist/src/dom-utils.d.ts.map +0 -1
- package/dist/src/dom-utils.js +0 -164
- package/dist/src/dom-utils.js.map +0 -1
- package/dist/src/fonts.d.ts +0 -5
- package/dist/src/fonts.d.ts.map +0 -1
- package/dist/src/fonts.js +0 -16
- package/dist/src/fonts.js.map +0 -1
- package/dist/src/formatting.d.ts +0 -2
- package/dist/src/formatting.d.ts.map +0 -1
- package/dist/src/formatting.js +0 -4
- package/dist/src/formatting.js.map +0 -1
- package/dist/src/getDisplayName.d.ts +0 -4
- package/dist/src/getDisplayName.d.ts.map +0 -1
- package/dist/src/getDisplayName.js +0 -5
- package/dist/src/getDisplayName.js.map +0 -1
- package/dist/src/i18n/A_E.d.ts +0 -3
- package/dist/src/i18n/A_E.d.ts.map +0 -1
- package/dist/src/i18n/A_E.js +0 -8
- package/dist/src/i18n/A_E.js.map +0 -1
- package/dist/src/i18n/BA.d.ts +0 -3
- package/dist/src/i18n/BA.d.ts.map +0 -1
- package/dist/src/i18n/BA.js +0 -11
- package/dist/src/i18n/BA.js.map +0 -1
- package/dist/src/i18n/CA.d.ts +0 -3
- package/dist/src/i18n/CA.d.ts.map +0 -1
- package/dist/src/i18n/CA.js +0 -11
- package/dist/src/i18n/CA.js.map +0 -1
- package/dist/src/i18n/EA.d.ts +0 -3
- package/dist/src/i18n/EA.d.ts.map +0 -1
- package/dist/src/i18n/EA.js +0 -16
- package/dist/src/i18n/EA.js.map +0 -1
- package/dist/src/i18n/FA.d.ts +0 -3
- package/dist/src/i18n/FA.d.ts.map +0 -1
- package/dist/src/i18n/FA.js +0 -17
- package/dist/src/i18n/FA.js.map +0 -1
- package/dist/src/i18n/GC.d.ts +0 -3
- package/dist/src/i18n/GC.d.ts.map +0 -1
- package/dist/src/i18n/GC.js +0 -16
- package/dist/src/i18n/GC.js.map +0 -1
- package/dist/src/i18n/I.d.ts +0 -3
- package/dist/src/i18n/I.d.ts.map +0 -1
- package/dist/src/i18n/I.js +0 -21
- package/dist/src/i18n/I.js.map +0 -1
- package/dist/src/i18n/M.d.ts +0 -3
- package/dist/src/i18n/M.d.ts.map +0 -1
- package/dist/src/i18n/M.js +0 -4
- package/dist/src/i18n/M.js.map +0 -1
- package/dist/src/i18n/O_E.d.ts +0 -3
- package/dist/src/i18n/O_E.d.ts.map +0 -1
- package/dist/src/i18n/O_E.js +0 -7
- package/dist/src/i18n/O_E.js.map +0 -1
- package/dist/src/i18n/PA.d.ts +0 -3
- package/dist/src/i18n/PA.d.ts.map +0 -1
- package/dist/src/i18n/PA.js +0 -16
- package/dist/src/i18n/PA.js.map +0 -1
- package/dist/src/i18n/SA.d.ts +0 -3
- package/dist/src/i18n/SA.d.ts.map +0 -1
- package/dist/src/i18n/SA.js +0 -16
- package/dist/src/i18n/SA.js.map +0 -1
- package/dist/src/i18n/TC.d.ts +0 -3
- package/dist/src/i18n/TC.d.ts.map +0 -1
- package/dist/src/i18n/TC.js +0 -16
- package/dist/src/i18n/TC.js.map +0 -1
- package/dist/src/i18n/VA.d.ts +0 -3
- package/dist/src/i18n/VA.d.ts.map +0 -1
- package/dist/src/i18n/VA.js +0 -16
- package/dist/src/i18n/VA.js.map +0 -1
- package/dist/src/i18n/Z.d.ts +0 -3
- package/dist/src/i18n/Z.d.ts.map +0 -1
- package/dist/src/i18n/Z.js +0 -22
- package/dist/src/i18n/Z.js.map +0 -1
- package/dist/src/i18n/fi-FI.d.ts +0 -192
- package/dist/src/i18n/fi-FI.d.ts.map +0 -1
- package/dist/src/i18n/fi-FI.js +0 -182
- package/dist/src/i18n/fi-FI.js.map +0 -1
- package/dist/src/i18n/index.d.ts +0 -20
- package/dist/src/i18n/index.d.ts.map +0 -1
- package/dist/src/i18n/index.js +0 -128
- package/dist/src/i18n/index.js.map +0 -1
- package/dist/src/i18n/sv-FI.d.ts +0 -3
- package/dist/src/i18n/sv-FI.d.ts.map +0 -1
- package/dist/src/i18n/sv-FI.js +0 -181
- package/dist/src/i18n/sv-FI.js.map +0 -1
- package/dist/src/ids.d.ts +0 -14
- package/dist/src/ids.d.ts.map +0 -1
- package/dist/src/ids.js +0 -28
- package/dist/src/ids.js.map +0 -1
- package/dist/src/index.d.ts +0 -19
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -12
- package/dist/src/index.js.map +0 -1
- package/dist/src/parser/parseExam.d.ts +0 -2
- package/dist/src/parser/parseExam.d.ts.map +0 -1
- package/dist/src/parser/parseExam.js +0 -54
- package/dist/src/parser/parseExam.js.map +0 -1
- package/dist/src/parser/parseExamStructure.d.ts +0 -58
- package/dist/src/parser/parseExamStructure.d.ts.map +0 -1
- package/dist/src/parser/parseExamStructure.js +0 -40
- package/dist/src/parser/parseExamStructure.js.map +0 -1
- package/dist/src/renderAnnotations.d.ts +0 -7
- package/dist/src/renderAnnotations.d.ts.map +0 -1
- package/dist/src/renderAnnotations.js +0 -193
- package/dist/src/renderAnnotations.js.map +0 -1
- package/dist/src/scrollToHash.d.ts +0 -2
- package/dist/src/scrollToHash.d.ts.map +0 -1
- package/dist/src/scrollToHash.js +0 -24
- package/dist/src/scrollToHash.js.map +0 -1
- package/dist/src/shortDisplayNumber.d.ts +0 -2
- package/dist/src/shortDisplayNumber.d.ts.map +0 -1
- package/dist/src/shortDisplayNumber.js +0 -5
- package/dist/src/shortDisplayNumber.js.map +0 -1
- package/dist/src/store/answers/actions.d.ts +0 -33
- package/dist/src/store/answers/actions.d.ts.map +0 -1
- package/dist/src/store/answers/actions.js +0 -9
- package/dist/src/store/answers/actions.js.map +0 -1
- package/dist/src/store/answers/reducer.d.ts +0 -39
- package/dist/src/store/answers/reducer.d.ts.map +0 -1
- package/dist/src/store/answers/reducer.js +0 -55
- package/dist/src/store/answers/reducer.js.map +0 -1
- package/dist/src/store/answers/sagas.d.ts +0 -8
- package/dist/src/store/answers/sagas.d.ts.map +0 -1
- package/dist/src/store/answers/sagas.js +0 -60
- package/dist/src/store/answers/sagas.js.map +0 -1
- package/dist/src/store/audio/actions.d.ts +0 -29
- package/dist/src/store/audio/actions.d.ts.map +0 -1
- package/dist/src/store/audio/actions.js +0 -9
- package/dist/src/store/audio/actions.js.map +0 -1
- package/dist/src/store/audio/reducer.d.ts +0 -27
- package/dist/src/store/audio/reducer.d.ts.map +0 -1
- package/dist/src/store/audio/reducer.js +0 -55
- package/dist/src/store/audio/reducer.js.map +0 -1
- package/dist/src/store/audio/sagas.d.ts +0 -3
- package/dist/src/store/audio/sagas.d.ts.map +0 -1
- package/dist/src/store/audio/sagas.js +0 -68
- package/dist/src/store/audio/sagas.js.map +0 -1
- package/dist/src/store/cas/actions.d.ts +0 -19
- package/dist/src/store/cas/actions.d.ts.map +0 -1
- package/dist/src/store/cas/actions.js +0 -9
- package/dist/src/store/cas/actions.js.map +0 -1
- package/dist/src/store/cas/reducer.d.ts +0 -14
- package/dist/src/store/cas/reducer.d.ts.map +0 -1
- package/dist/src/store/cas/reducer.js +0 -24
- package/dist/src/store/cas/reducer.js.map +0 -1
- package/dist/src/store/cas/sagas.d.ts +0 -18
- package/dist/src/store/cas/sagas.d.ts.map +0 -1
- package/dist/src/store/cas/sagas.js +0 -36
- package/dist/src/store/cas/sagas.js.map +0 -1
- package/dist/src/store/countdown.d.ts +0 -4
- package/dist/src/store/countdown.d.ts.map +0 -1
- package/dist/src/store/countdown.js +0 -33
- package/dist/src/store/countdown.js.map +0 -1
- package/dist/src/store/index.d.ts +0 -78
- package/dist/src/store/index.d.ts.map +0 -1
- package/dist/src/store/index.js +0 -53
- package/dist/src/store/index.js.map +0 -1
- package/dist/src/store/selectors.d.ts +0 -9
- package/dist/src/store/selectors.d.ts.map +0 -1
- package/dist/src/store/selectors.js +0 -35
- package/dist/src/store/selectors.js.map +0 -1
- package/dist/src/types/ExamAnswer.d.ts +0 -22
- package/dist/src/types/ExamAnswer.d.ts.map +0 -1
- package/dist/src/types/ExamAnswer.js +0 -2
- package/dist/src/types/ExamAnswer.js.map +0 -1
- package/dist/src/types/ExamServerAPI.d.ts +0 -78
- package/dist/src/types/ExamServerAPI.d.ts.map +0 -1
- package/dist/src/types/ExamServerAPI.js +0 -2
- package/dist/src/types/ExamServerAPI.js.map +0 -1
- package/dist/src/types/GradingStructure.d.ts +0 -40
- package/dist/src/types/GradingStructure.d.ts.map +0 -1
- package/dist/src/types/GradingStructure.js +0 -2
- package/dist/src/types/GradingStructure.js.map +0 -1
- package/dist/src/types/Score.d.ts +0 -92
- package/dist/src/types/Score.d.ts.map +0 -1
- package/dist/src/types/Score.js +0 -2
- package/dist/src/types/Score.js.map +0 -1
- package/dist/src/url.d.ts +0 -7
- package/dist/src/url.d.ts.map +0 -1
- package/dist/src/url.js +0 -12
- package/dist/src/url.js.map +0 -1
- package/dist/src/useCached.d.ts +0 -3
- package/dist/src/useCached.d.ts.map +0 -1
- package/dist/src/useCached.js +0 -6
- package/dist/src/useCached.js.map +0 -1
- package/dist/src/utils.d.ts +0 -15
- package/dist/src/utils.d.ts.map +0 -1
- package/dist/src/utils.js +0 -35
- package/dist/src/utils.js.map +0 -1
- package/dist/src/validateAnswers.d.ts +0 -16
- package/dist/src/validateAnswers.d.ts.map +0 -1
- package/dist/src/validateAnswers.js +0 -89
- package/dist/src/validateAnswers.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
package/dist/src/index.js
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
import '../src/css/main.less';
|
2
|
-
import Attachments from './components/attachments/Attachments';
|
3
|
-
import Exam from './components/exam/Exam';
|
4
|
-
import GradingInstructions from './components/grading-instructions/GradingInstructions';
|
5
|
-
import Results from './components/results/Results';
|
6
|
-
import parseExam from './parser/parseExam';
|
7
|
-
export { Attachments, Exam, GradingInstructions, Results, parseExam };
|
8
|
-
export * from './types/ExamAnswer';
|
9
|
-
export * from './types/ExamServerAPI';
|
10
|
-
export * from './types/GradingStructure';
|
11
|
-
export * from './types/Score';
|
12
|
-
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAA;AAC7B,OAAO,WAAW,MAAM,sCAAsC,CAAA;AAC9D,OAAO,IAAI,MAAM,wBAAwB,CAAA;AACzC,OAAO,mBAAmB,MAAM,uDAAuD,CAAA;AACvF,OAAO,OAAO,MAAM,8BAA8B,CAAA;AAClD,OAAO,SAAS,MAAM,oBAAoB,CAAA;AAE1C,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;AAErE,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,eAAe,CAAA"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"parseExam.d.ts","sourceRoot":"","sources":["../../../src/parser/parseExam.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,sBAAsB,UAAQ,GAAG,WAAW,CAkB9F"}
|
@@ -1,54 +0,0 @@
|
|
1
|
-
import * as _ from 'lodash-es';
|
2
|
-
import { findChildElement, getAttribute, queryAll } from '../dom-utils';
|
3
|
-
export default function parseExam(examXml, deterministicRendering = false) {
|
4
|
-
const doc = new DOMParser().parseFromString(examXml, 'application/xml');
|
5
|
-
if (!deterministicRendering) {
|
6
|
-
queryAll(doc.documentElement, ['choice-answer', 'dropdown-answer'])
|
7
|
-
.filter(e => getAttribute(e, 'ordering') !== 'fixed')
|
8
|
-
.forEach(randomizeOptions);
|
9
|
-
}
|
10
|
-
// The reference parts (e.g. author, title and so on) are displayed as inline
|
11
|
-
// elements. We also want to add separators between them. To avoid
|
12
|
-
// whitespace between an reference part and the separator, (e.g. `<span> foo
|
13
|
-
// </span>separator<span> bar </span>` is rendered as `foo separator bar` on
|
14
|
-
// the screen) trim the excess whitespace from the reference parts here.
|
15
|
-
queryAll(doc.documentElement, 'reference').forEach(reference => {
|
16
|
-
queryAll(reference, () => true, false).forEach(trimWhitespace);
|
17
|
-
});
|
18
|
-
return doc;
|
19
|
-
}
|
20
|
-
function randomizeOptions(elem) {
|
21
|
-
for (let i = elem.children.length; i > 0; i--) {
|
22
|
-
const j = Math.floor(Math.random() * i);
|
23
|
-
elem.appendChild(elem.children[j]);
|
24
|
-
}
|
25
|
-
// A no-answer option should always be the last
|
26
|
-
const noAnswerOption = findChildElement(elem, option => getAttribute(option, 'type') === 'no-answer');
|
27
|
-
if (noAnswerOption)
|
28
|
-
elem.appendChild(noAnswerOption);
|
29
|
-
}
|
30
|
-
function trimWhitespace(element) {
|
31
|
-
const nonWhitespaceNode = (node) => /\S/.test(node.textContent);
|
32
|
-
const getTextNodes = () => {
|
33
|
-
const result = [];
|
34
|
-
const treeWalker = document.createTreeWalker(element, NodeFilter.SHOW_TEXT);
|
35
|
-
while (treeWalker.nextNode()) {
|
36
|
-
result.push(treeWalker.currentNode);
|
37
|
-
}
|
38
|
-
return result;
|
39
|
-
};
|
40
|
-
const textNodes = getTextNodes();
|
41
|
-
const firstNonWhitespaceTextNode = _.findIndex(textNodes, nonWhitespaceNode);
|
42
|
-
const lastNonWhitespaceTextNode = _.findLastIndex(textNodes, nonWhitespaceNode);
|
43
|
-
// Remove leading whitespace from the start
|
44
|
-
if (firstNonWhitespaceTextNode !== -1) {
|
45
|
-
textNodes.slice(0, firstNonWhitespaceTextNode).forEach(node => node.remove());
|
46
|
-
textNodes[firstNonWhitespaceTextNode].textContent = _.trimStart(textNodes[firstNonWhitespaceTextNode].textContent);
|
47
|
-
}
|
48
|
-
// ...and trailing whitespace from the end.
|
49
|
-
if (lastNonWhitespaceTextNode !== -1) {
|
50
|
-
textNodes.slice(lastNonWhitespaceTextNode + 1).forEach(node => node.remove());
|
51
|
-
textNodes[lastNonWhitespaceTextNode].textContent = _.trimEnd(textNodes[lastNonWhitespaceTextNode].textContent);
|
52
|
-
}
|
53
|
-
}
|
54
|
-
//# sourceMappingURL=parseExam.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"parseExam.js","sourceRoot":"","sources":["../../../src/parser/parseExam.ts"],"names":[],"mappings":"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"}
|
@@ -1,58 +0,0 @@
|
|
1
|
-
export interface BaseElement {
|
2
|
-
name: string;
|
3
|
-
childNodes: ExamElement[];
|
4
|
-
}
|
5
|
-
export interface RootElement extends BaseElement {
|
6
|
-
name: 'exam';
|
7
|
-
attributes: {
|
8
|
-
maxAnswers?: number;
|
9
|
-
};
|
10
|
-
}
|
11
|
-
export interface SectionElement extends BaseElement {
|
12
|
-
name: 'section';
|
13
|
-
attributes: {
|
14
|
-
displayNumber: string;
|
15
|
-
maxAnswers?: number;
|
16
|
-
minAnswers?: number;
|
17
|
-
};
|
18
|
-
}
|
19
|
-
export interface QuestionElement extends BaseElement {
|
20
|
-
name: 'question';
|
21
|
-
attributes: {
|
22
|
-
displayNumber: string;
|
23
|
-
maxAnswers?: number;
|
24
|
-
};
|
25
|
-
}
|
26
|
-
export interface TextAnswerElement extends BaseElement {
|
27
|
-
name: 'text-answer';
|
28
|
-
attributes: {
|
29
|
-
displayNumber: string;
|
30
|
-
questionId: number;
|
31
|
-
maxLength?: number;
|
32
|
-
};
|
33
|
-
}
|
34
|
-
export interface ScoredTextAnswerElement extends BaseElement {
|
35
|
-
name: 'scored-text-answer';
|
36
|
-
attributes: {
|
37
|
-
displayNumber: string;
|
38
|
-
questionId: number;
|
39
|
-
};
|
40
|
-
}
|
41
|
-
export interface ChoiceAnswerElement extends BaseElement {
|
42
|
-
name: 'choice-answer';
|
43
|
-
attributes: {
|
44
|
-
displayNumber: string;
|
45
|
-
questionId: number;
|
46
|
-
};
|
47
|
-
}
|
48
|
-
export interface DropdownAnswerElement extends BaseElement {
|
49
|
-
name: 'dropdown-answer';
|
50
|
-
attributes: {
|
51
|
-
displayNumber: string;
|
52
|
-
questionId: number;
|
53
|
-
};
|
54
|
-
}
|
55
|
-
export type ExamElement = RootElement | SectionElement | QuestionElement | AnswerElement;
|
56
|
-
export type AnswerElement = TextAnswerElement | ScoredTextAnswerElement | ChoiceAnswerElement | DropdownAnswerElement;
|
57
|
-
export declare function parseExamStructure(doc: XMLDocument): RootElement;
|
58
|
-
//# sourceMappingURL=parseExamStructure.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"parseExamStructure.d.ts","sourceRoot":"","sources":["../../../src/parser/parseExamStructure.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,WAAW,EAAE,CAAA;CAC1B;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE;QACV,UAAU,CAAC,EAAE,MAAM,CAAA;KACpB,CAAA;CACF;AAED,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,IAAI,EAAE,SAAS,CAAA;IACf,UAAU,EAAE;QACV,aAAa,EAAE,MAAM,CAAA;QACrB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,UAAU,CAAC,EAAE,MAAM,CAAA;KACpB,CAAA;CACF;AAED,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,IAAI,EAAE,UAAU,CAAA;IAChB,UAAU,EAAE;QACV,aAAa,EAAE,MAAM,CAAA;QACrB,UAAU,CAAC,EAAE,MAAM,CAAA;KACpB,CAAA;CACF;AAED,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,IAAI,EAAE,aAAa,CAAA;IACnB,UAAU,EAAE;QACV,aAAa,EAAE,MAAM,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;QAClB,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;CACF;AAED,MAAM,WAAW,uBAAwB,SAAQ,WAAW;IAC1D,IAAI,EAAE,oBAAoB,CAAA;IAC1B,UAAU,EAAE;QACV,aAAa,EAAE,MAAM,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;CACF;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,IAAI,EAAE,eAAe,CAAA;IACrB,UAAU,EAAE;QACV,aAAa,EAAE,MAAM,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;CACF;AAED,MAAM,WAAW,qBAAsB,SAAQ,WAAW;IACxD,IAAI,EAAE,iBAAiB,CAAA;IACvB,UAAU,EAAE;QACV,aAAa,EAAE,MAAM,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;CACF;AAED,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,cAAc,GAAG,eAAe,GAAG,aAAa,CAAA;AAExF,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,uBAAuB,GAAG,mBAAmB,GAAG,qBAAqB,CAAA;AAErH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW,CAIhE"}
|
@@ -1,40 +0,0 @@
|
|
1
|
-
import { getAttribute, getNumericAttribute, queryAll } from '../dom-utils';
|
2
|
-
export function parseExamStructure(doc) {
|
3
|
-
const root = doc.documentElement;
|
4
|
-
const sections = queryAll(root, 'section', false).map(parseSection);
|
5
|
-
return parseElement(root, sections, { maxAnswers: getNumericAttribute(root, 'max-answers') });
|
6
|
-
}
|
7
|
-
function parseSection(section) {
|
8
|
-
const questions = queryAll(section, 'question', false).map(parseQuestion);
|
9
|
-
return parseElement(section, questions, {
|
10
|
-
displayNumber: getAttribute(section, 'display-number'),
|
11
|
-
minAnswers: getNumericAttribute(section, 'min-answers'),
|
12
|
-
maxAnswers: getNumericAttribute(section, 'max-answers')
|
13
|
-
});
|
14
|
-
}
|
15
|
-
function parseQuestion(question) {
|
16
|
-
const childQuestions = queryAll(question, 'question', false);
|
17
|
-
const childElements = childQuestions.length
|
18
|
-
? childQuestions.map(parseQuestion)
|
19
|
-
: queryAll(question, ['text-answer', 'scored-text-answer', 'choice-answer', 'dropdown-answer'], false).map(parseAnswer);
|
20
|
-
return parseElement(question, childElements, {
|
21
|
-
displayNumber: getAttribute(question, 'display-number'),
|
22
|
-
maxAnswers: getNumericAttribute(question, 'max-answers')
|
23
|
-
});
|
24
|
-
}
|
25
|
-
function parseAnswer(answer) {
|
26
|
-
const attributes = {
|
27
|
-
displayNumber: getAttribute(answer, 'display-number'),
|
28
|
-
questionId: getNumericAttribute(answer, 'question-id'),
|
29
|
-
maxLength: getNumericAttribute(answer, 'max-length')
|
30
|
-
};
|
31
|
-
return parseElement(answer, [], attributes);
|
32
|
-
}
|
33
|
-
function parseElement(element, childNodes, attributes) {
|
34
|
-
return {
|
35
|
-
name: element.localName,
|
36
|
-
attributes,
|
37
|
-
childNodes
|
38
|
-
};
|
39
|
-
}
|
40
|
-
//# sourceMappingURL=parseExamStructure.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"parseExamStructure.js","sourceRoot":"","sources":["../../../src/parser/parseExamStructure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAoE1E,MAAM,UAAU,kBAAkB,CAAC,GAAgB;IACjD,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,CAAA;IAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IACnE,OAAO,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,mBAAmB,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,CAAA;AAC/F,CAAC;AAED,SAAS,YAAY,CAAC,OAAgB;IACpC,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IACzE,OAAO,YAAY,CAAiB,OAAO,EAAE,SAAS,EAAE;QACtD,aAAa,EAAE,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAE;QACvD,UAAU,EAAE,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC;QACvD,UAAU,EAAE,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC;KACxD,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,QAAiB;IACtC,MAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;IAC5D,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM;QACzC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC;QACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,oBAAoB,EAAE,eAAe,EAAE,iBAAiB,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CACtG,WAAW,CACZ,CAAA;IACL,OAAO,YAAY,CAAkB,QAAQ,EAAE,aAAa,EAAE;QAC5D,aAAa,EAAE,YAAY,CAAC,QAAQ,EAAE,gBAAgB,CAAE;QACxD,UAAU,EAAE,mBAAmB,CAAC,QAAQ,EAAE,aAAa,CAAC;KACzD,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,MAAe;IAClC,MAAM,UAAU,GAAG;QACjB,aAAa,EAAE,YAAY,CAAC,MAAM,EAAE,gBAAgB,CAAE;QACtD,UAAU,EAAE,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAE;QACvD,SAAS,EAAE,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC;KACrD,CAAA;IACD,OAAO,YAAY,CAAC,MAAM,EAAE,EAAE,EAAE,UAAU,CAAC,CAAA;AAC7C,CAAC;AAED,SAAS,YAAY,CACnB,OAAgB,EAChB,UAAyB,EACzB,UAA2B;IAE3B,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,SAAS;QACvB,UAAU;QACV,UAAU;KACN,CAAA;AACR,CAAC"}
|
@@ -1,7 +0,0 @@
|
|
1
|
-
import { Annotation, ImageAnnotation, LineAnnotation, RectAnnotation } from './types/Score';
|
2
|
-
export declare function renderAnnotations(element: HTMLElement, pregradingAnnotations: Annotation[], censoringAnnotations: Annotation[], showTitle?: boolean): void;
|
3
|
-
export declare function updateImageAnnotationMarkSize(mark: HTMLElement, annotation: LineAnnotation | RectAnnotation): void;
|
4
|
-
export declare function wrapAllImages(answerElement: HTMLElement): void;
|
5
|
-
export declare function renderImageAnnotation(answerElement: HTMLElement, annotation: ImageAnnotation, type: 'pregrading' | 'censoring', listIndex: number, index: number | undefined, showTitle: boolean): HTMLElement;
|
6
|
-
export declare function renderImageAnnotationByImage(image: HTMLImageElement, title: string, annotation: ImageAnnotation, type: 'pregrading' | 'censoring', listIndex: number, index?: number): HTMLElement;
|
7
|
-
//# sourceMappingURL=renderAnnotations.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"renderAnnotations.d.ts","sourceRoot":"","sources":["../../src/renderAnnotations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAkB,MAAM,eAAe,CAAA;AAM3G,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,WAAW,EACpB,qBAAqB,EAAE,UAAU,EAAE,EACnC,oBAAoB,EAAE,UAAU,EAAE,EAClC,SAAS,UAAO,GACf,IAAI,CAiBN;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,GAAG,cAAc,GAAG,IAAI,CAclH;AAgBD,wBAAgB,aAAa,CAAC,aAAa,EAAE,WAAW,QAEvD;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,WAAW,EAC1B,UAAU,EAAE,eAAe,EAC3B,IAAI,EAAE,YAAY,GAAG,WAAW,EAChC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,SAAS,EAAE,OAAO,GACjB,WAAW,CAKb;AACD,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,gBAAgB,EACvB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,eAAe,EAC3B,IAAI,EAAE,YAAY,GAAG,WAAW,EAChC,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,GACb,WAAW,CA6Bb"}
|
@@ -1,193 +0,0 @@
|
|
1
|
-
import { createElement } from './dom-utils';
|
2
|
-
import classNames from 'classnames';
|
3
|
-
const messageLengthThreshold = 5;
|
4
|
-
export function renderAnnotations(element, pregradingAnnotations, censoringAnnotations, showTitle = true) {
|
5
|
-
const annotations = [...pregradingAnnotations, ...censoringAnnotations];
|
6
|
-
const annotationsWithMessages = annotations.filter(a => a.message);
|
7
|
-
for (const [i, annotation] of annotations.entries()) {
|
8
|
-
const type = pregradingAnnotations.includes(annotation) ? 'pregrading' : 'censoring';
|
9
|
-
const index = annotationsWithMessages.indexOf(annotation) + 1 || undefined;
|
10
|
-
const listIndex = type === 'pregrading' ? i : i - pregradingAnnotations.length;
|
11
|
-
switch (annotation.type) {
|
12
|
-
case 'line':
|
13
|
-
case 'rect':
|
14
|
-
renderImageAnnotation(element, annotation, type, listIndex, index, showTitle);
|
15
|
-
break;
|
16
|
-
default:
|
17
|
-
renderTextAnnotation(element, annotation, type, listIndex, index, showTitle);
|
18
|
-
}
|
19
|
-
}
|
20
|
-
}
|
21
|
-
export function updateImageAnnotationMarkSize(mark, annotation) {
|
22
|
-
const style = mark.style;
|
23
|
-
const pct = (n) => `${n * 100}%`;
|
24
|
-
if (annotation.type === 'rect') {
|
25
|
-
style.left = pct(annotation.x);
|
26
|
-
style.top = pct(annotation.y);
|
27
|
-
style.right = pct(1 - (annotation.x + annotation.width));
|
28
|
-
style.bottom = pct(1 - (annotation.y + annotation.height));
|
29
|
-
}
|
30
|
-
else {
|
31
|
-
style.left = pct(annotation.x1);
|
32
|
-
style.top = pct(annotation.y1);
|
33
|
-
style.right = pct(1 - annotation.x2);
|
34
|
-
style.bottom = pct(1 - annotation.y2);
|
35
|
-
}
|
36
|
-
}
|
37
|
-
function getWrapper(image) {
|
38
|
-
const parent = image.parentElement;
|
39
|
-
if (parent instanceof HTMLSpanElement) {
|
40
|
-
return parent;
|
41
|
-
}
|
42
|
-
const wrapper = createElement('span', { className: 'e-annotation-wrapper' });
|
43
|
-
parent.insertBefore(wrapper, image);
|
44
|
-
wrapper.appendChild(image);
|
45
|
-
return wrapper;
|
46
|
-
}
|
47
|
-
export function wrapAllImages(answerElement) {
|
48
|
-
answerElement.querySelectorAll('img').forEach(getWrapper);
|
49
|
-
}
|
50
|
-
export function renderImageAnnotation(answerElement, annotation, type, listIndex, index, showTitle) {
|
51
|
-
const { attachmentIndex } = annotation;
|
52
|
-
const image = answerElement.querySelectorAll('img')[attachmentIndex];
|
53
|
-
const title = showTitle ? annotation.message : '';
|
54
|
-
return renderImageAnnotationByImage(image, title, annotation, type, listIndex, index);
|
55
|
-
}
|
56
|
-
export function renderImageAnnotationByImage(image, title, annotation, type, listIndex, index) {
|
57
|
-
const wrapper = getWrapper(image);
|
58
|
-
const shape = mkShape();
|
59
|
-
wrapper.appendChild(shape);
|
60
|
-
function mkShape() {
|
61
|
-
const mark = createElement('mark', {
|
62
|
-
...{
|
63
|
-
className: classNames('e-annotation e-annotation--shape', {
|
64
|
-
'e-annotation--pregrading': type === 'pregrading',
|
65
|
-
'e-annotation--censoring': type === 'censoring'
|
66
|
-
}),
|
67
|
-
title,
|
68
|
-
'data-list-index': String(listIndex),
|
69
|
-
'data-type': type
|
70
|
-
},
|
71
|
-
...(index && { 'data-index': String(index) }),
|
72
|
-
...(annotation.message && { 'data-message': annotation.message })
|
73
|
-
});
|
74
|
-
updateImageAnnotationMarkSize(mark, annotation);
|
75
|
-
if (index) {
|
76
|
-
mark.appendChild(createSup(index, 'shape', annotation.message));
|
77
|
-
}
|
78
|
-
return mark;
|
79
|
-
}
|
80
|
-
return shape;
|
81
|
-
}
|
82
|
-
function renderTextAnnotation(rootElement, annotation, type, listIndex, index, showTitle) {
|
83
|
-
const { startIndex, length: annotationLength } = annotation;
|
84
|
-
return go(rootElement.childNodes[0], 0, annotationLength);
|
85
|
-
function go(
|
86
|
-
/* The current node in the answer HTML. */
|
87
|
-
node,
|
88
|
-
/** The current index corresponding to the node. */
|
89
|
-
currentIndex,
|
90
|
-
/* The remaining number of characters from the annotation to render. */
|
91
|
-
remaining) {
|
92
|
-
var _a;
|
93
|
-
if (!isMark(node) && !isSup(node) && !isBr(node) && currentIndex >= startIndex) {
|
94
|
-
// We found the correct spot to start an annotation. So let's create a mark element.
|
95
|
-
const mark = mkMark();
|
96
|
-
// Insert it before the node.
|
97
|
-
(_a = node.parentElement) === null || _a === void 0 ? void 0 : _a.insertBefore(mark, node);
|
98
|
-
// Move the node and its next siblings inside the mark until the mark
|
99
|
-
// contains the required amount of content or we run out of sibling nodes.
|
100
|
-
// If the node is a Text node and it is too long for the annotation, we
|
101
|
-
// split it in two and move the first part inside the mark, leaving the
|
102
|
-
// rest in place.
|
103
|
-
const stillRemaining = move(mark, node, remaining);
|
104
|
-
// If we have run out of sibling nodes but still have characters to mark,
|
105
|
-
// create another mark at the next text node. This means that marks have
|
106
|
-
// been nested.
|
107
|
-
if (stillRemaining > 0) {
|
108
|
-
go(nextSibling(mark), currentIndex + annotationLength - stillRemaining, stillRemaining);
|
109
|
-
}
|
110
|
-
// We know that we're at the last mark of this annotation.
|
111
|
-
// Render the superscript index after it, if necessary.
|
112
|
-
else if (index) {
|
113
|
-
mark.appendChild(createSup(index, 'text', annotation.message));
|
114
|
-
}
|
115
|
-
}
|
116
|
-
else {
|
117
|
-
if (node instanceof Text && currentIndex + length(node) > startIndex) {
|
118
|
-
// The annotation should start in the middle of this text node. We need to split it in two.
|
119
|
-
node.splitText(startIndex - currentIndex);
|
120
|
-
}
|
121
|
-
go(next(node), currentIndex + length(node), remaining);
|
122
|
-
}
|
123
|
-
}
|
124
|
-
function isBr(node) {
|
125
|
-
return node.nodeName === 'BR';
|
126
|
-
}
|
127
|
-
function isMark(node) {
|
128
|
-
return node.nodeName === 'MARK';
|
129
|
-
}
|
130
|
-
function isSup(node) {
|
131
|
-
return node.nodeName === 'SUP';
|
132
|
-
}
|
133
|
-
function isImage(node) {
|
134
|
-
// If we've already added an image annotation to the image, it will be wrapped
|
135
|
-
// in a <span> element.
|
136
|
-
return node.nodeName === 'IMG' || node.nodeName === 'SPAN';
|
137
|
-
}
|
138
|
-
function next(node) {
|
139
|
-
return isMark(node) ? node.childNodes[0] : nextSibling(node);
|
140
|
-
}
|
141
|
-
function nextSibling(node) {
|
142
|
-
const sibling = node.nextSibling;
|
143
|
-
if (sibling) {
|
144
|
-
return sibling;
|
145
|
-
}
|
146
|
-
const parent = node.parentElement;
|
147
|
-
// If we encounter the root element, we've run out of text to annotate. This
|
148
|
-
// could be a bug in the annotation code or perhaps the annotations are invalid.
|
149
|
-
// To err on the side of caution, throw an exception in this case.
|
150
|
-
if (parent === null || parent === rootElement) {
|
151
|
-
throw new Error('Bug: the answer seems to be too short for the current set of annotations.');
|
152
|
-
}
|
153
|
-
return nextSibling(parent);
|
154
|
-
}
|
155
|
-
function length(node) {
|
156
|
-
return node instanceof Text ? node.length : isImage(node) ? 1 : 0;
|
157
|
-
}
|
158
|
-
function mkMark() {
|
159
|
-
return createElement('mark', {
|
160
|
-
...{
|
161
|
-
className: classNames('e-annotation', {
|
162
|
-
'e-annotation--pregrading': type === 'pregrading',
|
163
|
-
'e-annotation--censoring': type === 'censoring'
|
164
|
-
}),
|
165
|
-
title: showTitle ? annotation.message : '',
|
166
|
-
'data-list-index': String(listIndex),
|
167
|
-
'data-type': type
|
168
|
-
},
|
169
|
-
...(index && { 'data-index': String(index) }),
|
170
|
-
...(annotation.message && { 'data-message': annotation.message })
|
171
|
-
});
|
172
|
-
}
|
173
|
-
function move(mark, node, remaining) {
|
174
|
-
if (!node || isMark(node) || remaining === 0) {
|
175
|
-
return remaining;
|
176
|
-
}
|
177
|
-
// Split text nodes if they are too long.
|
178
|
-
if (node instanceof Text && length(node) > 0 && length(node) > remaining) {
|
179
|
-
node.splitText(remaining);
|
180
|
-
}
|
181
|
-
const nextSibling = node.nextSibling;
|
182
|
-
mark.appendChild(node);
|
183
|
-
return move(mark, nextSibling, remaining - length(node));
|
184
|
-
}
|
185
|
-
}
|
186
|
-
function createSup(index, type, message) {
|
187
|
-
return createElement('sup', {
|
188
|
-
className: `e-annotation__index e-annotation__index--${type}`,
|
189
|
-
'data-content': message.length > messageLengthThreshold ? `${index})` : message,
|
190
|
-
'data-message': message
|
191
|
-
});
|
192
|
-
}
|
193
|
-
//# sourceMappingURL=renderAnnotations.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"renderAnnotations.js","sourceRoot":"","sources":["../../src/renderAnnotations.ts"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"scrollToHash.d.ts","sourceRoot":"","sources":["../../src/scrollToHash.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,IAAI,MAAM,IAAI,CAYzC"}
|
package/dist/src/scrollToHash.js
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
export function scrollToHash() {
|
2
|
-
const maybeId = decodeURIComponent(window.location.hash).slice(1);
|
3
|
-
if (maybeId) {
|
4
|
-
const maybeElement = document.getElementById(maybeId);
|
5
|
-
if (maybeElement) {
|
6
|
-
focusElement(maybeElement);
|
7
|
-
}
|
8
|
-
}
|
9
|
-
window.addEventListener('hashchange', scrollToHash);
|
10
|
-
return () => window.removeEventListener('hashchange', scrollToHash);
|
11
|
-
}
|
12
|
-
function focusElement(element) {
|
13
|
-
// Make the element temporarily focusable for screen readers.
|
14
|
-
element.setAttribute('tabindex', '-1');
|
15
|
-
// We don't want to show an outline for our sighted users.
|
16
|
-
element.style.outline = 'none';
|
17
|
-
element.addEventListener('blur', () => {
|
18
|
-
element.removeAttribute('tabindex');
|
19
|
-
element.style.outline = '';
|
20
|
-
}, { once: true });
|
21
|
-
element.focus();
|
22
|
-
element.scrollIntoView();
|
23
|
-
}
|
24
|
-
//# sourceMappingURL=scrollToHash.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"scrollToHash.js","sourceRoot":"","sources":["../../src/scrollToHash.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAEjE,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,YAAY,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QACrD,IAAI,YAAY,EAAE,CAAC;YACjB,YAAY,CAAC,YAAY,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;IACnD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;AACrE,CAAC;AAED,SAAS,YAAY,CAAC,OAAoB;IACxC,6DAA6D;IAC7D,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IACtC,0DAA0D;IAC1D,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAA;IAE9B,OAAO,CAAC,gBAAgB,CACtB,MAAM,EACN,GAAG,EAAE;QACH,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;QACnC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAA;IAC5B,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAA;IAED,OAAO,CAAC,KAAK,EAAE,CAAA;IACf,OAAO,CAAC,cAAc,EAAE,CAAA;AAC1B,CAAC"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"shortDisplayNumber.d.ts","sourceRoot":"","sources":["../../src/shortDisplayNumber.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE9D"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"shortDisplayNumber.js","sourceRoot":"","sources":["../../src/shortDisplayNumber.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,WAAW,CAAA;AAE9B,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IACpD,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAE,GAAG,CAAA;AAC9C,CAAC"}
|
@@ -1,33 +0,0 @@
|
|
1
|
-
import { ExamAnswer, QuestionId } from '../..';
|
2
|
-
export declare const saveAnswer: (answer: ExamAnswer) => {
|
3
|
-
type: "SAVE_ANSWER";
|
4
|
-
payload: ExamAnswer;
|
5
|
-
};
|
6
|
-
export declare const saveAnswerSucceeded: (answer: ExamAnswer) => {
|
7
|
-
type: "SAVE_ANSWER_SUCCEEDED";
|
8
|
-
payload: ExamAnswer;
|
9
|
-
};
|
10
|
-
export declare const saveAnswerFailed: (answer: ExamAnswer, error: unknown) => {
|
11
|
-
type: "SAVE_ANSWER_FAILED";
|
12
|
-
payload: {
|
13
|
-
answer: ExamAnswer;
|
14
|
-
error: unknown;
|
15
|
-
};
|
16
|
-
error: boolean;
|
17
|
-
};
|
18
|
-
export declare const selectAnswerVersion: (questionId: QuestionId, questionText: string) => {
|
19
|
-
type: "SELECT_ANSWER_VERSION";
|
20
|
-
payload: {
|
21
|
-
questionId: number;
|
22
|
-
questionText: string;
|
23
|
-
};
|
24
|
-
};
|
25
|
-
export declare const answerFocused: (questionId: QuestionId) => {
|
26
|
-
type: "ANSWER_FOCUSED";
|
27
|
-
payload: number;
|
28
|
-
};
|
29
|
-
export declare const answerBlurred: (questionId: QuestionId) => {
|
30
|
-
type: "ANSWER_BLURRED";
|
31
|
-
payload: number;
|
32
|
-
};
|
33
|
-
//# sourceMappingURL=actions.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../../src/store/answers/actions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAE9C,eAAO,MAAM,UAAU,WAAY,UAAU;;;CAAkC,CAAA;AAE/E,eAAO,MAAM,mBAAmB,WAAY,UAAU;;;CAA4C,CAAA;AAElG,eAAO,MAAM,gBAAgB,WAAY,UAAU,SAAS,OAAO;;;;;;;CACD,CAAA;AAElE,eAAO,MAAM,mBAAmB,eAAgB,UAAU,gBAAgB,MAAM;;;;;;CACjB,CAAA;AAE/D,eAAO,MAAM,aAAa,eAAgB,UAAU;;;CAAyC,CAAA;AAE7F,eAAO,MAAM,aAAa,eAAgB,UAAU;;;CAAyC,CAAA"}
|
@@ -1,9 +0,0 @@
|
|
1
|
-
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
2
|
-
import { action } from 'typesafe-actions';
|
3
|
-
export const saveAnswer = (answer) => action('SAVE_ANSWER', answer);
|
4
|
-
export const saveAnswerSucceeded = (answer) => action('SAVE_ANSWER_SUCCEEDED', answer);
|
5
|
-
export const saveAnswerFailed = (answer, error) => action('SAVE_ANSWER_FAILED', { answer, error }, undefined, true);
|
6
|
-
export const selectAnswerVersion = (questionId, questionText) => action('SELECT_ANSWER_VERSION', { questionId, questionText });
|
7
|
-
export const answerFocused = (questionId) => action('ANSWER_FOCUSED', questionId);
|
8
|
-
export const answerBlurred = (questionId) => action('ANSWER_BLURRED', questionId);
|
9
|
-
//# sourceMappingURL=actions.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../../src/store/answers/actions.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAGzC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;AAE/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAA;AAElG,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAkB,EAAE,KAAc,EAAE,EAAE,CACrE,MAAM,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;AAElE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,UAAsB,EAAE,YAAoB,EAAE,EAAE,CAClF,MAAM,CAAC,uBAAuB,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAA;AAE/D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,UAAsB,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAA;AAE7F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,UAAsB,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAA"}
|
@@ -1,39 +0,0 @@
|
|
1
|
-
import { ActionType } from 'typesafe-actions';
|
2
|
-
import * as actions from './actions';
|
3
|
-
import { ExamAnswer, QuestionId } from '../..';
|
4
|
-
import { ValidationError } from '../../validateAnswers';
|
5
|
-
import { RootElement } from '../../parser/parseExamStructure';
|
6
|
-
type AnswersAction = ActionType<typeof actions>;
|
7
|
-
export interface AnswersState {
|
8
|
-
answersById: Record<QuestionId, ExamAnswer>;
|
9
|
-
/** The (text) answer that is focused right now. Used for e.g. highlighting the correct hint in scored text answers. */
|
10
|
-
focusedQuestionId: QuestionId | null;
|
11
|
-
/**
|
12
|
-
* The set of answers that (to the best of our knowledge) have been
|
13
|
-
* successfully saved to the server. That is, the questions that we
|
14
|
-
* show the "Tallennettu" indicator for.
|
15
|
-
*/
|
16
|
-
savedQuestionIds: Set<QuestionId>;
|
17
|
-
/**
|
18
|
-
* The set of questions that have been saved to the server at some point. Or
|
19
|
-
* in short, the set of questions that we show the answer history link for.
|
20
|
-
*/
|
21
|
-
serverQuestionIds: Set<QuestionId>;
|
22
|
-
/**
|
23
|
-
* Whether or not the Exam API has implemented the optional answer history
|
24
|
-
* feature. For now, only the real ktp has implemented it. it.
|
25
|
-
*/
|
26
|
-
supportsAnswerHistory: boolean;
|
27
|
-
/**
|
28
|
-
* The simplified structure of the exam (only sections, questions and answers)
|
29
|
-
* that we use for validation purposes.
|
30
|
-
*/
|
31
|
-
examStructure: RootElement;
|
32
|
-
/**
|
33
|
-
* An array of warning messages about answers that the user has input.
|
34
|
-
*/
|
35
|
-
validationErrors: ValidationError[];
|
36
|
-
}
|
37
|
-
export default function answersReducer(state: AnswersState | undefined, action: AnswersAction): AnswersState;
|
38
|
-
export {};
|
39
|
-
//# sourceMappingURL=reducer.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../../../src/store/answers/reducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAC9C,OAAO,EAAmB,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAE7D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAA;AAE/C,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IAC3C,uHAAuH;IACvH,iBAAiB,EAAE,UAAU,GAAG,IAAI,CAAA;IACpC;;;;OAIG;IACH,gBAAgB,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;IACjC;;;OAGG;IACH,iBAAiB,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;IAClC;;;OAGG;IACH,qBAAqB,EAAE,OAAO,CAAA;IAC9B;;;OAGG;IACH,aAAa,EAAE,WAAW,CAAA;IAC1B;;OAEG;IACH,gBAAgB,EAAE,eAAe,EAAE,CAAA;CACpC;AAgBD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAK,EAAE,YAAY,YAAe,EAAE,MAAM,EAAE,aAAa,GAAG,YAAY,CA6B9G"}
|
@@ -1,55 +0,0 @@
|
|
1
|
-
import { validateAnswers } from '../../validateAnswers';
|
2
|
-
const initialState = {
|
3
|
-
answersById: {},
|
4
|
-
examStructure: {
|
5
|
-
name: 'exam',
|
6
|
-
attributes: {},
|
7
|
-
childNodes: []
|
8
|
-
},
|
9
|
-
focusedQuestionId: null,
|
10
|
-
supportsAnswerHistory: false,
|
11
|
-
serverQuestionIds: new Set(),
|
12
|
-
savedQuestionIds: new Set(),
|
13
|
-
validationErrors: []
|
14
|
-
};
|
15
|
-
export default function answersReducer(state = initialState, action) {
|
16
|
-
switch (action.type) {
|
17
|
-
case 'SAVE_ANSWER': {
|
18
|
-
const { questionId } = action.payload;
|
19
|
-
const synchronizedQuestionIds = setDelete(state.savedQuestionIds, questionId);
|
20
|
-
const answersById = { ...state.answersById, [questionId]: action.payload };
|
21
|
-
return { ...state, savedQuestionIds: synchronizedQuestionIds, answersById };
|
22
|
-
}
|
23
|
-
case 'SAVE_ANSWER_FAILED': {
|
24
|
-
return state;
|
25
|
-
}
|
26
|
-
case 'SAVE_ANSWER_SUCCEEDED': {
|
27
|
-
const { questionId } = action.payload;
|
28
|
-
const savedQuestionIds = setAdd(state.savedQuestionIds, questionId);
|
29
|
-
const serverQuestionIds = setAdd(state.serverQuestionIds, questionId);
|
30
|
-
const validationErrors = validateAnswers(state.examStructure, state.answersById);
|
31
|
-
return { ...state, serverQuestionIds, savedQuestionIds, validationErrors };
|
32
|
-
}
|
33
|
-
case 'ANSWER_FOCUSED': {
|
34
|
-
const questionId = action.payload;
|
35
|
-
return { ...state, focusedQuestionId: questionId };
|
36
|
-
}
|
37
|
-
case 'ANSWER_BLURRED': {
|
38
|
-
const questionId = action.payload;
|
39
|
-
return { ...state, focusedQuestionId: state.focusedQuestionId === questionId ? null : state.focusedQuestionId };
|
40
|
-
}
|
41
|
-
default:
|
42
|
-
return state;
|
43
|
-
}
|
44
|
-
}
|
45
|
-
function setAdd(set, value) {
|
46
|
-
const copy = new Set(set);
|
47
|
-
copy.add(value);
|
48
|
-
return copy;
|
49
|
-
}
|
50
|
-
function setDelete(set, value) {
|
51
|
-
const copy = new Set(set);
|
52
|
-
copy.delete(value);
|
53
|
-
return copy;
|
54
|
-
}
|
55
|
-
//# sourceMappingURL=reducer.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../../../src/store/answers/reducer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAmB,MAAM,uBAAuB,CAAA;AAoCxE,MAAM,YAAY,GAAiB;IACjC,WAAW,EAAE,EAAE;IACf,aAAa,EAAE;QACb,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,EAAE;KACf;IACD,iBAAiB,EAAE,IAAI;IACvB,qBAAqB,EAAE,KAAK;IAC5B,iBAAiB,EAAE,IAAI,GAAG,EAAE;IAC5B,gBAAgB,EAAE,IAAI,GAAG,EAAE;IAC3B,gBAAgB,EAAE,EAAE;CACrB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,QAAsB,YAAY,EAAE,MAAqB;IAC9F,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,OAAO,CAAA;YACrC,MAAM,uBAAuB,GAAG,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAA;YAC7E,MAAM,WAAW,GAAG,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,CAAA;YAC1E,OAAO,EAAE,GAAG,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,WAAW,EAAE,CAAA;QAC7E,CAAC;QACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,OAAO,KAAK,CAAA;QACd,CAAC;QACD,KAAK,uBAAuB,CAAC,CAAC,CAAC;YAC7B,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,OAAO,CAAA;YACrC,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAA;YACnE,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAA;YACrE,MAAM,gBAAgB,GAAG,eAAe,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;YAChF,OAAO,EAAE,GAAG,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAA;QAC5E,CAAC;QACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAA;YACjC,OAAO,EAAE,GAAG,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAA;QACpD,CAAC;QACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAA;YACjC,OAAO,EAAE,GAAG,KAAK,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAA;QACjH,CAAC;QACD;YACE,OAAO,KAAK,CAAA;IAChB,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAI,GAAW,EAAE,KAAQ;IACtC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IACzB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACf,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,SAAS,CAAI,GAAW,EAAE,KAAQ;IACzC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAClB,OAAO,IAAI,CAAA;AACb,CAAC"}
|