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 1: Line 1:
/* Any JavaScript here will be loaded for all users on every page load. */
/* Any JavaScript here will be loaded for all users on every page load. */


/* Simple arrow slider for level 1-10 */
/* Arrow slider using links for MediaWiki */


function setupLevelSlider(wrapperSelector, min, max) {
function setupLevelSlider(wrapperSelector, min, max) {
Line 17: Line 17:
     };
     };


     increase.addEventListener('click', () => {
     increase.addEventListener('click', (e) => {
        e.preventDefault();
         let current = parseInt(valueDisplay.dataset.value, 10);
         let current = parseInt(valueDisplay.dataset.value, 10);
         if (current < max) {
         if (current < max) {
Line 25: Line 26:
     });
     });


     decrease.addEventListener('click', () => {
     decrease.addEventListener('click', (e) => {
        e.preventDefault();
         let current = parseInt(valueDisplay.dataset.value, 10);
         let current = parseInt(valueDisplay.dataset.value, 10);
         if (current > min) {
         if (current > min) {
Line 33: Line 35:
     });
     });


     // Initialize
     // initialize
     updateDisplay();
     updateDisplay();
}
}

Revision as of 22:08, 18 December 2025

/* 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);
});