From ab3d3e8834b9db6034c6f5d4b731906cffe054e0 Mon Sep 17 00:00:00 2001 From: David Joy Date: Tue, 4 Feb 2020 15:00:21 -0500 Subject: [PATCH] fix: updating URL when unit changes. --- src/courseware/course/SequenceContainer.jsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/courseware/course/SequenceContainer.jsx b/src/courseware/course/SequenceContainer.jsx index cd102fd8..614beb66 100644 --- a/src/courseware/course/SequenceContainer.jsx +++ b/src/courseware/course/SequenceContainer.jsx @@ -1,5 +1,7 @@ /* eslint-disable no-plusplus */ -import React, { useEffect, useState, useContext } from 'react'; +import React, { + useEffect, useState, useContext, useCallback, +} from 'react'; import PropTypes from 'prop-types'; import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; import { history, camelCaseObject, getConfig } from '@edx/frontend-platform'; @@ -59,6 +61,9 @@ function SequenceContainer({ } }, [loaded, metadata, unitId]); + const handleUnitNavigation = useCallback((nextUnitId) => { + history.push(`/course/${courseUsageKey}/${sequenceId}/${nextUnitId}`); + }, [courseUsageKey, sequenceId]); const { add, remove } = useContext(UserMessagesContext); useEffect(() => { @@ -115,7 +120,7 @@ function SequenceContainer({ id={sequenceId} courseUsageKey={courseUsageKey} courseId={courseId} - unitIds={metadata.items.map(item => item.id)} + unitIds={metadata.items.map((item) => item.id)} units={units} displayName={displayName} activeUnitId={unitId} @@ -126,6 +131,7 @@ function SequenceContainer({ bannerText={bannerText} onNext={onNext} onPrevious={onPrevious} + onNavigateUnit={handleUnitNavigation} prerequisite={prerequisite} /> );