@instructure/quiz-grading
Version:
The Quiz React SDK by Instructure Inc.
28 lines (27 loc) • 1.4 kB
JavaScript
import { compose } from 'redux';
import { Map } from 'immutable';
import SessionItemResultWrapperPresenter from './presenter';
import { connect, makeEditable, makeScrollable, setActiveItem, toggleRegradingEditMode } from '@instructure/quiz-core';
// for Redux caching
var emptyMap = Map();
function mapStateToProps(state, props) {
var sessionItemResult = props.sessionItem.sessionItemResult;
var workingSessionItemResult = sessionItemResult.getWorkingInstance();
var modifications = state.getIn(['modifications', 'sessionItemResults', props.sessionItem.id], emptyMap);
return {
activeItemId: state.getIn(['grading', 'activeItemId']),
activeQuizSessionId: state.getIn(['quizSessions', 'activeQuizSessionId']),
appContainer: state.getIn(['ui', 'appContainer']),
gradeByQuestionEnabled: state.getIn(['grading', 'gradeByQuestionEnabled']),
graderFeedback: workingSessionItemResult.getIn(['feedback', 'graderFeedback'], emptyMap),
itemResultsModifications: modifications,
scrollKey: props.sessionItem.id,
sessionItemResult: sessionItemResult
};
}
var dispatchableActions = {
setActiveItem: setActiveItem,
toggleRegradingEditMode: toggleRegradingEditMode
};
export var SessionItemResultWrapper = compose(connect(mapStateToProps, dispatchableActions), makeScrollable, makeEditable)(SessionItemResultWrapperPresenter);
export default SessionItemResultWrapper;