diff --git a/UI/Templates/SchedulerUI/UIxFreeBusyUserSelector.wox b/UI/Templates/SchedulerUI/UIxFreeBusyUserSelector.wox
index 24a0ee4f7..ad7589c98 100644
--- a/UI/Templates/SchedulerUI/UIxFreeBusyUserSelector.wox
+++ b/UI/Templates/SchedulerUI/UIxFreeBusyUserSelector.wox
@@ -7,6 +7,9 @@
xmlns:rsrc="OGo:url"
xmlns:label="OGo:label">
+
-
diff --git a/UI/Templates/SchedulerUI/UIxFreeBusyUserSelectorTable.wox b/UI/Templates/SchedulerUI/UIxFreeBusyUserSelectorTable.wox
index b20e946b8..f1e60c01b 100644
--- a/UI/Templates/SchedulerUI/UIxFreeBusyUserSelectorTable.wox
+++ b/UI/Templates/SchedulerUI/UIxFreeBusyUserSelectorTable.wox
@@ -39,9 +39,7 @@
> |
| |
| | | 47) {
- log ("keycode: " + event.keyCode);
running = true;
- requestField = node;
+ requestField = this;
setTimeout("triggerRequest()", delay);
- } else if (node.confirmedValue) {
- log ("keycode: " + event.keyCode);
+ }
+ else if (this.confirmedValue) {
if (event.keyCode == 13) {
- node.value = node.confirmedValue;
- node.setSelectionRange(node.value.length, node.value.length);
+ this.setSelectionRange(this.value.length, this.value.length);
}
}
}
@@ -38,8 +53,7 @@ function triggerRequest() {
requestField);
}
-function updateResults(http)
-{
+function updateResults(http) {
if (http.readyState == 4) {
if (http.status == 200) {
var searchField = http.callbackData;
@@ -57,8 +71,12 @@ function updateResults(http)
searchField.value += ' >> ' + text[1];
}
searchField.confirmedValue = text[1];
- var end = searchField.value.length;
- searchField.setSelectionRange(start, end);
+ if (searchField.focussed) {
+ var end = searchField.value.length;
+ searchField.setSelectionRange(start, end);
+ }
+ else
+ searchField.value = text[1];
}
running = false;
document.contactLookupAjaxRequest = null;
@@ -140,27 +158,36 @@ function redisplayFreeBusyZone()
}
}
-function newAttendee(node)
+function newAttendee(event)
{
var table = $("attendeesView").childNodesWithTag("div")[0].childNodesWithTag("table")[0];
- var tbody = table.childNodesWithTag("tbody")[0];
+ var tbody = table.tBodies[0];
var model = tbody.rows[tbody.rows.length - 1];
var newAttendeeRow = tbody.rows[tbody.rows.length - 2]
var newRow = model.cloneNode(true);
+ var input = newRow.cells[0].childNodesWithTag("input")[0];
+ input.setAttribute("autocomplete", "off");
newRow.setAttribute("class", "");
tbody.insertBefore(newRow, newAttendeeRow);
- newRow.childNodesWithTag("td")[0].childNodesWithTag("input")[0].focus();
+ input.serial = "pouet";
+ input.addEventListener("blur", checkAttendee, false);
+ input.addEventListener("keydown", onContactKeydown, false);
+ input.focus();
+ input.focussed = true;
}
-function checkAttendee(node)
+function checkAttendee()
{
- var th = node.parentNode.parentNode;
+ this.focussed = false;
+ var th = this.parentNode.parentNode;
var tbody = th.parentNode;
- if (node.value.trim().length == 0)
+ if (this.value.trim().length == 0)
tbody.removeChild(th);
- else if (!node.hasfreebusy) {
- displayFreeBusyForNode(node);
- node.hasfreebusy = true;
+ else if (!this.hasfreebusy) {
+ if (this.confirmedValue)
+ this.value = this.confirmedValue;
+ displayFreeBusyForNode(this);
+ this.hasfreebusy = true;
}
resetAttendeesValue();
}
@@ -246,16 +273,22 @@ function resetAttendeesValue()
currentInput.setAttribute("uid", null);
}
uids.push(currentInput.uid);
+ currentInput.setAttribute("autocomplete", "off");
+ currentInput.addEventListener("keydown", onContactKeydown, false);
+ currentInput.addEventListener("blur", checkAttendee, false);
}
var input = $(freeBusySelectorId);
input.value = uids.join(",");
+ inputs[inputs.length - 2].setAttribute("autocomplete", "off");
+ inputs[inputs.length - 2].addEventListener("click", newAttendee, false);
}
-function initializeFreeBusyUserSelector(selectorId)
+function initializeFreeBusyUserSelector()
{
- freeBusySelectorId = selectorId;
resetAttendeesValue();
resetAllFreeBusys();
+ disableAnchor($('FBStartTimeReplica_date').parentNode.childNodesWithTag('a')[0]);
+ disableAnchor($('FBEndTimeReplica_date').parentNode.childNodesWithTag('a')[0]);
}
function resetAllFreeBusys()
@@ -332,3 +365,9 @@ function onTimeWidgetChange()
{
setTimeout("redisplayFreeBusyZone();", 1000);
}
+
+function onFreeBusyLoadHandler() {
+ initializeFreeBusyUserSelector();
+}
+
+window.addEventListener("load", onFreeBusyLoadHandler, false);