diff --git a/addons/base/static/src/css/base.css b/addons/base/static/src/css/base.css index e91bbd922ec..53470bb266a 100644 --- a/addons/base/static/src/css/base.css +++ b/addons/base/static/src/css/base.css @@ -609,10 +609,14 @@ background: linear-gradient(top, #ffffff 0%,#d8d8d8 11%,#afafaf 86%,#333333 91%, .openerp .oe-listview td.oe-record-delete { text-align: right; } -.openerp .oe-listview th.oe-sortable, -.openerp .oe-listview th.oe-sortable .ui-icon { +.openerp .oe-listview th.oe-sortable { cursor: pointer; } +.openerp .oe-listview th.oe-sortable .ui-icon { + height: 1em; + display: inline; + display: inline-block; +} .openerp .oe-listview .oe-field-cell { cursor: pointer; diff --git a/addons/base/static/src/js/list.js b/addons/base/static/src/js/list.js index 333bc2f0029..49cd10c10b6 100644 --- a/addons/base/static/src/js/list.js +++ b/addons/base/static/src/js/list.js @@ -192,8 +192,6 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi this.setup_columns(this.fields_view.fields, grouped); - if (!this.fields_view.sorted) { this.fields_view.sorted = {}; } - this.$element.html(QWeb.render("ListView", this)); // Head hook @@ -203,12 +201,19 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi this.$element.find('.oe-list-delete') .attr('disabled', true) .click(this.do_delete_selected); - this.$element.find('thead').delegate('th[data-id]', 'click', function (e) { + this.$element.find('thead').delegate('th.oe-sortable[data-id]', 'click', function (e) { e.stopPropagation(); - self.dataset.sort($(this).data('id')); + var $this = $(this); + self.dataset.sort($this.data('id')); + if ($this.find('span').length) { + $this.find('span').toggleClass( + 'ui-icon-triangle-1-s ui-icon-triangle-1-n'); + } else { + $this.append('