diff --git a/calendar/inc/class.calendar_uiviews.inc.php b/calendar/inc/class.calendar_uiviews.inc.php
index 8488c6eba2..36f9a420e4 100644
--- a/calendar/inc/class.calendar_uiviews.inc.php
+++ b/calendar/inc/class.calendar_uiviews.inc.php
@@ -1887,12 +1887,23 @@ class calendar_uiviews extends calendar_ui
if (!$event['whole_day_on_top'] &&
!$event['whole_day'])
{
- $resizableHelper = $this->bo->date2string($event['start']). '|' .$this->bo->format_date($event['start'],false) . '|' . $this->cal_prefs['interval'].'|'.($event['recur_type']?'S':'');
+ // S represents Series
+ // '' represents Single
+ $eventTypeTag = $event['recur_type']?'S':'';
+ }
+ else if (!$event['recur_type'])
+ {
+ // WD represents Whole Day
+ $eventTypeTag = 'WD';
}
else
{
- $resizableHelper = $this->bo->date2string($event['start']). '|' .$this->bo->format_date($event['start'],false) . '|' . $this->cal_prefs['interval'].'|'.'WD';
+ // WDS represents Whole Day Series (recurrent whole day event)
+ $eventTypeTag = 'WDS';
}
+ // Helps client-side to bind handler to events with specific types tag
+ $resizableHelper = $this->bo->date2string($event['start']). '|' .$this->bo->format_date($event['start'],false) . '|' . $this->cal_prefs['interval'].'|'.$eventTypeTag;
+
$html = $indent.'
'.$prefix_icon."\n".$html."\n".
diff --git a/calendar/js/app.js b/calendar/js/app.js
index e2bb7749e6..e92de696fa 100644
--- a/calendar/js/app.js
+++ b/calendar/js/app.js
@@ -276,7 +276,7 @@ app.classes.calendar = AppJS.extend(
create:function(event, ui)
{
var resizeHelper = event.target.getAttribute('data-resize').split("|")[3];
- if (resizeHelper == 'WD' )
+ if (resizeHelper == 'WD' || resizeHelper == 'WDS')
{
$j(this).resizable('destroy');
}
@@ -443,7 +443,7 @@ app.classes.calendar = AppJS.extend(
var appName = Id.replace(/-?\d+\.?\d*/g,'');
var startDate = ev.currentTarget.getAttribute('data-resize').split("|")[0];
var eventFlag = ev.currentTarget.getAttribute('data-resize').split("|")[3];
- if (eventFlag != 'S')
+ if (eventFlag != 'S' && eventFlag != 'WDS')
{
that.egw.open(eventId,appName !=""?appName:'calendar','edit');
}
@@ -577,7 +577,8 @@ app.classes.calendar = AppJS.extend(
* @param {string} _duration description
* @param {string} _eventFlag Flag to distinguish whether the event is Whole Day, Series, or Single
* - S represents Series
- * - WD represents Whole Day
+ * - WD represents Whole Day
+ * - WDS represents Whole Day Series (recurrent whole day event)
* - '' represents Single
*/
dropEvent : function(_id, _date, _duration, _eventFlag)