MediaWiki:Gadget-summaryButtons.js
Vzhled
Poznámka: Po uložení musíte vyprázdnit mezipaměť vašeho prohlížeče, jinak změny neuvidíte.
/**
* [cs] Tlačítka shrnutí
*
* Udělátko pod polem pro shrnutí editace na editační stránce zobrazí tlačítka, která do něj vkládají běžné úkony.
*
* Převzato částečně z [[:he:מדיה_ויקי:Gadget-Summarieslist.js|hewiki]] a částečně ze [[:sk:MediaWiki:Gadget-edit-summaries.js|skwiki]].
*
* [en] Summary buttons
*
* Gadget adds buttons under a summary field on an edit page, which inserts into the field usual tasks.
*
* Partially taken from [[:he:מדיה_ויקי:Gadget-Summarieslist.js|hewiki]] and [[:sk:MediaWiki:Gadget-edit-summaries.js|skwiki]].
*/
jQuery(function($) {
var installed = false;
function installSummary($summaryBox, smallArea) {
if (installed) return;
installed = true;
function addSummary() {
var summary = $(this).data('summary');
var text = summary.text;
var sum = $summaryBox,
curr = sum.val();
var comma = curr.length > 0 && curr.charAt(curr.length - 2) != "/";
sum.val(curr + (comma ? ', ' : '') + text).trigger('input');
$("#wpMinoredit").prop('checked', summary.minor || $.inArray(text, minorSummaries) + 1);
}
var summaries = window.summaries || [];
summaries = summaries.concat([ // button sets
/* format:
"set",
{"text": "both button text and summary text", "title": "button title when mouse is over"},
*/
"malé",
{"text": "překlepy", "title": "Oprava překlepů"},
{"text": "odkazy", "title": "Úprava odkazů na jiné články Wikipedie"},
{"text": "kategorie", "title": "Úprava kategorií"},
{"text": "externí odkazy", "title": "Úprava externích odkazů"},
"běžné",
{"text": "pravopis", "title": "Oprava pravopisu"},
{"text": "gramatika", "title": "Oprava gramatiky"},
{"text": "typografie", "title": "Oprava typografie"},
{"text": "formulace", "title": "Úprava formulace"},
{"text": "aktualizace", "title": "Aktualizace údajů"},
{"text": "rozšíření", "title": "Rozšíření článku"},
"technické",
{"text": "obrázek", "title": "Přidání, změna, smazání obrázku"},
{"text": "infobox", "title": "Vložení/úprava infoboxu"},
{"text": "šablona", "title": "Vložení šablony"}
]);
if (mw.config.get('wgNamespaceNumber') % 2 == 1 || mw.config.get('wgNamespaceNumber') == 4) {
summaries = summaries.concat([ // button sets for talk pages
"diskuse",
{"text": "odpověď", "title": "Odpověď"},
{"text": "návrh", "title": "Návrh"},
{"text": "dotaz", "title": "Dotaz"}
]);
}
var minorSummaries = ["překlepy", "odkazy", "kategorie", "externí odkazy"]; // buttons automatically checking minor editation checkbox
var div = $("<div>", {
id: "summariesList"
})
.css({ // gadget appearance
width: (smallArea ? "100%" : "65%"),
padding: "2px",
fontSize: "85%",
lineHeight: "18px"
});
for (var i = 0; i < summaries.length; i++) {
var summary = summaries[i];
var summaryButton = $('<span>').css({
marginLeft: '0.4em',
whiteSpace: 'nowrap'
}).data({
summary: summary
});
if (typeof summary == "string") {
div.append(smallArea ? '<br>' : ' '); // allow text wrap here
summaryButton.text(summary + ':');
} else {
summaryButton.html(' ' + summary.text + ' ')
.addClass('clickable-edit-summary')
.attr('title', summary.title || '')
.css({ // buttons appearance
'background-color': '#f9f9f9',
border: 'dotted 1px #708090',
cursor: 'pointer'
})
.click(addSummary);
if (smallArea) div.append(' ');
}
div.append(summaryButton);
}
$summaryBox.after(div);
}
if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) + 1) { // for source editor
installSummary($('.editOptions #wpSummary'), false);
}
mw.hook('ve.saveDialog.stateChanged').add(function() { // for VisualEditor
var target = ve.init.target;
var $summaryBox = target.saveDialog.$body.find('.ve-ui-mwSaveDialog-summary textarea');
installSummary($summaryBox, true);
});
});