Difference between revisions of "MediaWiki:Common.js"

From PokéHeroes Wiki
Jump to: navigation, search
 
(One intermediate revision by the same user not shown)
Line 40: Line 40:
  
 
/* dynamic sidebar */
 
/* dynamic sidebar */
 
+
mw.loader.using( [ 'mediawiki.util' ] ).done( function () {
const menuCategories = ['#p-Event_Pok\\.C3\\.A9mon', '#p-Pages', '#p-Pok\\.C3\\.A9mon', '#p-Events', '#p-Help'];
+
var menuCategories = ['#p-Event_Pok\\.C3\\.A9mon', '#p-Pages', '#p-Pok\\.C3\\.A9mon', '#p-Events', '#p-Help'];
 
function shuffle(a) {
 
function shuffle(a) {
   var j, x, i;
+
    for (var i = a.length - 1; i > 0; i--) {
   for (i = a.length - 1; i > 0; i--) {
+
        const j = Math.floor(Math.random() * (i + 1));
       j = Math.floor(Math.random() * (i + 1));
+
        [a[i], a[j]] = [a[j], a[i]];
       x = a[i];
+
    }
       a[i] = a[j];
+
    return a;
       a[j] = x;
+
};
   }
+
   return a;
+
}
+
 
+
 
if(typeof localStorage.menuBar !== "undefined") {
 
if(typeof localStorage.menuBar !== "undefined") {
let menuBaris = JSON.parse(localStorage.menuBar);  
+
var menuBaris = JSON.parse(localStorage.menuBar);  
 
menuCategories.forEach(function(elemento, indice, array) {
 
menuCategories.forEach(function(elemento, indice, array) {
   console.log(elemento, indice);
 
 
shuffle(menuBaris[indice]);
 
shuffle(menuBaris[indice]);
//console.log(menuBaris[indice]);
+
for(var i = 1; i < 4; i++) {
for(let i = 1; i < 4; i++) {
+
var thisli = $( elemento+ " .body ul li a" ).eq(i);
let thisli = $( elemento+ " .body ul li a" ).eq(i);
+
 
thisli.text(menuBaris[indice][(i-1)]['title']);
 
thisli.text(menuBaris[indice][(i-1)]['title']);
 
  thisli.attr("href", menuBaris[indice][(i-1)]['title']);
 
  thisli.attr("href", menuBaris[indice][(i-1)]['title']);
Line 67: Line 61:
  
 
} else {
 
} else {
let catNames = ["Event%20Pok%C3%A9mon", "Page", "Pok%C3%A9mon", "Events", "Help"];
+
var catNames = ["Event%20Pok%C3%A9mon", "Page", "Pok%C3%A9mon", "Events", "Help"];
let menuBaris = [];
+
var menuBaris = [];
 
catNames.forEach(function(e, i, a) {
 
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) {
 
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) {
  
console.log(menuBaris);
 
 
menuBaris[i] = data['query']['categorymembers'];
 
menuBaris[i] = data['query']['categorymembers'];
 
shuffle(menuBaris[i]);
 
shuffle(menuBaris[i]);
for(let ix = 1; ix < 4; ix++) {
+
for(var ix = 1; ix < 4; ix++) {
let thisli = $( menuCategories[i]+ " .body ul li a" ).eq(ix);
+
var thisli = $( menuCategories[i]+ " .body ul li a" ).eq(ix);
 
thisli.text(menuBaris[i][(ix-1)]['title']);
 
thisli.text(menuBaris[i][(ix-1)]['title']);
 
  thisli.attr("href", menuBaris[i][(ix-1)]['title']);
 
  thisli.attr("href", menuBaris[i][(ix-1)]['title']);
 
}
 
}
console.log(menuBaris);
+
 
console.log(data);
+
 
localStorage.setItem("menuBar", JSON.stringify(menuBaris));
 
localStorage.setItem("menuBar", JSON.stringify(menuBaris));
 
});  
 
});  
Line 88: Line 80:
 
});
 
});
 
}
 
}
 +
});

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));
}); 

});
}
});