User:Enterprisey/undo-last-edit.js

$( function {   if( mw.config.get( "wgNamespaceNumber" ) < 0 ) return;    mw.loader.using( [ "mediawiki.util", "mediawiki.api" ] ).then( function  { var link = mw.util.addPortletLink(           "p-cactions",            "#",            "Undo last edit",            "ca-undo",            "Using the API, undo the last edit made to this page."            ); if( !link ) return; link.addEventListener( "click", function {            var api = new mw.Api;            api.get( { prop: 'revisions', rvprop: 'content', rvlimit: 2, titles: mw.config.get( "wgPageName" ) } ).done( function ( data ) { if ( !data.query || !data.query.pages ) return; var pageid = Object.getOwnPropertyNames( data.query.pages )[0], text = data.query.pages[pageid].revisions[1]["*"]; api.postWithToken( "csrf", {                   action: "edit",                    title: mw.config.get( "wgPageName" ),                    summary: "Undoing last edit (undo-last-edit)",                    text: text                } ).done ( function ( data ) {                    if ( data && data.edit && data.edit.result && data.edit.result == 'Success' ) {                        mw.notify( "Undid last edit successfully! Reloading..." );                       document.location.reload( true );                    }                } ); } );       } );    } ); } );