diff --git a/addons/base/static/src/css/base.css b/addons/base/static/src/css/base.css index 5a950a2cc6c..46db0ce49c4 100644 --- a/addons/base/static/src/css/base.css +++ b/addons/base/static/src/css/base.css @@ -447,6 +447,10 @@ body.openerp { padding-left: 18px; } +.openerp .searchview_extended_delete_group { + float:right; +} + .openerp .searchview_extended_delete_group span, .openerp .searchview_extended_delete_prop span { background: url(../img/icons/gtk-remove.png) repeat-y; padding-left: 18px; diff --git a/addons/base/static/src/js/search.js b/addons/base/static/src/js/search.js index 4ebf1238dd3..d677529770c 100644 --- a/addons/base/static/src/js/search.js +++ b/addons/base/static/src/js/search.js @@ -125,6 +125,7 @@ openerp.base.SearchView = openerp.base.Controller.extend({ // the non-commented line does. As far as we investigated, only God knows. //this.$element.html(render); jQuery(render).appendTo(this.$element); + this.$element.find(".oe_search-view-custom-filter-btn").click(ext.on_activate); var f = this.$element.find('form'); this.$element.find('form') @@ -705,12 +706,13 @@ openerp.base.search.ExtendedSearch = openerp.base.BaseWidget.extend({ }, add_group: function() { var group = new openerp.base.search.ExtendedSearchGroup(this, this.fields); - var render = group.render({}); + var render = group.render({'index': this.children.length - 1}); this.$element.find('.searchview_extended_groups_list').append(render); group.start(); }, start: function () { this._super(); + this.$element.closest("table.oe-searchview-render-line").css("display", "none"); var self = this; this.rpc("/base/searchview/fields_get", {"model": this.model}, function(data) { @@ -726,11 +728,25 @@ openerp.base.search.ExtendedSearch = openerp.base.BaseWidget.extend({ return null; }, get_domain: function() { - if(this.$element.hasClass("folded")) { + if(this.$element.closest("table.oe-searchview-render-line").css("display") == "none") { return null; } return _.reduce(this.children, function(mem, x) { return mem.concat(x.get_domain());}, []); + }, + on_activate: function() { + var table = this.$element.closest("table.oe-searchview-render-line"); + if (table.css("display") == "none") { + table.css("display", ""); + if(this.$element.hasClass("folded")) { + this.$element.toggleClass("folded expanded"); + } + } else { + table.css("display", "none"); + if(this.$element.hasClass("expanded")) { + this.$element.toggleClass("folded expanded"); + } + } } }); @@ -743,7 +759,7 @@ openerp.base.search.ExtendedSearchGroup = openerp.base.BaseWidget.extend({ }, add_prop: function() { var prop = new openerp.base.search.ExtendedSearchProposition(this, this.fields); - var render = prop.render({}); + var render = prop.render({'index': this.children.length - 1}); this.$element.find('.searchview_extended_propositions_list').append(render); prop.start(); }, diff --git a/addons/base/static/src/xml/base.xml b/addons/base/static/src/xml/base.xml index fe6919e39bc..b26669f07cd 100644 --- a/addons/base/static/src/xml/base.xml +++ b/addons/base/static/src/xml/base.xml @@ -497,6 +497,7 @@
@@ -616,7 +617,7 @@ -