@digabi/exam-engine-core 24.0.0-alpha.0 → 25.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/AnswerToolbar.js +22 -17
- package/dist/components/AnswerToolbar.js.map +1 -1
- package/dist/components/AnsweringInstructions.js +44 -6
- package/dist/components/AnsweringInstructions.js.map +1 -1
- package/dist/components/DocumentTitle.js +40 -5
- package/dist/components/DocumentTitle.js.map +1 -1
- package/dist/components/NotificationIcon.js +10 -5
- package/dist/components/NotificationIcon.js.map +1 -1
- package/dist/components/RenderChildNodes.js +8 -3
- package/dist/components/RenderChildNodes.js.map +1 -1
- package/dist/components/RenderExamElements.js +8 -3
- package/dist/components/RenderExamElements.js.map +1 -1
- package/dist/components/RenderIf.js +10 -3
- package/dist/components/RenderIf.js.map +1 -1
- package/dist/components/ScreenReaderOnly.js +9 -2
- package/dist/components/ScreenReaderOnly.js.map +1 -1
- package/dist/components/SectionElement.js +10 -5
- package/dist/components/SectionElement.js.map +1 -1
- package/dist/components/attachments/Attachment.js +40 -5
- package/dist/components/attachments/Attachment.js.map +1 -1
- package/dist/components/attachments/AttachmentTitle.js +42 -7
- package/dist/components/attachments/AttachmentTitle.js.map +1 -1
- package/dist/components/attachments/Attachments.js +87 -47
- package/dist/components/attachments/Attachments.js.map +1 -1
- package/dist/components/attachments/ExternalMaterial.js +77 -39
- package/dist/components/attachments/ExternalMaterial.js.map +1 -1
- package/dist/components/attachments/Question.js +47 -9
- package/dist/components/attachments/Question.js.map +1 -1
- package/dist/components/attachments/QuestionTitle.js +45 -10
- package/dist/components/attachments/QuestionTitle.js.map +1 -1
- package/dist/components/context/AnnotationProvider.js +10 -4
- package/dist/components/context/AnnotationProvider.js.map +1 -1
- package/dist/components/context/AttachmentContext.js +12 -6
- package/dist/components/context/AttachmentContext.js.map +1 -1
- package/dist/components/context/AudioRecorderContext.js +41 -5
- package/dist/components/context/AudioRecorderContext.js.map +1 -1
- package/dist/components/context/CommonExamContext.js +22 -15
- package/dist/components/context/CommonExamContext.js.map +1 -1
- package/dist/components/context/ExamContext.js +10 -4
- package/dist/components/context/ExamContext.js.map +1 -1
- package/dist/components/context/GradingInstructionContext.js +8 -2
- package/dist/components/context/GradingInstructionContext.js.map +1 -1
- package/dist/components/context/IsInSidebarContext.js +5 -2
- package/dist/components/context/IsInSidebarContext.js.map +1 -1
- package/dist/components/context/QuestionContext.js +21 -15
- package/dist/components/context/QuestionContext.js.map +1 -1
- package/dist/components/context/ResultsContext.js +57 -14
- package/dist/components/context/ResultsContext.js.map +1 -1
- package/dist/components/context/SectionContext.js +16 -10
- package/dist/components/context/SectionContext.js.map +1 -1
- package/dist/components/context/TOCContext.js +5 -2
- package/dist/components/context/TOCContext.js.map +1 -1
- package/dist/components/context/withContext.js +13 -6
- package/dist/components/context/withContext.js.map +1 -1
- package/dist/components/exam/Attachment.js +40 -5
- package/dist/components/exam/Attachment.js.map +1 -1
- package/dist/components/exam/AudioAnswer.js +51 -16
- package/dist/components/exam/AudioAnswer.js.map +1 -1
- package/dist/components/exam/ChoiceAnswer.js +63 -25
- package/dist/components/exam/ChoiceAnswer.js.map +1 -1
- package/dist/components/exam/DNDAllOptions.js +19 -12
- package/dist/components/exam/DNDAllOptions.js.map +1 -1
- package/dist/components/exam/DNDAnswerContainer.js +67 -30
- package/dist/components/exam/DNDAnswerContainer.js.map +1 -1
- package/dist/components/exam/DNDAnswerOptionDraggable.js +20 -13
- package/dist/components/exam/DNDAnswerOptionDraggable.js.map +1 -1
- package/dist/components/exam/DropdownAnswer.js +85 -47
- package/dist/components/exam/DropdownAnswer.js.map +1 -1
- package/dist/components/exam/Exam.js +184 -145
- package/dist/components/exam/Exam.js.map +1 -1
- package/dist/components/exam/ExamFooter.js +8 -3
- package/dist/components/exam/ExamFooter.js.map +1 -1
- package/dist/components/exam/ExamInstruction.js +8 -3
- package/dist/components/exam/ExamInstruction.js.map +1 -1
- package/dist/components/exam/ExternalMaterial.js +57 -22
- package/dist/components/exam/ExternalMaterial.js.map +1 -1
- package/dist/components/exam/GoToExamineAnswersButton.js +42 -7
- package/dist/components/exam/GoToExamineAnswersButton.js.map +1 -1
- package/dist/components/exam/Hints.js +21 -16
- package/dist/components/exam/Hints.js.map +1 -1
- package/dist/components/exam/Question.js +76 -37
- package/dist/components/exam/Question.js.map +1 -1
- package/dist/components/exam/QuestionInstruction.js +10 -5
- package/dist/components/exam/QuestionInstruction.js.map +1 -1
- package/dist/components/exam/QuestionTitle.js +57 -19
- package/dist/components/exam/QuestionTitle.js.map +1 -1
- package/dist/components/exam/RichTextAnswer.js +23 -18
- package/dist/components/exam/RichTextAnswer.js.map +1 -1
- package/dist/components/exam/Section.js +76 -38
- package/dist/components/exam/Section.js.map +1 -1
- package/dist/components/exam/SectionInstruction.js +8 -3
- package/dist/components/exam/SectionInstruction.js.map +1 -1
- package/dist/components/exam/SectionTitle.js +58 -20
- package/dist/components/exam/SectionTitle.js.map +1 -1
- package/dist/components/exam/StudentNameHeader.js +9 -2
- package/dist/components/exam/StudentNameHeader.js.map +1 -1
- package/dist/components/exam/TextAnswer.js +19 -14
- package/dist/components/exam/TextAnswer.js.map +1 -1
- package/dist/components/exam/UndoHistoryEntry.js +21 -14
- package/dist/components/exam/UndoHistoryEntry.js.map +1 -1
- package/dist/components/exam/UndoView.d.ts +0 -1
- package/dist/components/exam/UndoView.d.ts.map +1 -1
- package/dist/components/exam/UndoView.js +45 -69
- package/dist/components/exam/UndoView.js.map +1 -1
- package/dist/components/exam/internal/AudioRecorder.js +78 -39
- package/dist/components/exam/internal/AudioRecorder.js.map +1 -1
- package/dist/components/exam/internal/ErrorIndicator.js +71 -32
- package/dist/components/exam/internal/ErrorIndicator.js.map +1 -1
- package/dist/components/exam/internal/ProgressBar.js +46 -8
- package/dist/components/exam/internal/ProgressBar.js.map +1 -1
- package/dist/components/exam/internal/SaveIndicator.js +16 -11
- package/dist/components/exam/internal/SaveIndicator.js.map +1 -1
- package/dist/components/exam/internal/TextAnswerInput.js +97 -58
- package/dist/components/exam/internal/TextAnswerInput.js.map +1 -1
- package/dist/components/exam/multipleContainersKeyboardCoordinates.js +13 -9
- package/dist/components/exam/multipleContainersKeyboardCoordinates.js.map +1 -1
- package/dist/components/grading/AnswerCharacterCounter.js +12 -6
- package/dist/components/grading/AnswerCharacterCounter.js.map +1 -1
- package/dist/components/grading/GradingAnswer.js +112 -73
- package/dist/components/grading/GradingAnswer.js.map +1 -1
- package/dist/components/grading/GradingAnswerAnnotationList.js +9 -4
- package/dist/components/grading/GradingAnswerAnnotationList.js.map +1 -1
- package/dist/components/grading/editAnnotations.js +66 -16
- package/dist/components/grading/editAnnotations.js.map +1 -1
- package/dist/components/grading/largeImageDetector.js +6 -2
- package/dist/components/grading/largeImageDetector.js.map +1 -1
- package/dist/components/grading-instructions/AnswerGradingInstruction.js +42 -7
- package/dist/components/grading-instructions/AnswerGradingInstruction.js.map +1 -1
- package/dist/components/grading-instructions/AutogradedAnswer.js +59 -21
- package/dist/components/grading-instructions/AutogradedAnswer.js.map +1 -1
- package/dist/components/grading-instructions/AutogradedAnswerOption.js +13 -8
- package/dist/components/grading-instructions/AutogradedAnswerOption.js.map +1 -1
- package/dist/components/grading-instructions/ExamGradingInstruction.js +8 -3
- package/dist/components/grading-instructions/ExamGradingInstruction.js.map +1 -1
- package/dist/components/grading-instructions/GradingInstructionProvider.js +10 -3
- package/dist/components/grading-instructions/GradingInstructionProvider.js.map +1 -1
- package/dist/components/grading-instructions/GradingInstructions.js +132 -92
- package/dist/components/grading-instructions/GradingInstructions.js.map +1 -1
- package/dist/components/grading-instructions/Question.js +45 -7
- package/dist/components/grading-instructions/Question.js.map +1 -1
- package/dist/components/grading-instructions/QuestionTitle.js +50 -12
- package/dist/components/grading-instructions/QuestionTitle.js.map +1 -1
- package/dist/components/grading-instructions/Recording.js +20 -13
- package/dist/components/grading-instructions/Recording.js.map +1 -1
- package/dist/components/grading-instructions/RenderAttachmentElements.js +11 -6
- package/dist/components/grading-instructions/RenderAttachmentElements.js.map +1 -1
- package/dist/components/grading-instructions/Section.js +45 -7
- package/dist/components/grading-instructions/Section.js.map +1 -1
- package/dist/components/grading-instructions/SectionTitle.js +45 -10
- package/dist/components/grading-instructions/SectionTitle.js.map +1 -1
- package/dist/components/grading-instructions/gradingInstructionContent.js +4 -1
- package/dist/components/grading-instructions/gradingInstructionContent.js.map +1 -1
- package/dist/components/results/AudioAnswer.js +62 -24
- package/dist/components/results/AudioAnswer.js.map +1 -1
- package/dist/components/results/AudioContainer.js +27 -20
- package/dist/components/results/AudioContainer.js.map +1 -1
- package/dist/components/results/ChoiceAnswer.js +67 -29
- package/dist/components/results/ChoiceAnswer.js.map +1 -1
- package/dist/components/results/CorrectDNDAnswers.js +48 -11
- package/dist/components/results/CorrectDNDAnswers.js.map +1 -1
- package/dist/components/results/DNDAnswerOption.js +13 -6
- package/dist/components/results/DNDAnswerOption.js.map +1 -1
- package/dist/components/results/DropdownAnswer.js +68 -30
- package/dist/components/results/DropdownAnswer.js.map +1 -1
- package/dist/components/results/EndExamSession.js +22 -15
- package/dist/components/results/EndExamSession.js.map +1 -1
- package/dist/components/results/MultiLineAnswer.js +60 -20
- package/dist/components/results/MultiLineAnswer.js.map +1 -1
- package/dist/components/results/Question.js +53 -15
- package/dist/components/results/Question.js.map +1 -1
- package/dist/components/results/QuestionTitle.js +57 -19
- package/dist/components/results/QuestionTitle.js.map +1 -1
- package/dist/components/results/Results.js +144 -106
- package/dist/components/results/Results.js.map +1 -1
- package/dist/components/results/ScoredTextAnswer.js +54 -16
- package/dist/components/results/ScoredTextAnswer.js.map +1 -1
- package/dist/components/results/Section.js +46 -8
- package/dist/components/results/Section.js.map +1 -1
- package/dist/components/results/SingleLineAnswer.js +54 -16
- package/dist/components/results/SingleLineAnswer.js.map +1 -1
- package/dist/components/results/TextAnswer.js +68 -30
- package/dist/components/results/TextAnswer.js.map +1 -1
- package/dist/components/results/internal/AnnotationList.js +51 -16
- package/dist/components/results/internal/AnnotationList.js.map +1 -1
- package/dist/components/results/internal/QuestionAutoScore.js +47 -9
- package/dist/components/results/internal/QuestionAutoScore.js.map +1 -1
- package/dist/components/results/internal/QuestionManualScore.js +61 -23
- package/dist/components/results/internal/QuestionManualScore.js.map +1 -1
- package/dist/components/results/internal/QuestionScoresContainer.js +53 -15
- package/dist/components/results/internal/QuestionScoresContainer.js.map +1 -1
- package/dist/components/results/isExamineExamPageHook.js +8 -4
- package/dist/components/results/isExamineExamPageHook.js.map +1 -1
- package/dist/components/shared/AnnotationLists.js +19 -13
- package/dist/components/shared/AnnotationLists.js.map +1 -1
- package/dist/components/shared/AnswerIndicator.js +51 -12
- package/dist/components/shared/AnswerIndicator.js.map +1 -1
- package/dist/components/shared/AnswerLengthInfo.js +13 -8
- package/dist/components/shared/AnswerLengthInfo.js.map +1 -1
- package/dist/components/shared/AttachmentLink.js +53 -15
- package/dist/components/shared/AttachmentLink.js.map +1 -1
- package/dist/components/shared/AttachmentLinks.js +53 -15
- package/dist/components/shared/AttachmentLinks.js.map +1 -1
- package/dist/components/shared/Audio.js +63 -25
- package/dist/components/shared/Audio.js.map +1 -1
- package/dist/components/shared/AudioGroup.js +10 -5
- package/dist/components/shared/AudioGroup.js.map +1 -1
- package/dist/components/shared/AudioTest.js +67 -29
- package/dist/components/shared/AudioTest.js.map +1 -1
- package/dist/components/shared/DNDAnswerContainer.js +52 -15
- package/dist/components/shared/DNDAnswerContainer.js.map +1 -1
- package/dist/components/shared/DNDDroppable.js +23 -16
- package/dist/components/shared/DNDDroppable.js.map +1 -1
- package/dist/components/shared/DNDTitleAndDroppable.js +68 -28
- package/dist/components/shared/DNDTitleAndDroppable.js.map +1 -1
- package/dist/components/shared/ExamTranslation.js +10 -5
- package/dist/components/shared/ExamTranslation.js.map +1 -1
- package/dist/components/shared/File.js +44 -6
- package/dist/components/shared/File.js.map +1 -1
- package/dist/components/shared/Footer.js +9 -2
- package/dist/components/shared/Footer.js.map +1 -1
- package/dist/components/shared/Formula.js +15 -10
- package/dist/components/shared/Formula.js.map +1 -1
- package/dist/components/shared/Image.js +64 -25
- package/dist/components/shared/Image.js.map +1 -1
- package/dist/components/shared/ImageOverlay.js +65 -27
- package/dist/components/shared/ImageOverlay.js.map +1 -1
- package/dist/components/shared/Popup.js +63 -23
- package/dist/components/shared/Popup.js.map +1 -1
- package/dist/components/shared/QuestionNumber.js +42 -6
- package/dist/components/shared/QuestionNumber.js.map +1 -1
- package/dist/components/shared/Reference.js +70 -32
- package/dist/components/shared/Reference.js.map +1 -1
- package/dist/components/shared/References.js +60 -22
- package/dist/components/shared/References.js.map +1 -1
- package/dist/components/shared/Score.js +13 -6
- package/dist/components/shared/Score.js.map +1 -1
- package/dist/components/shared/TOCQuestion.js +73 -33
- package/dist/components/shared/TOCQuestion.js.map +1 -1
- package/dist/components/shared/TOCSection.js +48 -11
- package/dist/components/shared/TOCSection.js.map +1 -1
- package/dist/components/shared/TOCSectionTitle.js +65 -25
- package/dist/components/shared/TOCSectionTitle.js.map +1 -1
- package/dist/components/shared/TableOfContents.js +77 -37
- package/dist/components/shared/TableOfContents.js.map +1 -1
- package/dist/components/shared/VersionNumber.js +46 -6
- package/dist/components/shared/VersionNumber.js.map +1 -1
- package/dist/components/shared/Video.js +55 -17
- package/dist/components/shared/Video.js.map +1 -1
- package/dist/components/shared/internal/AttachmentLinkAnchor.js +8 -3
- package/dist/components/shared/internal/AttachmentLinkAnchor.js.map +1 -1
- package/dist/components/shared/internal/AudioPlayer.js +58 -23
- package/dist/components/shared/internal/AudioPlayer.js.map +1 -1
- package/dist/components/shared/internal/ModalDialog.js +40 -5
- package/dist/components/shared/internal/ModalDialog.js.map +1 -1
- package/dist/components/shared/internal/RenderIfNoError.js +15 -10
- package/dist/components/shared/internal/RenderIfNoError.js.map +1 -1
- package/dist/components/shared/internal/ResponsiveMediaContainer.js +11 -6
- package/dist/components/shared/internal/ResponsiveMediaContainer.js.map +1 -1
- package/dist/components/shared/internal/RestrictedAudioPlayer.js +64 -25
- package/dist/components/shared/internal/RestrictedAudioPlayer.js.map +1 -1
- package/dist/createRenderChildNodes.js +19 -12
- package/dist/createRenderChildNodes.js.map +1 -1
- package/dist/dom-utils.js +89 -32
- package/dist/dom-utils.js.map +1 -1
- package/dist/fonts.js +15 -9
- package/dist/fonts.js.map +1 -1
- package/dist/formatting.js +4 -1
- package/dist/formatting.js.map +1 -1
- package/dist/getDisplayName.js +4 -1
- package/dist/getDisplayName.js.map +1 -1
- package/dist/i18n/A_E.js +4 -1
- package/dist/i18n/A_E.js.map +1 -1
- package/dist/i18n/BA.js +39 -3
- package/dist/i18n/BA.js.map +1 -1
- package/dist/i18n/CA.js +39 -3
- package/dist/i18n/CA.js.map +1 -1
- package/dist/i18n/EA.js +4 -1
- package/dist/i18n/EA.js.map +1 -1
- package/dist/i18n/FA.js +4 -1
- package/dist/i18n/FA.js.map +1 -1
- package/dist/i18n/GC.js +4 -1
- package/dist/i18n/GC.js.map +1 -1
- package/dist/i18n/I.js +4 -1
- package/dist/i18n/I.js.map +1 -1
- package/dist/i18n/M.js +4 -1
- package/dist/i18n/M.js.map +1 -1
- package/dist/i18n/O_E.js +4 -1
- package/dist/i18n/O_E.js.map +1 -1
- package/dist/i18n/PA.js +4 -1
- package/dist/i18n/PA.js.map +1 -1
- package/dist/i18n/SA.js +4 -1
- package/dist/i18n/SA.js.map +1 -1
- package/dist/i18n/TC.js +4 -1
- package/dist/i18n/TC.js.map +1 -1
- package/dist/i18n/VA.js +4 -1
- package/dist/i18n/VA.js.map +1 -1
- package/dist/i18n/Z.js +4 -1
- package/dist/i18n/Z.js.map +1 -1
- package/dist/i18n/fi-FI.js +4 -1
- package/dist/i18n/fi-FI.js.map +1 -1
- package/dist/i18n/index.js +93 -51
- package/dist/i18n/index.js.map +1 -1
- package/dist/i18n/sv-FI.js +4 -1
- package/dist/i18n/sv-FI.js.map +1 -1
- package/dist/ids.js +16 -13
- package/dist/ids.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +45 -14
- package/dist/index.js.map +1 -1
- package/dist/indexedDBExamServerAPI.d.ts.map +1 -1
- package/dist/indexedDBExamServerAPI.js +14 -4
- package/dist/indexedDBExamServerAPI.js.map +1 -1
- package/dist/main.css +4486 -1
- package/dist/parser/parseExam.js +44 -8
- package/dist/parser/parseExam.js.map +1 -1
- package/dist/parser/parseExamStructure.js +18 -15
- package/dist/parser/parseExamStructure.js.map +1 -1
- package/dist/renderAnnotations.js +21 -12
- package/dist/renderAnnotations.js.map +1 -1
- package/dist/scrollToHash.js +4 -1
- package/dist/scrollToHash.js.map +1 -1
- package/dist/shortDisplayNumber.js +38 -2
- package/dist/shortDisplayNumber.js.map +1 -1
- package/dist/store/answers/actions.js +16 -7
- package/dist/store/answers/actions.js.map +1 -1
- package/dist/store/answers/reducer.js +6 -3
- package/dist/store/answers/reducer.js.map +1 -1
- package/dist/store/answers/sagas.js +22 -18
- package/dist/store/answers/sagas.js.map +1 -1
- package/dist/store/audio/actions.js +16 -7
- package/dist/store/audio/actions.js.map +1 -1
- package/dist/store/audio/reducer.js +38 -2
- package/dist/store/audio/reducer.js.map +1 -1
- package/dist/store/audio/sagas.js +18 -15
- package/dist/store/audio/sagas.js.map +1 -1
- package/dist/store/cas/actions.js +13 -7
- package/dist/store/cas/actions.js.map +1 -1
- package/dist/store/cas/reducer.js +4 -1
- package/dist/store/cas/reducer.js.map +1 -1
- package/dist/store/cas/sagas.js +19 -15
- package/dist/store/cas/sagas.js.map +1 -1
- package/dist/store/countdown.js +12 -9
- package/dist/store/countdown.js.map +1 -1
- package/dist/store/index.js +63 -24
- package/dist/store/index.js.map +1 -1
- package/dist/store/selectors.js +53 -9
- package/dist/store/selectors.js.map +1 -1
- package/dist/types/ExamAnswer.js +2 -1
- package/dist/types/ExamServerAPI.d.ts +1 -1
- package/dist/types/ExamServerAPI.d.ts.map +1 -1
- package/dist/types/ExamServerAPI.js +2 -1
- package/dist/types/GradingStructure.js +2 -1
- package/dist/types/Score.js +2 -1
- package/dist/url.js +38 -2
- package/dist/url.js.map +1 -1
- package/dist/useCached.js +6 -3
- package/dist/useCached.js.map +1 -1
- package/dist/utils.js +8 -3
- package/dist/utils.js.map +1 -1
- package/dist/validateAnswers.js +38 -2
- package/dist/validateAnswers.js.map +1 -1
- package/package.json +39 -37
- package/dist/__tests__/AnsweringInstructions.test.d.ts +0 -2
- package/dist/__tests__/AnsweringInstructions.test.d.ts.map +0 -1
- package/dist/__tests__/AnsweringInstructions.test.js +0 -95
- package/dist/__tests__/AnsweringInstructions.test.js.map +0 -1
- package/dist/__tests__/casSaga.test.d.ts +0 -2
- package/dist/__tests__/casSaga.test.d.ts.map +0 -1
- package/dist/__tests__/casSaga.test.js +0 -80
- package/dist/__tests__/casSaga.test.js.map +0 -1
- package/dist/__tests__/examServerApi.d.ts +0 -3
- package/dist/__tests__/examServerApi.d.ts.map +0 -1
- package/dist/__tests__/examServerApi.js +0 -17
- package/dist/__tests__/examServerApi.js.map +0 -1
- package/dist/__tests__/playwright/SectionElement.test.d.ts +0 -2
- package/dist/__tests__/playwright/SectionElement.test.d.ts.map +0 -1
- package/dist/__tests__/playwright/SectionElement.test.js +0 -20
- package/dist/__tests__/playwright/SectionElement.test.js.map +0 -1
- package/dist/__tests__/playwright/exam/AudioAnswer.test.d.ts +0 -2
- package/dist/__tests__/playwright/exam/AudioAnswer.test.d.ts.map +0 -1
- package/dist/__tests__/playwright/exam/AudioAnswer.test.js +0 -132
- package/dist/__tests__/playwright/exam/AudioAnswer.test.js.map +0 -1
- package/dist/__tests__/playwright/exam/AudioPlayer.test.d.ts +0 -2
- package/dist/__tests__/playwright/exam/AudioPlayer.test.d.ts.map +0 -1
- package/dist/__tests__/playwright/exam/AudioPlayer.test.js +0 -69
- package/dist/__tests__/playwright/exam/AudioPlayer.test.js.map +0 -1
- package/dist/__tests__/playwright/exam/DNDAnswerContainer.test.d.ts +0 -2
- package/dist/__tests__/playwright/exam/DNDAnswerContainer.test.d.ts.map +0 -1
- package/dist/__tests__/playwright/exam/DNDAnswerContainer.test.js +0 -125
- package/dist/__tests__/playwright/exam/DNDAnswerContainer.test.js.map +0 -1
- package/dist/__tests__/playwright/exam/Exam.test.d.ts +0 -2
- package/dist/__tests__/playwright/exam/Exam.test.d.ts.map +0 -1
- package/dist/__tests__/playwright/exam/Exam.test.js +0 -29
- package/dist/__tests__/playwright/exam/Exam.test.js.map +0 -1
- package/dist/__tests__/playwright/exam/TextAnswerInput.test.d.ts +0 -2
- package/dist/__tests__/playwright/exam/TextAnswerInput.test.d.ts.map +0 -1
- package/dist/__tests__/playwright/exam/TextAnswerInput.test.js +0 -81
- package/dist/__tests__/playwright/exam/TextAnswerInput.test.js.map +0 -1
- package/dist/__tests__/playwright/pages/AudioPlayer.page.d.ts +0 -13
- package/dist/__tests__/playwright/pages/AudioPlayer.page.d.ts.map +0 -1
- package/dist/__tests__/playwright/pages/AudioPlayer.page.js +0 -16
- package/dist/__tests__/playwright/pages/AudioPlayer.page.js.map +0 -1
- package/dist/__tests__/playwright/results/MultiLineAnswer.test.d.ts +0 -2
- package/dist/__tests__/playwright/results/MultiLineAnswer.test.d.ts.map +0 -1
- package/dist/__tests__/playwright/results/MultiLineAnswer.test.js +0 -45
- package/dist/__tests__/playwright/results/MultiLineAnswer.test.js.map +0 -1
- package/dist/__tests__/playwright/stories/exam/AudioAnswer.story.d.ts +0 -5
- package/dist/__tests__/playwright/stories/exam/AudioAnswer.story.d.ts.map +0 -1
- package/dist/__tests__/playwright/stories/exam/AudioAnswer.story.js +0 -14
- package/dist/__tests__/playwright/stories/exam/AudioAnswer.story.js.map +0 -1
- package/dist/__tests__/playwright/stories/exam/DNDAnswerContainer.story.d.ts +0 -10
- package/dist/__tests__/playwright/stories/exam/DNDAnswerContainer.story.d.ts.map +0 -1
- package/dist/__tests__/playwright/stories/exam/DNDAnswerContainer.story.js +0 -20
- package/dist/__tests__/playwright/stories/exam/DNDAnswerContainer.story.js.map +0 -1
- package/dist/__tests__/playwright/stories/exam/Exam.story.d.ts +0 -8
- package/dist/__tests__/playwright/stories/exam/Exam.story.d.ts.map +0 -1
- package/dist/__tests__/playwright/stories/exam/Exam.story.js +0 -18
- package/dist/__tests__/playwright/stories/exam/Exam.story.js.map +0 -1
- package/dist/__tests__/playwright/stories/exam/Question.story.d.ts +0 -5
- package/dist/__tests__/playwright/stories/exam/Question.story.d.ts.map +0 -1
- package/dist/__tests__/playwright/stories/exam/Question.story.js +0 -19
- package/dist/__tests__/playwright/stories/exam/Question.story.js.map +0 -1
- package/dist/__tests__/playwright/stories/results/MultiLineAnswer.story.d.ts +0 -8
- package/dist/__tests__/playwright/stories/results/MultiLineAnswer.story.d.ts.map +0 -1
- package/dist/__tests__/playwright/stories/results/MultiLineAnswer.story.js +0 -51
- package/dist/__tests__/playwright/stories/results/MultiLineAnswer.story.js.map +0 -1
- package/dist/__tests__/playwright/template/index.d.ts +0 -1
- package/dist/__tests__/playwright/template/index.d.ts.map +0 -1
- package/dist/__tests__/playwright/template/index.js +0 -5
- package/dist/__tests__/playwright/template/index.js.map +0 -1
- package/dist/__tests__/playwright/utils/ExamComponentWrapper.d.ts +0 -9
- package/dist/__tests__/playwright/utils/ExamComponentWrapper.d.ts.map +0 -1
- package/dist/__tests__/playwright/utils/ExamComponentWrapper.js +0 -26
- package/dist/__tests__/playwright/utils/ExamComponentWrapper.js.map +0 -1
- package/dist/__tests__/playwright/utils/utils.d.ts +0 -6
- package/dist/__tests__/playwright/utils/utils.d.ts.map +0 -1
- package/dist/__tests__/playwright/utils/utils.js +0 -52
- package/dist/__tests__/playwright/utils/utils.js.map +0 -1
- package/dist/__tests__/renderAnnotations.test.d.ts +0 -2
- package/dist/__tests__/renderAnnotations.test.d.ts.map +0 -1
- package/dist/__tests__/renderAnnotations.test.js +0 -134
- package/dist/__tests__/renderAnnotations.test.js.map +0 -1
- package/dist/__tests__/results/AnnotationList.test.d.ts +0 -2
- package/dist/__tests__/results/AnnotationList.test.d.ts.map +0 -1
- package/dist/__tests__/results/AnnotationList.test.js +0 -168
- package/dist/__tests__/results/AnnotationList.test.js.map +0 -1
- package/dist/__tests__/results/ResultsContext.test.d.ts +0 -2
- package/dist/__tests__/results/ResultsContext.test.d.ts.map +0 -1
- package/dist/__tests__/results/ResultsContext.test.js +0 -185
- package/dist/__tests__/results/ResultsContext.test.js.map +0 -1
- package/dist/__tests__/results/ResultsExamQuestionAutoScore.test.d.ts +0 -2
- package/dist/__tests__/results/ResultsExamQuestionAutoScore.test.d.ts.map +0 -1
- package/dist/__tests__/results/ResultsExamQuestionAutoScore.test.js +0 -60
- package/dist/__tests__/results/ResultsExamQuestionAutoScore.test.js.map +0 -1
- package/dist/__tests__/results/ResultsExamQuestionManualScore.test.d.ts +0 -2
- package/dist/__tests__/results/ResultsExamQuestionManualScore.test.d.ts.map +0 -1
- package/dist/__tests__/results/ResultsExamQuestionManualScore.test.js +0 -145
- package/dist/__tests__/results/ResultsExamQuestionManualScore.test.js.map +0 -1
- package/dist/__tests__/testExamRendering.d.ts +0 -2
- package/dist/__tests__/testExamRendering.d.ts.map +0 -1
- package/dist/__tests__/testExamRendering.js +0 -149
- package/dist/__tests__/testExamRendering.js.map +0 -1
- package/dist/__tests__/tsconfig.tsbuildinfo +0 -1
- package/dist/__tests__/util.test.d.ts +0 -2
- package/dist/__tests__/util.test.d.ts.map +0 -1
- package/dist/__tests__/util.test.js +0 -12
- package/dist/__tests__/util.test.js.map +0 -1
- package/dist/__tests__/validateAnswers.test.d.ts +0 -2
- package/dist/__tests__/validateAnswers.test.d.ts.map +0 -1
- package/dist/__tests__/validateAnswers.test.js +0 -243
- package/dist/__tests__/validateAnswers.test.js.map +0 -1
- package/dist/main-bundle.js +0 -366
- package/dist/main-bundle.js.LICENSE.txt +0 -69
- package/src/css/colors.less +0 -56
|
@@ -1,33 +1,68 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
const react_1 = __importStar(require("react"));
|
|
37
|
+
const createRenderChildNodes_1 = require("../../createRenderChildNodes");
|
|
38
|
+
const dom_utils_1 = require("../../dom-utils");
|
|
39
|
+
const i18n_1 = require("../../i18n");
|
|
40
|
+
const ids_1 = require("../../ids");
|
|
41
|
+
const url_1 = require("../../url");
|
|
42
|
+
const AttachmentContext_1 = require("../context/AttachmentContext");
|
|
43
|
+
const CommonExamContext_1 = require("../context/CommonExamContext");
|
|
44
|
+
const renderChildNodes = (0, createRenderChildNodes_1.createRenderChildNodes)({
|
|
45
|
+
attachment: (0, AttachmentContext_1.withAttachmentContext)(Attachment),
|
|
11
46
|
'attachment-title': AttachmentTitle
|
|
12
47
|
})();
|
|
13
48
|
function Attachment({ element }) {
|
|
14
|
-
const { displayNumber } = useContext(AttachmentContext);
|
|
15
|
-
return (
|
|
49
|
+
const { displayNumber } = (0, react_1.useContext)(AttachmentContext_1.AttachmentContext);
|
|
50
|
+
return (react_1.default.createElement("li", { "data-list-number": displayNumber, "aria-label": displayNumber }, renderChildNodes(element, 1 /* RenderOptions.SkipHTML */)));
|
|
16
51
|
}
|
|
17
52
|
function AttachmentTitle({ element }) {
|
|
18
|
-
const { attachmentsURL } = useContext(CommonExamContext);
|
|
19
|
-
const { displayNumber } = useContext(AttachmentContext);
|
|
20
|
-
return (
|
|
53
|
+
const { attachmentsURL } = (0, react_1.useContext)(CommonExamContext_1.CommonExamContext);
|
|
54
|
+
const { displayNumber } = (0, react_1.useContext)(AttachmentContext_1.AttachmentContext);
|
|
55
|
+
return (react_1.default.createElement("a", { href: (0, url_1.url)(attachmentsURL, { hash: displayNumber }), className: "exam-attachment-title", target: "attachments" }, renderChildNodes(element)));
|
|
21
56
|
}
|
|
22
57
|
function ExternalMaterial({ element, showTitle = true, forceRender = false }) {
|
|
23
|
-
if (queryAncestors(element, 'question') == null && !forceRender) {
|
|
58
|
+
if ((0, dom_utils_1.queryAncestors)(element, 'question') == null && !forceRender) {
|
|
24
59
|
return null;
|
|
25
60
|
}
|
|
26
|
-
const { t } = useExamTranslation();
|
|
27
|
-
const id = externalMaterialListTitleId(element);
|
|
28
|
-
return (
|
|
29
|
-
showTitle && (
|
|
30
|
-
|
|
61
|
+
const { t } = (0, i18n_1.useExamTranslation)();
|
|
62
|
+
const id = (0, ids_1.externalMaterialListTitleId)(element);
|
|
63
|
+
return (react_1.default.createElement("div", { className: "external-material-list e-mrg-b-4" },
|
|
64
|
+
showTitle && (react_1.default.createElement("h3", { className: "external-material-title", id: id }, t('external-material-title'))),
|
|
65
|
+
react_1.default.createElement("ol", { className: "e-list-data e-pad-l-0 e-mrg-0", "aria-labelledby": id }, renderChildNodes(element))));
|
|
31
66
|
}
|
|
32
|
-
|
|
67
|
+
exports.default = react_1.default.memo(ExternalMaterial);
|
|
33
68
|
//# sourceMappingURL=ExternalMaterial.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExternalMaterial.js","sourceRoot":"","sources":["../../../src/components/exam/ExternalMaterial.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ExternalMaterial.js","sourceRoot":"","sources":["../../../src/components/exam/ExternalMaterial.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAyC;AACzC,yEAAwG;AACxG,+CAAgD;AAChD,qCAA+C;AAC/C,mCAAuD;AACvD,mCAA+B;AAC/B,oEAAuF;AACvF,oEAAgE;AAEhE,MAAM,gBAAgB,GAAG,IAAA,+CAAsB,EAAC;IAC9C,UAAU,EAAE,IAAA,yCAAqB,EAAC,UAAU,CAAC;IAC7C,kBAAkB,EAAE,eAAe;CACpC,CAAC,EAAE,CAAA;AAEJ,SAAS,UAAU,CAAC,EAAE,OAAO,EAAsB;IACjD,MAAM,EAAE,aAAa,EAAE,GAAG,IAAA,kBAAU,EAAC,qCAAiB,CAAC,CAAA;IAEvD,OAAO,CACL,0DAAsB,aAAa,gBAAc,aAAc,IAC5D,gBAAgB,CAAC,OAAO,iCAAyB,CAC/C,CACN,CAAA;AACH,CAAC;AAED,SAAS,eAAe,CAAC,EAAE,OAAO,EAAsB;IACtD,MAAM,EAAE,cAAc,EAAE,GAAG,IAAA,kBAAU,EAAC,qCAAiB,CAAC,CAAA;IACxD,MAAM,EAAE,aAAa,EAAE,GAAG,IAAA,kBAAU,EAAC,qCAAiB,CAAC,CAAA;IAEvD,OAAO,CACL,qCAAG,IAAI,EAAE,IAAA,SAAG,EAAC,cAAc,EAAE,EAAE,IAAI,EAAE,aAAc,EAAE,CAAC,EAAE,SAAS,EAAC,uBAAuB,EAAC,MAAM,EAAC,aAAa,IAC3G,gBAAgB,CAAC,OAAO,CAAC,CACxB,CACL,CAAA;AACH,CAAC;AAOD,SAAS,gBAAgB,CAAC,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI,EAAE,WAAW,GAAG,KAAK,EAAyB;IACjG,IAAI,IAAA,0BAAc,EAAC,OAAO,EAAE,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QAChE,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,yBAAkB,GAAE,CAAA;IAClC,MAAM,EAAE,GAAG,IAAA,iCAA2B,EAAC,OAAO,CAAC,CAAA;IAE/C,OAAO,CACL,uCAAK,SAAS,EAAC,kCAAkC;QAC9C,SAAS,IAAI,CACZ,sCAAI,SAAS,EAAC,yBAAyB,EAAC,EAAE,EAAE,EAAE,IAC3C,CAAC,CAAC,yBAAyB,CAAC,CAC1B,CACN;QACD,sCAAI,SAAS,EAAC,+BAA+B,qBAAkB,EAAE,IAC9D,gBAAgB,CAAC,OAAO,CAAC,CACvB,CACD,CACP,CAAA;AACH,CAAC;AAED,kBAAe,eAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA"}
|
|
@@ -1,17 +1,52 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
const react_1 = __importStar(require("react"));
|
|
37
|
+
const i18n_1 = require("../../i18n");
|
|
38
|
+
const ExamContext_1 = require("../context/ExamContext");
|
|
4
39
|
function GoToExamineAnswersButton() {
|
|
5
|
-
const { examServerApi } = useContext(ExamContext);
|
|
40
|
+
const { examServerApi } = (0, react_1.useContext)(ExamContext_1.ExamContext);
|
|
6
41
|
const { examineExam } = examServerApi;
|
|
7
|
-
const { t } = useExamTranslation();
|
|
42
|
+
const { t } = (0, i18n_1.useExamTranslation)();
|
|
8
43
|
const goToInspectAnswers = () => {
|
|
9
44
|
if (!examineExam) {
|
|
10
45
|
return;
|
|
11
46
|
}
|
|
12
47
|
examineExam();
|
|
13
48
|
};
|
|
14
|
-
return (
|
|
49
|
+
return (react_1.default.createElement("button", { className: "e-button goto-examine-answers", onClick: goToInspectAnswers, "aria-describedby": "examineExamInstructions" }, t('examine-exam.examine')));
|
|
15
50
|
}
|
|
16
|
-
|
|
51
|
+
exports.default = react_1.default.memo(GoToExamineAnswersButton);
|
|
17
52
|
//# sourceMappingURL=GoToExamineAnswersButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoToExamineAnswersButton.js","sourceRoot":"","sources":["../../../src/components/exam/GoToExamineAnswersButton.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"GoToExamineAnswersButton.js","sourceRoot":"","sources":["../../../src/components/exam/GoToExamineAnswersButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAyC;AACzC,qCAA+C;AAC/C,wDAAoD;AAGpD,SAAS,wBAAwB;IAC/B,MAAM,EAAE,aAAa,EAAE,GAAG,IAAA,kBAAU,EAAC,yBAAW,CAAC,CAAA;IACjD,MAAM,EAAE,WAAW,EAAE,GAAkB,aAAa,CAAA;IACpD,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,yBAAkB,GAAE,CAAA;IAElC,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QACD,WAAW,EAAE,CAAA;IACf,CAAC,CAAA;IAED,OAAO,CACL,0CACE,SAAS,EAAC,+BAA+B,EACzC,OAAO,EAAE,kBAAkB,sBACV,yBAAyB,IAEzC,CAAC,CAAC,sBAAsB,CAAC,CACnB,CACV,CAAA;AACH,CAAC;AAED,kBAAe,eAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA"}
|
|
@@ -1,21 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const react_redux_1 = require("react-redux");
|
|
9
|
+
const dom_utils_1 = require("../../dom-utils");
|
|
10
|
+
const shortDisplayNumber_1 = require("../../shortDisplayNumber");
|
|
6
11
|
const Hints = ({ element, renderChildNodes }) => {
|
|
7
|
-
const focusedQuestionId = useSelector((state) => state.answers.focusedQuestionId);
|
|
8
|
-
const answersWithHints = queryAll(element, ['text-answer', 'scored-text-answer']).filter(answer => findChildElement(answer, 'hint') != null);
|
|
9
|
-
return answersWithHints.length > 0 ? (
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
const focusedQuestionId = (0, react_redux_1.useSelector)((state) => state.answers.focusedQuestionId);
|
|
13
|
+
const answersWithHints = (0, dom_utils_1.queryAll)(element, ['text-answer', 'scored-text-answer']).filter(answer => (0, dom_utils_1.findChildElement)(answer, 'hint') != null);
|
|
14
|
+
return answersWithHints.length > 0 ? (react_1.default.createElement("div", { className: "e-columns" },
|
|
15
|
+
react_1.default.createElement("div", { className: "e-column e-column--8" }, renderChildNodes(element)),
|
|
16
|
+
react_1.default.createElement("div", { className: "e-hints e-column e-column--4", "aria-hidden": "true" }, answersWithHints.map((answer, i) => (react_1.default.createElement(Hint, { answer, focusedQuestionId, renderChildNodes, key: i })))))) : (react_1.default.createElement(react_1.default.Fragment, null, renderChildNodes(element)));
|
|
12
17
|
};
|
|
13
18
|
function Hint({ answer, focusedQuestionId, renderChildNodes }) {
|
|
14
|
-
const questionId = getNumericAttribute(answer, 'question-id');
|
|
19
|
+
const questionId = (0, dom_utils_1.getNumericAttribute)(answer, 'question-id');
|
|
15
20
|
const displayNumber = answer.getAttribute('display-number');
|
|
16
|
-
const hint = findChildElement(answer, 'hint');
|
|
17
|
-
const hasSiblings = hasSiblingQuestions(answer);
|
|
18
|
-
return (
|
|
21
|
+
const hint = (0, dom_utils_1.findChildElement)(answer, 'hint');
|
|
22
|
+
const hasSiblings = (0, dom_utils_1.hasSiblingQuestions)(answer);
|
|
23
|
+
return (react_1.default.createElement("p", { className: (0, classnames_1.default)('e-hints__hint', {
|
|
19
24
|
'e-hints__hint--focused': focusedQuestionId === questionId
|
|
20
25
|
}), onClick: () => {
|
|
21
26
|
const question = document.querySelector(`.text-answer[data-question-id="${questionId}"]`);
|
|
@@ -23,9 +28,9 @@ function Hint({ answer, focusedQuestionId, renderChildNodes }) {
|
|
|
23
28
|
question.focus();
|
|
24
29
|
}
|
|
25
30
|
}, "data-question-id": questionId },
|
|
26
|
-
hasSiblings && shortDisplayNumber(displayNumber),
|
|
31
|
+
hasSiblings && (0, shortDisplayNumber_1.shortDisplayNumber)(displayNumber),
|
|
27
32
|
" ",
|
|
28
33
|
renderChildNodes(hint)));
|
|
29
34
|
}
|
|
30
|
-
|
|
35
|
+
exports.default = Hints;
|
|
31
36
|
//# sourceMappingURL=Hints.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hints.js","sourceRoot":"","sources":["../../../src/components/exam/Hints.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"Hints.js","sourceRoot":"","sources":["../../../src/components/exam/Hints.tsx"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AACnC,kDAAyB;AACzB,6CAAyC;AAEzC,+CAAsG;AAEtG,iEAA6D;AAG7D,MAAM,KAAK,GAAgD,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE;IAC3F,MAAM,iBAAiB,GAAG,IAAA,yBAAW,EAAC,CAAC,KAAgC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAC5G,MAAM,gBAAgB,GAAG,IAAA,oBAAQ,EAAC,OAAO,EAAE,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC,CAAC,MAAM,CACtF,MAAM,CAAC,EAAE,CAAC,IAAA,4BAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,CACnD,CAAA;IAED,OAAO,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACnC,uCAAK,SAAS,EAAC,WAAW;QACxB,uCAAK,SAAS,EAAC,sBAAsB,IAAE,gBAAgB,CAAC,OAAO,CAAC,CAAO;QAIvE,uCAAK,SAAS,EAAC,8BAA8B,iBAAa,MAAM,IAC7D,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CACnC,8BAAC,IAAI,IAAO,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,EAAI,GAAG,EAAE,CAAC,GAAI,CACtE,CAAC,CACE,CACF,CACP,CAAC,CAAC,CAAC,CACF,8DAAG,gBAAgB,CAAC,OAAO,CAAC,CAAI,CACjC,CAAA;AACH,CAAC,CAAA;AAED,SAAS,IAAI,CAAC,EACZ,MAAM,EACN,iBAAiB,EACjB,gBAAgB,EAKjB;IACC,MAAM,UAAU,GAAG,IAAA,+BAAmB,EAAC,MAAM,EAAE,aAAa,CAAE,CAAA;IAC9D,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAE,CAAA;IAC5D,MAAM,IAAI,GAAG,IAAA,4BAAgB,EAAC,MAAM,EAAE,MAAM,CAAE,CAAA;IAE9C,MAAM,WAAW,GAAG,IAAA,+BAAmB,EAAC,MAAM,CAAC,CAAA;IAE/C,OAAO,CACL,qCACE,SAAS,EAAE,IAAA,oBAAU,EAAC,eAAe,EAAE;YACrC,wBAAwB,EAAE,iBAAiB,KAAK,UAAU;SAC3D,CAAC,EACF,OAAO,EAAE,GAAG,EAAE;YACZ,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAc,kCAAkC,UAAU,IAAI,CAAC,CAAA;YACtG,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,KAAK,EAAE,CAAA;YAClB,CAAC;QACH,CAAC,sBACiB,UAAU;QAE3B,WAAW,IAAI,IAAA,uCAAkB,EAAC,aAAa,CAAC;;QAAG,gBAAgB,CAAC,IAAI,CAAC,CACxE,CACL,CAAA;AACH,CAAC;AAED,kBAAe,KAAK,CAAA"}
|
|
@@ -1,25 +1,64 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.ExpandQuestionContext = void 0;
|
|
40
|
+
const free_solid_svg_icons_1 = require("@fortawesome/free-solid-svg-icons");
|
|
41
|
+
const react_fontawesome_1 = require("@fortawesome/react-fontawesome");
|
|
42
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
43
|
+
const react_1 = __importStar(require("react"));
|
|
44
|
+
const react_redux_1 = require("react-redux");
|
|
45
|
+
const dom_utils_1 = require("../../dom-utils");
|
|
46
|
+
const i18n_1 = require("../../i18n");
|
|
47
|
+
const ExamContext_1 = require("../context/ExamContext");
|
|
48
|
+
const QuestionContext_1 = require("../context/QuestionContext");
|
|
49
|
+
const SectionContext_1 = require("../context/SectionContext");
|
|
50
|
+
const TOCContext_1 = require("../context/TOCContext");
|
|
51
|
+
const ModalDialog_1 = __importDefault(require("../shared/internal/ModalDialog"));
|
|
52
|
+
const ErrorIndicator_1 = __importDefault(require("./internal/ErrorIndicator"));
|
|
53
|
+
const SaveIndicator_1 = __importDefault(require("./internal/SaveIndicator"));
|
|
54
|
+
exports.ExpandQuestionContext = (0, react_1.createContext)({ expanded: false, toggleWriterMode: () => undefined });
|
|
16
55
|
function Question({ element, renderChildNodes }) {
|
|
17
|
-
const casStatus = useSelector((state) => state.cas.casStatus);
|
|
18
|
-
const { casForbidden } = useContext(SectionContext);
|
|
19
|
-
const { displayNumber, level } = useContext(QuestionContext);
|
|
20
|
-
const { examServerApi } = useContext(ExamContext);
|
|
21
|
-
const [expanded, setExpanded] = useState(false);
|
|
22
|
-
const { t } = useExamTranslation();
|
|
56
|
+
const casStatus = (0, react_redux_1.useSelector)((state) => state.cas.casStatus);
|
|
57
|
+
const { casForbidden } = (0, react_1.useContext)(SectionContext_1.SectionContext);
|
|
58
|
+
const { displayNumber, level } = (0, react_1.useContext)(QuestionContext_1.QuestionContext);
|
|
59
|
+
const { examServerApi } = (0, react_1.useContext)(ExamContext_1.ExamContext);
|
|
60
|
+
const [expanded, setExpanded] = (0, react_1.useState)(false);
|
|
61
|
+
const { t } = (0, i18n_1.useExamTranslation)();
|
|
23
62
|
const toggleWriterMode = (expand) => {
|
|
24
63
|
setExpanded(expand);
|
|
25
64
|
if (examServerApi.logActivity) {
|
|
@@ -28,9 +67,9 @@ function Question({ element, renderChildNodes }) {
|
|
|
28
67
|
: `Writer mode closed for display number ${displayNumber}`);
|
|
29
68
|
}
|
|
30
69
|
};
|
|
31
|
-
const textAnswerElement = query(element, 'text-answer');
|
|
32
|
-
const questionId = textAnswerElement ? getNumericAttribute(textAnswerElement, 'question-id') : null;
|
|
33
|
-
useEffect(() => {
|
|
70
|
+
const textAnswerElement = (0, dom_utils_1.query)(element, 'text-answer');
|
|
71
|
+
const questionId = textAnswerElement ? (0, dom_utils_1.getNumericAttribute)(textAnswerElement, 'question-id') : null;
|
|
72
|
+
(0, react_1.useEffect)(() => {
|
|
34
73
|
if (expanded) {
|
|
35
74
|
const textInput = questionId
|
|
36
75
|
? document.querySelector(`[data-question-id="${questionId}"]`)
|
|
@@ -38,27 +77,27 @@ function Question({ element, renderChildNodes }) {
|
|
|
38
77
|
textInput === null || textInput === void 0 ? void 0 : textInput.focus();
|
|
39
78
|
}
|
|
40
79
|
}, [expanded]);
|
|
41
|
-
const ref =
|
|
42
|
-
const { addRef } = useContext(TOCContext);
|
|
43
|
-
useEffect(() => {
|
|
80
|
+
const ref = react_1.default.createRef();
|
|
81
|
+
const { addRef } = (0, react_1.useContext)(TOCContext_1.TOCContext);
|
|
82
|
+
(0, react_1.useEffect)(() => {
|
|
44
83
|
if ((ref === null || ref === void 0 ? void 0 : ref.current) && level === 0 && addRef) {
|
|
45
84
|
addRef(ref.current);
|
|
46
85
|
}
|
|
47
86
|
}, []);
|
|
48
|
-
return !casForbidden || casStatus === 'forbidden' ? (
|
|
49
|
-
|
|
87
|
+
return !casForbidden || casStatus === 'forbidden' ? (react_1.default.createElement(exports.ExpandQuestionContext.Provider, { value: { expanded, toggleWriterMode } },
|
|
88
|
+
react_1.default.createElement("div", { className: (0, classnames_1.default)('e-exam-question', {
|
|
50
89
|
'e-level-0 e-pad-b-8 e-clearfix': level === 0,
|
|
51
90
|
'e-mrg-l-8 e-mrg-y-4': level > 0
|
|
52
91
|
}), "data-annotation-anchor": displayNumber, "data-toc-id": `question-${displayNumber}`, ref: ref },
|
|
53
|
-
|
|
54
|
-
expanded ? (
|
|
55
|
-
|
|
56
|
-
|
|
92
|
+
react_1.default.createElement("div", { className: "anchor", id: `question-nr-${displayNumber}` }),
|
|
93
|
+
expanded ? (react_1.default.createElement(ModalDialog_1.default, { className: "full-screen", onClose: () => toggleWriterMode(false) },
|
|
94
|
+
react_1.default.createElement("button", { className: "expand close", onClick: () => toggleWriterMode(false) },
|
|
95
|
+
react_1.default.createElement(react_fontawesome_1.FontAwesomeIcon, { icon: free_solid_svg_icons_1.faCompressAlt }),
|
|
57
96
|
t('close-writing-mode')),
|
|
58
97
|
renderChildNodes(element),
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
98
|
+
react_1.default.createElement("div", { className: "e-indicators-container" },
|
|
99
|
+
react_1.default.createElement(ErrorIndicator_1.default, null),
|
|
100
|
+
react_1.default.createElement(SaveIndicator_1.default, null)))) : (renderChildNodes(element))))) : null;
|
|
62
101
|
}
|
|
63
|
-
|
|
102
|
+
exports.default = react_1.default.memo((0, QuestionContext_1.withQuestionContext)(Question));
|
|
64
103
|
//# sourceMappingURL=Question.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Question.js","sourceRoot":"","sources":["../../../src/components/exam/Question.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"Question.js","sourceRoot":"","sources":["../../../src/components/exam/Question.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const react_1 = __importDefault(require("react"));
|
|
7
|
+
const ids_1 = require("../../ids");
|
|
3
8
|
function QuestionInstruction({ element, renderChildNodes }) {
|
|
4
|
-
const id = questionInstructionId(element);
|
|
5
|
-
return (
|
|
9
|
+
const id = (0, ids_1.questionInstructionId)(element);
|
|
10
|
+
return (react_1.default.createElement("div", { className: "exam-question-instruction e-mrg-b-2", id: id }, renderChildNodes(element)));
|
|
6
11
|
}
|
|
7
|
-
|
|
12
|
+
exports.default = react_1.default.memo(QuestionInstruction);
|
|
8
13
|
//# sourceMappingURL=QuestionInstruction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuestionInstruction.js","sourceRoot":"","sources":["../../../src/components/exam/QuestionInstruction.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"QuestionInstruction.js","sourceRoot":"","sources":["../../../src/components/exam/QuestionInstruction.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AAEzB,mCAAiD;AAEjD,SAAS,mBAAmB,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAsB;IAC5E,MAAM,EAAE,GAAG,IAAA,2BAAqB,EAAC,OAAO,CAAC,CAAA;IACzC,OAAO,CACL,uCAAK,SAAS,EAAC,qCAAqC,EAAC,EAAE,EAAE,EAAE,IACxD,gBAAgB,CAAC,OAAO,CAAC,CACtB,CACP,CAAA;AACH,CAAC;AAED,kBAAe,eAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA"}
|
|
@@ -1,26 +1,64 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
40
|
+
const react_1 = __importStar(require("react"));
|
|
41
|
+
const AnsweringInstructions_1 = __importDefault(require("../AnsweringInstructions"));
|
|
42
|
+
const NotificationIcon_1 = __importDefault(require("../NotificationIcon"));
|
|
43
|
+
const QuestionContext_1 = require("../context/QuestionContext");
|
|
44
|
+
const Score_1 = require("../shared/Score");
|
|
45
|
+
const formatting_1 = require("../../formatting");
|
|
46
|
+
const ids_1 = require("../../ids");
|
|
9
47
|
const QuestionTitle = ({ element, renderChildNodes }) => {
|
|
10
|
-
const { displayNumber, maxScore, level, maxAnswers, childQuestions } = useContext(QuestionContext);
|
|
48
|
+
const { displayNumber, maxScore, level, maxAnswers, childQuestions } = (0, react_1.useContext)(QuestionContext_1.QuestionContext);
|
|
11
49
|
const Tag = `h${Math.min(3 + level, 6)}`;
|
|
12
|
-
const id = questionTitleId(displayNumber);
|
|
13
|
-
return (
|
|
14
|
-
|
|
15
|
-
|
|
50
|
+
const id = (0, ids_1.questionTitleId)(displayNumber);
|
|
51
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
52
|
+
react_1.default.createElement(Tag, { id: id, className: (0, classnames_1.default)('exam-question-title', { 'e-normal e-font-size-m': level > 0 }) },
|
|
53
|
+
react_1.default.createElement("strong", { className: (0, classnames_1.default)('exam-question-title__display-number', {
|
|
16
54
|
'exam-question-title__display-number--indented': level > 0
|
|
17
|
-
}) }, `${formatQuestionDisplayNumber(displayNumber)} `),
|
|
55
|
+
}) }, `${(0, formatting_1.formatQuestionDisplayNumber)(displayNumber)} `),
|
|
18
56
|
renderChildNodes(element),
|
|
19
57
|
" ",
|
|
20
|
-
|
|
21
|
-
maxAnswers != null && childQuestions.length > 0 && (
|
|
22
|
-
|
|
23
|
-
|
|
58
|
+
react_1.default.createElement(Score_1.Score, { score: maxScore, size: level === 0 ? 'large' : 'small' })),
|
|
59
|
+
maxAnswers != null && childQuestions.length > 0 && (react_1.default.createElement("p", { className: "e-italic" },
|
|
60
|
+
react_1.default.createElement(NotificationIcon_1.default, null),
|
|
61
|
+
react_1.default.createElement(AnsweringInstructions_1.default, { maxAnswers, childQuestions, elementType: 'question' })))));
|
|
24
62
|
};
|
|
25
|
-
|
|
63
|
+
exports.default = react_1.default.memo(QuestionTitle);
|
|
26
64
|
//# sourceMappingURL=QuestionTitle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuestionTitle.js","sourceRoot":"","sources":["../../../src/components/exam/QuestionTitle.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"QuestionTitle.js","sourceRoot":"","sources":["../../../src/components/exam/QuestionTitle.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAAmC;AACnC,+CAAyC;AACzC,qFAA4D;AAC5D,2EAAkD;AAClD,gEAA4D;AAC5D,2CAAuC;AAEvC,iDAA8D;AAC9D,mCAA2C;AAE3C,MAAM,aAAa,GAAgD,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE;IACnG,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,IAAA,kBAAU,EAAC,iCAAe,CAAC,CAAA;IAClG,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,EAA+B,CAAA;IACrE,MAAM,EAAE,GAAG,IAAA,qBAAe,EAAC,aAAa,CAAC,CAAA;IAEzC,OAAO,CACL;QACE,8BAAC,GAAG,IAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAA,oBAAU,EAAC,qBAAqB,EAAE,EAAE,wBAAwB,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;YAChG,0CACE,SAAS,EAAE,IAAA,oBAAU,EAAC,qCAAqC,EAAE;oBAC3D,+CAA+C,EAAE,KAAK,GAAG,CAAC;iBAC3D,CAAC,IAED,GAAG,IAAA,wCAA2B,EAAC,aAAa,CAAC,GAAG,CAC1C;YACR,gBAAgB,CAAC,OAAO,CAAC;;YAAE,8BAAC,aAAK,IAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAI,CACzF;QACL,UAAU,IAAI,IAAI,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,CAClD,qCAAG,SAAS,EAAC,UAAU;YACrB,8BAAC,0BAAgB,OAAG;YACpB,8BAAC,+BAAqB,IAAO,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,GAAM,CACpF,CACL,CACA,CACJ,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,eAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA"}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const react_1 = __importDefault(require("react"));
|
|
7
|
+
const CommonExamContext_1 = require("../context/CommonExamContext");
|
|
8
|
+
const rich_text_editor_1 = __importDefault(require("rich-text-editor"));
|
|
9
|
+
const Question_1 = require("./Question");
|
|
10
|
+
const react_fontawesome_1 = require("@fortawesome/react-fontawesome");
|
|
11
|
+
const free_solid_svg_icons_1 = require("@fortawesome/free-solid-svg-icons");
|
|
12
|
+
const i18n_1 = require("../../i18n");
|
|
13
|
+
class RichTextAnswer extends react_1.default.PureComponent {
|
|
9
14
|
constructor(props) {
|
|
10
15
|
super(props);
|
|
11
16
|
this.handleSaveError = (err) => {
|
|
@@ -27,7 +32,7 @@ class RichTextAnswer extends React.PureComponent {
|
|
|
27
32
|
this.lastHTML = answer.answerHtml;
|
|
28
33
|
onChange(answer.answerHtml, answer.answerText);
|
|
29
34
|
};
|
|
30
|
-
this.editorRef =
|
|
35
|
+
this.editorRef = react_1.default.createRef();
|
|
31
36
|
this.lastHTML = this.props.answer ? this.props.answer.value : '';
|
|
32
37
|
}
|
|
33
38
|
componentDidUpdate() {
|
|
@@ -43,8 +48,8 @@ class RichTextAnswer extends React.PureComponent {
|
|
|
43
48
|
}
|
|
44
49
|
render() {
|
|
45
50
|
const { questionId, className, labelledBy, answer, lang, invalid, saveScreenshot } = this.props;
|
|
46
|
-
return (
|
|
47
|
-
|
|
51
|
+
return (react_1.default.createElement(Question_1.ExpandQuestionContext.Consumer, null, ({ expanded, toggleWriterMode }) => (react_1.default.createElement(react_1.default.Fragment, null,
|
|
52
|
+
react_1.default.createElement(rich_text_editor_1.default, { ref: this.editorRef, baseUrl: '', initialValue: answer === null || answer === void 0 ? void 0 : answer.value, language: this.context.language.slice(0, 2).toUpperCase(), onValueChange: this.handleChange, getPasteSource: (file) => saveScreenshot(file).catch((err) => {
|
|
48
53
|
this.handleSaveError(err);
|
|
49
54
|
throw err; // Rethrow error so rich-text-editor can handle it.
|
|
50
55
|
}), textAreaProps: {
|
|
@@ -55,15 +60,15 @@ class RichTextAnswer extends React.PureComponent {
|
|
|
55
60
|
className,
|
|
56
61
|
lang
|
|
57
62
|
} }),
|
|
58
|
-
!expanded && (
|
|
59
|
-
|
|
60
|
-
|
|
63
|
+
!expanded && (react_1.default.createElement("button", { className: "expand open", onClick: () => toggleWriterMode(true), "aria-labelledby": "expand-label", "aria-owns": String(questionId) },
|
|
64
|
+
react_1.default.createElement(ExpandButtonLabel, null),
|
|
65
|
+
react_1.default.createElement(react_fontawesome_1.FontAwesomeIcon, { icon: free_solid_svg_icons_1.faExpandAlt })))))));
|
|
61
66
|
}
|
|
62
67
|
}
|
|
63
|
-
RichTextAnswer.contextType = CommonExamContext;
|
|
64
|
-
|
|
68
|
+
RichTextAnswer.contextType = CommonExamContext_1.CommonExamContext;
|
|
69
|
+
exports.default = RichTextAnswer;
|
|
65
70
|
const ExpandButtonLabel = () => {
|
|
66
|
-
const { t } = useExamTranslation();
|
|
67
|
-
return (
|
|
71
|
+
const { t } = (0, i18n_1.useExamTranslation)();
|
|
72
|
+
return (react_1.default.createElement("div", { className: "label", id: "expand-label" }, t('open-writing-mode')));
|
|
68
73
|
};
|
|
69
74
|
//# sourceMappingURL=RichTextAnswer.js.map
|