MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
No edit summary Tag: Reverted |
No edit summary Tag: Reverted |
||
| Line 2: | Line 2: | ||
function setupLevelSliderSpan(wrapperSelector, min, max) { | function setupLevelSliderSpan(wrapperSelector, min, max) { | ||
const | const wrappers = document.querySelectorAll(wrapperSelector); | ||
if (! | 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); | |||
if (current < max) valueDisplay.dataset.value = current + 1; | |||
updateDisplay(); | |||
}); | |||
decrease.addEventListener('click', () => { | |||
let current = parseInt(valueDisplay.dataset.value); | |||
if (current > min) valueDisplay.dataset.value = current - 1; | |||
updateDisplay(); | |||
}); | |||
updateDisplay(); | updateDisplay(); | ||
}); | }); | ||
} | } | ||
mw.loader.using('mediawiki.util').then(() => { | |||
setupLevelSliderSpan('.level-slider-wrapper', 1, 10); | setupLevelSliderSpan('.level-slider-wrapper', 1, 10); | ||
}); | }); | ||
Revision as of 21:59, 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);
if (current < max) valueDisplay.dataset.value = current + 1;
updateDisplay();
});
decrease.addEventListener('click', () => {
let current = parseInt(valueDisplay.dataset.value);
if (current > min) valueDisplay.dataset.value = current - 1;
updateDisplay();
});
updateDisplay();
});
}
mw.loader.using('mediawiki.util').then(() => {
setupLevelSliderSpan('.level-slider-wrapper', 1, 10);
});