From d5aec38e57d8364705a96f22f6072abca02ec09d Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Tue, 15 Nov 2016 13:11:21 +0100 Subject: [PATCH] Start table Component --- src/dom_components/model/ComponentTable.js | 45 +++++++++++++++++++ src/dom_components/view/ComponentTableView.js | 22 +++++++++ 2 files changed, 67 insertions(+) create mode 100644 src/dom_components/model/ComponentTable.js create mode 100644 src/dom_components/view/ComponentTableView.js diff --git a/src/dom_components/model/ComponentTable.js b/src/dom_components/model/ComponentTable.js new file mode 100644 index 000000000..48cbd867e --- /dev/null +++ b/src/dom_components/model/ComponentTable.js @@ -0,0 +1,45 @@ +define(['./ComponentText'], + function (Component) { + + return Component.extend({ + + defaults: _.extend({}, Component.prototype.defaults, { + tagName: 'table', + columns: 3, + rows: 2, + traits: [{ + label: 'Columns', + name: 'columns', + changeProp: 1, + },{ + label: 'Rows', + name: 'rows', + changeProp: 1, + }] + }), + + initialize: function(o, opt) { + Component.prototype.initialize.apply(this, arguments); + //this.listenTo(this, 'change:columns change:rows', this.render); + }, + + },{ + + /** + * Detect if the passed element is a valid component. + * In case the element is valid an object abstracted + * from the element will be returned + * @param {HTMLElement} + * @return {Object} + * @private + */ + isComponent: function(el) { + var result = ''; + if(el.tagName == 'TABLE'){ + result = {type: 'table'}; + } + return result; + }, + + }); +}); diff --git a/src/dom_components/view/ComponentTableView.js b/src/dom_components/view/ComponentTableView.js new file mode 100644 index 000000000..201310e9a --- /dev/null +++ b/src/dom_components/view/ComponentTableView.js @@ -0,0 +1,22 @@ +define(['backbone', './ComponentView'], + function (Backbone, ComponentView) { + + return ComponentView.extend({ + + events: {}, + /* + initialize: function(o){ + ComponentView.prototype.initialize.apply(this, arguments); + this.classEmpty = this.ppfx + 'plh-map'; + }, + */ +/* + render: function() { + ComponentView.prototype.render.apply(this, arguments); + this.updateClasses(); + this.el.appendChild(this.getIframe()); + return this; + }, +*/ + }); +});