diff options
author | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2013-09-19 12:38:34 +0300 |
---|---|---|
committer | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2013-09-19 20:37:11 +0300 |
commit | 9e2f9a25730b995e408562042dd9dd8e690c78d4 (patch) | |
tree | f4696007ac93b8f3bf5495188e941b909c5552f0 /web | |
parent | e3ce283dd441d6c0dbec8d9b4049a3b9066565a3 (diff) | |
download | aconf-9e2f9a25730b995e408562042dd9dd8e690c78d4.tar.bz2 aconf-9e2f9a25730b995e408562042dd9dd8e690c78d4.tar.xz |
web client: move field labeling to Inline widget
Diffstat (limited to 'web')
-rw-r--r-- | web/client.js | 64 |
1 files changed, 32 insertions, 32 deletions
diff --git a/web/client.js b/web/client.js index 0e22be3..82c366f 100644 --- a/web/client.js +++ b/web/client.js @@ -364,24 +364,27 @@ $(function() { return $("<a>").attr({href: "javascript:void(0);"}); } + function makeRow(el) { + if (el.is("td")) return $("<tr>").html(el); + return el; + } + var Widget = { - init: function( - data, name, meta, label, level, editable, removable - ) { + init: function(data, name, meta, level, editable, removable) { var value = data.get(name); if (!editable) { var el = this.staticRender(value); this.setElStatus(el, status); - if (label) return this.attachLabel(el, label); return el; } this.el = this.render(value, meta); - var el = this.attachLabel(this.wrap(), label); + var el = this.wrap(); + if (removable) { var link = href().click(function() { data.delete(name).done(function(txnValid) { @@ -389,6 +392,7 @@ $(function() { renderObject(); }) }).text("Delete"); + el = makeRow(el); if (el.is("tr")) link = $("<td>").html(link); el.append(link); } @@ -402,13 +406,6 @@ $(function() { el.prop("class", status); }, - attachLabel: function(el, label) { - var row = $("<tr>"); - row.append($("<td>").text(label)); - row.append(el); - return row; - }, - wrap: function() { return this.el; }, setStatus: function(status) { @@ -420,10 +417,10 @@ $(function() { var Field = Object.create(Widget); Field.init = function( - data, name, meta, label, level, editable, removable + data, name, meta, level, editable, removable ) { var el = _.bind(Widget.init, this)( - data, name, meta, label, level, editable, removable + data, name, meta, level, editable, removable ); if (editable) { @@ -545,16 +542,18 @@ $(function() { return this.staticRender(value); }; + Link.wrap = function() { return $("<td>").html(this.el); }; + Link.get = function() { return {}; }; Inline = Object.create(Link); Inline.init = function( - data, name, meta, label, level, editable, removable + data, name, meta, level, editable, removable ) { var el = _.bind(Widget.init, this)( - data, name, meta, label, level, editable, removable + data, name, meta, level, editable, removable ); this.requestData(data.get(name), Math.min(6, level + 1)); return el; @@ -562,9 +561,7 @@ $(function() { Inline.staticRender = function(value) { return $("<div>"); }; - Inline.attachLabel = function(el, label) { - return $("<div>").html(el); - }; + Inline.wrap = function() { return $("<div>").html(this.el); }; Inline.setStatus = function(status) {}; @@ -596,17 +593,21 @@ $(function() { } function renderField(name, meta, label, editable, removable) { - var el = Object.create(widgets[meta.widget]).init( - data, - name, - meta, - label, - level, - editable, - removable + var el = makeRow( + Object.create(widgets[meta.widget]).init( + data, + name, + meta, + level, + editable, + removable + ) ); - if (el.is("tr")) appendRow(el); + if (el.is("tr")) { + el.prepend($("<td>").text(label)); + appendRow(el); + } else { table = null; div.append(el); @@ -696,7 +697,7 @@ $(function() { Form.staticRender = function(value) { return $("#content"); }; - Form.attachLabel = function(el, label) { return el; }; + Form.wrap = function() { return this.el; }; Form.requestData = function(path, level) { if (this.data) this.renderObject(this.data, level); @@ -718,7 +719,6 @@ $(function() { }, name, null, - null, 0, true, false @@ -731,11 +731,11 @@ $(function() { var Reference = Object.create(ComboBox); Reference.init = function( - data, name, meta, label, level, editable, removable + data, name, meta, level, editable, removable ) { this.field = ComboBox.render(data.get(name), meta, level); return _.bind(ComboBox.init, this)( - data, name, meta, label, level, editable, removable + data, name, meta, level, editable, removable ); }; |