You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.1 KiB
JavaScript

define('forum/search', ['search'], function(searchModule) {
var Search = {};
Search.init = function() {
10 years ago
var searchQuery = $('#results').attr('data-search-query');
var regexes = [];
var searchTerms = searchQuery.split(' ');
10 years ago
$('#advanced-search input').val(searchQuery);
var params = utils.params();
if (params && params.in) {
$('#advanced-search select').val(params.in);
}
for (var i=0; i<searchTerms.length; ++i) {
var regex = new RegExp(searchTerms[i], 'gi');
regexes.push({regex: regex, term: searchTerms[i]});
}
$('.search-result-text').each(function() {
var result = $(this);
var text = result.html();
for(var i=0; i<regexes.length; ++i) {
text = text.replace(regexes[i].regex, '<strong>' + regexes[i].term + '</strong>');
}
result.html(text).find('img').addClass('img-responsive');
});
10 years ago
$('#advanced-search').off('submit').on('submit', function(e) {
e.preventDefault();
var input = $(this).find('input');
10 years ago
var searchIn = $(this).find('select');
10 years ago
searchModule.query(input.val(), searchIn.val(), function() {
input.val('');
});
});
};
return Search;
});