[FIX] Notebook page does not honnor modifiers

bzr revid: fme@openerp.com-20110711144851-wavg5u1l1us9atc8
This commit is contained in:
Fabien Meghazi 2011-07-11 16:48:51 +02:00
parent 68801b0df2
commit 7428091aba
2 changed files with 33 additions and 7 deletions

View File

@ -617,24 +617,47 @@ openerp.base.form.WidgetFrame = openerp.base.form.Widget.extend({
});
openerp.base.form.WidgetNotebook = openerp.base.form.Widget.extend({
template: 'WidgetNotebook',
init: function(view, node) {
this._super(view, node);
this.template = "WidgetNotebook";
this.pages = [];
for (var i = 0; i < node.children.length; i++) {
var n = node.children[i];
if (n.tag == "page") {
var page = new openerp.base.form.WidgetFrame(this.view, n);
var page = new openerp.base.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.tabs();
}
});
openerp.base.form.WidgetNotebookPage = openerp.base.form.WidgetFrame.extend({
template: 'WidgetNotebookPage',
init: function(view, node, notebook, index) {
this.notebook = notebook;
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);
},
update_dom: function() {
if (this.invisible) {
this.notebook.$element.tabs('select', 0);
}
this.$element_tab.toggle(!this.invisible);
this.$element.toggle(!this.invisible);
}
});
openerp.base.form.WidgetSeparator = openerp.base.form.Widget.extend({
init: function(view, node) {
this._super(view, node);

View File

@ -419,18 +419,21 @@
</t>
<t t-name="WidgetNotebook">
<ul>
<li t-foreach="widget.pages" t-as="page">
<a t-att-href="'#' + widget.element_id + '-' + page_index">
<li t-foreach="widget.pages" t-as="page" t-att-id="page.element_tab_id">
<a t-att-href="'#' + page.element_id">
<t t-esc="page.string"/>
</a>
</li>
</ul>
<t t-foreach="widget.pages" t-as="page">
<div t-att-id="widget.element_id + '-' + page_index">
<t t-raw="page.render()"/>
</div>
<t t-raw="page.render()"/>
</t>
</t>
<t t-name="WidgetNotebookPage">
<div t-att-id="widget.element_id">
<t t-call="WidgetFrame"/>
</div>
</t>
<t t-name="WidgetSeparator">
<div t-att-class="'separator ' + (widget.node.attrs.orientation || 'horizontal')">
<t t-esc="widget.string"/>