User:Equazcion/CustomSummaryPresets.js
Appearance
Code that you insert on this page could contain malicious content capable of compromising your account. If you import a script from another page with "importScript", "mw.loader.load", "iusc", or "lusc", take note that this causes you to dynamically load a remote script, which could be changed by others. Editors are responsible for all edits and actions they perform, including by scripts. User scripts are not centrally supported and may malfunction or become inoperable due to software changes. A guide to help you find broken scripts is available. If you are unsure whether code you are adding to this page is safe, you can ask at the appropriate village pump. This code will be executed when previewing this page. |
This user script seems to have a documentation page at User:Equazcion/CustomSummaryPresets. |
// This is a modified version of User:ErrantX/defaultsummaries.js and User:MC10/defaultsummaries.js.
//
// This version displays a single menu of custom edit summaries across all namespaces.
//
// See [[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.
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);
});