[FIX] adjust view top when header height changes
authorGéry Debongnie <ged@odoo.com>
Mon, 26 May 2014 12:51:47 +0000 (14:51 +0200)
committerGéry Debongnie <ged@odoo.com>
Mon, 26 May 2014 12:51:47 +0000 (14:51 +0200)
the header height is not fixed, it can change when the breadcrumbs
start a new line, or when there is only one view type (for ex, in most
reporting views).  So, the top value of the view_manager_body has to be
adjusted accordingly.

addons/web/static/src/css/base.css
addons/web/static/src/css/base.sass
addons/web/static/src/js/search.js

index ab156b2..53be627 100644 (file)
 .openerp .oe_application > div > .oe_view_manager > .oe_view_manager_body {
   position: absolute;
   overflow: auto;
-  top: 91px;
+  top: 66px;
   bottom: 0;
   left: 0;
   right: 0;
index e230582..1cea0a0 100644 (file)
@@ -964,7 +964,7 @@ $sheet-padding: 16px
                 > .oe_view_manager_body
                     position: absolute
                     overflow: auto
-                    top: 91px
+                    top: 66px
                     bottom: 0
                     left: 0
                     right: 0
index 6c07a2f..25c78c3 100644 (file)
@@ -435,8 +435,18 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
             view_manager.on('switch_mode', this, function (e) {
                 self.drawer.toggle(e === 'graph');
             });
-        }            
-        return $.when(p, this.ready);
+        }
+        $(window).resize(this.adjust_top.bind(this));
+        return $.when(p, this.ready).then(this.adjust_top.bind(this));
+    },
+
+    adjust_top: function () {
+        // hack to adjust the top of the view manager body to the actual header height
+        var parent = this.getParent();
+        if (parent) {
+            var h = parent.$(".oe_view_manager_header").height() + 1;
+            parent.$(".oe_view_manager_body").css('top', h + 'px');                
+        }        
     },
 
     set_drawer: function (drawer) {