User:Ericliu1912/mass-patrol.js
外观
注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google Chrome、Firefox、Microsoft Edge及Safari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。
// 大量巡查小工具
// 取自 https://cs.wikipedia.org/w/index.php?title=MediaWiki:Gadget-massPatrol.js&oldid=20637273
( function ( mw, $ ) {
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) !== 'Newpages' ) {
return;
}
var api;
function patrol( event ) {
event.preventDefault();
$( '.patrol-checkbox' )
.attr( 'disabled', true )
.each( function () {
var $this = $( this );
if ( $this.prop( 'checked' ) === true ) {
var revid = $this.siblings( 'a' ).eq( 0 ).attr( 'href' ).match( /oldid=(.*)$/ )[1];
api.postWithToken( 'patrol', {
'action': 'patrol',
'revid': revid
} )
.then( function () {
$this.prop( 'checked', false )
.closest( '.not-patrolled' )
.removeClass( 'not-patrolled' );
} );
} else {
$this.attr( 'disabled', false );
}
} );
}
function load() {
var rows = $( '.not-patrolled' );
if ( rows.length === 0 ) {
return;
}
api = new mw.Api();
rows.prepend(
$( '<input>' )
.attr( {
'type': 'checkbox',
'class': 'patrol-checkbox'
} ),
' '
);
$( '.mediawiki' )
.append(
$( '<div>' )
.attr( 'id', 'new-pages-click-handler' )
.css( {
'bottom': 0,
'display': 'block',
'position': 'fixed',
'right': 0,
'z-index': 100,
'padding': '5px',
'box-shadow': '0 2px 4px rgba(0,0,0,0.5)',
'background-color': '#FEF6E7',
'font-size': 'small',
} )
.append(
$( '<a>' )
.attr( 'href', '#' )
.on( 'click', patrol )
.text( '標記頁面為已巡查' )
)
);
}
$.when(
mw.loader.using( [ 'mediawiki.api' ] ),
$.ready
).then( load );
} )( mediaWiki, jQuery );