MediaWiki:KontrolaEditace.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.
/**
* Úpravy editačního rozhraní WikiSkript
*
* @file Úpravy editačního rozhraní a editoru WikiSkript
* @license https://www.gnu.org/licenses/gpl.html GNU General Public License 3.0
*/
var upravyEditace = {
/**
* Uživatelská tlačítka
*/
uzivatelskaTlacitka: function() {
// tlačítko "Literatura na konci článku"
$('#wpTextbox1').wikiEditor('addToToolbar', {
'section': 'main',
'group': 'insert',
'tools': {
'literaturebutton': {
label: 'Literatura na konci článku',
type: 'button',
icon: 'http://upload.wikimedia.org/wikipedia/commons/8/8d/Wikieditor-references.png',
action: {
type: 'encapsulate',
options: {
pre: "<noinclude>\n== Odkazy ==\n=== Související články ===\n=== Externí odkazy ===\n=== Převzato z ===\n=== Použitá literatura ===\n=== Reference ===\n<references />\n</noinclude>\n"
}
}
}
}
});
// tlačítko "Vložit šablonu"
$('#wpTextbox1').wikiEditor('addToToolbar', {
'section': 'advanced',
'group': 'insert',
'tools': {
'templatebutton': {
label: 'Vložit šablonu',
type: 'button',
icon: 'http://upload.wikimedia.org/wikipedia/commons/4/4a/Norwegian_template_sign.png',
action: {
type: 'encapsulate',
options: {
pre: "{{",
peri: "Šablona",
post: "}}"
}
}
}
}
});
// tlačítko "Vložený článek"
$('#wpTextbox1').wikiEditor('addToToolbar', {
'section': 'advanced',
'group': 'insert',
'tools': {
'insertbutton': {
label: 'Tento článek je součástí jiného článku',
type: 'button',
icon: 'http://upload.wikimedia.org/wikipedia/commons/a/a1/Toolbaricon_insert_reference_plus.png',
action: {
type: 'encapsulate',
options: {
pre: "{{subst:Vlož" + "ený článek}}"
}
}
}
}
});
},
/**
* Nástroj "Citace"
*/
citace: function() {
mw.loader.load(mw.config.get("wgServer") + mw.config.get("wgScriptPath") + "/index.php?title=MediaWiki:Citace.js&action=raw&ctype=text/javascript");
},
/**
* Nástroj "Pahýl"
*/
pahyl: function() {
mw.loader.load(mw.config.get("wgServer") + mw.config.get("wgScriptPath") + "/index.php?title=MediaWiki:Pahyl.js&action=raw&ctype=text/javascript");
},
/**
* Nástroj "Redakční tlačítka"
*/
redakce: function() {
mw.loader.load(mw.config.get("wgServer") + mw.config.get("wgScriptPath") + "/index.php?title=MediaWiki:Redakce.js&action=raw&ctype=text/javascript");
},
/**
* Nástroj "Tlačítka pro pedagogy"
*/
ucitel: function() {
mw.loader.load(mw.config.get("wgServer") + mw.config.get("wgScriptPath") + "/index.php?title=MediaWiki:Ucitel.js&action=raw&ctype=text/javascript");
},
/**
* Nástroj "Ukládací tlačítka"
*/
ukladaciTlacitka: function() {
// kontrola editace
if (mw.config.get("wgUserName") === null) return;
if (!document.getElementById("wpTextbox1")) return;
// vytvoření tlačítka "Uložit jako rozpracované"
tlacitko = document.createElement("input");
tlacitko.type = "submit";
tlacitko.value = "Uložit jako rozpracované";
// tlačítko bude mít funkci vložení šablony a následné převelení na "Uložit změny"
tlacitko.onclick = function() {
clanek = document.getElementById("wpTextbox1").value;
if (clanek.indexOf("{{Pracuje se}}") == -1) {
clanek = "{{Pracuje se}}\n\n" + clanek;
document.getElementById("wpTextbox1").value = clanek;
}
window.alert("Tento článek bude označen jako rozpracovaný.\n\nDo článku Vám po dobu jednoho měsíce nebude nikdo zasahovat. Pokud na článek zapomenete, kontaktuje Vás redakce WikiSkript.\n\nJestliže máte jakýkoli dotaz či problém, neváhejte se obrátit na redakci WikiSkript nebo požádat o pomoc na adrese info@wikiskripta.eu.");
document.forms["editform"].elements["wpSave"].click();
};
// vložení tlačítka za ostatní tlačítka
document.getElementById("wpDiff").parentNode.insertBefore(tlacitko, document.getElementById("wpDiff").nextSibling);
// Tlačítko UKÁZAT ZMĚNY
// příprava
buttonShowChanges = document.createElement("span");
editButtonsRow = $(".editButtons")[0];
editButtonsRow.appendChild(buttonShowChanges);
// tlačítko ukázat změny
bscChanges = document.createElement("a");
bscChanges.href = "#";
bscChanges.onclick = function() {
document.forms["editform"].elements["wpDiff"].click();
return false;
};
bscChanges.appendChild(document.createTextNode("Ukázat změny"));
buttonShowChanges.appendChild(document.createTextNode(" | "));
buttonShowChanges.appendChild(bscChanges);
},
/**
* Nástroj upravující důvody smazání stránky
*/
duvodySmazani: function() {
// bez mazání ani nezačínat s funkcí
if (mw.config.get("wgAction") != "delete") return;
// smazání důvodů
wpReason = document.getElementById("wpReason");
if (!wpReason) return;
// obvyklé důvody
obvykleDuvody = /(obsah byl|stránka byla prázdná|obsah před vyprázdněním byl)/i;
// pomocný řetězec
wpReasonMale = wpReason.value.toLowerCase();
// zpracování důvodu
if (obvykleDuvody.test(wpReasonMale)) {
if((wpReasonMale.indexOf("{{smazat|") != -1) && (wpReasonMale.indexOf("}}") != -1)) {
indexStart = wpReasonMale.indexOf("{{smazat|") + 9;
indexEnd = wpReasonMale.indexOf("}}");
wpReason.value = wpReason.value.substring(indexStart, indexEnd);
} else {
wpReason.value = "";
}
}
},
/**
* Start funkcí
*/
start: function() {
/* uživatelská tlačítka */
if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1) {
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(upravyEditace.uzivatelskaTlacitka);
});
}
});
}
}
/* ukládací tlačítka */
if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1) {
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(upravyEditace.ukladaciTlacitka);
});
}
});
}
}
/* nástroj citace */
if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1) upravyEditace.citace();
/* nástroj pahýl */
if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1) upravyEditace.pahyl();
/* nástroje pro redakci */
if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1 && mwGetUserRight("editor")) upravyEditace.redakce();
/* nástroje pro učitele */
if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1 && mwGetUserRight("pedagogue")) upravyEditace.ucitel();
/* upravit důvody smazání stránky */
if (mw.config.get("wgAction") === "delete") upravyEditace.duvodySmazani();
/* přidání editačních klávesových zkratek */
if ($.inArray(mw.config.get("wgAction"), ["edit", "submit"]) !== -1) mw.loader.load(mw.config.get("wgServer") + mw.config.get("wgScriptPath") + "/index.php?title=MediaWiki:EditacniKlavesoveZkratky.js&action=raw&ctype=text/javascript");
}
}
/**
* nastartovat funkce při načtení stránky
*/
$(upravyEditace.start());