mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
ranges are immediately deleted as well as saved (needs refactoring)
This commit is contained in:
parent
2b1c3d1aff
commit
e28d17a131
@ -26,7 +26,7 @@
|
|||||||
</FullCalendar>
|
</FullCalendar>
|
||||||
<div>
|
<div>
|
||||||
<ul class="record_actions">
|
<ul class="record_actions">
|
||||||
<li>
|
<!-- <li>
|
||||||
<button class="btn btn-save" :disabled="!dirty"
|
<button class="btn btn-save" :disabled="!dirty"
|
||||||
@click.prevent="onClickSave">
|
@click.prevent="onClickSave">
|
||||||
{{ $t('action.save')}}
|
{{ $t('action.save')}}
|
||||||
@ -35,7 +35,7 @@
|
|||||||
<i class="fa fa-circle-o-notch fa-spin fa-fw"></i>
|
<i class="fa fa-circle-o-notch fa-spin fa-fw"></i>
|
||||||
<span class="sr-only">{{ $t('loading') }}</span>
|
<span class="sr-only">{{ $t('loading') }}</span>
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</li> -->
|
||||||
<li>
|
<li>
|
||||||
<button v-if="disableCopyDayButton" class="btn btn-action" disabled>
|
<button v-if="disableCopyDayButton" class="btn btn-action" disabled>
|
||||||
{{ $t('copy_range_to_next_day')}}
|
{{ $t('copy_range_to_next_day')}}
|
||||||
@ -203,6 +203,7 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
init() {
|
init() {
|
||||||
|
console.log('init')
|
||||||
this.fetchData();
|
this.fetchData();
|
||||||
},
|
},
|
||||||
openModal() {
|
openModal() {
|
||||||
@ -228,6 +229,7 @@ export default {
|
|||||||
fetchData() {
|
fetchData() {
|
||||||
this.flag.loading = true;
|
this.flag.loading = true;
|
||||||
fetchCalendarRangesByUser(this.userId).then(calendarRanges => new Promise((resolve, reject) => {
|
fetchCalendarRangesByUser(this.userId).then(calendarRanges => new Promise((resolve, reject) => {
|
||||||
|
// console.log('calendar ranges', calendarRanges.results)
|
||||||
let events = calendarRanges.results.map(i =>
|
let events = calendarRanges.results.map(i =>
|
||||||
({
|
({
|
||||||
start: i.startDate.datetime,
|
start: i.startDate.datetime,
|
||||||
@ -291,20 +293,20 @@ export default {
|
|||||||
onDateSelect(payload) {
|
onDateSelect(payload) {
|
||||||
// console.log('payload', payload);
|
// console.log('payload', payload);
|
||||||
let events = this.calendarEvents.new.events;
|
let events = this.calendarEvents.new.events;
|
||||||
events.push({
|
// events.push({
|
||||||
start: payload.startStr,
|
// start: payload.startStr,
|
||||||
end: payload.endStr
|
// end: payload.endStr
|
||||||
});
|
// });
|
||||||
this.calendarEvents.new = {
|
// this.calendarEvents.new = {
|
||||||
events: events,
|
// events: events,
|
||||||
borderColor: "#3788d8",
|
// borderColor: "#3788d8",
|
||||||
backgroundColor: '#fffadf',
|
// backgroundColor: '#fffadf',
|
||||||
textColor: '#444444',
|
// textColor: '#444444',
|
||||||
};
|
// };
|
||||||
this.disableCopyDayButton = false;
|
this.disableCopyDayButton = false;
|
||||||
this.lastNewDate = new Date(payload.startStr);
|
this.lastNewDate = new Date(payload.startStr);
|
||||||
this.updateEventsSource();
|
this.updateEventsSource();
|
||||||
this.$store.dispatch('createRange', payload);
|
// this.$store.dispatch('createRange', payload);
|
||||||
postCalendarRange({
|
postCalendarRange({
|
||||||
user: {
|
user: {
|
||||||
type: 'user',
|
type: 'user',
|
||||||
@ -316,6 +318,8 @@ export default {
|
|||||||
endDate: {
|
endDate: {
|
||||||
datetime: `${payload.end.toISOString().split('.')[0]}+0000`, // TODO check if OK with time zone
|
datetime: `${payload.end.toISOString().split('.')[0]}+0000`, // TODO check if OK with time zone
|
||||||
},
|
},
|
||||||
|
}).then(() => {
|
||||||
|
this.init();
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
onEventChange(payload) {
|
onEventChange(payload) {
|
||||||
@ -342,62 +346,65 @@ export default {
|
|||||||
this.openModal();
|
this.openModal();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onClickSave(payload) {
|
// onClickSave(payload) {
|
||||||
this.flag.loading = true;
|
// this.flag.loading = true;
|
||||||
if (this.$store.state.newCalendarRanges.length > 0){
|
// if (this.$store.state.newCalendarRanges.length > 0){
|
||||||
Promise.all(this.$store.state.newCalendarRanges.map(cr => {
|
// Promise.all(this.$store.state.newCalendarRanges.map(cr => {
|
||||||
postCalendarRange({
|
// postCalendarRange({
|
||||||
user: {
|
// user: {
|
||||||
type: 'user',
|
// type: 'user',
|
||||||
id: window.userId,
|
// id: window.userId,
|
||||||
},
|
// },
|
||||||
startDate: {
|
// startDate: {
|
||||||
datetime: `${cr.start.toISOString().split('.')[0]}+0000`, //should be like "2021-08-20T15:00:00+0200",
|
// datetime: `${cr.start.toISOString().split('.')[0]}+0000`, //should be like "2021-08-20T15:00:00+0200",
|
||||||
},
|
// },
|
||||||
endDate: {
|
// endDate: {
|
||||||
datetime: `${cr.end.toISOString().split('.')[0]}+0000`, // TODO check if OK with time zone
|
// datetime: `${cr.end.toISOString().split('.')[0]}+0000`, // TODO check if OK with time zone
|
||||||
},
|
// },
|
||||||
})
|
// })
|
||||||
})
|
// })
|
||||||
).then((_r) => this.resetCalendar());
|
// ).then((_r) => this.resetCalendar());
|
||||||
|
|
||||||
this.$store.dispatch('clearNewCalendarRanges', payload);
|
// this.$store.dispatch('clearNewCalendarRanges', payload);
|
||||||
}
|
// }
|
||||||
if (this.$store.state.updateCalendarRanges.length > 0){
|
// if (this.$store.state.updateCalendarRanges.length > 0){
|
||||||
Promise.all(this.$store.state.updateCalendarRanges.map(cr => {
|
// Promise.all(this.$store.state.updateCalendarRanges.map(cr => {
|
||||||
patchCalendarRange(cr.id,
|
// patchCalendarRange(cr.id,
|
||||||
{
|
// {
|
||||||
startDate: {
|
// startDate: {
|
||||||
datetime: `${cr.start.toISOString().split('.')[0]}+0000`, //should be like "2021-08-20T15:00:00+0200",
|
// datetime: `${cr.start.toISOString().split('.')[0]}+0000`, //should be like "2021-08-20T15:00:00+0200",
|
||||||
},
|
// },
|
||||||
endDate: {
|
// endDate: {
|
||||||
datetime: `${cr.end.toISOString().split('.')[0]}+0000`, // TODO check if OK with time zone
|
// datetime: `${cr.end.toISOString().split('.')[0]}+0000`, // TODO check if OK with time zone
|
||||||
},
|
// },
|
||||||
})
|
// })
|
||||||
})
|
// })
|
||||||
).then((_r) => this.resetCalendar());
|
// ).then((_r) => this.resetCalendar());
|
||||||
this.$store.dispatch('clearUpdateCalendarRanges', payload);
|
// this.$store.dispatch('clearUpdateCalendarRanges', payload);
|
||||||
}
|
// }
|
||||||
if (this.$store.state.deleteCalendarRanges.length > 0){
|
// if (this.$store.state.deleteCalendarRanges.length > 0){
|
||||||
Promise.all(this.$store.state.deleteCalendarRanges.map(cr => {
|
// Promise.all(this.$store.state.deleteCalendarRanges.map(cr => {
|
||||||
deleteCalendarRange(cr.id)
|
// deleteCalendarRange(cr.id)
|
||||||
})
|
// })
|
||||||
).then((_r) => this.resetCalendar());
|
// ).then((_r) => this.resetCalendar());
|
||||||
this.$store.dispatch('clearDeleteCalendarRanges', payload);
|
// this.$store.dispatch('clearDeleteCalendarRanges', payload);
|
||||||
}
|
// }
|
||||||
|
|
||||||
},
|
// },
|
||||||
onClickDelete(payload) {
|
onClickDelete(payload) {
|
||||||
if (payload.extendedProps.hasOwnProperty("calendarRangeId")) {
|
if (payload.extendedProps.hasOwnProperty("calendarRangeId")) {
|
||||||
if (payload.extendedProps.toDelete) {
|
deleteCalendarRange(payload.extendedProps.calendarRangeId).then(() => {
|
||||||
payload.setExtendedProp('toDelete', false)
|
this.init();
|
||||||
payload.setProp('borderColor', '#79bafc');
|
})
|
||||||
this.$store.dispatch('removeFromDeleteRange', payload);
|
// if (payload.extendedProps.toDelete) {
|
||||||
} else {
|
// payload.setExtendedProp('toDelete', false)
|
||||||
payload.setExtendedProp('toDelete', true)
|
// payload.setProp('borderColor', '#79bafc');
|
||||||
payload.setProp('borderColor', '#dddddd');
|
// this.$store.dispatch('removeFromDeleteRange', payload);
|
||||||
this.$store.dispatch('deleteRange', payload);
|
// } else {
|
||||||
}
|
// payload.setExtendedProp('toDelete', true)
|
||||||
|
// payload.setProp('borderColor', '#dddddd');
|
||||||
|
// this.$store.dispatch('deleteRange', payload);
|
||||||
|
// }
|
||||||
} else {
|
} else {
|
||||||
let newEvents = this.calendarEvents.new.events;
|
let newEvents = this.calendarEvents.new.events;
|
||||||
let filterEvents = newEvents.filter((e) =>
|
let filterEvents = newEvents.filter((e) =>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user