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);

});