summaryrefslogtreecommitdiff
path: root/resources/mediawiki.special/mediawiki.special.search.js
diff options
context:
space:
mode:
Diffstat (limited to 'resources/mediawiki.special/mediawiki.special.search.js')
-rw-r--r--resources/mediawiki.special/mediawiki.special.search.js32
1 files changed, 29 insertions, 3 deletions
diff --git a/resources/mediawiki.special/mediawiki.special.search.js b/resources/mediawiki.special/mediawiki.special.search.js
index d4317188..bac27fc6 100644
--- a/resources/mediawiki.special/mediawiki.special.search.js
+++ b/resources/mediawiki.special/mediawiki.special.search.js
@@ -1,11 +1,37 @@
/*
- * JavaScript for Specical:Search
+ * JavaScript for Special:Search
*/
-( function( $, mw ) {
+jQuery( function( $ ) {
// Emulate HTML5 autofocus behavior in non HTML5 compliant browsers
if ( !( 'autofocus' in document.createElement( 'input' ) ) ) {
$( 'input[autofocus]:first' ).focus();
}
-} )( jQuery, mediaWiki ); \ No newline at end of file
+// 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');
+
+} ); \ No newline at end of file