MediaWiki:Common.js

From Essence of Flow Wiki
Revision as of 22:08, 18 December 2025 by Essencewikilol (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.
/* Any JavaScript here will be loaded for all users on every page load. */

/* Arrow slider using links for MediaWiki */

function setupLevelSlider(wrapperSelector, min, max) {
    const wrapper = document.querySelector(wrapperSelector);
    if (!wrapper) return;

    const valueDisplay = wrapper.querySelector('.levelValue');
    const increase = wrapper.querySelector('.increase');
    const decrease = wrapper.querySelector('.decrease');

    if (!valueDisplay || !increase || !decrease) return;

    const updateDisplay = () => {
        valueDisplay.textContent = valueDisplay.dataset.value;
    };

    increase.addEventListener('click', (e) => {
        e.preventDefault();
        let current = parseInt(valueDisplay.dataset.value, 10);
        if (current < max) {
            valueDisplay.dataset.value = current + 1;
            updateDisplay();
        }
    });

    decrease.addEventListener('click', (e) => {
        e.preventDefault();
        let current = parseInt(valueDisplay.dataset.value, 10);
        if (current > min) {
            valueDisplay.dataset.value = current - 1;
            updateDisplay();
        }
    });

    // initialize
    updateDisplay();
}

// On page load
document.addEventListener('DOMContentLoaded', () => {
    setupLevelSlider('.level-slider-wrapper', 1, 10);
});