User:DarkMatterMan4500/EasyResolve.js

// //Maintained by DannyS712 var EasyResolve = {}; window.EasyResolve = EasyResolve;

EasyResolve.config = { name: 'EasyResolve', version: '1.2', debug: false }; EasyResolve.summary = 'Mark a discussion as resolved (' + EasyResolve.config.name + ' v.' + EasyResolve.config.version + ')'; EasyResolve.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];			console.log( sectionNumber );			this.after( ' | ' );			$(this).after( $( 'Close discussion (via script) ') );		} catch ( e ) {		}	} ); $('span.EasyResolveClose').click( function {		console.log( this );		EasyResolve.close( this );	} ); }; EasyResolve.close = function ( section ) { console.log( section ); var sectionNumber = section.outerHTML.match( /section="(\d+)"/ )[1]; 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';		console.log( wikitext );		new mw.Api.postWithEditToken( { action: 'edit', title: pageTitle, section: sectionNumber, text: wikitext, summary: EasyResolve.summary, 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') === "Stewards'_noticeboard" || mw.config.get('wgPageName') === "Community_noticeboard" || mw.config.get('wgPageName') === "Meta:Community_portal" )		) {			EasyResolve.setup; }	}); } ); //