AA-368: Expand course outline section that contains resume block (#212)

This commit is contained in:
Carla Duarte
2020-09-16 13:46:06 -04:00
committed by GitHub
parent adfc2d568b
commit c5a43524a1
5 changed files with 11 additions and 2 deletions

View File

@@ -61,7 +61,7 @@ export default function buildSimpleCourseBlocks(courseId, title, options = {}) {
)];
const sectionBlock = options.sectionBlock || Factory.build(
'block',
{ type: 'chapter', children: sequenceBlock.map(block => block.id) },
{ type: 'chapter', children: sequenceBlock.map(block => block.id), resume_block: false },
{ courseId },
);
const courseBlock = options.courseBlocks || Factory.build(

View File

@@ -177,6 +177,7 @@ Object {
"complete": false,
"courseId": "course-v1:edX+DemoX+Demo_Course_1",
"id": "block-v1:edX+DemoX+Demo_Course+type@chapter+block@bcdabcdabcdabcdabcdabcdabcdabcd2",
"resumeBlock": false,
"sequenceIds": Array [
"block-v1:edX+DemoX+Demo_Course+type@sequential+block@bcdabcdabcdabcdabcdabcdabcdabcd1",
],

View File

@@ -35,6 +35,7 @@ export function normalizeOutlineBlocks(courseId, blocks) {
complete: block.complete,
id: block.id,
title: block.display_name,
resumeBlock: block.resume_block,
sequenceIds: block.children || [],
};
break;

View File

@@ -136,6 +136,7 @@ function OutlineTab({ intl }) {
<Section
key={sectionId}
courseId={courseId}
defaultOpen={sections[sectionId].resumeBlock}
expand={expandAll}
section={sections[sectionId]}
/>

View File

@@ -12,6 +12,7 @@ import messages from './messages';
function Section({
courseId,
defaultOpen,
expand,
intl,
section,
@@ -27,12 +28,16 @@ function Section({
},
} = useModel('outline', courseId);
const [open, setOpen] = useState(expand);
const [open, setOpen] = useState(defaultOpen);
useEffect(() => {
setOpen(expand);
}, [expand]);
useEffect(() => {
setOpen(defaultOpen);
}, []);
const sectionTitle = (
<div>
{complete ? (
@@ -96,6 +101,7 @@ function Section({
Section.propTypes = {
courseId: PropTypes.string.isRequired,
defaultOpen: PropTypes.bool.isRequired,
expand: PropTypes.bool.isRequired,
intl: intlShape.isRequired,
section: PropTypes.shape().isRequired,