Snippets/Purge action

From MediaWiki.org
Jump to navigation Jump to search
How to use SnippetsSnippets
List of SnippetsCategory:All snippets
Crystal Clear action run.png
Purge action
Language(s): JavaScriptCategory:Snippets with JavaScript
Compatible with: MediaWiki 1.20+ (Vector; Monobook)

Description[edit]

Adds a link for purging the current page to the content actions.

Code[edit]

The code is self-contained. When using the code as a gadget, replace:

$.when(mw.loader.using(['mediawiki.util', 'mediawiki.api', 'mediawiki.notify']), $.ready).then(function () {

with:

$(function () {

and list the dependencies in the gadgets definition file.

/**
 * Add "Purge" content action link.
 *
 * Dependencies: mediawiki.util, mediawiki.api, mediawiki.notify
 *
 * @source https://www.mediawiki.org/wiki/Snippets/Purge_action
 * @revision 2016-08-26
 */
$.when(mw.loader.using(['mediawiki.util', 'mediawiki.api', 'mediawiki.notify']), $.ready).then(function () {
	if ( $( '#ca-purge' ).length || mw.config.get( 'wgNamespaceNumber' ) < 0 ) return;
	var node = mw.util.addPortletLink(
		'p-cactions',
		mw.util.getUrl( null, { action: 'purge' } ),
		'Purge',
		'ca-purge',
		'Purge the server cache of this page'
	);
	$(node).on( 'click', function (e) {
		new mw.Api().post( { action: 'purge', titles: mw.config.get( 'wgPageName' ) } ).then(function () {
			location.reload();
		}, function () {
			mw.notify( 'Purge failed', { type: 'error' } );
		});
		e.preventDefault();
	});
});