User:Kanegasi/editsummarypresets.js

/***********************************************************************************************/ /* This is a modified version of http://en.wikipedia.org/wiki/User:ErrantX/defaultsummaries.js */ /* and http://en.wikipedia.org/wiki/User:MC10/defaultsummaries.js. */ /*                                                                                            */ /* This version displays a single menu of custom edit summaries across all namespaces. */ /*                                                                                            */ /* See http://en.wikipedia.org/wiki/User:Equazcion/CustomSummaryPresets for full instructions. */ /*                                                                                            */ /* Define custom edit summary presets by adding this after the importScript line:              */ /*    var customsum1 = "My first custom edit summary";                                        */ /*    var customsum2 = "My second custom edit summary";                                       */ /*                                                                                            */ /* Up to 20 custom summaries can be defined this way. */ /*                                                                                            */ /* Source: http://en.wikipedia.org/wiki/User:Equazcion/CustomSummaryPresets.js                 */ /***********************************************************************************************/

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; editsummAddCatToDropdown(dropdown, "Custom edit summary presets");

if (typeof customsum1 != "undefined") editsummAddOptionToDropdown(dropdown, customsum1); if (typeof customsum2 != "undefined") editsummAddOptionToDropdown(dropdown, customsum2); if (typeof customsum3 != "undefined") editsummAddOptionToDropdown(dropdown, customsum3); if (typeof customsum4 != "undefined") editsummAddOptionToDropdown(dropdown, customsum4); if (typeof customsum5 != "undefined") editsummAddOptionToDropdown(dropdown, customsum5); if (typeof customsum6 != "undefined") editsummAddOptionToDropdown(dropdown, customsum6); if (typeof customsum7 != "undefined") editsummAddOptionToDropdown(dropdown, customsum7); if (typeof customsum8 != "undefined") editsummAddOptionToDropdown(dropdown, customsum8); if (typeof customsum9 != "undefined") editsummAddOptionToDropdown(dropdown, customsum9); if (typeof customsum10 != "undefined") editsummAddOptionToDropdown(dropdown, customsum10); if (typeof customsum11 != "undefined") editsummAddOptionToDropdown(dropdown, customsum11); if (typeof customsum12 != "undefined") editsummAddOptionToDropdown(dropdown, customsum12); if (typeof customsum13 != "undefined") editsummAddOptionToDropdown(dropdown, customsum13); if (typeof customsum14 != "undefined") editsummAddOptionToDropdown(dropdown, customsum14); if (typeof customsum15 != "undefined") editsummAddOptionToDropdown(dropdown, customsum15); if (typeof customsum16 != "undefined") editsummAddOptionToDropdown(dropdown, customsum16); if (typeof customsum17 != "undefined") editsummAddOptionToDropdown(dropdown, customsum17); if (typeof customsum18 != "undefined") editsummAddOptionToDropdown(dropdown, customsum18); if (typeof customsum19 != "undefined") editsummAddOptionToDropdown(dropdown, customsum19); if (typeof customsum20 != "undefined") editsummAddOptionToDropdown(dropdown, customsum20); var theParent = insertBeforeThis.parentNode; theParent.insertBefore(dropdown, insertBeforeThis); theParent.insertBefore(document.createElement("br"), dropdown); });