From 134437d3d1801223ad04ad870cd285401771ecdd Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 20 Sep 2011 13:21:47 +0200 Subject: [PATCH] [IMP] memoize template, add hacky form-repositioning method bzr revid: xmo@openerp.com-20110920112147-we4sqnc3we1v38lv --- addons/web/static/src/js/view_form.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 82bfa817ef1..c9dcb65cba9 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -73,12 +73,19 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# w.stop(); }); }, + reposition: function ($e) { + this.$element = $e; + this.on_loaded(); + }, on_loaded: function(data) { var self = this; - this.fields_view = data; - var frame = new (this.registry.get_object('frame'))(this, this.fields_view.arch); + if (data) { + this.fields_view = data; + var frame = new (this.registry.get_object('frame'))(this, this.fields_view.arch); - this.$element.html(QWeb.render(this.form_template, { 'frame': frame, 'view': this })); + this.rendered = QWeb.render(this.form_template, { 'frame': frame, 'view': this }); + } + this.$element.html(this.rendered); _.each(this.widgets, function(w) { w.start(); });