diff options
| author | Xavier Morel <xmo@openerp.com> | 2012-06-12 15:21:20 +0200 |
|---|---|---|
| committer | Xavier Morel <xmo@openerp.com> | 2012-06-12 15:21:20 +0200 |
| commit | f0ad5fedacc2e994ef8ba45b05113278ac72db95 (patch) | |
| tree | 4547d7a4a58a6ccf3c520a648e68f2a5450407d6 /addons/web/static/src/js/corelib.js | |
| parent | 32b72283181ef5f4d559c475c0d418350d52529d (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.js | 5 |
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); |
