User:DannyS712/PageMoverClosure.js

// closeRM by User:Andy M. Wang, modified as PageMoverClosure by User:Flooded with them hundreds // Copied to User:DannyS712/PageMoverClosure.js after FWTH retired, who took over as maintainer // Install with: // // or with //  // // If forking this script, please give all of us credit //

$(document).ready(function {	"use strict";	// Add only when editing section	// Assumes Requested move has a level 2 header, ends at end of section	if ((document.title.indexOf("Editing ") === -1) || (document.title.indexOf("(section)") === -1)) {		return;	}	function rmClick(e) {		e.preventDefault;		var closeStr = prompt("Closing statement for requested move:");		if (closeStr === null || closeStr === '') {			alert("Invalid closing statement. Aborted.");			return;		}

var editform = document.editform, t = editform.wpTextbox1; var lines = t.value.split('\n'); var submitform = document.editform.submit;

var inReqMoveTemplate = false; var foundReqMoveTemplate = false; var acc = ''; for (var idx in lines) { if (lines[idx].toLowerCase.includes("{{requested move/dated")) { acc += '{{subst' + ':RM top|' + closeStr + ' {{subst' + ':RMnac}}}}'; inReqMoveTemplate = !lines[idx].includes("}}"); foundReqMoveTemplate = true; } else if (foundReqMoveTemplate && inReqMoveTemplate) { inReqMoveTemplate = !lines[idx].includes("}}"); } else { acc += lines[idx] + '\n'; }		}

if (!foundReqMoveTemplate) { alert(" NOT FOUND. Wikitext not updated\n\n"				+ "Possible reasons:\n"				+ "1. This edited section is not a requested move discussion.\n"				+ "2. The discussion was answered by another editor earlier."); return; }

t.value = acc + ""; editform.wpSummary.value += "Closing RM discussion" + " " + 'using PageMoverClosure'; document.editform.submit; }	mw.loader.using( 'mediawiki.util' ).then( function{		var portletLink = mw.util.addPortletLink("p-cactions", "#", "Close RM", "ca-rmclose", "Close a requested move discussion section");		$( portletLink ).click( rmClick );	} ); }); //