summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabien Meghazi <fme@openerp.com>2011-05-24 18:42:33 +0200
committerFabien Meghazi <fme@openerp.com>2011-05-24 18:42:33 +0200
commit1843ac7feefd6f69da32011d7ace463d01d90e9f (patch)
treeb2cc3b8443617bec52336f98b28453463c288aac
parentba308938c45c82ba04651d532214249736dea2ca (diff)
[IMP] Improved sidebar. Added callback for Sidebar#do_refresh
bzr revid: fme@openerp.com-20110524164233-jm69rjq7z293275j
-rw-r--r--addons/base/static/src/css/base.css29
-rw-r--r--addons/base/static/src/js/form.js7
-rw-r--r--addons/base/static/src/js/list.js2
-rw-r--r--addons/base/static/src/js/views.js6
-rw-r--r--addons/base/static/src/xml/base.xml26
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 @@
<div t-attf-id="#{prefix}_view_#{view[1]}"/>
</t>
</td>
- <td class="view-manager-main-sidebar">
+ <td class="view-manager-main-sidebar" height="100%">
</td>
</tr>
</table>
@@ -698,19 +698,17 @@
</t>
<t t-name="ViewManager.sidebar.internal">
<a class="toggle-sidebar"></a>
- <div t-att-id="element_id" class="sidebar-sub-div">
- <div class="sidebar-displaying-div">
- <t t-foreach="sections" t-as="section" t-if="section.elements.length">
- <h2><t t-esc="section.label"/></h2>
- <ul>
- <li t-foreach="section.elements" t-as="element">
- <a class="oe_sidebar_action_a" t-attf-data-index="#{section_index}-#{element_index}" href="#">
- <t t-esc="element.name"/>
- </a>
- </li>
- </ul>
- </t>
- </div>
+ <div class="sidebar-content">
+ <t t-foreach="sections" t-as="section" t-if="section.elements.length">
+ <h2><t t-esc="section.label"/></h2>
+ <ul>
+ <li t-foreach="section.elements" t-as="element">
+ <a class="oe_sidebar_action_a" t-attf-data-index="#{section_index}-#{element_index}" href="#">
+ <t t-esc="element.name"/>
+ </a>
+ </li>
+ </ul>
+ </t>
</div>
</t>
<t t-name="DialogWarning">