diff options
| author | Rémi Rahir <rar@odoo.com> | 2018-09-21 16:33:20 +0200 |
|---|---|---|
| committer | Rémi Rahir <rar@odoo.com> | 2018-09-25 22:28:43 +0200 |
| commit | 7838bde2a8a6980cf217ffe0e8838cb1e3f52c2d (patch) | |
| tree | 5d1b3a073347a00cac68b71f301b564c6f22211b /addons/partner_autocomplete/static | |
| parent | 302bd149dc0c4aa902df12312f243e8ed93f9666 (diff) | |
[IMP] partner_autocomplete: diverse improvements
- CRON changed to 60min
- Fixed display/rendering issues with autocomplete widgets.
- Moved 'Insufficient credit' banner
- Editable endpoint for partner_autocomplete service
Diffstat (limited to 'addons/partner_autocomplete/static')
4 files changed, 39 insertions, 20 deletions
diff --git a/addons/partner_autocomplete/static/src/js/partner_autocomplete_core.js b/addons/partner_autocomplete/static/src/js/partner_autocomplete_core.js index 05bd10c9114..0b709021e7b 100644 --- a/addons/partner_autocomplete/static/src/js/partner_autocomplete_core.js +++ b/addons/partner_autocomplete/static/src/js/partner_autocomplete_core.js @@ -43,7 +43,8 @@ return { return suggestion.website; }); clearbitSuggestions.forEach(function (suggestion) { - if (websites.indexOf(suggestion.website) < 0) { + if (websites.indexOf(suggestion.domain) < 0) { + websites.push(suggestion.domain); odooSuggestions.push(suggestion); } }); diff --git a/addons/partner_autocomplete/static/src/js/partner_autocomplete_many2one.js b/addons/partner_autocomplete/static/src/js/partner_autocomplete_many2one.js index 40780df75ce..6abf1751461 100644 --- a/addons/partner_autocomplete/static/src/js/partner_autocomplete_many2one.js +++ b/addons/partner_autocomplete/static/src/js/partner_autocomplete_many2one.js @@ -65,16 +65,19 @@ var PartnerField = FieldMany2One.extend({ */ _modifyAutompleteRendering: function (){ var api = this.$input.data('ui-autocomplete'); - var renderWithoutLogo = api._renderItem; - api._renderItem = function ( ul, item ) { - var $li = renderWithoutLogo.call(this, ul, item); + api._renderItem = function(ul, item){ + ul.addClass('o_partner_autocomplete_dropdown'); + var $a = $('<a/>')["html"](item.label); if (item.logo){ - var $a = $li.find('>a').addClass('o_partner_autocomplete_dropdown_item'); var $img = $('<img/>').attr('src', item.logo); $a.append($img); } - return $li; + return $("<li></li>") + .data("item.autocomplete",item) + .append($a) + .appendTo(ul) + .addClass(item.classname); }; }, @@ -104,20 +107,17 @@ var PartnerField = FieldMany2One.extend({ Autocomplete.autocomplete(search_val).then(function (suggestions) { var choices = []; if (suggestions && suggestions.length) { - choices.push({ - label: _t('Create and Edit from Autocomplete :'), - }); _.each(suggestions, function (suggestion) { - var label =_.str.sprintf('%s - %s', suggestion.label, suggestion.description); - label = label.replace(new RegExp(search_val, "gi"), "<b>$&</b>"); + var label = '<i class="fa fa-magic text-muted"/> '; + label += _.str.sprintf('%s, <span class="text-muted">%s</span>', suggestion.label, suggestion.description); choices.push({ label: label, action: function () { self._createPartner(suggestion); }, - classname: 'o_m2o_dropdown_option', logo: suggestion.logo, + classname: 'o_partner_autocomplete_dropdown_item', }); }); } diff --git a/addons/partner_autocomplete/static/src/scss/partner_autocomplete.scss b/addons/partner_autocomplete/static/src/scss/partner_autocomplete.scss index a63e2434b6f..d70477e7cb3 100644 --- a/addons/partner_autocomplete/static/src/scss/partner_autocomplete.scss +++ b/addons/partner_autocomplete/static/src/scss/partner_autocomplete.scss @@ -18,11 +18,29 @@ } } -.ui-autocomplete .ui-menu-item > a.o_partner_autocomplete_dropdown_item { - > img { - float: right; - width: 20px; - height: 20px; +.ui-autocomplete.o_partner_autocomplete_dropdown { + > .ui-menu-item:nth-of-type(1n+16) { + display: none; } - -}
\ No newline at end of file + > .o_partner_autocomplete_dropdown_item { + > a { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + position: relative; + padding-right: 50px; + padding-left: 40px; + max-width: 400px; + > img { + position: absolute; + width: 20px; + height: 20px; + right: 20px; + top: 3px; + } + } + } + > .ui-menu-item.ui-state-focus .text-muted { + color: white !important; + } +} diff --git a/addons/partner_autocomplete/static/tests/partner_autocomplete_tests.js b/addons/partner_autocomplete/static/tests/partner_autocomplete_tests.js index 5e7a3ae3c1e..5eebcf85ce0 100644 --- a/addons/partner_autocomplete/static/tests/partner_autocomplete_tests.js +++ b/addons/partner_autocomplete/static/tests/partner_autocomplete_tests.js @@ -37,7 +37,7 @@ odoo.define('partner_autocomplete.tests', function (require) { QUnit.module('partner_autocomplete', { before: function () { var suggestions = [ - {name: "Odoo", website: "odoo.com", logo: "odoo.com/logo.png", vat: "BE0477472701"} + {name: "Odoo", website: "odoo.com", domain: "odoo.com", logo: "odoo.com/logo.png", vat: "BE0477472701"} ]; var enrich_data = { |
