[FIX] show/hide views when there are loaded

bzr revid: chs@openerp.com-20111220173742-cel6khizmlrv9qom
This commit is contained in:
Christophe Simonis 2011-12-20 18:37:42 +01:00
parent 303d1f6d11
commit 5168ac754c
1 changed files with 16 additions and 11 deletions

View File

@ -313,17 +313,18 @@ session.web.ViewManager = session.web.Widget.extend(/** @lends session.web.View
.filter('[data-view-type="' + view_type + '"]')
.attr('disabled', true);
for (var view_name in this.views) {
if (!this.views.hasOwnProperty(view_name)) { continue; }
if (this.views[view_name].controller) {
if (view_name === view_type) {
$.when(view_promise).then(this.views[view_name].controller.do_show);
} else {
this.views[view_name].controller.do_hide();
}
}
}
$.when(view_promise).then(function () {
_.each(_.keys(self.views), function(view_name) {
var controller = self.views[view_name].controller;
if (controller) {
if (view_name === view_type) {
controller.do_show();
} else {
controller.do_hide();
}
}
});
self.$element.find('.oe_view_title_text:first').text(
self.display_title());
});
@ -604,7 +605,11 @@ session.web.ViewManagerAction = session.web.ViewManager.extend(/** @lends oepner
var self = this,
defs = [];
if (state.view_type && state.view_type !== this.active_view) {
defs.push(this.on_mode_switch(state.view_type, true));
defs.push(
this.views[this.active_view].deferred.pipe(function() {
return self.on_mode_switch(state.view_type, true);
})
);
}
$.when(defs).then(function() {