Browse Source

Update video attributes on render. Closes #2501

pull/2578/head
Artur Arseniev 7 years ago
parent
commit
ed54a763c6
  1. 22
      src/dom_components/view/ComponentVideoView.js

22
src/dom_components/view/ComponentVideoView.js

@ -8,13 +8,20 @@ export default ComponentView.extend({
initialize(o) { initialize(o) {
OComponentView.prototype.initialize.apply(this, arguments); OComponentView.prototype.initialize.apply(this, arguments);
this.listenTo(this.model, 'change:src', this.updateSrc); const { model } = this;
this.listenTo( const props = [
this.model, 'loop',
'change:loop change:autoplay change:controls change:color change:rel change:modestbranding change:poster', 'autoplay',
this.updateVideo 'controls',
); 'color',
this.listenTo(this.model, 'change:provider', this.updateProvider); '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(); this.updateClasses();
var prov = this.model.get('provider'); var prov = this.model.get('provider');
this.el.appendChild(this.renderByProvider(prov)); this.el.appendChild(this.renderByProvider(prov));
this.updateVideo();
return this; return this;
} }
}); });

Loading…
Cancel
Save