diff --git a/odoo/addons/base/static/src/js/res_config_settings.js b/odoo/addons/base/static/src/js/res_config_settings.js index 2d9ba33104d..1c72a6c3e35 100644 --- a/odoo/addons/base/static/src/js/res_config_settings.js +++ b/odoo/addons/base/static/src/js/res_config_settings.js @@ -187,8 +187,7 @@ var BaseSettingRenderer = FormRenderer.extend({ this.searchInput.val(""); _.each(this.modules, function (module) { module.settingView.addClass('o_hidden'); - module.settingView.find('.o_setting_box').removeClass('o_hidden'); - module.settingView.find('h2').removeClass('o_hidden'); + module.settingView.find('h2, .o_setting_box, .o_setting_tip').removeClass('o_hidden'); module.settingView.find('.settingSearchHeader').addClass('o_hidden'); module.settingView.find('.o_settings_container').addClass('mt16').removeClass('mb-0'); }); @@ -230,8 +229,7 @@ var BaseSettingRenderer = FormRenderer.extend({ this.count = 0; _.each(this.modules, function (module) { self.inVisibleCount = 0; - module.settingView.find('.o_setting_box').addClass('o_hidden'); - module.settingView.find('h2').addClass('o_hidden'); + module.settingView.find('h2, .o_setting_box, .o_setting_tip').addClass('o_hidden'); module.settingView.find('.settingSearchHeader').addClass('o_hidden'); module.settingView.find('.o_settings_container').removeClass('mt16').addClass('mb-0'); diff --git a/odoo/addons/base/static/tests/base_settings_tests.js b/odoo/addons/base/static/tests/base_settings_tests.js index 1ee83575a37..dda68f60ddf 100644 --- a/odoo/addons/base/static/tests/base_settings_tests.js +++ b/odoo/addons/base/static/tests/base_settings_tests.js @@ -157,6 +157,44 @@ QUnit.module('base_settings_tests', { form.destroy(); }); + QUnit.test('hide / show setting tips properly', async function (assert) { + assert.expect(3); + + const form = await createView({ + View: BaseSettingsView, + model: 'res.config.settings', + data: this.data, + arch: ` +
` + }); + + assert.containsOnce(form, '.o_setting_tip:not(.o_hidden)', 'Tip should not be hidden initially'); + + await testUtils.fields.editAndTrigger(form.$('.searchInput'), 'Setting', 'keyup'); + assert.containsOnce(form, '.o_setting_tip.o_hidden', 'Tip should be hidden when user searches in settings'); + + await testUtils.fields.editAndTrigger(form.$('.searchInput'), '', 'keyup'); + assert.containsOnce(form, '.o_setting_tip:not(.o_hidden)', 'Tip should be displayed again'); + + form.destroy(); + }); + QUnit.test( "settings views does not read existing id when coming back in breadcrumbs", async function (assert) {