summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/corelib.js
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2012-06-12 15:21:20 +0200
committerXavier Morel <xmo@openerp.com>2012-06-12 15:21:20 +0200
commitf0ad5fedacc2e994ef8ba45b05113278ac72db95 (patch)
tree4547d7a4a58a6ccf3c520a648e68f2a5450407d6 /addons/web/static/src/js/corelib.js
parent32b72283181ef5f4d559c475c0d418350d52529d (diff)
[IMP] move .replaceWith() back into renderElement
* Better formalizes repeated calls to renderElement * Makes setElement cleaner and less surprising to call bzr revid: xmo@openerp.com-20120612132120-egsg4kr5n2riv4zk
Diffstat (limited to 'addons/web/static/src/js/corelib.js')
-rw-r--r--addons/web/static/src/js/corelib.js5
1 files changed, 4 insertions, 1 deletions
diff --git a/addons/web/static/src/js/corelib.js b/addons/web/static/src/js/corelib.js
index e9fd4e1fedf..73fa6839607 100644
--- a/addons/web/static/src/js/corelib.js
+++ b/addons/web/static/src/js/corelib.js
@@ -716,7 +716,11 @@ instance.web.Widget = instance.web.Class.extend(instance.web.WidgetMixin, {
if (this.className) { attrs['class'] = this.className; }
$el = $(this.make(this.tagName, attrs))
}
+ var $oldel = this.$el;
this.setElement($el);
+ if ($oldel && !$oldel.is(this.$el)) {
+ $oldel.replaceWith(this.$el);
+ }
},
/**
@@ -734,7 +738,6 @@ instance.web.Widget = instance.web.Class.extend(instance.web.WidgetMixin, {
setElement: function (element) {
if (this.$el) {
this.undelegateEvents();
- this.$el.replaceWith(element);
}
this.$element = this.$el = (element instanceof $) ? element : $(element);