Jump to content

User:Awesome Aasim/savedraft.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Awesome Aasim (talk | contribs) at 05:05, 20 May 2020. 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.
if (!savedraft) {
	var savedraft = {};
	if (mw.config.get("wgAction") == "edit") {
		$(document).ready(function() {
			savedraft.key = mw.config.get("wgUserName") + "#" + mw.config.get("wgPageName");
			$('<span id="savedraft-widget" class="oo-ui-widget oo-ui-widget-enabled oo-ui-inputWidget oo-ui-buttonElement oo-ui-buttonElement-framed oo-ui-labelElement oo-ui-buttonInputWidget"></span>').append($('<button id="wp-savedraft" class="oo-ui-inputWidget-input oo-ui-buttonElement-button"></button>').text("Save draft").click(function(e) {
				e.preventDefault();
				if (localStorage.getItem(savedraft.key)) {
					if (confirm("Draft already exists. Clicking \"OK\" will overwrite the previous draft.")) {
						localStorage.setItem(savedraft.key, $("#wpTextbox1").val());
					}
				} else {
					localStorage.setItem(savedraft.key, $("#wpTextbox1").val());
					$("#mw-content-text").prepend($('<span id="savedraft-buttons"></span>').append($("<a/>", {
						text: "Load draft",
						id: "savedraft-load",
						href: "#",
						click: function(e) {
							e.preventDefault();
							$("#wpTextbox1").val(localStorage.getItem(savedraft.key));
							location.href = "#editform";
						}
					})).append(" &bull; ").append($("<a/>", {
						text: "Delete draft",
						id: "savedraft-delete",
						href: "#",
						click: function(e) {
							e.preventDefault();
							if (confirm("Really delete the draft for this page?")) {
								localStorage.removeItem(savedraft.key);
								mw.notify("Draft deleted.");
								$("#savedraft-buttons").remove();
							}
						}
					})));
				}
				mw.notify("Draft saved.");
			})).insertAfter("#wpDiffWidget");
			if (localStorage.getItem(savedraft.key)) {
				$("#mw-content-text").prepend($('<div id="savedraft-buttons"></div>').append($("<a/>", {
					text: "Load draft",
					id: "savedraft-load",
					href: "#",
					click: function(e) {
						e.preventDefault();
						$("#wpTextbox1").val(localStorage.getItem(savedraft.key));
						mw.notify("Draft loaded.");
					}
				})).append(" &bull; ").append($("<a/>", {
					text: "Delete draft",
					id: "savedraft-delete",
					href: "#",
					click: function(e) {
						e.preventDefault();
						if (confirm("Really delete the draft for this page?")) {
							localStorage.removeItem(savedraft.key);
							mw.notify("Draft deleted.");
							$("#savedraft-buttons").remove();
						}
					}
				})));
			}
		});
	}
}