summaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
authorKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2013-09-19 12:38:34 +0300
committerKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2013-09-19 20:37:11 +0300
commit9e2f9a25730b995e408562042dd9dd8e690c78d4 (patch)
treef4696007ac93b8f3bf5495188e941b909c5552f0 /web
parente3ce283dd441d6c0dbec8d9b4049a3b9066565a3 (diff)
downloadaconf-9e2f9a25730b995e408562042dd9dd8e690c78d4.tar.bz2
aconf-9e2f9a25730b995e408562042dd9dd8e690c78d4.tar.xz
web client: move field labeling to Inline widget
Diffstat (limited to 'web')
-rw-r--r--web/client.js64
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
);
};