From d0548f775e31034046d111ded2fe8b1823cf38b8 Mon Sep 17 00:00:00 2001 From: Liangent Date: Thu, 17 May 2012 12:17:31 +0800 Subject: [PATCH] (bug 34933) Create "Check: [All] [None]" buttons with JavaScript This hides unusable buttons for users without JavaScript support. Change-Id: I5c5752a75993218c5d62604224640ad8435f8b3e --- includes/specials/SpecialSearch.php | 22 +------------- resources/Resources.php | 5 ++++ .../mediawiki.special.search.js | 30 +++++++++++++------ 3 files changed, 27 insertions(+), 30 deletions(-) diff --git a/includes/specials/SpecialSearch.php b/includes/specials/SpecialSearch.php index 079130f982..3344436ac3 100644 --- a/includes/specials/SpecialSearch.php +++ b/includes/specials/SpecialSearch.php @@ -899,27 +899,7 @@ class SpecialSearch extends SpecialPage { ) . Xml::element( 'legend', null, $this->msg('powersearch-legend' )->text() ) . Xml::tags( 'h4', null, $this->msg( 'powersearch-ns' )->parse() ) . - Xml::tags( - 'div', - array( 'id' => 'mw-search-togglebox' ), - Xml::label( $this->msg( 'powersearch-togglelabel' )->text(), 'mw-search-togglelabel' ) . - Xml::element( - 'input', - array( - 'type'=>'button', - 'id' => 'mw-search-toggleall', - 'value' => $this->msg( 'powersearch-toggleall' )->text() - ) - ) . - Xml::element( - 'input', - array( - 'type'=>'button', - 'id' => 'mw-search-togglenone', - 'value' => $this->msg( 'powersearch-togglenone' )->text() - ) - ) - ) . + Html::element( 'div', array( 'id' => 'mw-search-togglebox' ) ) . Xml::element( 'div', array( 'class' => 'divider' ), '', false ) . implode( Xml::element( 'div', array( 'class' => 'divider' ), '', false ), $showSections ) . $hidden . diff --git a/resources/Resources.php b/resources/Resources.php index 34b9be6732..35c27ac2dc 100644 --- a/resources/Resources.php +++ b/resources/Resources.php @@ -802,6 +802,11 @@ return array( 'mediawiki.special.search' => array( 'scripts' => 'resources/mediawiki.special/mediawiki.special.search.js', 'styles' => 'resources/mediawiki.special/mediawiki.special.search.css', + 'messages' => array( + 'powersearch-togglelabel', + 'powersearch-toggleall', + 'powersearch-togglenone', + ), ), 'mediawiki.special.undelete' => array( 'scripts' => 'resources/mediawiki.special/mediawiki.special.undelete.js', diff --git a/resources/mediawiki.special/mediawiki.special.search.js b/resources/mediawiki.special/mediawiki.special.search.js index 8865d04c2e..04954e8dc1 100644 --- a/resources/mediawiki.special/mediawiki.special.search.js +++ b/resources/mediawiki.special/mediawiki.special.search.js @@ -1,21 +1,33 @@ /* * JavaScript for Special:Search */ -jQuery( function( $ ) { +( function( $, mw ) { $( 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 +// Create 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); -} ); +$('#mw-search-togglebox').append( + $('