summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2014-02-08 00:45:43 +0200
committerKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2014-02-14 22:36:15 +0200
commit6dd8f7d0fa0864fba7d1cb11730c4606c45dc46c (patch)
tree496904825451ff0bab0167b59f3ecb277c8f06bd
parent051bd0e339407ec40664db8e84d2060c5b5ea7d1 (diff)
downloadaconf-6dd8f7d0fa0864fba7d1cb11730c4606c45dc46c.tar.bz2
aconf-6dd8f7d0fa0864fba7d1cb11730c4606c45dc46c.tar.xz
web client: eliminate the super method from widgets
-rw-r--r--web/layout/stacked.js7
-rw-r--r--web/layout/tabular.js8
-rw-r--r--web/widget/abstract/base.js8
-rw-r--r--web/widget/abstract/fields.js6
-rw-r--r--web/widget/abstract/inline.js11
-rw-r--r--web/widget/checkboxes.js12
-rw-r--r--web/widget/combobox.js9
-rw-r--r--web/widget/field.js13
-rw-r--r--web/widget/reference.js11
-rw-r--r--web/widget/table/header.js11
10 files changed, 31 insertions, 65 deletions
diff --git a/web/layout/stacked.js b/web/layout/stacked.js
index 1fa8af9..ecebbd8 100644
--- a/web/layout/stacked.js
+++ b/web/layout/stacked.js
@@ -4,14 +4,11 @@
*/
define(["acf2/type", "acf2/widget/inline"], function(type, Base) {
- var Class = Base.extend({
+ return Base.extend({
widget: function(meta) {
- return type.isTreeNode(meta) ?
- Base : this.super(Class, "widget", meta);
+ return type.isTreeNode(meta) ? Base : Base.widget.call(this, meta);
}
});
-
- return Class;
});
diff --git a/web/layout/tabular.js b/web/layout/tabular.js
index 03fbe03..084d85c 100644
--- a/web/layout/tabular.js
+++ b/web/layout/tabular.js
@@ -11,21 +11,19 @@ define(
"acf2/widget/table/row"
],
function(type, Base, TableHeader, TableRow) {
- var Class = Base.extend({
+ return Base.extend({
render: function(data, meta) {
this.header = true;
- this.super(Class, "render", data, meta);
+ Base.render.call(this, data, meta);
},
widget: function(meta) {
if (!type.isTreeNode(meta))
- return this.super(Class, "widget", meta);
+ return Base.widget.call(this, meta);
if (!this.header) return TableRow;
this.header = false;
return TableHeader;
}
});
-
- return Class;
}
);
diff --git a/web/widget/abstract/base.js b/web/widget/abstract/base.js
index 4a49e0b..dd74cca 100644
--- a/web/widget/abstract/base.js
+++ b/web/widget/abstract/base.js
@@ -8,17 +8,9 @@ define(["acf2/dom", "jquery", "underscore"], function(dom, $, _) {
extend: function(spec) {
var res = Object.create(this);
for (key in spec) res[key] = spec[key];
- res.base = this;
return res;
},
- super: function() {
- var args = _.toArray(arguments);
- var cls = args.shift();
- var key = args.shift();
- return cls.base[key].apply(this, args);
- },
-
new: function(data, name, meta, level, editable, removable) {
return Object.create(this).init(
data, name, meta, level, editable, removable
diff --git a/web/widget/abstract/fields.js b/web/widget/abstract/fields.js
index 73111ce..01e4c0c 100644
--- a/web/widget/abstract/fields.js
+++ b/web/widget/abstract/fields.js
@@ -16,9 +16,9 @@ define(
"acf2/widget/reference"
],
function(Base, $, _) {
- var Class = Base.extend({
+ return Base.extend({
render: function(data, meta) {
- this.super(Class, "render", data, meta);
+ Base.render.call(this, data, meta);
this.appendAboveFields(data, meta);
@@ -100,7 +100,5 @@ define(
return require("acf2/widget/" + meta.widget);
}
});
-
- return Class;
}
);
diff --git a/web/widget/abstract/inline.js b/web/widget/abstract/inline.js
index af7d110..6e159b6 100644
--- a/web/widget/abstract/inline.js
+++ b/web/widget/abstract/inline.js
@@ -6,14 +6,13 @@
define(
["acf2/statusbar", "acf2/widget/link", "jquery", "underscore"],
function(statusBar, Base, $, _) {
- var Class = Base.extend({
+ return Base.extend({
init: function(
data, name, meta, level, editable, removable
) {
this.txnMgr = data.txnMgr;
- return this.super(
- Class,
- "init",
+ return Base.init.call(
+ this,
data,
name,
meta,
@@ -54,7 +53,7 @@ define(
wrap: function() { return this.el; },
validate: function(data) {
- this.super(Class, "validate", data);
+ Base.validate.call(this, data);
if (this.data.match(this.meta.condition)) {
var valid = data.validate();
@@ -68,7 +67,5 @@ define(
});
}
});
-
- return Class;
}
);
diff --git a/web/widget/checkboxes.js b/web/widget/checkboxes.js
index a34aced..c5bd52c 100644
--- a/web/widget/checkboxes.js
+++ b/web/widget/checkboxes.js
@@ -12,21 +12,19 @@ define(
"underscore"
],
function(dom, statusBar, Base, $, _) {
- var Class = Base.extend({
+ return Base.extend({
showStatus: true,
setStatus: function(status) {
- this.super(
- Class,
- "setStatus",
- status == "invalid" ? "invalid" : null
+ Base.setStatus.call(
+ this, status == "invalid" ? "invalid" : null
);
},
render: function(data, meta) {
this.dynamic = meta.members.dynamic;
- this.super(Class, "render", data, meta);
+ Base.render.call(this, data, meta);
var table = $("<tbody>");
this.el.append($("<table>").html(table));
@@ -72,7 +70,5 @@ define(
});
}
});
-
- return Class;
}
);
diff --git a/web/widget/combobox.js b/web/widget/combobox.js
index 72761ee..70f1492 100644
--- a/web/widget/combobox.js
+++ b/web/widget/combobox.js
@@ -4,13 +4,12 @@
*/
define(["acf2/widget/field", "jquery", "underscore"], function(Base, $, _) {
- var Class = Base.extend({
+ return Base.extend({
createEl: function() { return $("<select>"); },
staticRender: function(value, meta) {
- return this.super(
- Class,
- "staticRender",
+ return Base.staticRender.call(
+ this,
_.findWhere(meta.choice, {value: value})["ui-value"],
meta
);
@@ -37,6 +36,4 @@ define(["acf2/widget/field", "jquery", "underscore"], function(Base, $, _) {
);
}
});
-
- return Class;
});
diff --git a/web/widget/field.js b/web/widget/field.js
index e4524e1..338895a 100644
--- a/web/widget/field.js
+++ b/web/widget/field.js
@@ -12,15 +12,14 @@ define(
"underscore"
],
function(formatError, statusBar, Base, $, _) {
- var Class = Base.extend({
+ return Base.extend({
init: function(
data, name, meta, level, editable, removable
) {
this.editable = editable && meta.editable;
- var el = this.super(
- Class,
- "init",
+ var el = Base.init.call(
+ this,
data,
name,
meta,
@@ -40,7 +39,7 @@ define(
},
makeEl: function() {
- this.super(Class, "makeEl");
+ Base.makeEl.call(this);
if (!this.field) this.field = this.el;
},
@@ -59,7 +58,7 @@ define(
},
validate: function(value) {
- this.super(Class, "validate", value);
+ Base.validate.call(this, value);
if (!this.visible || !this.editable) return;
this.validateChange();
},
@@ -103,7 +102,5 @@ define(
(this.field.val() || null) : this.data.get(this.name);
}
});
-
- return Class;
}
);
diff --git a/web/widget/reference.js b/web/widget/reference.js
index 4413cc9..7e0f79d 100644
--- a/web/widget/reference.js
+++ b/web/widget/reference.js
@@ -6,14 +6,13 @@
define(
["acf2/dom", "acf2/widget/combobox", "jquery", "underscore"],
function(dom, Base, $, _) {
- var Class = Base.extend({
+ return Base.extend({
init: function(
data, name, meta, level, editable, removable
) {
this.field = Base.createEl();
- return this.super(
- Class,
- "init",
+ return Base.init.call(
+ this,
data,
name,
meta,
@@ -32,7 +31,7 @@ define(
createEl: function() { return $("<div>"); },
render: function(value, meta) {
- this.super(Class, "render", value, meta);
+ Base.render.call(this, value, meta);
this.el.html(this.field);
this.el.append(" ");
@@ -47,7 +46,5 @@ define(
update();
}
});
-
- return Class;
}
);
diff --git a/web/widget/table/header.js b/web/widget/table/header.js
index 0dce26e..7c2f760 100644
--- a/web/widget/table/header.js
+++ b/web/widget/table/header.js
@@ -4,7 +4,7 @@
*/
define(["acf2/widget/table/row", "jquery"], function(Base, $) {
- var Class = Base.extend({
+ return Base.extend({
init: function(
data, name, meta, level, editable, removable
) {
@@ -12,9 +12,8 @@ define(["acf2/widget/table/row", "jquery"], function(Base, $) {
var table = $("<table>");
table.append($("<thead>").html(this.header));
table.append($("<tbody>").html(
- this.super(
- Class,
- "init",
+ Base.init.call(
+ this,
data,
name,
meta,
@@ -27,11 +26,9 @@ define(["acf2/widget/table/row", "jquery"], function(Base, $) {
},
appendWidget: function(el, label) {
- el = this.super(Class, "appendWidget", el, label);
+ el = Base.appendWidget.call(this, el, label);
if (el) this.header.append($("<th>").text(label));
return el;
}
});
-
- return Class;
});