MediaWiki:Gadget-purge.js: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
m zapomnialem uzyc zmiennej $content |
umozliwiaj uruchomienie bez zaladowania mediawiki.util z poziomu MediaWiki:Gadgets-definition (przydatne dla uzytkownikow innych wiki) |
||
Linia 6: | Linia 6: | ||
}, |
}, |
||
modules = [ |
modules = [ |
||
'mediawiki.util', |
|||
'mediawiki.api', |
'mediawiki.api', |
||
'mediawiki.notify', |
'mediawiki.notify', |
||
Linia 51: | Linia 52: | ||
$( function () { |
$( function () { |
||
var $li = |
var $li = null; |
||
'p-cactions', |
|||
function getPortletLink() { |
|||
mw.util.getUrl( null, { |
|||
return $( mw.util.addPortletLink( |
|||
⚫ | |||
'p-cactions', |
|||
mw. |
mw.util.getUrl( null, { |
||
' |
action: 'purge' |
||
⚫ | |||
⚫ | |||
mw.msg( 'purge-tab-label' ), |
|||
⚫ | |||
⚫ | |||
⚫ | |||
) ); |
|||
} |
|||
if ( 'util' in mw ) { |
|||
$li = getPortletLink(); |
|||
} |
|||
mw.loader.using( modules ).done( function () { |
mw.loader.using( modules ).done( function () { |
||
processElements( $li ); |
processElements( $li || getPortletLink() ); |
||
} ); |
} ); |
||
} ); |
} ); |
Wersja z 14:58, 14 cze 2017
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',
'mediawiki.notify',
'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 );
} );
}
} );
}