Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
var | (function ($) { // Wrap with anonymous function | ||
var $summaryBox = $('#wpSummary'); | |||
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 | |||
var editsummOriginalSummary = $summaryBox.val(); | |||
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; | |||
$summaryBox.val( newSummary ).trigger( 'change' ); | |||
} | |||
function insertSummaryOptions($insertBeforeThis, dropdownWidth) { | |||
// For convenience, add a dropdown box with some canned edit | |||
// summaries to the form. | |||
var dropdown = document.createElement("select"); | |||
dropdown.style.width = dropdownWidth; | |||
dropdown.style.margin = "0 4px 0 0"; | |||
dropdown.onchange = editsummOnCannedSummarySelected; | |||
var minorDropdown = document.createElement("select"); | |||
minorDropdown.style.width = dropdownWidth; | |||
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, "[[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, "Removing [[WP:SPAM|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, "[[Wikipedia:WikiProject|WikiProject]] tagging"); | |||
editsummAddOptionToDropdown(dropdown, "[[Wikipedia:WikiProject|WikiProject]] assessment"); | |||
} | |||
} | |||
$insertBeforeThis.before(dropdown); | |||
$insertBeforeThis.before(minorDropdown); | |||
} | |||
mw.hook( 've.saveDialog.stateChanged' ).add(function(){ | |||
//.ve-init-mw-viewPageTarget-saveDialog-checkboxes | |||
var target = ve.init.target; | |||
var $insertBeforeThis = target.saveDialog.$body.find('.ve-ui-mwSaveDialog-options'); | |||
$summaryBox = target.saveDialog.$body.find('.ve-ui-mwSaveDialog-summary textarea'); | |||
if (!$insertBeforeThis.length) { | |||
return; | |||
} | |||
insertSummaryOptions($insertBeforeThis, "98%"); | |||
}); | |||
$(function() { | |||
var $insertBeforeThis = $('.editCheckboxes'); | |||
// If we failed to find the editCheckboxes class | |||
if (!$insertBeforeThis.length) { | |||
return; | |||
} | |||
insertSummaryOptions($insertBeforeThis, "38%"); | |||
}); | |||
}(jQuery)); // End wrap with anonymous function |
Version vom 1. Februar 2016, 17:21 Uhr
(function ($) { // Wrap with anonymous function
var $summaryBox = $('#wpSummary');
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
var editsummOriginalSummary = $summaryBox.val();
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;
$summaryBox.val( newSummary ).trigger( 'change' );
}
function insertSummaryOptions($insertBeforeThis, dropdownWidth) {
// For convenience, add a dropdown box with some canned edit
// summaries to the form.
var dropdown = document.createElement("select");
dropdown.style.width = dropdownWidth;
dropdown.style.margin = "0 4px 0 0";
dropdown.onchange = editsummOnCannedSummarySelected;
var minorDropdown = document.createElement("select");
minorDropdown.style.width = dropdownWidth;
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, "[[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, "Removing [[WP:SPAM|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, "[[Wikipedia:WikiProject|WikiProject]] tagging");
editsummAddOptionToDropdown(dropdown, "[[Wikipedia:WikiProject|WikiProject]] assessment");
}
}
$insertBeforeThis.before(dropdown);
$insertBeforeThis.before(minorDropdown);
}
mw.hook( 've.saveDialog.stateChanged' ).add(function(){
//.ve-init-mw-viewPageTarget-saveDialog-checkboxes
var target = ve.init.target;
var $insertBeforeThis = target.saveDialog.$body.find('.ve-ui-mwSaveDialog-options');
$summaryBox = target.saveDialog.$body.find('.ve-ui-mwSaveDialog-summary textarea');
if (!$insertBeforeThis.length) {
return;
}
insertSummaryOptions($insertBeforeThis, "98%");
});
$(function() {
var $insertBeforeThis = $('.editCheckboxes');
// If we failed to find the editCheckboxes class
if (!$insertBeforeThis.length) {
return;
}
insertSummaryOptions($insertBeforeThis, "38%");
});
}(jQuery)); // End wrap with anonymous function