From 1843ac7feefd6f69da32011d7ace463d01d90e9f Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Tue, 24 May 2011 18:42:33 +0200 Subject: [PATCH] [IMP] Improved sidebar. Added callback for Sidebar#do_refresh bzr revid: fme@openerp.com-20110524164233-jm69rjq7z293275j --- addons/base/static/src/css/base.css | 29 ++++++++++++++++------------- addons/base/static/src/js/form.js | 7 ++++++- addons/base/static/src/js/list.js | 2 +- addons/base/static/src/js/views.js | 6 +++--- addons/base/static/src/xml/base.xml | 26 ++++++++++++-------------- 5 files changed, 38 insertions(+), 32 deletions(-) diff --git a/addons/base/static/src/css/base.css b/addons/base/static/src/css/base.css index 33f5f9b575c..ffb3bbc1567 100644 --- a/addons/base/static/src/css/base.css +++ b/addons/base/static/src/css/base.css @@ -758,25 +758,25 @@ background: linear-gradient(top, #ffffff 0%,#d8d8d8 11%,#afafaf 86%,#333333 91%, } .openerp .sidebar-main-div { - height:100%; + height: 100%; + border-left: 1px solid #D2CFCF; } -.openerp .sidebar-sub-div { - padding:0; - margin:0; - width:180px; - border-left: 1px solid #D2CFCF; - height:100%; +.openerp .sidebar-content { + padding: 0; + margin: 0; + width: 180px; + height: 100%; font-family: Ubuntu, Helvetica, sans-serif; font-size: 0.9em; } -.openerp .closed-sidebar .sidebar-sub-div { - width:22px; +.openerp .closed-sidebar .sidebar-content { + width: 22px; } -.openerp .closed-sidebar .sidebar-displaying-div { - display:none; +.openerp .closed-sidebar .sidebar-content { + display: none; } .openerp .sidebar-main-div a { @@ -831,12 +831,15 @@ background: linear-gradient(top, #ffffff 0%,#ebe9e9 100%); /* W3C */ background: url(../img/toggle-a-bg.png); width: 21px; height: 21px; - position: absolute; z-index: 10; } .openerp .open-sidebar .toggle-sidebar { margin-left: 158px; background-position: 21px 0; + position: absolute; +} +.openerp .closed-sidebar .toggle-sidebar { + border-left: none; } .openerp.kitten-mode-activated .main_table { @@ -863,7 +866,7 @@ background: linear-gradient(top, #ffffff 0%,#ebe9e9 100%); /* W3C */ .openerp.kitten-mode-activated .menu span { background: none; } -.openerp.kitten-mode-activated .sidebar-displaying-div li a, +.openerp.kitten-mode-activated .sidebar-content li a, .openerp.kitten-mode-activated .oe-application .view-manager-main-content h2.oe_view_title, .openerp.kitten-mode-activated .oe-application .view-manager-main-content a.searchview_group_string, .openerp.kitten-mode-activated .oe-application .view-manager-main-content label { diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index 2d24f99c365..21b6c6dee24 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -57,6 +57,7 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV this.$element.find('#' + this.element_id + '_header button.oe_form_button_new').click(this.on_button_new); this.view_manager.sidebar.set_toolbar(data.fields_view.toolbar); + this.view_manager.sidebar.do_refresh.add_last(this.on_sidebar_refreshed); }, do_show: function () { var self = this; @@ -69,7 +70,7 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV } else { this.dataset.read_index(_.keys(this.fields_view.fields), this.on_record_loaded); } - this.view_manager.sidebar.refresh(true); + this.view_manager.sidebar.do_refresh(true); }, do_hide: function () { this.$element.hide(); @@ -302,6 +303,10 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV do_cancel: function () { this.notification.notify("Cancelling form"); }, + on_sidebar_refreshed: function(new_view) { + var sidebar = this.view_manager.sidebar; + // TODO: Add attachment WIP + }, reload: function() { if (this.datarecord.id) { this.dataset.read_index(_.keys(this.fields_view.fields), this.on_record_loaded); diff --git a/addons/base/static/src/js/list.js b/addons/base/static/src/js/list.js index 1a03b7d4526..403e8da345f 100644 --- a/addons/base/static/src/js/list.js +++ b/addons/base/static/src/js/list.js @@ -238,7 +238,7 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi this.groups.apoptosis().render()); this.hidden = false; } - this.view_manager.sidebar.refresh(true); + this.view_manager.sidebar.do_refresh(true); }, do_hide: function () { this.$element.hide(); diff --git a/addons/base/static/src/js/views.js b/addons/base/static/src/js/views.js index b6da78a556c..612315f0ce6 100644 --- a/addons/base/static/src/js/views.js +++ b/addons/base/static/src/js/views.js @@ -302,9 +302,9 @@ openerp.base.Sidebar = openerp.base.BaseWidget.extend({ var section = {elements:toolbar[type[0]], label:type[1]}; self.sections.push(section); }); - this.refresh(true); + this.do_refresh(true); }, - refresh: function(new_view) { + do_refresh: function(new_view) { var view = this.view_manager.active_view; the_condition = this.sections.length > 0 && _.detect(this.sections, function(x) {return x.elements.length > 0;}) != undefined @@ -340,7 +340,7 @@ openerp.base.Sidebar = openerp.base.BaseWidget.extend({ }, start: function() { this._super(); - this.refresh(false); + this.do_refresh(false); } }); diff --git a/addons/base/static/src/xml/base.xml b/addons/base/static/src/xml/base.xml index 70016538b10..95c218c77ce 100644 --- a/addons/base/static/src/xml/base.xml +++ b/addons/base/static/src/xml/base.xml @@ -147,7 +147,7 @@
- + @@ -698,19 +698,17 @@ -