akaunting/resources/assets/js/components/AkauntingDate.vue

90 lines
1.9 KiB
Vue
Raw Normal View History

2019-11-16 10:21:14 +03:00
<template>
<base-input :label="title"
:name="name"
:class="[
{'readonly': readonly},
{'disabled': disabled},
formClasses
]"
:error="formError"
:prependIcon="icon"
:readonly="readonly"
:disabled="disabled"
>
2019-11-16 10:21:14 +03:00
<flat-picker slot-scope="{focus, blur}"
@on-open="focus"
@on-close="blur"
:config="config"
class="form-control datepicker"
v-model="real_model"
@input="change"
:readonly="readonly"
:disabled="disabled">
2019-11-16 10:21:14 +03:00
</flat-picker>
</base-input>
</template>
<script>
import flatPicker from "vue-flatpickr-component";
import "flatpickr/dist/flatpickr.css";
export default {
name: 'akaunting-date',
components: {
flatPicker
},
props: {
title: {
type: String,
default: '',
description: "Modal header title"
},
placeholder: {
type: String,
default: '',
description: "Modal header title"
},
readonly: {
type: Boolean,
default: false,
description: "Input readonly status"
},
disabled: {
type: Boolean,
default: false,
description: "Input disabled status"
},
2019-11-16 10:21:14 +03:00
formClasses: null,
formError: null,
name: null,
value: null,
model: null,
config: null,
icon: {
type: String,
description: "Prepend icon (left)"
}
},
data() {
return {
real_model: this.model
}
},
mounted() {
this.real_model = this.value;
this.$emit('interface', this.real_model);
},
methods: {
change() {
this.$emit('interface', this.real_model);
}
}
}
</script>