if (!array_key_exists($calendar,
Kronolith::listCalendars(false, PERMS_READ))) {
$notification->push(_("Permission Denied"), 'horde.error');
- $result = false;
+ $result = true;
break 2;
}
$driver = '';
$events = $kronolith_driver->listEvents($start, $end, true, false, true);
if (is_a($events, 'PEAR_Error')) {
$notification->push($events, 'horde.error');
- $result = false;
+ $result = true;
} else {
$result = new stdClass;
$result->cal = $cal;
ecache: $H(),
efifo: {},
eventsLoading: $H(),
+ loading: 0,
date: new Date(),
doActionOpts: {
calendars.each(function(cal) {
var calendar = cal.join('|');
this.eventsLoading[calendar] = start + end;
+ this.loading++;
+ $('kronolithLoading').show();
this.doAction('ListEvents', { start: start, end: end, cal: calendar, view: view }, callback.bind(this));
}, this);
},
{
var div;
+ // Hide spinner.
+ this.loading--;
+ if (!this.loading) {
+ $('kronolithLoading').hide();
+ }
+
// Check if this is the still the result of the most current request.
if (r.response.view != this.view ||
r.response.sig != this.eventsLoading[r.response.cal]) {
<!-- ini body -->
<div id="kronolithBody">
+<div id="kronolithLoading" style="display:none"></div>
<?php
$img_blank = Horde::img('blank.gif', '', 'height="8" width="8"', $registry->getImageDir('horde'));
require dirname(__FILE__) . '/month.inc';
display: none;
}
+/* Loading spinner */
+#kronolithLoading {
+ position: absolute;
+ z-index: 1000;
+ background: transparent url("graphics/loading.gif") no-repeat center;
+ padding: 2px;
+ width: 16px;
+ height: 17px;
+ /* Take values from .kronolithView */
+ top: 50px;
+ left: 175px;
+ margin-top: 5px;
+ /* Take values from .kronolithRow */
+ border: 1px #c0c0c0 solid;
+}
+
/* User data and options */
#kronolithUser {
float: right;