MediaWiki:Gadget-Purge.js

From Hearthstone Wiki
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)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
$(document).ready(function(){
	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',
			},
	        'failtext': {
			    'en': 'Could not perform purge. Reason: ',
			}
	
		}
		var $lang = mw.config.get( 'wgUserLanguage' ) || 'en';
		return function(key){
			return $text[key] && ($text[key][$lang] || $text[key]['en']) || '';
		}
	})();
	
	$('body').append('<div id="purge-loading" style="display:none; position:fixed; top:25%; left:50%; transform:translate(-25%, -25%); z-index:1000;">' +
	'<img src="/images/4/42/Loading.gif" alt="Loading..." style="height: 50%; width:50%;">' +
	'<br><h2 style="font-family: Belwe; color: white; border-bottom: none; text-shadow: 1px 1px 0 #000, -1px 1px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000;">Purging cache...</h2></div>');
	
	
	$(mw.util.addPortletLink('p-cactions', 'javascript:;', l10n('buttonlabel'), 'ca-gadget-purgecache', l10n('hovertext'), '1')).click(function() {
		var postArgs = {
		action: 'purge',
		titles: mw.config.get('wgPageName')
		};
	    $('#purge-loading').show();
		new mw.Api().post(postArgs).then(function() {
			location.reload();
		}).fail(function(code, data) {
	        $('#purge-loading').hide();
	        alert(l10n('failtext') + code);
	    });
	});
});