@instructure/quiz-grading
Version:
The Quiz React SDK by Instructure Inc.
46 lines • 2.37 kB
JavaScript
import { Map } from 'immutable';
import RegradeOverridePresenter from './presenter';
import { connect, makeEditable, addError, screenreaderNotification, changeItemState, changeQuizEntryPoints, changeQuizEntryProperties, clearModifications, showError, hideError, openModal, setRegradingPayload, toggleRegradingEditMode, getItem, getQuizEntry, interactionFileUpload, setOneAtATimeType, featureOn, getActiveQuizId, getQuizEntryById, isActiveQuizWorkingInstanceOneQuestionAtATime, getItemById } from '@instructure/quiz-core';
function mapStateToProps(state, props) {
var errorsShowing = state.get('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;
return {
appContainer: state.getIn(['ui', 'appContainer']),
entry: entry,
errorsAreShowing: errorsAreShowing,
oneQuestionAtATime: isActiveQuizWorkingInstanceOneQuestionAtATime(state),
partialScoringEnabled: featureOn('partial_scoring'),
partialDeepScoringEnabled: featureOn('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;