/* JavaScript for Special:RecentChanges */
-( function( $ ) {
+( function ( mw, $ ) {
var checkboxes = [ 'nsassociated', 'nsinvert' ];
var $select = null;
var rc = mw.special.recentchanges = {
-
+
/**
* Handler to disable/enable the namespace selector checkboxes when the
* special 'all' namespace is selected/unselected respectively.
*/
- updateCheckboxes: function() {
- // The 'all' namespace is the FIRST in the list.
- var isAllNS = $select.find( 'option' ).first().is( ':selected' );
+ updateCheckboxes: function () {
+ // The option element for the 'all' namespace has an empty value
+ var isAllNS = $select.find('option:selected').val() === '';
// Iterates over checkboxes and propagate the selected option
- $.each( checkboxes, function( i, id ) {
- $( '#' + id ).attr( 'disabled', isAllNS );
+ $.each( checkboxes, function ( i, id ) {
+ $( '#' + id ).prop( 'disabled', isAllNS );
});
},
- init: function() {
- // Populate & bind
- $select = $( '#namespace' ).change( rc.updateCheckboxes );
+ init: function () {
+ // Populate
+ $select = $( '#namespace' );
- // Trigger once set the initial statuses of the checkboxes.
- $select.change();
+ // Bind to change event, and trigger once to set the initial state of the checkboxes.
+ $select.change( rc.updateCheckboxes ).change();
}
};
// Run when document is ready
$( rc.init );
-})( jQuery );
+}( mediaWiki, jQuery ) );