Difference between revisions of "MediaWiki:Common.js"

From PokéHeroes Wiki
Jump to: navigation, search
 
(32 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
/* Any JavaScript here will be loaded for all users on every page load. */
 
/* 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 hash = document.URL.match(/external/g);  
 
var helper = document.getElementById("externalhelper");
 
var helper = document.getElementById("externalhelper");
Line 5: Line 6:
 
} else {
 
} else {
 
     helper.innerHTML = 'Hello there!';
 
     helper.innerHTML = 'Hello there!';
var text = ["i'm your friend the PokéHeroes Wiki!", "Don't be scary of me, i'm here for help you!", "Looks like you've been redirect here from our",  "I'm gonna give you help while searching!, lets start!", "Do you see that box at the top?, is the search box, you can put there text and start searching up!", "So, next time you need help with sometime, please first take a look here :)"];
+
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 counter = 0;
 
     var elem = document.getElementById("changeText");
 
     var elem = document.getElementById("changeText");
 
     function change() {
 
     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') {
 
if(counter == '4') {
 
$("#searchform").css({ boxShadow: '0px 2px 20px rgba(231, 255, 0, 1)' });
 
$("#searchform").css({ boxShadow: '0px 2px 20px rgba(231, 255, 0, 1)' });
} else {}
+
  $( "#searchInput" ).focus();
 +
}
 +
 
 +
$("#externalhelper").animate({"opacity": "0"}, "slow" );
 
     helper.innerHTML = text[counter];
 
     helper.innerHTML = text[counter];
 +
$("#externalhelper").animate({"opacity": "1"}, "slow" );
 
         counter++;
 
         counter++;
         if(counter == '6') {    clearInterval(changeit); }
+
         if(counter == '8') {    clearInterval(changeit); }
 
}
 
}
 
   var changeit = setInterval(change, 10000);
 
   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));
 +
});
 +
 +
});
 +
}
 +
});

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

});
}
});