feat(frontend,API): Add PUT operations, integrate API, add first from engine
This commit is contained in:
28
legalconsenthub/components/FormEngine.vue
Normal file
28
legalconsenthub/components/FormEngine.vue
Normal file
@@ -0,0 +1,28 @@
|
||||
<template>
|
||||
<div v-for="formElement in formElements" :key="formElement.id">
|
||||
<component :is="getResolvedComponent(formElement)" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import type { FormElementDto } from '~/.api-client'
|
||||
import { resolveComponent } from 'vue'
|
||||
|
||||
defineProps<{
|
||||
formElements: FormElementDto[]
|
||||
}>()
|
||||
|
||||
// TODO: Lazy loading?
|
||||
function getResolvedComponent(formElement: FormElementDto) {
|
||||
switch (formElement.type) {
|
||||
case 'CHECKBOX':
|
||||
case 'DROPDOWN':
|
||||
case 'RADIOBUTTON':
|
||||
case 'SWITCH':
|
||||
case 'TEXTFIELD':
|
||||
return resolveComponent('TheInput')
|
||||
default:
|
||||
return resolveComponent('Unimplemented')
|
||||
}
|
||||
}
|
||||
</script>
|
||||
14
legalconsenthub/components/formelements/TheInput.vue
Normal file
14
legalconsenthub/components/formelements/TheInput.vue
Normal file
@@ -0,0 +1,14 @@
|
||||
<template>
|
||||
<UFormField :label="label" :name="name">
|
||||
<UInput v-model="model" />
|
||||
</UFormField>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
defineProps<{
|
||||
label?: string
|
||||
name?: string
|
||||
}>()
|
||||
|
||||
const model = defineModel({ type: String })
|
||||
</script>
|
||||
@@ -0,0 +1,3 @@
|
||||
<template>
|
||||
<div>Element unimplemented:</div>
|
||||
</template>
|
||||
Reference in New Issue
Block a user