MediaWiki:Common.js: Difference between revisions

From Essence of Flow Wiki
Jump to navigation Jump to search
No edit summary
Tag: Reverted
No edit summary
Tag: Reverted
Line 14: Line 14:


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


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


mw.loader.using('mediawiki.util').then(() => {
// Use MediaWiki's hook to run after the page is loaded
mw.hook('wikipage.content').add(() => {
     setupLevelSliderSpan('.level-slider-wrapper', 1, 10);
     setupLevelSliderSpan('.level-slider-wrapper', 1, 10);
});
});

Revision as of 22:01, 18 December 2025

/* Any JavaScript here will be loaded for all users on every page load. */

function setupLevelSliderSpan(wrapperSelector, min, max) {
    const wrappers = document.querySelectorAll(wrapperSelector);
    wrappers.forEach(wrapper => {
        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', () => {
            let current = parseInt(valueDisplay.dataset.value, 10);
            if (current < max) valueDisplay.dataset.value = current + 1;
            updateDisplay();
        });

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

        updateDisplay();
    });
}

// Use MediaWiki's hook to run after the page is loaded
mw.hook('wikipage.content').add(() => {
    setupLevelSliderSpan('.level-slider-wrapper', 1, 10);
});