MediaWiki:BloodTest.js — различия между версиями
Материал из Guild Wars 2 wiki
Blood (обсуждение | вклад) |
Blood (обсуждение | вклад) |
||
Строка 5: | Строка 5: | ||
(function() { | (function() { | ||
var buttonsContainer = document.getElementById("gmvbuttons"), | var buttonsContainer = document.getElementById("gmvbuttons"), | ||
− | buttons, button, pveIcon, pvpIcon, wvwIcon, i; | + | buttons, button, pveIcon, pvpIcon, wvwIcon, regexp, splitter, i; |
if (!buttonsContainer) return; | if (!buttonsContainer) return; | ||
Строка 21: | Строка 21: | ||
"srcset='https://wiki.guildwars2.com/images/thumb/1/1b/WvW_Menu_Bar_icon.png/24px-WvW_Menu_Bar_icon.png 1.5x, " + | "srcset='https://wiki.guildwars2.com/images/thumb/1/1b/WvW_Menu_Bar_icon.png/24px-WvW_Menu_Bar_icon.png 1.5x, " + | ||
"https://wiki.guildwars2.com/images/1/1b/WvW_Menu_Bar_icon.png 2x'> "; | "https://wiki.guildwars2.com/images/1/1b/WvW_Menu_Bar_icon.png 2x'> "; | ||
+ | regexp = /\s+/i; | ||
+ | splitter = " / "; | ||
buttons = buttonsContainer.getAttribute("data-gmvbuttons").split(","); | buttons = buttonsContainer.getAttribute("data-gmvbuttons").split(","); | ||
Строка 27: | Строка 29: | ||
button.setAttribute("id", buttons[i]); | button.setAttribute("id", buttons[i]); | ||
button.setAttribute("class", (!i) ? "gmvbutton active" : "gmvbutton"); | button.setAttribute("class", (!i) ? "gmvbutton active" : "gmvbutton"); | ||
− | button.innerHTML = "<b>" + getIcon(buttons[i]) + " </b>"; | + | button.innerHTML = "<b>" + getIcon(buttons[i]) + "</b>"; |
buttonsContainer.appendChild(button); | buttonsContainer.appendChild(button); | ||
} | } | ||
Строка 35: | Строка 37: | ||
document.querySelectorAll(".gamemode.pvp:not(.pve)").forEach(hide); | document.querySelectorAll(".gamemode.pvp:not(.pve)").forEach(hide); | ||
− | function getIcon( | + | function getIcon(text) { |
− | + | switch (text) { | |
− | switch ( | ||
case "pve": | case "pve": | ||
− | return pveIcon + | + | return pveIcon + text.toUpperCase(); |
case "pvp": | case "pvp": | ||
− | return pvpIcon + | + | return pvpIcon + text.toUpperCase(); |
case "wvw": | case "wvw": | ||
− | return wvwIcon + | + | return wvwIcon + text.toUpperCase(); |
case "pve wvw": | case "pve wvw": | ||
− | + | return pveIcon + text.replace(regexp, splitter).toUpperCase() + " " + wvwIcon; | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
case "pve pvp": | case "pve pvp": | ||
− | + | return pveIcon + text.replace(regexp, splitter).toUpperCase() + " " + pvpIcon; | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
case "wvw pvp": | case "wvw pvp": | ||
− | + | return wvwIcon + text.replace(regexp, splitter).toUpperCase() + " " + pvpIcon; | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
} | } |
Версия 23:19, 20 мая 2018
/* Для тестирования разной фигни. * Подгружается через MediaWiki:Common.js */ (function() { var buttonsContainer = document.getElementById("gmvbuttons"), buttons, button, pveIcon, pvpIcon, wvwIcon, regexp, splitter, i; if (!buttonsContainer) return; pveIcon = "<img alt='Game mode version' " + "src='https://wiki.guildwars2.com/images/thumb/c/cc/Hero_panel_Menu_Bar_icon.png/16px-Hero_panel_Menu_Bar_icon.png' width='16' height='16' " + "srcset='https://wiki.guildwars2.com/images/thumb/c/cc/Hero_panel_Menu_Bar_icon.png/24px-Hero_panel_Menu_Bar_icon.png 1.5x, " + "https://wiki.guildwars2.com/images/c/cc/Hero_panel_Menu_Bar_icon.png 2x'> "; pvpIcon = "<img alt='Game mode version' " + "src='https://wiki.guildwars2.com/images/thumb/2/23/PvP_Menu_Bar_icon.png/16px-PvP_Menu_Bar_icon.png' width='16' height='16' " + "srcset='https://wiki.guildwars2.com/images/thumb/2/23/PvP_Menu_Bar_icon.png/24px-PvP_Menu_Bar_icon.png 1.5x, " + "https://wiki.guildwars2.com/images/2/23/PvP_Menu_Bar_icon.png 2x'> "; wvwIcon = "<img alt='Game mode version' " + "src='https://wiki.guildwars2.com/images/thumb/1/1b/WvW_Menu_Bar_icon.png/16px-WvW_Menu_Bar_icon.png' width='16' height='16' " + "srcset='https://wiki.guildwars2.com/images/thumb/1/1b/WvW_Menu_Bar_icon.png/24px-WvW_Menu_Bar_icon.png 1.5x, " + "https://wiki.guildwars2.com/images/1/1b/WvW_Menu_Bar_icon.png 2x'> "; regexp = /\s+/i; splitter = " / "; buttons = buttonsContainer.getAttribute("data-gmvbuttons").split(","); for (i = 0; i < buttons.length; i++) { button = document.createElement("button"); button.setAttribute("id", buttons[i]); button.setAttribute("class", (!i) ? "gmvbutton active" : "gmvbutton"); button.innerHTML = "<b>" + getIcon(buttons[i]) + "</b>"; buttonsContainer.appendChild(button); } document.querySelectorAll(".gamemode.wvw:not(.pve)").forEach(hide); document.querySelectorAll(".gamemode.pvp:not(.pve)").forEach(hide); function getIcon(text) { switch (text) { case "pve": return pveIcon + text.toUpperCase(); case "pvp": return pvpIcon + text.toUpperCase(); case "wvw": return wvwIcon + text.toUpperCase(); case "pve wvw": return pveIcon + text.replace(regexp, splitter).toUpperCase() + " " + wvwIcon; case "pve pvp": return pveIcon + text.replace(regexp, splitter).toUpperCase() + " " + pvpIcon; case "wvw pvp": return wvwIcon + text.replace(regexp, splitter).toUpperCase() + " " + pvpIcon; } } function hide(elem) { elem.style.display = "none"; } })();