57 lines
1.5 KiB
Vue
57 lines
1.5 KiB
Vue
<script setup>
|
|
|
|
import {onMounted, reactive} from "vue";
|
|
import {setDefaultData} from "src/composables/form/formHandling";
|
|
import FormWrapper from "components/FormWrapper.vue";
|
|
import {commonProps} from "src/composables/inputs";
|
|
import {isRequestPending} from "src/composables/form/props";
|
|
import {isRequired} from "src/composables/form/rules";
|
|
import RichTextEditor from "components/inputs/RichTextEditor.vue";
|
|
import DatetimePicker from "components/inputs/DatetimePicker.vue";
|
|
import {FORMAT_DATE, FORMAT_DATETIME_LONG} from "src/composables/datetimeUtils";
|
|
|
|
const props = defineProps({
|
|
event: {
|
|
type: Object
|
|
},
|
|
isRequestPending
|
|
})
|
|
|
|
const formData = reactive({
|
|
name: null,
|
|
isPublic: false,
|
|
description: "",
|
|
dateFrom: null,
|
|
dateTo: null,
|
|
});
|
|
|
|
const rules = {
|
|
name: [isRequired]
|
|
}
|
|
|
|
onMounted(() => {
|
|
if (props.event) {
|
|
setDefaultData(formData, props.event);
|
|
}
|
|
})
|
|
|
|
</script>
|
|
|
|
<template>
|
|
<FormWrapper v-model="formData" :is-request-pending="props.isRequestPending">
|
|
<q-input
|
|
v-bind="commonProps"
|
|
label="Jméno"
|
|
:rules="rules.name"
|
|
v-model="formData.name"
|
|
/>
|
|
|
|
<DatetimePicker :mask="FORMAT_DATE" v-model="formData.dateFrom" label="Od" />
|
|
<DatetimePicker :mask="FORMAT_DATE" v-model="formData.dateTo" label="Do" />
|
|
|
|
<RichTextEditor v-model="formData.description" v-bind="commonProps" label="Popis letu, poznámky, ..."/>
|
|
<q-checkbox v-model="formData.isPublic" label="Veřejný?"/>
|
|
|
|
</FormWrapper>
|
|
</template>
|