Jump to content

User:Epicgenius/safetyedit.js

From Wikipedia, the free encyclopedia
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.
// See [[User:Equazcion/SafetyEdit]]
var conf = mw.config.get(['wgAction']); //test
if (  
	// Activate on edits
	(( conf.wgAction == "edit" ) || ( conf.wgAction == "submit" ))){
 
	// Insert the checkbox
	$('#mw-editpage-watch').after('&#160;<input title="Enable the Save button" class="ruSure" type="checkbox"></input>&#160;<label style="color:#62090B;" title="Enable the Save button" for="ruSure">Enable save</label>');
 
	// Disable the save button on load
	$('input[name="wpSave"]').prop("disabled", true);
 
	// Set summary line to disable enter key saving when it recieves focus.
	// Unbinding on load doesn't work since MediaWiki JS will bind after this. 
	$('#wpSummary').focus(function(){
		$(this).unbind();
	});
 
	// Set the change function for the checkbox
	$('input.ruSure').change(function(){
		if ($(this).prop("checked")){
 
			// We use the name attribute so all potential save buttons (produced by other scripts etc) are affected
			$('input[name="wpSave"]').prop("disabled", false);
 
			// If checked, undo our summary line focus event from above 
			$('#wpSummary').unbind('focus');
 
			// Make enter key on summary line save again
			$('#wpSummary').keydown(function(event){
				if (event.keyCode == 13) {
					$('form#editform').submit();
					return false;
				}
			});
		} else {
			$('input[name="wpSave"]').prop("disabled", true);
 
			// Here we can just unbind without a focus event, because MediaWiki JS won't supercede us again
			$('#wpSummary').unbind();
		}
	});
}