diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index a2ac3a54086..a6f0cb0928c 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -103,7 +103,6 @@ openerp.web.FormView = openerp.web.View.extend({ this.has_been_loaded.resolve(); return $.when(); }, - do_load_state: function(state, warm) { if (state.id && this.datarecord.id != state.id) { if (!this.dataset.get_id_index(state.id)) { @@ -115,9 +114,13 @@ openerp.web.FormView = openerp.web.View.extend({ } } }, - do_show: function () { var self = this; + if (this.sidebar) { + this.sidebar.$element.show(); + } + this.$buttons.find('.oe_form_buttons').show(); + this.$pager.find('.oe_form_pager').show(); this.$element.show().css('visibility', 'hidden'); this.$element.removeClass('oe_form_dirty'); return this.has_been_loaded.pipe(function() { @@ -137,6 +140,11 @@ openerp.web.FormView = openerp.web.View.extend({ }); }, do_hide: function () { + if (this.sidebar) { + this.sidebar.$element.hide(); + } + this.$buttons.find('.oe_form_buttons').hide(); + this.$pager.find('.oe_form_pager').hide(); this._super(); }, on_record_loaded: function(record) { diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js index b4902e1286d..3869c248398 100644 --- a/addons/web/static/src/js/view_list.js +++ b/addons/web/static/src/js/view_list.js @@ -207,6 +207,7 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView# this.$element.html(QWeb.render(this._template, this)); // Head hook + // Selecting records this.$element.find('.all-record-selector').click(function(){ self.$element.find('.oe-record-selector input').prop('checked', self.$element.find('.all-record-selector').prop('checked') || false); @@ -215,28 +216,24 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView# 'selected', [selection.ids, selection.records]); }); - this.$element.find('.oe-list-add') - .click(this.proxy('do_add_record')) - .attr('disabled', grouped && this.options.editable); - this.$element.find('.oe-list-delete') - .attr('disabled', true) - .click(this.proxy('do_delete_selected')); + // Sorting columns this.$element.find('thead').delegate('th.oe-sortable[data-id]', 'click', function (e) { e.stopPropagation(); - 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'); + $this.find('span').toggleClass( 'ui-icon-triangle-1-s ui-icon-triangle-1-n'); } else { - $this.append('') - .siblings('.oe-sortable').find('span').remove(); + $this.append('') .siblings('.oe-sortable').find('span').remove(); } self.reload_content(); }); + // Add and delete + this.$element.find('.oe-list-add') .click(this.proxy('do_add_record')) .attr('disabled', grouped && this.options.editable); + this.$element.find('.oe-list-delete') .attr('disabled', true) .click(this.proxy('do_delete_selected')); + this.$element.find('.oe-list-pager') .delegate('button', 'click', function () { var $this = $(this); @@ -274,11 +271,11 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView# }) .val(self._limit || 'NaN'); }); - if (!this.sidebar && this.options.sidebar && this.options.sidebar_id) { - //this.sidebar = new openerp.web.Sidebar(this, this.options.sidebar_id); - //this.sidebar.start(); - //this.sidebar.add_toolbar(this.fields_view.toolbar); - //this.set_common_sidebar_sections(this.sidebar); + + if (!this.sidebar && this.options.sidebar && this.options.$sidebar) { + this.sidebar = new openerp.web.Sidebar(this); + this.sidebar.appendTo(this.options.$sidebar); + this.sidebar.add_toolbar(this.fields_view.toolbar); } }, /** @@ -421,7 +418,6 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView# do_hide: function () { this._super(); if (this.sidebar) { - this.sidebar.$element.hide(); } }, /** @@ -546,13 +542,17 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView# this.$element.find('.oe-list-delete').attr('disabled', !ids.length); if (!ids.length) { this.dataset.index = 0; - if (this.sidebar) { this.sidebar.do_fold(); } + if (this.sidebar) { + this.sidebar.$element.hide(); + } this.compute_aggregates(); return; } this.dataset.index = _(this.dataset.ids).indexOf(ids[0]); - if (this.sidebar) { this.sidebar.do_unfold(); } + if (this.sidebar) { + this.sidebar.$element.show(); + } this.compute_aggregates(_(records).map(function (record) { return {count: 1, values: record}; diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 72a2ce9ecba..0218c91351a 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -559,21 +559,9 @@ - - - - - -
- - -
+
+
+
@@ -583,13 +571,13 @@ - - + + + - + @@ -604,32 +592,26 @@ - - - - - - this.removeAttr('t-if'); - - - - - - this.removeAttr('t-if'); - - -

-
+ +
+ + +
+
+ +
+ + + + +
- - - - - - @@ -1293,6 +1275,20 @@ + + + this.removeAttr('t-if'); + + + + + + this.removeAttr('t-if'); + + +

+
+