@instructure/quiz-core 17.19.2-rc.3 → 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.
- package/CHANGELOG.md +8 -0
- package/lib/banks/api/bankEntries.js +203 -0
- package/lib/banks/api/banks.js +315 -0
- package/lib/banks/api/tagAssociations.js +128 -0
- package/lib/banks/components/AddBankEntryModal/index.js +47 -0
- package/lib/banks/components/AddBankEntryModal/presenter.js +156 -0
- package/lib/banks/components/AddToBankModal/index.js +53 -0
- package/lib/banks/components/AddToBankModal/presenter.js +238 -0
- package/lib/banks/components/Bank/index.js +60 -0
- package/lib/banks/components/Bank/presenter.js +390 -0
- package/lib/banks/components/Bank/theme.js +21 -0
- package/lib/banks/components/BankEntriesList/index.js +30 -0
- package/lib/banks/components/BankEntriesList/presenter.js +93 -0
- package/lib/banks/components/BankEntriesList/theme.js +13 -0
- package/lib/banks/components/BankEntry/index.js +97 -0
- package/lib/banks/components/BankEntry/presenter.js +763 -0
- package/lib/banks/components/BankEntry/theme.js +31 -0
- package/lib/banks/components/BankEntryRow/BankEntryRow.examples.js +55 -0
- package/lib/banks/components/BankEntryRow/index.js +68 -0
- package/lib/banks/components/BankEntryRow/presenter.js +453 -0
- package/lib/banks/components/BankEntryRow/theme.js +30 -0
- package/lib/banks/components/BankSearch/BankSearch.stories.js +75 -0
- package/lib/banks/components/BankSearch/index.js +49 -0
- package/lib/banks/components/BankSearch/presenter.js +243 -0
- package/lib/banks/components/BankSearch/theme.js +16 -0
- package/lib/banks/components/Banks/index.js +58 -0
- package/lib/banks/components/Banks/noResults.svg +56 -0
- package/lib/banks/components/Banks/presenter.js +480 -0
- package/lib/banks/components/Banks/theme.js +20 -0
- package/lib/banks/components/BanksList/index.js +38 -0
- package/lib/banks/components/BanksList/presenter.js +390 -0
- package/lib/banks/components/BanksList/theme.js +28 -0
- package/lib/banks/components/CopyMoveBankEntryModal/index.js +56 -0
- package/lib/banks/components/CopyMoveBankEntryModal/presenter.js +264 -0
- package/lib/banks/components/CreateBankModal/index.js +64 -0
- package/lib/banks/components/CreateBankModal/presenter.js +190 -0
- package/lib/banks/components/CreateBankModal/theme.js +16 -0
- package/lib/banks/components/EditBankModal/index.js +56 -0
- package/lib/banks/components/EditBankModal/presenter.js +183 -0
- package/lib/banks/components/EditBankModal/theme.js +15 -0
- package/lib/banks/components/HeaderMenu/index.js +34 -0
- package/lib/banks/components/HeaderMenu/presenter.js +100 -0
- package/lib/banks/components/HeaderMenu/theme.js +15 -0
- package/lib/banks/components/NavWrapper/NavWrapper.examples.js +27 -0
- package/lib/banks/components/NavWrapper/index.js +24 -0
- package/lib/banks/components/NavWrapper/presenter.js +189 -0
- package/lib/banks/components/NavWrapper/theme.js +24 -0
- package/lib/banks/components/SharingModal/ContextualButton/index.js +80 -0
- package/lib/banks/components/SharingModal/ShareList/ShareList.examples.js +30 -0
- package/lib/banks/components/SharingModal/ShareList/index.js +253 -0
- package/lib/banks/components/SharingModal/ShareList/theme.js +10 -0
- package/lib/banks/components/SharingModal/asyncSearch.js +399 -0
- package/lib/banks/components/SharingModal/index.js +45 -0
- package/lib/banks/components/SharingModal/presenter.js +530 -0
- package/lib/banks/components/SharingModal/theme.js +17 -0
- package/lib/building/api/items.js +255 -0
- package/lib/building/api/qtiImports.js +135 -0
- package/lib/building/api/quizEntries.js +380 -0
- package/lib/building/api/quizzes.js +285 -0
- package/lib/building/api/stimuli.js +92 -0
- package/lib/building/components/QTIImportModal/index.js +54 -0
- package/lib/building/components/layout/Sidebar/Sidebar.examples.js +134 -0
- package/lib/building/components/layout/Sidebar/SidebarItem/index.js +86 -0
- package/lib/building/components/layout/Sidebar/SidebarItem/presenter.js +159 -0
- package/lib/building/components/layout/Sidebar/Stimulus/index.js +87 -0
- package/lib/building/components/layout/Sidebar/Stimulus/presenter.js +167 -0
- package/lib/building/components/layout/Sidebar/index.js +80 -0
- package/lib/building/components/layout/Sidebar/presenter.js +267 -0
- package/lib/building/components/layout/Sidebar/theme.js +13 -0
- package/lib/building/components/layout/header/BuildingButtons/index.js +56 -0
- package/lib/building/components/layout/header/BuildingButtons/presenter.js +195 -0
- package/lib/building/components/layout/header/BuildingButtons/theme.js +19 -0
- package/lib/building/components/layout/header/SDKBuildingButtons/index.js +27 -0
- package/lib/building/components/resources/ActionButtons/index.js +40 -0
- package/lib/building/components/resources/ActionButtons/presenter.js +194 -0
- package/lib/building/components/resources/ActionButtons/theme.js +16 -0
- package/lib/building/components/resources/AddToBankOptions/index.js +119 -0
- package/lib/building/components/resources/AddToBankOptions/theme.js +15 -0
- package/lib/building/components/resources/BanksTray/index.js +34 -0
- package/lib/building/components/resources/BanksTray/presenter.js +233 -0
- package/lib/building/components/resources/DeleteStimulusModal/index.js +54 -0
- package/lib/building/components/resources/DeleteStimulusModal/presenter.js +316 -0
- package/lib/building/components/resources/DeleteStimulusModal/theme.js +17 -0
- package/lib/building/components/resources/ItemFeedbackModal/index.js +52 -0
- package/lib/building/components/resources/ItemFeedbackModal/presenter.js +183 -0
- package/lib/building/components/resources/ItemFeedbackModal/theme.js +13 -0
- package/lib/building/components/resources/MoveImmutableModal/index.js +54 -0
- package/lib/building/components/resources/MoveImmutableModal/presenter.js +140 -0
- package/lib/building/components/resources/quiz/editButton/EditButton.js +89 -0
- package/lib/building/components/resources/quiz/instructions/Edit/index.js +22 -0
- package/lib/building/components/resources/quiz/instructions/Edit/presenter.js +142 -0
- package/lib/building/components/resources/quiz/instructions/Edit/theme.js +14 -0
- package/lib/building/components/resources/quiz/instructions/Instructions/Instructions.examples.js +34 -0
- package/lib/building/components/resources/quiz/instructions/Instructions/index.js +39 -0
- package/lib/building/components/resources/quiz/instructions/Instructions/presenter.js +223 -0
- package/lib/building/components/resources/quiz/instructions/Instructions/theme.js +20 -0
- package/lib/building/components/resources/quiz/instructions/Show/index.js +97 -0
- package/lib/building/components/resources/quiz/instructions/Show/theme.js +16 -0
- package/lib/building/components/resources/quiz/title/Edit/index.js +214 -0
- package/lib/building/components/resources/quiz/title/Edit/theme.js +24 -0
- package/lib/building/components/resources/quiz/title/Show/index.js +97 -0
- package/lib/building/components/resources/quiz/title/Show/theme.js +16 -0
- package/lib/building/components/resources/quiz/title/Title/Title.examples.js +51 -0
- package/lib/building/components/resources/quiz/title/Title/index.js +42 -0
- package/lib/building/components/resources/quiz/title/Title/presenter.js +217 -0
- package/lib/building/components/resources/quiz/title/Title/theme.js +20 -0
- package/lib/building/components/resources/quizEntry/QuizEntry/index.js +98 -0
- package/lib/building/components/resources/quizEntry/QuizEntry/presenter.js +435 -0
- package/lib/building/components/resources/quizEntry/QuizEntry/theme.js +19 -0
- package/lib/building/components/resources/quizEntry/QuizEntryBank/QuizEntryBankEdit/index.js +41 -0
- package/lib/building/components/resources/quizEntry/QuizEntryBank/QuizEntryBankEdit/presenter.js +291 -0
- package/lib/building/components/resources/quizEntry/QuizEntryBank/QuizEntryBankEdit/theme.js +28 -0
- package/lib/building/components/resources/quizEntry/QuizEntryBank/QuizEntryBankShow/index.js +139 -0
- package/lib/building/components/resources/quizEntry/QuizEntryBank/QuizEntryBankShow/theme.js +20 -0
- package/lib/building/components/resources/quizEntry/QuizEntryEdit/Footer/index.js +39 -0
- package/lib/building/components/resources/quizEntry/QuizEntryEdit/Footer/presenter.js +299 -0
- package/lib/building/components/resources/quizEntry/QuizEntryEdit/Footer/theme.js +17 -0
- package/lib/building/components/resources/quizEntry/QuizEntryEdit/Header/index.js +366 -0
- package/lib/building/components/resources/quizEntry/QuizEntryEdit/Header/theme.js +21 -0
- package/lib/building/components/resources/quizEntry/QuizEntryEdit/index.js +98 -0
- package/lib/building/components/resources/quizEntry/QuizEntryEdit/presenter.js +545 -0
- package/lib/building/components/resources/quizEntry/QuizEntryEdit/theme.js +17 -0
- package/lib/building/components/resources/quizEntry/QuizEntryShow/index.js +51 -0
- package/lib/building/components/resources/quizEntry/QuizEntryShow/presenter.js +385 -0
- package/lib/building/components/resources/quizEntry/QuizEntryShow/theme.js +33 -0
- package/lib/common/actions/addInteractionTypes.js +15 -0
- package/lib/common/actions/alerts.js +72 -0
- package/lib/common/actions/bankEntries.js +26 -0
- package/lib/common/actions/bankSearch.js +51 -0
- package/lib/common/actions/banks.js +71 -0
- package/lib/common/actions/config.js +23 -0
- package/lib/common/actions/dragAndDrop.js +15 -0
- package/lib/common/actions/editing.js +33 -0
- package/lib/common/actions/errorsShowing.js +35 -0
- package/lib/common/actions/features.js +23 -0
- package/lib/common/actions/items.js +15 -0
- package/lib/common/actions/modal.js +86 -0
- package/lib/common/actions/moderation.js +22 -0
- package/lib/common/actions/modifications.js +560 -0
- package/lib/common/actions/outcomes.js +31 -0
- package/lib/common/actions/postMessage.js +15 -0
- package/lib/common/actions/printing.js +23 -0
- package/lib/common/actions/qtiImports.js +22 -0
- package/lib/common/actions/quizEntries.js +56 -0
- package/lib/common/actions/quizSessionEvents.js +17 -0
- package/lib/common/actions/quizSessionResults.js +17 -0
- package/lib/common/actions/quizSessions.js +129 -0
- package/lib/common/actions/quizzes.js +74 -0
- package/lib/common/actions/regrading.js +31 -0
- package/lib/common/actions/reporting.js +47 -0
- package/lib/common/actions/scrolling.js +24 -0
- package/lib/common/actions/sessionItemResults.js +17 -0
- package/lib/common/actions/sessionItems.js +17 -0
- package/lib/common/actions/sharedBanks.js +38 -0
- package/lib/common/actions/sidebar.js +25 -0
- package/lib/common/actions/stimuli.js +15 -0
- package/lib/common/actions/tagAssociations.js +113 -0
- package/lib/common/actions/taking.js +160 -0
- package/lib/common/actions/ui.js +83 -0
- package/lib/common/actions/upload.js +57 -0
- package/lib/common/api/callHandlers.js +217 -0
- package/lib/common/api/camelizeHelpers.js +40 -0
- package/lib/common/api/features.js +27 -0
- package/lib/common/api/fileUpload.js +48 -0
- package/lib/common/api/getPersistenceActions.js +140 -0
- package/lib/common/api/helpers.js +197 -0
- package/lib/common/api/interactionTypes.js +24 -0
- package/lib/common/api/quizSessions.js +236 -0
- package/lib/common/api/quizzes.js +55 -0
- package/lib/common/api/schema.js +109 -0
- package/lib/common/components/ConfirmationModal/index.js +37 -0
- package/lib/common/components/ConfirmationModal/presenter.js +156 -0
- package/lib/common/components/ImportModal/ImportFileSelector/index.js +167 -0
- package/lib/common/components/ImportModal/ImportFileSelector/theme.js +23 -0
- package/lib/common/components/ImportModal/index.js +78 -0
- package/lib/common/components/ImportModal/presenter.js +442 -0
- package/lib/common/components/ImportModal/theme.js +13 -0
- package/lib/common/components/LearnosityCalculator/index.js +196 -0
- package/lib/common/components/Pin/Pin.examples.js +20 -0
- package/lib/common/components/Pin/index.js +13 -0
- package/lib/common/components/Pin/presenter.js +88 -0
- package/lib/common/components/PreviewFrame/examples.config.js +24 -0
- package/lib/common/components/PreviewFrame/index.js +71 -0
- package/lib/common/components/PrintFontSizeModal/index.js +13 -0
- package/lib/common/components/PrintFontSizeModal/presenter.js +204 -0
- package/lib/common/components/PrintFontSizeModal/theme.js +17 -0
- package/lib/common/components/RichContentInput/RceImageImportModal/index.js +28 -0
- package/lib/common/components/RichContentInput/RceImageImportModal/presenter.js +115 -0
- package/lib/common/components/RichContentInput/index.js +33 -0
- package/lib/common/components/RichContentInput/presenter.js +102 -0
- package/lib/common/components/SDKApp/index.js +206 -0
- package/lib/common/components/SDKApp/theme.js +10 -0
- package/lib/common/components/SDKHeaderCalculator.js +29 -0
- package/lib/common/components/SDKMenuButton.js +27 -0
- package/lib/common/components/SDKTimer.js +29 -0
- package/lib/common/components/alerts/index.js +33 -0
- package/lib/common/components/alerts/presenter.js +115 -0
- package/lib/common/components/alerts/theme.js +18 -0
- package/lib/common/components/layout/Page/index.js +102 -0
- package/lib/common/components/layout/Page/theme.js +17 -0
- package/lib/common/components/layout/header/Calculator/index.js +36 -0
- package/lib/common/components/layout/header/Calculator/presenter.js +84 -0
- package/lib/common/components/layout/header/HeaderMenuButton/index.js +39 -0
- package/lib/common/components/layout/header/HeaderMenuButton/presenter.js +86 -0
- package/lib/common/components/layout/header/HeaderMenuButton/theme.js +18 -0
- package/lib/common/components/layout/header/Timer/index.js +48 -0
- package/lib/common/components/layout/header/Timer/presenter.js +201 -0
- package/lib/common/components/layout/header/Timer/theme.js +25 -0
- package/lib/common/components/layout/sidebar/PositionSummary/index.js +81 -0
- package/lib/common/components/layout/sidebar/PositionSummary/theme.js +22 -0
- package/lib/common/components/layout/sidebar/Sidebar/Pin.js +78 -0
- package/lib/common/components/layout/sidebar/Sidebar/Sidebar.examples.js +46 -0
- package/lib/common/components/layout/sidebar/Sidebar/index.js +338 -0
- package/lib/common/components/layout/sidebar/Sidebar/theme.js +50 -0
- package/lib/common/components/layout/sidebar/SidebarItem/index.js +46 -0
- package/lib/common/components/layout/sidebar/SidebarItem/presenter.js +235 -0
- package/lib/common/components/layout/sidebar/SidebarItem/theme.js +33 -0
- package/lib/common/components/layout/sidebar/Stimulus/Collection/index.js +20 -0
- package/lib/common/components/layout/sidebar/Stimulus/Collection/presenter.js +195 -0
- package/lib/common/components/layout/sidebar/Stimulus/Collection/theme.js +17 -0
- package/lib/common/components/layout/sidebar/Stimulus/Summary/index.js +20 -0
- package/lib/common/components/layout/sidebar/Stimulus/Summary/presenter.js +182 -0
- package/lib/common/components/layout/sidebar/Stimulus/Summary/theme.js +20 -0
- package/lib/common/components/layout/sidebar/Stimulus/Title/index.js +89 -0
- package/lib/common/components/layout/sidebar/Stimulus/Title/theme.js +10 -0
- package/lib/common/components/layout/sidebar/Stimulus/index.js +42 -0
- package/lib/common/components/layout/sidebar/Stimulus/presenter.js +202 -0
- package/lib/common/components/layout/sidebar/Stimulus/theme.js +26 -0
- package/lib/common/components/resources/BankSelection/BankSelection.examples.js +26 -0
- package/lib/common/components/resources/BankSelection/index.js +39 -0
- package/lib/common/components/resources/BankSelection/presenter.js +253 -0
- package/lib/common/components/resources/WarningWrapper/index.js +167 -0
- package/lib/common/components/resources/WarningWrapper/theme.js +20 -0
- package/lib/common/components/resources/entry/EntrySave/index.js +40 -0
- package/lib/common/components/resources/entry/EntrySave/presenter.js +221 -0
- package/lib/common/components/resources/item/ItemEdit/index.js +91 -0
- package/lib/common/components/resources/item/ItemEdit/presenter.js +231 -0
- package/lib/common/components/resources/item/ItemOverride/index.js +55 -0
- package/lib/common/components/resources/item/ItemOverride/presenter.js +108 -0
- package/lib/common/components/resources/item/ItemShow/index.js +71 -0
- package/lib/common/components/resources/positionBox/PositionBox.js +78 -0
- package/lib/common/components/resources/positionBox/theme.js +21 -0
- package/lib/common/components/resources/quiz/AddContent/Body/index.js +42 -0
- package/lib/common/components/resources/quiz/AddContent/Body/presenter.js +207 -0
- package/lib/common/components/resources/quiz/AddContent/Body/theme.js +20 -0
- package/lib/common/components/resources/quiz/AddContent/Button/index.js +129 -0
- package/lib/common/components/resources/quiz/AddContent/Button/theme.js +30 -0
- package/lib/common/components/resources/quiz/AddContent/Modal/index.js +44 -0
- package/lib/common/components/resources/quiz/AddContent/Modal/presenter.js +103 -0
- package/lib/common/components/resources/quiz/AddContent/Popover/index.js +54 -0
- package/lib/common/components/resources/quiz/AddContent/Popover/presenter.js +185 -0
- package/lib/common/components/resources/quiz/AddContent/Popover/theme.js +15 -0
- package/lib/common/components/resources/quiz/info/QuizInfo.js +52 -0
- package/lib/common/components/resources/quiz/instructions/Instructions.js +76 -0
- package/lib/common/components/resources/quiz/instructions/theme.js +15 -0
- package/lib/common/components/resources/quiz/title/Title.js +78 -0
- package/lib/common/components/resources/quiz/title/theme.js +16 -0
- package/lib/common/components/resources/quizSessionResult/Header/index.js +119 -0
- package/lib/common/components/resources/quizSessionResult/Header/theme.js +17 -0
- package/lib/common/components/resources/quizSessionResult/Info/Info.examples.js +46 -0
- package/lib/common/components/resources/quizSessionResult/Info/index.js +321 -0
- package/lib/common/components/resources/quizSessionResult/Info/theme.js +20 -0
- package/lib/common/components/resources/sessionItemResult/ResultStimulus/index.js +129 -0
- package/lib/common/components/resources/sessionItemResult/ResultStimulus/theme.js +39 -0
- package/lib/common/components/resources/sessionItemResult/SessionItemResult/index.js +30 -0
- package/lib/common/components/resources/sessionItemResult/SessionItemResult/presenter.js +392 -0
- package/lib/common/components/resources/sessionItemResult/SessionItemResult/theme.js +37 -0
- package/lib/common/components/resources/sessionItemResult/SessionItemResultsList/index.js +123 -0
- package/lib/common/components/resources/sessionItemResult/SessionItemResultsList/theme.js +21 -0
- package/lib/common/components/resources/stimulus/Stimulus/index.js +45 -0
- package/lib/common/components/resources/stimulus/Stimulus/presenter.js +255 -0
- package/lib/common/components/resources/stimulus/Stimulus/theme.js +22 -0
- package/lib/common/components/resources/stimulus/StimulusEdit/index.js +81 -0
- package/lib/common/components/resources/stimulus/StimulusEdit/presenter.js +558 -0
- package/lib/common/components/resources/stimulus/StimulusEdit/theme.js +24 -0
- package/lib/common/components/resources/stimulus/StimulusEditInfo/index.js +39 -0
- package/lib/common/components/resources/stimulus/StimulusEditInfo/presenter.js +247 -0
- package/lib/common/components/resources/stimulus/StimulusEditInfo/theme.js +18 -0
- package/lib/common/components/resources/stimulus/StimulusShow/index.js +142 -0
- package/lib/common/components/resources/stimulus/StimulusShow/theme.js +22 -0
- package/lib/common/components/resources/stimulus/StimulusShowInfo/StimulusShowInfo.examples.js +22 -0
- package/lib/common/components/resources/stimulus/StimulusShowInfo/index.js +87 -0
- package/lib/common/components/shared/Card/CardContent/index.js +73 -0
- package/lib/common/components/shared/Card/CardContent/theme.js +24 -0
- package/lib/common/components/shared/Card/CardWrapper/index.js +72 -0
- package/lib/common/components/shared/Card/CardWrapper/theme.js +21 -0
- package/lib/common/components/shared/Card/index.js +46 -0
- package/lib/common/components/shared/ExpandButton/index.js +90 -0
- package/lib/common/components/shared/ExpandButton/theme.js +12 -0
- package/lib/common/components/shared/FormattedDuration/FormattedDuration.examples.js +27 -0
- package/lib/common/components/shared/FormattedDuration/index.js +126 -0
- package/lib/common/components/shared/IfFeature/index.js +24 -0
- package/lib/common/components/shared/IfFeature/presenter.js +56 -0
- package/lib/common/components/shared/InteractionTypes/index.js +20 -0
- package/lib/common/components/shared/InteractionTypes/presenter.js +197 -0
- package/lib/common/components/shared/InteractionTypes/theme.js +18 -0
- package/lib/common/components/shared/PaginatedCollection/index.js +36 -0
- package/lib/common/components/shared/PaginatedCollection/presenter.js +228 -0
- package/lib/common/components/shared/PaginatedCollection/theme.js +17 -0
- package/lib/common/components/shared/Paginator/index.js +90 -0
- package/lib/common/components/shared/Paginator/theme.js +13 -0
- package/lib/common/components/shared/PrintTrigger/index.js +43 -0
- package/lib/common/components/shared/PrintTrigger/presenter.js +151 -0
- package/lib/common/components/shared/TagDisplay/index.js +105 -0
- package/lib/common/components/shared/TagDisplay/theme.js +10 -0
- package/lib/common/components/shared/TagSelect/index.js +13 -0
- package/lib/common/components/shared/TagSelect/presenter.js +306 -0
- package/lib/common/components/shared/TagSuggestSelect/index.js +36 -0
- package/lib/common/components/shared/TagSuggestSelect/presenter.js +135 -0
- package/lib/common/components/shared/TagWrapper/index.js +13 -0
- package/lib/common/components/shared/TagWrapper/presenter.js +89 -0
- package/lib/common/components/shared/TimeUnitsInput/TimeUnitsInput.examples.js +25 -0
- package/lib/common/components/shared/TimeUnitsInput/index.js +366 -0
- package/lib/common/components/shared/drag_and_drop/DragAndDropZone/index.js +126 -0
- package/lib/common/components/shared/drag_and_drop/DragAndDropZone/theme.js +25 -0
- package/lib/common/components/shared/drag_and_drop/DragHandle/index.js +51 -0
- package/lib/common/components/shared/drag_and_drop/DragHandle/presenter.js +324 -0
- package/lib/common/components/shared/drag_and_drop/dragAndDropUtils.js +403 -0
- package/lib/common/components/shared/errors/Errors.js +81 -0
- package/lib/common/components/shared/errors/theme.js +16 -0
- package/lib/common/components/shared/file_selector/FileSelector.js +90 -0
- package/lib/common/components/shared/file_selector/theme.js +18 -0
- package/lib/common/components/shared/functionality/componentWithOutsideClick.js +94 -0
- package/lib/common/components/shared/functionality/disableDraggingOverride.js +22 -0
- package/lib/common/components/shared/functionality/makeEditable.js +152 -0
- package/lib/common/components/shared/functionality/makeScrollable.js +174 -0
- package/lib/common/components/shared/overlay/Overlay.js +95 -0
- package/lib/common/components/shared/overlay/theme.js +17 -0
- package/lib/common/components/shared/return_button/ReturnButton.js +66 -0
- package/lib/common/components/shared/spinner/Spinner.js +92 -0
- package/lib/common/components/shared/spinner/theme.js +13 -0
- package/lib/common/kinesis/QuizEventsLogger.js +155 -0
- package/lib/common/kinesis/StreamQueue.js +141 -0
- package/lib/common/kinesis/client.js +66 -0
- package/lib/common/kinesis/config.js +54 -0
- package/lib/common/kinesis/eventTypes.js +48 -0
- package/lib/common/middleware/alertTimerMiddleware.js +32 -0
- package/lib/common/middleware/crossDomainMessagingMiddleware.js +25 -0
- package/lib/common/middleware/eventLoggerMiddleware.js +42 -0
- package/lib/common/middleware/persistedStorageMiddleware.js +66 -0
- package/lib/common/react-redux.js +21 -0
- package/lib/common/records/Alert.js +37 -0
- package/lib/common/records/Bank.js +129 -0
- package/lib/common/records/BankEntry.js +96 -0
- package/lib/common/records/Item.js +151 -0
- package/lib/common/records/ItemAnalysis.js +177 -0
- package/lib/common/records/QtiImport.js +63 -0
- package/lib/common/records/Quiz.js +205 -0
- package/lib/common/records/QuizAnalysis.js +121 -0
- package/lib/common/records/QuizEntry.js +543 -0
- package/lib/common/records/QuizSession.js +219 -0
- package/lib/common/records/QuizSessionEvent.js +65 -0
- package/lib/common/records/QuizSessionResult.js +90 -0
- package/lib/common/records/Response.js +65 -0
- package/lib/common/records/SessionItem.js +150 -0
- package/lib/common/records/SessionItemResult.js +91 -0
- package/lib/common/records/Stimulus.js +101 -0
- package/lib/common/records/baseRecord.js +116 -0
- package/lib/common/records/index.js +135 -0
- package/lib/common/records/reduxRecord.js +46 -0
- package/lib/common/reducers/alerts.js +28 -0
- package/lib/common/reducers/bankEntries.js +38 -0
- package/lib/common/reducers/bankSearch.js +50 -0
- package/lib/common/reducers/banks.js +71 -0
- package/lib/common/reducers/calls.js +28 -0
- package/lib/common/reducers/config.js +32 -0
- package/lib/common/reducers/dragAndDrop.js +25 -0
- package/lib/common/reducers/editing.js +25 -0
- package/lib/common/reducers/errorsShowing.js +31 -0
- package/lib/common/reducers/features.js +28 -0
- package/lib/common/reducers/interactionTypes.js +33 -0
- package/lib/common/reducers/items.js +36 -0
- package/lib/common/reducers/modal.js +45 -0
- package/lib/common/reducers/moderation.js +34 -0
- package/lib/common/reducers/modifications.js +225 -0
- package/lib/common/reducers/outcomes.js +37 -0
- package/lib/common/reducers/printing.js +26 -0
- package/lib/common/reducers/qtiImports.js +39 -0
- package/lib/common/reducers/quizEntries.js +182 -0
- package/lib/common/reducers/quizSessionEvents.js +36 -0
- package/lib/common/reducers/quizSessionResults.js +34 -0
- package/lib/common/reducers/quizSessions.js +68 -0
- package/lib/common/reducers/quizzes.js +77 -0
- package/lib/common/reducers/regrading.js +39 -0
- package/lib/common/reducers/reporting.js +72 -0
- package/lib/common/reducers/scrolling.js +28 -0
- package/lib/common/reducers/sessionItemResults.js +34 -0
- package/lib/common/reducers/sessionItems.js +36 -0
- package/lib/common/reducers/sharedBanks.js +45 -0
- package/lib/common/reducers/sidebar.js +30 -0
- package/lib/common/reducers/stimuli.js +36 -0
- package/lib/common/reducers/tagAssociations.js +140 -0
- package/lib/common/reducers/taking.js +143 -0
- package/lib/common/reducers/ui.js +51 -0
- package/lib/common/reducers/upload.js +41 -0
- package/lib/common/selectors/calculator.js +39 -0
- package/lib/common/selectors/calls.js +14 -0
- package/lib/common/selectors/interactionTypes.js +45 -0
- package/lib/common/selectors/items.js +28 -0
- package/lib/common/selectors/qtiImports.js +35 -0
- package/lib/common/selectors/quizSessionResults.js +25 -0
- package/lib/common/selectors/quizSessions.js +54 -0
- package/lib/common/selectors/quizzes.js +146 -0
- package/lib/common/selectors/reporting.js +26 -0
- package/lib/common/selectors/sessionItemResults.js +41 -0
- package/lib/common/selectors/sessionItems.js +53 -0
- package/lib/common/selectors/taking.js +64 -0
- package/lib/common/selectors/ui.js +12 -0
- package/lib/common/util/CustomPropTypes.js +88 -0
- package/lib/common/util/ElementsForSelectors.js +22 -0
- package/lib/common/util/ExhaustivePaginatedFetcher.js +127 -0
- package/lib/common/util/Fetcher.js +455 -0
- package/lib/common/util/MultiWeakMap.js +88 -0
- package/lib/common/util/PaginatedFetcher.js +110 -0
- package/lib/common/util/ThunkQueue.js +163 -0
- package/lib/common/util/TimeRecordingService.js +85 -0
- package/lib/common/util/TimerService.js +210 -0
- package/lib/common/util/cachePreviousArgs.js +32 -0
- package/lib/common/util/callHelpers.js +48 -0
- package/lib/common/util/componentForItem.js +40 -0
- package/lib/common/util/crossDomainMessaging.js +14 -0
- package/lib/common/util/debounceLatestPromise.js +38 -0
- package/lib/common/util/featureCheck.js +58 -0
- package/lib/common/util/fetchHelpers.js +14 -0
- package/lib/common/util/formatTimespan.js +68 -0
- package/lib/common/util/generateDisplayPositions.js +34 -0
- package/lib/common/util/httpHeaders.js +28 -0
- package/lib/common/util/immutableHelpers.js +36 -0
- package/lib/common/util/instUIMessages.js +17 -0
- package/lib/common/util/interactionTypeMetadata.js +60 -0
- package/lib/common/util/interactionTypePropsHelper.js +99 -0
- package/lib/common/util/interactionTypeRecordForItem.js +36 -0
- package/lib/common/util/jsonify.js +39 -0
- package/lib/common/util/keyboardClickable.js +17 -0
- package/lib/common/util/maxContent.js +22 -0
- package/lib/common/util/modalHelpers.js +13 -0
- package/lib/common/util/noop.js +12 -0
- package/lib/common/util/persistedState.js +61 -0
- package/lib/common/util/printUtils.js +50 -0
- package/lib/common/util/renderAlerts.js +34 -0
- package/lib/common/util/serializeEvent.js +43 -0
- package/lib/common/util/sessionStore.js +81 -0
- package/lib/common/util/valMap.js +20 -0
- package/lib/common/util/warningHelpers.js +160 -0
- package/lib/common/util/windowChecks.js +27 -0
- package/lib/common/util/withCachedArguments.js +41 -0
- package/lib/common/util/withDynamoPagination.js +136 -0
- package/lib/common/util/withStateCache.js +63 -0
- package/lib/config.js +46 -0
- package/lib/configureStore.js +175 -0
- package/lib/grading/api/quizEntryRegrades.js +50 -0
- package/lib/grading/api/updateResults.js +50 -0
- package/lib/index.js +1534 -0
- package/lib/moderating/api/quizSessionEvents.js +28 -0
- package/lib/moderating/api/quizSessions.js +66 -0
- package/lib/moderating/components/events/Event.js +111 -0
- package/lib/moderating/components/events/ResponseEvent.js +143 -0
- package/lib/moderating/components/events/SessionStartEvent.js +70 -0
- package/lib/moderating/components/events/theme.js +18 -0
- package/lib/moderating/components/resources/AccommodationsModal/AccommodationsModal.examples.js +23 -0
- package/lib/moderating/components/resources/AccommodationsModal/ExtraAttemptSettings/ExtraAttemptsInput/index.js +140 -0
- package/lib/moderating/components/resources/AccommodationsModal/ExtraAttemptSettings/ExtraAttemptsInput/{}.examples.js +28 -0
- package/lib/moderating/components/resources/AccommodationsModal/ExtraAttemptSettings/index.js +133 -0
- package/lib/moderating/components/resources/AccommodationsModal/ExtraTimeMultiplier/index.js +172 -0
- package/lib/moderating/components/resources/AccommodationsModal/ExtraTimeSettings/ExtraTimeSettings.examples.js +56 -0
- package/lib/moderating/components/resources/AccommodationsModal/ExtraTimeSettings/index.js +173 -0
- package/lib/moderating/components/resources/AccommodationsModal/index.js +164 -0
- package/lib/moderating/components/resources/ElapsedTime.js +81 -0
- package/lib/moderating/components/resources/ModerateTable/index.js +62 -0
- package/lib/moderating/components/resources/ModerateTable/presenter.js +442 -0
- package/lib/moderating/components/resources/ModerateTable/theme.js +15 -0
- package/lib/moderating/components/resources/ModerateTableRow/ModerateTableRow.examples.js +86 -0
- package/lib/moderating/components/resources/ModerateTableRow/index.js +31 -0
- package/lib/moderating/components/resources/ModerateTableRow/presenter.js +416 -0
- package/lib/moderating/components/resources/ModerateTableRow/story.js +27 -0
- package/lib/moderating/components/resources/ModerateTableRow/theme.js +14 -0
- package/lib/moderating/components/resources/OutstandingQuizzesModal/OutstandingQuizzesModal.examples.js +86 -0
- package/lib/moderating/components/resources/OutstandingQuizzesModal/index.js +35 -0
- package/lib/moderating/components/resources/OutstandingQuizzesModal/presenter.js +203 -0
- package/lib/moderating/components/sidebar/ModerateTray/ModerateTray.examples.js +20 -0
- package/lib/moderating/components/sidebar/ModerateTray/index.js +28 -0
- package/lib/moderating/components/sidebar/ModerateTray/presenter.js +189 -0
- package/lib/moderating/components/sidebar/ResetQuiz/index.js +52 -0
- package/lib/moderating/components/sidebar/ResetQuiz/presenter.js +125 -0
- package/lib/package.json +1 -0
- package/lib/reduxStore.js +49 -0
- package/lib/reporting/api/itemAnalyses.js +27 -0
- package/lib/reporting/api/quizAnalyses.js +30 -0
- package/lib/reporting/components/Caption/index.js +76 -0
- package/lib/reporting/components/Caption/theme.js +16 -0
- package/lib/reporting/components/MetricsListItem/index.js +88 -0
- package/lib/reporting/components/MetricsListItem/theme.js +10 -0
- package/lib/reporting/components/charts/CentileDistribution/CentileDistribution.examples.js +32 -0
- package/lib/reporting/components/charts/CentileDistribution/index.js +13 -0
- package/lib/reporting/components/charts/CentileDistribution/presenter.js +191 -0
- package/lib/reporting/components/charts/CentileDistribution/theme.js +16 -0
- package/lib/reporting/components/charts/Distribution/CentileDistribution.js +14 -0
- package/lib/reporting/components/charts/Distribution/Distribution.js +14 -0
- package/lib/reporting/components/charts/Distribution/QuintileDistribution.js +14 -0
- package/lib/reporting/components/charts/Distribution/index.js +13 -0
- package/lib/reporting/components/charts/Distribution/presenter.js +386 -0
- package/lib/reporting/components/charts/Distribution/theme.js +19 -0
- package/lib/reporting/components/charts/Legend/index.js +94 -0
- package/lib/reporting/components/charts/Legend/theme.js +24 -0
- package/lib/reporting/components/charts/QuintileDistribution/QuintileDistribution.examples.js +16 -0
- package/lib/reporting/components/charts/QuintileDistribution/index.js +13 -0
- package/lib/reporting/components/charts/QuintileDistribution/presenter.js +175 -0
- package/lib/reporting/components/charts/QuintileDistribution/theme.js +16 -0
- package/lib/reporting/components/itemAnalysis/AnswerFrequencySummary/AnswerFrequencySummary.examples.js +45 -0
- package/lib/reporting/components/itemAnalysis/AnswerFrequencySummary/index.js +189 -0
- package/lib/reporting/components/itemAnalysis/AnswerFrequencySummary/theme.js +33 -0
- package/lib/reporting/components/itemAnalysis/ItemAnalysisRow/ItemAnalysisRow.examples.js +60 -0
- package/lib/reporting/components/itemAnalysis/ItemAnalysisRow/index.js +28 -0
- package/lib/reporting/components/itemAnalysis/ItemAnalysisRow/presenter.js +337 -0
- package/lib/reporting/components/itemAnalysis/ItemAnalysisRow/theme.js +32 -0
- package/lib/reporting/components/quizAnalysis/QuizAnalysisOverview.js +188 -0
- package/lib/reporting/components/quizAnalysis/theme.js +20 -0
- package/lib/reporting/components/resources/OutcomeAnalysis/index.js +30 -0
- package/lib/reporting/components/resources/OutcomeAnalysis/presenter.js +129 -0
- package/lib/reporting/components/resources/QuizAndItemAnalysis/QuizAndItemAnalysis.examples.js +190 -0
- package/lib/reporting/components/resources/QuizAndItemAnalysis/index.js +45 -0
- package/lib/reporting/components/resources/QuizAndItemAnalysis/presenter.js +340 -0
- package/lib/reporting/components/resources/QuizAndItemAnalysis/theme.js +20 -0
- package/lib/reporting/components/resources/ReportCard/index.js +89 -0
- package/lib/reporting/components/resources/ReportCard/theme.js +20 -0
- package/lib/reporting/components/resources/ReportList/index.js +84 -0
- package/lib/reporting/components/resources/ReportList/theme.js +17 -0
- package/lib/taking/api/taking.js +371 -0
- package/lib/taking/learnosity/index.js +195 -0
- package/lib/taking/learnosity/loader.js +87 -0
- package/package.json +11 -11
|
@@ -0,0 +1,182 @@
|
|
|
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 = void 0;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _immutable = require("immutable");
|
|
13
|
+
|
|
14
|
+
var _keyBy = _interopRequireDefault(require("lodash/keyBy"));
|
|
15
|
+
|
|
16
|
+
var _isArrayLike = _interopRequireDefault(require("lodash/isArrayLike"));
|
|
17
|
+
|
|
18
|
+
var _quizCommon = require("@instructure/quiz-common");
|
|
19
|
+
|
|
20
|
+
var addQuizEntries = function addQuizEntries(state, quizEntries) {
|
|
21
|
+
var quizEntriesHash = (0, _keyBy.default)(quizEntries, 'id');
|
|
22
|
+
return (0, _immutable.fromJS)(quizEntriesHash);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
var addQuizEntry = function addQuizEntry(state, quizEntry) {
|
|
26
|
+
// This is sad, but because of how we handle our data in the
|
|
27
|
+
// getPersistenceActions/CallHandlers all of our data will be
|
|
28
|
+
// arrays coming in to the store from fetcher, even if it
|
|
29
|
+
// _should_ be a single object.
|
|
30
|
+
var qe = (0, _isArrayLike.default)(quizEntry) ? (0, _keyBy.default)(quizEntry, 'id') : (0, _defineProperty2.default)({}, quizEntry.id, quizEntry);
|
|
31
|
+
return state.mergeDeep((0, _immutable.fromJS)(qe));
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
var deleteQuizEntry = function deleteQuizEntry(state, _ref2) {
|
|
35
|
+
var id = _ref2.id;
|
|
36
|
+
var deletedEntry = state.get(id);
|
|
37
|
+
var stateWithoutDeletedEntry = state.delete(id); // Adjust the positions of subsequent quiz entries, to fill in the gap left
|
|
38
|
+
// by the one we're deleting.
|
|
39
|
+
|
|
40
|
+
var moved = stateWithoutDeletedEntry.filter(function (entry) {
|
|
41
|
+
return entry.get('position') > deletedEntry.get('position');
|
|
42
|
+
}).map(function (entry) {
|
|
43
|
+
return entry.set('position', entry.get('position') - 1);
|
|
44
|
+
});
|
|
45
|
+
return stateWithoutDeletedEntry.merge(moved);
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
var deleteStimulusEntry = function deleteStimulusEntry(state, _ref3) {
|
|
49
|
+
var id = _ref3.id,
|
|
50
|
+
_ref3$childQuizEntryI = _ref3.childQuizEntryIds,
|
|
51
|
+
childQuizEntryIds = _ref3$childQuizEntryI === void 0 ? [] : _ref3$childQuizEntryI;
|
|
52
|
+
var stimulusEntry = state.get(id); // TODO: use deleteAll here after upgrading to immutable 4:
|
|
53
|
+
// http://facebook.github.io/immutable-js/docs/#/Map/deleteAll
|
|
54
|
+
|
|
55
|
+
var stateWithoutDeletedEntries = childQuizEntryIds.reduce(function (reduced, childQuizEntryId) {
|
|
56
|
+
return reduced.delete(childQuizEntryId);
|
|
57
|
+
}, state.delete(id)); // Disassociate any quiz entries that were associated with the stimulus, but
|
|
58
|
+
// not deleted along with it.
|
|
59
|
+
|
|
60
|
+
var disassociated = stateWithoutDeletedEntries.map(function (entry) {
|
|
61
|
+
return entry.get('stimulusQuizEntryId') === id ? entry.set('stimulusQuizEntryId', '') : entry;
|
|
62
|
+
}); // Adjust the positions of all the quiz entries that were associated with the
|
|
63
|
+
// removed stimulus and were not deleted along with it, as well as all
|
|
64
|
+
// subsequent entries, to fill in the gap left by the removed stimulus.
|
|
65
|
+
|
|
66
|
+
var moved = disassociated.valueSeq().filter(function (entry) {
|
|
67
|
+
return entry.get('position') > stimulusEntry.get('position');
|
|
68
|
+
}).sortBy(function (entry) {
|
|
69
|
+
return entry.get('position');
|
|
70
|
+
}).map(function (entry, index) {
|
|
71
|
+
return entry.set('position', stimulusEntry.get('position') + index);
|
|
72
|
+
}).reduce(function (entries, entry) {
|
|
73
|
+
return entries.set(entry.get('id'), entry);
|
|
74
|
+
}, (0, _immutable.Map)());
|
|
75
|
+
return disassociated.merge(moved);
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
var moveQuizEntry = function moveQuizEntry(state, _ref4) {
|
|
79
|
+
var id = _ref4.id,
|
|
80
|
+
position = _ref4.position,
|
|
81
|
+
stimulusQuizEntryId = _ref4.stimulusQuizEntryId;
|
|
82
|
+
var originalQuizEntry = state.get(id);
|
|
83
|
+
var originalPosition = originalQuizEntry.get('position');
|
|
84
|
+
var originalIsStimulus = originalQuizEntry.get('entryType') === 'Stimulus'; // We shouldn't be trying to move a stimulus into itself, this should
|
|
85
|
+
// not happen, but let's be safe.
|
|
86
|
+
|
|
87
|
+
if (originalIsStimulus && stimulusQuizEntryId.length != 0) {
|
|
88
|
+
return state;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
var updatedQuizEntry = originalQuizEntry.merge({
|
|
92
|
+
stimulusQuizEntryId: stimulusQuizEntryId
|
|
93
|
+
});
|
|
94
|
+
var updatedState = state.set(id, updatedQuizEntry); // If the position hasn't changed, we might still be moving the entry into or
|
|
95
|
+
// out of a stimulus.
|
|
96
|
+
|
|
97
|
+
if (position === originalPosition) {
|
|
98
|
+
return updatedState;
|
|
99
|
+
} // Now we need to rearrange positions to account for the move
|
|
100
|
+
// If the quizEntry is a stimulus, we'll need to move its children as well
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
var nestedEntries = updatedQuizEntry.get('entryType') === 'Stimulus' ? updatedState.filter(function (entry) {
|
|
104
|
+
return entry.get('stimulusQuizEntryId') === id;
|
|
105
|
+
}) : (0, _immutable.Map)();
|
|
106
|
+
var movedEntries = nestedEntries.set(id, updatedQuizEntry);
|
|
107
|
+
var maxOriginalPosition = movedEntries.map(function (entry) {
|
|
108
|
+
return entry.get('position');
|
|
109
|
+
}).max();
|
|
110
|
+
|
|
111
|
+
if (position > originalPosition && position <= maxOriginalPosition) {
|
|
112
|
+
// trying to move to a position currently inside itself
|
|
113
|
+
// and we can't do that
|
|
114
|
+
return updatedState;
|
|
115
|
+
} // We're really just interested in the affected range:
|
|
116
|
+
// ..., (a, b, c), x, y, ...
|
|
117
|
+
// ..., x, y, (a, b, c), ...
|
|
118
|
+
// where (a, b, c) are the entries we're trying to *move*, and x, y are the entries
|
|
119
|
+
// that are *displaced*
|
|
120
|
+
// - The moved entries increase their index by the number of entries that are displaced
|
|
121
|
+
// - The displaced entries decrease their index by the number of entries that are moved
|
|
122
|
+
// The operation is symmetric (just swap increase/decrease in the lines above)
|
|
123
|
+
// Ranges
|
|
124
|
+
// - moving farther to the right in the list:
|
|
125
|
+
// moved: [originalPosition, maxOriginalPosition]
|
|
126
|
+
// displaced: [maxOriginalPosition + 1, position]
|
|
127
|
+
// affected: [originalPosition, position]
|
|
128
|
+
// - moving farther to the left the list:
|
|
129
|
+
// moved: [originalPosition, maxOriginalPosition]
|
|
130
|
+
// displaced: [position, originalPosition - 1]
|
|
131
|
+
// affected: [position, maxOriginalPosition]
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
var start = Math.min(originalPosition, position);
|
|
135
|
+
var end = Math.max(maxOriginalPosition, position);
|
|
136
|
+
var numMoved = maxOriginalPosition - originalPosition + 1;
|
|
137
|
+
var numDisplaced = end - start - numMoved + 1;
|
|
138
|
+
var direction = position > originalPosition ? 1 : -1;
|
|
139
|
+
return updatedState.map(function (entry) {
|
|
140
|
+
var pos = entry.get('position');
|
|
141
|
+
|
|
142
|
+
if (pos >= start && pos <= end) {
|
|
143
|
+
if (pos >= originalPosition && pos <= maxOriginalPosition) {
|
|
144
|
+
// moved entries
|
|
145
|
+
return entry.set('position', pos + numDisplaced * direction);
|
|
146
|
+
} else {
|
|
147
|
+
// displaced entries
|
|
148
|
+
return entry.set('position', pos - numMoved * direction);
|
|
149
|
+
}
|
|
150
|
+
} else {
|
|
151
|
+
// out of range entries
|
|
152
|
+
return entry;
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
var _default = function _default() {
|
|
158
|
+
var state = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : (0, _immutable.Map)();
|
|
159
|
+
var action = arguments.length > 1 ? arguments[1] : void 0;
|
|
160
|
+
|
|
161
|
+
switch (action.type) {
|
|
162
|
+
case _quizCommon.ADD_QUIZ_ENTRIES:
|
|
163
|
+
return addQuizEntries(state, action.payload);
|
|
164
|
+
|
|
165
|
+
case _quizCommon.ADD_QUIZ_ENTRY:
|
|
166
|
+
return addQuizEntry(state, action.payload);
|
|
167
|
+
|
|
168
|
+
case _quizCommon.DELETE_QUIZ_ENTRY:
|
|
169
|
+
return deleteQuizEntry(state, action.payload);
|
|
170
|
+
|
|
171
|
+
case _quizCommon.DELETE_STIMULUS_ENTRY:
|
|
172
|
+
return deleteStimulusEntry(state, action.payload);
|
|
173
|
+
|
|
174
|
+
case _quizCommon.MOVE_QUIZ_ENTRY:
|
|
175
|
+
return moveQuizEntry(state, action.payload);
|
|
176
|
+
|
|
177
|
+
default:
|
|
178
|
+
return state;
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
exports.default = _default;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _immutable = require("immutable");
|
|
9
|
+
|
|
10
|
+
var _quizCommon = require("@instructure/quiz-common");
|
|
11
|
+
|
|
12
|
+
function addQuizSessionEvents(state, quizSessionEvents) {
|
|
13
|
+
// in practice all events will share the same quizSessionId for now
|
|
14
|
+
var quizSessionId = quizSessionEvents[0].quizSessionId; // add a new list or concat with a preexisting list
|
|
15
|
+
|
|
16
|
+
return state.updateIn([quizSessionId], (0, _immutable.List)(), function (events) {
|
|
17
|
+
return events.concat((0, _immutable.fromJS)(quizSessionEvents));
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
var defaultState = (0, _immutable.fromJS)({});
|
|
22
|
+
|
|
23
|
+
var _default = function _default() {
|
|
24
|
+
var state = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : defaultState;
|
|
25
|
+
var action = arguments.length > 1 ? arguments[1] : void 0;
|
|
26
|
+
|
|
27
|
+
switch (action.type) {
|
|
28
|
+
case _quizCommon.ADD_QUIZ_SESSION_EVENTS:
|
|
29
|
+
return addQuizSessionEvents(state, action.payload);
|
|
30
|
+
|
|
31
|
+
default:
|
|
32
|
+
return state;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
exports.default = _default;
|
|
@@ -0,0 +1,34 @@
|
|
|
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 = void 0;
|
|
9
|
+
|
|
10
|
+
var _immutable = require("immutable");
|
|
11
|
+
|
|
12
|
+
var _keyBy = _interopRequireDefault(require("lodash/keyBy"));
|
|
13
|
+
|
|
14
|
+
var _quizCommon = require("@instructure/quiz-common");
|
|
15
|
+
|
|
16
|
+
var addQuizSessionResults = function addQuizSessionResults(state, action) {
|
|
17
|
+
var quizSessionResultsHash = (0, _keyBy.default)(action.payload, 'id');
|
|
18
|
+
return state.mergeDeep(quizSessionResultsHash);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
var _default = function _default() {
|
|
22
|
+
var state = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : (0, _immutable.fromJS)({});
|
|
23
|
+
var action = arguments.length > 1 ? arguments[1] : void 0;
|
|
24
|
+
|
|
25
|
+
switch (action.type) {
|
|
26
|
+
case _quizCommon.ADD_QUIZ_SESSION_RESULTS:
|
|
27
|
+
return addQuizSessionResults(state, action);
|
|
28
|
+
|
|
29
|
+
default:
|
|
30
|
+
return state;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
exports.default = _default;
|
|
@@ -0,0 +1,68 @@
|
|
|
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 = void 0;
|
|
9
|
+
|
|
10
|
+
var _keyBy = _interopRequireDefault(require("lodash/keyBy"));
|
|
11
|
+
|
|
12
|
+
var _uniq = _interopRequireDefault(require("lodash/uniq"));
|
|
13
|
+
|
|
14
|
+
var _immutable = require("immutable");
|
|
15
|
+
|
|
16
|
+
var _quizCommon = require("@instructure/quiz-common");
|
|
17
|
+
|
|
18
|
+
var updateQuizSessionSessionItemReferences = function updateQuizSessionSessionItemReferences(state, sessionItems) {
|
|
19
|
+
var reducer = function reducer(tempState, sessionItem) {
|
|
20
|
+
return tempState.updateIn([sessionItem.quizSessionId, 'sessionItems'], function (items) {
|
|
21
|
+
return (items || (0, _immutable.fromJS)([])).push(sessionItem.id);
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
var uniqifySessionItems = function uniqifySessionItems(quizSession) {
|
|
26
|
+
if (!(quizSession instanceof _immutable.Map)) {
|
|
27
|
+
return quizSession;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return quizSession.updateIn(['sessionItems'], function (items) {
|
|
31
|
+
var jsItems = items ? items.toJS() : [];
|
|
32
|
+
return (0, _immutable.fromJS)((0, _uniq.default)(jsItems));
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
return sessionItems.reduce(reducer, state).map(uniqifySessionItems);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
var addQuizSessions = function addQuizSessions(state, quizSessions) {
|
|
40
|
+
var keyedQuizSessions = (0, _keyBy.default)(quizSessions, 'id');
|
|
41
|
+
return state.mergeWith( // to avoid replacing Lists with null (sessionItems)
|
|
42
|
+
function (oldValue, newValue) {
|
|
43
|
+
return oldValue.merge ? oldValue.merge(newValue) : newValue;
|
|
44
|
+
}, (0, _immutable.fromJS)(keyedQuizSessions));
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
var defaultState = (0, _immutable.fromJS)({});
|
|
48
|
+
|
|
49
|
+
var _default = function _default() {
|
|
50
|
+
var state = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : defaultState;
|
|
51
|
+
var action = arguments.length > 1 ? arguments[1] : void 0;
|
|
52
|
+
|
|
53
|
+
switch (action.type) {
|
|
54
|
+
case _quizCommon.ADD_QUIZ_SESSIONS:
|
|
55
|
+
return addQuizSessions(state, action.payload);
|
|
56
|
+
|
|
57
|
+
case _quizCommon.ADD_SESSION_ITEMS:
|
|
58
|
+
return updateQuizSessionSessionItemReferences(state, action.payload);
|
|
59
|
+
|
|
60
|
+
case _quizCommon.ACTIVE_QUIZ_SESSION_CHANGE:
|
|
61
|
+
return state.set('activeQuizSessionId', action.payload);
|
|
62
|
+
|
|
63
|
+
default:
|
|
64
|
+
return state;
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
exports.default = _default;
|
|
@@ -0,0 +1,77 @@
|
|
|
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 = void 0;
|
|
9
|
+
|
|
10
|
+
var _immutable = require("immutable");
|
|
11
|
+
|
|
12
|
+
var _isArrayLike = _interopRequireDefault(require("lodash/isArrayLike"));
|
|
13
|
+
|
|
14
|
+
var _keyBy = _interopRequireDefault(require("lodash/keyBy"));
|
|
15
|
+
|
|
16
|
+
var _map = _interopRequireDefault(require("lodash/map"));
|
|
17
|
+
|
|
18
|
+
var _quizCommon = require("@instructure/quiz-common");
|
|
19
|
+
|
|
20
|
+
var assocQuizEntry = function assocQuizEntry(state, quizId, quizEntries) {
|
|
21
|
+
var quizEntryIds = (0, _immutable.List)((0, _map.default)(quizEntries, 'id'));
|
|
22
|
+
return state.setIn([quizId, 'quizEntries'], quizEntryIds);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
var dissocQuizEntry = function dissocQuizEntry(state, quizId, quizEntryId) {
|
|
26
|
+
return state.updateIn([quizId, 'quizEntries'], function (quizEntriesList) {
|
|
27
|
+
return quizEntriesList.filter(function (item) {
|
|
28
|
+
return item !== quizEntryId;
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
var assocItemAnalysis = function assocItemAnalysis(state, quizId, itemAnalyses) {
|
|
34
|
+
var itemAnalysisIds = (0, _immutable.List)((0, _map.default)(itemAnalyses, 'item_id'));
|
|
35
|
+
return state.setIn([quizId, 'itemAnalyses'], itemAnalysisIds);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
var assocQuizAnalysis = function assocQuizAnalysis(state, quizId, quizAnalysis) {
|
|
39
|
+
return state.setIn([quizId, 'quizAnalysis'], quizAnalysis.quiz_id);
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
var addQuizzes = function addQuizzes(state, quizzes) {
|
|
43
|
+
var quizHash = (0, _isArrayLike.default)(quizzes) ? (0, _keyBy.default)(quizzes, 'id') : quizzes;
|
|
44
|
+
return state.mergeDeep((0, _immutable.fromJS)(quizHash));
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
var defaultState = (0, _immutable.fromJS)({});
|
|
48
|
+
|
|
49
|
+
var _default = function _default() {
|
|
50
|
+
var state = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : defaultState;
|
|
51
|
+
var action = arguments.length > 1 ? arguments[1] : void 0;
|
|
52
|
+
|
|
53
|
+
switch (action.type) {
|
|
54
|
+
case _quizCommon.DISASSOCIATE_QUIZ_ENTRY:
|
|
55
|
+
return dissocQuizEntry(state, "".concat(action.payload.quizId), action.payload.quizEntryId);
|
|
56
|
+
|
|
57
|
+
case _quizCommon.ASSOCIATE_QUIZ_ENTRIES:
|
|
58
|
+
return assocQuizEntry(state, "".concat(action.payload.quizId), action.payload.quizEntries);
|
|
59
|
+
|
|
60
|
+
case _quizCommon.ASSOCIATE_ITEM_ANALYSES:
|
|
61
|
+
return assocItemAnalysis(state, "".concat(action.payload.quizId), action.payload.itemAnalyses);
|
|
62
|
+
|
|
63
|
+
case _quizCommon.ASSOCIATE_QUIZ_ANALYSIS:
|
|
64
|
+
return assocQuizAnalysis(state, "".concat(action.payload.quizId), action.payload.quizAnalysis);
|
|
65
|
+
|
|
66
|
+
case _quizCommon.ADD_QUIZZES:
|
|
67
|
+
return addQuizzes(state, action.payload);
|
|
68
|
+
|
|
69
|
+
case _quizCommon.ACTIVE_QUIZ_CHANGE:
|
|
70
|
+
return state.set('activeQuizId', action.payload);
|
|
71
|
+
|
|
72
|
+
default:
|
|
73
|
+
return state;
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
exports.default = _default;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _immutable = require("immutable");
|
|
9
|
+
|
|
10
|
+
var _quizCommon = require("@instructure/quiz-common");
|
|
11
|
+
|
|
12
|
+
var defaultState = (0, _immutable.fromJS)({
|
|
13
|
+
scoreReconciliation: 'new_score'
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
var _default = function _default() {
|
|
17
|
+
var state = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : defaultState;
|
|
18
|
+
var action = arguments.length > 1 ? arguments[1] : void 0;
|
|
19
|
+
|
|
20
|
+
switch (action.type) {
|
|
21
|
+
case _quizCommon.REGRADE_TOGGLE_REGRADING_EDIT_MODE:
|
|
22
|
+
if (state.get('regradeEditModeKey') === action.payload) {
|
|
23
|
+
return state.remove('regradeEditModeKey');
|
|
24
|
+
} else {
|
|
25
|
+
return state.set('regradeEditModeKey', action.payload);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
case _quizCommon.REGRADE_SET_SCORE_RECONCILIATION:
|
|
29
|
+
return state.set('scoreReconciliation', action.payload);
|
|
30
|
+
|
|
31
|
+
case _quizCommon.REGRADE_SET_PAYLOAD:
|
|
32
|
+
return state.set('regradingPayload', action.payload);
|
|
33
|
+
|
|
34
|
+
default:
|
|
35
|
+
return state;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
exports.default = _default;
|
|
@@ -0,0 +1,72 @@
|
|
|
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 = void 0;
|
|
9
|
+
|
|
10
|
+
var _keyBy = _interopRequireDefault(require("lodash/keyBy"));
|
|
11
|
+
|
|
12
|
+
var _immutable = require("immutable");
|
|
13
|
+
|
|
14
|
+
var _quizCommon = require("@instructure/quiz-common");
|
|
15
|
+
|
|
16
|
+
var addItemAnalyses = function addItemAnalyses(state, itemAnalyses) {
|
|
17
|
+
return state.setIn(['item_analysis'], (0, _immutable.fromJS)((0, _keyBy.default)(itemAnalyses, 'itemId')));
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
var addQuizAnalysis = function addQuizAnalysis(state, quizAnalyses) {
|
|
21
|
+
var quizAnalysis = quizAnalyses[0];
|
|
22
|
+
return state.setIn(['quiz_analysis', quizAnalysis.quizId], (0, _immutable.fromJS)(quizAnalysis));
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
var markQuizAnalysisNotFound = function markQuizAnalysisNotFound(state, quizId) {
|
|
26
|
+
return state.setIn(['quiz_analysis', quizId], (0, _immutable.fromJS)({
|
|
27
|
+
quizId: quizId,
|
|
28
|
+
notFound: true
|
|
29
|
+
}));
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
var markItemAnalysisNotFound = function markItemAnalysisNotFound(state, itemId) {
|
|
33
|
+
return state.setIn(['item_analysis', itemId], (0, _immutable.fromJS)({
|
|
34
|
+
itemId: itemId,
|
|
35
|
+
notFound: true
|
|
36
|
+
}));
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
var toggleItemAnalysisRow = function toggleItemAnalysisRow(state, itemId) {
|
|
40
|
+
return state.updateIn(['item_analysis_row_open', itemId], false, function (isOpen) {
|
|
41
|
+
return !isOpen;
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
var defaultState = (0, _immutable.fromJS)({});
|
|
46
|
+
|
|
47
|
+
var _default = function _default() {
|
|
48
|
+
var state = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : defaultState;
|
|
49
|
+
var action = arguments.length > 1 ? arguments[1] : void 0;
|
|
50
|
+
|
|
51
|
+
switch (action.type) {
|
|
52
|
+
case _quizCommon.ADD_ITEM_ANALYSES:
|
|
53
|
+
return addItemAnalyses(state, action.payload);
|
|
54
|
+
|
|
55
|
+
case _quizCommon.ADD_QUIZ_ANALYSIS:
|
|
56
|
+
return addQuizAnalysis(state, action.payload);
|
|
57
|
+
|
|
58
|
+
case _quizCommon.QUIZ_ANALYSIS_NOT_FOUND:
|
|
59
|
+
return markQuizAnalysisNotFound(state, action.payload);
|
|
60
|
+
|
|
61
|
+
case _quizCommon.ITEM_ANALYSIS_NOT_FOUND:
|
|
62
|
+
return markItemAnalysisNotFound(state, action.payload);
|
|
63
|
+
|
|
64
|
+
case _quizCommon.TOGGLE_ITEM_ANALYSIS_EXPANDED:
|
|
65
|
+
return toggleItemAnalysisRow(state, action.payload);
|
|
66
|
+
|
|
67
|
+
default:
|
|
68
|
+
return state;
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
exports.default = _default;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _immutable = require("immutable");
|
|
9
|
+
|
|
10
|
+
var _quizCommon = require("@instructure/quiz-common");
|
|
11
|
+
|
|
12
|
+
var _default = function _default() {
|
|
13
|
+
var state = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : (0, _immutable.Map)({});
|
|
14
|
+
var action = arguments.length > 1 ? arguments[1] : void 0;
|
|
15
|
+
|
|
16
|
+
switch (action.type) {
|
|
17
|
+
case _quizCommon.SCROLL_TO_COMPONENT:
|
|
18
|
+
return state.set('scrolledComponentKey', action.payload).set('scrollingFocus', action.scrollingFocus);
|
|
19
|
+
|
|
20
|
+
case _quizCommon.CLEAR_SCROLLED_COMPONENT:
|
|
21
|
+
return state.set('scrolledComponentKey', null).set('scrollingFocus', null);
|
|
22
|
+
|
|
23
|
+
default:
|
|
24
|
+
return state;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
exports.default = _default;
|
|
@@ -0,0 +1,34 @@
|
|
|
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 = void 0;
|
|
9
|
+
|
|
10
|
+
var _immutable = require("immutable");
|
|
11
|
+
|
|
12
|
+
var _keyBy = _interopRequireDefault(require("lodash/keyBy"));
|
|
13
|
+
|
|
14
|
+
var _quizCommon = require("@instructure/quiz-common");
|
|
15
|
+
|
|
16
|
+
var addSessionItemResults = function addSessionItemResults(state, sessionItemResults) {
|
|
17
|
+
var sessionItemResultsHash = (0, _keyBy.default)(sessionItemResults, 'id');
|
|
18
|
+
return state.merge((0, _immutable.fromJS)(sessionItemResultsHash));
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
var _default = function _default() {
|
|
22
|
+
var state = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : (0, _immutable.Map)();
|
|
23
|
+
var action = arguments.length > 1 ? arguments[1] : void 0;
|
|
24
|
+
|
|
25
|
+
switch (action.type) {
|
|
26
|
+
case _quizCommon.ADD_SESSION_ITEM_RESULTS:
|
|
27
|
+
return addSessionItemResults(state, action.payload);
|
|
28
|
+
|
|
29
|
+
default:
|
|
30
|
+
return state;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
exports.default = _default;
|
|
@@ -0,0 +1,36 @@
|
|
|
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 = void 0;
|
|
9
|
+
|
|
10
|
+
var _keyBy = _interopRequireDefault(require("lodash/keyBy"));
|
|
11
|
+
|
|
12
|
+
var _immutable = require("immutable");
|
|
13
|
+
|
|
14
|
+
var _quizCommon = require("@instructure/quiz-common");
|
|
15
|
+
|
|
16
|
+
var addSessionItems = function addSessionItems(state, sessionItems) {
|
|
17
|
+
var sessionItemsHash = (0, _keyBy.default)(sessionItems, 'id');
|
|
18
|
+
return state.mergeDeep((0, _immutable.fromJS)(sessionItemsHash));
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
var defaultState = (0, _immutable.fromJS)({});
|
|
22
|
+
|
|
23
|
+
var _default = function _default() {
|
|
24
|
+
var state = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : defaultState;
|
|
25
|
+
var action = arguments.length > 1 ? arguments[1] : void 0;
|
|
26
|
+
|
|
27
|
+
switch (action.type) {
|
|
28
|
+
case _quizCommon.ADD_SESSION_ITEMS:
|
|
29
|
+
return addSessionItems(state, action.payload);
|
|
30
|
+
|
|
31
|
+
default:
|
|
32
|
+
return state;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
exports.default = _default;
|
|
@@ -0,0 +1,45 @@
|
|
|
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 = void 0;
|
|
9
|
+
|
|
10
|
+
var _keyBy = _interopRequireDefault(require("lodash/keyBy"));
|
|
11
|
+
|
|
12
|
+
var _immutable = require("immutable");
|
|
13
|
+
|
|
14
|
+
var _quizCommon = require("@instructure/quiz-common");
|
|
15
|
+
|
|
16
|
+
var addShareBanks = function addShareBanks(state, sharedBank) {
|
|
17
|
+
return state.mergeDeep((0, _immutable.fromJS)((0, _keyBy.default)(sharedBank, 'id')));
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
var updateSharedBankPermission = function updateSharedBankPermission(state, _ref) {
|
|
21
|
+
var sharedBankId = _ref.sharedBankId,
|
|
22
|
+
permission = _ref.permission;
|
|
23
|
+
return state.setIn([sharedBankId, 'permission'], permission);
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
var _default = function _default() {
|
|
27
|
+
var state = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : (0, _immutable.fromJS)({});
|
|
28
|
+
var action = arguments.length > 1 ? arguments[1] : void 0;
|
|
29
|
+
|
|
30
|
+
switch (action.type) {
|
|
31
|
+
case _quizCommon.ADD_SHARED_BANKS:
|
|
32
|
+
return addShareBanks(state, action.payload);
|
|
33
|
+
|
|
34
|
+
case _quizCommon.UPDATE_SHARED_BANK_PERMISSION:
|
|
35
|
+
return updateSharedBankPermission(state, action.payload);
|
|
36
|
+
|
|
37
|
+
case _quizCommon.REMOVE_SHARED_BANK:
|
|
38
|
+
return state.remove(action.payload);
|
|
39
|
+
|
|
40
|
+
default:
|
|
41
|
+
return state;
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
exports.default = _default;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _immutable = require("immutable");
|
|
9
|
+
|
|
10
|
+
var _quizCommon = require("@instructure/quiz-common");
|
|
11
|
+
|
|
12
|
+
var _default = function _default() {
|
|
13
|
+
var state = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : (0, _immutable.Map)({
|
|
14
|
+
isOpen: false
|
|
15
|
+
});
|
|
16
|
+
var action = arguments.length > 1 ? arguments[1] : void 0;
|
|
17
|
+
|
|
18
|
+
switch (action.type) {
|
|
19
|
+
case _quizCommon.TOGGLE_SIDEBAR:
|
|
20
|
+
return state.set('isOpen', !state.get('isOpen'));
|
|
21
|
+
|
|
22
|
+
case _quizCommon.SET_SIDEBAR_STIMULUS_IS_SHOWING:
|
|
23
|
+
return state.set(action.payload.stimulusId, action.payload.bool);
|
|
24
|
+
|
|
25
|
+
default:
|
|
26
|
+
return state;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
exports.default = _default;
|