@instructure/quiz-core 17.19.2 → 17.19.3-rc.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.
Files changed (530) hide show
  1. package/lib/banks/api/bankEntries.js +203 -0
  2. package/lib/banks/api/banks.js +315 -0
  3. package/lib/banks/api/tagAssociations.js +128 -0
  4. package/lib/banks/components/AddBankEntryModal/index.js +47 -0
  5. package/lib/banks/components/AddBankEntryModal/presenter.js +156 -0
  6. package/lib/banks/components/AddToBankModal/index.js +53 -0
  7. package/lib/banks/components/AddToBankModal/presenter.js +238 -0
  8. package/lib/banks/components/Bank/index.js +60 -0
  9. package/lib/banks/components/Bank/presenter.js +390 -0
  10. package/lib/banks/components/Bank/theme.js +21 -0
  11. package/lib/banks/components/BankEntriesList/index.js +30 -0
  12. package/lib/banks/components/BankEntriesList/presenter.js +93 -0
  13. package/lib/banks/components/BankEntriesList/theme.js +13 -0
  14. package/lib/banks/components/BankEntry/index.js +97 -0
  15. package/lib/banks/components/BankEntry/presenter.js +763 -0
  16. package/lib/banks/components/BankEntry/theme.js +31 -0
  17. package/lib/banks/components/BankEntryRow/BankEntryRow.examples.js +55 -0
  18. package/lib/banks/components/BankEntryRow/index.js +68 -0
  19. package/lib/banks/components/BankEntryRow/presenter.js +453 -0
  20. package/lib/banks/components/BankEntryRow/theme.js +30 -0
  21. package/lib/banks/components/BankSearch/BankSearch.stories.js +75 -0
  22. package/lib/banks/components/BankSearch/index.js +49 -0
  23. package/lib/banks/components/BankSearch/presenter.js +243 -0
  24. package/lib/banks/components/BankSearch/theme.js +16 -0
  25. package/lib/banks/components/Banks/index.js +58 -0
  26. package/lib/banks/components/Banks/noResults.svg +56 -0
  27. package/lib/banks/components/Banks/presenter.js +480 -0
  28. package/lib/banks/components/Banks/theme.js +20 -0
  29. package/lib/banks/components/BanksList/index.js +38 -0
  30. package/lib/banks/components/BanksList/presenter.js +390 -0
  31. package/lib/banks/components/BanksList/theme.js +28 -0
  32. package/lib/banks/components/CopyMoveBankEntryModal/index.js +56 -0
  33. package/lib/banks/components/CopyMoveBankEntryModal/presenter.js +264 -0
  34. package/lib/banks/components/CreateBankModal/index.js +64 -0
  35. package/lib/banks/components/CreateBankModal/presenter.js +190 -0
  36. package/lib/banks/components/CreateBankModal/theme.js +16 -0
  37. package/lib/banks/components/EditBankModal/index.js +56 -0
  38. package/lib/banks/components/EditBankModal/presenter.js +183 -0
  39. package/lib/banks/components/EditBankModal/theme.js +15 -0
  40. package/lib/banks/components/HeaderMenu/index.js +34 -0
  41. package/lib/banks/components/HeaderMenu/presenter.js +100 -0
  42. package/lib/banks/components/HeaderMenu/theme.js +15 -0
  43. package/lib/banks/components/NavWrapper/NavWrapper.examples.js +27 -0
  44. package/lib/banks/components/NavWrapper/index.js +24 -0
  45. package/lib/banks/components/NavWrapper/presenter.js +189 -0
  46. package/lib/banks/components/NavWrapper/theme.js +24 -0
  47. package/lib/banks/components/SharingModal/ContextualButton/index.js +80 -0
  48. package/lib/banks/components/SharingModal/ShareList/ShareList.examples.js +30 -0
  49. package/lib/banks/components/SharingModal/ShareList/index.js +253 -0
  50. package/lib/banks/components/SharingModal/ShareList/theme.js +10 -0
  51. package/lib/banks/components/SharingModal/asyncSearch.js +399 -0
  52. package/lib/banks/components/SharingModal/index.js +45 -0
  53. package/lib/banks/components/SharingModal/presenter.js +530 -0
  54. package/lib/banks/components/SharingModal/theme.js +17 -0
  55. package/lib/building/api/items.js +255 -0
  56. package/lib/building/api/qtiImports.js +135 -0
  57. package/lib/building/api/quizEntries.js +380 -0
  58. package/lib/building/api/quizzes.js +285 -0
  59. package/lib/building/api/stimuli.js +92 -0
  60. package/lib/building/components/QTIImportModal/index.js +54 -0
  61. package/lib/building/components/layout/Sidebar/Sidebar.examples.js +134 -0
  62. package/lib/building/components/layout/Sidebar/SidebarItem/index.js +86 -0
  63. package/lib/building/components/layout/Sidebar/SidebarItem/presenter.js +159 -0
  64. package/lib/building/components/layout/Sidebar/Stimulus/index.js +87 -0
  65. package/lib/building/components/layout/Sidebar/Stimulus/presenter.js +167 -0
  66. package/lib/building/components/layout/Sidebar/index.js +80 -0
  67. package/lib/building/components/layout/Sidebar/presenter.js +267 -0
  68. package/lib/building/components/layout/Sidebar/theme.js +13 -0
  69. package/lib/building/components/layout/header/BuildingButtons/index.js +56 -0
  70. package/lib/building/components/layout/header/BuildingButtons/presenter.js +195 -0
  71. package/lib/building/components/layout/header/BuildingButtons/theme.js +19 -0
  72. package/lib/building/components/layout/header/SDKBuildingButtons/index.js +27 -0
  73. package/lib/building/components/resources/ActionButtons/index.js +40 -0
  74. package/lib/building/components/resources/ActionButtons/presenter.js +194 -0
  75. package/lib/building/components/resources/ActionButtons/theme.js +16 -0
  76. package/lib/building/components/resources/AddToBankOptions/index.js +119 -0
  77. package/lib/building/components/resources/AddToBankOptions/theme.js +15 -0
  78. package/lib/building/components/resources/BanksTray/index.js +34 -0
  79. package/lib/building/components/resources/BanksTray/presenter.js +233 -0
  80. package/lib/building/components/resources/DeleteStimulusModal/index.js +54 -0
  81. package/lib/building/components/resources/DeleteStimulusModal/presenter.js +316 -0
  82. package/lib/building/components/resources/DeleteStimulusModal/theme.js +17 -0
  83. package/lib/building/components/resources/ItemFeedbackModal/index.js +52 -0
  84. package/lib/building/components/resources/ItemFeedbackModal/presenter.js +183 -0
  85. package/lib/building/components/resources/ItemFeedbackModal/theme.js +13 -0
  86. package/lib/building/components/resources/MoveImmutableModal/index.js +54 -0
  87. package/lib/building/components/resources/MoveImmutableModal/presenter.js +140 -0
  88. package/lib/building/components/resources/quiz/editButton/EditButton.js +89 -0
  89. package/lib/building/components/resources/quiz/instructions/Edit/index.js +22 -0
  90. package/lib/building/components/resources/quiz/instructions/Edit/presenter.js +142 -0
  91. package/lib/building/components/resources/quiz/instructions/Edit/theme.js +14 -0
  92. package/lib/building/components/resources/quiz/instructions/Instructions/Instructions.examples.js +34 -0
  93. package/lib/building/components/resources/quiz/instructions/Instructions/index.js +39 -0
  94. package/lib/building/components/resources/quiz/instructions/Instructions/presenter.js +223 -0
  95. package/lib/building/components/resources/quiz/instructions/Instructions/theme.js +20 -0
  96. package/lib/building/components/resources/quiz/instructions/Show/index.js +97 -0
  97. package/lib/building/components/resources/quiz/instructions/Show/theme.js +16 -0
  98. package/lib/building/components/resources/quiz/title/Edit/index.js +214 -0
  99. package/lib/building/components/resources/quiz/title/Edit/theme.js +24 -0
  100. package/lib/building/components/resources/quiz/title/Show/index.js +97 -0
  101. package/lib/building/components/resources/quiz/title/Show/theme.js +16 -0
  102. package/lib/building/components/resources/quiz/title/Title/Title.examples.js +51 -0
  103. package/lib/building/components/resources/quiz/title/Title/index.js +42 -0
  104. package/lib/building/components/resources/quiz/title/Title/presenter.js +217 -0
  105. package/lib/building/components/resources/quiz/title/Title/theme.js +20 -0
  106. package/lib/building/components/resources/quizEntry/QuizEntry/index.js +98 -0
  107. package/lib/building/components/resources/quizEntry/QuizEntry/presenter.js +435 -0
  108. package/lib/building/components/resources/quizEntry/QuizEntry/theme.js +19 -0
  109. package/lib/building/components/resources/quizEntry/QuizEntryBank/QuizEntryBankEdit/index.js +41 -0
  110. package/lib/building/components/resources/quizEntry/QuizEntryBank/QuizEntryBankEdit/presenter.js +291 -0
  111. package/lib/building/components/resources/quizEntry/QuizEntryBank/QuizEntryBankEdit/theme.js +28 -0
  112. package/lib/building/components/resources/quizEntry/QuizEntryBank/QuizEntryBankShow/index.js +139 -0
  113. package/lib/building/components/resources/quizEntry/QuizEntryBank/QuizEntryBankShow/theme.js +20 -0
  114. package/lib/building/components/resources/quizEntry/QuizEntryEdit/Footer/index.js +39 -0
  115. package/lib/building/components/resources/quizEntry/QuizEntryEdit/Footer/presenter.js +299 -0
  116. package/lib/building/components/resources/quizEntry/QuizEntryEdit/Footer/theme.js +17 -0
  117. package/lib/building/components/resources/quizEntry/QuizEntryEdit/Header/index.js +366 -0
  118. package/lib/building/components/resources/quizEntry/QuizEntryEdit/Header/theme.js +21 -0
  119. package/lib/building/components/resources/quizEntry/QuizEntryEdit/index.js +98 -0
  120. package/lib/building/components/resources/quizEntry/QuizEntryEdit/presenter.js +545 -0
  121. package/lib/building/components/resources/quizEntry/QuizEntryEdit/theme.js +17 -0
  122. package/lib/building/components/resources/quizEntry/QuizEntryShow/index.js +51 -0
  123. package/lib/building/components/resources/quizEntry/QuizEntryShow/presenter.js +385 -0
  124. package/lib/building/components/resources/quizEntry/QuizEntryShow/theme.js +33 -0
  125. package/lib/common/actions/addInteractionTypes.js +15 -0
  126. package/lib/common/actions/alerts.js +72 -0
  127. package/lib/common/actions/bankEntries.js +26 -0
  128. package/lib/common/actions/bankSearch.js +51 -0
  129. package/lib/common/actions/banks.js +71 -0
  130. package/lib/common/actions/config.js +23 -0
  131. package/lib/common/actions/dragAndDrop.js +15 -0
  132. package/lib/common/actions/editing.js +33 -0
  133. package/lib/common/actions/errorsShowing.js +35 -0
  134. package/lib/common/actions/features.js +23 -0
  135. package/lib/common/actions/items.js +15 -0
  136. package/lib/common/actions/modal.js +86 -0
  137. package/lib/common/actions/moderation.js +22 -0
  138. package/lib/common/actions/modifications.js +560 -0
  139. package/lib/common/actions/outcomes.js +31 -0
  140. package/lib/common/actions/postMessage.js +15 -0
  141. package/lib/common/actions/printing.js +23 -0
  142. package/lib/common/actions/qtiImports.js +22 -0
  143. package/lib/common/actions/quizEntries.js +56 -0
  144. package/lib/common/actions/quizSessionEvents.js +17 -0
  145. package/lib/common/actions/quizSessionResults.js +17 -0
  146. package/lib/common/actions/quizSessions.js +129 -0
  147. package/lib/common/actions/quizzes.js +74 -0
  148. package/lib/common/actions/regrading.js +31 -0
  149. package/lib/common/actions/reporting.js +47 -0
  150. package/lib/common/actions/scrolling.js +24 -0
  151. package/lib/common/actions/sessionItemResults.js +17 -0
  152. package/lib/common/actions/sessionItems.js +17 -0
  153. package/lib/common/actions/sharedBanks.js +38 -0
  154. package/lib/common/actions/sidebar.js +25 -0
  155. package/lib/common/actions/stimuli.js +15 -0
  156. package/lib/common/actions/tagAssociations.js +113 -0
  157. package/lib/common/actions/taking.js +160 -0
  158. package/lib/common/actions/ui.js +83 -0
  159. package/lib/common/actions/upload.js +57 -0
  160. package/lib/common/api/callHandlers.js +217 -0
  161. package/lib/common/api/camelizeHelpers.js +40 -0
  162. package/lib/common/api/features.js +27 -0
  163. package/lib/common/api/fileUpload.js +48 -0
  164. package/lib/common/api/getPersistenceActions.js +140 -0
  165. package/lib/common/api/helpers.js +197 -0
  166. package/lib/common/api/interactionTypes.js +24 -0
  167. package/lib/common/api/quizSessions.js +236 -0
  168. package/lib/common/api/quizzes.js +55 -0
  169. package/lib/common/api/schema.js +109 -0
  170. package/lib/common/components/ConfirmationModal/index.js +37 -0
  171. package/lib/common/components/ConfirmationModal/presenter.js +156 -0
  172. package/lib/common/components/ImportModal/ImportFileSelector/index.js +167 -0
  173. package/lib/common/components/ImportModal/ImportFileSelector/theme.js +23 -0
  174. package/lib/common/components/ImportModal/index.js +78 -0
  175. package/lib/common/components/ImportModal/presenter.js +442 -0
  176. package/lib/common/components/ImportModal/theme.js +13 -0
  177. package/lib/common/components/LearnosityCalculator/index.js +196 -0
  178. package/lib/common/components/Pin/Pin.examples.js +20 -0
  179. package/lib/common/components/Pin/index.js +13 -0
  180. package/lib/common/components/Pin/presenter.js +88 -0
  181. package/lib/common/components/PreviewFrame/examples.config.js +24 -0
  182. package/lib/common/components/PreviewFrame/index.js +71 -0
  183. package/lib/common/components/PrintFontSizeModal/index.js +13 -0
  184. package/lib/common/components/PrintFontSizeModal/presenter.js +204 -0
  185. package/lib/common/components/PrintFontSizeModal/theme.js +17 -0
  186. package/lib/common/components/RichContentInput/RceImageImportModal/index.js +28 -0
  187. package/lib/common/components/RichContentInput/RceImageImportModal/presenter.js +115 -0
  188. package/lib/common/components/RichContentInput/index.js +33 -0
  189. package/lib/common/components/RichContentInput/presenter.js +102 -0
  190. package/lib/common/components/SDKApp/index.js +206 -0
  191. package/lib/common/components/SDKApp/theme.js +10 -0
  192. package/lib/common/components/SDKHeaderCalculator.js +29 -0
  193. package/lib/common/components/SDKMenuButton.js +27 -0
  194. package/lib/common/components/SDKTimer.js +29 -0
  195. package/lib/common/components/alerts/index.js +33 -0
  196. package/lib/common/components/alerts/presenter.js +115 -0
  197. package/lib/common/components/alerts/theme.js +18 -0
  198. package/lib/common/components/layout/Page/index.js +102 -0
  199. package/lib/common/components/layout/Page/theme.js +17 -0
  200. package/lib/common/components/layout/header/Calculator/index.js +36 -0
  201. package/lib/common/components/layout/header/Calculator/presenter.js +84 -0
  202. package/lib/common/components/layout/header/HeaderMenuButton/index.js +39 -0
  203. package/lib/common/components/layout/header/HeaderMenuButton/presenter.js +86 -0
  204. package/lib/common/components/layout/header/HeaderMenuButton/theme.js +18 -0
  205. package/lib/common/components/layout/header/Timer/index.js +48 -0
  206. package/lib/common/components/layout/header/Timer/presenter.js +201 -0
  207. package/lib/common/components/layout/header/Timer/theme.js +25 -0
  208. package/lib/common/components/layout/sidebar/PositionSummary/index.js +81 -0
  209. package/lib/common/components/layout/sidebar/PositionSummary/theme.js +22 -0
  210. package/lib/common/components/layout/sidebar/Sidebar/Pin.js +78 -0
  211. package/lib/common/components/layout/sidebar/Sidebar/Sidebar.examples.js +46 -0
  212. package/lib/common/components/layout/sidebar/Sidebar/index.js +338 -0
  213. package/lib/common/components/layout/sidebar/Sidebar/theme.js +50 -0
  214. package/lib/common/components/layout/sidebar/SidebarItem/index.js +46 -0
  215. package/lib/common/components/layout/sidebar/SidebarItem/presenter.js +235 -0
  216. package/lib/common/components/layout/sidebar/SidebarItem/theme.js +33 -0
  217. package/lib/common/components/layout/sidebar/Stimulus/Collection/index.js +20 -0
  218. package/lib/common/components/layout/sidebar/Stimulus/Collection/presenter.js +195 -0
  219. package/lib/common/components/layout/sidebar/Stimulus/Collection/theme.js +17 -0
  220. package/lib/common/components/layout/sidebar/Stimulus/Summary/index.js +20 -0
  221. package/lib/common/components/layout/sidebar/Stimulus/Summary/presenter.js +182 -0
  222. package/lib/common/components/layout/sidebar/Stimulus/Summary/theme.js +20 -0
  223. package/lib/common/components/layout/sidebar/Stimulus/Title/index.js +89 -0
  224. package/lib/common/components/layout/sidebar/Stimulus/Title/theme.js +10 -0
  225. package/lib/common/components/layout/sidebar/Stimulus/index.js +42 -0
  226. package/lib/common/components/layout/sidebar/Stimulus/presenter.js +202 -0
  227. package/lib/common/components/layout/sidebar/Stimulus/theme.js +26 -0
  228. package/lib/common/components/resources/BankSelection/BankSelection.examples.js +26 -0
  229. package/lib/common/components/resources/BankSelection/index.js +39 -0
  230. package/lib/common/components/resources/BankSelection/presenter.js +253 -0
  231. package/lib/common/components/resources/WarningWrapper/index.js +167 -0
  232. package/lib/common/components/resources/WarningWrapper/theme.js +20 -0
  233. package/lib/common/components/resources/entry/EntrySave/index.js +40 -0
  234. package/lib/common/components/resources/entry/EntrySave/presenter.js +221 -0
  235. package/lib/common/components/resources/item/ItemEdit/index.js +91 -0
  236. package/lib/common/components/resources/item/ItemEdit/presenter.js +231 -0
  237. package/lib/common/components/resources/item/ItemOverride/index.js +55 -0
  238. package/lib/common/components/resources/item/ItemOverride/presenter.js +108 -0
  239. package/lib/common/components/resources/item/ItemShow/index.js +71 -0
  240. package/lib/common/components/resources/positionBox/PositionBox.js +78 -0
  241. package/lib/common/components/resources/positionBox/theme.js +21 -0
  242. package/lib/common/components/resources/quiz/AddContent/Body/index.js +42 -0
  243. package/lib/common/components/resources/quiz/AddContent/Body/presenter.js +207 -0
  244. package/lib/common/components/resources/quiz/AddContent/Body/theme.js +20 -0
  245. package/lib/common/components/resources/quiz/AddContent/Button/index.js +129 -0
  246. package/lib/common/components/resources/quiz/AddContent/Button/theme.js +30 -0
  247. package/lib/common/components/resources/quiz/AddContent/Modal/index.js +44 -0
  248. package/lib/common/components/resources/quiz/AddContent/Modal/presenter.js +103 -0
  249. package/lib/common/components/resources/quiz/AddContent/Popover/index.js +54 -0
  250. package/lib/common/components/resources/quiz/AddContent/Popover/presenter.js +185 -0
  251. package/lib/common/components/resources/quiz/AddContent/Popover/theme.js +15 -0
  252. package/lib/common/components/resources/quiz/info/QuizInfo.js +52 -0
  253. package/lib/common/components/resources/quiz/instructions/Instructions.js +76 -0
  254. package/lib/common/components/resources/quiz/instructions/theme.js +15 -0
  255. package/lib/common/components/resources/quiz/title/Title.js +78 -0
  256. package/lib/common/components/resources/quiz/title/theme.js +16 -0
  257. package/lib/common/components/resources/quizSessionResult/Header/index.js +119 -0
  258. package/lib/common/components/resources/quizSessionResult/Header/theme.js +17 -0
  259. package/lib/common/components/resources/quizSessionResult/Info/Info.examples.js +46 -0
  260. package/lib/common/components/resources/quizSessionResult/Info/index.js +321 -0
  261. package/lib/common/components/resources/quizSessionResult/Info/theme.js +20 -0
  262. package/lib/common/components/resources/sessionItemResult/ResultStimulus/index.js +129 -0
  263. package/lib/common/components/resources/sessionItemResult/ResultStimulus/theme.js +39 -0
  264. package/lib/common/components/resources/sessionItemResult/SessionItemResult/index.js +30 -0
  265. package/lib/common/components/resources/sessionItemResult/SessionItemResult/presenter.js +392 -0
  266. package/lib/common/components/resources/sessionItemResult/SessionItemResult/theme.js +37 -0
  267. package/lib/common/components/resources/sessionItemResult/SessionItemResultsList/index.js +123 -0
  268. package/lib/common/components/resources/sessionItemResult/SessionItemResultsList/theme.js +21 -0
  269. package/lib/common/components/resources/stimulus/Stimulus/index.js +45 -0
  270. package/lib/common/components/resources/stimulus/Stimulus/presenter.js +255 -0
  271. package/lib/common/components/resources/stimulus/Stimulus/theme.js +22 -0
  272. package/lib/common/components/resources/stimulus/StimulusEdit/index.js +81 -0
  273. package/lib/common/components/resources/stimulus/StimulusEdit/presenter.js +558 -0
  274. package/lib/common/components/resources/stimulus/StimulusEdit/theme.js +24 -0
  275. package/lib/common/components/resources/stimulus/StimulusEditInfo/index.js +39 -0
  276. package/lib/common/components/resources/stimulus/StimulusEditInfo/presenter.js +247 -0
  277. package/lib/common/components/resources/stimulus/StimulusEditInfo/theme.js +18 -0
  278. package/lib/common/components/resources/stimulus/StimulusShow/index.js +142 -0
  279. package/lib/common/components/resources/stimulus/StimulusShow/theme.js +22 -0
  280. package/lib/common/components/resources/stimulus/StimulusShowInfo/StimulusShowInfo.examples.js +22 -0
  281. package/lib/common/components/resources/stimulus/StimulusShowInfo/index.js +87 -0
  282. package/lib/common/components/shared/Card/CardContent/index.js +73 -0
  283. package/lib/common/components/shared/Card/CardContent/theme.js +24 -0
  284. package/lib/common/components/shared/Card/CardWrapper/index.js +72 -0
  285. package/lib/common/components/shared/Card/CardWrapper/theme.js +21 -0
  286. package/lib/common/components/shared/Card/index.js +46 -0
  287. package/lib/common/components/shared/ExpandButton/index.js +90 -0
  288. package/lib/common/components/shared/ExpandButton/theme.js +12 -0
  289. package/lib/common/components/shared/FormattedDuration/FormattedDuration.examples.js +27 -0
  290. package/lib/common/components/shared/FormattedDuration/index.js +126 -0
  291. package/lib/common/components/shared/IfFeature/index.js +24 -0
  292. package/lib/common/components/shared/IfFeature/presenter.js +56 -0
  293. package/lib/common/components/shared/InteractionTypes/index.js +20 -0
  294. package/lib/common/components/shared/InteractionTypes/presenter.js +197 -0
  295. package/lib/common/components/shared/InteractionTypes/theme.js +18 -0
  296. package/lib/common/components/shared/PaginatedCollection/index.js +36 -0
  297. package/lib/common/components/shared/PaginatedCollection/presenter.js +228 -0
  298. package/lib/common/components/shared/PaginatedCollection/theme.js +17 -0
  299. package/lib/common/components/shared/Paginator/index.js +90 -0
  300. package/lib/common/components/shared/Paginator/theme.js +13 -0
  301. package/lib/common/components/shared/PrintTrigger/index.js +43 -0
  302. package/lib/common/components/shared/PrintTrigger/presenter.js +151 -0
  303. package/lib/common/components/shared/TagDisplay/index.js +105 -0
  304. package/lib/common/components/shared/TagDisplay/theme.js +10 -0
  305. package/lib/common/components/shared/TagSelect/index.js +13 -0
  306. package/lib/common/components/shared/TagSelect/presenter.js +306 -0
  307. package/lib/common/components/shared/TagSuggestSelect/index.js +36 -0
  308. package/lib/common/components/shared/TagSuggestSelect/presenter.js +135 -0
  309. package/lib/common/components/shared/TagWrapper/index.js +13 -0
  310. package/lib/common/components/shared/TagWrapper/presenter.js +89 -0
  311. package/lib/common/components/shared/TimeUnitsInput/TimeUnitsInput.examples.js +25 -0
  312. package/lib/common/components/shared/TimeUnitsInput/index.js +366 -0
  313. package/lib/common/components/shared/drag_and_drop/DragAndDropZone/index.js +126 -0
  314. package/lib/common/components/shared/drag_and_drop/DragAndDropZone/theme.js +25 -0
  315. package/lib/common/components/shared/drag_and_drop/DragHandle/index.js +51 -0
  316. package/lib/common/components/shared/drag_and_drop/DragHandle/presenter.js +324 -0
  317. package/lib/common/components/shared/drag_and_drop/dragAndDropUtils.js +403 -0
  318. package/lib/common/components/shared/errors/Errors.js +81 -0
  319. package/lib/common/components/shared/errors/theme.js +16 -0
  320. package/lib/common/components/shared/file_selector/FileSelector.js +90 -0
  321. package/lib/common/components/shared/file_selector/theme.js +18 -0
  322. package/lib/common/components/shared/functionality/componentWithOutsideClick.js +94 -0
  323. package/lib/common/components/shared/functionality/disableDraggingOverride.js +22 -0
  324. package/lib/common/components/shared/functionality/makeEditable.js +152 -0
  325. package/lib/common/components/shared/functionality/makeScrollable.js +174 -0
  326. package/lib/common/components/shared/overlay/Overlay.js +95 -0
  327. package/lib/common/components/shared/overlay/theme.js +17 -0
  328. package/lib/common/components/shared/return_button/ReturnButton.js +66 -0
  329. package/lib/common/components/shared/spinner/Spinner.js +92 -0
  330. package/lib/common/components/shared/spinner/theme.js +13 -0
  331. package/lib/common/kinesis/QuizEventsLogger.js +155 -0
  332. package/lib/common/kinesis/StreamQueue.js +141 -0
  333. package/lib/common/kinesis/client.js +66 -0
  334. package/lib/common/kinesis/config.js +54 -0
  335. package/lib/common/kinesis/eventTypes.js +48 -0
  336. package/lib/common/middleware/alertTimerMiddleware.js +32 -0
  337. package/lib/common/middleware/crossDomainMessagingMiddleware.js +25 -0
  338. package/lib/common/middleware/eventLoggerMiddleware.js +42 -0
  339. package/lib/common/middleware/persistedStorageMiddleware.js +66 -0
  340. package/lib/common/react-redux.js +21 -0
  341. package/lib/common/records/Alert.js +37 -0
  342. package/lib/common/records/Bank.js +129 -0
  343. package/lib/common/records/BankEntry.js +96 -0
  344. package/lib/common/records/Item.js +151 -0
  345. package/lib/common/records/ItemAnalysis.js +177 -0
  346. package/lib/common/records/QtiImport.js +63 -0
  347. package/lib/common/records/Quiz.js +205 -0
  348. package/lib/common/records/QuizAnalysis.js +121 -0
  349. package/lib/common/records/QuizEntry.js +543 -0
  350. package/lib/common/records/QuizSession.js +219 -0
  351. package/lib/common/records/QuizSessionEvent.js +65 -0
  352. package/lib/common/records/QuizSessionResult.js +90 -0
  353. package/lib/common/records/Response.js +65 -0
  354. package/lib/common/records/SessionItem.js +150 -0
  355. package/lib/common/records/SessionItemResult.js +91 -0
  356. package/lib/common/records/Stimulus.js +101 -0
  357. package/lib/common/records/baseRecord.js +116 -0
  358. package/lib/common/records/index.js +135 -0
  359. package/lib/common/records/reduxRecord.js +46 -0
  360. package/lib/common/reducers/alerts.js +28 -0
  361. package/lib/common/reducers/bankEntries.js +38 -0
  362. package/lib/common/reducers/bankSearch.js +50 -0
  363. package/lib/common/reducers/banks.js +71 -0
  364. package/lib/common/reducers/calls.js +28 -0
  365. package/lib/common/reducers/config.js +32 -0
  366. package/lib/common/reducers/dragAndDrop.js +25 -0
  367. package/lib/common/reducers/editing.js +25 -0
  368. package/lib/common/reducers/errorsShowing.js +31 -0
  369. package/lib/common/reducers/features.js +28 -0
  370. package/lib/common/reducers/interactionTypes.js +33 -0
  371. package/lib/common/reducers/items.js +36 -0
  372. package/lib/common/reducers/modal.js +45 -0
  373. package/lib/common/reducers/moderation.js +34 -0
  374. package/lib/common/reducers/modifications.js +225 -0
  375. package/lib/common/reducers/outcomes.js +37 -0
  376. package/lib/common/reducers/printing.js +26 -0
  377. package/lib/common/reducers/qtiImports.js +39 -0
  378. package/lib/common/reducers/quizEntries.js +182 -0
  379. package/lib/common/reducers/quizSessionEvents.js +36 -0
  380. package/lib/common/reducers/quizSessionResults.js +34 -0
  381. package/lib/common/reducers/quizSessions.js +68 -0
  382. package/lib/common/reducers/quizzes.js +77 -0
  383. package/lib/common/reducers/regrading.js +39 -0
  384. package/lib/common/reducers/reporting.js +72 -0
  385. package/lib/common/reducers/scrolling.js +28 -0
  386. package/lib/common/reducers/sessionItemResults.js +34 -0
  387. package/lib/common/reducers/sessionItems.js +36 -0
  388. package/lib/common/reducers/sharedBanks.js +45 -0
  389. package/lib/common/reducers/sidebar.js +30 -0
  390. package/lib/common/reducers/stimuli.js +36 -0
  391. package/lib/common/reducers/tagAssociations.js +140 -0
  392. package/lib/common/reducers/taking.js +143 -0
  393. package/lib/common/reducers/ui.js +51 -0
  394. package/lib/common/reducers/upload.js +41 -0
  395. package/lib/common/selectors/calculator.js +39 -0
  396. package/lib/common/selectors/calls.js +14 -0
  397. package/lib/common/selectors/interactionTypes.js +45 -0
  398. package/lib/common/selectors/items.js +28 -0
  399. package/lib/common/selectors/qtiImports.js +35 -0
  400. package/lib/common/selectors/quizSessionResults.js +25 -0
  401. package/lib/common/selectors/quizSessions.js +54 -0
  402. package/lib/common/selectors/quizzes.js +146 -0
  403. package/lib/common/selectors/reporting.js +26 -0
  404. package/lib/common/selectors/sessionItemResults.js +41 -0
  405. package/lib/common/selectors/sessionItems.js +53 -0
  406. package/lib/common/selectors/taking.js +64 -0
  407. package/lib/common/selectors/ui.js +12 -0
  408. package/lib/common/util/CustomPropTypes.js +88 -0
  409. package/lib/common/util/ElementsForSelectors.js +22 -0
  410. package/lib/common/util/ExhaustivePaginatedFetcher.js +127 -0
  411. package/lib/common/util/Fetcher.js +455 -0
  412. package/lib/common/util/MultiWeakMap.js +88 -0
  413. package/lib/common/util/PaginatedFetcher.js +110 -0
  414. package/lib/common/util/ThunkQueue.js +163 -0
  415. package/lib/common/util/TimeRecordingService.js +85 -0
  416. package/lib/common/util/TimerService.js +210 -0
  417. package/lib/common/util/cachePreviousArgs.js +32 -0
  418. package/lib/common/util/callHelpers.js +48 -0
  419. package/lib/common/util/componentForItem.js +40 -0
  420. package/lib/common/util/crossDomainMessaging.js +14 -0
  421. package/lib/common/util/debounceLatestPromise.js +38 -0
  422. package/lib/common/util/featureCheck.js +58 -0
  423. package/lib/common/util/fetchHelpers.js +14 -0
  424. package/lib/common/util/formatTimespan.js +68 -0
  425. package/lib/common/util/generateDisplayPositions.js +34 -0
  426. package/lib/common/util/httpHeaders.js +28 -0
  427. package/lib/common/util/immutableHelpers.js +36 -0
  428. package/lib/common/util/instUIMessages.js +17 -0
  429. package/lib/common/util/interactionTypeMetadata.js +60 -0
  430. package/lib/common/util/interactionTypePropsHelper.js +99 -0
  431. package/lib/common/util/interactionTypeRecordForItem.js +36 -0
  432. package/lib/common/util/jsonify.js +39 -0
  433. package/lib/common/util/keyboardClickable.js +17 -0
  434. package/lib/common/util/maxContent.js +22 -0
  435. package/lib/common/util/modalHelpers.js +13 -0
  436. package/lib/common/util/noop.js +12 -0
  437. package/lib/common/util/persistedState.js +61 -0
  438. package/lib/common/util/printUtils.js +50 -0
  439. package/lib/common/util/renderAlerts.js +34 -0
  440. package/lib/common/util/serializeEvent.js +43 -0
  441. package/lib/common/util/sessionStore.js +81 -0
  442. package/lib/common/util/valMap.js +20 -0
  443. package/lib/common/util/warningHelpers.js +160 -0
  444. package/lib/common/util/windowChecks.js +27 -0
  445. package/lib/common/util/withCachedArguments.js +41 -0
  446. package/lib/common/util/withDynamoPagination.js +136 -0
  447. package/lib/common/util/withStateCache.js +63 -0
  448. package/lib/config.js +46 -0
  449. package/lib/configureStore.js +175 -0
  450. package/lib/grading/api/quizEntryRegrades.js +50 -0
  451. package/lib/grading/api/updateResults.js +50 -0
  452. package/lib/index.js +1534 -0
  453. package/lib/moderating/api/quizSessionEvents.js +28 -0
  454. package/lib/moderating/api/quizSessions.js +66 -0
  455. package/lib/moderating/components/events/Event.js +111 -0
  456. package/lib/moderating/components/events/ResponseEvent.js +143 -0
  457. package/lib/moderating/components/events/SessionStartEvent.js +70 -0
  458. package/lib/moderating/components/events/theme.js +18 -0
  459. package/lib/moderating/components/resources/AccommodationsModal/AccommodationsModal.examples.js +23 -0
  460. package/lib/moderating/components/resources/AccommodationsModal/ExtraAttemptSettings/ExtraAttemptsInput/index.js +140 -0
  461. package/lib/moderating/components/resources/AccommodationsModal/ExtraAttemptSettings/ExtraAttemptsInput/{}.examples.js +28 -0
  462. package/lib/moderating/components/resources/AccommodationsModal/ExtraAttemptSettings/index.js +133 -0
  463. package/lib/moderating/components/resources/AccommodationsModal/ExtraTimeMultiplier/index.js +172 -0
  464. package/lib/moderating/components/resources/AccommodationsModal/ExtraTimeSettings/ExtraTimeSettings.examples.js +56 -0
  465. package/lib/moderating/components/resources/AccommodationsModal/ExtraTimeSettings/index.js +173 -0
  466. package/lib/moderating/components/resources/AccommodationsModal/index.js +164 -0
  467. package/lib/moderating/components/resources/ElapsedTime.js +81 -0
  468. package/lib/moderating/components/resources/ModerateTable/index.js +62 -0
  469. package/lib/moderating/components/resources/ModerateTable/presenter.js +442 -0
  470. package/lib/moderating/components/resources/ModerateTable/theme.js +15 -0
  471. package/lib/moderating/components/resources/ModerateTableRow/ModerateTableRow.examples.js +86 -0
  472. package/lib/moderating/components/resources/ModerateTableRow/index.js +31 -0
  473. package/lib/moderating/components/resources/ModerateTableRow/presenter.js +416 -0
  474. package/lib/moderating/components/resources/ModerateTableRow/story.js +27 -0
  475. package/lib/moderating/components/resources/ModerateTableRow/theme.js +14 -0
  476. package/lib/moderating/components/resources/OutstandingQuizzesModal/OutstandingQuizzesModal.examples.js +86 -0
  477. package/lib/moderating/components/resources/OutstandingQuizzesModal/index.js +35 -0
  478. package/lib/moderating/components/resources/OutstandingQuizzesModal/presenter.js +203 -0
  479. package/lib/moderating/components/sidebar/ModerateTray/ModerateTray.examples.js +20 -0
  480. package/lib/moderating/components/sidebar/ModerateTray/index.js +28 -0
  481. package/lib/moderating/components/sidebar/ModerateTray/presenter.js +189 -0
  482. package/lib/moderating/components/sidebar/ResetQuiz/index.js +52 -0
  483. package/lib/moderating/components/sidebar/ResetQuiz/presenter.js +125 -0
  484. package/lib/package.json +1 -0
  485. package/lib/reduxStore.js +49 -0
  486. package/lib/reporting/api/itemAnalyses.js +27 -0
  487. package/lib/reporting/api/quizAnalyses.js +30 -0
  488. package/lib/reporting/components/Caption/index.js +76 -0
  489. package/lib/reporting/components/Caption/theme.js +16 -0
  490. package/lib/reporting/components/MetricsListItem/index.js +88 -0
  491. package/lib/reporting/components/MetricsListItem/theme.js +10 -0
  492. package/lib/reporting/components/charts/CentileDistribution/CentileDistribution.examples.js +32 -0
  493. package/lib/reporting/components/charts/CentileDistribution/index.js +13 -0
  494. package/lib/reporting/components/charts/CentileDistribution/presenter.js +191 -0
  495. package/lib/reporting/components/charts/CentileDistribution/theme.js +16 -0
  496. package/lib/reporting/components/charts/Distribution/CentileDistribution.js +14 -0
  497. package/lib/reporting/components/charts/Distribution/Distribution.js +14 -0
  498. package/lib/reporting/components/charts/Distribution/QuintileDistribution.js +14 -0
  499. package/lib/reporting/components/charts/Distribution/index.js +13 -0
  500. package/lib/reporting/components/charts/Distribution/presenter.js +386 -0
  501. package/lib/reporting/components/charts/Distribution/theme.js +19 -0
  502. package/lib/reporting/components/charts/Legend/index.js +94 -0
  503. package/lib/reporting/components/charts/Legend/theme.js +24 -0
  504. package/lib/reporting/components/charts/QuintileDistribution/QuintileDistribution.examples.js +16 -0
  505. package/lib/reporting/components/charts/QuintileDistribution/index.js +13 -0
  506. package/lib/reporting/components/charts/QuintileDistribution/presenter.js +175 -0
  507. package/lib/reporting/components/charts/QuintileDistribution/theme.js +16 -0
  508. package/lib/reporting/components/itemAnalysis/AnswerFrequencySummary/AnswerFrequencySummary.examples.js +45 -0
  509. package/lib/reporting/components/itemAnalysis/AnswerFrequencySummary/index.js +189 -0
  510. package/lib/reporting/components/itemAnalysis/AnswerFrequencySummary/theme.js +33 -0
  511. package/lib/reporting/components/itemAnalysis/ItemAnalysisRow/ItemAnalysisRow.examples.js +60 -0
  512. package/lib/reporting/components/itemAnalysis/ItemAnalysisRow/index.js +28 -0
  513. package/lib/reporting/components/itemAnalysis/ItemAnalysisRow/presenter.js +337 -0
  514. package/lib/reporting/components/itemAnalysis/ItemAnalysisRow/theme.js +32 -0
  515. package/lib/reporting/components/quizAnalysis/QuizAnalysisOverview.js +188 -0
  516. package/lib/reporting/components/quizAnalysis/theme.js +20 -0
  517. package/lib/reporting/components/resources/OutcomeAnalysis/index.js +30 -0
  518. package/lib/reporting/components/resources/OutcomeAnalysis/presenter.js +129 -0
  519. package/lib/reporting/components/resources/QuizAndItemAnalysis/QuizAndItemAnalysis.examples.js +190 -0
  520. package/lib/reporting/components/resources/QuizAndItemAnalysis/index.js +45 -0
  521. package/lib/reporting/components/resources/QuizAndItemAnalysis/presenter.js +340 -0
  522. package/lib/reporting/components/resources/QuizAndItemAnalysis/theme.js +20 -0
  523. package/lib/reporting/components/resources/ReportCard/index.js +89 -0
  524. package/lib/reporting/components/resources/ReportCard/theme.js +20 -0
  525. package/lib/reporting/components/resources/ReportList/index.js +84 -0
  526. package/lib/reporting/components/resources/ReportList/theme.js +17 -0
  527. package/lib/taking/api/taking.js +371 -0
  528. package/lib/taking/learnosity/index.js +195 -0
  529. package/lib/taking/learnosity/loader.js +87 -0
  530. package/package.json +11 -11
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.updateQuizSubmitFlag = exports.submitQuizSessionEvent = exports.sessionStartOrResumeEvent = exports.loadResumeData = exports.editResponse = exports.previewResponse = exports.updateTimerInfo = exports.updateQuizSessionStatusOnPageLoad = exports.updateIsTaking = exports.updateTimerMinimized = exports.backtrackingNextQuestion = exports.previousQuestion = exports.setCurrentSessionItemPosition = void 0;
7
+
8
+ var _uuid = require("uuid");
9
+
10
+ var _quizCommon = require("@instructure/quiz-common");
11
+
12
+ var setCurrentSessionItemPosition = function setCurrentSessionItemPosition(position) {
13
+ return {
14
+ type: _quizCommon.SET_CURRENT_SESSION_ITEM_POSITION,
15
+ payload: {
16
+ position: position
17
+ }
18
+ };
19
+ };
20
+
21
+ exports.setCurrentSessionItemPosition = setCurrentSessionItemPosition;
22
+
23
+ var previousQuestion = function previousQuestion() {
24
+ return {
25
+ type: _quizCommon.PREVIOUS_QUESTION,
26
+ payload: {}
27
+ };
28
+ };
29
+
30
+ exports.previousQuestion = previousQuestion;
31
+
32
+ var backtrackingNextQuestion = function backtrackingNextQuestion() {
33
+ return {
34
+ type: _quizCommon.BACKTRACKING_NEXT_QUESTION,
35
+ payload: {}
36
+ };
37
+ };
38
+
39
+ exports.backtrackingNextQuestion = backtrackingNextQuestion;
40
+
41
+ var updateTimerMinimized = function updateTimerMinimized(bool) {
42
+ return {
43
+ type: _quizCommon.UPDATE_TIMER_MINIMIZED,
44
+ payload: {
45
+ timerMinimized: bool
46
+ }
47
+ };
48
+ };
49
+
50
+ exports.updateTimerMinimized = updateTimerMinimized;
51
+
52
+ var updateIsTaking = function updateIsTaking(bool) {
53
+ return {
54
+ type: _quizCommon.UPDATE_IS_TAKING,
55
+ payload: {
56
+ isTaking: bool
57
+ }
58
+ };
59
+ };
60
+
61
+ exports.updateIsTaking = updateIsTaking;
62
+
63
+ var updateQuizSessionStatusOnPageLoad = function updateQuizSessionStatusOnPageLoad(status) {
64
+ return {
65
+ type: _quizCommon.UPDATE_QUIZ_SESSION_STATUS_ON_PAGE_LOAD,
66
+ payload: {
67
+ quizSessionStatusOnPageLoad: status
68
+ }
69
+ };
70
+ };
71
+
72
+ exports.updateQuizSessionStatusOnPageLoad = updateQuizSessionStatusOnPageLoad;
73
+
74
+ var updateTimerInfo = function updateTimerInfo(timerData) {
75
+ return {
76
+ type: _quizCommon.UPDATE_TIMER_INFO,
77
+ payload: {
78
+ timeLeftInSeconds: timerData.timeLeftInSeconds,
79
+ timerRunning: timerData.timerRunning || false,
80
+ timeRecording: timerData.timeRecording || false
81
+ }
82
+ };
83
+ };
84
+
85
+ exports.updateTimerInfo = updateTimerInfo;
86
+
87
+ var previewResponse = function previewResponse(quizEntry, value) {
88
+ var invalid = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
89
+ return {
90
+ type: _quizCommon.PREVIEW_RESPONSE,
91
+ payload: {
92
+ position: quizEntry.position,
93
+ itemId: quizEntry.getEntry().id,
94
+ userResponse: {
95
+ value: value
96
+ },
97
+ invalid: invalid
98
+ }
99
+ };
100
+ };
101
+
102
+ exports.previewResponse = previewResponse;
103
+
104
+ var editResponse = function editResponse(sessionItem, value) {
105
+ var invalid = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
106
+ return {
107
+ type: _quizCommon.RESPONSE,
108
+ payload: {
109
+ position: sessionItem.position,
110
+ itemId: sessionItem.getItem().id,
111
+ userResponse: {
112
+ value: value
113
+ },
114
+ invalid: invalid
115
+ }
116
+ };
117
+ };
118
+
119
+ exports.editResponse = editResponse;
120
+
121
+ var loadResumeData = function loadResumeData(resumeData) {
122
+ return {
123
+ type: _quizCommon.LOAD_RESUME_DATA,
124
+ payload: resumeData
125
+ };
126
+ };
127
+
128
+ exports.loadResumeData = loadResumeData;
129
+
130
+ var sessionStartOrResumeEvent = function sessionStartOrResumeEvent(userAgent) {
131
+ return {
132
+ type: _quizCommon.SESSION_STARTED_OR_RESUMED_EVENT,
133
+ payload: {
134
+ userAgent: userAgent,
135
+ browserSessionId: (0, _uuid.v4)()
136
+ }
137
+ };
138
+ };
139
+
140
+ exports.sessionStartOrResumeEvent = sessionStartOrResumeEvent;
141
+
142
+ var submitQuizSessionEvent = function submitQuizSessionEvent() {
143
+ return {
144
+ type: _quizCommon.QUIZ_SUBMISSION_EVENT,
145
+ payload: {}
146
+ };
147
+ };
148
+
149
+ exports.submitQuizSessionEvent = submitQuizSessionEvent;
150
+
151
+ var updateQuizSubmitFlag = function updateQuizSubmitFlag(value) {
152
+ return {
153
+ type: _quizCommon.UPDATE_QUIZ_SUBMIT_FLAG,
154
+ payload: {
155
+ value: value
156
+ }
157
+ };
158
+ };
159
+
160
+ exports.updateQuizSubmitFlag = updateQuizSubmitFlag;
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.setActiveCalculatorId = exports.newActiveBankEntry = exports.newActiveBank = exports.occludeQuizEntries = exports.merge = exports.set = exports.toggle = exports.clear = void 0;
7
+
8
+ var _quizCommon = require("@instructure/quiz-common");
9
+
10
+ var clear = function clear(key) {
11
+ return {
12
+ payload: key,
13
+ type: _quizCommon.CLEAR_UI
14
+ };
15
+ };
16
+
17
+ exports.clear = clear;
18
+
19
+ var toggle = function toggle(key) {
20
+ return {
21
+ payload: key,
22
+ type: _quizCommon.TOGGLE_UI
23
+ };
24
+ };
25
+
26
+ exports.toggle = toggle;
27
+
28
+ var set = function set(key, value) {
29
+ return {
30
+ payload: {
31
+ key: key,
32
+ value: value
33
+ },
34
+ type: _quizCommon.SET_UI
35
+ };
36
+ };
37
+
38
+ exports.set = set;
39
+
40
+ var merge = function merge(key, value) {
41
+ return {
42
+ payload: {
43
+ key: key,
44
+ value: value
45
+ },
46
+ type: _quizCommon.MERGE_UI
47
+ };
48
+ };
49
+
50
+ exports.merge = merge;
51
+
52
+ var occludeQuizEntries = function occludeQuizEntries(isOccluded) {
53
+ return {
54
+ type: _quizCommon.OCCLUDE_QUIZ_ENTRIES,
55
+ payload: isOccluded
56
+ };
57
+ };
58
+
59
+ exports.occludeQuizEntries = occludeQuizEntries;
60
+
61
+ var newActiveBank = function newActiveBank(activeBankId) {
62
+ return {
63
+ type: _quizCommon.ACTIVE_BANK_CHANGE,
64
+ payload: activeBankId
65
+ };
66
+ };
67
+
68
+ exports.newActiveBank = newActiveBank;
69
+
70
+ var newActiveBankEntry = function newActiveBankEntry(activeBankEntryId) {
71
+ return {
72
+ type: _quizCommon.ACTIVE_BANK_ENTRY_CHANGE,
73
+ payload: activeBankEntryId
74
+ };
75
+ };
76
+
77
+ exports.newActiveBankEntry = newActiveBankEntry;
78
+
79
+ var setActiveCalculatorId = function setActiveCalculatorId(id) {
80
+ return set('activeCalculatorId', id);
81
+ };
82
+
83
+ exports.setActiveCalculatorId = setActiveCalculatorId;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.uploadStatus = exports.setAltText = exports.receiveFile = exports.clearFiles = exports.clearAltText = void 0;
7
+
8
+ var _quizCommon = require("@instructure/quiz-common");
9
+
10
+ var clearAltText = function clearAltText() {
11
+ return {
12
+ type: _quizCommon.CLEAR_ALT_TEXT
13
+ };
14
+ };
15
+
16
+ exports.clearAltText = clearAltText;
17
+
18
+ var clearFiles = function clearFiles() {
19
+ return {
20
+ type: _quizCommon.CLEAR_FILES
21
+ };
22
+ };
23
+
24
+ exports.clearFiles = clearFiles;
25
+
26
+ var receiveFile = function receiveFile(file) {
27
+ return {
28
+ type: _quizCommon.FILE_RECEIVED,
29
+ payload: {
30
+ file: file
31
+ }
32
+ };
33
+ };
34
+
35
+ exports.receiveFile = receiveFile;
36
+
37
+ var setAltText = function setAltText(altText) {
38
+ return {
39
+ type: _quizCommon.SET_ALT_TEXT,
40
+ payload: {
41
+ altText: altText
42
+ }
43
+ };
44
+ };
45
+
46
+ exports.setAltText = setAltText;
47
+
48
+ var uploadStatus = function uploadStatus(status) {
49
+ return {
50
+ type: _quizCommon.FILE_UPLOAD_STATUS,
51
+ payload: {
52
+ status: status
53
+ }
54
+ };
55
+ };
56
+
57
+ exports.uploadStatus = uploadStatus;
@@ -0,0 +1,217 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.handleBankEntriesResponse = exports.handleShareBanksResponse = exports.handleBanksResponse = exports.handleQuizSessionsResponse = exports.handleQuizSessionResultsResponse = exports.handleResumeDataResponse = exports.handleSessionItemResultsResponse = exports.handleSessionItemsResponse = exports.handleQuizEntriesResponse = exports.handleInteractionTypesResponse = exports.handleStimuliResponse = exports.handleItemsResponse = exports.handleItemAnalysesResponse = exports.handleQuizSessionEventsResponse = exports.handleQtiImportsResponse = exports.handleQuizEntryResponse = exports.handleBankEntryResponse = exports.handleShareBankResponse = exports.handleBankResponse = exports.handleQuizSessionResponse = exports.handleQuizAnalysisResponse = exports.handleQuizResponse = void 0;
9
+
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
+
12
+ var _normalizr = require("normalizr");
13
+
14
+ var _omit = _interopRequireDefault(require("lodash/omit"));
15
+
16
+ var _schema = require("./schema.js");
17
+
18
+ var _getPersistenceActions = _interopRequireDefault(require("./getPersistenceActions.js"));
19
+
20
+ var _taking = require("../actions/taking.js");
21
+
22
+ /* eslint "no-param-reassign": "warn" */
23
+ // ===========
24
+ // HELPERS
25
+ // ===========
26
+ var handleSingleObject = function handleSingleObject(data, schema) {
27
+ var normalizedData = (0, _normalizr.normalize)(data, schema);
28
+ return (0, _getPersistenceActions.default)(normalizedData);
29
+ };
30
+
31
+ var handleArray = function handleArray(data, schema) {
32
+ var normalizedData = (0, _normalizr.normalize)(data, [schema]);
33
+ return (0, _getPersistenceActions.default)(normalizedData);
34
+ };
35
+
36
+ var setQuizSessionKeys = function setQuizSessionKeys(quizSessionId, itemToKey) {
37
+ itemToKey.quizSessionId = quizSessionId;
38
+ itemToKey.id = "".concat(quizSessionId, "_").concat(itemToKey.position);
39
+ };
40
+
41
+ var setQuizSessionKeysForList = function setQuizSessionKeysForList(quizSessionId, listOfItems) {
42
+ return listOfItems.forEach(function (itemToKey) {
43
+ return setQuizSessionKeys(quizSessionId, itemToKey);
44
+ });
45
+ };
46
+
47
+ var omitDeprecatedQSData = function omitDeprecatedQSData(quizSessionData) {
48
+ return (0, _omit.default)(quizSessionData, ['resume_data', 'session_items', 'session_item_responses']);
49
+ };
50
+
51
+ var quizEntriesWithInteractionTypes = function quizEntriesWithInteractionTypes(quizEntriesData) {
52
+ return quizEntriesData.map(function (quizEntry) {
53
+ var sampleItemsInteractionTypes = [];
54
+ quizEntry.sample_items && quizEntry.sample_items.forEach(function (item) {
55
+ var itemInteractionType = item.entry && item.entry.interaction_type;
56
+
57
+ if (itemInteractionType && !sampleItemsInteractionTypes.filter(function (i) {
58
+ return i.id === itemInteractionType.id;
59
+ }).length) {
60
+ sampleItemsInteractionTypes.push(itemInteractionType);
61
+ }
62
+ });
63
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, quizEntry), {}, {
64
+ interaction_types: sampleItemsInteractionTypes
65
+ });
66
+ });
67
+ }; // ============
68
+ // HANDLERS
69
+ // ============
70
+ // these handlers are called in the success callback of an api call
71
+ // - normalize the data (via normaliz & schema)
72
+ // - get actions based on that data (via getPersistenceActions)
73
+ // return an array of those actions
74
+ // - adds id attribute to objects that need a uniq key in the store
75
+ // ========= Single Object Handlers =========
76
+
77
+
78
+ var handleQuizResponse = function handleQuizResponse(quizData) {
79
+ return handleSingleObject(quizData, _schema.quizSchema);
80
+ };
81
+
82
+ exports.handleQuizResponse = handleQuizResponse;
83
+
84
+ var handleQuizAnalysisResponse = function handleQuizAnalysisResponse(quizAnalysisData) {
85
+ return handleSingleObject(quizAnalysisData, _schema.quizAnalysisSchema);
86
+ };
87
+
88
+ exports.handleQuizAnalysisResponse = handleQuizAnalysisResponse;
89
+
90
+ var handleQuizSessionResponse = function handleQuizSessionResponse(quizSessionData) {
91
+ return handleSingleObject(omitDeprecatedQSData(quizSessionData), _schema.quizSessionSchema);
92
+ };
93
+
94
+ exports.handleQuizSessionResponse = handleQuizSessionResponse;
95
+
96
+ var handleBankResponse = function handleBankResponse(bankData) {
97
+ return handleSingleObject(bankData, _schema.bankSchema);
98
+ };
99
+
100
+ exports.handleBankResponse = handleBankResponse;
101
+
102
+ var handleShareBankResponse = function handleShareBankResponse(shareBankData) {
103
+ return handleSingleObject(shareBankData, _schema.shareBankSchema);
104
+ };
105
+
106
+ exports.handleShareBankResponse = handleShareBankResponse;
107
+
108
+ var handleBankEntryResponse = function handleBankEntryResponse(bankEntryData) {
109
+ return handleSingleObject(bankEntryData, _schema.bankEntrySchema);
110
+ };
111
+
112
+ exports.handleBankEntryResponse = handleBankEntryResponse;
113
+
114
+ var handleQuizEntryResponse = function handleQuizEntryResponse(quizEntryData) {
115
+ return handleSingleObject(quizEntryData, _schema.quizEntrySchema);
116
+ }; // ========= Array Handlers =========
117
+
118
+
119
+ exports.handleQuizEntryResponse = handleQuizEntryResponse;
120
+
121
+ var handleQtiImportsResponse = function handleQtiImportsResponse(importsData) {
122
+ return handleArray(importsData, _schema.qtiImportSchema);
123
+ };
124
+
125
+ exports.handleQtiImportsResponse = handleQtiImportsResponse;
126
+
127
+ var handleQuizSessionEventsResponse = function handleQuizSessionEventsResponse(quizSessionEventsData) {
128
+ return handleArray(quizSessionEventsData, _schema.quizSessionEventSchema);
129
+ };
130
+
131
+ exports.handleQuizSessionEventsResponse = handleQuizSessionEventsResponse;
132
+
133
+ var handleItemAnalysesResponse = function handleItemAnalysesResponse(itemAnalysisData) {
134
+ return handleArray(itemAnalysisData, _schema.itemAnalysisSchema);
135
+ };
136
+
137
+ exports.handleItemAnalysesResponse = handleItemAnalysesResponse;
138
+
139
+ var handleItemsResponse = function handleItemsResponse(itemsData) {
140
+ return handleArray(itemsData, _schema.itemSchema);
141
+ };
142
+
143
+ exports.handleItemsResponse = handleItemsResponse;
144
+
145
+ var handleStimuliResponse = function handleStimuliResponse(stimuliData) {
146
+ return handleArray(stimuliData, _schema.stimulusSchema);
147
+ };
148
+
149
+ exports.handleStimuliResponse = handleStimuliResponse;
150
+
151
+ var handleInteractionTypesResponse = function handleInteractionTypesResponse(interactionTypesData) {
152
+ return handleArray(interactionTypesData, _schema.interactionTypeSchema);
153
+ };
154
+
155
+ exports.handleInteractionTypesResponse = handleInteractionTypesResponse;
156
+
157
+ var handleQuizEntriesResponse = function handleQuizEntriesResponse(quizEntriesData) {
158
+ return handleArray(quizEntriesWithInteractionTypes(quizEntriesData), _schema.quizEntriesSchema);
159
+ };
160
+
161
+ exports.handleQuizEntriesResponse = handleQuizEntriesResponse;
162
+
163
+ var handleSessionItemsResponse = function handleSessionItemsResponse(sessionItemsData, quizSessionId) {
164
+ setQuizSessionKeysForList(quizSessionId, sessionItemsData);
165
+ return handleArray(sessionItemsData, _schema.sessionItemSchema);
166
+ };
167
+
168
+ exports.handleSessionItemsResponse = handleSessionItemsResponse;
169
+
170
+ var handleSessionItemResultsResponse = function handleSessionItemResultsResponse(sessionItemResultsData, quizSessionId) {
171
+ setQuizSessionKeysForList(quizSessionId, sessionItemResultsData);
172
+ return handleArray(sessionItemResultsData, _schema.sessionItemResultSchema);
173
+ };
174
+
175
+ exports.handleSessionItemResultsResponse = handleSessionItemResultsResponse;
176
+
177
+ var handleResumeDataResponse = function handleResumeDataResponse(resumeData, quizSessionId) {
178
+ setQuizSessionKeysForList(quizSessionId, resumeData);
179
+
180
+ if (resumeData.length === 0) {
181
+ return (0, _taking.loadResumeData)(resumeData);
182
+ }
183
+
184
+ return handleArray(resumeData, _schema.resumeDataSchema);
185
+ };
186
+
187
+ exports.handleResumeDataResponse = handleResumeDataResponse;
188
+
189
+ var handleQuizSessionResultsResponse = function handleQuizSessionResultsResponse(quizSessionResultsData) {
190
+ return handleArray(quizSessionResultsData, _schema.quizSessionResultSchema);
191
+ };
192
+
193
+ exports.handleQuizSessionResultsResponse = handleQuizSessionResultsResponse;
194
+
195
+ var handleQuizSessionsResponse = function handleQuizSessionsResponse(quizSessionsData) {
196
+ return handleArray(quizSessionsData.map(omitDeprecatedQSData), _schema.quizSessionSchema);
197
+ };
198
+
199
+ exports.handleQuizSessionsResponse = handleQuizSessionsResponse;
200
+
201
+ var handleBanksResponse = function handleBanksResponse(banksData) {
202
+ return handleArray(banksData, _schema.bankSchema);
203
+ };
204
+
205
+ exports.handleBanksResponse = handleBanksResponse;
206
+
207
+ var handleShareBanksResponse = function handleShareBanksResponse(shareBankData) {
208
+ return handleArray(shareBankData, _schema.shareBankSchema);
209
+ };
210
+
211
+ exports.handleShareBanksResponse = handleShareBanksResponse;
212
+
213
+ var handleBankEntriesResponse = function handleBankEntriesResponse(bankEntriesData) {
214
+ return handleArray(bankEntriesData, _schema.bankEntrySchema);
215
+ };
216
+
217
+ exports.handleBankEntriesResponse = handleBankEntriesResponse;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = exports.camelizeNonUuidKeys = void 0;
9
+
10
+ var _humps = require("humps");
11
+
12
+ var _values = _interopRequireDefault(require("lodash/values"));
13
+
14
+ var _isuuid = _interopRequireDefault(require("isuuid"));
15
+
16
+ // =====================
17
+ // =====================
18
+ // DEFAULT FUNCTIONALITY
19
+ // =====================
20
+ // =====================
21
+ // we key some user response values by
22
+ // their uuids, so we don't want to strip
23
+ // their '-'s
24
+ var maintainUUIDs = function maintainUUIDs(key, convert) {
25
+ return (0, _isuuid.default)(key) ? key : convert(key);
26
+ }; // convert snake_case to camelCase
27
+
28
+
29
+ var camelizeNonUuidKeys = function camelizeNonUuidKeys(listOfObjects) {
30
+ return (0, _humps.camelizeKeys)(listOfObjects, maintainUUIDs);
31
+ };
32
+
33
+ exports.camelizeNonUuidKeys = camelizeNonUuidKeys;
34
+
35
+ var camelizedVals = function camelizedVals(objectMap) {
36
+ return camelizeNonUuidKeys((0, _values.default)(objectMap));
37
+ };
38
+
39
+ var _default = camelizedVals;
40
+ exports.default = _default;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.getFeatures = void 0;
9
+
10
+ var _Fetcher = _interopRequireDefault(require("../util/Fetcher.js"));
11
+
12
+ var _features = require("../actions/features.js");
13
+
14
+ var getFeatures = function getFeatures() {
15
+ var url = '/api/features';
16
+ return function (dispatch, getState) {
17
+ var fetcher = new _Fetcher.default();
18
+
19
+ var addFeaturesToStore = function addFeaturesToStore(featuresList) {
20
+ dispatch((0, _features.addFeatures)(featuresList));
21
+ };
22
+
23
+ return fetcher.get(url).then(addFeaturesToStore);
24
+ };
25
+ };
26
+
27
+ exports.getFeatures = getFeatures;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.getUploadUrl = getUploadUrl;
9
+ exports.sendFileToS3 = void 0;
10
+
11
+ var _quizCommon = require("@instructure/quiz-common");
12
+
13
+ var _contentDisposition = _interopRequireDefault(require("content-disposition"));
14
+
15
+ var _Fetcher = _interopRequireDefault(require("../util/Fetcher.js"));
16
+
17
+ function getUploadUrl(url) {
18
+ var urlFetcher = new _Fetcher.default({
19
+ callType: _quizCommon.FILE_UPLOAD_URL_CALL
20
+ });
21
+ return urlFetcher.get(url);
22
+ } // This fxn requires a secondary fxn as an argument.
23
+ // It gets the url to post the file to S3 from the request and returns a promise.
24
+
25
+
26
+ var sendFileToS3 = function sendFileToS3(file, onSuccess, onError, altText) {
27
+ var fileFetcher = new _Fetcher.default({
28
+ asyncResponseHandler: function asyncResponseHandler() {},
29
+ callType: _quizCommon.FILE_UPLOAD_CALL,
30
+ headers: {
31
+ 'Content-Type': file.type,
32
+ // This thing handles unicode filenames appropriately for HTTP headers - yay
33
+ 'Content-Disposition': (0, _contentDisposition.default)(file.name)
34
+ },
35
+ onError: onError
36
+ });
37
+ return function (res) {
38
+ // After uploading, the signed portion of the URL is useless and incorrect
39
+ var s3url = res.url.split(/[?#]/)[0];
40
+ return fileFetcher.put("".concat(res.url), {
41
+ body: file
42
+ }).then(function (ref) {
43
+ onSuccess(s3url, altText);
44
+ });
45
+ };
46
+ };
47
+
48
+ exports.sendFileToS3 = sendFileToS3;