MediaWiki:Gadget-massPatrol.js

Poznámka: Po uložení musíte vyprázdnit mezipaměť vašeho prohlížeče, jinak změny neuvidíte.

( 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 row = $this.closest( 'li.not-patrolled' );
				api.postWithToken( 'patrol', {
					'action': 'patrol',
					'revid': row.data( 'mw-revid' )
				} )
				.then( function () {
					row.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( 'Označit vybrané stránky jako prověřené' )
			)
		);
	}

	$.when(
		mw.loader.using( [ 'mediawiki.api' ] ),
		$.ready
	).then( load );

} )( mediaWiki, jQuery );