MediaWiki:Gadget-defaultsummaries.js: Difference between revisions
Jump to navigation
Jump to search
imported>PeaceDeadC No edit summary |
PeaceDeadC (talk | contribs) m (1 revision imported) |
Latest revision as of 17:13, 16 August 2020
/* _____________________________________________________________________________
* | |
* | === WARNING: GLOBAL GADGET FILE === |
* | Changes to this page affect many users. |
* | Please discuss changes on the talk page or on [[WT:Gadget]] before editing. |
* |_____________________________________________________________________________|
*
* Imported as of 09/06/2011 from [[User:ErrantX/defaultsummaries.js]]
* Edited version from [[User:MC10/defaultsummaries.js]]
* Implements default edit summary dropdown boxes
*/
(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]] [[PBC: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, "Adding/improving Twitter/Instagram/Facebook");
editsummAddOptionToDropdown(dropdown, "Removing unsourced content");
editsummAddOptionToDropdown(dropdown, "Removing [[PBC:SPAM|linkspam]] per [[PBC: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, "[[PBC:Project|PBCProject]] tagging");
editsummAddOptionToDropdown(dropdown, "[[PBC:Project|PBCProject]] 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