Fix the calendar drop and resize "undo" functionality

This commit is contained in:
Alex Tselegidis 2024-04-26 17:25:31 +02:00
parent a5aa7da361
commit 171623c6a0
2 changed files with 11 additions and 7 deletions

View file

@ -865,7 +865,7 @@ App.Utils.CalendarDefaultView = (function () {
unavailability.end_datetime = info.event.extendedProps.data.end_datetime = moment( unavailability.end_datetime = info.event.extendedProps.data.end_datetime = moment(
unavailability.end_datetime, unavailability.end_datetime,
) )
.add({days: -info.delta.days, milliseconds: -info.delta.milliseconds}) .add({days: -info.endDelta.days, milliseconds: -info.endDelta.milliseconds})
.format('YYYY-MM-DD HH:mm:ss'); .format('YYYY-MM-DD HH:mm:ss');
App.Http.Calendar.saveUnavailability(unavailability).done(() => { App.Http.Calendar.saveUnavailability(unavailability).done(() => {
@ -955,7 +955,7 @@ App.Utils.CalendarDefaultView = (function () {
.add({days: info.delta.days, millisecond: info.delta.milliseconds}) .add({days: info.delta.days, millisecond: info.delta.milliseconds})
.format('YYYY-MM-DD HH:mm:ss'); .format('YYYY-MM-DD HH:mm:ss');
appointment.is_unavailability = Number(appointment.is_unavailability); appointment.is_unavailability = 0;
info.event.extendedProps.data.start_datetime = appointment.start_datetime; info.event.extendedProps.data.start_datetime = appointment.start_datetime;
info.event.extendedProps.data.end_datetime = appointment.end_datetime; info.event.extendedProps.data.end_datetime = appointment.end_datetime;
@ -1014,7 +1014,7 @@ App.Utils.CalendarDefaultView = (function () {
.add({days: -info.delta.days, milliseconds: -info.delta.milliseconds}) .add({days: -info.delta.days, milliseconds: -info.delta.milliseconds})
.format('YYYY-MM-DD HH:mm:ss'); .format('YYYY-MM-DD HH:mm:ss');
unavailability.is_unavailability = Number(unavailability.is_unavailability); unavailability.is_unavailability = 1;
info.event.extendedProps.data.start_datetime = unavailability.start_datetime; info.event.extendedProps.data.start_datetime = unavailability.start_datetime;
info.event.extendedProps.data.end_datetime = unavailability.end_datetime; info.event.extendedProps.data.end_datetime = unavailability.end_datetime;

View file

@ -1514,6 +1514,8 @@ App.Utils.CalendarTableView = (function () {
const appointment = {...info.event.extendedProps.data}; const appointment = {...info.event.extendedProps.data};
appointment.is_unavailability = 0;
// Must delete the following because only appointment data should be provided to the AJAX call. // Must delete the following because only appointment data should be provided to the AJAX call.
delete appointment.customer; delete appointment.customer;
delete appointment.provider; delete appointment.provider;
@ -1546,7 +1548,7 @@ App.Utils.CalendarTableView = (function () {
$footer.css('position', 'static'); // Footer position fix. $footer.css('position', 'static'); // Footer position fix.
// Update the event data for later use. // Update the event data for later use.
info.event.setProp('data', event.extendedProps.data); info.event.setProp('data', info.event.extendedProps.data);
}; };
// Update appointment data. // Update appointment data.
@ -1634,7 +1636,7 @@ App.Utils.CalendarTableView = (function () {
.add({days: info.delta.days, millisecond: info.delta.milliseconds}) .add({days: info.delta.days, millisecond: info.delta.milliseconds})
.format('YYYY-MM-DD HH:mm:ss'); .format('YYYY-MM-DD HH:mm:ss');
appointment.is_unavailability = Number(appointment.is_unavailability); appointment.is_unavailability = 0;
info.event.extendedProps.data.start_datetime = appointment.start_datetime; info.event.extendedProps.data.start_datetime = appointment.start_datetime;
info.event.extendedProps.data.end_datetime = appointment.end_datetime; info.event.extendedProps.data.end_datetime = appointment.end_datetime;
@ -1688,13 +1690,15 @@ App.Utils.CalendarTableView = (function () {
successCallback = () => { successCallback = () => {
const undoFunction = () => { const undoFunction = () => {
unavailability.start_datetime = moment(unavailability.start_datetime) unavailability.start_datetime = moment(unavailability.start_datetime)
.add({days: -info.endDelta.days, milliseconds: -info.endDelta.milliseconds}) .add({days: -info.delta.days, milliseconds: -info.delta.milliseconds})
.format('YYYY-MM-DD HH:mm:ss'); .format('YYYY-MM-DD HH:mm:ss');
unavailability.end_datetime = moment(unavailability.end_datetime) unavailability.end_datetime = moment(unavailability.end_datetime)
.add({days: -info.endDelta.days, milliseconds: -info.endDelta.milliseconds}) .add({days: -info.delta.days, milliseconds: -info.delta.milliseconds})
.format('YYYY-MM-DD HH:mm:ss'); .format('YYYY-MM-DD HH:mm:ss');
unavailability.is_unavailability = 1;
info.event.extendedProps.data.start_datetime = unavailability.start_datetime; info.event.extendedProps.data.start_datetime = unavailability.start_datetime;
info.event.extendedProps.data.end_datetime = unavailability.end_datetime; info.event.extendedProps.data.end_datetime = unavailability.end_datetime;