diff --git a/resources/vue/components/courseware/CoursewareCollapsibleBox.vue b/resources/vue/components/courseware/CoursewareCollapsibleBox.vue index e4a7497c87a63b8ba2998e15ce7620474c468506..c4f9233140cee087c64d2a2d4b3dd956406d9b28 100755 --- a/resources/vue/components/courseware/CoursewareCollapsibleBox.vue +++ b/resources/vue/components/courseware/CoursewareCollapsibleBox.vue @@ -35,7 +35,19 @@ export default { isOpen: this.open, }; }, - methods: {}, + mounted(){ + this.updateCollapsible(); + }, + updated() { + this.updateCollapsible(); + }, + methods: { + updateCollapsible() { + if (this.isOpen) { + STUDIP.eventBus.emit('courseware:update-collapsible', { 'uid': this._uid }); + } + } + }, watch: { open(state) { this.isOpen = state; diff --git a/resources/vue/components/courseware/CoursewareEmbedBlock.vue b/resources/vue/components/courseware/CoursewareEmbedBlock.vue index 2808ffa2478ecce82eb5b4b51671b6febcad8cd3..ec8a42599853b3b8c2e22305208ecc79faab08ee 100755 --- a/resources/vue/components/courseware/CoursewareEmbedBlock.vue +++ b/resources/vue/components/courseware/CoursewareEmbedBlock.vue @@ -154,9 +154,17 @@ export default { }, mounted() { this.initCurrentData(); - window.addEventListener('resize', this.calcContentHeight); }, + + created () { + STUDIP.eventBus.on('courseware:update-tab', (data) => { + this.recalculateContentHeight(data); + }); + STUDIP.eventBus.on('courseware:update-collapsible', (data) => { + this.recalculateContentHeight(data); + }); + }, destroyed() { window.removeEventListener('resize', this.calcContentHeight); }, @@ -172,8 +180,15 @@ export default { this.currentEndTime = this.endTime; this.oembedData = this.oembed; if (this.oembedData !== null) { - this.calcContentHeight(); this.updateTime(); + this.calcContentHeight(); + } + }, + recalculateContentHeight(data){ + if (this.$parent._uid === data.uid) { + if (this.oembedData !== null) { + this.calcContentHeight(); + } } }, addTimeData(data) { diff --git a/resources/vue/components/courseware/CoursewareTab.vue b/resources/vue/components/courseware/CoursewareTab.vue index 5c5217283f811f4a9d1a5fe264f09e66b153353c..6be50af897eed7728f0a0417422efcb0196a8b5c 100755 --- a/resources/vue/components/courseware/CoursewareTab.vue +++ b/resources/vue/components/courseware/CoursewareTab.vue @@ -36,6 +36,12 @@ export default { mounted() { this.isActive = this.selected; }, + updated () { + if (this.isActive) { + STUDIP.eventBus.emit('courseware:update-tab',{ 'uid': this._uid }); + } + + }, watch: { selected(newValue) { this.isActive = newValue;