Jump to content

User:John Vandenberg/switch editor.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by John Vandenberg (talk | contribs) at 13:56, 19 July 2013 (disable unsaved state warning). 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.
// This script overrides the VE save button to load the Source Editor, with a diff.
 
// It could break with changes to VE. 
// Use at your own risk, and pester the VE team to add this feature.
 
/*global $, mw */
$(document).ready(function (){
	mw.loader.using('ext.visualEditor.viewPageTarget', function () {

		// copy the statement block below to use as a bookmarklet
		ve.init.mw.targets[0].save = function ( doc, options) {
			this.serializing = false;
			$("body").append('<form id="editform" name="editform" method="post" action="/w/index.php?title='+wgPageName+'&amp;action=submit" enctype="multipart/form-data"><textarea name=wpTextbox1 id=wpTextbox1></textarea><input id="wpDiff" name="wpDiff" type="submit" tabindex="7" value="Show changes"/><input name="wpSummary"/><input name="wpSection"/><input name="wpAutoSummary"/><input name="wpStarttime"/><input name="wpEdittime"/><input name="oldid" value="0"/><input name="model" value="wikitext"/><input name="format" value="text/x-wiki"/><input name="wpAntispam" value=""/><input name="baseRevId" value="0"/><input name="altBaseRevId" value="0"/><input name="undidRev" value="0"/><input name="wpScrolltop" value="0"/><input name="undidRev" value="0"/><input type="hidden" value="' + ve.init.mw.targets[0].editToken + '" name="wpEditToken" /></form>' );
			this.serialize( doc, 
				function( content ) {
					window.onbeforeunload = function (){};
					$("textarea#wpTextbox1").val(content).parent().children("#wpDiff").click(); 
				}
			);
		};
		
		// bookmarklet ends here

	});
});