58 lines
1.2 KiB
Vue
58 lines
1.2 KiB
Vue
<template>
|
|
<FieldWrapper
|
|
:class="{'hidden': hidden, 'w-full': fullWidth}"
|
|
v-if="currentField.visible"
|
|
>
|
|
<div
|
|
v-html="currentField.html"
|
|
:class="classes"
|
|
/>
|
|
</FieldWrapper>
|
|
</template>
|
|
|
|
<script>
|
|
import { DependentFormField, HandlesValidationErrors } from 'laravel-nova'
|
|
|
|
export default {
|
|
mixins: [DependentFormField, HandlesValidationErrors],
|
|
|
|
props: ['resourceName', 'resourceId', 'field'],
|
|
|
|
methods: {
|
|
/*
|
|
* Set the initial, internal value for the field.
|
|
*/
|
|
setInitialValue() {
|
|
this.fullWidth = this.field.fullWidth || true;
|
|
this.value = this.field.value || ''
|
|
this.html = this.field.html || ''
|
|
this.alert_message = this.field.alert_message || null
|
|
this.hidden = this.field.hidden || false
|
|
},
|
|
|
|
/**
|
|
* Fill the given FormData object with the field's internal value.
|
|
*/
|
|
fill(formData) {
|
|
formData.append(this.field.attribute, this.value || '')
|
|
},
|
|
},
|
|
|
|
computed: {
|
|
classes: () => [
|
|
'remove-last-margin-bottom',
|
|
'leading-normal',
|
|
'w-full',
|
|
'py-4',
|
|
'px-8',
|
|
],
|
|
},
|
|
|
|
mounted() {
|
|
if (this.alert_message) {
|
|
alert(this.alert_message)
|
|
}
|
|
}
|
|
}
|
|
</script>
|