Monotone-Parent: 22e7cd6745e9c7cd53cd2bbab974bfb912eb3392

Monotone-Revision: 04e5b8c814e36adf53d0073a4581e05a6bd441cb

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2006-11-15T21:54:47
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2006-11-15 21:54:47 +00:00
parent 279d5c56f5
commit 5534288bab
3 changed files with 44 additions and 36 deletions
+3
View File
@@ -1,5 +1,8 @@
2006-11-15 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* UI/WebServerResources/SchedulerUI.js: make sure the day view
synchronization mechanism works everywhere.
* UI/WebServerResources/generic.js: the log window is not only
visible when UIxDebugEnabled is set.
+3 -3
View File
@@ -60,7 +60,7 @@
<td class="hourOfDay">
<var:entity name="nbsp" />
</td>
<td class="contentOfDay" width="90%">
<td class="day" width="90%">
<var:foreach list="allDayApts" item="appointment">
<var:component className="UIxCalInlineAptView"
appointment="appointment"
@@ -82,7 +82,7 @@
<var:foreach list="currentRangeOf7Days" item="currentTableDay"
><td var:class="dayCellClasses"
var:day="currentTableDay.shortDateString"
><span class="dayCellLabel"
><div class="dayContent"><span class="dayCellLabel"
><var:string value="labelForCurrentDayCell" /></span
><br /><var:foreach
list="aptsForCurrentDate"
@@ -97,7 +97,7 @@
referenceDate="currentTableDay"
canAccess="canAccessApt"
/>
</var:foreach></td>
</var:foreach></div></td>
</var:foreach>
</tr>
</var:foreach>
+38 -33
View File
@@ -9,7 +9,7 @@ var listOfSelection = null;
var hideCompletedTasks = 0;
var currentDay = '';
var currentView = 'dayview';
var currentView = "dayview";
var cachedDateSelectors = new Array();
@@ -192,6 +192,8 @@ function displayAppointment(event) {
function onDaySelect(node)
{
var day = node.getAttribute("day");
var needRefresh = (listFilter == 'view_selectedday'
&& day != currentDay);
var td = node.getParentWithTagName("td");
var table = td.getParentWithTagName("table");
@@ -205,7 +207,7 @@ function onDaySelect(node)
document.selectedDate = td;
changeCalendarDisplay( { "day": day } );
if (listFilter == 'view_selectedday')
if (needRefresh)
refreshAppointments();
return false;
@@ -430,6 +432,7 @@ function onMonthOverview()
function scrollDayView(hour)
{
log("stest1");
var rowNumber;
if (hour) {
if (hour.length == 3)
@@ -447,6 +450,8 @@ function scrollDayView(hour)
var hours = daysView.childNodesWithTag("div")[0].childNodesWithTag("div");
if (hours.length > 0)
daysView.parentNode.scrollTop = hours[rowNumber + 1].offsetTop;
log("stest2");
}
function onClickableCellsDblClick(event) {
@@ -472,42 +477,37 @@ function calendarDisplayCallback(http)
var hour = null;
if (http.callbackData["hour"])
hour = http.callbackData["hour"];
if (currentView != 'monthview')
scrollDayView(hour);
var daysView = $("daysView");
if (daysView) {
var appointments = document.getElementsByClassName("appointment", daysView);
for (var i = 0; i < appointments.length; i++) {
appointments[i].addEventListener("mousedown", listRowMouseDownHandler, true);
appointments[i].addEventListener("click", onCalendarSelectAppointment, true);
appointments[i].addEventListener("dblclick", displayAppointment, true);
}
var days = document.getElementsByClassName("day", daysView);
for (var i = 0; i < days.length; i++) {
days[i].addEventListener("click", onCalendarSelectDay, true);
var clickableCells = document.getElementsByClassName("clickableHourCell",
days[i]);
for (var j = 0; j < clickableCells.length; j++) {
clickableCells[j].addEventListener("dblclick",
onClickableCellsDblClick, false);
}
}
}
var contentView;
log ("currentView: " + currentView);
if (currentView == "monthview")
contentView = $("calendarContent");
else {
var content = $("calendarContent");
var appointments = document.getElementsByClassName("appointment", content);
for (var i = 0; i < appointments.length; i++) {
appointments[i].addEventListener("mousedown", listRowMouseDownHandler, true);
appointments[i].addEventListener("click", onCalendarSelectAppointment, true);
appointments[i].addEventListener("dblclick", displayAppointment, true);
}
var days = document.getElementsByClassName("contentOfDay", content);
log("days: " + days.length);
scrollDayView(hour);
log("cbtest1");
contentView = $("daysView");
}
var appointments = document.getElementsByClassName("appointment", contentView);
for (var i = 0; i < appointments.length; i++) {
appointments[i].addEventListener("mousedown", listRowMouseDownHandler, true);
appointments[i].addEventListener("click", onCalendarSelectAppointment, true);
appointments[i].addEventListener("dblclick", displayAppointment, true);
}
var days = document.getElementsByClassName("day", contentView);
if (currentView == "monthview")
for (var i = 0; i < days.length; i++) {
days[i].addEventListener("click", onCalendarSelectDay, true);
days[i].addEventListener("dblclick", onClickableCellsDblClick, false);
}
}
else
for (var i = 0; i < days.length; i++) {
days[i].addEventListener("click", onCalendarSelectDay, true);
var clickableCells = document.getElementsByClassName("clickableHourCell",
days[i]);
for (var j = 0; j < clickableCells.length; j++)
clickableCells[j].addEventListener("dblclick",
onClickableCellsDblClick, false);
}
log("cbtest1");
}
else
log ("ajax fuckage");
@@ -758,6 +758,8 @@ function onCalendarSelectAppointment(event) {
function onCalendarSelectDay(event)
{
var day = this.getAttribute("day");
var needRefresh = (listFilter == 'view_selectedday'
&& day != currentDay);
if (currentView == 'weekview')
changeWeekCalendarDisplayOfSelectedDay(this);
@@ -765,6 +767,9 @@ function onCalendarSelectDay(event)
changeMonthCalendarDisplayOfSelectedDay(this);
changeDateSelectorDisplay(day);
if (needRefresh)
refreshAppointments();
event.cancelBubble = true;
event.returnValue = false;
}