summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKévin Gomez Pinto <kevin_gomez@carpe-hora.com>2012-04-06 12:04:41 +0200
committerKévin Gomez Pinto <kevin_gomez@carpe-hora.com>2012-04-06 12:04:41 +0200
commit772abe3f3bbfe903f35f71b7843073e2fa1884ad (patch)
tree93065ccb997be9d48871e285053fbc72e32f2efc
parentcc5bac94bc5282331f5db13054ecc82c4753647b (diff)
parentf2345f528a8f97569fcd64aae5753aa6c3ba32e5 (diff)
downloadjquery-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.js51
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);