diff options
| author | niv-openerp <nicolas.vanhoren@openerp.com> | 2011-05-20 12:20:50 +0200 |
|---|---|---|
| committer | niv-openerp <nicolas.vanhoren@openerp.com> | 2011-05-20 12:20:50 +0200 |
| commit | 3a5bfc97b3d82c2b09b735e0c968033b59bf4b47 (patch) | |
| tree | 65f072d764989d9e6535b222817a5c532049fc43 /addons/base/static/src | |
| parent | 3fd459098a5b511a35874dac02fafca687234801 (diff) | |
| parent | 42357cb76bfa89dbfaf09d8b80f102321ecfbb11 (diff) | |
[IMP] improved custom filters.
bzr revid: nicolas.vanhoren@openerp.com-20110520100719-adk2z32gigg8v8u0
bzr revid: nicolas.vanhoren@openerp.com-20110520102050-87mwf212kvdk320y
Diffstat (limited to 'addons/base/static/src')
| -rw-r--r-- | addons/base/static/src/css/base.css | 4 | ||||
| -rw-r--r-- | addons/base/static/src/js/search.js | 22 | ||||
| -rw-r--r-- | addons/base/static/src/xml/base.xml | 5 |
3 files changed, 26 insertions, 5 deletions
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 @@ <div class="oe_search-view-buttons" style="text-align: right;"> <input type="submit" value="Search"/> <input type="reset" value="Clear"/> + <button class="oe_search-view-custom-filter-btn">Custom Filter</button> </div> </form> </t> @@ -616,7 +617,7 @@ <option value="any">Any of the following conditions must match</option> <option value="none">None of the following conditions must match</option> </select> - <button class="searchview_extended_delete_group" + <button t-if="index > 0" class="searchview_extended_delete_group" type="button"><span>Delete this group of conditions</span></button> <div class="searchview_extended_propositions_list"> </div> @@ -635,7 +636,7 @@ </select> <select class="searchview_extended_prop_op"/> <span class="searchview_extended_prop_value"/> - <button class="searchview_extended_delete_prop" + <button t-if="index > 0" class="searchview_extended_delete_prop" type="button"><span>Delete this condition</span></button> </div> </t> |
