From ed54a763c65c469b4e6f4c4f559ba134fe7ee48a Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Sun, 12 Jan 2020 20:59:20 +0100 Subject: [PATCH] Update video attributes on render. Closes #2501 --- src/dom_components/view/ComponentVideoView.js | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/dom_components/view/ComponentVideoView.js b/src/dom_components/view/ComponentVideoView.js index d09438c07..bee01e27b 100644 --- a/src/dom_components/view/ComponentVideoView.js +++ b/src/dom_components/view/ComponentVideoView.js @@ -8,13 +8,20 @@ export default ComponentView.extend({ initialize(o) { OComponentView.prototype.initialize.apply(this, arguments); - this.listenTo(this.model, 'change:src', this.updateSrc); - this.listenTo( - this.model, - 'change:loop change:autoplay change:controls change:color change:rel change:modestbranding change:poster', - this.updateVideo - ); - this.listenTo(this.model, 'change:provider', this.updateProvider); + const { model } = this; + const props = [ + 'loop', + 'autoplay', + 'controls', + 'color', + 'rel', + 'modestbranding', + 'poster' + ]; + const events = props.map(p => `change:${p}`).join(' '); + this.listenTo(model, 'change:provider', this.updateProvider); + this.listenTo(model, 'change:src', this.updateSrc); + this.listenTo(model, events, this.updateVideo); }, /** @@ -138,6 +145,7 @@ export default ComponentView.extend({ this.updateClasses(); var prov = this.model.get('provider'); this.el.appendChild(this.renderByProvider(prov)); + this.updateVideo(); return this; } });