diff options
author | Kévin Gomez Pinto <kevin_gomez@carpe-hora.com> | 2012-04-06 12:04:41 +0200 |
---|---|---|
committer | Kévin Gomez Pinto <kevin_gomez@carpe-hora.com> | 2012-04-06 12:04:41 +0200 |
commit | 772abe3f3bbfe903f35f71b7843073e2fa1884ad (patch) | |
tree | 93065ccb997be9d48871e285053fbc72e32f2efc | |
parent | cc5bac94bc5282331f5db13054ecc82c4753647b (diff) | |
parent | f2345f528a8f97569fcd64aae5753aa6c3ba32e5 (diff) | |
download | jquery-week-calendar-772abe3f3bbfe903f35f71b7843073e2fa1884ad.zip jquery-week-calendar-772abe3f3bbfe903f35f71b7843073e2fa1884ad.tar.gz jquery-week-calendar-772abe3f3bbfe903f35f71b7843073e2fa1884ad.tar.bz2 |
Merge branch 'fix-issue-130'
-rw-r--r-- | jquery.weekcalendar.js | 51 |
1 files changed, 32 insertions, 19 deletions
diff --git a/jquery.weekcalendar.js b/jquery.weekcalendar.js index c3468e3..d379330 100644 --- a/jquery.weekcalendar.js +++ b/jquery.weekcalendar.js @@ -590,20 +590,27 @@ _setupEventDelegation: function() { var self = this; var options = this.options; + this.element.click(function(event) { var $target = $(event.target), freeBusyManager; + + // click is disabled if ($target.data('preventClick')) { return; } + var $calEvent = $target.hasClass('wc-cal-event') ? $target : $target.parents('.wc-cal-event'); - if ($calEvent.length) { - freeBusyManager = self.getFreeBusyManagerForEvent($calEvent.data('calEvent')); - if (options.allowEventDelete && $target.hasClass('wc-cal-event-delete')) { - options.eventDelete($calEvent.data('calEvent'), $calEvent, freeBusyManager, self.element, event); - }else{ - options.eventClick($calEvent.data('calEvent'), $calEvent, freeBusyManager, self.element, event); - } + if (!$calEvent.length) { + return; + } + + freeBusyManager = self.getFreeBusyManagerForEvent($calEvent.data('calEvent')); + + if (options.allowEventDelete && $target.hasClass('wc-cal-event-delete')) { + options.eventDelete($calEvent.data('calEvent'), $calEvent, freeBusyManager, self.element, event); + } else { + options.eventClick($calEvent.data('calEvent'), $calEvent, freeBusyManager, self.element, event); } }).mouseover(function(event) { var $target = $(event.target); @@ -612,25 +619,31 @@ return; } - if ($target.hasClass('wc-cal-event')) { - options.eventMouseover($target.data('calEvent'), $target, event); - } - if ($target.hasClass('wc-time') || $target.hasClass('wc-title')) {
- options.eventMouseover($target.parents('.wc-cal-event').data('calEvent'), $target, event);
+ var $calEvent = $target.hasClass('wc-cal-event') ? $target : $target.parents('.wc-cal-event'); + + if (!$calEvent.length || !$calEvent.data('calEvent')) { + return; } + + options.eventMouseover($calEvent.data('calEvent'), $calEvent, event); }).mouseout(function(event) { var $target = $(event.target); + if (self._isDraggingOrResizing($target)) { return; } - if ($target.hasClass('wc-cal-event')) { - if ($target.data('sizing')) { return;} - options.eventMouseout($target.data('calEvent'), $target, event); + + var $calEvent = $target.hasClass('wc-cal-event') ? $target : $target.parents('.wc-cal-event'); + + if (!$calEvent.length || !$calEvent.data('calEvent')) { + return; } - if ($target.hasClass('wc-time') || $target.hasClass('wc-title')) {
- if ($target.data('sizing')) { return;}
- options.eventMouseout($target.parents('.wc-cal-event').data('calEvent'), $target, event);
+ + if ($calEvent.data('sizing')) { + return; } + + options.eventMouseout($calEvent.data('calEvent'), $calEvent, event); }); }, @@ -1783,7 +1796,7 @@ options.eventDrop(newCalEvent, calEvent, $calEvent); var $newEvent = self._renderEvent(newCalEvent, self._findWeekDayForEvent(newCalEvent, $weekDayColumns)); - $calEvent.remove(); + $calEvent.hide(); $calEvent.data('preventClick', true); |