Benutzer:Codeispoetry/rollback.js
aus Wikipedia, der freien Enzyklopädie
Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
- Opera: Strg+F5
/*global addOnloadHook, displayBoxPage, SimpleUI, DOM, UserCfg, copySlotsRecursively*/
var Rollback = {
revurl: '',
preSummary: '',
replaceLink: function () {
if(typeof DOM === 'undefined') {
mw.log.error('DOM global is undefined');
return;
}
var linkspan = DOM.fetch(document, 'span', 'mw-rollback-link', 0);
if (linkspan === null) {
return;
}
var link = linkspan.getElementsByTagName('a')[0];
Rollback.revurl = link.getAttribute('href');
link.onclick = Rollback.promptSummary;
link.setAttribute('href', '#');
},
promptSummary: function() {
var caption = 'Begründung angeben';
if (Rollback.preSummary.length > 0) {
caption += ' („' + Rollback.preSummary + '“ wird automatisch vorangestellt)';
}
caption += ':';
SimpleUI.InputBox([ [ caption, 'wpRollbackSummary', '60', '200', '' ] ],
[ ['Zurücksetzen', Rollback.execute] ],
'rollback');
},
execute: function () {
if(typeof DOM === 'undefined') {
mw.log.error('DOM global is undefined');
return;
}
var summary = DOM.get('wpRollbackSummary').value;
if (summary.length === 0) {
SimpleUI.Box('Änderung wird mit der Standardbegründung zurückgesetzt …', 'rollback');
displayBoxPage(Rollback.revurl);
} else {
summary = Rollback.preSummary + summary;
SimpleUI.Box('Änderung wird mit der Begründung „' + summary + '“ zurückgesetzt …', 'rollback');
displayBoxPage(Rollback.revurl + '&summary=' + encodeURIComponent(summary));
}
}
};
if (typeof UserCfg === 'object' && typeof UserCfg.Rollback === 'object') {
copySlotsRecursively(Rollback, UserCfg.Rollback);
}
$(Rollback.replaceLink);