User:ErrantX/defaultsummaries.js

From Wikipedia, the free encyclopedia
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.
// The original value of the edit summary field is stored here
var editsummOriginalSummary = new String();

// A global ref to the dropdown with canned edit summaries
var editsummDropdown = null;

function editsummInitialize()
{
    // Save the original value of the edit summary field
    editsummOriginalSummary = document.getElementById("wpSummary");
    if(editsummOriginalSummary == null)
    {
       return;
    }

    var insertBeforeThis = document.getElementById("wpSummary").nextSibling;
    if(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 = "0px 4px 0px 0px";
    dropdown.onchange = new Function("editsummOnCannedSummarySelected()");

    var minorDropdown = document.createElement("select");
    minorDropdown.style.width = "38%";
    minorDropdown.onchange = new Function("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,"[[Help:Reverting|Reverting]] [[Wikipedia:Vandalism|Vandalism]] or test edit");
    editsummAddOptionToDropdown(minorDropdown,"[[Help:Reverting|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,"Clean up");
    editsummAddOptionToDropdown(dropdown,"Copyedit (major)");
} else
{
    editsummAddOptionToDropdown(dropdown,"Reply");
    editsummAddOptionToDropdown(dropdown,"Comment");
 if ((mw.config.get('wgNamespaceNumber') % 2 != 0) & (mw.config.get('wgNamespaceNumber') != 3))
 { 
    editsummAddOptionToDropdown(dropdown,"[[Wikipedia:WikiProject|WikiProject]] tagging");
    editsummAddOptionToDropdown(dropdown,"[[Wikipedia:WikiProject|WikiProject]] assessment");
 }
}

    var theParent = insertBeforeThis.parentNode;
    theParent.insertBefore(dropdown,insertBeforeThis);
    theParent.insertBefore(minorDropdown,insertBeforeThis);
    theParent.insertBefore(document.createElement("br"),dropdown);

    // Store a global ref to it
    editsummDropdown = dropdown;
}

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 = "disabled"
    var optionTextNode = document.createTextNode(catText);
    option.appendChild(optionTextNode);
    dropdown.appendChild(option);
}

// There's a cross-browser issue when accessing the selected text:
// *In Firefox you can use: selectObj.value
// *In IE, you have to use: selectObj.options[selectObj.selectedIndex].text
// *The latter method also works in Firefox
function editsummOnCannedSummarySelected()
{
    var idx = editsummDropdown.selectedIndex;
    var canned = editsummDropdown.options[idx].text;

    var newSummary = editsummOriginalSummary;
    if (newSummary.length!=0) newSummary += " - ";
    newSummary += canned;
    document.forms.editform.wpSummary.value = newSummary;
}

$(function (){
  editsummInitialize ();
  
});