diff options
Diffstat (limited to 'web/client.js')
-rw-r--r-- | web/client.js | 49 |
1 files changed, 24 insertions, 25 deletions
diff --git a/web/client.js b/web/client.js index f66b717..102e0eb 100644 --- a/web/client.js +++ b/web/client.js @@ -848,6 +848,8 @@ $(function() { staticRender: function(value, meta) { return null; }, + createEl: function() { return $("<div>"); }, + showStatus: false, requestData: function(value, meta) { @@ -863,11 +865,16 @@ $(function() { return def; }, + showHeading: true, + render: function(data, meta) { - this.renderFields(data, meta); - }, + if (this.showHeading) + this.el.html( + $("<h" + this.level + ">").text(meta["ui-name"]) + ); + + this.appendAboveFields(data, meta); - renderFields: function(data, meta) { this.reqData = data; var self = this; @@ -903,9 +910,14 @@ $(function() { if (meta.type == "set") name = data.data[name]; else if (_.isArray(data.data)) name++; self.renderCollectionMember(name, meta); - }); + }); + + this.appendBelowFields(data, meta); }, + appendAboveFields: function(data, meta) {}, + appendBelowFields: function(data, meta) {}, + renderField: function( name, meta, label, editable, removable ) { @@ -966,6 +978,8 @@ $(function() { )); }, + showHeading: false, + appendWidget: function(el, label) { if (!el.is("td")) return null; if (this.previous) this.previous.after(el); @@ -1012,26 +1026,10 @@ $(function() { }); - var HeaderInline = Inline.extend({ - createEl: function() { return $("<div>"); }, - - render: function(data, meta) { - this.el.html( - $("<h" + this.level + ">").text(meta["ui-name"]) - ); - } - }); - - - var Vertical = HeaderInline.extend({ + var Vertical = Inline.extend({ wrap: function() { return $("<div>").html(this.el); }, - render: function(data, meta) { - this.super(Vertical, "render", data, meta); - - if (!isTreeNode(meta)) - return this.el.append(JSON.stringify(data)); - + appendAboveFields: function(data, meta) { this.div = $("<div>"); this.el.append(this.div); @@ -1049,13 +1047,14 @@ $(function() { }); })); }); + }, - this.renderFields(data, meta); - + appendBelowFields: function(data, meta) { if (meta.editable && _.contains(["collection", "list"], meta.type)) { if (!this.table) this.makeSortable(this.div); + var self = this; var keys = _.clone(_.keys(data.data)); var button = $("<input>").attr( @@ -1170,7 +1169,7 @@ $(function() { }); - var CheckBoxes = HeaderInline.extend({ + var CheckBoxes = Inline.extend({ showStatus: true, setStatus: function(status) { |