summaryrefslogtreecommitdiff
path: root/resources/mediawiki.special/mediawiki.special.search.js
blob: bac27fc65714beaec01d6c44f4465cb3b96148d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*
 * JavaScript for Special:Search
 */
jQuery( function( $ ) {

// Emulate HTML5 autofocus behavior in non HTML5 compliant browsers
if ( !( 'autofocus' in document.createElement( 'input' ) ) ) {
	$( 'input[autofocus]:first' ).focus();
}

// Bind check all/none button
var $checkboxes = $('#powersearch input[id^=mw-search-ns]');
$('#mw-search-toggleall').click( function() {
	$checkboxes.prop("checked", true);
} );
$('#mw-search-togglenone').click( function() {
	$checkboxes.prop("checked", false);
} );

// Change the header search links to what user entered
var headerLinks = $('.search-types a');
$('#searchText, #powerSearchText').change(function() {
	var searchterm = $(this).val();
	headerLinks.each( function() {
		var parts = this.href.split( 'search=' );
		var lastpart = '';
		var prefix = 'search=';
		if( parts.length > 1 && parts[1].indexOf('&') >= 0 ) {
			lastpart = parts[1].substring( parts[1].indexOf('&') );
		} else {
			prefix = '&search=';
		}
		this.href = parts[0] + prefix + encodeURIComponent( searchterm ) + lastpart;
	});
}).trigger('change');

} );