PluginProbe
The Innovative Form Builder – IvyForms / 0.3
The Innovative Form Builder – IvyForms v0.3
1.5.1 1.5 1.4.1 1.4 trunk 0.1.2 0.2 0.2.1 0.3 0.3.1 0.4 0.5 0.6 0.6.1 0.6.1-backup 0.6.1.1 0.7 0.8 0.8.1 0.8.2 0.9 0.9.1 1.0 1.1 1.1.1 All 27 releases
ivyforms / frontend / src / views / public / fields / WebsiteFormField.vue

WebsiteFormField.vue in The Innovative Form Builder – IvyForms 0.3, at frontend/src/views/public/fields/WebsiteFormField.vue

65 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <template>
2 <div
3 :class="['ivyforms-field', 'ivyforms-field__website', 'ivyforms-field__website_' + field.id]"
4 >
5 <IvyFormItem
6 :label="field.label"
7 :required="field.required"
8 :error="error"
9 :prop="field.type + '_' + field.fieldIndex"
10 >
11 <IvyTextInput
12 :id="fieldID"
13 v-model="localModelValue"
14 class="ivyforms-field__website-input"
15 type="text"
16 :placeholder="field.placeholder"
17 :disabled="disabled"
18 :required="field.required"
19 />
20 </IvyFormItem>
21 </div>
22 </template>
23
24 <script setup lang="ts">
25 import { computed } from 'vue'
26
27 interface Field {
28 id: number
29 formId: number
30 fieldIndex: number
31 type: string
32 label: string
33 placeholder?: string
34 required?: boolean
35 // Any other field properties from your data
36 }
37 interface FieldProps {
38 modelValue: string | number | null | undefined
39 field: Field
40 disabled?: boolean
41 error?: string
42 }
43
44 const props = withDefaults(defineProps<FieldProps>(), {
45 modelValue: '',
46 disabled: false,
47 error: '',
48 })
49
50 const emit = defineEmits(['update:modelValue'])
51
52 const localModelValue = computed({
53 get() {
54 return props.modelValue
55 },
56 set(value) {
57 emit('update:modelValue', value)
58 },
59 })
60 // Generate unique field ID as a string
61 const fieldID = computed(() => {
62 return `ivyforms-field__website-input_${props.field.formId || ''}_${props.field.fieldIndex || ''}`
63 })
64 </script>
65