UNPKG

@instructure/quiz-grading

Version:

The Quiz React SDK by Instructure Inc.

61 lines (60 loc) 3.5 kB
import { Map, Set } from 'immutable'; import RegradeOverridePresenter from './presenter'; import { connect } from '@instructure/quiz-core/common/react-redux'; import { makeEditable } from '@instructure/quiz-core/common/components/shared/functionality/makeEditable'; import { addError, screenreaderNotification } from '@instructure/quiz-core/common/actions/alerts'; import { changeItemState, changeQuizEntryPoints, changeQuizEntryProperties, clearModifications } from '@instructure/quiz-core/common/actions/modifications'; import { showError, hideError } from '@instructure/quiz-core/common/actions/errorsShowing'; import { openModal } from '@instructure/quiz-core/common/actions/modal'; import { setRegradingPayload, toggleRegradingEditMode } from '@instructure/quiz-core/common/actions/regrading'; import { getItem } from '@instructure/quiz-core/building/api/items'; import { getQuizEntry } from '@instructure/quiz-core/building/api/quizEntries'; import { interactionFileUpload, setOneAtATimeType } from '@instructure/quiz-core/building/api/quizzes'; import { getActiveQuizId, getQuizEntryById, isActiveQuizWorkingInstanceOneQuestionAtATime } from '@instructure/quiz-core/common/selectors/quizzes'; import { getItemById } from '@instructure/quiz-core/common/selectors/items'; function mapStateToProps(state, props) { var _state_errorsShowing; var errorsShowing = (_state_errorsShowing = state.errorsShowing) !== null && _state_errorsShowing !== void 0 ? _state_errorsShowing : Map(); var errorsAreShowing = errorsShowing.get(props.guid); var quizEntry = getQuizEntryById(state, props.sessionItem.quizEntryId); var entry = getItemById(state, props.itemId); var workingQuizEntry = quizEntry.getWorkingInstance(); var regradeAdjustedScoringData = workingQuizEntry.regradeAdjustedScoringData(props.itemId); var itemOverrides = regradeAdjustedScoringData ? { scoringData: regradeAdjustedScoringData, scoringAlgorithm: workingQuizEntry.regradeScoringAlgorithm(props.itemId) } : null; var _state_features; var features = (_state_features = state.features) !== null && _state_features !== void 0 ? _state_features : Set(); return { appContainer: state.ui.get('appContainer'), entry: entry, errorsAreShowing: errorsAreShowing, oneQuestionAtATime: isActiveQuizWorkingInstanceOneQuestionAtATime(state), partialScoringEnabled: features.includes('partial_scoring'), partialDeepScoringEnabled: features.includes('partial_deep_scoring'), quizEntry: quizEntry, quizId: getActiveQuizId(state), workingEntry: entry.getWorkingInstance(itemOverrides), workingQuizEntry: workingQuizEntry }; } var mapDispatchToProps = { hideError: hideError, showError: showError, addError: addError, changeItemState: changeItemState, changeQuizEntryPoints: changeQuizEntryPoints, changeQuizEntryProperties: changeQuizEntryProperties, clearModifications: clearModifications, getItem: getItem, getQuizEntry: getQuizEntry, interactionFileUpload: interactionFileUpload, openModal: openModal, screenreaderNotification: screenreaderNotification, setOneQuestionAtATime: setOneAtATimeType, setRegradingPayload: setRegradingPayload, toggleRegradingEditMode: toggleRegradingEditMode }; export var RegradeOverride = makeEditable(connect(mapStateToProps, mapDispatchToProps)(RegradeOverridePresenter)); export default RegradeOverride;