From a2ea9f8b9289f197844e3282c2ac39e59c549996 Mon Sep 17 00:00:00 2001 From: Glaisher Date: Sat, 23 Jan 2016 22:39:05 +0500 Subject: [PATCH] Make mediawiki.special.pageLanguage work again Broken with the switch to OOUI. This also adds 'id' param to OOUI HTMLRadioField. Follow-up to b51076a84446d157bed511246450e70d26e0f945. Change-Id: I69c5fa9830a8b8b7cd6bf3468b5600325d34c070 --- includes/htmlform/HTMLRadioField.php | 1 + resources/Resources.php | 3 +++ .../mediawiki.special.pageLanguage.js | 14 ++++++++------ 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/includes/htmlform/HTMLRadioField.php b/includes/htmlform/HTMLRadioField.php index 2d057042ef..64f9cb6866 100644 --- a/includes/htmlform/HTMLRadioField.php +++ b/includes/htmlform/HTMLRadioField.php @@ -49,6 +49,7 @@ class HTMLRadioField extends HTMLFormField { return new OOUI\RadioSelectInputWidget( array( 'name' => $this->mName, + 'id' => $this->mID, 'value' => $value, 'options' => $options, 'classes' => 'mw-htmlform-flatlist-item', diff --git a/resources/Resources.php b/resources/Resources.php index 18bff5151d..8dac08e4c6 100644 --- a/resources/Resources.php +++ b/resources/Resources.php @@ -1761,6 +1761,9 @@ return array( ), 'mediawiki.special.pageLanguage' => array( 'scripts' => 'resources/src/mediawiki.special/mediawiki.special.pageLanguage.js', + 'dependencies' => array( + 'oojs-ui', + ), ), 'mediawiki.special.pagesWithProp' => array( 'position' => 'top', diff --git a/resources/src/mediawiki.special/mediawiki.special.pageLanguage.js b/resources/src/mediawiki.special/mediawiki.special.pageLanguage.js index 7c2269faad..edfbe1eaab 100644 --- a/resources/src/mediawiki.special/mediawiki.special.pageLanguage.js +++ b/resources/src/mediawiki.special/mediawiki.special.pageLanguage.js @@ -1,9 +1,11 @@ -( function ( $ ) { - $( document ).ready( function () { - +/*! + * JavaScript module used on Special:PageLanguage + */ +( function ( $, OO ) { + $( function () { // Select the 'Language select' option if user is trying to select language - $( '#mw-pl-languageselector' ).on( 'click', function () { - $( '#mw-pl-options-2' ).prop( 'checked', true ); + OO.ui.infuse( 'mw-pl-languageselector' ).on( 'change', function () { + OO.ui.infuse( 'mw-pl-options' ).setValue( '2' ); } ); } ); -}( jQuery ) ); +}( jQuery, OO ) ); -- 2.20.1