MediaWiki:MenuBar.js
From WikiLectures
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
/* <pre> */
/* ============== MENU - BAR, EDIT MENU ==========================
author: [[User:Slepi]]
date: 09/2013, last update 2/2014
description: scrept changes menu, creates top orange bar, search field, etc.
sorry for the Czech comments
==========================================================
*/
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];
if(possibleVEpages.indexOf(mw.config.get("wgNamespaceNumber")) > -1) {
$('#firstHeading').append('<img style="float: right;" id="map_edit" 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="Page" title="Page" /><area shape="rect" coords="45,4,84,35" href="' + urlmap_talkPage + '" alt="Talk page" title="Talk page" /><area shape="rect" coords="84,4,124,35" href="' + urlmap_editPageVE + '" alt="Edit" title="Edit" /><area shape="rect" coords="124,4,161,35" href="' + urlmap_editPage + '" alt="Edit source code" title="Edit source code" /><area shape="rect" coords="161,4,201,35" href="' + urlmap_histPage + '" alt="History" title="History" /></map>');
} else {
$('#firstHeading').append('<img style="float: right;" id="map_edit" 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="Page" title="Page" /><area shape="rect" coords="45,5,85,33" href="' + urlmap_talkPage + '" alt="Talk page" title="Talk page" /><area shape="rect" coords="84,5,124,33" href="' + urlmap_editPage + '" alt="Edit" title="Edit source code" /><area shape="rect" coords="122,5,162,33" href="' + urlmap_histPage + '" alt="History" title="History" /></map>');
}
}
})
},
// překladač Google (samotná funkce je zvlášť v MediaWiki:Common.js)
createTranslator : function() {
$("#p-personal").prepend('<a href="#" onclick="location.hash=\'googtrans(cs|en)\'; location.reload();"><img src="http://www.wikiskripta.eu/images/5/52/Translate.png" style="margin-left: 470px" id="imgtranslgoog" alt="Translate" /></a>');
},
// 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.wikilectures.eu/images/a/a2/Wlnadpis.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").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();
/* </pre> */