MediaWiki:Gadget-purge.js
Uwaga: aby zobaczyć zmiany po opublikowaniu, może zajść potrzeba wyczyszczenia pamięci podręcznej przeglądarki.
- Firefox / Safari: Przytrzymaj Shift podczas klikania Odśwież bieżącą stronę, lub naciśnij klawisze Ctrl+F5, lub Ctrl+R (⌘-R na komputerze Mac)
- Google Chrome: Naciśnij Ctrl-Shift-R (⌘-Shift-R na komputerze Mac)
- Edge: Przytrzymaj Ctrl, jednocześnie klikając Odśwież, lub naciśnij klawisze Ctrl+F5.
- Opera: Naciśnij klawisze Ctrl+F5.
var messages = {
'purge-tab-label': 'Odśwież',
'purge-tab-tooltip': 'Wyczyść pamięć podręczną dla tej strony',
'purge-notification-success': 'Wyczyszczono pamięć podręczną strony.',
'purge-notification-error': 'Wyczyszczenie pamięci podręcznej się nie powiodło.'
},
modules = [
'mediawiki.util',
'mediawiki.api',
'jquery.spinner'
],
config = mw.config.get( [
'wgNamespaceNumber',
'wgPageName'
] ),
apiParams = {
action: 'purge',
titles: config.wgPageName
},
spinnerConfig = {
size: 'small',
type: 'inline'
};
function processElements( $els ) {
$els
.append( $.createSpinner( spinnerConfig ).hide() )
.on( 'click', onClickHandler );
}
function onClickHandler( e ) {
var $spinner = $( this ).children( '.mw-spinner' );
e.preventDefault();
$spinner.show();
new mw.Api().post( apiParams ).done( function () {
location.href = mw.util.getUrl();
mw.notify( mw.msg( 'purge-notification-success' ) );
} ).fail( function () {
mw.notify( mw.msg( 'purge-notification-error' ), {
type: 'error'
} );
} ).always( function () {
$spinner.hide();
} );
}
if ( config.wgNamespaceNumber >= 0 ) {
mw.messages.set( messages );
$( function () {
var $li = null;
function getPortletLink() {
return $( mw.util.addPortletLink(
'p-cactions',
mw.util.getUrl( null, {
action: 'purge'
} ),
mw.msg( 'purge-tab-label' ),
'ca-purge',
mw.msg( 'purge-tab-tooltip' )
) );
}
if ( 'util' in mw ) {
$li = getPortletLink();
}
mw.loader.using( modules ).done( function () {
processElements( $li || getPortletLink() );
} );
} );
mw.hook( 'wikipage.content' ).add( function ( $content ) {
var $purgeLinks = $content.find( '.purge-link' ); // [[Szablon:odśwież]]
if ( $purgeLinks.length ) {
mw.loader.using( modules ).done( function () {
processElements( $purgeLinks );
} );
}
} );
}