MediaWiki:Common.js: Difference between revisions

From Roat Pkz
Jump to navigation Jump to search
No edit summary
No edit summary
 
(62 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
mw.loader.load('/index.php?title=MediaWiki:DropCalc.js&action=raw&ctype=text/javascript');
 
mw.loader.load('/index.php?title=MediaWiki:SlayerPointsCalc.js&action=raw&ctype=text/javascript');
// --- DISABLED FANDOM DARK THEME BLOCK (INVALID JS) ---
mw.loader.load('/index.php?title=MediaWiki:BingoSheet.js&action=raw&ctype=text/javascript');
/*
mw.loader.implement("wgl.theme.dark@zm8jm", null, {
    "css": ["html:has(body.wgl-theme-dark){color-scheme:dark}body.wgl-theme-dark{...}"]
});
*/
// --- END DISABLED BLOCK ---
 
// Dropdown-based Tier Assignment
mw.loader.using('jquery').then(function () {
    console.log("✅ Dropdown-based Tier Assignment is running");
 
    document.addEventListener('DOMContentLoaded', function () {
        function moveItemToTier(itemId, tierId) {
            var item = document.getElementById(itemId);
            var targetTier = document.getElementById(tierId);
            if (item && targetTier) {
                targetTier.appendChild(item);
            }
        }
 
        var selectors = document.querySelectorAll('.tier-selector');
        for (var i = 0; i < selectors.length; i++) {
            selectors[i].addEventListener('change', function () {
                var selectedTier = this.value;
                var itemId = this.id;
                moveItemToTier(itemId, selectedTier);
            });
        }
    });
});
 
// Bingo JS
mw.loader.using('mediawiki.util', function () {
    document.addEventListener("DOMContentLoaded", function () {
        console.log("✅ Bingo JS Loaded");
 
        var tiles = document.querySelectorAll(".bingo-table td .lighttable-cell");
        for (var i = 0; i < tiles.length; i++) {
            (function(tile){
                var id = tile.dataset.key || tile.id;
                if (!id) return;
 
                if (localStorage.getItem(id) === "selected") {
                    tile.classList.add("bingo-selected");
                }
 
                tile.addEventListener("click", function () {
                    tile.classList.toggle("bingo-selected");
                    if (tile.classList.contains("bingo-selected")) {
                        localStorage.setItem(id, "selected");
                    } else {
                        localStorage.removeItem(id);
                    }
                });
            })(tiles[i]);
        }
    });
});
 
// Skill XP calculator
document.addEventListener("DOMContentLoaded", function() {
    var tables = document.querySelectorAll(".skill-info-calc");
    for (var i = 0; i < tables.length; i++) {
        (function(table){
            var xpPerAction = parseInt(table.querySelector("span.total-xp").textContent);
            var numActionsElem = table.querySelector(".num-actions");
            var totalXPElem = table.querySelector(".total-xp");
 
            table.querySelector(".increase").addEventListener("click", function() {
                var actions = parseInt(numActionsElem.textContent) + 1;
                numActionsElem.textContent = actions;
                totalXPElem.textContent = actions * xpPerAction;
            });
 
            table.querySelector(".decrease").addEventListener("click", function() {
                var actions = parseInt(numActionsElem.textContent) - 1;
                if (actions < 0) actions = 0;
                numActionsElem.textContent = actions;
                totalXPElem.textContent = actions * xpPerAction;
            });
        })(tables[i]);
    }
});
 
// Simple calculator
document.addEventListener("DOMContentLoaded", function() {
    var calc = document.getElementById("calc");
    if (!calc) return;
 
    var btn = document.getElementById("calcButton");
    btn.addEventListener("click", function() {
        var a = parseFloat(document.getElementById("num1").value);
        var b = parseFloat(document.getElementById("num2").value);
        var op = document.getElementById("op").value;
        var result;
 
        if (isNaN(a) || isNaN(b)) {
            result = "Enter valid numbers";
        } else {
            switch (op) {
                case "+": result = a + b; break;
                case "-": result = a - b; break;
                case "*": result = a * b; break;
                case "/": result = b !== 0 ? a / b : "∞"; break;
                default: result = "Error";
            }
        }
 
        document.getElementById("result").textContent = " " + result;
    });
});
document.addEventListener("DOMContentLoaded", function() {
  const btn = document.getElementById("calcButton");
  if (!btn) return;
 
  btn.addEventListener("click", function() {
    const a = parseFloat(document.getElementById("num1").textContent);
    const b = parseFloat(document.getElementById("num2").textContent);
    const op = document.getElementById("op").textContent;
    let result;
 
    if (isNaN(a) || isNaN(b)) {
      result = "Enter valid numbers";
    } else {
      switch(op) {
        case "+": result = a + b; break;
        case "-": result = a - b; break;
        case "*": result = a * b; break;
        case "/": result = b !== 0 ? a / b : "∞"; break;
        default: result = "Error";
      }
    }
 
    document.getElementById("result").textContent = result;
  });
});
document.addEventListener("DOMContentLoaded", function() {
  const btn = document.getElementById("calcButton");
  if (!btn) return;
 
  btn.addEventListener("click", function() {
    const a = parseFloat(document.getElementById("num1").textContent);
    const b = parseFloat(document.getElementById("num2").textContent);
    const op = document.getElementById("op").textContent.trim();
    let result;
 
    if (isNaN(a) || isNaN(b)) {
      result = "Enter valid numbers";
    } else {
      switch(op) {
        case "+": result = a + b; break;
        case "-": result = a - b; break;
        case "*": result = a * b; break;
        case "/": result = b !== 0 ? a / b : "∞"; break;
        default: result = "Invalid operation";
      }
    }
 
    document.getElementById("result").textContent = result;
  });
});

Latest revision as of 02:04, 7 March 2026

mw.loader.load('/index.php?title=MediaWiki:DropCalc.js&action=raw&ctype=text/javascript');
mw.loader.load('/index.php?title=MediaWiki:SlayerPointsCalc.js&action=raw&ctype=text/javascript');
mw.loader.load('/index.php?title=MediaWiki:BingoSheet.js&action=raw&ctype=text/javascript');