From 6dd8f7d0fa0864fba7d1cb11730c4606c45dc46c Mon Sep 17 00:00:00 2001 From: Kaarle Ritvanen Date: Sat, 8 Feb 2014 00:45:43 +0200 Subject: web client: eliminate the super method from widgets --- web/layout/stacked.js | 7 ++----- web/layout/tabular.js | 8 +++----- web/widget/abstract/base.js | 8 -------- web/widget/abstract/fields.js | 6 ++---- web/widget/abstract/inline.js | 11 ++++------- web/widget/checkboxes.js | 12 ++++-------- web/widget/combobox.js | 9 +++------ web/widget/field.js | 13 +++++-------- web/widget/reference.js | 11 ++++------- web/widget/table/header.js | 11 ++++------- 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 = $(""); this.el.append($("").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 $("
"); table.append($("").html(this.header)); table.append($("").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($("
").text(label)); return el; } }); - - return Class; }); -- cgit v1.2.3