User:Primefac/Qwikify.js

From Wikipedia, the free encyclopedia
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.
// Make sure the utilities module is loaded (will only load if not already)
mw.loader.using( ['mediawiki.util', 'mediawiki.api'], function () {
	var API = new mw.Api( {
		ajax: {	
			headers: { 'Api-User-Agent': 'Qwikify/1.2 ( https://en.wikipedia.org/wiki/User:Primefac/Qwikify.js )'	}
		}
	} );

    //see below "Portlets" subsection
        var link = mw.util.addPortletLink( 'p-cactions', '#', 'Wikify', 'ca-wikify', 'Mark for wikification'); 
		$( link ).click( function doQwikify() {
				API.postWithToken( "edit", {
					action: "edit",
					title: mw.config.get( "wgPageName" ),
					prependtext: "{" + "{wikify}}\n\n",
					summary: "Mark for wikification"
				} ).done( function() {
					// Code to execute if saved successfully
					// Maybe reload the page:
					location.reload();
				} ).fail( function( code, jqxhr ) {
					// Edit failed. The reason will be in the code and/or jqxhr parameters...
					if ( code === "http" && jqxhr.textStatus === "error" ) {
						console.log( "HTTP error " + jqxhr.xhr.status );
					} else if ( code === "http" ) {
						console.log( "HTTP error: " + jqxhr.textStatus );
					} else if ( code === "ok-but-empty" ) {
						console.log( "Error: Got an empty response from the server" );
					} else {
						console.log( "API error: " + code );
					}
				} );
			} );
} );