From 85bb52d2f1655a1125859b3d55281bd5fdf084a6 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Thu, 10 May 2007 19:02:16 +0000 Subject: [PATCH] Monotone-Parent: 7c72afa296dc94afa8d710aab09110f090d96946 Monotone-Revision: b683287432e5a1e96ebba43f490459bc5186b815 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2007-05-10T19:02:16 Monotone-Branch: ca.inverse.sogo --- UI/WebServerResources/UIxAttendeesEditor.js | 106 ++++++++++---------- UI/WebServerResources/generic.js | 2 +- 2 files changed, 55 insertions(+), 53 deletions(-) diff --git a/UI/WebServerResources/UIxAttendeesEditor.js b/UI/WebServerResources/UIxAttendeesEditor.js index 60f415943..2735ebb07 100644 --- a/UI/WebServerResources/UIxAttendeesEditor.js +++ b/UI/WebServerResources/UIxAttendeesEditor.js @@ -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 = ('' - + '' - + '' - + ''); - } - 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 = ('' + + '' + + '' + + ''); + } + 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); diff --git a/UI/WebServerResources/generic.js b/UI/WebServerResources/generic.js index df12e456f..89cce21d5 100644 --- a/UI/WebServerResources/generic.js +++ b/UI/WebServerResources/generic.js @@ -582,7 +582,7 @@ function log(message) { } var logConsole = logWindow.document.getElementById("logConsole"); if (logConsole) - logConsole.innerHTML += message + '
' + "\n"; + logConsole.innerHTML += message.replace("<", "<") + '
' + "\n"; } function backtrace() {