User:Equazcion/CustomSummaries.js

if (customsum1 == null) var customsum1 = "Custom edit summary #1"; if (customsum2 == null) var customsum2 = "Custom edit summary #2"; if (customsum3 == null) var customsum3 = "Custom edit summary #3"; if (customsum4 == null) var customsum4 = "Custom edit summary #4"; if (customsum5 == null) var customsum5 = "Custom edit summary #5"; if (customsum6 == null) var customsum6 = "Custom edit summary #6"; if (customsum7 == null) var customsum7 = "Custom edit summary #7"; if (customsum8 == null) var customsum8 = "Custom edit summary #8"; if (customsum9 == null) var customsum9 = "Custom edit summary #9"; if (customsum10 == null) var customsum10 = "Custom edit summary #10";

// The original value of the edit summary field is stored here var editsummOriginalSummary = ""; function editsummAddOptionToDropdown(dropdown, optionText) { var option = document.createElement("option"); var optionTextNode = document.createTextNode(optionText); option.appendChild(optionTextNode); dropdown.appendChild(option); }   function editsummAddCatToDropdown(dropdown, catText) { var option = document.createElement("option"); option.disabled = true; option.selected = true; var optionTextNode = document.createTextNode(catText); option.appendChild(optionTextNode); dropdown.appendChild(option); }   function editsummOnCannedSummarySelected { // Save the original value of the edit summary field editsummOriginalSummary = document.getElementById("wpSummary"); if (editsummOriginalSummary) { editsummOriginalSummary = editsummOriginalSummary.value; } else { editsummOriginalSummary = ""; }       var idx = this.selectedIndex; var canned = this.options[idx].text; var newSummary = editsummOriginalSummary; // Append old edit summary with space, if exists, // and last character != space if (newSummary.length !== 0 && newSummary.charAt(newSummary.length - 1) !== " ") { newSummary += " "; }       newSummary += canned; document.getElementById("wpSummary").value = newSummary; }   $(function  {        var insertBeforeThis = document.getElementById("wpSummary");        // Loop through siblings, looking for editCheckboxes class        while (insertBeforeThis) {            if (insertBeforeThis.className === "editCheckboxes") {                break;            }            insertBeforeThis = insertBeforeThis.nextSibling;        }        // If we failed to find the editCheckboxes class, or insertBeforeThis is null        if (!insertBeforeThis || insertBeforeThis.className !== "editCheckboxes") {            return;        }        editsummOriginalSummary = editsummOriginalSummary.value;        // For convenience, add a dropdown box with some canned edit        // summaries to the form.        var dropdown = document.createElement("select");        dropdown.style.width = "38%";        dropdown.style.margin = "0 4px 0 0";        dropdown.onchange = editsummOnCannedSummarySelected; var minorDropdown = document.createElement("select"); minorDropdown.style.width = "38%"; minorDropdown.onchange = editsummOnCannedSummarySelected; editsummAddCatToDropdown(minorDropdown, "Common minor edit summaries – click to use"); editsummAddCatToDropdown(dropdown, "Common edit summaries – click to use"); editsummAddOptionToDropdown(minorDropdown, "Spelling/grammar correction"); editsummAddOptionToDropdown(minorDropdown, "Fixing style/layout errors"); editsummAddOptionToDropdown(minorDropdown, "Reverting vandalism or test edit"); editsummAddOptionToDropdown(minorDropdown, "Reverting unexplained content removal"); editsummAddOptionToDropdown(minorDropdown, "Copyedit (minor)"); if (mw.config.get('wgNamespaceNumber') === 0) {

editsummAddOptionToDropdown(dropdown, "Expanding article"); editsummAddOptionToDropdown(dropdown, "Adding/improving reference(s)"); editsummAddOptionToDropdown(dropdown, "Adding/removing category/ies"); editsummAddOptionToDropdown(dropdown, "Adding/removing external link(s)"); editsummAddOptionToDropdown(dropdown, "Adding/removing wikilink(s)"); editsummAddOptionToDropdown(dropdown, "Removing unsourced content"); editsummAddOptionToDropdown(dropdown, "Removing linkspam per WP:EL"); editsummAddOptionToDropdown(dropdown, "Clean up"); editsummAddOptionToDropdown(dropdown, "Copyedit (major)"); } else { editsummAddOptionToDropdown(dropdown, "Reply"); editsummAddOptionToDropdown(dropdown, "Comment"); editsummAddOptionToDropdown(dropdown, "Suggestion"); if ((mw.config.get('wgNamespaceNumber') % 2 !== 0) & (mw.config.get('wgNamespaceNumber') !== 3)) { editsummAddOptionToDropdown(dropdown, "WikiProject tagging"); editsummAddOptionToDropdown(dropdown, "WikiProject assessment"); }       }

editsummAddOptionToDropdown(dropdown, customsum1); editsummAddOptionToDropdown(dropdown, customsum2); editsummAddOptionToDropdown(dropdown, customsum3); editsummAddOptionToDropdown(dropdown, customsum4); editsummAddOptionToDropdown(dropdown, customsum5); editsummAddOptionToDropdown(dropdown, customsum6); editsummAddOptionToDropdown(dropdown, customsum7); editsummAddOptionToDropdown(dropdown, customsum8); editsummAddOptionToDropdown(dropdown, customsum9); editsummAddOptionToDropdown(dropdown, customsum10); var theParent = insertBeforeThis.parentNode; theParent.insertBefore(dropdown, insertBeforeThis); theParent.insertBefore(minorDropdown, insertBeforeThis); theParent.insertBefore(document.createElement("br"), dropdown); });