diff --git a/ChangeLog b/ChangeLog index 617c3cf9c..7d59ac899 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2006-10-31 Wolfgang Sourdeau + * UI/WebServerResources/SchedulerUI.js: added code to handle the + display of the selected day (the day pointed by the mouse, or the + current day when changing the view). + * UI/Scheduler/UIxCalDayTable.m ([UIxCalDayTable -dayCellClasses]): new method that returns a string containing the css classes applicable to the current cell, depending on the diff --git a/UI/WebServerResources/SchedulerUI.css b/UI/WebServerResources/SchedulerUI.css index ea062b242..be81eded5 100644 --- a/UI/WebServerResources/SchedulerUI.css +++ b/UI/WebServerResources/SchedulerUI.css @@ -296,6 +296,15 @@ TABLE.weekOverview padding: 1em; border-collapse: collapse; } +TABLE.weekOverview TD.dayOfToday +{ background-color: #deebf7; } + +TABLE.weekOverview TD.weekEndDay +{ background-color: #fffbe7; } + +TABLE.weekOverview TD.selectedDay +{ background-color: #ffe79c; } + TABLE.dayOverview TD, TABLE.weekOverview TD { border: 1px solid #99f; } @@ -310,12 +319,12 @@ TABLE.dayOverview TD.header TABLE.weekOverview TD.header { text-align: center; color: #77a; - width: 15%; + width: 14%; font-weight: bold; background: #eef; } -TABLE.dayOverview TD.nullheader, -TABLE.weekOverview TD.nullheader +TABLE.dayOverview TD.nullHeader, +TABLE.weekOverview TD.nullHeader { border: 0px solid #fff; } TABLE.dayOverview TD.hourOfDay, @@ -457,7 +466,7 @@ DIV#calendarContent color: #222; } -SPAN.appointmentView +DIV.appointmentView { display: block; overflow: hidden; white-space: nowrap; diff --git a/UI/WebServerResources/SchedulerUI.js b/UI/WebServerResources/SchedulerUI.js index 6b2e524b1..5b665934b 100644 --- a/UI/WebServerResources/SchedulerUI.js +++ b/UI/WebServerResources/SchedulerUI.js @@ -673,12 +673,43 @@ function onCalendarSelectDay(event, node) { var day = node.getAttribute("day"); + changeCalendarDisplayOfSelectedDay(node); changeDateSelectorDisplay(day); event.cancelBubble = true; event.returnValue = false; } +function changeCalendarDisplayOfSelectedDay(node) +{ + var tr = node.parentNode; + var tbody = tr.parentNode; + + var oldSelected = -1; + var newSelected = -1; + var rows = tbody.rows; + + var cells = tr.cells; + var i = 0; + while (i < cells.length && newSelected == -1) + if (cells[i] == node) + newSelected = i; + else + i++; + + var i = 0; + while (i < cells.length && oldSelected == -1) + if (cells[i].hasClassName("selectedDay")) + oldSelected = i; + else + i++; + + for (i = 1; i < rows.length; i++) { + rows[i].cells[oldSelected].removeClassName("selectedDay"); + rows[i].cells[newSelected].addClassName("selectedDay"); + } +} + function onHideCompletedTasks(node) { hideCompletedTasks = (node.checked ? 1 : 0);