Jump to content

User:Enterprisey/talk-tab-count.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Enterprisey (talk | contribs) at 21:32, 8 January 2018 (Updating User:Enterprisey/talk-tab-count.js from local version). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
$( function() {
    mw.loader.using( [ "mediawiki.util", "mediawiki.api.edit" ] ).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."
            );
        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 ([[User:Enterprisey/undo-last-edit.js|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 );
                    }
                } );
            } );
        } );
    } );
} );