From 512f7acfdccd4208c9da4d95727e0d8d22889e55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9ry=20Debongnie?= Date: Fri, 27 Jun 2014 12:05:34 +0200 Subject: [PATCH] [IMP] autocomplete now display separators separators given in the search view are now displayed in the autocomplete widget --- addons/web/static/src/css/base.css | 8 ++++++++ addons/web/static/src/css/base.sass | 8 ++++++++ addons/web/static/src/js/search.js | 23 ++++++++++++++++++++--- 3 files changed, 36 insertions(+), 3 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index dab2e482a18..c14100a7d5f 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -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; } diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index 523ee846622..e3a84a8f78c 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -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 diff --git a/addons/web/static/src/js/search.js b/addons/web/static/src/js/search.js index a8d1571527a..eabc6a9c104 100644 --- a/addons/web/static/src/js/search.js +++ b/addons/web/static/src/js/search.js @@ -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($('
  • ').addClass('oe-separator')); + render_separator = false; + } else { + var $item = self.make_list_item(result).appendTo($list); + result.$el = $item; + render_separator = true; + } }); this.show(); },