MediaWiki:Gadget-stub.js
Z WikiSkript
Poznámka: Po zveřejnění musíte vyprázdnit cache vašeho prohlížeče, jinak změny neuvidíte.
- Firefox / Safari: Při kliknutí na Aktualizovat držte Shift nebo stiskněte Ctrl-F5 nebo Ctrl-R (na Macu ⌘-R)
- Google Chrome: Stiskněte Ctrl-Shift-R (na Macu ⌘-Shift-R)
- Internet Explorer / Edge: Při kliknutí na Aktualizovat držte Ctrl nebo stiskněte Ctrl-F5
- Opera: Stiskněte Ctrl-F5.
/* ============== Pahýl ==================================================================
autor: User:Slepi
dokumentace: [[MediaWiki:Gadget-stub.js/dokumentace]]
popis: skript vkládá tlačítko "Pahýl" s uvedením důvodu
=======================================================================================
*/
var gadgetStub = {
// FUNKCE VKLÁDAJÍCÍ ŠABLONU PAHÝLU NA POZICI KURZORU V TEXTOVÉM POLI
// parametr "textovePole": ID textového pole, které měníme
vlozitTextarea : function(reason) {
textovePole = "wpTextbox1";
pridanyText = "{{Pahýl|" + reason + "}}";
// vyhledání zadaného ID
if(!document.getElementById(textovePole)) return;
textovePole = document.getElementById(textovePole);
// Microsoft Internet Explorer
if (document.selection) {
textovePole.focus();
// vložení do výběru
oblastVlozeni = document.selection.createRange();
oblastVlozeni.text = pridanyText;
}
// ostatní prohlížeče
else if (textovePole.selectionStart || textovePole.selectionStart == 0) {
// vložení do pole a aktualizace celého textu
startText = textovePole.selectionStart;
endText = textovePole.selectionEnd;
aktualniText = textovePole.value;
textovePole.value = aktualniText.substring(0, startText);
textovePole.value += pridanyText;
textovePole.value += aktualniText.substring(endText, aktualniText.length);
}
// nepodporující prohlížeče: vložení textu na konec pole
else {
textovePole.value += pridanyText;
}
},
// FUNKCE VOLANÁ TLAČÍTKEM EDITAČNÍ LIŠTY
thisIsStub : function() {
reason = window.prompt("Upřesněte, prosím, co především danému článku chybí.", "");
gadgetStub.vlozitTextarea(reason);
return false;
},
// TLAČÍTKO "PAHÝL"
insertStubButton : function() {
$('#wpTextbox1').wikiEditor('addToToolbar', {
'section': 'advanced',
'group': 'insert',
'tools': {'stub': {
label: 'Označit jako pahýl',
type: 'button',
icon: 'http://upload.wikimedia.org/wikipedia/commons/thumb/f/f5/Symbol_stub_class.svg/22px-Symbol_stub_class.svg.png',
action: {type: 'callback',
execute: function(context){gadgetStub.thisIsStub();}
}
}}
});
}
}
// kontrola načtení všech potřebných modulů a spuštění...
if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1) {
mw.loader.using('user.options', function() {
if (mw.user.options.get('usebetatoolbar') && mw.user.options.get('showtoolbar')) {
mw.loader.using( 'ext.wikiEditor.toolbar', function() {
$(document).ready(gadgetStub.insertStubButton);
});
}
});
}