User:ErrantX/defaultsummaries.js: Difference between revisions

Content deleted Content added
create
 
m Maintenance: Replacing addOnloadHook with native jQuery (mw:ResourceLoader/Migration_guide_(users)#addOnloadHook - phab:T130879)
 
(35 intermediate revisions by 2 users not shown)
Line 1:
// The original value of the edit summary field is stored here
// ============================================================
var editsummOriginalSummary = new String();
// Standard edit summaries
 
// ============================================================
// 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");
$(function() {
editsummAddOptionToDropdown(minorDropdown,"Fixing style/layout errors");
var $box = $('#wpSummary');
editsummAddOptionToDropdown(minorDropdown,"[[Help:Reverting|Reverting]] [[Wikipedia:Vandalism|Vandalism]] or test edit");
var $label = $box.next();
editsummAddOptionToDropdown(minorDropdown,"[[Help:Reverting|Reverting]] unexplained content removal");
if (!$label.size()) {
editsummAddOptionToDropdown(minorDropdown,"Copyedit (minor)");
return;
}
if (mw.config.get('wgNamespaceNumber') == 0)
{
$combo = $('<select />').attr('id', 'stdSummaries').change(function() {
editsummAddOptionToDropdown(dropdown,"Expanding article");
var val = $(this).val();
editsummAddOptionToDropdown(dropdown,"Adding/improving reference(s)");
if (val != '') {
editsummAddOptionToDropdown(dropdown,"Adding/removing category/ies");
$('#wpSummaryEnhanced,#wpSummary').val(val);
editsummAddOptionToDropdown(dropdown,"Adding/removing external link(s)");
}
editsummAddOptionToDropdown(dropdown,"Adding/removing wikilink(s)");
});
editsummAddOptionToDropdown(dropdown,"Removing unsourced content");
editsummAddOptionToDropdown(dropdown,"Clean up");
$label.prepend('<br />').prepend($combo).prepend('Summaries: ');
editsummAddOptionToDropdown(dropdown,"Copyedit (major)");
} else
$.ajax({
{
'dataType': 'text',
editsummAddOptionToDropdown(dropdown,"Reply");
'data': {
editsummAddOptionToDropdown(dropdown,"Comment");
'title': 'User:ErrantX/template',
if ((mw.config.get('wgNamespaceNumber') % 2 != 0) & (mw.config.get('wgNamespaceNumber') != 3))
'action': 'raw',
{
'ctype': 'text/plain'
editsummAddOptionToDropdown(dropdown,"[[Wikipedia:WikiProject|WikiProject]] tagging");
},
editsummAddOptionToDropdown(dropdown,"[[Wikipedia:WikiProject|WikiProject]] assessment");
'url': wgScript,
}
'success': function(data) {
}
var lines = data.split("\n");
 
for (var i in lines) {
var theParent = insertBeforeThis.parentNode;
var val = (lines[i].indexOf('-- ') == 0) ? lines[i].substring(3) : '';
theParent.insertBefore(dropdown,insertBeforeThis);
var $opt = $('<option />').val(val).text(lines[i]);
theParent.insertBefore(minorDropdown,insertBeforeThis);
$combo.append($opt);
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 ();
});