MediaWiki:Gadget-patrol-button.js
Ir a la navegación
Ir a la búsqueda
Nota: tras guardar, quizás necesites actualizar la caché de tu navegador para ver los cambios.
- Firefox/Safari: Mantén presionada la tecla Mayús mientras pulsas el botón Actualizar, o presiona Ctrl+F5 o Ctrl+R (⌘+R en Mac)
- Google Chrome: presiona Ctrl+Shift+R (⌘+Mayús+R en Mac)
- Internet Explorer: mantén presionada Ctrl mientras pulsas Actualizar, o presiona Ctrl+F5
- Opera: dirígete a Menú → Configuración (Opera → Preferencias en Mac) y luego a Privacidad y seguridad → Borrar datos de navegación → Imágenes y archivos en caché.
mw.hook('wikipage.diff').add(function patrol_button(){ // load the notify function mw.loader.load('mediawiki.notification'); const to_secs = 5 // create an api client const api = new mw.Api() // the old "button" const old = document.querySelector('.patrollink') if (!old) { return } // fetch the current RC id for the later request const rcid = mw.util.getParamValue('rcid', old.firstElementChild.href) // setup the new button const btn = document.createElement('button') btn.textContent = 'Patrol' btn.addEventListener('click', function patrol_clicked() { // progress spinnner const spin = ($.createSpinner({ size: 'small', display: 'inline', }))[0] btn.replaceWith(spin) api.postWithToken('patrol', { formatversion: 2, action: 'patrol', rcid: rcid, }).done(function patrolled(data) { if (data.patrol !== undefined) { const title = new mw.Title(data.patrol.title); mw.notify(mw.msg('markedaspatrollednotify', title.toText())); spin.remove() } else { mw.notify(mw.msg('markedaspatrollederrornotify'), { type: 'error' }); spin.replaceWith(btn) } }).fail(function patrol_fail(error) { console.warn('patrol:', error) if (error === 'noautopatrol') { mw.notify(mw.msg('markedaspatrollederror-noautopatrol'), { type: 'warn' }); } else { mw.notify(mw.msg('markedaspatrollederrornotify'), { type: 'error' }); } spin.replaceWith(btn) }) }) // hide old button and show new one old.replaceWith(btn) })