MediaWiki:Gadget-common-special-userrights.js

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
JS-код ниже относится к скрытому гаджету common-special-userrights. Он включён по умолчанию.

После сохранения или недавних изменений очистите кэш браузера.

// for [[Special:Userrights]]
// Не удаляйте проверку на название спецстраницы
mw.hook( 'wikipage.content' ).add(function () {
	if ( mw.config.get( 'wgCanonicalSpecialPageName' ) !== 'Userrights' ) {
		return;
	}

	mw.loader.using( 'mediawiki.util' ).done( function () {
		mw.util.addCSS( 'label.unnecessary {color:red}' );
	} );

	// per [[MediaWiki:Userrights-groups-help]]
	var removeWithGroups = {
		autoreview: ['sysop', 'editor', 'bot'],
		uploader: ['sysop', 'filemover', 'closer'],
		suppressredirect: ['sysop', 'engineer', 'filemover', 'closer', 'bot', 'editor'],
		rollbacker: ['sysop'],
		filemover: ['sysop'],
		closer: ['sysop'],
		engineer: ['sysop'],
	};

	var frm = $( '#mw-userrights-form2' );

	checkFlags();
	frm.on( 'click keyup', checkFlags );

	function checkFlags() {
		frm.find( 'label' ).removeClass( 'unnecessary' );
		for (var flag in removeWithGroups) {
			var deps = removeWithGroups[ flag ];
			for (var i = 0; i < deps.length; i++) {
				if ( $( '#wpGroup-' + flag ).prop( 'checked' ) && $( '#wpGroup-' + deps[ i ] ).prop( 'checked' ) ) {
					frm.find( 'label[for="wpGroup-' + flag + '"]' ).addClass( 'unnecessary' );
				}
			}
		}
	}
});