MediaWiki:Gadget-purgetab.js: Difference between revisions

From Elwiki
No edit summary
No edit summary
 
(3 intermediate revisions by 2 users not shown)
Line 2: Line 2:
  * Add "Purge" content action link.
  * Add "Purge" content action link.
  *
  *
  * Dependencies: mediawiki.util, mediawiki.api, mediawiki.notify
  * Dependencies: mediawiki.util, mediawiki.api
  *
  *
  * @source https://www.mediawiki.org/wiki/Snippets/Purge_action
  * @source https://www.mediawiki.org/wiki/Snippets/Purge_action
  * @revision 2016-05-22
  * @revision 2020-04-04
  */
  */
$( function () {
$( function () {
if ( $( '#ca-purge' ).length || !mw.config.get( 'wgIsArticle' ) ) return;
if ( $( '#ca-purge' ).length || mw.config.get( 'wgNamespaceNumber' ) < 0 ) return;
var node = mw.util.addPortletLink(
var node = mw.util.addPortletLink(
'p-cactions',
'p-cactions',
mw.util.getUrl( null, { action: 'purge' } ),
mw.util.getUrl( null, { action: 'purge' } ),
mw.config.get( 'skin' ) === 'vector' ? 'Purge' : '*',
'Purge',
'ca-purge',
'ca-purge',
'Purge the server cache of this page',
'Purge the server cache of this page'
'Purge page'
);
);
$(node).on( 'click', function (e) {
$( node ).on( 'click', function ( e ) {
new mw.Api().post( { action: 'purge', titles: mw.config.get( 'wgPageName' ) } ).then(function () {
new mw.Api().post( { action: 'purge', titles: mw.config.get( 'wgPageName' ) } ).then( function () {
location.reload();
location.reload();
}, function () {
}, function () {
mw.notify( 'Purge failed', { type: 'error' } );
mw.notify( 'Purge failed', { type: 'error' } );
});
} );
e.preventDefault();
e.preventDefault();
});
} );
});
} );

Latest revision as of 23:26, 26 August 2022

/**
 * Add "Purge" content action link.
 *
 * Dependencies: mediawiki.util, mediawiki.api
 *
 * @source https://www.mediawiki.org/wiki/Snippets/Purge_action
 * @revision 2020-04-04
 */
$( 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();
	} );
} );