diff options
3 files changed, 16 insertions, 4 deletions
diff --git a/resources/vue/components/courseware/containers/CoursewareAccordionContainer.vue b/resources/vue/components/courseware/containers/CoursewareAccordionContainer.vue index 2b1b12a..ad8d82f 100644 --- a/resources/vue/components/courseware/containers/CoursewareAccordionContainer.vue +++ b/resources/vue/components/courseware/containers/CoursewareAccordionContainer.vue @@ -198,7 +198,12 @@ export default { return []; } - return this.container.relationships.blocks.data.map(({ id }) => this.blockById({ id })).filter((a) => a); + const blocks = this.container.relationships.blocks.data.map(({ id }) => this.blockById({ id })).filter((a) => a); + + // Load only visible blocks in view-only content. + return this.canEdit + ? blocks + : blocks.filter(b => b.attributes.visible); }, icons() { return this.contentIcons; diff --git a/resources/vue/components/courseware/containers/CoursewareListContainer.vue b/resources/vue/components/courseware/containers/CoursewareListContainer.vue index a1cb3e3..cf55bef 100644 --- a/resources/vue/components/courseware/containers/CoursewareListContainer.vue +++ b/resources/vue/components/courseware/containers/CoursewareListContainer.vue @@ -141,8 +141,10 @@ export default { sortedBlocks.forEach(({ id }) => unallocated.delete(id)); let unallocatedBlocks = [...unallocated].map((id) => this.blockById({ id })); - // Load only visible blocks. That should be sufficient because the visibility already indicates permissions. - return sortedBlocks.concat(unallocatedBlocks).filter(block => block.attributes.visible === true); + // Load only visible blocks in view-only content. + return this.canEdit + ? sortedBlocks.concat(unallocatedBlocks) + : sortedBlocks.concat(unallocatedBlocks).filter(block => block.attributes.visible); }, empty() { return this.blockList.length === 0; diff --git a/resources/vue/components/courseware/containers/CoursewareTabsContainer.vue b/resources/vue/components/courseware/containers/CoursewareTabsContainer.vue index 3577a0a..58b215e 100644 --- a/resources/vue/components/courseware/containers/CoursewareTabsContainer.vue +++ b/resources/vue/components/courseware/containers/CoursewareTabsContainer.vue @@ -198,7 +198,12 @@ export default { return []; } - return this.container.relationships.blocks.data.map(({ id }) => this.blockById({ id })).filter((a) => a); + const blocks = this.container.relationships.blocks.data.map(({ id }) => this.blockById({ id })).filter((a) => a); + + // Load only visible blocks in view-only content. + return this.canEdit + ? blocks + : blocks.filter(b => b.attributes.visible); }, icons() { return this.contentIcons; |
