summaryrefslogtreecommitdiff
path: root/addons/base/static/src
diff options
context:
space:
mode:
authorniv-openerp <nicolas.vanhoren@openerp.com>2011-05-20 12:20:50 +0200
committerniv-openerp <nicolas.vanhoren@openerp.com>2011-05-20 12:20:50 +0200
commit3a5bfc97b3d82c2b09b735e0c968033b59bf4b47 (patch)
tree65f072d764989d9e6535b222817a5c532049fc43 /addons/base/static/src
parent3fd459098a5b511a35874dac02fafca687234801 (diff)
parent42357cb76bfa89dbfaf09d8b80f102321ecfbb11 (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.css4
-rw-r--r--addons/base/static/src/js/search.js22
-rw-r--r--addons/base/static/src/xml/base.xml5
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>