MediaWiki:Common.js: Difference between revisions

Added Skill Calculator Logic
Switched to use CSS class for passing arguments
 
(2 intermediate revisions by the same user not shown)
Line 5: Line 5:
});
});
// Skill Calculator logic to be embedded in MediaWiki:Common.js
// Skill Calculator logic to be embedded in MediaWiki:Common.js
(function() {
mw.hook('wikipage.content').add(function($content) {
     // Only run if the page contains a calculator container
     // Only run if the page contains a calculator container
     const calcContainer = document.getElementById('wiki-skill-calc');
     const calcContainer = $content.find('#wiki-skill-calc')[0];
     if (!calcContainer) return;
     if (!calcContainer) return;
    if (calcContainer.dataset.initialized) return;
    calcContainer.dataset.initialized = 'true';


     const currentSkill = calcContainer.getAttribute('data-skill'); // e.g., "Mining"
     const skillClass = Array.from(calcContainer.classList).find(c => c.startsWith('skill-'));
    if (!skillClass) {
        calcContainer.innerHTML = "<p style='color:red;'>Error: No skill class found on container.</p>";
        return;
    }
    const currentSkill = skillClass.replace('skill-', ''); // e.g., "Mining"


     // Raw XP Table (Level 1 to 99)
     // Raw XP Table (Level 1 to 99)
Line 228: Line 235:
     // Render initially
     // Render initially
     renderCalculator();
     renderCalculator();
})();
});