Implement extension registration from an extension.json file
[mediawiki.git] / resources / src / mediawiki.special / mediawiki.special.recentchanges.js
blobd43b62b0445c18471d38baadf150299e0b124994
1 /*!
2  * JavaScript for Special:RecentChanges
3  */
4 ( function ( mw, $ ) {
5         var rc, $checkboxes, $select;
7         /**
8          * @class mw.special.recentchanges
9          * @singleton
10          */
11         rc = {
12                 /**
13                  * Handler to disable/enable the namespace selector checkboxes when the
14                  * special 'all' namespace is selected/unselected respectively.
15                  */
16                 updateCheckboxes: function () {
17                         // The option element for the 'all' namespace has an empty value
18                         var isAllNS = $select.val() === '';
20                         // Iterates over checkboxes and propagate the selected option
21                         $checkboxes.prop( 'disabled', isAllNS );
22                 },
24                 /** */
25                 init: function () {
26                         $select = $( '#namespace' );
27                         $checkboxes = $( '#nsassociated, #nsinvert' );
29                         // Bind to change event, and trigger once to set the initial state of the checkboxes.
30                         rc.updateCheckboxes();
31                         $select.change( rc.updateCheckboxes );
32                 }
33         };
35         $( rc.init );
37         mw.special.recentchanges = rc;
39 }( mediaWiki, jQuery ) );