fix: clear old value on focus

hide results if input lost focus during search
v1.18.x
Barış Soner Uşaklı 5 years ago
parent c9c9dd2f9b
commit 42298fe659

@ -398,9 +398,8 @@ app.cacheBuster = null;
$(window).trigger('action:search.quick.start', options); $(window).trigger('action:search.quick.start', options);
options.searchOptions.searchOnly = 1; options.searchOptions.searchOnly = 1;
search.api(options.searchOptions, function (data) { search.api(options.searchOptions, function (data) {
var resultEl = options.searchElements.resultEl;
if (options.hideOnNoMatches && !data.posts.length) { if (options.hideOnNoMatches && !data.posts.length) {
return resultEl.addClass('hidden').find('.quick-search-results-container').html(''); return quickSearchResults.addClass('hidden').find('.quick-search-results-container').html('');
} }
data.posts.forEach(function (p) { data.posts.forEach(function (p) {
var text = $('<div>' + p.content + '</div>').text(); var text = $('<div>' + p.content + '</div>').text();
@ -413,7 +412,7 @@ app.cacheBuster = null;
if (html.length) { if (html.length) {
html.find('.timeago').timeago(); html.find('.timeago').timeago();
} }
resultEl.toggleClass('hidden', !html.length) quickSearchResults.toggleClass('hidden', !html.length || !inputEl.is(':focus'))
.find('.quick-search-results-container') .find('.quick-search-results-container')
.html(html.length ? html : ''); .html(html.length ? html : '');
$(window).trigger('action:search.quick.complete', { $(window).trigger('action:search.quick.complete', {
@ -456,6 +455,7 @@ app.cacheBuster = null;
}); });
inputEl.on('focus', function () { inputEl.on('focus', function () {
oldValue = inputEl.val();
if (inputEl.val() && quickSearchResults.find('#quick-search-results').children().length) { if (inputEl.val() && quickSearchResults.find('#quick-search-results').children().length) {
quickSearchResults.removeClass('hidden'); quickSearchResults.removeClass('hidden');
} }

Loading…
Cancel
Save