Difference between revisions of "MediaWiki:Common.js"
From Emps-World Wiki
Whiterich12 (Talk | contribs) |
|||
Line 3: | Line 3: | ||
// TODO: link images directly, because the parser has already run at this point | // TODO: link images directly, because the parser has already run at this point | ||
// cannot use wiki commands here anymore. | // cannot use wiki commands here anymore. | ||
− | // mapping slot id to a | + | // mapping slot id to a file |
− | + | var slotToImg = [ | |
− | var | + | "c/ca/Helmetslot.png", |
− | " | + | "d/d7/Capeslot.png", |
− | " | + | "8/85/Amuletslot.png", |
− | " | + | "a/aa/Weaponslot.png", |
− | " | + | "9/94/Bodyslot.png", |
− | " | + | "9/91/Shieldslot.png", |
− | " | + | |
"Arms", | "Arms", | ||
− | " | + | "5/5e/Legsslot.png", |
"", | "", | ||
− | " | + | "8/89/Glovesslot.png", |
− | " | + | "f/f8/Bootsslot.png", |
"", | "", | ||
− | " | + | "c/ce/Ringslot.png", |
− | " | + | "5/54/Ammoslot.png", |
− | " | + | "7/77/Wingsslot.png", |
− | " | + | "d/d5/Auraslot.png" |
− | ]; | + | ]; |
− | + | // mapping slot id to a name | |
var slotToName = [ | var slotToName = [ | ||
− | " | + | "Helmet", |
"Cape", | "Cape", | ||
"Amulet", | "Amulet", | ||
Line 38: | Line 37: | ||
"", | "", | ||
"Ring", | "Ring", | ||
− | " | + | "Ammo", |
− | " | + | "Wings", |
"Aura", | "Aura", | ||
]; | ]; | ||
Line 56: | Line 55: | ||
//console.log("data3: "+json); | //console.log("data3: "+json); | ||
//console.log("data4: "+json.name); | //console.log("data4: "+json.name); | ||
− | + | ||
// iterate over headers | // iterate over headers | ||
table.find("th").each(function() { | table.find("th").each(function() { | ||
Line 80: | Line 79: | ||
else if (dc == 6) | else if (dc == 6) | ||
$(this).text(json.prayer); | $(this).text(json.prayer); | ||
− | else if (dc == 7) | + | else if (dc == 7) { |
− | $( | + | // equipment slot icon, wih same attributes as the old template. |
− | else if (dc === 8) | + | var iconLink = document.createElement("a"); |
+ | $(iconLink).attr("href", "/wiki/File:"+slotToName[json.slot]+"slot.png"); | ||
+ | $(iconLink).attr("class", "image"); | ||
+ | var iconImg = document.createElement("img"); | ||
+ | $(iconImg).attr("alt", slotToName[json.slot]+"slot.png"); | ||
+ | $(iconImg).attr("src", "/wiki/images/thumb/"+slotToImg[json.slot]+"/30px-"+slotToName[json.slot]+"slot.png"); | ||
+ | $(iconImg).attr("width", "30"); | ||
+ | $(iconImg).attr("height", "30"); | ||
+ | $(iconImg).attr("srcset", "/wiki/images/"+slotToImg[json.slot]+" 1.5x, /wiki/images/"+slotToImg[json.slot]+" 2x"); | ||
+ | iconLink.appendChild(iconImg); | ||
+ | this.innerHTML = ""; | ||
+ | this.appendChild(iconLink); | ||
+ | } else if (dc === 8) | ||
$(this).text(json.mlStr); | $(this).text(json.mlStr); | ||
else if (dc === 9) | else if (dc === 9) |
Revision as of 13:50, 8 September 2018
/* Any JavaScript here will be loaded for all users on every page load. */ // TODO: link images directly, because the parser has already run at this point // cannot use wiki commands here anymore. // mapping slot id to a file var slotToImg = [ "c/ca/Helmetslot.png", "d/d7/Capeslot.png", "8/85/Amuletslot.png", "a/aa/Weaponslot.png", "9/94/Bodyslot.png", "9/91/Shieldslot.png", "Arms", "5/5e/Legsslot.png", "", "8/89/Glovesslot.png", "f/f8/Bootsslot.png", "", "c/ce/Ringslot.png", "5/54/Ammoslot.png", "7/77/Wingsslot.png", "d/d5/Auraslot.png" ]; // mapping slot id to a name var slotToName = [ "Helmet", "Cape", "Amulet", "Weapon", "Body", "Shield", "Arms", "Legs", "", "Gloves", "Boots", "", "Ring", "Ammo", "Wings", "Aura", ]; $(document).ready(function() { $(".item-bonus-table").each(function() { var table = $(this); var itemId = $(this).data("item-id"); $.get( "../scripts/fetch_item.php", { id: itemId }).done(function(data) { var json = JSON.parse(data); var hc = 0, dc = 0; //console.log("data1: "+JSON.stringify(data)); //console.log("data2: "+data); //console.log("data3: "+json); //console.log("data4: "+json.name); // iterate over headers table.find("th").each(function() { if (hc === 0) $(this).text(json.name); hc++; }) // iterate over table data table.find("td").each(function() { if (dc === 0) $(this).text(json.mlAcc); else if (dc === 1) $(this).text(json.rnAcc); else if (dc === 2) $(this).text(json.mgAcc); else if (dc === 3) $(this).text(json.mlDef); else if (dc === 4) $(this).text(json.rnDef); else if (dc === 5) $(this).text(json.mgDef); else if (dc == 6) $(this).text(json.prayer); else if (dc == 7) { // equipment slot icon, wih same attributes as the old template. var iconLink = document.createElement("a"); $(iconLink).attr("href", "/wiki/File:"+slotToName[json.slot]+"slot.png"); $(iconLink).attr("class", "image"); var iconImg = document.createElement("img"); $(iconImg).attr("alt", slotToName[json.slot]+"slot.png"); $(iconImg).attr("src", "/wiki/images/thumb/"+slotToImg[json.slot]+"/30px-"+slotToName[json.slot]+"slot.png"); $(iconImg).attr("width", "30"); $(iconImg).attr("height", "30"); $(iconImg).attr("srcset", "/wiki/images/"+slotToImg[json.slot]+" 1.5x, /wiki/images/"+slotToImg[json.slot]+" 2x"); iconLink.appendChild(iconImg); this.innerHTML = ""; this.appendChild(iconLink); } else if (dc === 8) $(this).text(json.mlStr); else if (dc === 9) $(this).text(json.rnStr); else if (dc === 10) $(this).text(json.mgStr); else if (dc === 11) $(this).text(json.degrade === "1" ? "Yes" : "No"); else if (dc === 12) $(this).text(json.repair === "1" ? "Yes" : "No"); else if (dc === 13) { if (json.req === "") $(this).text("None"); else $(this).text(json.req); } else if (dc === 14) { if (json.slot === "3") $(this).text(json.speed); else $(this).text("-"); } else $(this).text(dc+" data column"); dc++; }); }); }); });