@instructure/quiz-grading
Version:
The Quiz React SDK by Instructure Inc.
61 lines (60 loc) • 3.5 kB
JavaScript
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;