mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
feat: quick search changes
This commit is contained in:
@@ -498,10 +498,7 @@ app.cacheBuster = null;
|
|||||||
search.quick({
|
search.quick({
|
||||||
term: inputEl.val(),
|
term: inputEl.val(),
|
||||||
in: 'titles',
|
in: 'titles',
|
||||||
}, {
|
}, options);
|
||||||
template: options.template,
|
|
||||||
resultEl: quickSearchResults,
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
}, 250);
|
}, 250);
|
||||||
});
|
});
|
||||||
@@ -511,7 +508,7 @@ app.cacheBuster = null;
|
|||||||
var searchButton = $('#search-button');
|
var searchButton = $('#search-button');
|
||||||
var searchFields = $('#search-fields');
|
var searchFields = $('#search-fields');
|
||||||
var searchInput = $('#search-fields input');
|
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 () {
|
$('#search-form .advanced-search-link').off('mousedown').on('mousedown', function () {
|
||||||
ajaxify.go('/search');
|
ajaxify.go('/search');
|
||||||
@@ -522,21 +519,21 @@ app.cacheBuster = null;
|
|||||||
});
|
});
|
||||||
searchInput.off('blur').on('blur', dismissSearch);
|
searchInput.off('blur').on('blur', dismissSearch);
|
||||||
searchInput.off('focus').on('focus', function () {
|
searchInput.off('focus').on('focus', function () {
|
||||||
if (searchInput.val() && quickSearchResults.children().length) {
|
if (searchInput.val() && quickSearchContainer.find('#quick-search-results').children().length) {
|
||||||
quickSearchResults.removeClass('hidden').show();
|
quickSearchContainer.removeClass('hidden');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
app.enableTopicSearch({
|
app.enableTopicSearch({
|
||||||
inputEl: searchInput,
|
inputEl: searchInput,
|
||||||
resultEl: quickSearchResults,
|
resultEl: quickSearchContainer,
|
||||||
});
|
});
|
||||||
|
|
||||||
function dismissSearch() {
|
function dismissSearch() {
|
||||||
searchFields.addClass('hidden');
|
searchFields.addClass('hidden');
|
||||||
searchButton.removeClass('hidden');
|
searchButton.removeClass('hidden');
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
quickSearchResults.addClass('hidden');
|
quickSearchContainer.addClass('hidden');
|
||||||
}, 200);
|
}, 200);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -39,13 +39,16 @@ define('search', ['navigator', 'translator', 'storage'], function (nav, translat
|
|||||||
$(window).trigger('action:search.quick', { data: query });
|
$(window).trigger('action:search.quick', { data: query });
|
||||||
query.searchOnly = 1;
|
query.searchOnly = 1;
|
||||||
Search.api(query, function (data) {
|
Search.api(query, function (data) {
|
||||||
|
if (options.hideOnNoMatches && !data.posts.length) {
|
||||||
|
return options.resultEl.html('').addClass('hidden');
|
||||||
|
}
|
||||||
data.posts.forEach(function (p) {
|
data.posts.forEach(function (p) {
|
||||||
p.snippet = utils.escapeHTML($('<div>' + p.content + '</div>').text().slice(0, 80) + '...');
|
p.snippet = utils.escapeHTML($('<div>' + p.content + '</div>').text().slice(0, 80) + '...');
|
||||||
});
|
});
|
||||||
app.parseAndTranslate(template, data, function (html) {
|
app.parseAndTranslate(template, data, function (html) {
|
||||||
if (html.length) {
|
if (html.length) {
|
||||||
html.find('.timeago').timeago();
|
html.find('.timeago').timeago();
|
||||||
options.resultEl.html(html).removeClass('hidden').show();
|
options.resultEl.html(html).removeClass('hidden');
|
||||||
} else {
|
} else {
|
||||||
options.resultEl.html('').addClass('hidden');
|
options.resultEl.html('').addClass('hidden');
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user