User:JJPMaster/Scripts/SuppressRedirect.js

This is an old revision of this page, as edited by JJPMaster (talk | contribs) at 02:14, 27 November 2024. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
function checkToBoolean(check) {
	if(check == "on") return true;
	return false;
}
$(() => {
	$("#bodyContent").append(`
	<div id="suppressRedirectDialog">
		Why do you want to suppress this redirect?
		<select name="criterion" id="PMRcriterion">
			<option selected="selected">Select the criterion</option>
			<option>Reverting page move vandalism ([[WP:PMRC#1]])</option>
			<option>Moving pages within a requester's own userspace to another ___location if a desire for deletion is expressed ([[WP:PMRC#2]])</option>
			<option>Moving pages from a title unambiguously created in error or in the incorrect namespace ([[WP:PMRC#3]])</option>
			<option>Round-robin page move ([[WP:PMRC#4]]</option>
			<option>File shadows Wikimedia Commons file ([[WP:PMRC#5]])</option>
			<option>Moving from mainspace to other namespace ([[WP:PMRC#6]])</option>
			<option>Moving recently created page from implausible title ([[WP:PMRC#7]])</option>
			<option>Moving editnotice to subpage of [[Template:Editnotices]] ([[WP:PMRC#8]])</option>
			<option>Redirect would meet a criterion for speedy deletion ([[WP:PMRC#9]])</option>
	    </select><br />
	    <input type="text" id="toMoveTitle" name="toMoveTitle" /><label for="toMoveTitle">The title the page will be moved to</label><br />
	    <input type="checkbox" id="moveSubpages" name="moveSubpages" checked /><label for="moveSubpages">Move subpages</label><br />
	    <input type="checkbox" id="moveTalk" name="moveTalk" checked /><label for="moveTalk">Move talk page</label><br />
	    <button type="button" id="moveForReal">Move page and suppress redirect</button>
    </div>
	`);
	var critValue = document.getElementById("PMRcriterion").value;
	var criterion;
	if(critValue !== "Redirect would meet a criterion for speedy deletion ([[WP:PMRC#9]])")
		criterion = critValue;
	else {
		var innerCrit = prompt("What criterion?");
		if(innerCrit)
			criterion = `Redirect would meet criterion [[WP:CSD#${innerCrit}|${innerCrit}]] for speedy deletion ([[WP:PMRC#9]])`;
		else criterion = critValue;
	}
	$("#suppressRedirectDialog").dialog();
	$("moveForReal").click(function() {
		var params = {
			action: 'move',
			from: mw.config.get("wgPageName"),
			to: document.getElementById("toMoveTitle").value,
			reason: criterion,
			movetalk: checkToBoolean(document.getElementById("moveTalk").value),
			movesubpages: checkToBoolean(document.getElementById("moveSubpages").value),
			noredirect: true,
			format: 'json'
		},
		api = new mw.Api();
	
		api.postWithToken( 'csrf', params ).done( function ( data ) {
			console.log( data );
		} );
	});
});