From 5149d9d205cf796787a569c3ed38d5a6eb86cf98 Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Mon, 31 Oct 2016 14:25:23 +0100 Subject: [PATCH] Start Video Component --- src/dom_components/model/ComponentVideo.js | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/dom_components/model/ComponentVideo.js diff --git a/src/dom_components/model/ComponentVideo.js b/src/dom_components/model/ComponentVideo.js new file mode 100644 index 000000000..98cacc977 --- /dev/null +++ b/src/dom_components/model/ComponentVideo.js @@ -0,0 +1,49 @@ +define(['./ComponentImage'], + function (Component) { + + return Component.extend({ + + defaults: _.extend({}, Component.prototype.defaults, { + type: 'video', + tagName: 'video', + provider: '', // on change of provider, traits are switched + traits: this.getSourceTraits(), + }), + + // Listen provider change and switch traits, in TraitView listen traits change + + /** + * Return the provider trait + * @return {Object} + * @private + */ + getProviderTrait: function() { + return { + type: 'select', + label: 'Provider', + name: 'provider', + changeProp: 1, + options: [ + {value: 'so', name: 'HTML5 Source'}, + {value: 'yt', name: 'Youtube'}, + {value: 'vi', name: 'Vimeo'} + ] + }; + }, + + /** + * Return traits for the source provider + * @return {Array} + * @private + */ + getSourceTraits: function() { + return [ + this.getProviderTrait(), { + type: 'stack', + label: 'Sources', + layers: [] + }]; + }, + + }); +});