@digabi/exam-engine-core 24.0.0 → 25.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (475) hide show
  1. package/dist/components/AnswerToolbar.js +22 -17
  2. package/dist/components/AnswerToolbar.js.map +1 -1
  3. package/dist/components/AnsweringInstructions.js +44 -6
  4. package/dist/components/AnsweringInstructions.js.map +1 -1
  5. package/dist/components/DocumentTitle.js +40 -5
  6. package/dist/components/DocumentTitle.js.map +1 -1
  7. package/dist/components/NotificationIcon.js +10 -5
  8. package/dist/components/NotificationIcon.js.map +1 -1
  9. package/dist/components/RenderChildNodes.js +8 -3
  10. package/dist/components/RenderChildNodes.js.map +1 -1
  11. package/dist/components/RenderExamElements.js +8 -3
  12. package/dist/components/RenderExamElements.js.map +1 -1
  13. package/dist/components/RenderIf.js +10 -3
  14. package/dist/components/RenderIf.js.map +1 -1
  15. package/dist/components/ScreenReaderOnly.js +9 -2
  16. package/dist/components/ScreenReaderOnly.js.map +1 -1
  17. package/dist/components/SectionElement.js +10 -5
  18. package/dist/components/SectionElement.js.map +1 -1
  19. package/dist/components/attachments/Attachment.js +40 -5
  20. package/dist/components/attachments/Attachment.js.map +1 -1
  21. package/dist/components/attachments/AttachmentTitle.js +42 -7
  22. package/dist/components/attachments/AttachmentTitle.js.map +1 -1
  23. package/dist/components/attachments/Attachments.js +87 -47
  24. package/dist/components/attachments/Attachments.js.map +1 -1
  25. package/dist/components/attachments/ExternalMaterial.js +77 -39
  26. package/dist/components/attachments/ExternalMaterial.js.map +1 -1
  27. package/dist/components/attachments/Question.js +47 -9
  28. package/dist/components/attachments/Question.js.map +1 -1
  29. package/dist/components/attachments/QuestionTitle.js +45 -10
  30. package/dist/components/attachments/QuestionTitle.js.map +1 -1
  31. package/dist/components/context/AnnotationProvider.js +10 -4
  32. package/dist/components/context/AnnotationProvider.js.map +1 -1
  33. package/dist/components/context/AttachmentContext.js +12 -6
  34. package/dist/components/context/AttachmentContext.js.map +1 -1
  35. package/dist/components/context/AudioRecorderContext.js +41 -5
  36. package/dist/components/context/AudioRecorderContext.js.map +1 -1
  37. package/dist/components/context/CommonExamContext.js +22 -15
  38. package/dist/components/context/CommonExamContext.js.map +1 -1
  39. package/dist/components/context/ExamContext.js +10 -4
  40. package/dist/components/context/ExamContext.js.map +1 -1
  41. package/dist/components/context/GradingInstructionContext.js +8 -2
  42. package/dist/components/context/GradingInstructionContext.js.map +1 -1
  43. package/dist/components/context/IsInSidebarContext.js +5 -2
  44. package/dist/components/context/IsInSidebarContext.js.map +1 -1
  45. package/dist/components/context/QuestionContext.js +21 -15
  46. package/dist/components/context/QuestionContext.js.map +1 -1
  47. package/dist/components/context/ResultsContext.js +57 -14
  48. package/dist/components/context/ResultsContext.js.map +1 -1
  49. package/dist/components/context/SectionContext.js +16 -10
  50. package/dist/components/context/SectionContext.js.map +1 -1
  51. package/dist/components/context/TOCContext.js +5 -2
  52. package/dist/components/context/TOCContext.js.map +1 -1
  53. package/dist/components/context/withContext.js +13 -6
  54. package/dist/components/context/withContext.js.map +1 -1
  55. package/dist/components/exam/Attachment.js +40 -5
  56. package/dist/components/exam/Attachment.js.map +1 -1
  57. package/dist/components/exam/AudioAnswer.js +51 -16
  58. package/dist/components/exam/AudioAnswer.js.map +1 -1
  59. package/dist/components/exam/ChoiceAnswer.js +63 -25
  60. package/dist/components/exam/ChoiceAnswer.js.map +1 -1
  61. package/dist/components/exam/DNDAllOptions.js +19 -12
  62. package/dist/components/exam/DNDAllOptions.js.map +1 -1
  63. package/dist/components/exam/DNDAnswerContainer.js +67 -30
  64. package/dist/components/exam/DNDAnswerContainer.js.map +1 -1
  65. package/dist/components/exam/DNDAnswerOptionDraggable.js +20 -13
  66. package/dist/components/exam/DNDAnswerOptionDraggable.js.map +1 -1
  67. package/dist/components/exam/DropdownAnswer.js +85 -47
  68. package/dist/components/exam/DropdownAnswer.js.map +1 -1
  69. package/dist/components/exam/Exam.js +184 -145
  70. package/dist/components/exam/Exam.js.map +1 -1
  71. package/dist/components/exam/ExamFooter.js +8 -3
  72. package/dist/components/exam/ExamFooter.js.map +1 -1
  73. package/dist/components/exam/ExamInstruction.js +8 -3
  74. package/dist/components/exam/ExamInstruction.js.map +1 -1
  75. package/dist/components/exam/ExternalMaterial.js +57 -22
  76. package/dist/components/exam/ExternalMaterial.js.map +1 -1
  77. package/dist/components/exam/GoToExamineAnswersButton.js +42 -7
  78. package/dist/components/exam/GoToExamineAnswersButton.js.map +1 -1
  79. package/dist/components/exam/Hints.js +21 -16
  80. package/dist/components/exam/Hints.js.map +1 -1
  81. package/dist/components/exam/Question.js +76 -37
  82. package/dist/components/exam/Question.js.map +1 -1
  83. package/dist/components/exam/QuestionInstruction.js +10 -5
  84. package/dist/components/exam/QuestionInstruction.js.map +1 -1
  85. package/dist/components/exam/QuestionTitle.js +57 -19
  86. package/dist/components/exam/QuestionTitle.js.map +1 -1
  87. package/dist/components/exam/RichTextAnswer.js +23 -18
  88. package/dist/components/exam/RichTextAnswer.js.map +1 -1
  89. package/dist/components/exam/Section.js +76 -38
  90. package/dist/components/exam/Section.js.map +1 -1
  91. package/dist/components/exam/SectionInstruction.js +8 -3
  92. package/dist/components/exam/SectionInstruction.js.map +1 -1
  93. package/dist/components/exam/SectionTitle.js +58 -20
  94. package/dist/components/exam/SectionTitle.js.map +1 -1
  95. package/dist/components/exam/StudentNameHeader.js +9 -2
  96. package/dist/components/exam/StudentNameHeader.js.map +1 -1
  97. package/dist/components/exam/TextAnswer.js +19 -14
  98. package/dist/components/exam/TextAnswer.js.map +1 -1
  99. package/dist/components/exam/UndoHistoryEntry.js +21 -14
  100. package/dist/components/exam/UndoHistoryEntry.js.map +1 -1
  101. package/dist/components/exam/UndoView.d.ts +0 -1
  102. package/dist/components/exam/UndoView.d.ts.map +1 -1
  103. package/dist/components/exam/UndoView.js +45 -69
  104. package/dist/components/exam/UndoView.js.map +1 -1
  105. package/dist/components/exam/internal/AudioRecorder.js +78 -39
  106. package/dist/components/exam/internal/AudioRecorder.js.map +1 -1
  107. package/dist/components/exam/internal/ErrorIndicator.js +71 -32
  108. package/dist/components/exam/internal/ErrorIndicator.js.map +1 -1
  109. package/dist/components/exam/internal/ProgressBar.js +46 -8
  110. package/dist/components/exam/internal/ProgressBar.js.map +1 -1
  111. package/dist/components/exam/internal/SaveIndicator.js +16 -11
  112. package/dist/components/exam/internal/SaveIndicator.js.map +1 -1
  113. package/dist/components/exam/internal/TextAnswerInput.js +97 -58
  114. package/dist/components/exam/internal/TextAnswerInput.js.map +1 -1
  115. package/dist/components/exam/multipleContainersKeyboardCoordinates.js +13 -9
  116. package/dist/components/exam/multipleContainersKeyboardCoordinates.js.map +1 -1
  117. package/dist/components/grading/AnswerCharacterCounter.js +12 -6
  118. package/dist/components/grading/AnswerCharacterCounter.js.map +1 -1
  119. package/dist/components/grading/GradingAnswer.js +112 -73
  120. package/dist/components/grading/GradingAnswer.js.map +1 -1
  121. package/dist/components/grading/GradingAnswerAnnotationList.js +9 -4
  122. package/dist/components/grading/GradingAnswerAnnotationList.js.map +1 -1
  123. package/dist/components/grading/editAnnotations.js +66 -16
  124. package/dist/components/grading/editAnnotations.js.map +1 -1
  125. package/dist/components/grading/largeImageDetector.js +6 -2
  126. package/dist/components/grading/largeImageDetector.js.map +1 -1
  127. package/dist/components/grading-instructions/AnswerGradingInstruction.js +42 -7
  128. package/dist/components/grading-instructions/AnswerGradingInstruction.js.map +1 -1
  129. package/dist/components/grading-instructions/AutogradedAnswer.js +59 -21
  130. package/dist/components/grading-instructions/AutogradedAnswer.js.map +1 -1
  131. package/dist/components/grading-instructions/AutogradedAnswerOption.js +13 -8
  132. package/dist/components/grading-instructions/AutogradedAnswerOption.js.map +1 -1
  133. package/dist/components/grading-instructions/ExamGradingInstruction.js +8 -3
  134. package/dist/components/grading-instructions/ExamGradingInstruction.js.map +1 -1
  135. package/dist/components/grading-instructions/GradingInstructionProvider.js +10 -3
  136. package/dist/components/grading-instructions/GradingInstructionProvider.js.map +1 -1
  137. package/dist/components/grading-instructions/GradingInstructions.js +132 -92
  138. package/dist/components/grading-instructions/GradingInstructions.js.map +1 -1
  139. package/dist/components/grading-instructions/Question.js +45 -7
  140. package/dist/components/grading-instructions/Question.js.map +1 -1
  141. package/dist/components/grading-instructions/QuestionTitle.js +50 -12
  142. package/dist/components/grading-instructions/QuestionTitle.js.map +1 -1
  143. package/dist/components/grading-instructions/Recording.js +20 -13
  144. package/dist/components/grading-instructions/Recording.js.map +1 -1
  145. package/dist/components/grading-instructions/RenderAttachmentElements.js +11 -6
  146. package/dist/components/grading-instructions/RenderAttachmentElements.js.map +1 -1
  147. package/dist/components/grading-instructions/Section.js +45 -7
  148. package/dist/components/grading-instructions/Section.js.map +1 -1
  149. package/dist/components/grading-instructions/SectionTitle.js +45 -10
  150. package/dist/components/grading-instructions/SectionTitle.js.map +1 -1
  151. package/dist/components/grading-instructions/gradingInstructionContent.js +4 -1
  152. package/dist/components/grading-instructions/gradingInstructionContent.js.map +1 -1
  153. package/dist/components/results/AudioAnswer.js +62 -24
  154. package/dist/components/results/AudioAnswer.js.map +1 -1
  155. package/dist/components/results/AudioContainer.js +27 -20
  156. package/dist/components/results/AudioContainer.js.map +1 -1
  157. package/dist/components/results/ChoiceAnswer.js +67 -29
  158. package/dist/components/results/ChoiceAnswer.js.map +1 -1
  159. package/dist/components/results/CorrectDNDAnswers.js +48 -11
  160. package/dist/components/results/CorrectDNDAnswers.js.map +1 -1
  161. package/dist/components/results/DNDAnswerOption.js +13 -6
  162. package/dist/components/results/DNDAnswerOption.js.map +1 -1
  163. package/dist/components/results/DropdownAnswer.js +68 -30
  164. package/dist/components/results/DropdownAnswer.js.map +1 -1
  165. package/dist/components/results/EndExamSession.js +22 -15
  166. package/dist/components/results/EndExamSession.js.map +1 -1
  167. package/dist/components/results/MultiLineAnswer.js +60 -20
  168. package/dist/components/results/MultiLineAnswer.js.map +1 -1
  169. package/dist/components/results/Question.js +53 -15
  170. package/dist/components/results/Question.js.map +1 -1
  171. package/dist/components/results/QuestionTitle.js +57 -19
  172. package/dist/components/results/QuestionTitle.js.map +1 -1
  173. package/dist/components/results/Results.js +144 -106
  174. package/dist/components/results/Results.js.map +1 -1
  175. package/dist/components/results/ScoredTextAnswer.js +54 -16
  176. package/dist/components/results/ScoredTextAnswer.js.map +1 -1
  177. package/dist/components/results/Section.js +46 -8
  178. package/dist/components/results/Section.js.map +1 -1
  179. package/dist/components/results/SingleLineAnswer.js +54 -16
  180. package/dist/components/results/SingleLineAnswer.js.map +1 -1
  181. package/dist/components/results/TextAnswer.js +68 -30
  182. package/dist/components/results/TextAnswer.js.map +1 -1
  183. package/dist/components/results/internal/AnnotationList.js +51 -16
  184. package/dist/components/results/internal/AnnotationList.js.map +1 -1
  185. package/dist/components/results/internal/QuestionAutoScore.js +47 -9
  186. package/dist/components/results/internal/QuestionAutoScore.js.map +1 -1
  187. package/dist/components/results/internal/QuestionManualScore.js +61 -23
  188. package/dist/components/results/internal/QuestionManualScore.js.map +1 -1
  189. package/dist/components/results/internal/QuestionScoresContainer.js +53 -15
  190. package/dist/components/results/internal/QuestionScoresContainer.js.map +1 -1
  191. package/dist/components/results/isExamineExamPageHook.js +8 -4
  192. package/dist/components/results/isExamineExamPageHook.js.map +1 -1
  193. package/dist/components/shared/AnnotationLists.js +19 -13
  194. package/dist/components/shared/AnnotationLists.js.map +1 -1
  195. package/dist/components/shared/AnswerIndicator.js +51 -12
  196. package/dist/components/shared/AnswerIndicator.js.map +1 -1
  197. package/dist/components/shared/AnswerLengthInfo.js +13 -8
  198. package/dist/components/shared/AnswerLengthInfo.js.map +1 -1
  199. package/dist/components/shared/AttachmentLink.js +53 -15
  200. package/dist/components/shared/AttachmentLink.js.map +1 -1
  201. package/dist/components/shared/AttachmentLinks.js +53 -15
  202. package/dist/components/shared/AttachmentLinks.js.map +1 -1
  203. package/dist/components/shared/Audio.js +63 -25
  204. package/dist/components/shared/Audio.js.map +1 -1
  205. package/dist/components/shared/AudioGroup.js +10 -5
  206. package/dist/components/shared/AudioGroup.js.map +1 -1
  207. package/dist/components/shared/AudioTest.js +67 -29
  208. package/dist/components/shared/AudioTest.js.map +1 -1
  209. package/dist/components/shared/DNDAnswerContainer.js +52 -15
  210. package/dist/components/shared/DNDAnswerContainer.js.map +1 -1
  211. package/dist/components/shared/DNDDroppable.js +23 -16
  212. package/dist/components/shared/DNDDroppable.js.map +1 -1
  213. package/dist/components/shared/DNDTitleAndDroppable.js +68 -28
  214. package/dist/components/shared/DNDTitleAndDroppable.js.map +1 -1
  215. package/dist/components/shared/ExamTranslation.js +10 -5
  216. package/dist/components/shared/ExamTranslation.js.map +1 -1
  217. package/dist/components/shared/File.js +44 -6
  218. package/dist/components/shared/File.js.map +1 -1
  219. package/dist/components/shared/Footer.js +9 -2
  220. package/dist/components/shared/Footer.js.map +1 -1
  221. package/dist/components/shared/Formula.js +15 -10
  222. package/dist/components/shared/Formula.js.map +1 -1
  223. package/dist/components/shared/Image.js +64 -25
  224. package/dist/components/shared/Image.js.map +1 -1
  225. package/dist/components/shared/ImageOverlay.js +65 -27
  226. package/dist/components/shared/ImageOverlay.js.map +1 -1
  227. package/dist/components/shared/Popup.js +63 -23
  228. package/dist/components/shared/Popup.js.map +1 -1
  229. package/dist/components/shared/QuestionNumber.js +42 -6
  230. package/dist/components/shared/QuestionNumber.js.map +1 -1
  231. package/dist/components/shared/Reference.js +70 -32
  232. package/dist/components/shared/Reference.js.map +1 -1
  233. package/dist/components/shared/References.js +60 -22
  234. package/dist/components/shared/References.js.map +1 -1
  235. package/dist/components/shared/Score.js +13 -6
  236. package/dist/components/shared/Score.js.map +1 -1
  237. package/dist/components/shared/TOCQuestion.js +73 -33
  238. package/dist/components/shared/TOCQuestion.js.map +1 -1
  239. package/dist/components/shared/TOCSection.js +48 -11
  240. package/dist/components/shared/TOCSection.js.map +1 -1
  241. package/dist/components/shared/TOCSectionTitle.js +65 -25
  242. package/dist/components/shared/TOCSectionTitle.js.map +1 -1
  243. package/dist/components/shared/TableOfContents.js +77 -37
  244. package/dist/components/shared/TableOfContents.js.map +1 -1
  245. package/dist/components/shared/VersionNumber.js +46 -6
  246. package/dist/components/shared/VersionNumber.js.map +1 -1
  247. package/dist/components/shared/Video.js +55 -17
  248. package/dist/components/shared/Video.js.map +1 -1
  249. package/dist/components/shared/internal/AttachmentLinkAnchor.js +8 -3
  250. package/dist/components/shared/internal/AttachmentLinkAnchor.js.map +1 -1
  251. package/dist/components/shared/internal/AudioPlayer.js +58 -23
  252. package/dist/components/shared/internal/AudioPlayer.js.map +1 -1
  253. package/dist/components/shared/internal/ModalDialog.js +40 -5
  254. package/dist/components/shared/internal/ModalDialog.js.map +1 -1
  255. package/dist/components/shared/internal/RenderIfNoError.js +15 -10
  256. package/dist/components/shared/internal/RenderIfNoError.js.map +1 -1
  257. package/dist/components/shared/internal/ResponsiveMediaContainer.js +11 -6
  258. package/dist/components/shared/internal/ResponsiveMediaContainer.js.map +1 -1
  259. package/dist/components/shared/internal/RestrictedAudioPlayer.js +64 -25
  260. package/dist/components/shared/internal/RestrictedAudioPlayer.js.map +1 -1
  261. package/dist/createRenderChildNodes.js +19 -12
  262. package/dist/createRenderChildNodes.js.map +1 -1
  263. package/dist/dom-utils.js +89 -32
  264. package/dist/dom-utils.js.map +1 -1
  265. package/dist/fonts.js +15 -9
  266. package/dist/fonts.js.map +1 -1
  267. package/dist/formatting.js +4 -1
  268. package/dist/formatting.js.map +1 -1
  269. package/dist/getDisplayName.js +4 -1
  270. package/dist/getDisplayName.js.map +1 -1
  271. package/dist/i18n/A_E.js +4 -1
  272. package/dist/i18n/A_E.js.map +1 -1
  273. package/dist/i18n/BA.js +39 -3
  274. package/dist/i18n/BA.js.map +1 -1
  275. package/dist/i18n/CA.js +39 -3
  276. package/dist/i18n/CA.js.map +1 -1
  277. package/dist/i18n/EA.js +4 -1
  278. package/dist/i18n/EA.js.map +1 -1
  279. package/dist/i18n/FA.js +4 -1
  280. package/dist/i18n/FA.js.map +1 -1
  281. package/dist/i18n/GC.js +4 -1
  282. package/dist/i18n/GC.js.map +1 -1
  283. package/dist/i18n/I.js +4 -1
  284. package/dist/i18n/I.js.map +1 -1
  285. package/dist/i18n/M.js +4 -1
  286. package/dist/i18n/M.js.map +1 -1
  287. package/dist/i18n/O_E.js +4 -1
  288. package/dist/i18n/O_E.js.map +1 -1
  289. package/dist/i18n/PA.js +4 -1
  290. package/dist/i18n/PA.js.map +1 -1
  291. package/dist/i18n/SA.js +4 -1
  292. package/dist/i18n/SA.js.map +1 -1
  293. package/dist/i18n/TC.js +4 -1
  294. package/dist/i18n/TC.js.map +1 -1
  295. package/dist/i18n/VA.js +4 -1
  296. package/dist/i18n/VA.js.map +1 -1
  297. package/dist/i18n/Z.js +4 -1
  298. package/dist/i18n/Z.js.map +1 -1
  299. package/dist/i18n/fi-FI.js +4 -1
  300. package/dist/i18n/fi-FI.js.map +1 -1
  301. package/dist/i18n/index.js +93 -51
  302. package/dist/i18n/index.js.map +1 -1
  303. package/dist/i18n/sv-FI.js +4 -1
  304. package/dist/i18n/sv-FI.js.map +1 -1
  305. package/dist/ids.js +16 -13
  306. package/dist/ids.js.map +1 -1
  307. package/dist/index.d.ts +2 -1
  308. package/dist/index.d.ts.map +1 -1
  309. package/dist/index.js +45 -14
  310. package/dist/index.js.map +1 -1
  311. package/dist/indexedDBExamServerAPI.d.ts.map +1 -1
  312. package/dist/indexedDBExamServerAPI.js +14 -4
  313. package/dist/indexedDBExamServerAPI.js.map +1 -1
  314. package/dist/main.css +4486 -1
  315. package/dist/parser/parseExam.js +44 -8
  316. package/dist/parser/parseExam.js.map +1 -1
  317. package/dist/parser/parseExamStructure.js +18 -15
  318. package/dist/parser/parseExamStructure.js.map +1 -1
  319. package/dist/renderAnnotations.js +21 -12
  320. package/dist/renderAnnotations.js.map +1 -1
  321. package/dist/scrollToHash.js +4 -1
  322. package/dist/scrollToHash.js.map +1 -1
  323. package/dist/shortDisplayNumber.js +38 -2
  324. package/dist/shortDisplayNumber.js.map +1 -1
  325. package/dist/store/answers/actions.js +16 -7
  326. package/dist/store/answers/actions.js.map +1 -1
  327. package/dist/store/answers/reducer.js +6 -3
  328. package/dist/store/answers/reducer.js.map +1 -1
  329. package/dist/store/answers/sagas.js +22 -18
  330. package/dist/store/answers/sagas.js.map +1 -1
  331. package/dist/store/audio/actions.js +16 -7
  332. package/dist/store/audio/actions.js.map +1 -1
  333. package/dist/store/audio/reducer.js +38 -2
  334. package/dist/store/audio/reducer.js.map +1 -1
  335. package/dist/store/audio/sagas.js +18 -15
  336. package/dist/store/audio/sagas.js.map +1 -1
  337. package/dist/store/cas/actions.js +13 -7
  338. package/dist/store/cas/actions.js.map +1 -1
  339. package/dist/store/cas/reducer.js +4 -1
  340. package/dist/store/cas/reducer.js.map +1 -1
  341. package/dist/store/cas/sagas.js +19 -15
  342. package/dist/store/cas/sagas.js.map +1 -1
  343. package/dist/store/countdown.js +12 -9
  344. package/dist/store/countdown.js.map +1 -1
  345. package/dist/store/index.js +63 -24
  346. package/dist/store/index.js.map +1 -1
  347. package/dist/store/selectors.js +53 -9
  348. package/dist/store/selectors.js.map +1 -1
  349. package/dist/types/ExamAnswer.js +2 -1
  350. package/dist/types/ExamServerAPI.d.ts +1 -1
  351. package/dist/types/ExamServerAPI.d.ts.map +1 -1
  352. package/dist/types/ExamServerAPI.js +2 -1
  353. package/dist/types/GradingStructure.js +2 -1
  354. package/dist/types/Score.js +2 -1
  355. package/dist/url.js +38 -2
  356. package/dist/url.js.map +1 -1
  357. package/dist/useCached.js +6 -3
  358. package/dist/useCached.js.map +1 -1
  359. package/dist/utils.js +8 -3
  360. package/dist/utils.js.map +1 -1
  361. package/dist/validateAnswers.js +38 -2
  362. package/dist/validateAnswers.js.map +1 -1
  363. package/package.json +39 -37
  364. package/dist/__tests__/AnsweringInstructions.test.d.ts +0 -2
  365. package/dist/__tests__/AnsweringInstructions.test.d.ts.map +0 -1
  366. package/dist/__tests__/AnsweringInstructions.test.js +0 -95
  367. package/dist/__tests__/AnsweringInstructions.test.js.map +0 -1
  368. package/dist/__tests__/casSaga.test.d.ts +0 -2
  369. package/dist/__tests__/casSaga.test.d.ts.map +0 -1
  370. package/dist/__tests__/casSaga.test.js +0 -80
  371. package/dist/__tests__/casSaga.test.js.map +0 -1
  372. package/dist/__tests__/examServerApi.d.ts +0 -3
  373. package/dist/__tests__/examServerApi.d.ts.map +0 -1
  374. package/dist/__tests__/examServerApi.js +0 -17
  375. package/dist/__tests__/examServerApi.js.map +0 -1
  376. package/dist/__tests__/playwright/SectionElement.test.d.ts +0 -2
  377. package/dist/__tests__/playwright/SectionElement.test.d.ts.map +0 -1
  378. package/dist/__tests__/playwright/SectionElement.test.js +0 -20
  379. package/dist/__tests__/playwright/SectionElement.test.js.map +0 -1
  380. package/dist/__tests__/playwright/exam/AudioAnswer.test.d.ts +0 -2
  381. package/dist/__tests__/playwright/exam/AudioAnswer.test.d.ts.map +0 -1
  382. package/dist/__tests__/playwright/exam/AudioAnswer.test.js +0 -132
  383. package/dist/__tests__/playwright/exam/AudioAnswer.test.js.map +0 -1
  384. package/dist/__tests__/playwright/exam/AudioPlayer.test.d.ts +0 -2
  385. package/dist/__tests__/playwright/exam/AudioPlayer.test.d.ts.map +0 -1
  386. package/dist/__tests__/playwright/exam/AudioPlayer.test.js +0 -69
  387. package/dist/__tests__/playwright/exam/AudioPlayer.test.js.map +0 -1
  388. package/dist/__tests__/playwright/exam/DNDAnswerContainer.test.d.ts +0 -2
  389. package/dist/__tests__/playwright/exam/DNDAnswerContainer.test.d.ts.map +0 -1
  390. package/dist/__tests__/playwright/exam/DNDAnswerContainer.test.js +0 -125
  391. package/dist/__tests__/playwright/exam/DNDAnswerContainer.test.js.map +0 -1
  392. package/dist/__tests__/playwright/exam/Exam.test.d.ts +0 -2
  393. package/dist/__tests__/playwright/exam/Exam.test.d.ts.map +0 -1
  394. package/dist/__tests__/playwright/exam/Exam.test.js +0 -29
  395. package/dist/__tests__/playwright/exam/Exam.test.js.map +0 -1
  396. package/dist/__tests__/playwright/exam/TextAnswerInput.test.d.ts +0 -2
  397. package/dist/__tests__/playwright/exam/TextAnswerInput.test.d.ts.map +0 -1
  398. package/dist/__tests__/playwright/exam/TextAnswerInput.test.js +0 -81
  399. package/dist/__tests__/playwright/exam/TextAnswerInput.test.js.map +0 -1
  400. package/dist/__tests__/playwright/pages/AudioPlayer.page.d.ts +0 -13
  401. package/dist/__tests__/playwright/pages/AudioPlayer.page.d.ts.map +0 -1
  402. package/dist/__tests__/playwright/pages/AudioPlayer.page.js +0 -16
  403. package/dist/__tests__/playwright/pages/AudioPlayer.page.js.map +0 -1
  404. package/dist/__tests__/playwright/results/MultiLineAnswer.test.d.ts +0 -2
  405. package/dist/__tests__/playwright/results/MultiLineAnswer.test.d.ts.map +0 -1
  406. package/dist/__tests__/playwright/results/MultiLineAnswer.test.js +0 -45
  407. package/dist/__tests__/playwright/results/MultiLineAnswer.test.js.map +0 -1
  408. package/dist/__tests__/playwright/stories/exam/AudioAnswer.story.d.ts +0 -5
  409. package/dist/__tests__/playwright/stories/exam/AudioAnswer.story.d.ts.map +0 -1
  410. package/dist/__tests__/playwright/stories/exam/AudioAnswer.story.js +0 -14
  411. package/dist/__tests__/playwright/stories/exam/AudioAnswer.story.js.map +0 -1
  412. package/dist/__tests__/playwright/stories/exam/DNDAnswerContainer.story.d.ts +0 -10
  413. package/dist/__tests__/playwright/stories/exam/DNDAnswerContainer.story.d.ts.map +0 -1
  414. package/dist/__tests__/playwright/stories/exam/DNDAnswerContainer.story.js +0 -20
  415. package/dist/__tests__/playwright/stories/exam/DNDAnswerContainer.story.js.map +0 -1
  416. package/dist/__tests__/playwright/stories/exam/Exam.story.d.ts +0 -8
  417. package/dist/__tests__/playwright/stories/exam/Exam.story.d.ts.map +0 -1
  418. package/dist/__tests__/playwright/stories/exam/Exam.story.js +0 -18
  419. package/dist/__tests__/playwright/stories/exam/Exam.story.js.map +0 -1
  420. package/dist/__tests__/playwright/stories/exam/Question.story.d.ts +0 -5
  421. package/dist/__tests__/playwright/stories/exam/Question.story.d.ts.map +0 -1
  422. package/dist/__tests__/playwright/stories/exam/Question.story.js +0 -19
  423. package/dist/__tests__/playwright/stories/exam/Question.story.js.map +0 -1
  424. package/dist/__tests__/playwright/stories/results/MultiLineAnswer.story.d.ts +0 -8
  425. package/dist/__tests__/playwright/stories/results/MultiLineAnswer.story.d.ts.map +0 -1
  426. package/dist/__tests__/playwright/stories/results/MultiLineAnswer.story.js +0 -51
  427. package/dist/__tests__/playwright/stories/results/MultiLineAnswer.story.js.map +0 -1
  428. package/dist/__tests__/playwright/template/index.d.ts +0 -1
  429. package/dist/__tests__/playwright/template/index.d.ts.map +0 -1
  430. package/dist/__tests__/playwright/template/index.js +0 -5
  431. package/dist/__tests__/playwright/template/index.js.map +0 -1
  432. package/dist/__tests__/playwright/utils/ExamComponentWrapper.d.ts +0 -9
  433. package/dist/__tests__/playwright/utils/ExamComponentWrapper.d.ts.map +0 -1
  434. package/dist/__tests__/playwright/utils/ExamComponentWrapper.js +0 -26
  435. package/dist/__tests__/playwright/utils/ExamComponentWrapper.js.map +0 -1
  436. package/dist/__tests__/playwright/utils/utils.d.ts +0 -6
  437. package/dist/__tests__/playwright/utils/utils.d.ts.map +0 -1
  438. package/dist/__tests__/playwright/utils/utils.js +0 -52
  439. package/dist/__tests__/playwright/utils/utils.js.map +0 -1
  440. package/dist/__tests__/renderAnnotations.test.d.ts +0 -2
  441. package/dist/__tests__/renderAnnotations.test.d.ts.map +0 -1
  442. package/dist/__tests__/renderAnnotations.test.js +0 -134
  443. package/dist/__tests__/renderAnnotations.test.js.map +0 -1
  444. package/dist/__tests__/results/AnnotationList.test.d.ts +0 -2
  445. package/dist/__tests__/results/AnnotationList.test.d.ts.map +0 -1
  446. package/dist/__tests__/results/AnnotationList.test.js +0 -168
  447. package/dist/__tests__/results/AnnotationList.test.js.map +0 -1
  448. package/dist/__tests__/results/ResultsContext.test.d.ts +0 -2
  449. package/dist/__tests__/results/ResultsContext.test.d.ts.map +0 -1
  450. package/dist/__tests__/results/ResultsContext.test.js +0 -185
  451. package/dist/__tests__/results/ResultsContext.test.js.map +0 -1
  452. package/dist/__tests__/results/ResultsExamQuestionAutoScore.test.d.ts +0 -2
  453. package/dist/__tests__/results/ResultsExamQuestionAutoScore.test.d.ts.map +0 -1
  454. package/dist/__tests__/results/ResultsExamQuestionAutoScore.test.js +0 -60
  455. package/dist/__tests__/results/ResultsExamQuestionAutoScore.test.js.map +0 -1
  456. package/dist/__tests__/results/ResultsExamQuestionManualScore.test.d.ts +0 -2
  457. package/dist/__tests__/results/ResultsExamQuestionManualScore.test.d.ts.map +0 -1
  458. package/dist/__tests__/results/ResultsExamQuestionManualScore.test.js +0 -145
  459. package/dist/__tests__/results/ResultsExamQuestionManualScore.test.js.map +0 -1
  460. package/dist/__tests__/testExamRendering.d.ts +0 -2
  461. package/dist/__tests__/testExamRendering.d.ts.map +0 -1
  462. package/dist/__tests__/testExamRendering.js +0 -149
  463. package/dist/__tests__/testExamRendering.js.map +0 -1
  464. package/dist/__tests__/tsconfig.tsbuildinfo +0 -1
  465. package/dist/__tests__/util.test.d.ts +0 -2
  466. package/dist/__tests__/util.test.d.ts.map +0 -1
  467. package/dist/__tests__/util.test.js +0 -12
  468. package/dist/__tests__/util.test.js.map +0 -1
  469. package/dist/__tests__/validateAnswers.test.d.ts +0 -2
  470. package/dist/__tests__/validateAnswers.test.d.ts.map +0 -1
  471. package/dist/__tests__/validateAnswers.test.js +0 -243
  472. package/dist/__tests__/validateAnswers.test.js.map +0 -1
  473. package/dist/main-bundle.js +0 -366
  474. package/dist/main-bundle.js.LICENSE.txt +0 -69
  475. /package/{src/css → dist}/colors.less +0 -0
@@ -1,45 +1,83 @@
1
- import classNames from 'classnames';
2
- import React, { useCallback, useContext } from 'react';
3
- import { useDispatch, useSelector } from 'react-redux';
4
- import { getNumericAttribute, mapChildElements, query } from '../../dom-utils';
5
- import { QuestionContext } from '../context/QuestionContext';
6
- import { saveAnswer } from '../../store/answers/actions';
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 react_redux_1 = require("react-redux");
42
+ const dom_utils_1 = require("../../dom-utils");
43
+ const QuestionContext_1 = require("../context/QuestionContext");
44
+ const actions_1 = require("../../store/answers/actions");
7
45
  const ChoiceAnswerOption = ({ selected, element, renderChildNodes, questionId, onSelect, direction, value }) => {
8
46
  const className = element.getAttribute('class');
9
- const content = (React.createElement("div", { className: classNames('e-choice-answer-option e-column e-pointer', className, {
47
+ const content = (react_1.default.createElement("div", { className: (0, classnames_1.default)('e-choice-answer-option e-column e-pointer', className, {
10
48
  'e-choice-answer-option--selected': selected
11
49
  }) }, renderChildNodes(element)));
12
- return direction === 'vertical' ? (React.createElement("div", { className: "e-mrg-b-1" },
13
- React.createElement("label", { className: classNames('e-columns', {
14
- 'e-columns--inline': query(element, ['image', 'video']) == null /* Force full width for options containing responsive media */
50
+ return direction === 'vertical' ? (react_1.default.createElement("div", { className: "e-mrg-b-1" },
51
+ react_1.default.createElement("label", { className: (0, classnames_1.default)('e-columns', {
52
+ 'e-columns--inline': (0, dom_utils_1.query)(element, ['image', 'video']) == null /* Force full width for options containing responsive media */
15
53
  }) },
16
- React.createElement("input", { type: "radio", className: "e-radio-button e-column e-column--narrow", name: String(questionId), onChange: onSelect, value: value, checked: selected }),
17
- content))) : (React.createElement("div", { className: "e-column e-mrg-b-1" },
18
- React.createElement("label", { className: "e-block e-text-center" },
19
- React.createElement("input", { type: "radio", className: "e-radio-button", name: String(questionId), onChange: onSelect, value: value, checked: selected }),
54
+ react_1.default.createElement("input", { type: "radio", className: "e-radio-button e-column e-column--narrow", name: String(questionId), onChange: onSelect, value: value, checked: selected }),
55
+ content))) : (react_1.default.createElement("div", { className: "e-column e-mrg-b-1" },
56
+ react_1.default.createElement("label", { className: "e-block e-text-center" },
57
+ react_1.default.createElement("input", { type: "radio", className: "e-radio-button", name: String(questionId), onChange: onSelect, value: value, checked: selected }),
20
58
  content)));
21
59
  };
22
60
  const ChoiceAnswer = ({ element, renderChildNodes, renderComponentOverrides }) => {
23
- const questionId = getNumericAttribute(element, 'question-id');
61
+ const questionId = (0, dom_utils_1.getNumericAttribute)(element, 'question-id');
24
62
  const displayNumber = element.getAttribute('display-number');
25
63
  const direction = element.getAttribute('direction') || 'vertical';
26
64
  const className = element.getAttribute('class');
27
- const { questionLabelIds } = useContext(QuestionContext);
28
- const answer = useSelector((state) => state.answers.answersById[questionId]);
29
- const dispatch = useDispatch();
30
- const onSelect = useCallback(event => {
31
- dispatch(saveAnswer({ type: 'choice', questionId, value: event.currentTarget.value, displayNumber }));
65
+ const { questionLabelIds } = (0, react_1.useContext)(QuestionContext_1.QuestionContext);
66
+ const answer = (0, react_redux_1.useSelector)((state) => state.answers.answersById[questionId]);
67
+ const dispatch = (0, react_redux_1.useDispatch)();
68
+ const onSelect = (0, react_1.useCallback)(event => {
69
+ dispatch((0, actions_1.saveAnswer)({ type: 'choice', questionId, value: event.currentTarget.value, displayNumber }));
32
70
  }, [questionId, displayNumber]);
33
- return (React.createElement("div", { className: classNames('e-choice-answer e-mrg-b-4', className, {
71
+ return (react_1.default.createElement("div", { className: (0, classnames_1.default)('e-choice-answer e-mrg-b-4', className, {
34
72
  'e-columns': direction === 'horizontal'
35
73
  }), "data-question-id": questionId, role: "radiogroup", "aria-labelledby": questionLabelIds },
36
- React.createElement("span", { className: "anchor", id: `question-nr-${displayNumber}` }),
37
- mapChildElements(element, childElement => {
74
+ react_1.default.createElement("span", { className: "anchor", id: `question-nr-${displayNumber}` }),
75
+ (0, dom_utils_1.mapChildElements)(element, childElement => {
38
76
  const optionId = childElement.getAttribute('option-id');
39
77
  const isNoAnswer = childElement.getAttribute('type') === 'no-answer';
40
78
  const value = isNoAnswer ? '' : optionId;
41
79
  const selected = answer != null && answer.value === value;
42
- return (React.createElement(ChoiceAnswerOption, { element: childElement,
80
+ return (react_1.default.createElement(ChoiceAnswerOption, { element: childElement,
43
81
  onSelect,
44
82
  renderChildNodes,
45
83
  renderComponentOverrides,
@@ -50,5 +88,5 @@ const ChoiceAnswer = ({ element, renderChildNodes, renderComponentOverrides }) =
50
88
  value }));
51
89
  })));
52
90
  };
53
- export default React.memo(ChoiceAnswer);
91
+ exports.default = react_1.default.memo(ChoiceAnswer);
54
92
  //# sourceMappingURL=ChoiceAnswer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChoiceAnswer.js","sourceRoot":"","sources":["../../../src/components/exam/ChoiceAnswer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChoiceAnswer.js","sourceRoot":"","sources":["../../../src/components/exam/ChoiceAnswer.tsx"],"names":[],"mappings":"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"}
@@ -1,14 +1,21 @@
1
- import { useDroppable } from '@dnd-kit/core';
2
- import { SortableContext } from '@dnd-kit/sortable';
3
- import React from 'react';
4
- import { DNDDroppable } from '../shared/DNDDroppable';
5
- import { useExamTranslation } from '../../i18n';
6
- export const AllDNDOptions = ({ items, renderChildNodes, renderComponentOverrides, answerOptionElements }) => {
7
- const { setNodeRef } = useDroppable({ id: 'root' });
8
- const { t } = useExamTranslation();
9
- return (React.createElement(SortableContext, { items: items },
10
- React.createElement("span", { className: "droppable-title" }, t('dnd-answers.all-answer-options')),
11
- React.createElement("span", { ref: setNodeRef },
12
- React.createElement(DNDDroppable, { renderChildNodes: renderChildNodes, renderComponentOverrides: renderComponentOverrides, questionId: "root", page: "exam", classes: ['root'], answerOptionElements: answerOptionElements }))));
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AllDNDOptions = void 0;
7
+ const core_1 = require("@dnd-kit/core");
8
+ const sortable_1 = require("@dnd-kit/sortable");
9
+ const react_1 = __importDefault(require("react"));
10
+ const DNDDroppable_1 = require("../shared/DNDDroppable");
11
+ const i18n_1 = require("../../i18n");
12
+ const AllDNDOptions = ({ items, renderChildNodes, renderComponentOverrides, answerOptionElements }) => {
13
+ const { setNodeRef } = (0, core_1.useDroppable)({ id: 'root' });
14
+ const { t } = (0, i18n_1.useExamTranslation)();
15
+ return (react_1.default.createElement(sortable_1.SortableContext, { items: items },
16
+ react_1.default.createElement("span", { className: "droppable-title" }, t('dnd-answers.all-answer-options')),
17
+ react_1.default.createElement("span", { ref: setNodeRef },
18
+ react_1.default.createElement(DNDDroppable_1.DNDDroppable, { renderChildNodes: renderChildNodes, renderComponentOverrides: renderComponentOverrides, questionId: "root", page: "exam", classes: ['root'], answerOptionElements: answerOptionElements }))));
19
+ };
20
+ exports.AllDNDOptions = AllDNDOptions;
14
21
  //# sourceMappingURL=DNDAllOptions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DNDAllOptions.js","sourceRoot":"","sources":["../../../src/components/exam/DNDAllOptions.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAE,MAAM,eAAe,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAE/C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,KAAK,EACL,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,EAMrB,EAAE,EAAE;IACH,MAAM,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;IACnD,MAAM,EAAE,CAAC,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAElC,OAAO,CACL,oBAAC,eAAe,IAAC,KAAK,EAAE,KAAK;QAC3B,8BAAM,SAAS,EAAC,iBAAiB,IAAE,CAAC,CAAC,gCAAgC,CAAC,CAAQ;QAC9E,8BAAM,GAAG,EAAE,UAAU;YACnB,oBAAC,YAAY,IACX,gBAAgB,EAAE,gBAAgB,EAClC,wBAAwB,EAAE,wBAAwB,EAClD,UAAU,EAAC,MAAM,EACjB,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,CAAC,MAAM,CAAC,EACjB,oBAAoB,EAAE,oBAAoB,GAC1C,CACG,CACS,CACnB,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"DNDAllOptions.js","sourceRoot":"","sources":["../../../src/components/exam/DNDAllOptions.tsx"],"names":[],"mappings":";;;;;;AAAA,wCAA8D;AAC9D,gDAAmD;AACnD,kDAAyB;AAEzB,yDAAqD;AACrD,qCAA+C;AAExC,MAAM,aAAa,GAAG,CAAC,EAC5B,KAAK,EACL,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,EAMrB,EAAE,EAAE;IACH,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,mBAAY,EAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;IACnD,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,yBAAkB,GAAE,CAAA;IAElC,OAAO,CACL,8BAAC,0BAAe,IAAC,KAAK,EAAE,KAAK;QAC3B,wCAAM,SAAS,EAAC,iBAAiB,IAAE,CAAC,CAAC,gCAAgC,CAAC,CAAQ;QAC9E,wCAAM,GAAG,EAAE,UAAU;YACnB,8BAAC,2BAAY,IACX,gBAAgB,EAAE,gBAAgB,EAClC,wBAAwB,EAAE,wBAAwB,EAClD,UAAU,EAAC,MAAM,EACjB,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,CAAC,MAAM,CAAC,EACjB,oBAAoB,EAAE,oBAAoB,GAC1C,CACG,CACS,CACnB,CAAA;AACH,CAAC,CAAA;AA7BY,QAAA,aAAa,iBA6BzB"}
@@ -1,24 +1,60 @@
1
- import { DndContext, DragOverlay, KeyboardSensor, PointerSensor, useSensor, useSensors } from '@dnd-kit/core';
2
- import React, { useEffect, useState } from 'react';
3
- import { useDispatch, useSelector } from 'react-redux';
4
- import { getAnswerOptionIdsByQuestionId, getAnswerOptionsByOptionId, query, queryAll } from '../../dom-utils';
5
- import { saveAnswer } from '../../store/answers/actions';
6
- import { DNDTitleAndDroppable } from '../shared/DNDTitleAndDroppable';
7
- import { AllDNDOptions } from './DNDAllOptions';
8
- import { DNDAnswerOptionDraggable } from './DNDAnswerOptionDraggable';
9
- import { coordinateGetter } from './multipleContainersKeyboardCoordinates';
10
- export const DNDAnswerContainer = ({ element, renderChildNodes, renderComponentOverrides }) => {
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
+ exports.DNDAnswerContainer = void 0;
37
+ const core_1 = require("@dnd-kit/core");
38
+ const react_1 = __importStar(require("react"));
39
+ const react_redux_1 = require("react-redux");
40
+ const dom_utils_1 = require("../../dom-utils");
41
+ const actions_1 = require("../../store/answers/actions");
42
+ const DNDTitleAndDroppable_1 = require("../shared/DNDTitleAndDroppable");
43
+ const DNDAllOptions_1 = require("./DNDAllOptions");
44
+ const DNDAnswerOptionDraggable_1 = require("./DNDAnswerOptionDraggable");
45
+ const multipleContainersKeyboardCoordinates_1 = require("./multipleContainersKeyboardCoordinates");
46
+ const DNDAnswerContainer = ({ element, renderChildNodes, renderComponentOverrides }) => {
11
47
  var _a;
12
- const dispatch = useDispatch();
13
- const [activeId, setActiveId] = useState();
14
- const [optionIdsByQuestionId, setOptionIdsByQuestionId] = useState({});
15
- const [answerOptionsById, setAnswerOptionsById] = useState({});
16
- const [displayNumbersById, setDisplayNumbersById] = useState({});
17
- const answers = useSelector((state) => state.answers);
18
- useEffect(() => {
19
- const dndAnswers = queryAll(element, 'dnd-answer').filter(e => !!query(e, 'dnd-answer-title'));
20
- const answerOptionIdsByQuestionId = getAnswerOptionIdsByQuestionId(element, answers.answersById);
21
- const answerOptionsByOptionId = getAnswerOptionsByOptionId(element);
48
+ const dispatch = (0, react_redux_1.useDispatch)();
49
+ const [activeId, setActiveId] = (0, react_1.useState)();
50
+ const [optionIdsByQuestionId, setOptionIdsByQuestionId] = (0, react_1.useState)({});
51
+ const [answerOptionsById, setAnswerOptionsById] = (0, react_1.useState)({});
52
+ const [displayNumbersById, setDisplayNumbersById] = (0, react_1.useState)({});
53
+ const answers = (0, react_redux_1.useSelector)((state) => state.answers);
54
+ (0, react_1.useEffect)(() => {
55
+ const dndAnswers = (0, dom_utils_1.queryAll)(element, 'dnd-answer').filter(e => !!(0, dom_utils_1.query)(e, 'dnd-answer-title'));
56
+ const answerOptionIdsByQuestionId = (0, dom_utils_1.getAnswerOptionIdsByQuestionId)(element, answers.answersById);
57
+ const answerOptionsByOptionId = (0, dom_utils_1.getAnswerOptionsByOptionId)(element);
22
58
  const displayNumbersById = dndAnswers.reduce((acc, el) => {
23
59
  const questionId = el.getAttribute('question-id');
24
60
  const displayNumber = el.getAttribute('display-number');
@@ -28,8 +64,8 @@ export const DNDAnswerContainer = ({ element, renderChildNodes, renderComponentO
28
64
  setAnswerOptionsById(answerOptionsByOptionId);
29
65
  setDisplayNumbersById(displayNumbersById);
30
66
  }, [element]);
31
- const sensors = useSensors(useSensor(PointerSensor), useSensor(KeyboardSensor, {
32
- coordinateGetter
67
+ const sensors = (0, core_1.useSensors)((0, core_1.useSensor)(core_1.PointerSensor), (0, core_1.useSensor)(core_1.KeyboardSensor, {
68
+ coordinateGetter: multipleContainersKeyboardCoordinates_1.coordinateGetter
33
69
  }));
34
70
  function findContainer(id) {
35
71
  if (id in optionIdsByQuestionId) {
@@ -65,26 +101,27 @@ export const DNDAnswerContainer = ({ element, renderChildNodes, renderComponentO
65
101
  const questionIdNumber = Number(questionId);
66
102
  const value = (optionId === null || optionId === void 0 ? void 0 : optionId.toString()) || '';
67
103
  const displayNumber = displayNumbersById[questionId];
68
- dispatch(saveAnswer({ type: 'choice', questionId: questionIdNumber, value, displayNumber }));
104
+ dispatch((0, actions_1.saveAnswer)({ type: 'choice', questionId: questionIdNumber, value, displayNumber }));
69
105
  }
70
- const dndAnswersWithQuestion = queryAll(element, 'dnd-answer').filter(e => !!query(e, 'dnd-answer-title'));
106
+ const dndAnswersWithQuestion = (0, dom_utils_1.queryAll)(element, 'dnd-answer').filter(e => !!(0, dom_utils_1.query)(e, 'dnd-answer-title'));
71
107
  const allAnswerOptionElements = (_a = optionIdsByQuestionId.root) === null || _a === void 0 ? void 0 : _a.map(id => answerOptionsById[id] || null).filter(Boolean);
72
108
  // We can not render the prop 'element' (XML) here, because we will change the DOM structure when items are dragged around¯, but the XML can not be changed
73
- return (React.createElement("div", { className: "e-dnd-answer-container" },
74
- React.createElement(DndContext, { sensors: sensors, onDragStart: handleDragStart, onDragEnd: handleDragEnd },
109
+ return (react_1.default.createElement("div", { className: "e-dnd-answer-container" },
110
+ react_1.default.createElement(core_1.DndContext, { sensors: sensors, onDragStart: handleDragStart, onDragEnd: handleDragEnd },
75
111
  dndAnswersWithQuestion.map(element => {
76
112
  var _a;
77
113
  const questionId = element.getAttribute('question-id');
78
114
  const dndAnswerOptions = (_a = (optionIdsByQuestionId[questionId] || [])) === null || _a === void 0 ? void 0 : _a.map(id => (answerOptionsById === null || answerOptionsById === void 0 ? void 0 : answerOptionsById[id]) || null).filter(Boolean);
79
115
  const itemIds = optionIdsByQuestionId[questionId] || [];
80
- return (React.createElement(DNDTitleAndDroppable, { key: questionId, element: element, renderChildNodes: renderChildNodes, renderComponentOverrides: renderComponentOverrides, itemIds: itemIds, answerOptionElements: dndAnswerOptions, page: "exam" }));
116
+ return (react_1.default.createElement(DNDTitleAndDroppable_1.DNDTitleAndDroppable, { key: questionId, element: element, renderChildNodes: renderChildNodes, renderComponentOverrides: renderComponentOverrides, itemIds: itemIds, answerOptionElements: dndAnswerOptions, page: "exam" }));
81
117
  }),
82
- React.createElement(AllDNDOptions, { items: optionIdsByQuestionId.root || [], renderChildNodes: renderChildNodes, renderComponentOverrides: renderComponentOverrides, answerOptionElements: allAnswerOptionElements }),
83
- React.createElement(DragOverlay, { className: "e-dnd-answer-drag-overlay", dropAnimation: {
118
+ react_1.default.createElement(DNDAllOptions_1.AllDNDOptions, { items: optionIdsByQuestionId.root || [], renderChildNodes: renderChildNodes, renderComponentOverrides: renderComponentOverrides, answerOptionElements: allAnswerOptionElements }),
119
+ react_1.default.createElement(core_1.DragOverlay, { className: "e-dnd-answer-drag-overlay", dropAnimation: {
84
120
  duration: 250,
85
121
  easing: 'ease-in-out'
86
- } }, activeId ? (React.createElement(DNDAnswerOptionDraggable, { element: answerOptionsById[activeId], renderChildNodes: renderChildNodes, renderComponentOverrides: renderComponentOverrides })) : null))));
122
+ } }, activeId ? (react_1.default.createElement(DNDAnswerOptionDraggable_1.DNDAnswerOptionDraggable, { element: answerOptionsById[activeId], renderChildNodes: renderChildNodes, renderComponentOverrides: renderComponentOverrides })) : null))));
87
123
  };
124
+ exports.DNDAnswerContainer = DNDAnswerContainer;
88
125
  function moveValue(state, from, to, value) {
89
126
  const newState = { ...state };
90
127
  // Remove the value from its current container
@@ -1 +1 @@
1
- {"version":3,"file":"DNDAnswerContainer.js","sourceRoot":"","sources":["../../../src/components/exam/DNDAnswerContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAGV,WAAW,EAEX,cAAc,EACd,aAAa,EAEb,SAAS,EACT,UAAU,EACX,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEtD,OAAO,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC7G,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAExD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAO1E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAsB,EAAE,EAAE;;IAChH,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAA2B,CAAA;IACnE,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,CAAa,EAAgB,CAAC,CAAA;IAChG,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAoC,EAAE,CAAC,CAAA;IACjG,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAmC,EAAE,CAAC,CAAA;IAClG,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,KAAgC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAEhF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAA;QAC9F,MAAM,2BAA2B,GAAG,8BAA8B,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;QAChG,MAAM,uBAAuB,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAA;QAEnE,MAAM,kBAAkB,GAAqC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;YACzF,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,CAAE,CAAA;YAClD,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAE,CAAA;YACxD,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,CAAA;QAChD,CAAC,EAAE,EAAE,CAAC,CAAA;QAEN,wBAAwB,CAAC,2BAA2B,CAAC,CAAA;QACrD,oBAAoB,CAAC,uBAAuB,CAAC,CAAA;QAC7C,qBAAqB,CAAC,kBAAkB,CAAC,CAAA;IAC3C,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAEb,MAAM,OAAO,GAAG,UAAU,CACxB,SAAS,CAAC,aAAa,CAAC,EACxB,SAAS,CAAC,cAAc,EAAE;QACxB,gBAAgB;KACjB,CAAC,CACH,CAAA;IAED,SAAS,aAAa,CAAC,EAAoB;QACzC,IAAI,EAAE,IAAI,qBAAqB,EAAE,CAAC;YAChC,OAAO,EAAE,CAAA;QACX,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;IAChG,CAAC;IAED,SAAS,aAAa,CAAC,KAAmC;QACxD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;QAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAA;QAC1B,MAAM,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;QAC9C,MAAM,YAAY,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAE,CAAA;QAC7B,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,CAAA;IACnD,CAAC;IAED,SAAS,eAAe,CAAC,KAAqB;QAC5C,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC9B,CAAC;IAED,SAAS,aAAa,CAAC,KAAmB;QACxC,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;QAEvE,IAAI,CAAC,cAAc,IAAI,CAAC,YAAY,IAAI,cAAc,KAAK,YAAY,EAAE,CAAC;YACxE,OAAM;QACR,CAAC;QACD,wBAAwB,CAAC,qBAAqB,CAAC,EAAE,CAC/C,SAAS,CAAC,qBAAqB,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,CAAC,CACzE,CAAA;QAED,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;YAC9B,iBAAiB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;QACvC,CAAC;QACD,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;YAC5B,iBAAiB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;QAC3C,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC;IAED,SAAS,iBAAiB,CAAC,UAA4B,EAAE,QAA0B;QACjF,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,EAAE,KAAI,EAAE,CAAA;QACxC,MAAM,aAAa,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAA;QACpD,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC,CAAA;IAC9F,CAAC;IAED,MAAM,sBAAsB,GAAG,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAA;IAE1G,MAAM,uBAAuB,GAAG,MAAA,qBAAqB,CAAC,IAAI,0CAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IAEpH,2JAA2J;IAE3J,OAAO,CACL,6BAAK,SAAS,EAAC,wBAAwB;QACrC,oBAAC,UAAU,IAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa;YACjF,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;;gBACpC,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAE,CAAA;gBACvD,MAAM,gBAAgB,GAAG,MAAA,CAAC,qBAAqB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,0CAC9D,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAG,EAAE,CAAC,KAAI,IAAI,EAC1C,MAAM,CAAC,OAAO,CAAC,CAAA;gBAClB,MAAM,OAAO,GAAG,qBAAqB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;gBAEvD,OAAO,CACL,oBAAC,oBAAoB,IACnB,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,wBAAwB,EAAE,wBAAwB,EAClD,OAAO,EAAE,OAAO,EAChB,oBAAoB,EAAE,gBAAgB,EACtC,IAAI,EAAC,MAAM,GACX,CACH,CAAA;YACH,CAAC,CAAC;YAEF,oBAAC,aAAa,IACZ,KAAK,EAAE,qBAAqB,CAAC,IAAI,IAAI,EAAE,EACvC,gBAAgB,EAAE,gBAAgB,EAClC,wBAAwB,EAAE,wBAAwB,EAClD,oBAAoB,EAAE,uBAAuB,GAC7C;YAEF,oBAAC,WAAW,IACV,SAAS,EAAC,2BAA2B,EACrC,aAAa,EAAE;oBACb,QAAQ,EAAE,GAAG;oBACb,MAAM,EAAE,aAAa;iBACtB,IAEA,QAAQ,CAAC,CAAC,CAAC,CACV,oBAAC,wBAAwB,IACvB,OAAO,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EACpC,gBAAgB,EAAE,gBAAgB,EAClC,wBAAwB,EAAE,wBAAwB,GAClD,CACH,CAAC,CAAC,CAAC,IAAI,CACI,CACH,CACT,CACP,CAAA;AACH,CAAC,CAAA;AAED,SAAS,SAAS,CAAC,KAAiB,EAAE,IAAsB,EAAE,EAAoB,EAAE,KAAuB;IACzG,MAAM,QAAQ,GAAe,EAAE,GAAG,KAAK,EAAE,CAAA;IACzC,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAA;IAE9D,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;QAClB,wBAAwB;QACxB,QAAQ,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC3C,CAAC;SAAM,CAAC;QACN,6EAA6E;QAC7E,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,aAAa,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YACrC,QAAQ,CAAC,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;QACnD,CAAC;QACD,6CAA6C;QAC7C,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACxB,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC"}
1
+ {"version":3,"file":"DNDAnswerContainer.js","sourceRoot":"","sources":["../../../src/components/exam/DNDAnswerContainer.tsx"],"names":[],"mappings":"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"}
@@ -1,18 +1,25 @@
1
- import { useDraggable } from '@dnd-kit/core';
2
- import { faUpDownLeftRight } from '@fortawesome/free-solid-svg-icons';
3
- import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
4
- import React from 'react';
5
- import { getNumericAttribute } from '../../dom-utils';
6
- import { DNDAnswerOption } from '../results/DNDAnswerOption';
7
- export const DNDAnswerOptionDraggable = ({ element, renderChildNodes, renderComponentOverrides }) => {
8
- const optionId = getNumericAttribute(element, 'option-id');
9
- const { attributes, listeners, setNodeRef, isDragging, setActivatorNodeRef } = useDraggable({
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
+ exports.DNDAnswerOptionDraggable = void 0;
7
+ const core_1 = require("@dnd-kit/core");
8
+ const free_solid_svg_icons_1 = require("@fortawesome/free-solid-svg-icons");
9
+ const react_fontawesome_1 = require("@fortawesome/react-fontawesome");
10
+ const react_1 = __importDefault(require("react"));
11
+ const dom_utils_1 = require("../../dom-utils");
12
+ const DNDAnswerOption_1 = require("../results/DNDAnswerOption");
13
+ const DNDAnswerOptionDraggable = ({ element, renderChildNodes, renderComponentOverrides }) => {
14
+ const optionId = (0, dom_utils_1.getNumericAttribute)(element, 'option-id');
15
+ const { attributes, listeners, setNodeRef, isDragging, setActivatorNodeRef } = (0, core_1.useDraggable)({
10
16
  id: optionId
11
17
  });
12
18
  const style = { opacity: isDragging ? 0.3 : 1 };
13
- return (React.createElement("div", { ref: setNodeRef, className: "e-dnd-answer-option", "data-testid": "dnd-answer-option" },
14
- React.createElement(DNDAnswerOption, { element: element, renderChildNodes: renderChildNodes, renderComponentOverrides: renderComponentOverrides, style: style }),
15
- React.createElement("div", { ...listeners, ...attributes, ref: setActivatorNodeRef, className: "drag-handle" },
16
- React.createElement(FontAwesomeIcon, { size: "1x", icon: faUpDownLeftRight }))));
19
+ return (react_1.default.createElement("div", { ref: setNodeRef, className: "e-dnd-answer-option", "data-testid": "dnd-answer-option" },
20
+ react_1.default.createElement(DNDAnswerOption_1.DNDAnswerOption, { element: element, renderChildNodes: renderChildNodes, renderComponentOverrides: renderComponentOverrides, style: style }),
21
+ react_1.default.createElement("div", { ...listeners, ...attributes, ref: setActivatorNodeRef, className: "drag-handle" },
22
+ react_1.default.createElement(react_fontawesome_1.FontAwesomeIcon, { size: "1x", icon: free_solid_svg_icons_1.faUpDownLeftRight }))));
17
23
  };
24
+ exports.DNDAnswerOptionDraggable = DNDAnswerOptionDraggable;
18
25
  //# sourceMappingURL=DNDAnswerOptionDraggable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DNDAnswerOptionDraggable.js","sourceRoot":"","sources":["../../../src/components/exam/DNDAnswerOptionDraggable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EACvC,OAAO,EACP,gBAAgB,EAChB,wBAAwB,EACL,EAAE,EAAE;IACvB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAE,CAAA;IAE3D,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,YAAY,CAAC;QAC1F,EAAE,EAAE,QAAQ;KACb,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAE/C,OAAO,CACL,6BAAK,GAAG,EAAE,UAAU,EAAE,SAAS,EAAC,qBAAqB,iBAAa,mBAAmB;QACnF,oBAAC,eAAe,IACd,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,wBAAwB,EAAE,wBAAwB,EAClD,KAAK,EAAE,KAAK,GACZ;QAEF,gCAAS,SAAS,KAAM,UAAU,EAAE,GAAG,EAAE,mBAAmB,EAAE,SAAS,EAAC,aAAa;YACnF,oBAAC,eAAe,IAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAE,iBAAiB,GAAI,CAClD,CACF,CACP,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"DNDAnswerOptionDraggable.js","sourceRoot":"","sources":["../../../src/components/exam/DNDAnswerOptionDraggable.tsx"],"names":[],"mappings":";;;;;;AAAA,wCAA4C;AAC5C,4EAAqE;AACrE,sEAAgE;AAChE,kDAAyB;AAEzB,+CAAqD;AACrD,gEAA4D;AAErD,MAAM,wBAAwB,GAAG,CAAC,EACvC,OAAO,EACP,gBAAgB,EAChB,wBAAwB,EACL,EAAE,EAAE;IACvB,MAAM,QAAQ,GAAG,IAAA,+BAAmB,EAAC,OAAO,EAAE,WAAW,CAAE,CAAA;IAE3D,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,IAAA,mBAAY,EAAC;QAC1F,EAAE,EAAE,QAAQ;KACb,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAE/C,OAAO,CACL,uCAAK,GAAG,EAAE,UAAU,EAAE,SAAS,EAAC,qBAAqB,iBAAa,mBAAmB;QACnF,8BAAC,iCAAe,IACd,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,wBAAwB,EAAE,wBAAwB,EAClD,KAAK,EAAE,KAAK,GACZ;QAEF,0CAAS,SAAS,KAAM,UAAU,EAAE,GAAG,EAAE,mBAAmB,EAAE,SAAS,EAAC,aAAa;YACnF,8BAAC,mCAAe,IAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAE,wCAAiB,GAAI,CAClD,CACF,CACP,CAAA;AACH,CAAC,CAAA;AA3BY,QAAA,wBAAwB,4BA2BpC"}
@@ -1,45 +1,83 @@
1
- import { faChevronDown, faChevronUp } from '@fortawesome/free-solid-svg-icons';
2
- import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
3
- import classNames from 'classnames';
4
- import { useSelect } from 'downshift';
5
- import * as _ from 'lodash-es';
6
- import React, { useContext, useEffect, useRef, useState } from 'react';
7
- import { useDispatch, useSelector } from 'react-redux';
8
- import { findChildElement, getNumericAttribute, mapChildElements, NBSP } from '../../dom-utils';
9
- import * as fonts from '../../fonts';
10
- import { useExamTranslation } from '../../i18n';
11
- import { answerScoreId } from '../../ids';
12
- import { QuestionContext } from '../context/QuestionContext';
13
- import { Score } from '../shared/Score';
14
- import { saveAnswer } from '../../store/answers/actions';
15
- import { AnnotationContext } from '../context/AnnotationProvider';
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 free_solid_svg_icons_1 = require("@fortawesome/free-solid-svg-icons");
40
+ const react_fontawesome_1 = require("@fortawesome/react-fontawesome");
41
+ const classnames_1 = __importDefault(require("classnames"));
42
+ const downshift_1 = require("downshift");
43
+ const _ = __importStar(require("lodash-es"));
44
+ const react_1 = __importStar(require("react"));
45
+ const react_redux_1 = require("react-redux");
46
+ const dom_utils_1 = require("../../dom-utils");
47
+ const fonts = __importStar(require("../../fonts"));
48
+ const i18n_1 = require("../../i18n");
49
+ const ids_1 = require("../../ids");
50
+ const QuestionContext_1 = require("../context/QuestionContext");
51
+ const Score_1 = require("../shared/Score");
52
+ const actions_1 = require("../../store/answers/actions");
53
+ const AnnotationProvider_1 = require("../context/AnnotationProvider");
16
54
  const menuBorderWidthPx = 2;
17
55
  const roundingErrorCompensationPx = 1;
18
56
  const noAnswer = '';
19
57
  const runningInBrowser = !navigator.userAgent.includes('jsdom/');
20
58
  const DropdownAnswer = ({ element, renderChildNodes }) => {
21
- const questionId = getNumericAttribute(element, 'question-id');
22
- const maxScore = getNumericAttribute(element, 'max-score');
23
- const answer = useSelector((state) => state.answers.answersById[questionId]);
24
- const dispatch = useDispatch();
59
+ const questionId = (0, dom_utils_1.getNumericAttribute)(element, 'question-id');
60
+ const maxScore = (0, dom_utils_1.getNumericAttribute)(element, 'max-score');
61
+ const answer = (0, react_redux_1.useSelector)((state) => state.answers.answersById[questionId]);
62
+ const dispatch = (0, react_redux_1.useDispatch)();
25
63
  const displayNumber = element.getAttribute('display-number');
26
64
  const currentlySelectedItem = answer &&
27
65
  answer.value &&
28
- findChildElement(element, childElement => answer.value === childElement.getAttribute('option-id'));
29
- const labelRef = useRef(null);
30
- const menuRef = React.useRef(null);
31
- const [measuring, setMeasuring] = useState(true);
32
- const [fontsLoaded, setFontsLoaded] = useState(fonts.loaded);
66
+ (0, dom_utils_1.findChildElement)(element, childElement => answer.value === childElement.getAttribute('option-id'));
67
+ const labelRef = (0, react_1.useRef)(null);
68
+ const menuRef = react_1.default.useRef(null);
69
+ const [measuring, setMeasuring] = (0, react_1.useState)(true);
70
+ const [fontsLoaded, setFontsLoaded] = (0, react_1.useState)(fonts.loaded);
33
71
  if (runningInBrowser) {
34
72
  // Force a re-measure if element changes or fonts are loaded after this
35
73
  // component has been rendered.
36
74
  fonts.ready.then(() => !fontsLoaded && setFontsLoaded(true)).catch(() => { });
37
- useEffect(() => setMeasuring(true), [element]);
38
- useEffect(() => {
75
+ (0, react_1.useEffect)(() => setMeasuring(true), [element]);
76
+ (0, react_1.useEffect)(() => {
39
77
  if (measuring && menuRef.current && labelRef.current) {
40
78
  const menuEl = menuRef.current;
41
79
  const labelEl = labelRef.current;
42
- const preferredWidth = _.max(mapChildElements(menuEl, el => el.firstElementChild.scrollWidth));
80
+ const preferredWidth = _.max((0, dom_utils_1.mapChildElements)(menuEl, el => el.firstElementChild.scrollWidth));
43
81
  // Run the DOM mutations on the next frame to avoid layout trashing in exams with lots of dropdowns.
44
82
  const requestId = requestAnimationFrame(() => {
45
83
  labelEl.style.width = `${preferredWidth + menuBorderWidthPx + roundingErrorCompensationPx}px`;
@@ -50,42 +88,42 @@ const DropdownAnswer = ({ element, renderChildNodes }) => {
50
88
  });
51
89
  }
52
90
  const items = [noAnswer, ...element.children];
53
- const { answers, questionLabelIds } = useContext(QuestionContext);
54
- const { getItemProps, getMenuProps, getToggleButtonProps, highlightedIndex, isOpen, selectedItem } = useSelect({
91
+ const { answers, questionLabelIds } = (0, react_1.useContext)(QuestionContext_1.QuestionContext);
92
+ const { getItemProps, getMenuProps, getToggleButtonProps, highlightedIndex, isOpen, selectedItem } = (0, downshift_1.useSelect)({
55
93
  items,
56
94
  itemToString: item => (item ? item.textContent : ''),
57
95
  onSelectedItemChange: ({ selectedItem }) => {
58
96
  const value = selectedItem ? selectedItem.getAttribute('option-id') : '';
59
- dispatch(saveAnswer({ type: 'choice', questionId, value, displayNumber }));
97
+ dispatch((0, actions_1.saveAnswer)({ type: 'choice', questionId, value, displayNumber }));
60
98
  },
61
99
  initialSelectedItem: currentlySelectedItem
62
100
  });
63
- const { t } = useExamTranslation();
64
- const scoreId = answerScoreId(element);
65
- const annotationsEnabled = useContext(AnnotationContext);
101
+ const { t } = (0, i18n_1.useExamTranslation)();
102
+ const scoreId = (0, ids_1.answerScoreId)(element);
103
+ const annotationsEnabled = (0, react_1.useContext)(AnnotationProvider_1.AnnotationContext);
66
104
  const mouseHandlerOverrides = {
67
105
  onClick: () => { },
68
106
  onMouseDown: () => { },
69
107
  onMouseMove: () => { }
70
108
  };
71
- return (React.createElement("span", { className: "e-nowrap" },
72
- React.createElement("span", { className: "anchor", id: `question-nr-${displayNumber}` }),
73
- React.createElement("span", { className: classNames('e-dropdown-answer e-normal'), "data-question-id": questionId },
74
- React.createElement("button", { className: classNames('e-dropdown-answer__toggle-button e-button-plain e-columns', {
109
+ return (react_1.default.createElement("span", { className: "e-nowrap" },
110
+ react_1.default.createElement("span", { className: "anchor", id: `question-nr-${displayNumber}` }),
111
+ react_1.default.createElement("span", { className: (0, classnames_1.default)('e-dropdown-answer e-normal'), "data-question-id": questionId },
112
+ react_1.default.createElement("button", { className: (0, classnames_1.default)('e-dropdown-answer__toggle-button e-button-plain e-columns', {
75
113
  'e-dropdown-answer__toggle-button--open': isOpen
76
114
  }), ...getToggleButtonProps({
77
115
  'aria-describedby': scoreId,
78
116
  'aria-labelledby': questionLabelIds
79
117
  }, { suppressRefError: !runningInBrowser }) },
80
- React.createElement("span", { className: "e-dropdown-answer__label e-column e-pad-l-1 e-pad-r-4" },
81
- React.createElement("span", { className: "e-ellipsis e-block", ref: labelRef }, selectedItem ? (renderChildNodes(selectedItem)) : (React.createElement("span", { "aria-label": t.raw('dropdown-answer.label') }, NBSP)))),
82
- React.createElement("span", { className: classNames('e-dropdown-answer__toggle-icon e-text-center e-column e-column--narrow e-column--gapless') },
83
- React.createElement(FontAwesomeIcon, { icon: isOpen ? faChevronUp : faChevronDown }))),
84
- React.createElement("span", { ...getMenuProps({
85
- className: classNames('e-dropdown-answer__menu', { 'e-dropdown-answer__menu--open': isOpen }),
118
+ react_1.default.createElement("span", { className: "e-dropdown-answer__label e-column e-pad-l-1 e-pad-r-4" },
119
+ react_1.default.createElement("span", { className: "e-ellipsis e-block", ref: labelRef }, selectedItem ? (renderChildNodes(selectedItem)) : (react_1.default.createElement("span", { "aria-label": t.raw('dropdown-answer.label') }, dom_utils_1.NBSP)))),
120
+ react_1.default.createElement("span", { className: (0, classnames_1.default)('e-dropdown-answer__toggle-icon e-text-center e-column e-column--narrow e-column--gapless') },
121
+ react_1.default.createElement(react_fontawesome_1.FontAwesomeIcon, { icon: isOpen ? free_solid_svg_icons_1.faChevronUp : free_solid_svg_icons_1.faChevronDown }))),
122
+ react_1.default.createElement("span", { ...getMenuProps({
123
+ className: (0, classnames_1.default)('e-dropdown-answer__menu', { 'e-dropdown-answer__menu--open': isOpen }),
86
124
  'aria-labelledby': undefined,
87
125
  ref: menuRef
88
- }, { suppressRefError: !runningInBrowser }) }, items.map((item, i) => (React.createElement("span", { className: classNames('e-dropdown-answer__menu-item e-block e-pad-l-1 e-pad-r-4', {
126
+ }, { suppressRefError: !runningInBrowser }) }, items.map((item, i) => (react_1.default.createElement("span", { className: (0, classnames_1.default)('e-dropdown-answer__menu-item e-block e-pad-l-1 e-pad-r-4', {
89
127
  'e-dropdown-answer__menu-item--selected': item === selectedItem,
90
128
  'e-bg-color-off-white': highlightedIndex !== i,
91
129
  'e-bg-color-link e-color-off-white': highlightedIndex === i
@@ -93,8 +131,8 @@ const DropdownAnswer = ({ element, renderChildNodes }) => {
93
131
  item,
94
132
  index: i
95
133
  }), ...(annotationsEnabled ? mouseHandlerOverrides : {}) },
96
- React.createElement("span", { className: classNames('e-dropdown-answer__menu-item-inner e-block', { 'e-nowrap': measuring }) }, item ? renderChildNodes(item) : React.createElement("span", { "aria-label": t.raw('dropdown-answer.clear') }, NBSP))))))),
97
- answers.length > 1 && React.createElement(Score, { score: maxScore, size: 'inline', id: scoreId })));
134
+ react_1.default.createElement("span", { className: (0, classnames_1.default)('e-dropdown-answer__menu-item-inner e-block', { 'e-nowrap': measuring }) }, item ? renderChildNodes(item) : react_1.default.createElement("span", { "aria-label": t.raw('dropdown-answer.clear') }, dom_utils_1.NBSP))))))),
135
+ answers.length > 1 && react_1.default.createElement(Score_1.Score, { score: maxScore, size: 'inline', id: scoreId })));
98
136
  };
99
- export default React.memo(DropdownAnswer);
137
+ exports.default = react_1.default.memo(DropdownAnswer);
100
138
  //# sourceMappingURL=DropdownAnswer.js.map