Benutzer:TenWhile6/SchnellErl.js

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

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
//<nowiki>
// Adapted from EasyResolve.js by DannyS712 (meta)
// Beta-Tester: [[User:mpns]]
// Anpassungen / Mithilfe: [[User:Lustiger seth]] + [[User:Doc Taxon]]
var SchnellErl = {};
window.SchnellErl = SchnellErl;
SchnellErl.config = {
	name: '[[:de:Benutzer:TenWhile6/SchnellErl|SchnellErl]]',
	version: '1.3',
	debug: false
};
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=--~~~~}}';
    } else {
        SchnellErl.box = '{{erledigt|1=~~~~}}';
    }
}
if (["metawiki", "wikidatawiki"].includes(mw.config.get("wgDBname"))) {
	SchnellErl.summaryA = 'Section ';
	SchnellErl.summaryB = ' resolved (' + SchnellErl.config.name + ' v' + SchnellErl.config.version + ')';
	SchnellErl.box = '{{section resolved|~~~~}}';
}
SchnellErl.setup = function () {
	$('span.mw-editsection-bracket:first-child').each( function() {
		// console.log( this );
		try {
			var sectionNumber = this.parentElement.childNodes[1].href.match( /action=edit&section=(\d+)/ )[1];
			if (sectionNumber !== '0') {
				const sectionTitle = this.parentElement.childNodes[1].title.match(/^[^:]+:\s*(.+)/)[1];
				this.after( ' | ' );
				if (["dewiki", "metawiki", "wikidatawiki"].includes(mw.config.get("wgDBname"))) {
					var T = '<a class="SchnellErlClose" data-section-number="' + sectionNumber + '" data-section-title="' + sectionTitle + '">Erledigt</a>';
				} else {
					var 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' ) {
			console.log(this);
			SchnellErl.close(this);
		} else {
			var conf = confirm("Abschnitt erledigen?");
			if (conf) {
				console.log(this);
				SchnellErl.close(this);
			}
		}
	} );
};
SchnellErl.close = function (section) {
	console.log(section);
	const sectionNumber = section.dataset.sectionNumber;
	const sectionTitle = section.dataset.sectionTitle;
	var pageTitle = mw.config.get('wgPageName');
	console.log(sectionNumber);
	new mw.Api().get( {
		action: 'parse',
		page: pageTitle,
		prop: 'wikitext',
		section: sectionNumber
	}).done( function( result ) {
		console.log( result );
		var wikitext = result.parse.wikitext['*'];
		wikitext = wikitext + '\n' + SchnellErl.box;
		console.log( wikitext );
		new mw.Api().postWithEditToken( {
			action: 'edit',
			title: pageTitle,
			section: sectionNumber,
			text: wikitext,
			summary: "/* " + sectionTitle + " */" + SchnellErl.summaryB,
			notminor: true,
			nocreate: true
		}).done( function( result ) {
			console.log( result );
			if ( result && result.edit && result.edit.result && result.edit.result === 'Success' ){
				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>