Make mediawiki.special.pageLanguage work again
authorGlaisher <glaisher.wiki@gmail.com>
Sat, 23 Jan 2016 17:39:05 +0000 (22:39 +0500)
committerBartosz Dziewoński <matma.rex@gmail.com>
Tue, 26 Jan 2016 12:12:49 +0000 (12:12 +0000)
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
resources/Resources.php
resources/src/mediawiki.special/mediawiki.special.pageLanguage.js

index 2d05704..64f9cb6 100644 (file)
@@ -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',
index 18bff51..8dac08e 100644 (file)
@@ -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',
index 7c2269f..edfbe1e 100644 (file)
@@ -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 ) );