[WIP] Pop breadcrumb on mode switch != form
authorFabien Meghazi <fme@openerp.com>
Mon, 9 Jul 2012 10:32:15 +0000 (12:32 +0200)
committerFabien Meghazi <fme@openerp.com>
Mon, 9 Jul 2012 10:32:15 +0000 (12:32 +0200)
bzr revid: fme@openerp.com-20120709103215-bemcmt5silu5u4je

addons/web/static/src/js/views.js

index e6d4047..7bf462f 100644 (file)
@@ -130,6 +130,7 @@ instance.web.ActionManager = instance.web.Widget.extend({
     null_action: function() {
         this.dialog_stop();
         this.content_stop();
+        this.breadcrumb.clear();
     },
     ir_actions_act_window: function (action, on_close) {
         var self = this;
@@ -255,6 +256,7 @@ instance.web.BreadCrumb = instance.web.CallbackEnabled.extend({
         var bookmarked_view = view_type || am.active_view || am.views_src[0].view_type;
         this.push({
             widget: am,
+            view: bookmarked_view,
             show: function() {
                 am.$element.show();
                 if (am.active_view !== bookmarked_view) {
@@ -271,7 +273,10 @@ instance.web.BreadCrumb = instance.web.CallbackEnabled.extend({
                 if (mode === 'form') {
                     self.push_actionmanager(am, 'form');
                 } else {
-                    // select previous to form and remove form
+                    var last = self.items[self.items.length - 1];
+                    if (last.widget === am && last.view === 'form') {
+                        self.pop();
+                    }
                 }
             });
         }