From b2073ed833ab0be78e895a956b3f4b87b8492436 Mon Sep 17 00:00:00 2001 From: C Robert Date: Thu, 4 Jun 2009 20:59:48 +0000 Subject: [PATCH] Monotone-Parent: cc8f3eae095d7b17561debda2b36946509f78018 Monotone-Revision: 6222d0ffffb65bf603b285c281887d1975d95e16 Monotone-Author: crobert@inverse.ca Monotone-Date: 2009-06-04T20:59:48 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 4 ++- .../SchedulerUI/UIxAttendeesEditor.wox | 2 +- UI/WebServerResources/UIxAttendeesEditor.js | 26 ++++++++++++++++++- 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 916f3adc2..346dc7282 100644 --- a/ChangeLog +++ b/ChangeLog @@ -15,8 +15,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 diff --git a/UI/Templates/SchedulerUI/UIxAttendeesEditor.wox b/UI/Templates/SchedulerUI/UIxAttendeesEditor.wox index 983d83e97..a3f2facea 100644 --- a/UI/Templates/SchedulerUI/UIxAttendeesEditor.wox +++ b/UI/Templates/SchedulerUI/UIxAttendeesEditor.wox @@ -50,7 +50,7 @@
- +
diff --git a/UI/WebServerResources/UIxAttendeesEditor.js b/UI/WebServerResources/UIxAttendeesEditor.js index a35b4ad08..8206efef6 100644 --- a/UI/WebServerResources/UIxAttendeesEditor.js +++ b/UI/WebServerResources/UIxAttendeesEditor.js @@ -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);