mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-07-11 03:15:10 +00:00
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:
@@ -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>
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user