Calendar: fix get events filter, fix add event, show message+ reload cal

pull/3927/head
Julio Montoya 4 years ago
parent 8886c981a7
commit b1d9e91be2
  1. 30
      assets/vue/views/ccalendarevent/List.vue

@ -1,9 +1,10 @@
<template> <template>
<div> <div>
<FullCalendar :options="calendarOptions" /> <FullCalendar ref="cal" :options="calendarOptions" />
<Loading :visible="isLoading" /> <Loading :visible="isLoading" />
<!-- Add form-->
<q-dialog v-model="dialog" persistent> <q-dialog v-model="dialog" persistent>
<q-card style="min-width: 500px"> <q-card style="min-width: 500px">
<q-card-section> <q-card-section>
@ -24,22 +25,21 @@
<q-card-actions align="right" class="text-primary"> <q-card-actions align="right" class="text-primary">
<q-btn flat label="Cancel" v-close-popup /> <q-btn flat label="Cancel" v-close-popup />
<q-btn flat label="Add" @click="onSendForm" /> <q-btn flat label="Add" @click="onCreateEventForm" />
</q-card-actions> </q-card-actions>
</q-card> </q-card>
</q-dialog> </q-dialog>
<!-- Show form-->
<q-dialog v-model="dialogShow" persistent> <q-dialog v-model="dialogShow" persistent>
<q-card style="min-width: 500px"> <q-card style="min-width: 500px">
<q-card-section class="q-pt-none"> <q-card-section class="q-pt-none">
<h3>{{ item.title }}</h3> <h3>{{ item.title }}</h3>
<p> <p>
{{ item.startDate }} {{ item.startDate }}
</p> </p>
<p>{{ item.endDate }}</p> <p>{{ item.endDate }}</p>
</q-card-section> </q-card-section>
<q-card-actions align="right" class="text-primary"> <q-card-actions align="right" class="text-primary">
<q-btn flat label="Close" v-close-popup /> <q-btn flat label="Close" v-close-popup />
</q-card-actions> </q-card-actions>
@ -114,8 +114,6 @@ export default {
endParam: 'endDate[before]', endParam: 'endDate[before]',
selectable: true, selectable: true,
eventClick: function (EventClickArg) { eventClick: function (EventClickArg) {
console.log(EventClickArg.event);
item.value['title'] = EventClickArg.event.title; item.value['title'] = EventClickArg.event.title;
item.value['startDate'] = EventClickArg.event.startStr; item.value['startDate'] = EventClickArg.event.startStr;
item.value['endDate'] = EventClickArg.event.endStr; item.value['endDate'] = EventClickArg.event.endStr;
@ -139,8 +137,8 @@ export default {
events: function(info, successCallback, failureCallback) { events: function(info, successCallback, failureCallback) {
axios.get('/api/c_calendar_events',{ axios.get('/api/c_calendar_events',{
params: { params: {
'startDate[after]': info.start.valueOf(), 'startDate[after]': info.startStr,
'endDate[before]': info.end.valueOf() 'endDate[before]': info.endStr
} }
}).then(response => { }).then(response => {
let data = response.data; let data = response.data;
@ -160,7 +158,12 @@ export default {
}, },
} }
return {calendarOptions, dialog, item, dialogShow}; function reFetch() {
let calendarApi = this.$refs.cal.getApi();
calendarApi.refetchEvents();
}
return {calendarOptions, dialog, item, dialogShow, reFetch};
}, },
computed: { computed: {
...mapFields('ccalendarevent', { ...mapFields('ccalendarevent', {
@ -176,6 +179,15 @@ export default {
}), }),
}, },
methods: { methods: {
onCreateEventForm() {
const createForm = this.$refs.createForm;
createForm.v$.$touch();
if (!createForm.v$.$invalid) {
this.create(createForm.v$.item.$model);
this.reFetch();
this.dialog = false;
}
},
...mapActions('ccalendarevent', { ...mapActions('ccalendarevent', {
create: 'create', create: 'create',
deleteItem: 'del', deleteItem: 'del',

Loading…
Cancel
Save