_ _    _ _____  ___   __                       
 __      _(_) | _(_)___ / ( _ ) / /_   ___ ___  _ __ ___  
 \ \ /\ / / | |/ / | |_ \ / _ \| '_ \ / __/ _ \| '_ ` _ \ 
  \ V  V /| |   <| |___) | (_) | (_) | (_| (_) | | | | | |
   \_/\_/ |_|_|\_\_|____/ \___/ \___(_)___\___/|_| |_| |_|

User:DannyS712/AbuseFilterMessageLinks.js

In today's article, we are going to delve into the fascinating world of User:DannyS712/AbuseFilterMessageLinks.js. We will explore its origins, its current applications and its impact on society. User:DannyS712/AbuseFilterMessageLinks.js is a topic that has sparked great interest over the years, and its relevance continues to rise today. Along these lines, we will immerse ourselves in its history, analyze its implications in different areas and reflect on its role in the future. Let us be prepared to embark on a journey of discovery and reflection about User:DannyS712/AbuseFilterMessageLinks.js.
// <nowiki>
// Quick script to add links to the "warn" and "disallow" messages used in
// edit filters
// @author DannyS712
$(() => {
const AbuseFilterMessageLinks = {};
window.AbuseFilterMessageLinks = AbuseFilterMessageLinks;

AbuseFilterMessageLinks.init = function () {
	mw.loader.using(
		,
		AbuseFilterMessageLinks.run
	);
};

AbuseFilterMessageLinks.addHandler = function ( selectId, inputId, toggleId ) {
	const selectWidget = OO.ui.infuse( $( '#' + selectId ) );
	const inputWidget = OO.ui.infuse( $( '#' + inputId ) );

	const $link = $( '<a>' ).attr( 'target', '_blank' );
	const updateLink = ( messageName ) => {
		$link.text( 'MediaWiki:' + messageName );
		$link.attr( 'href', 'https://wiki386.com/en/MediaWiki:' + messageName );
	};
	updateLink( inputWidget.getValue() );
	$( '#' + toggleId ).after( ' ', $link );
	
	selectWidget.on( 'change', updateLink );
	inputWidget.on( 'change', updateLink );
};

AbuseFilterMessageLinks.run = function () {
	// Warn
	AbuseFilterMessageLinks.addHandler(
		'mw-abusefilter-warn-message-existing',
		'mw-abusefilter-warn-message-other',
		'mw-abusefilter-warn-preview-button'
	);
	// Disallow
	AbuseFilterMessageLinks.addHandler(
		'mw-abusefilter-disallow-message-existing',
		'mw-abusefilter-disallow-message-other',
		'mw-abusefilter-disallow-preview-button'
	);
};


});

$(document).ready(() => {
	if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'AbuseFilter'
		&& mw.config.get( 'wgPageName' ).match( /^Special:AbuseFilter\/\d+$/ )
	) {
		window.AbuseFilterMessageLinks.init();
	}
});

// </nowiki>