summaryrefslogtreecommitdiffstats
path: root/web/widget/abstract/base.js
diff options
context:
space:
mode:
Diffstat (limited to 'web/widget/abstract/base.js')
-rw-r--r--web/widget/abstract/base.js33
1 files changed, 19 insertions, 14 deletions
diff --git a/web/widget/abstract/base.js b/web/widget/abstract/base.js
index 4b2fc37..5dd49a6 100644
--- a/web/widget/abstract/base.js
+++ b/web/widget/abstract/base.js
@@ -25,11 +25,28 @@ define(
this.meta = meta;
this.level = level;
+ function appendRemoveButton(el) {
+ if (removable) {
+ var link = dom.href().click(function() {
+ data.delete(name).done(function(txnValid) {
+ $("#content").trigger("reload", [txnValid]);
+ })
+ }).text("Delete");
+ el = dom.makeRow(el);
+ if (el.is("tr")) link = $("<td>").html(link);
+ el.append(link);
+ }
+
+ return el;
+ }
+
var value = data.get(name);
- if (!removable && (!editable || !meta.editable)) {
+ if (!editable || !meta.editable) {
var el = this.staticRender(value, meta);
if (el) {
+ el = appendRemoveButton(el);
+
_.each(["start", "updated"], function(event) {
el.on(event, function(event) {
event.stopPropagation();
@@ -42,21 +59,9 @@ define(
this.makeEl();
this.dynamic = meta.dynamic;
-
- this.wrapped = this.wrap();
this.visible = true;
- if (removable) {
- var link = dom.href().click(function() {
- data.delete(name).done(function(txnValid) {
- $("#content").trigger("reload", [txnValid]);
- })
- }).text("Delete");
- this.wrapped = dom.makeRow(this.wrapped);
- if (this.wrapped.is("tr")) link = $("<td>").html(link);
- this.wrapped.append(link);
- }
-
+ this.wrapped = appendRemoveButton(this.wrap());
this.wrapped.data("description", meta.description);
this.handleResponse(this.requestData(value, meta));