[FIX] sale: fix search issue in settings
Before this rev., we searched for 'label' tagname into the DOM, but the fields labels are not always inside <label> (sometimes <span>). However, they always have className 'o_form_label', so we use this instead. task 1961427 closes odoo/odoo#33487 Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
This commit is contained in:
committed by
Aaron Bohy
parent
92393a6b8e
commit
8ffedf4545
@@ -305,7 +305,7 @@ var BaseSettingRenderer = FormRenderer.extend({
|
||||
module.settingView.find('h2').addClass('o_hidden');
|
||||
module.settingView.find('.settingSearchHeader').addClass('o_hidden');
|
||||
module.settingView.find('.o_settings_container').removeClass('mt16');
|
||||
var resultSetting = module.settingView.find("label:containsTextLike('" + self.searchText + "')");
|
||||
var resultSetting = module.settingView.find(".o_form_label:containsTextLike('" + self.searchText + "')");
|
||||
if (resultSetting.length > 0) {
|
||||
resultSetting.each(function () {
|
||||
var settingBox = $(this).closest('.o_setting_box');
|
||||
@@ -343,8 +343,8 @@ var BaseSettingRenderer = FormRenderer.extend({
|
||||
}
|
||||
var match = text.search(new RegExp(word, "i"));
|
||||
word = text.substring(match, match + word.length);
|
||||
var hilitedWord = "<span class='highlighter'>" + word + '</span>';
|
||||
return text.replace(word, hilitedWord);
|
||||
var highlightedWord = "<span class='highlighter'>" + word + '</span>';
|
||||
return text.replace(word, highlightedWord);
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ QUnit.module('base_settings_tests', {
|
||||
QUnit.module('BaseSetting');
|
||||
|
||||
QUnit.test('change setting on nav bar click in base settings', function (assert) {
|
||||
assert.expect(4);
|
||||
assert.expect(5);
|
||||
|
||||
var form = createView({
|
||||
View: BaseSettingsView,
|
||||
@@ -63,7 +63,7 @@ QUnit.module('base_settings_tests', {
|
||||
'<field name="foo"/>'+
|
||||
'</div>'+
|
||||
'<div class="o_setting_right_pane">'+
|
||||
'<label for="foo"/>'+
|
||||
'<span class="o_form_label">Foo</span>'+
|
||||
'<div class="text-muted">'+
|
||||
'this is foo'+
|
||||
'</div>'+
|
||||
@@ -77,12 +77,14 @@ QUnit.module('base_settings_tests', {
|
||||
});
|
||||
|
||||
form.$("div[setting='project']").click();
|
||||
assert.strictEqual(form.$('.selected').attr('data-key'),"crm","crm setting selected");
|
||||
assert.strictEqual(form.$(".settings .app_settings_block").hasClass('o_hidden'),false,"project settings show");
|
||||
assert.strictEqual(form.$('.selected').attr('data-key'), "crm", "crm setting selected");
|
||||
assert.strictEqual(form.$(".settings .app_settings_block").hasClass('o_hidden'), false, "project settings show");
|
||||
form.$('.searchInput').val('b').trigger('keyup');
|
||||
assert.strictEqual($('.highlighter').html(),"B","b word hilited");
|
||||
assert.strictEqual(form.$('.highlighter').html(), "B", "b word highlighted");
|
||||
form.$('.searchInput').val('bx').trigger('keyup');
|
||||
assert.strictEqual(form.$('.notFound').hasClass('o_hidden'),false,"record not found message shown");
|
||||
assert.strictEqual(form.$('.notFound').hasClass('o_hidden'), false, "record not found message shown");
|
||||
form.$('.searchInput').val('f').trigger('keyup');
|
||||
assert.strictEqual(form.$('span.o_form_label .highlighter').html(), "F", "F word highlighted");
|
||||
form.destroy();
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user