feat: rollout jump nav to course staff (#672)

As per https://openedx.atlassian.net/browse/TNL-7107 we need to rollout jumpnav to course staff.
This commit is contained in:
connorhaugh
2021-10-08 09:33:15 -04:00
committed by GitHub
parent 09072f318b
commit 2230173da8
3 changed files with 10 additions and 4 deletions

View File

@@ -90,6 +90,7 @@ function Course({
courseId={courseId}
sectionId={section ? section.id : null}
sequenceId={sequenceId}
isStaff={course ? course.isStaff : null}
unitId={unitId}
//* * [MM-P2P] Experiment */
mmp2p={MMP2P}

View File

@@ -6,17 +6,15 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faHome } from '@fortawesome/free-solid-svg-icons';
import { useSelector } from 'react-redux';
import { SelectMenu } from '@edx/paragon';
import { getAuthenticatedUser } from '@edx/frontend-platform/auth';
import { useModel, useModels } from '../../generic/model-store';
/** [MM-P2P] Experiment */
import { MMP2PFlyoverTrigger } from '../../experiments/mm-p2p';
import JumpNavMenuItem from './JumpNavMenuItem';
function CourseBreadcrumb({
content, withSeparator, courseId, unitId,
content, withSeparator, courseId, unitId, isStaff,
}) {
const defaultContent = content.filter(destination => destination.default)[0] || { id: courseId, label: '' };
const { administrator } = getAuthenticatedUser();
return (
<>
@@ -30,7 +28,7 @@ function CourseBreadcrumb({
whiteSpace: 'nowrap',
}}
>
{ getConfig().ENABLE_JUMPNAV !== 'true' || content.length < 2 || !administrator
{ getConfig().ENABLE_JUMPNAV !== 'true' || content.length < 2 || !isStaff
? (
<a className="text-primary-500" href={`/course/${courseId}/${defaultContent.id}`}>
{defaultContent.label}
@@ -65,12 +63,14 @@ CourseBreadcrumb.propTypes = {
unitId: PropTypes.string,
withSeparator: PropTypes.bool,
courseId: PropTypes.string,
isStaff: PropTypes.bool,
};
CourseBreadcrumb.defaultProps = {
withSeparator: false,
unitId: null,
courseId: null,
isStaff: null,
};
export default function CourseBreadcrumbs({
@@ -78,6 +78,7 @@ export default function CourseBreadcrumbs({
sectionId,
sequenceId,
unitId,
isStaff,
/** [MM-P2P] Experiment */
mmp2p,
}) {
@@ -140,6 +141,7 @@ export default function CourseBreadcrumbs({
content={content}
unitId={unitId}
withSeparator
isStaff={isStaff}
/>
))}
{/** [MM-P2P] Experiment */}
@@ -156,6 +158,7 @@ CourseBreadcrumbs.propTypes = {
sectionId: PropTypes.string,
sequenceId: PropTypes.string,
unitId: PropTypes.string,
isStaff: PropTypes.bool,
/** [MM-P2P] Experiment */
mmp2p: PropTypes.shape({
state: PropTypes.shape({
@@ -168,6 +171,7 @@ CourseBreadcrumbs.defaultProps = {
sectionId: null,
sequenceId: null,
unitId: null,
isStaff: null,
/** [MM-P2P] Experiment */
mmp2p: {},
};

View File

@@ -109,6 +109,7 @@ describe('CourseBreadcrumbs', () => {
courseId="course-v1:edX+DemoX+Demo_Course"
sectionId="block-v1:edX+DemoX+Demo_Course+type@chapter+block@interactive_demonstrations"
sequenceId="block-v1:edX+DemoX+Demo_Course+type@sequential+block@basic_questions"
isStaff
/>,
);
it('renders course breadcrumbs as expected', async () => {