From ac3e971ea647e6e31a766e3cd11178979d765f1e Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Fri, 16 Sep 2011 16:24:58 +0200 Subject: [PATCH] [REM] element_id from notebooks bzr revid: xmo@openerp.com-20110916142458-qb36lxnro3fr1t0q --- addons/web/static/src/js/view_form.js | 17 ++++++++++++++--- addons/web/static/src/xml/base.xml | 6 +++--- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 16a4ba908a7..a2db6c13d32 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -761,13 +761,24 @@ openerp.web.form.WidgetNotebook = openerp.web.form.Widget.extend({ for (var i = 0; i < node.children.length; i++) { var n = node.children[i]; if (n.tag == "page") { - var page = new openerp.web.form.WidgetNotebookPage(this.view, n, this, this.pages.length); + var page = new openerp.web.form.WidgetNotebookPage( + this.view, n, this, this.pages.length); this.pages.push(page); } } }, start: function() { + var self = this; this._super.apply(this, arguments); + this.$element.find('> ul > li').each(function (index, tab_li) { + var page = self.pages[index], + id = _.uniqueId(self.element_name + '-'); + page.element_id = id; + $(tab_li).find('a').attr('href', '#' + id); + }); + this.$element.find('> div').each(function (index, page) { + page.id = self.pages[index].element_id; + }); this.$element.tabs(); this.view.on_button_new.add_last(this.do_select_first_visible_tab); }, @@ -789,11 +800,11 @@ openerp.web.form.WidgetNotebookPage = openerp.web.form.WidgetFrame.extend({ this.index = index; this.element_name = 'page_' + index; this._super(view, node); - this.element_tab_id = this.element_id + '_tab'; }, start: function() { this._super.apply(this, arguments); - this.$element_tab = $('#' + this.element_tab_id); + this.$element_tab = this.notebook.$element.find( + '> ul > li:eq(' + this.index + ')'); }, update_dom: function() { if (this.invisible && this.index === this.notebook.$element.tabs('option', 'selected')) { diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index daf85c43ee7..498a8bb1dd2 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -731,8 +731,8 @@