MediaWiki:Gadgets/purge/main.js
Jump to navigation
Jump to search
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
(function() {
if ( document.getElementById( 'ca-cargo-purge' )){ return } // disable if Cargo has already added a purge button
if ( mw.config.get( 'wgNamespaceNumber' ) === -1 ) { return } // disable on special pages
var l10n = (function(){
var text = {
'buttonlabel': {
'en': 'Purge cache',
'de': 'Aktualisieren',
'fr': 'Purger',
'ru': 'Обновить',
'pt': 'Actualizar',
'pt-br': 'Actualizar',
},
'hovertext': {
'en': 'Purge the server cache for this page',
'de': 'Den Server-Cache dieser Seite löschen',
'fr': 'Purge le cache du serveur de cette page',
'ru': 'Очистить кэш сервера на этой странице',
'pt': 'Limpe o cache do servidor para esta página',
'pt-br': 'Limpe o cache do servidor para esta página',
},
'errortext': {
'en': 'Failed to purge the page! Error code: $1'
}
}
var lang = mw.config.get( 'wgUserLanguage' ) || 'en';
return function(key){
return text[key] && (text[key][lang] || text[key]['en']) || '';
}
})();
var url = new URL(window.location.href);
url.searchParams.set('action', 'purge');
var button = mw.util.addPortletLink('p-cactions', url.href, l10n('buttonlabel'), 'ca-gadget-purgecache', l10n('hovertext'), '1');
button.addEventListener('click', (function(event) {
event.preventDefault();
var api = new mw.Api();
api.post({
action: 'purge',
titles: mw.config.get('wgPageName'),
forcerecursivelinkupdate: true
}).then(function() {
window.location.reload(true);
}).fail(function(code) {
mw.notify(l10n('errortext').replace('$1', code));
});
}));
console.log('purge loaded');
})();