UNPKG

@instructure/quiz-grading

Version:

The Quiz React SDK by Instructure Inc.

28 lines (27 loc) 1.4 kB
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;