Benutzer:TenWhile6/SchnellErl.js
Erscheinungsbild
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
- Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
//<nowiki>
// Adapted from EasyResolve.js by DannyS712 (meta)
// Mithilfe: [[User:mpns]], [[User:Lustiger seth]], [[User:Doc Taxon]], [[User:hgzh]]
var SchnellErl = {};
window.SchnellErl = SchnellErl;
SchnellErl.config = {
name: '[[:de:Benutzer:TenWhile6/SchnellErl|SchnellErl]]',
version: '1.5b',
cur: mw.config.get('wgCurRevisionId'),
pageTitle: mw.config.get('wgPageName'),
API: new mw.Api()
};
if (mw.config.get("wgDBname") == "dewiki") {
SchnellErl.summaryA = 'Diskussionsabschnitt ';
SchnellErl.summaryB = ' als erledigt markiert (' + SchnellErl.config.name + ' v' + SchnellErl.config.version + ')';
if ( typeof schnellErlConfig == 'undefined' || typeof schnellErlConfig.enableShortSign == 'undefined' ) {
SchnellErl.box = '{{erledigt|1=$7--~~~~}}';
} else {
SchnellErl.box = '{{erledigt|1=$7~~~~}}';
}
} else if (["metawiki", "wikidatawiki", "enwiki"].includes(mw.config.get("wgDBname"))) {
SchnellErl.summaryA = 'Section ';
SchnellErl.summaryB = ' resolved (' + SchnellErl.config.name + ' v' + SchnellErl.config.version + ')';
SchnellErl.box = '{{section resolved|$7~~~~}}';
}
SchnellErl.setup = function () {
$('span.mw-editsection-bracket:first-child').each( function() {
try {
var sectionNumber = this.parentElement.childNodes[1].href.match( /action=edit§ion=(\d+)/ )[1];
if (sectionNumber !== '0') {
const sectionTitle = this.parentElement.childNodes[1].title.match(/^[^:]+:\s*(.+)/)[1];
this.after(' | ');
var T = '';
if (["dewiki", "metawiki", "wikidatawiki", "enwiki"].includes(mw.config.get("wgDBname"))) {
T = '<a class="SchnellErlClose" data-section-number="' + sectionNumber + '" data-section-title="' + sectionTitle + '">Erledigt</a>';
var Tx = '<a class="SchnellErlCloseWithReason" data-section-number="' + sectionNumber + '" data-section-title="' + sectionTitle + '">Erl.+Grund</a>';
$(this).after($(Tx));
this.after(' | ');
} else {
T = '<span class="SchnellErlClose" data-section-number=' + sectionNumber + '>Erledigt (Wiki deaktiviert)</span>';
}
$(this).after($(T));
}
} catch (e) {
}
} );
$('a.SchnellErlClose').click(function() {
if ( typeof schnellErlConfig == 'undefined' || typeof schnellErlConfig.enableConfirm == 'undefined' ) {
SchnellErl.close(this, true);
} else {
var conf = confirm("Abschnitt erledigen?");
if (conf) {
SchnellErl.close(this, true);
}
}
} );
$('a.SchnellErlCloseWithReason').click(function() {
var conf = prompt("Bitte Grund angeben:");
if (conf) {
SchnellErl.close(this, conf);
}
} );
};
SchnellErl.close = function (section, modus) {
boxnew = modus == true ? SchnellErl.box.replace('$7', '') : boxnew = SchnellErl.box.replace('$7', `${modus} `);
const sectionNumber = section.dataset.sectionNumber;
const sectionTitle = section.dataset.sectionTitle;
SchnellErl.config.API.postWithEditToken( {
action: 'edit',
title: SchnellErl.config.pageTitle,
section: sectionNumber,
appendtext: "\n" + boxnew,
summary: "/* " + sectionTitle + " */" + SchnellErl.summaryB,
notminor: true,
nocreate: true,
baserevid: SchnellErl.config.cur,
}).then(function() {
location.reload();
}).catch(function(error) {
alert(error == 'editconflict' ? 'Die Seite wurde zwischenzeitlich editiert! Zur Vermeidung eines Bearbeitungskonflikts wird die Seite wird neu geladen, anschließend bitte erneut versuchen.' : error);
location.reload();
});
};
mw.loader.using( 'mediawiki.api', function() {
$(document).ready( function () {
if ( $('#ca-addsection').length > 0 &&
mw.config.get('wgAction') == 'view' &&
( mw.config.get('wgNamespaceNumber') % 2 == 1 ||
(mw.config.get('wgNamespaceNumber') == 4 &&
mw.config.get('wgPageName') !== "Wikipedia:Vandalismusmeldung")
)
) {
SchnellErl.setup();
}
});
} );
//</nowiki>