Merge "Remove duplication of Langauge digitTransformTable in javascript."
[lhc/web/wiklou.git] / resources / mediawiki.special / mediawiki.special.search.js
1 /*
2 * JavaScript for Special:Search
3 */
4 ( function( $, mw ) { $( function() {
5
6 // Emulate HTML5 autofocus behavior in non HTML5 compliant browsers
7 if ( !( 'autofocus' in document.createElement( 'input' ) ) ) {
8 $( 'input[autofocus]:first' ).focus();
9 }
10
11 // Create check all/none button
12 var $checkboxes = $('#powersearch input[id^=mw-search-ns]');
13 $('#mw-search-togglebox').append(
14 $('<label />')
15 .text(mw.msg('powersearch-togglelabel'))
16 ).append(
17 $('<input type="button" />')
18 .attr('id', 'mw-search-toggleall')
19 .attr('value', mw.msg('powersearch-toggleall'))
20 .click( function() {
21 $checkboxes.prop('checked', true);
22 } )
23 ).append(
24 $('<input type="button" />')
25 .attr('id', 'mw-search-togglenone')
26 .attr('value', mw.msg('powersearch-togglenone'))
27 .click( function() {
28 $checkboxes.prop('checked', false);
29 } )
30 );
31
32 // Change the header search links to what user entered
33 var headerLinks = $('.search-types a');
34 $('#searchText, #powerSearchText').change(function() {
35 var searchterm = $(this).val();
36 headerLinks.each( function() {
37 var parts = $(this).attr('href').split( 'search=' );
38 var lastpart = '';
39 var prefix = 'search=';
40 if( parts.length > 1 && parts[1].indexOf('&') >= 0 ) {
41 lastpart = parts[1].substring( parts[1].indexOf('&') );
42 } else {
43 prefix = '&search=';
44 }
45 this.href = parts[0] + prefix + encodeURIComponent( searchterm ) + lastpart;
46 });
47 }).trigger('change');
48
49 } ); } )( jQuery, mediaWiki );