From aaaaccc51ac1c40100d167de4bab8a75165c32ff Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Mon, 3 Oct 2016 23:53:46 +0200 Subject: [PATCH] Add trait factory --- src/dom_components/model/Component.js | 9 +++++++ src/trait_manager/model/Trait.js | 1 + src/trait_manager/model/TraitFactory.js | 32 +++++++++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 src/trait_manager/model/TraitFactory.js diff --git a/src/dom_components/model/Component.js b/src/dom_components/model/Component.js index f26f3fa67..9ebcad9e0 100644 --- a/src/dom_components/model/Component.js +++ b/src/dom_components/model/Component.js @@ -110,5 +110,14 @@ define(['backbone','./Components', 'SelectorManager/model/Selectors'], return this.name; }, + /** + * Returns HTML code of the component + * @return {string} + * @private + */ + getCode: function() { + return ''; + }, + }); }); diff --git a/src/trait_manager/model/Trait.js b/src/trait_manager/model/Trait.js index 638a146e1..b2901188f 100644 --- a/src/trait_manager/model/Trait.js +++ b/src/trait_manager/model/Trait.js @@ -8,6 +8,7 @@ define(['backbone'], label: '', name: '', value: '', + target: '', options: [], }, diff --git a/src/trait_manager/model/TraitFactory.js b/src/trait_manager/model/TraitFactory.js new file mode 100644 index 000000000..bcb97e698 --- /dev/null +++ b/src/trait_manager/model/TraitFactory.js @@ -0,0 +1,32 @@ +define(['backbone'], + function(Backbone) { + + return function() { + + return { + /** + * Build props object by their name + * @param {Array|string} props Array of properties name + * @return {Array} + */ + build: function(props){ + var objs = []; + + if(typeof props === 'string') + props = [props]; + + for (var i = 0, len = props.length; i < len; i++) { + var obj = {}; + var prop = props[i]; + obj.name = prop; + + objs.push(obj); + } + + return objs; + }, + + }; + + }; +});