summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkphoen <geek63@gmail.com>2012-04-04 23:25:23 +0200
committerkphoen <geek63@gmail.com>2012-04-04 23:25:23 +0200
commit874715d439822ee65b40646e0146b83bd53d8447 (patch)
tree20cf77589603462da0cb7e385a212a8e5c4e6741
parentcc5bac94bc5282331f5db13054ecc82c4753647b (diff)
downloadjquery-week-calendar-874715d439822ee65b40646e0146b83bd53d8447.zip
jquery-week-calendar-874715d439822ee65b40646e0146b83bd53d8447.tar.gz
jquery-week-calendar-874715d439822ee65b40646e0146b83bd53d8447.tar.bz2
Fix: Regression: Undefined calEvent Error on Drag and Drop (closes #130)
-rw-r--r--jquery.weekcalendar.js49
1 files changed, 31 insertions, 18 deletions
diff --git a/jquery.weekcalendar.js b/jquery.weekcalendar.js
index c3468e3..3c714a9 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);
});
},