merge of '1aafadb0f219460ff7d8c59eeb924061abdea533'

and '6222d0ffffb65bf603b285c281887d1975d95e16'

Monotone-Parent: 1aafadb0f219460ff7d8c59eeb924061abdea533
Monotone-Parent: 6222d0ffffb65bf603b285c281887d1975d95e16
Monotone-Revision: 4de8470166df292fcd9ceff9ebe9f6837f051a3e

Monotone-Author: crobert@inverse.ca
Monotone-Date: 2009-06-04T21:00:15
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
C Robert
2009-06-04 21:00:15 +00:00
3 changed files with 29 additions and 3 deletions
+3 -1
View File
@@ -18,8 +18,10 @@
* UI/Scheduler/UIxCalListingActions.m: Added everything needed for the
findSlot action. Fixes for allday & multiday events.
* UI/WebServerResources/UIxAttendeesEditor.js: Added everything needed for
the findSlot action. Fixes for allday events.
the findSlot action. Fixes for allday events. Fixed scrolling issues
* UI/Scheduler/UIxCalListingActions.h (findPossibleSlotAction): Added header.
2009-06-03 Wolfgang Sourdeau <wsourdeau@inverse.ca>
@@ -50,7 +50,7 @@
<div><table id="freeBusyHeader" cellspacing="0" cellpadding="0">
<tr class="freeBusyHeader1"><!--space --></tr>
<tr class="freeBusyHeader2"><!--space --></tr>
<tr class="freeBusyHeader3"><!--space --></tr>
<tr id="currentEventPosition" class="freeBusyHeader3"><!--space --></tr>
</table></div>
</td>
</tr>
+25 -1
View File
@@ -6,6 +6,9 @@ var awaitingFreeBusyRequests = new Array();
var additionalDays = 2;
var isAllDay = parent$("isAllDay").checked + 0;
dayStartHour = 0;
dayEndHour = 23;
var attendeesEditor = {
delay: 500,
delayedSearch: false,
@@ -296,6 +299,7 @@ function redisplayFreeBusyZone() {
}
deltaSpans--;
}
scrollToEvent ();
}
function newAttendee(event) {
@@ -514,6 +518,21 @@ function cleanInt (data) {
return parseInt (rc);
}
function scrollToEvent () {
var ths = $("currentEventPosition").childNodesWithTag ("th");
for (var i = 0; i < ths.length; i++) {
var spans = ths[i].childNodesWithTag ("span");
for (var j = 0; j < spans.length; j++) {
if (spans[j].hasClassName ("busy")) {
spans[j].scrollIntoView ();
var headerDiv = $$('TABLE#freeBusy TD.freeBusyHeader DIV').first();
var dataDiv = $$('TABLE#freeBusy TD.freeBusyData DIV').first();
dataDiv.scrollLeft = headerDiv.scrollLeft;
}
}
}
}
function updateSlotDisplayCallback (http) {
var data = http.responseText.evalJSON (true);
var start = new Date ();
@@ -674,9 +693,13 @@ function prepareTableHeaders() {
var days = startDate.daysUpTo(endDate);
for (var i = 0; i < days.length; i++) {
var header1 = document.createElement("th");
header1.colSpan = (dayEndHour - dayStartHour) + 1;
header1.colSpan = ((dayEndHour - dayStartHour) + 1)/2;
header1.appendChild(document.createTextNode(days[i].toLocaleDateString()));
rows[0].appendChild(header1);
var header1b = document.createElement("th");
header1b.colSpan = ((dayEndHour - dayStartHour) + 1)/2;
header1b.appendChild(document.createTextNode(days[i].toLocaleDateString()));
rows[0].appendChild(header1b);
for (var hour = dayStartHour; hour < (dayEndHour + 1); hour++) {
var header2 = document.createElement("th");
var text = hour + ":00";
@@ -814,6 +837,7 @@ function onFreeBusyLoadHandler() {
onWindowResize(null);
Event.observe(window, "resize", onWindowResize);
$$('TABLE#freeBusy TD.freeBusyData DIV').first().observe("scroll", onScroll);
scrollToEvent ();
}
document.observe("dom:loaded", onFreeBusyLoadHandler);