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. */


function setupLevelSlider(sliderId, valueId, upId, downId, min, max) {
function setupLevelSliders() {
   const slider = document.getElementById(sliderId);
   // find all slider wrappers
  const valueDisplay = document.getElementById(valueId);
   const wrappers = document.querySelectorAll('.level-slider-wrapper');
   const increase = document.getElementById(upId);
  const decrease = document.getElementById(downId);


   if (!slider || !valueDisplay || !increase || !decrease) return;
   wrappers.forEach(wrapper => {
    const slider = wrapper.querySelector('input[type="range"]');
    const valueDisplay = wrapper.querySelector('.levelValue');
    const increase = wrapper.querySelector('.increase');
    const decrease = wrapper.querySelector('.decrease');


  slider.addEventListener('input', () => {
    if (!slider || !valueDisplay || !increase || !decrease) return;
     valueDisplay.textContent = slider.value;
 
  });
    slider.addEventListener('input', () => {
      valueDisplay.textContent = slider.value;
    });
 
     increase.addEventListener('click', () => {
      if (slider.value < parseInt(slider.max)) slider.value = parseInt(slider.value) + 1;
      valueDisplay.textContent = slider.value;
    });


  increase.addEventListener('click', () => {
    decrease.addEventListener('click', () => {
    if (slider.value < max) slider.value = parseInt(slider.value) + 1;
      if (slider.value > parseInt(slider.min)) slider.value = parseInt(slider.value) - 1;
    valueDisplay.textContent = slider.value;
      valueDisplay.textContent = slider.value;
  });
    });


  decrease.addEventListener('click', () => {
     // initialize display
     if (slider.value > min) slider.value = parseInt(slider.value) - 1;
     valueDisplay.textContent = slider.value;
     valueDisplay.textContent = slider.value;
   });
   });
}
}


// Initialize slider on page load
document.addEventListener('DOMContentLoaded', setupLevelSliders);
document.addEventListener('DOMContentLoaded', () => {
  setupLevelSlider('levelSlider', 'levelValue', 'increase', 'decrease', 1, 10);
});

Revision as of 21:52, 18 December 2025

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

function setupLevelSliders() {
  // find all slider wrappers
  const wrappers = document.querySelectorAll('.level-slider-wrapper');

  wrappers.forEach(wrapper => {
    const slider = wrapper.querySelector('input[type="range"]');
    const valueDisplay = wrapper.querySelector('.levelValue');
    const increase = wrapper.querySelector('.increase');
    const decrease = wrapper.querySelector('.decrease');

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

    slider.addEventListener('input', () => {
      valueDisplay.textContent = slider.value;
    });

    increase.addEventListener('click', () => {
      if (slider.value < parseInt(slider.max)) slider.value = parseInt(slider.value) + 1;
      valueDisplay.textContent = slider.value;
    });

    decrease.addEventListener('click', () => {
      if (slider.value > parseInt(slider.min)) slider.value = parseInt(slider.value) - 1;
      valueDisplay.textContent = slider.value;
    });

    // initialize display
    valueDisplay.textContent = slider.value;
  });
}

document.addEventListener('DOMContentLoaded', setupLevelSliders);