mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-04-10 07:48:52 +00:00
Monotone-Parent: 7c72afa296dc94afa8d710aab09110f090d96946
Monotone-Revision: b683287432e5a1e96ebba43f490459bc5186b815 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2007-05-10T19:02:16 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
@@ -97,10 +97,12 @@ function UIDLookupCallback(http) {
|
||||
var searchField = http.callbackData;
|
||||
var start = searchField.value.length;
|
||||
var text = http.responseText.split(":");
|
||||
if (text[0].length > 0)
|
||||
searchField.uid = text[0];
|
||||
if (text[0].length > 0) {
|
||||
searchField.uid = text[0];
|
||||
displayFreeBusyForNode(searchField);
|
||||
}
|
||||
else
|
||||
searchField.uid = null;
|
||||
searchField.uid = null
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -212,33 +214,38 @@ function checkAttendee() {
|
||||
}
|
||||
|
||||
function displayFreeBusyForNode(node) {
|
||||
var nodes = node.parentNode.parentNode.cells;
|
||||
if (node.uid) {
|
||||
for (var i = 1; i < nodes.length; i++) {
|
||||
nodes[i].removeClassName("noFreeBusy");
|
||||
nodes[i].innerHTML = ('<span class="freeBusyZoneElement"></span>'
|
||||
+ '<span class="freeBusyZoneElement"></span>'
|
||||
+ '<span class="freeBusyZoneElement"></span>'
|
||||
+ '<span class="freeBusyZoneElement"></span>');
|
||||
}
|
||||
if (document.contactFreeBusyAjaxRequest) {
|
||||
document.contactFreeBusyAjaxRequest.aborted = true;
|
||||
document.contactFreeBusyAjaxRequest.abort();
|
||||
}
|
||||
var sd = $('startTime_date').valueAsShortDateString();
|
||||
var ed = $('endTime_date').valueAsShortDateString();
|
||||
var urlstr = ( UserFolderURL + "../" + node.uid + "/freebusy.ifb/ajaxRead?"
|
||||
+ "sday=" + sd + "&eday=" + ed + "&additional=" + additionalDays );
|
||||
document.contactFreeBusyAjaxRequest
|
||||
= triggerAjaxRequest(urlstr,
|
||||
updateFreeBusyData,
|
||||
node);
|
||||
} else {
|
||||
for (var i = 1; i < nodes.length; i++) {
|
||||
nodes[i].addClassName("noFreeBusy");
|
||||
nodes[i].innerHTML = '';
|
||||
}
|
||||
}
|
||||
if (document.contactFreeBusyAjaxRequest)
|
||||
awaitingFreeBusyRequests.push(node);
|
||||
else {
|
||||
var nodes = node.parentNode.parentNode.cells;
|
||||
if (node.uid) {
|
||||
for (var i = 1; i < nodes.length; i++) {
|
||||
nodes[i].removeClassName("noFreeBusy");
|
||||
nodes[i].innerHTML = ('<span class="freeBusyZoneElement"></span>'
|
||||
+ '<span class="freeBusyZoneElement"></span>'
|
||||
+ '<span class="freeBusyZoneElement"></span>'
|
||||
+ '<span class="freeBusyZoneElement"></span>');
|
||||
}
|
||||
if (document.contactFreeBusyAjaxRequest) {
|
||||
document.contactFreeBusyAjaxRequest.aborted = true;
|
||||
document.contactFreeBusyAjaxRequest.abort();
|
||||
}
|
||||
var sd = $('startTime_date').valueAsShortDateString();
|
||||
var ed = $('endTime_date').valueAsShortDateString();
|
||||
var urlstr = ( UserFolderURL + "../" + node.uid + "/freebusy.ifb/ajaxRead?"
|
||||
+ "sday=" + sd + "&eday=" + ed + "&additional=" +
|
||||
additionalDays );
|
||||
document.contactFreeBusyAjaxRequest
|
||||
= triggerAjaxRequest(urlstr,
|
||||
updateFreeBusyData,
|
||||
node);
|
||||
} else {
|
||||
for (var i = 1; i < nodes.length; i++) {
|
||||
nodes[i].addClassName("noFreeBusy");
|
||||
nodes[i].innerHTML = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function setSlot(tds, nbr, status) {
|
||||
@@ -280,7 +287,6 @@ function updateFreeBusyData(http) {
|
||||
function resetAttendeesValue() {
|
||||
var table = $("freeBusy");
|
||||
var inputs = table.getElementsByTagName("input");
|
||||
var uids = new Array();
|
||||
for (var i = 0; i < inputs.length - 2; i++) {
|
||||
var currentInput = inputs[i];
|
||||
var uid = currentInput.getAttribute("uid");
|
||||
@@ -288,7 +294,6 @@ function resetAttendeesValue() {
|
||||
currentInput.uid = uid;
|
||||
currentInput.setAttribute("uid", null);
|
||||
}
|
||||
uids.push(currentInput.uid);
|
||||
currentInput.setAttribute("autocomplete", "off");
|
||||
currentInput.addEventListener("keydown", onContactKeydown, false);
|
||||
currentInput.addEventListener("blur", checkAttendee, false);
|
||||
@@ -304,11 +309,8 @@ function resetAllFreeBusys() {
|
||||
for (var i = 0; i < inputs.length - 2; i++) {
|
||||
var currentInput = inputs[i];
|
||||
currentInput.hasfreebusy = false;
|
||||
// log ("input: " + currentInput.uid);
|
||||
awaitingFreeBusyRequests.push(currentInput);
|
||||
displayFreeBusyForNode(inputs[i]);
|
||||
}
|
||||
if (awaitingFreeBusyRequests.length > 0)
|
||||
displayFreeBusyForNode(awaitingFreeBusyRequests.shift());
|
||||
}
|
||||
|
||||
function initializeWindowButtons() {
|
||||
@@ -478,14 +480,10 @@ function prepareTableRows() {
|
||||
|
||||
var rows = $("freeBusy").tBodies[0].rows;
|
||||
var days = startDate.daysUpTo(endDate);
|
||||
for (var i = 0; i < days.length; i++) {
|
||||
for (var rowNbr = 0; rowNbr < rows.length; rowNbr++) {
|
||||
for (var hour = dayStartHour; hour < (dayEndHour + 1); hour++) {
|
||||
var cell = document.createElement("td");
|
||||
rows[rowNbr].appendChild(cell);
|
||||
}
|
||||
}
|
||||
}
|
||||
for (var i = 0; i < days.length; i++)
|
||||
for (var rowNbr = 0; rowNbr < rows.length; rowNbr++)
|
||||
for (var hour = dayStartHour; hour < (dayEndHour + 1); hour++)
|
||||
rows[rowNbr].appendChild(document.createElement("td"));
|
||||
}
|
||||
|
||||
function prepareAttendees() {
|
||||
@@ -494,8 +492,6 @@ function prepareAttendees() {
|
||||
attendeesNames = parent$("attendeesNames").value.split(",");
|
||||
attendeesEmails = parent$("attendeesEmails").value.split(",");
|
||||
|
||||
var baseUrl = UserFolderURL + "Contacts/contactSearch?search=";
|
||||
|
||||
var body = $("freeBusy").tBodies[0];
|
||||
for (var i = 0; i < attendeesNames.length; i++) {
|
||||
var tr = body.insertRow(i);
|
||||
@@ -509,11 +505,9 @@ function prepareAttendees() {
|
||||
input.value = value;
|
||||
input.addClassName("textField");
|
||||
input.setAttribute("modified", "0");
|
||||
triggerAjaxRequest(baseUrl + attendeesEmails[i],
|
||||
UIDLookupCallback, input);
|
||||
input.setAttribute("uid", attendeesNames[i]);
|
||||
tr.appendChild(td)
|
||||
td.appendChild(input)
|
||||
tr.appendChild(td);
|
||||
td.appendChild(input);
|
||||
displayFreeBusyForNode(input);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -522,6 +516,14 @@ function prepareAttendees() {
|
||||
}
|
||||
}
|
||||
|
||||
function initializeFreebusys() {
|
||||
var inputs = $("freeBusy").getElementsByTagName("input");
|
||||
var baseUrl = UserFolderURL + "Contacts/contactSearch?search=";
|
||||
for (var i = 0; i < attendeesEmails.length; i++)
|
||||
triggerAjaxRequest(baseUrl + attendeesEmails[i],
|
||||
UIDLookupCallback, inputs[i]);
|
||||
}
|
||||
|
||||
function onFreeBusyLoadHandler() {
|
||||
initializeWindowButtons();
|
||||
initializeTimeWidgets();
|
||||
@@ -530,7 +532,7 @@ function onFreeBusyLoadHandler() {
|
||||
prepareTableRows();
|
||||
redisplayFreeBusyZone();
|
||||
resetAttendeesValue();
|
||||
resetAllFreeBusys();
|
||||
initializeFreebusys();
|
||||
}
|
||||
|
||||
window.addEventListener("load", onFreeBusyLoadHandler, false);
|
||||
|
||||
@@ -582,7 +582,7 @@ function log(message) {
|
||||
}
|
||||
var logConsole = logWindow.document.getElementById("logConsole");
|
||||
if (logConsole)
|
||||
logConsole.innerHTML += message + '<br />' + "\n";
|
||||
logConsole.innerHTML += message.replace("<", "<") + '<br />' + "\n";
|
||||
}
|
||||
|
||||
function backtrace() {
|
||||
|
||||
Reference in New Issue
Block a user