2022-03-16 12:11:30 +01:00
|
|
|
{
|
|
|
|
|
|
|
|
document.addEventListener("DOMContentLoaded", () => {
|
2022-11-04 20:35:28 +01:00
|
|
|
// get all customnumberinput Elements
|
|
|
|
let customNumberInputElements = document.getElementsByClassName("customnumberinput");
|
|
|
|
// Add Event Handler to the elements of the customnumberinputs
|
|
|
|
[...customNumberInputElements].forEach(element => {
|
2022-03-16 12:11:30 +01:00
|
|
|
// number input
|
2022-11-04 20:35:28 +01:00
|
|
|
let numberFieldElement = element.getElementsByClassName("customnumberinput-field")[0];
|
2022-03-16 12:11:30 +01:00
|
|
|
// minus button
|
2022-11-04 20:35:28 +01:00
|
|
|
element.getElementsByClassName("customnumberinput-minus")[0].addEventListener("click", () => {
|
2022-03-16 12:11:30 +01:00
|
|
|
alterCustomNumberField(numberFieldElement, -1)
|
|
|
|
});
|
|
|
|
// plus button
|
2022-11-04 20:35:28 +01:00
|
|
|
element.getElementsByClassName("customnumberinput-plus")[0].addEventListener("click", () => {
|
2022-03-16 12:11:30 +01:00
|
|
|
alterCustomNumberField(numberFieldElement, +1)
|
|
|
|
});
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
function alterCustomNumberField(numberFieldElement, n) {
|
|
|
|
numberFieldElement.value = Math.min(
|
|
|
|
Math.max(
|
|
|
|
(parseInt(numberFieldElement.value) + n), numberFieldElement.min || Number.MIN_VALUE
|
|
|
|
),
|
|
|
|
numberFieldElement.max || Number.MAX_VALUE
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|