Bug 38201: Split InputElement into text and number variants

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
This commit is contained in:
Matt Blenkinsop 2025-05-23 10:32:16 +01:00 committed by Lucas Gass
parent 4c8ba970b9
commit 2e2b6ea0a8
No known key found for this signature in database
GPG Key ID: 60B447398B0D36CA
3 changed files with 42 additions and 11 deletions

View File

@ -0,0 +1,34 @@
<template>
<input
:id="id"
type="number"
v-model="model"
:placeholder="placeholder"
:required="required"
/>
</template>
<script>
export default {
props: {
id: String,
modelValue: Number,
placeholder: String,
required: Boolean,
},
emits: ["update:modelValue"],
computed: {
model: {
get() {
return this.modelValue;
},
set(value) {
this.$emit("update:modelValue", value);
},
},
},
name: "InputNumberElement",
};
</script>
<style></style>

View File

@ -1,7 +1,7 @@
<template>
<input
:id="id"
:type="type"
type="text"
v-model="model"
:placeholder="placeholder"
:required="required"
@ -15,10 +15,6 @@ export default {
modelValue: String,
placeholder: String,
required: Boolean,
type: {
type: String,
default: "text",
},
},
emits: ["update:modelValue"],
computed: {
@ -31,7 +27,7 @@ export default {
},
},
},
name: "InputElement",
name: "InputTextElement",
};
</script>

View File

@ -7,16 +7,15 @@
>{{ attr.label }}:</label
>
<template v-if="attr.type == 'number'">
<InputElement
<InputNumberElement
:id="getElementId"
type="number"
v-model="resource[attr.name]"
:placeholder="attr.placeholder || attr.label"
:required="attr.required ? true : false"
/>
</template>
<template v-else-if="attr.type == 'text'">
<InputElement
<InputTextElement
:id="getElementId"
v-model="resource[attr.name]"
:placeholder="attr.placeholder || attr.label"
@ -184,7 +183,8 @@
<script>
import AdditionalFieldsEntry from "./AdditionalFieldsEntry.vue";
import BaseElement from "./BaseElement.vue";
import InputElement from "./Elements/InputElement.vue";
import InputTextElement from "./Elements/InputTextElement.vue";
import InputNumberElement from "./Elements/InputNumberElement.vue";
import InputCheckboxElement from "./Elements/InputCheckboxElement.vue";
import TextareaElement from "./Elements/TextareaElement.vue";
import FormRelationshipSelect from "./FormRelationshipSelect.vue";
@ -262,7 +262,8 @@ export default {
FormRelationshipSelect,
ToolTip,
AdditionalFieldsEntry,
InputElement,
InputTextElement,
InputNumberElement,
InputCheckboxElement,
TextareaElement,
},