User:TheJJJunk/FastSummary.js

// // Everything is encapsulated in a private namespace object---``FastSummary'': var FastSummary = FastSummary || {};

$(document).ready(function {	//initialize Constants	FastSummary.Constants = getFastSummaryConstants;

//only execute on the edit page if (!FastSummary.Constants.IS_EDIT_PAGE || FastSummary.Constants.IS_JS_PAGE || FastSummary.Constants.ARTICLE_TEXT_BOX_ELEMENT == null) return; let btnStyle     = "box-shadow:inset 0px 1px 0px 0px #ffffff;background:linear-gradient(to bottom, #f9f9f9 5%, #e9e9e9 100%);background-color:#f9f9f9;border-radius:6px;border:1px solid #ccc;display:inline-block;cursor:pointer;color:#666666;font-family:Arial;font-size:12px;font-weight:bold;padding:3px 6px;text-decoration:none;text-shadow:0px 1px 0px #ffffff;margin-bottom:5px;"; let linkStartText = "javascript:FastSummary.addToSummary('";	let linkEndText  = " (FS)');"; //init UI	let link1 = $("", {		"href":linkStartText + "Added missing notelist" + linkEndText, 		"style":btnStyle	}); link1.text("Added missing notelist"); //init UI	let link2 = $("", {		"href":linkStartText + "Fixed " + linkEndText, 		"style":btnStyle	}); link2.text("Fixed URL error"); $('#wpSummaryLabel').prepend(link2).prepend(" ").prepend(link1); });

FastSummary.addToSummary = function(summary) { var wpSummary = document.getElementById('wpSummary'); if (wpSummary.value !== '') { summary = wpSummary.value + '; ' + summary; }	if ((wpSummary.maxLength > 0) && (summary.length > wpSummary.maxLength)) { alert('Error: If the proposed text is added to the summary, its length will exceed the character limit.'); return; }	wpSummary.value = summary; }

function getFastSummaryConstants {	var ARA_Constants = ARA_Constants || {};

//article text box element ARA_Constants.ARTICLE_TEXT_BOX_ELEMENT = $("#wpTextbox1"); //are we on an Edit page? ARA_Constants.IS_EDIT_PAGE = mw.config.get('wgAction') === 'edit' || mw.config.get('wgAction') === 'submit'; //are we on a JS page? ARA_Constants.IS_JS_PAGE = mw.config.get('wgRelevantPageName').endsWith('.js'); //the ARA Suggestion box, which appears above the editing section ARA_Constants.SUGGESTION_BOX_DIV = $(' ', {'id':'suggestionBox.ARA', 'style':'border:dashed #ccc 1px;color:#888;'}); //the Add to Summary box, which appears near the edit summary ARA_Constants.ADD_TO_SUMMARY_DIV = $(' ', {'id':'addToSummaryBox.ARA', 'style':'border:dashed #ccc 1px;color:#888;display:none;'}); ARA_Constants.DEFAULT_MAX_SUGGESTIONS = 8; ARA_Constants.maxSuggestions = ARA_Constants.DEFAULT_MAX_SUGGESTIONS; ARA_Constants.suggestions; // : Suggestion[] ARA_Constants.appliedSuggestions = {}; // : Map ARA_Constants.scannedText = null; // remember what we scan, to check if it is	                      // still the same when we try to fix it	ARA_Constants.BIG_THRESHOLD = 100 * 1024; ARA_Constants.isBigScanConfirmed = false; // is the warning about a big article confirmed ARA_Constants.isTalkPageScanConfirmed = false; ARA_Constants.scanTimeoutId = null; // a timeout is set after a keystroke and before // a scan, this variable tracks its id	return ARA_Constants; } //