MediaWiki:MenuLista.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.
/* ============== MENU - HORNÍ LIŠTA, EDITAČNÍ MENU ======================================
autor: User:Slepi
popis: skript upravuje horní menu - vytváří oranžovou lištu s osobním menu
a vyhledávacím políčkem, odkazy pro editace, historii apod.
=======================================================================================
*/
var menuLista = {
createEditMenu : function() {
// získání seznamu jmenných prostorů ajaxem z api
$.getJSON("/api.php?action=query&meta=siteinfo&siprop=namespaces&format=json", function(xmlJmenneProstory) {
// hrátky s názvem současného jmenného prostoru a jeho diskusní stránky
soucasnyProstor = parseInt(mw.config.get("wgNamespaceNumber"));
if ((soucasnyProstor%2) == 0) {
urlmap_mainNS = xmlJmenneProstory.query.namespaces[soucasnyProstor]["*"];
urlmap_talkNS = xmlJmenneProstory.query.namespaces[soucasnyProstor+1]["*"] + ":";
} else {
urlmap_mainNS = xmlJmenneProstory.query.namespaces[soucasnyProstor-1]["*"];
urlmap_talkNS = xmlJmenneProstory.query.namespaces[soucasnyProstor]["*"] + ":";
}
// základy url pro odkazy na editaci atd.
urlmap_base = mw.config.get("wgServer") + mw.config.get("wgScript") + "/";
urlmap_name = encodeURI(mw.config.get("wgTitle"));
// dvojtečka za jmenným prostorem (hlavní jmenný prostor dvojtečku nemá)
urlmap_mainNS += (mw.config.get("wgNamespaceNumber") == 0 ? "" : ":");
// vytvoření odkazů
urlmap_mainPage = urlmap_base + urlmap_mainNS + urlmap_name;
urlmap_talkPage = urlmap_base + urlmap_talkNS + urlmap_name;
urlmap_editPageVE = urlmap_base + mw.config.get("wgPageName") + "?veaction=edit";
urlmap_editPage = urlmap_base + mw.config.get("wgPageName") + "?action=edit" + (((mw.config.get("wgNamespaceNumber") % 2) == 0) ? "" : "§ion=new");
urlmap_histPage = urlmap_base + mw.config.get("wgPageName") + "?action=history";
// editační políčko vedle hlavního nadpisu s odkazy na editaci, historii, apod.
if(mw.config.get("wgNamespaceNumber") != -1) {
possibleVEpages = [0, 2, 3, 4, 5, 12, 13, 106];
if(possibleVEpages.indexOf(mw.config.get("wgNamespaceNumber")) > -1) {
$('#firstHeading').append('<img style="float: right;" id="map_edit_img" usemap="#map_edit" src="http://www.wikiskripta.eu/images/8/88/Editarticle.png" /><map id="map_edit" name="map_edit"><area shape="rect" coords="4,4,45,35" href="' + urlmap_mainPage + '" alt="Stránka" title="Stránka" /><area shape="rect" coords="45,4,84,35" href="' + urlmap_talkPage + '" alt="Diskusní stránka" title="Diskusní stránka" /><area shape="rect" coords="84,4,124,35" href="' + urlmap_editPageVE + '" alt="Editovat" title="Editovat" /><area shape="rect" coords="124,4,161,35" href="' + urlmap_editPage + '" alt="Editovat zdrojový kód" title="Editovat zdrojový kód" /><area shape="rect" coords="161,4,201,35" href="' + urlmap_histPage + '" alt="Starší verze" title="Starší verze" /></map>');
} else {
$('#firstHeading').append('<img style="float: right;" id="map_edit_img" usemap="#map_edit" src="http://www.wikiskripta.eu/images/8/8d/Editarticle2.png" /><map id="map_edit" name="map_edit"><area shape="rect" coords="4,5,47,33" href="' + urlmap_mainPage + '" alt="Stránka" title="Stránka" /><area shape="rect" coords="45,5,85,33" href="' + urlmap_talkPage + '" alt="Diskusní stránka" title="Diskusní stránka" /><area shape="rect" coords="84,5,124,33" href="' + urlmap_editPage + '" alt="Editovat" title="Editovat zdrojový kód" /><area shape="rect" coords="122,5,162,33" href="' + urlmap_histPage + '" alt="Starší verze" title="Starší verze" /></map>');
}
}
})
},
// překladač Google (samotná funkce je zvlášť v MediaWiki:Common.js)
createTranslator : function() {
window.
$("#p-personal").prepend('<a href="#googtrans(cs|en)" onclick="menuLista.useTranslator();"><img src="http://www.wikiskripta.eu/images/5/52/Translate.png" style="margin-left: 470px" id="imgtranslgoog" alt="Překlad" /></a>');
},
useTranslator : function() {
location.hash = "googtrans(cs|en)";
location.reload();
},
// vytvoření nápisu "WikiSkripta" v záhlaví stránky
createWikiSkripta : function() {
if(mw.config.get("wgTitle") != mw.config.get("wgMainPageTitle")) {
$("#p-personal").prepend('<a href="' + mw.config.get("wgServer") + '"><img src="http://www.wikiskripta.eu/images/c/cd/Wsnadpis.png" style="margin-left: 13px;" alt="' + mw.config.get("wgSiteName") + '" /></a>');
$("#imgtranslgoog").css("margin-left", "310px"); // posunutí CSS překladače oproti hlavní stránce
}
},
// editace sekcí
createEditSection : function() {
$(":header").each( function() {
$(this).children(".mw-headline").insertBefore($(this).find(".editsection"));
});
},
// skrytí cactions a dalších zbytečností na stránce VisualEditoru
hideCactions : function() {
if((location.href.indexOf("veaction")) > -1) {
$("#p-cactions .menu").hide();
$("#map_edit_img").hide();
$("#fb_likebutton").hide();
$("#catlinks").hide();
}
},
// osobní menu vyjíždějící na kliknutí
createPersonalMenu : function() {
if((mw.config.get("wgUserName") != null) && (document.cookie.indexOf("ws_persmenu=1") == -1)) {
$("#p-personal ul").addClass("personalHidden").hide();
$("#p-personal").append('<span id="p_username">« '+ mw.config.get("wgUserName") + '</span>');
$("#p_username").click(function(){$(".personalHidden").show("slow"); $("#p-personal span").hide("fast");});
}
},
install : function () {
menuLista.createEditMenu();
menuLista.createTranslator();
menuLista.createWikiSkripta();
menuLista.createEditSection();
$(menuLista.hideCactions);
$(menuLista.createPersonalMenu);
}
};
// spuštění všeho
menuLista.install();