Difference between revisions of "MediaWiki:Common.js"

From PokéHeroes Wiki
Jump to: navigation, search
 
Line 40: Line 40:
  
 
/* dynamic sidebar */
 
/* dynamic sidebar */
 +
mw.loader.using( [ 'mediawiki.util' ] ).done( function () {
 +
var menuCategories = ['#p-Event_Pok\\.C3\\.A9mon', '#p-Pages', '#p-Pok\\.C3\\.A9mon', '#p-Events', '#p-Help'];
 +
function shuffle(a) {
 +
    for (var i = a.length - 1; i > 0; i--) {
 +
        const j = Math.floor(Math.random() * (i + 1));
 +
        [a[i], a[j]] = [a[j], a[i]];
 +
    }
 +
    return a;
 +
};
 +
if(typeof localStorage.menuBar !== "undefined") {
 +
var menuBaris = JSON.parse(localStorage.menuBar);
 +
menuCategories.forEach(function(elemento, indice, array) {
 +
shuffle(menuBaris[indice]);
 +
for(var i = 1; i < 4; i++) {
 +
var thisli = $( elemento+ " .body ul li a" ).eq(i);
 +
thisli.text(menuBaris[indice][(i-1)]['title']);
 +
thisli.attr("href", menuBaris[indice][(i-1)]['title']);
 +
}
 +
})
 +
 +
} else {
 +
var catNames = ["Event%20Pok%C3%A9mon", "Page", "Pok%C3%A9mon", "Events", "Help"];
 +
var menuBaris = [];
 +
catNames.forEach(function(e, i, a) {
 +
 +
jQuery.getJSON('https://wiki.pokeheroes.com/api.php?action=query&list=categorymembers&cmtitle=Category:'+e+'&cmdir=desc&cmsort=timestamp&format=json&cmlimit=12', function(data) {
 +
 +
menuBaris[i] = data['query']['categorymembers'];
 +
shuffle(menuBaris[i]);
 +
for(var ix = 1; ix < 4; ix++) {
 +
var thisli = $( menuCategories[i]+ " .body ul li a" ).eq(ix);
 +
thisli.text(menuBaris[i][(ix-1)]['title']);
 +
thisli.attr("href", menuBaris[i][(ix-1)]['title']);
 +
}
 +
 +
localStorage.setItem("menuBar", JSON.stringify(menuBaris));
 +
});
 +
 +
});
 +
}
 +
});

Latest revision as of 14:47, 20 July 2020

/* Any JavaScript here will be loaded for all users on every page load. */
/* If you are viewing this and want to try this code, and a ?external at the end of any page of the wiki :) */
var hash = document.URL.match(/external/g); 
var helper = document.getElementById("externalhelper");
if(!hash) {
} else {
     helper.innerHTML = 'Hello there!';
var text = ["Hello! I'm your friend, the Pokeheroes Wiki!!", "Don't be scared of me. I'm here to help you!", "Looks like you've been redirected here from our Main Site.",  "I'm going to give you some help while searching. Lets start!", "Do you see that box at the top? It is the search box. You can put text here and start searching.", "Try typing in a keyword. (Or anything you're looking for)", "This is the Sidebar, where are located all the categories", "So, next time you need help with sometimg, please take a look here :)"];
    var counter = 0;
    var elem = document.getElementById("changeText");
    function change() {
if(counter == '7') {
$("#searchform").css({ boxShadow: '0px 0px 0px rgba(231, 255, 0, 1)' });
$("#mw-panel").css({ boxShadow: '6px -3px 23px rgba(231, 255, 0, 1)' });
}
if(counter == '4') {
$("#searchform").css({ boxShadow: '0px 2px 20px rgba(231, 255, 0, 1)' });
  $( "#searchInput" ).focus();
}

$("#externalhelper").animate({"opacity": "0"}, "slow" );
     helper.innerHTML = text[counter];
$("#externalhelper").animate({"opacity": "1"}, "slow" );
        counter++;
        if(counter == '8') {     clearInterval(changeit); }
}
   var changeit = setInterval(change, 10000);
}



/* Change discussion link to report page */

var m = $("#ca-talk").children("span");
m.children("a").text("Report an error on this article");
m.children("a").attr('href', 'http://pokeheroes.com/forum_thread?id=4821');
$('#ca-talk').css("background-image", "url(http://i.imgur.com/FrK9rgl.png)");
m.children("a").attr('target','_blank');


/* dynamic sidebar */
mw.loader.using( [ 'mediawiki.util' ] ).done( function () {
var menuCategories = ['#p-Event_Pok\\.C3\\.A9mon', '#p-Pages', '#p-Pok\\.C3\\.A9mon', '#p-Events', '#p-Help'];
function shuffle(a) {
    for (var i = a.length - 1; i > 0; i--) {
        const j = Math.floor(Math.random() * (i + 1));
        [a[i], a[j]] = [a[j], a[i]];
    }
    return a;
};
if(typeof localStorage.menuBar !== "undefined") {
var menuBaris = JSON.parse(localStorage.menuBar); 
menuCategories.forEach(function(elemento, indice, array) {
shuffle(menuBaris[indice]);
for(var i = 1; i < 4; i++) {
var thisli = $( elemento+ " .body ul li a" ).eq(i);
thisli.text(menuBaris[indice][(i-1)]['title']);
 thisli.attr("href", menuBaris[indice][(i-1)]['title']);
}
})

} else {
var catNames = ["Event%20Pok%C3%A9mon", "Page", "Pok%C3%A9mon", "Events", "Help"];
var menuBaris = [];
catNames.forEach(function(e, i, a) {

jQuery.getJSON('https://wiki.pokeheroes.com/api.php?action=query&list=categorymembers&cmtitle=Category:'+e+'&cmdir=desc&cmsort=timestamp&format=json&cmlimit=12', function(data) {

menuBaris[i] = data['query']['categorymembers'];
shuffle(menuBaris[i]);
for(var ix = 1; ix < 4; ix++) {
var thisli = $( menuCategories[i]+ " .body ul li a" ).eq(ix);
thisli.text(menuBaris[i][(ix-1)]['title']);
 thisli.attr("href", menuBaris[i][(ix-1)]['title']);
}

localStorage.setItem("menuBar", JSON.stringify(menuBaris));
}); 

});
}
});