MediaWiki:Gadget-RevertMoves.js
Utseende
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() {
'use strict';
var api = new mw.Api();
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Contributions' ) {
if ( $( '.mw-contributions-blocked-notice' ).length ) {
$( '#contentSub' )
.find( '.mw-changeslist-links' )
.contents()
.last()
.after( ' <span id="gadget-revertmoves"><a>Återställ flyttar</a></span>' )
.next()
.children( 'a' )
.attr( {
'href': '#',
'title': 'Flytta tillbaka sidor utan att lämna omdirigering'
} )
.click( function( ev ) {
ev.preventDefault();
function getLogEvents( start ) {
var obj = {
list: 'logevents',
letype: 'move',
leuser: mw.config.get( 'wgRelevantUserName' ),
formatversion: 2
};
if ( start ) {
obj.lecontinue = start;
}
api.get( obj ).done( function( getres ) {
var logevents = getres.query.logevents;
var i = -1;
function move() {
i = i + 1;
if ( i >= logevents.length ) {
if ( getres.continue ) {
if ( getres.continue.lecontinue ) {
getLogEvents( getres.continue.lecontinue );
}
} else {
$( '#gadget-revertmoves' ).text( 'Flyttar återställda' );
}
} else {
api.postWithToken( 'csrf', {
action: 'move',
from: logevents[ i ].params.target_title,
to: logevents[ i ].title,
noredirect: true
} ).done( function() {
move();
} );
}
}
move();
} );
}
getLogEvents();
} );
}
}
} );