From 7a41bdf2328cb66b019f1509d22408e2155c172a Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 8 Aug 2011 14:05:00 +0200 Subject: [PATCH] [FIX] Fixed notebooks tab switching bug with on_changes. Improved notebook tab index initialization on new record creation. bzr revid: fme@openerp.com-20110808120500-06aph84ix0axl3hc --- addons/base/static/src/js/form.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index 628567b42ef..5cc48251339 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -679,6 +679,16 @@ openerp.base.form.WidgetNotebook = openerp.base.form.Widget.extend({ start: function() { this._super.apply(this, arguments); this.$element.tabs(); + this.view.on_button_new.add_last(this.do_select_first_visible_tab); + }, + do_select_first_visible_tab: function() { + for (var i = 0; i < this.pages.length; i++) { + var page = this.pages[i]; + if (page.invisible === false) { + this.$element.tabs('select', page.index); + break; + } + } } }); @@ -696,8 +706,8 @@ openerp.base.form.WidgetNotebookPage = openerp.base.form.WidgetFrame.extend({ this.$element_tab = $('#' + this.element_tab_id); }, update_dom: function() { - if (this.invisible) { - this.notebook.$element.tabs('select', 0); + if (this.invisible && this.index === this.notebook.$element.tabs('option', 'selected')) { + this.notebook.do_select_first_visible_tab(); } this.$element_tab.toggle(!this.invisible); this.$element.toggle(!this.invisible);