MediaWiki:Gadget-common-special-abusefilter.js

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

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

// Не удаляйте проверку на название спецстраниц
( function() {
	if ( ![ 'AbuseFilter', 'AbuseLog' ].includes( mw.config.get( 'wgCanonicalSpecialPageName' ) ) ) {
		return;
	}
	
	mw.loader.using( 'mediawiki.util' ).done(function () {
		mw.util.addCSS( 'tr.mw-abusefilter-list-disabled td.TablePager_col_af_public_comments * {opacity:0.5}' );
	});
	
	if ( /\/examine\//.test(document.URL) ) {
		mw.loader.using('mediawiki.util').done(function () {
			mw.util.addCSS(
			'\
			.mw-abuselog-var tt {font-weight:bold}\
			.mw-abuselog-details-summary td.mw-abuselog-var-value div {background-color: #CCCCFF}\
			tr.mw-abuselog-details-added_lines td div,\
			tr.mw-abuselog-details-added_links td div\
			 {background-color: #CFC}\
			.mw-abuselog-details-removed_lines td div,\
			.mw-abuselog-details-removed_links td div\
			 {background-color: #FCC}\
			tr.mw-abuselog-details-new_html td.mw-abuselog-var-value,\
			tr.mw-abuselog-details-new_text td.mw-abuselog-var-value,\
			tr.mw-abuselog-details-new_wikitext td.mw-abuselog-var-value\
			 {background-color: #EFE}\
			.mw-abuselog-details-old_html td.mw-abuselog-var-value,\
			.mw-abuselog-details-old_text td.mw-abuselog-var-value,\
			.mw-abuselog-details-old_wikitext td.mw-abuselog-var-value\
			 {background-color: #FEE}\
			div.mw-abuselog-edit-summary {font-style:italic}\
			a[href*="&diff="] {font-weight:bold}'
			);

			//copy edit summary to the top
			mw.util.$content
				.find('tr.mw-abuselog-details-summary')
				.find('div.mw-abuselog-var-value').clone()
					.attr('class', 'mw-abuselog-edit-summary')
					.insertBefore(mw.util.$content.find('table.diff'));
		});
	}
	
	$(function () {
		//select box: append values to descriptions; was: "Normalise", will be: "Normalise (norm)"
		var key;
		$('#wpFilterBuilder')
			.find('option')
			.each(function (i, opt) {
				key = /^[a-z\d_]+/.exec(opt.value);
				if (!key) return;
				key = key[0];
				if (opt.text.indexOf(key) == -1) opt.text = opt.text + ' (' + key + ')';
				if (opt.title == '') opt.title = opt.value;
			});
	
		//text boxes: auto resize
		$('#wpFilterRules, #wpFilterNotes, #wpTestFilter')
			.keyup(autoResizeTBox)
			.each(autoResizeTBox);
	});
	
	//400 px ix max height
	function autoResizeTBox() {
		var hh = Math.min(400, Math.max(this.scrollHeight, this.clientHeight));
		if (hh > this.clientHeight) this.style.height = hh + 'px';
	}
}() );