From c57fcf4e9e898ac850e8bdb45b1283fd0dd54672 Mon Sep 17 00:00:00 2001 From: "Michael (mcm)" Date: Fri, 17 Mar 2023 07:40:44 +0000 Subject: [PATCH] [FIX] web: truncate m2o dropdown item's text Before this commit, when a record had a very long display name, the name could be cut in the middle of a word in the many2one's dropdown. Now, these names are truncated and have ellipsis to tell the text continues. task id: 3234714 closes odoo/odoo#115712 X-original-commit: ed9f9098e3b85c8c739ed7fa5ff6b28bfa2e3584 Signed-off-by: Aaron Bohy (aab) --- addons/web/static/src/core/autocomplete/autocomplete.xml | 2 +- .../web/static/tests/views/fields/many2one_field_tests.js | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/addons/web/static/src/core/autocomplete/autocomplete.xml b/addons/web/static/src/core/autocomplete/autocomplete.xml index 9f22692eabc..fef78f82f1c 100644 --- a/addons/web/static/src/core/autocomplete/autocomplete.xml +++ b/addons/web/static/src/core/autocomplete/autocomplete.xml @@ -39,7 +39,7 @@ > diff --git a/addons/web/static/tests/views/fields/many2one_field_tests.js b/addons/web/static/tests/views/fields/many2one_field_tests.js index 6c06bcf1f7e..578a0b7a9a7 100644 --- a/addons/web/static/tests/views/fields/many2one_field_tests.js +++ b/addons/web/static/tests/views/fields/many2one_field_tests.js @@ -4093,9 +4093,6 @@ QUnit.module("Fields", (hooks) => { }); QUnit.test("many2one dropdown disappears on scroll", async function (assert) { - serverData.models.partner.records[0].display_name = - "Veeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeery Loooooooooooooooooooooooooooooooooooooooooooong Naaaaaaaaaaaaaaaaaaaaaaaaaaaaaaame"; - await makeView({ type: "form", resModel: "partner", @@ -4113,8 +4110,9 @@ QUnit.module("Fields", (hooks) => { assert.containsOnce(target, ".o_field_many2one .dropdown-menu"); const dropdown = document.querySelector(".o_field_many2one .dropdown-menu"); - await triggerScroll(dropdown, { left: 50 }, false); - assert.strictEqual(dropdown.scrollLeft, 50, "a scroll happened"); + dropdown.style = "max-height: 40px;"; + await triggerScroll(dropdown, { top: 50 }, false); + assert.strictEqual(dropdown.scrollTop, 50, "a scroll happened"); assert.containsOnce(target, ".o_field_many2one .dropdown-menu"); await triggerScroll(target, { top: 50 });