From 345496d9a359ca74c9583c89ef4b93465ebdc89e Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 4 Apr 2011 17:34:26 +0200 Subject: [PATCH] [ADD] Added do_show and do_hide in views bzr revid: fme@openerp.com-20110404153426-2vlz4n0s4v69b5o5 --- addons/base/static/src/js/form.js | 9 +++++++-- addons/base/static/src/js/list.js | 7 +++++++ addons/base/static/src/js/views.js | 6 +++++- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index 19fad46bb60..d2d843a4665 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -43,8 +43,6 @@ openerp.base.FormView = openerp.base.Controller.extend( w.start(); }); this.$element.find('button.form_save').click(this.do_save); - - this.dataset.fetch_index(this.fields_view.fields, this.on_record_loaded); }, on_next: function() { this.dataset.next(); @@ -122,6 +120,13 @@ openerp.base.FormView = openerp.base.Controller.extend( // rpc - save.callbacl on_saved } }, + do_show: function () { + this.dataset.fetch_index(this.fields_view.fields, this.on_record_loaded); + this.$element.show(); + }, + do_hide: function () { + this.$element.hide(); + }, on_invalid: function() { }, on_saved: function() { diff --git a/addons/base/static/src/js/list.js b/addons/base/static/src/js/list.js index c1c44ad164f..e21d35cb57a 100644 --- a/addons/base/static/src/js/list.js +++ b/addons/base/static/src/js/list.js @@ -76,6 +76,13 @@ openerp.base.ListView = openerp.base.Controller.extend({ })); }, + do_show: function () { + // TODO: re-trigger search + this.$element.show(); + }, + do_hide: function () { + this.$element.hide(); + }, do_search: function (domains, contexts, groupbys) { var self = this; this.rpc('/base/session/eval_domain_and_context', { diff --git a/addons/base/static/src/js/views.js b/addons/base/static/src/js/views.js index d5fface8139..37668b767d6 100644 --- a/addons/base/static/src/js/views.js +++ b/addons/base/static/src/js/views.js @@ -75,7 +75,11 @@ openerp.base.ViewManager = openerp.base.Controller.extend({ for (var i in this.views) { if (this.views[i].controller) { - this.views[i].controller.$element.toggle(i === view_type); + if (i === view_type) { + this.views[i].controller.do_show(); + } else { + this.views[i].controller.do_hide(); + } } } return view_promise;