|
|
|
@ -564,52 +564,63 @@ app.cacheBuster = null;
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
app.handleSearch = function () {
|
|
|
|
|
var searchButton = $('#search-button');
|
|
|
|
|
var searchFields = $('#search-fields');
|
|
|
|
|
var searchInput = $('#search-fields input');
|
|
|
|
|
var quickSearchResults = $('#quick-search-results');
|
|
|
|
|
|
|
|
|
|
$('#search-form .advanced-search-link').on('mousedown', function () {
|
|
|
|
|
ajaxify.go('/search');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$('#search-form').on('submit', dismissSearch);
|
|
|
|
|
searchInput.on('blur', dismissSearch);
|
|
|
|
|
searchInput.on('focus', function () {
|
|
|
|
|
if (searchInput.val() && quickSearchResults.children().length) {
|
|
|
|
|
quickSearchResults.removeClass('hidden').show();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
app.enableTopicSearch = function (options) {
|
|
|
|
|
var quickSearchResults = options.resultEl;
|
|
|
|
|
var inputEl = options.inputEl;
|
|
|
|
|
var template = options.template || 'partials/quick-search-results';
|
|
|
|
|
var searchTimeoutId = 0;
|
|
|
|
|
searchInput.on('keyup', function () {
|
|
|
|
|
inputEl.on('keyup', function () {
|
|
|
|
|
if (searchTimeoutId) {
|
|
|
|
|
clearTimeout(searchTimeoutId);
|
|
|
|
|
searchTimeoutId = 0;
|
|
|
|
|
}
|
|
|
|
|
if (searchInput.val().length < 3) {
|
|
|
|
|
if (inputEl.val().length < 3) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
searchTimeoutId = setTimeout(function () {
|
|
|
|
|
require(['search'], function (search) {
|
|
|
|
|
var data = search.getSearchPreferences();
|
|
|
|
|
data.term = searchInput.val();
|
|
|
|
|
data.term = inputEl.val();
|
|
|
|
|
data.in = 'titles';
|
|
|
|
|
data.searchOnly = 1;
|
|
|
|
|
search.api(data, function (data) {
|
|
|
|
|
if (!data.matchCount) {
|
|
|
|
|
quickSearchResults.html('').addClass('hidden');
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
app.parseAndTranslate('partials/quick-search-results', data, function (html) {
|
|
|
|
|
app.parseAndTranslate(template, data, function (html) {
|
|
|
|
|
quickSearchResults.html(html).removeClass('hidden').show();
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
}, 400);
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
app.handleSearch = function () {
|
|
|
|
|
var searchButton = $('#search-button');
|
|
|
|
|
var searchFields = $('#search-fields');
|
|
|
|
|
var searchInput = $('#search-fields input');
|
|
|
|
|
var quickSearchResults = $('#quick-search-results');
|
|
|
|
|
|
|
|
|
|
$('#search-form .advanced-search-link').on('mousedown', function () {
|
|
|
|
|
ajaxify.go('/search');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$('#search-form').on('submit', dismissSearch);
|
|
|
|
|
searchInput.on('blur', dismissSearch);
|
|
|
|
|
searchInput.on('focus', function () {
|
|
|
|
|
if (searchInput.val() && quickSearchResults.children().length) {
|
|
|
|
|
quickSearchResults.removeClass('hidden').show();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
app.enableTopicSearch({
|
|
|
|
|
inputEl: searchInput,
|
|
|
|
|
resultEl: quickSearchResults,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
function dismissSearch() {
|
|
|
|
|
searchFields.addClass('hidden');
|
|
|
|
|