From 363c6f1d909e75c0e65eb708347977847e8ce396 Mon Sep 17 00:00:00 2001 From: Aaron Bohy Date: Wed, 17 Jul 2019 10:10:09 +0000 Subject: [PATCH] [IMP] web: list: display help in header cell tooltip Task 2036832 closes odoo/odoo#34939 Signed-off-by: VincentSchippefilt --- .../static/src/js/views/list/list_renderer.js | 2 +- addons/web/static/tests/views/list_tests.js | 31 +++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/addons/web/static/src/js/views/list/list_renderer.js b/addons/web/static/src/js/views/list/list_renderer.js index 46b8d58d05e..abc487a98fb 100644 --- a/addons/web/static/src/js/views/list/list_renderer.js +++ b/addons/web/static/src/js/views/list/list_renderer.js @@ -745,7 +745,7 @@ var ListRenderer = BasicRenderer.extend({ $th.css({ textAlign: 'right' }); } - if (config.isDebug()) { + if (config.isDebug() || node.attrs.help || field.help) { var fieldDescr = { field: field, name: name, diff --git a/addons/web/static/tests/views/list_tests.js b/addons/web/static/tests/views/list_tests.js index 0513253507a..ae3cbf7fe82 100644 --- a/addons/web/static/tests/views/list_tests.js +++ b/addons/web/static/tests/views/list_tests.js @@ -6521,6 +6521,37 @@ QUnit.module('Views', { list.destroy(); }); + QUnit.test('always display field help as toolip of header cells', async function (assert) { + assert.expect(6); + + this.data.foo.fields.foo.help = "This is Foo field"; + var list = await createView({ + View: ListView, + model: 'foo', + data: this.data, + arch: ` + + + `, + }); + + var $fooHeader = list.$('th[data-name=foo]'); + $fooHeader.tooltip('show', true); + $fooHeader.trigger($.Event('mouseenter')); + assert.containsOnce(document.body, '.oe_tooltip_string'); + assert.strictEqual($('.oe_tooltip_string').text().trim(), 'Foo'); + assert.strictEqual($('.oe_tooltip_help').text().trim(), 'This is Foo field'); + + var $barHeader = list.$('th[data-name=bar]'); + $barHeader.tooltip('show', true); + $barHeader.trigger($.Event('mouseenter')); + assert.containsOnce(document.body, '.oe_tooltip_string'); + assert.strictEqual($('.oe_tooltip_string').text().trim(), 'Bar'); + assert.strictEqual($('.oe_tooltip_help').text().trim(), 'This is Bar field'); + + list.destroy(); + }); + // TODO: write test on: // - default_get with a field not in view });