diff --git a/aleksis/core/frontend/components/generic/forms/PositiveSmallIntegerField.vue b/aleksis/core/frontend/components/generic/forms/PositiveSmallIntegerField.vue index 5deaab572366481ee22ff147028bfb32a79e00eb..c28c778eaffadd174da5ccf496d63201f8eb0a53 100644 --- a/aleksis/core/frontend/components/generic/forms/PositiveSmallIntegerField.vue +++ b/aleksis/core/frontend/components/generic/forms/PositiveSmallIntegerField.vue @@ -12,14 +12,6 @@ export default { name: "PositiveSmallIntegerField", extends: "v-text-field", - methods: { - handleInput(event) { - let num = parseInt(event); - if (!isNaN(num) && num >= 0 && num <= 32767 && num % 1 === 0) { - this.$emit("input", parseInt(event)); - } - }, - }, data() { return { rules: [ @@ -46,7 +38,18 @@ export default { on() { return { ...this.$listeners, - input: this.handleInput, + input: this.inputHandler("input"), + change: this.inputHandler("change"), + }; + }, + }, + methods: { + inputHandler(name) { + return (event) => { + const num = parseInt(event); + if (!isNaN(num) && num >= 0 && num <= 32767 && num % 1 === 0) { + this.$emit(name, num); + } }; }, },