summaryrefslogtreecommitdiff
path: root/resources/mediawiki.special/mediawiki.special.recentchanges.js
diff options
context:
space:
mode:
Diffstat (limited to 'resources/mediawiki.special/mediawiki.special.recentchanges.js')
-rw-r--r--resources/mediawiki.special/mediawiki.special.recentchanges.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/resources/mediawiki.special/mediawiki.special.recentchanges.js b/resources/mediawiki.special/mediawiki.special.recentchanges.js
new file mode 100644
index 00000000..7e284fbd
--- /dev/null
+++ b/resources/mediawiki.special/mediawiki.special.recentchanges.js
@@ -0,0 +1,39 @@
+/* JavaScript for Special:RecentChanges */
+( function( $ ) {
+
+ var checkboxes = [ 'nsassociated', 'nsinvert' ];
+
+ /**
+ * @var select {jQuery}
+ */
+ 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 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 );
+ });
+ },
+
+ init: function() {
+ // Populate
+ $select = $( '#namespace' );
+
+ // 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 );