diff options
Diffstat (limited to 'jquery.weekcalendar.js')
-rw-r--r-- | jquery.weekcalendar.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/jquery.weekcalendar.js b/jquery.weekcalendar.js index df5e16a..786187b 100644 --- a/jquery.weekcalendar.js +++ b/jquery.weekcalendar.js @@ -1729,6 +1729,35 @@ var adjustedStart, adjustedEnd; var self = this; + var freeBusyManager = self.getFreeBusyManagerForEvent(newCalEvent); + $.each(freeBusyManager.getFreeBusys(newCalEvent.start, newCalEvent.end), function() { + if (!this.getOption('free')) { + + if (newCalEvent.start.getTime() == this.getStart().getTime() && + newCalEvent.end.getTime() > this.getEnd().getTime()) { + + adjustedStart = this.getEnd(); + } + + if (newCalEvent.end.getTime() == this.getEnd().getTime() && + newCalEvent.start.getTime() < this.getStart().getTime()) { + + adjustedEnd = this.getStart(); + } + + if (oldCalEvent.resizable == false || + (newCalEvent.end.getTime() > this.getEnd().getTime() && + newCalEvent.start.getTime() < this.getStart().getTime()) || + (newCalEvent.end.getTime() == this.getEnd().getTime() && + newCalEvent.start.getTime() == this.getStart().getTime())) { + + adjustedStart = oldCalEvent.start; + adjustedEnd = oldCalEvent.end; + newCalEvent.userId = oldCalEvent.userId; + } + } + }); + $weekDay.find('.wc-cal-event').not($calEvent).each(function() { var currentCalEvent = $(this).data('calEvent'); @@ -1753,6 +1782,7 @@ adjustedStart = oldCalEvent.start; adjustedEnd = oldCalEvent.end; + newCalEvent.userId = oldCalEvent.userId; return false; } |