Usuário:!Silent/verifyMatchFilter.js
Nota: Depois de publicar, poderá ter de contornar a cache do seu navegador para ver as alterações.
- Firefox / Safari: Pressione Shift enquanto clica Recarregar, ou pressione Ctrl-F5 ou Ctrl-R (⌘-R no Mac)
- Google Chrome: Pressione Ctrl-Shift-R (⌘-Shift-R no Mac)
- Edge: Pressione Ctrl enquanto clica Recarregar, ou pressione Ctrl-F5.
/**
* @author [[w:pt:User:!Silent]]
* @date 02/dez/2016
*/
/* global mediaWiki, jQuery */
( function( mw, $, window ) {
'use strict';
mw.messages.set( {
'vmf-match': 'verificar ocorrências',
'vmf-regex': 'Insira a regex',
'vmf-noMatch': 'Sem ocorrências encontradas.'
} );
/**
* Messages
* @param {string} name Name of the message
* @param {string|number} [$N] Dynamic parameters to the message (i.e. the values for $1, $2, etc)
* @see [[mw:ResourceLoader/Default_modules#mediaWiki.message]]
* @return {string}
*/
function message( /*name[, $1[, $2[, ... $N ]]]*/ ) {
return mw.message.apply( undefined, arguments ).plain();
}
function verifyMatchFilter() {
var regexTarget, matched;
$( 'fieldset span a' ).last().after( ' | <a href="#" id="vmf-match">' + message( 'vmf-match' ) + '</a>' );
$( '#vmf-match' ).click( function() {
if ( !( regexTarget = prompt( message( 'vmf-regex' ), '' ) ) ) {
return;
}
matched = $( '.diff' ).text()
.toUpperCase()
.replace( /["ÁÀÃÂÄ]/gi, 'A' )
.replace( /[ÉÈÊË]/gi, 'E' )
.replace( /[ÍÌÎÏ]/gi, 'I' )
.replace( /[ÓÒÔÖÕ]/gi, 'O' )
.replace( /[ÚÙÜÛ]/gi, 'U' )
.replace( /Ñ/gi, 'N' )
.replace( /Ç/gi, 'C' )
.replace( /(.?)\1{1,}/g, '$1' )
.match( new RegExp( regexTarget ) );
alert( !!matched ? matched.join( '\n' ) : message( 'vmf-noMatch' ) );
} );
}
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'AbuseLog' ) {
verifyMatchFilter();
}
}( mediaWiki, jQuery, window ) );