UNPKG

@instructure/quiz-taking

Version:
26 lines (25 loc) 1.32 kB
import { connect } from '@instructure/quiz-core/common/react-redux'; import { screenreaderNotification } from '@instructure/quiz-core/common/actions/alerts'; import { pinSessionItem } from '@instructure/quiz-core/common/api/quizSessions'; import { getActiveQuizSession } from '@instructure/quiz-core/common/selectors/quizSessions'; import { TakingSidebarItem as SidebarItem } from './presenter'; function mapStateToProps(state, ownProps) { var quizSession = getActiveQuizSession(state); var responses = state.taking.get('responses'); // Check if there's a response at this position by finding any response // whose position property matches the actual position (not the display question number) var isAnswered = responses ? responses.some(function(response) { return (response === null || response === void 0 ? void 0 : response.get('position')) === ownProps.actualPosition; }) : false; return { isPinned: quizSession.pins().includes(ownProps.position), isAnswered: isAnswered, quizSession: quizSession }; } var mapDispatchToProps = { screenreaderNotification: screenreaderNotification, pinSessionItem: pinSessionItem }; export var TakingSidebarItem = connect(mapStateToProps, mapDispatchToProps)(SidebarItem); export default TakingSidebarItem;