From f12d448ef5be47eccd8336207d3cbfd6fce9c7fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Wed, 27 May 2020 20:58:54 -0400 Subject: [PATCH] feat: quick search changes --- public/src/app.js | 15 ++++++--------- public/src/modules/search.js | 5 ++++- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/public/src/app.js b/public/src/app.js index adcb90a907..74617732d5 100644 --- a/public/src/app.js +++ b/public/src/app.js @@ -498,10 +498,7 @@ app.cacheBuster = null; search.quick({ term: inputEl.val(), in: 'titles', - }, { - template: options.template, - resultEl: quickSearchResults, - }); + }, options); }); }, 250); }); @@ -511,7 +508,7 @@ app.cacheBuster = null; var searchButton = $('#search-button'); var searchFields = $('#search-fields'); var searchInput = $('#search-fields input'); - var quickSearchResults = $('#quick-search-results'); + var quickSearchContainer = $('#quick-search-container'); $('#search-form .advanced-search-link').off('mousedown').on('mousedown', function () { ajaxify.go('/search'); @@ -522,21 +519,21 @@ app.cacheBuster = null; }); searchInput.off('blur').on('blur', dismissSearch); searchInput.off('focus').on('focus', function () { - if (searchInput.val() && quickSearchResults.children().length) { - quickSearchResults.removeClass('hidden').show(); + if (searchInput.val() && quickSearchContainer.find('#quick-search-results').children().length) { + quickSearchContainer.removeClass('hidden'); } }); app.enableTopicSearch({ inputEl: searchInput, - resultEl: quickSearchResults, + resultEl: quickSearchContainer, }); function dismissSearch() { searchFields.addClass('hidden'); searchButton.removeClass('hidden'); setTimeout(function () { - quickSearchResults.addClass('hidden'); + quickSearchContainer.addClass('hidden'); }, 200); } diff --git a/public/src/modules/search.js b/public/src/modules/search.js index a2937ff9dd..3a192d939e 100644 --- a/public/src/modules/search.js +++ b/public/src/modules/search.js @@ -39,13 +39,16 @@ define('search', ['navigator', 'translator', 'storage'], function (nav, translat $(window).trigger('action:search.quick', { data: query }); query.searchOnly = 1; Search.api(query, function (data) { + if (options.hideOnNoMatches && !data.posts.length) { + return options.resultEl.html('').addClass('hidden'); + } data.posts.forEach(function (p) { p.snippet = utils.escapeHTML($('
' + p.content + '
').text().slice(0, 80) + '...'); }); app.parseAndTranslate(template, data, function (html) { if (html.length) { html.find('.timeago').timeago(); - options.resultEl.html(html).removeClass('hidden').show(); + options.resultEl.html(html).removeClass('hidden'); } else { options.resultEl.html('').addClass('hidden'); }