MediaWiki:Group-bureaucrat.js: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
Line 2: | Line 2: | ||
var 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) { | ||
for (let 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") { | if(typeof localStorage.menuBar !== "undefined") { |
Revision as of 23:36, 19 July 2020
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 (let 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) { 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']; 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)); }); }); } });