[IMP] autocomplete now display separators

separators given in the search view are now displayed
in the autocomplete widget
This commit is contained in:
Géry Debongnie
2014-06-27 12:05:34 +02:00
parent 3c1c6888ba
commit 512f7acfdc
3 changed files with 36 additions and 3 deletions
+8
View File
@@ -1620,6 +1620,14 @@
background-color: #7c7bad;
color: white;
}
.openerp .oe_searchview .oe-autocomplete ul li.oe-separator {
margin-top: 2px;
margin-bottom: 2px;
border-top: 1px solid #afafb6;
}
.openerp .oe_searchview .oe-autocomplete ul li.oe-separator:last-child {
display: none;
}
.openerp .oe_searchview_drawer_container {
overflow: auto;
}
+8
View File
@@ -1332,6 +1332,14 @@ $sheet-padding: 16px
li.oe-selection-focus
background-color: #7c7bad
color: white
li.oe-separator
margin-top: 2px
margin-bottom: 2px
border-top: 1px solid #afafb6
li.oe-separator:last-child
display: none
.oe_searchview_drawer_container
overflow: auto
.oe_searchview_drawer
+20 -3
View File
@@ -846,7 +846,9 @@ instance.web.SearchViewDrawer = instance.web.Widget.extend({
}
switch (item.tag) {
case 'separator': case 'newline':
case 'separator':
case 'newline':
filters.push(new instance.web.search.Separator(this))
break;
case 'filter':
filters.push(new instance.web.search.Filter(item, group));
@@ -1311,6 +1313,13 @@ instance.web.search.Filter = instance.web.search.Input.extend(/** @lends instanc
get_context: function () { },
get_domain: function () { },
});
instance.web.search.Separator = instance.web.search.Input.extend({
complete: function () {
return {is_separator: true};
}
});
instance.web.search.Field = instance.web.search.Input.extend( /** @lends instance.web.search.Field# */ {
template: 'SearchView.field',
default_operator: '=',
@@ -2397,9 +2406,17 @@ instance.web.search.AutoComplete = instance.web.Widget.extend({
var self = this;
var $list = this.$('ul');
$list.empty();
var render_separator = false;
results.forEach(function (result) {
var $item = self.make_list_item(result).appendTo($list);
result.$el = $item;
if (result.is_separator) {
if (render_separator)
$list.append($('<li>').addClass('oe-separator'));
render_separator = false;
} else {
var $item = self.make_list_item(result).appendTo($list);
result.$el = $item;
render_separator = true;
}
});
this.show();
},