Jump to content

User:Equazcion/CustomSummaries.js

From Wikipedia, the free encyclopedia
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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 (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);
});