Hoppa till innehållet

MediaWiki:Gadget-RevDelLogLinks.js

Från Wikipedia

OBS: Efter du har publicerat sidan kan du behöva tömma din webbläsares cache för att se ändringarna.

  • Firefox / Safari: Håll ned Skift och klicka på Uppdatera sidan eller tryck Ctrl-F5 eller Ctrl-R (⌘-R på Mac)
  • Google Chrome: Tryck Ctrl-Skift-R (⌘-Skift-R på Mac)
  • Edge Håll ned Ctrl och klicka på Uppdatera eller tryck Ctrl-F5.
  • Opera: Tryck Ctrl-F5.
$( function() {
	// Länka till raderade versioner från sidhistorik.
	if ( mw.config.get( 'wgAction' ) == 'history' ) {
		$( '.history-deleted.mw-changeslist-date' ).not( ':has(a)' ).wrapInner( function() {
			return '<a href="/w/index.php?oldid=' + $( this ).closest( 'li' ).attr( 'data-mw-revid' ) + '"></a>';
		} );
		return;
	} 

	// Försök visa raderingsloggen för raderade versioner.
	const revdelboxcontent = $( '.cdx-message__content' ).filter( ':contains("Denna version av sidan har raderats."),:contains("Den här versionen av sidan har raderats.")' );
	if ( !revdelboxcontent.length ) {
		// Antagligen inte en raderad sidversion.
		return;
	}

	function getRevId() {
		const match = location.href.match( /[\&\?]oldid\=([0-9]+)/ );
		if ( match ) {
			return parseInt( match[ 1 ] );
		} else {
			return 0;
		}
	}

	const revid = getRevId();
	const api = new mw.Api();	
	api.get( {
		action: 'query',
		list: 'logevents',
		letype: 'delete',
		leaction: 'delete/revision',
		letitle: mw.config.get( 'wgPageName' ),
		lelimit: 'max'
	} ).done( function( data ) {
		if (
			data &&
			data.query &&
			data.query.logevents
		) {
			data.query.logevents.forEach( function( log ) {
				if (
					log.params &&
					log.params.ids &&
					( log.params.ids.includes( revid ) || log.params.ids.includes( revid.toString() ) )
				) {
					$.get( 'index.php', {
						title: 'Special:Log',
						logid: log.logid
					} ).done( function( d ) {
						$( d ).find( '.mw-logevent-loglines' ).appendTo( revdelboxcontent ).find( 'input' ).remove();
					} );
				}
			} );
		}
	} );
} );