summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/core.js
diff options
context:
space:
mode:
authorniv-openerp <nicolas.vanhoren@openerp.com>2012-02-08 12:11:10 +0100
committerniv-openerp <nicolas.vanhoren@openerp.com>2012-02-08 12:11:10 +0100
commit44263a42b2b9183ceeb4beba25adc79d5cd6abf9 (patch)
treec8f94d3bd67cf7d9e1ef90a8f07e4e2ae7752956 /addons/web/static/src/js/core.js
parent876c61b0522b595f30ba8e5ebcf5e0bbcc499a10 (diff)
[fix] revert form refactoring branch
bzr revid: nicolas.vanhoren@openerp.com-20120208111110-p2nj0tehupxa0gmz
Diffstat (limited to 'addons/web/static/src/js/core.js')
-rw-r--r--addons/web/static/src/js/core.js34
1 files changed, 14 insertions, 20 deletions
diff --git a/addons/web/static/src/js/core.js b/addons/web/static/src/js/core.js
index 8ab6c897fb0..6bac3fa39e6 100644
--- a/addons/web/static/src/js/core.js
+++ b/addons/web/static/src/js/core.js
@@ -1043,19 +1043,27 @@ openerp.web.Widget = openerp.web.CallbackEnabled.extend(/** @lends openerp.web.W
},
on_inserted: function(element, widget) {},
/**
- * Renders the element. The default implementation renders the widget using QWeb,
- * `this.template` must be defined. The context given to QWeb contains the "widget"
- * key that references `this`.
+ * Renders the element and insert the result of the render() method in this.$element.
*/
render_element: function() {
- var rendered = null;
- if (this.template)
- rendered = openerp.web.qweb.render(this.template, {widget: this});
+ var rendered = this.render();
if (rendered) {
var elem = $(rendered);
this.$element.replaceWith(elem);
this.$element = elem;
}
+ return this;
+ },
+ /**
+ * Renders the widget using QWeb, `this.template` must be defined.
+ * The context given to QWeb contains the "widget" key that references `this`.
+ *
+ * @param {Object} additional Additional context arguments to pass to the template.
+ */
+ render: function (additional) {
+ if (this.template)
+ return openerp.web.qweb.render(this.template, _.extend({widget: this}, additional || {}));
+ return null;
},
/**
* Method called after rendering. Mostly used to bind actions, perform asynchronous
@@ -1133,20 +1141,6 @@ openerp.web.OldWidget = openerp.web.Widget.extend({
this.element_id = this.element_id || _.uniqueId('widget-');
var tmp = document.getElementById(this.element_id);
this.$element = tmp ? $(tmp) : $(document.createElement(this.tag_name));
- },
- render_element: function() {
- var rendered = this.render();
- if (rendered) {
- var elem = $(rendered);
- this.$element.replaceWith(elem);
- this.$element = elem;
- }
- return this;
- },
- render: function (additional) {
- if (this.template)
- return openerp.web.qweb.render(this.template, _.extend({widget: this}, additional || {}));
- return null;
}
});