MediaWiki:Common.js

From Roat Pkz
Revision as of 02:36, 5 March 2026 by Hefner (talk | contribs)
Jump to navigation Jump to search

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
// --- COMMON.JS: Minimal Calculator (ES5 safe) ---
mw.hook('wikipage.content').add(function () {
    var container = document.getElementById("calcContainer");
    if (!container) return;

    container.innerHTML =
        '<div style="margin:10px 0;">' +
            '<label>Num1: <input type="number" id="num1" value="0" style="width:60px;"></label> ' +
            '<label>Num2: <input type="number" id="num2" value="0" style="width:60px;"></label> ' +
            '<label>Operation: ' +
                '<select id="op">' +
                    '<option value="+">+</option>' +
                    '<option value="-">-</option>' +
                    '<option value="*">*</option>' +
                    '<option value="/">/</option>' +
                '</select>' +
            '</label> ' +
            '<button id="calcButton">Calculate</button>' +
        '</div>' +
        '<div>Result: <span id="result">0</span></div>';

    var btn = document.getElementById("calcButton");
    btn.onclick = 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;
    };
});