Add more components + base for history

This commit is contained in:
2024-10-01 15:42:18 +02:00
parent fb4d566007
commit 8f9c83dc2a
38 changed files with 1374 additions and 665 deletions
@@ -32,36 +32,56 @@
<v-card-text>
<v-container>
<v-row>
<template v-for="field in editable_fields">
<template v-if="field.field_widget == 'v-select'">
<template v-if="field.choices">
<v-select
v-model="editedItem[field.value]"
:items="field.choices"
:label="field.text"
item-text="text"
item-value="value"
persistent-hint>
</v-select>
<v-form ref="form" v-model="valid">
<template v-for="field in editable_fields">
<template v-if="field.field_widget == 'v-select'">
<template v-if="field.choices">
<v-select
v-model="editedItem[field.value]"
:items="field.choices"
:label="field.text"
:rules="[rules.required]"
item-text="text"
item-value="value"
persistent-hint>
</v-select>
</template>
<template v-else>
<v-select
v-model="editedItem[field.value]"
:items="items_relations[field.value]"
:label="field.text"
:rules="[rules.required]"
item-text="name"
item-value="id"
return-object
persistent-hint>
<template slot="item" slot-scope="data">
<template v-if="data.item.custom_identifier">
[[ data.item.custom_identifier ]] - [[ data.item.name ]]
</template>
<template v-else>
[[ data.item.name ]]
</template>
</template>
</v-select>
</template>
</template>
<template v-else-if="field?.dynamic_field_type">
<DynField :item="editedItem" :field="field"></DynField>
</template>
<template v-else>
<v-select
v-model="editedItem[field.value]"
:items="items_relations[field.value]"
:label="field.text"
item-text="name"
item-value="id"
persistent-hint>
<template slot="item" slot-scope="data">
[[ data.item.name ]] - [[ data.item.custom_identifier ]]
</template>
</v-select>
<component :is="field.field_widget" v-model="editedItem[field.value]" :label="field.text"></component>
</template>
</template>
<template v-else>
<component :is="field.field_widget" v-model="editedItem[field.value]" :label="field.text"></component>
</template>
</template>
</v-form>
</v-row>
</v-container>
</v-card-text>