@instructure/quiz-grading
Version:
The Quiz React SDK by Instructure Inc.
33 lines (25 loc) • 1.36 kB
JavaScript
import {bindActionCreators} from 'redux'
import {connect} from '@instructure/quiz-core/common/react-redux'
import {getActiveQuizSession} from '@instructure/quiz-core/common/selectors/quizSessions'
import {toggleSidebar as toggleSidebarAction} from '@instructure/quiz-core/common/actions/sidebar'
import {scrollToItem as scrollToItemAction} from '@instructure/quiz-core/common/actions/scrolling'
import {screenreaderNotification as screenreaderNotificationAction} from '@instructure/quiz-core/common/actions/alerts'
import {GradingSidebar as Sidebar} from './presenter'
export const mapStateToProps = (state, props) => {
const quizSession = getActiveQuizSession(state)
return {
quizTitle: quizSession.getQuiz().title,
sessionItems: quizSession.getSessionItems(),
sessionNotLoaded: quizSession.id === '0',
sidebarOpen: props.sidebarOpen || state.sidebar.get('isOpen'),
}
}
export const mapDispatchToProps = (dispatch, props) => {
return {
scrollToItem: props.scrollToItem || bindActionCreators(scrollToItemAction, dispatch),
toggleSidebar: props.toggleSidebar || bindActionCreators(toggleSidebarAction, dispatch),
screenreaderNotification: bindActionCreators(screenreaderNotificationAction, dispatch),
}
}
export const GradingSidebar = connect(mapStateToProps, mapDispatchToProps)(Sidebar)
export default GradingSidebar