MediaWiki:Gadget-confirm-logout.js

Fonte: Wikinotícias

Nota: Depois de publicar, deve limpar o cachê do seu navegador para ver as alterações.

  • Firefox e Safari: Pressione Shift enquanto clica Recarregar, ou pressione Ctrl-F5 ou Ctrl-R (⌘-R no Mac)
  • Google Chrome: Pressione Ctrl-Shift-R (⌘-Shift-R no Mac)
  • Internet Explorer e Edge: Pressione Ctrl enquanto clica Recarregar, ou pressione Ctrl-F5
  • Opera: Pressione Ctrl-F5.
/*!
 * @author 安忆 [[zh:User:AnYiLin]]
 */
(function($, mw) {
	var confirmLogout = function() {
		var dom = document.querySelector('#ca-cb-logout>a') || document.querySelector('.menu__item--logout') || document.querySelector('#pt-logout>a');
		if (dom && RLCONF.wgUserName) {
			var newDom = document.createElement('a');
			dom.className && (newDom.className = dom.className);
			newDom.href = dom.href;
			newDom.innerHTML = dom.innerHTML;
			dom.parentNode.appendChild(newDom);
			dom.parentNode.removeChild(dom); //ES6: dom.remove()
			newDom.addEventListener('click', function(e) {
				e.preventDefault();
				e.stopPropagation();
				OO.ui.confirm($('<div class="oo-ui-window-foot" style="display:flex;justify-content:space-evenly"><span style="padding:.4em 0">Tem certeza que quer sair?</span></div>')).then(function(confirmed) {
					if (confirmed) {
						window.bldkDingExposedInterface(mw.message('logging-out-notify'), 'default', 'long');
						new mw.Api().postWithEditToken({
							action: 'logout'
						}).then(function() {
							window.location.reload();
						});
					}
				});
			});
		}
	};
	$(confirmLogout);
})(jQuery, mw);