summaryrefslogtreecommitdiff
path: root/addons/partner_autocomplete/static
diff options
context:
space:
mode:
authorRémi Rahir <rar@odoo.com>2018-09-21 16:33:20 +0200
committerRémi Rahir <rar@odoo.com>2018-09-25 22:28:43 +0200
commit7838bde2a8a6980cf217ffe0e8838cb1e3f52c2d (patch)
tree5d1b3a073347a00cac68b71f301b564c6f22211b /addons/partner_autocomplete/static
parent302bd149dc0c4aa902df12312f243e8ed93f9666 (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')
-rw-r--r--addons/partner_autocomplete/static/src/js/partner_autocomplete_core.js3
-rw-r--r--addons/partner_autocomplete/static/src/js/partner_autocomplete_many2one.js22
-rw-r--r--addons/partner_autocomplete/static/src/scss/partner_autocomplete.scss32
-rw-r--r--addons/partner_autocomplete/static/tests/partner_autocomplete_tests.js2
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 = {