mirror of
https://github.com/KevinMidboe/nova-map-fields.git
synced 2025-10-29 17:50:27 +00:00
47 lines
1.1 KiB
Vue
Executable File
47 lines
1.1 KiB
Vue
Executable File
<template>
|
|
<default-field :field="field" :errors="errors" :full-width-content="true">
|
|
<template slot="field">
|
|
<component
|
|
v-if="value"
|
|
:is="'field-' + field.map.type"
|
|
:field="field"
|
|
:edit="true"
|
|
v-model="value"
|
|
></component>
|
|
</template>
|
|
</default-field>
|
|
</template>
|
|
|
|
<script>
|
|
import { FormField, HandlesValidationErrors } from "laravel-nova";
|
|
|
|
export default {
|
|
mixins: [FormField, HandlesValidationErrors],
|
|
|
|
props: ["resourceName", "resourceId", "field"],
|
|
|
|
methods: {
|
|
/*
|
|
* Set the initial, internal value for the field.
|
|
*/
|
|
setInitialValue() {
|
|
this.value = this.field.value || {};
|
|
},
|
|
|
|
/**
|
|
* Fill the given FormData object with the field's internal value.
|
|
*/
|
|
fill(formData) {
|
|
formData.append(this.field.attribute, JSON.stringify(this.value));
|
|
},
|
|
|
|
/**
|
|
* Update the field's internal value.
|
|
*/
|
|
handleChange(value) {
|
|
this.value = value;
|
|
},
|
|
},
|
|
};
|
|
</script>
|