From 915bdaf2b9a31ac163e5d2b5673e4bb2ad734e4c Mon Sep 17 00:00:00 2001 From: Jan Schneider Date: Tue, 7 Apr 2009 15:14:28 +0200 Subject: [PATCH] Render all-day events like month events. --- kronolith/js/src/kronolith.js | 28 +++++++++++++++------------- kronolith/templates/index/day.inc | 2 +- kronolith/templates/index/week.inc | 2 +- kronolith/themes/screen.css | 24 ++++++++++++------------ 4 files changed, 29 insertions(+), 27 deletions(-) diff --git a/kronolith/js/src/kronolith.js b/kronolith/js/src/kronolith.js index 4e555423b..b64331be1 100644 --- a/kronolith/js/src/kronolith.js +++ b/kronolith/js/src/kronolith.js @@ -359,11 +359,14 @@ KronolithCore = { this.dayGroups = []; this.allDayEvents = []; var div = $('kronolithEventsWeek').down('div'), + td = $('kronolithViewWeekBody').down('td').next('td'), dates = this.viewDates(date, view), day = dates[0].clone(); for (var i = 0; i < 7; i++) { div.writeAttribute('id', 'kronolithEventsWeek' + day.dateString()); + td.writeAttribute('id', 'kronolithAllDay' + day.dateString()); div = div.next('div'); + td = td.next('td'); day.next().day(); } break; @@ -714,6 +717,9 @@ KronolithCore = { $('kronolithEventsWeek' + date) .select('.kronolithEvent') .invoke('remove'); + $('kronolithAllDay' + date) + .select('.kronolithEvent') + .invoke('remove'); } } this._getCacheForDate(date).sortBy(this._sortEvents).each(function(event) { @@ -761,6 +767,15 @@ KronolithCore = { end = Date.parse(event.value.e), innerDiv = new Element('DIV', { 'class': 'kronolithEventInfo' }); + if (event.value.al) { + if (view == 'day') { + $('kronolithViewDayBody').down('td').next('td').insert(div); + } else { + $('kronolithAllDay' + date).insert(div); + } + break; + } + div.setStyle({ 'top': event.value.al ? 0 @@ -775,19 +790,6 @@ KronolithCore = { .insert(new Element('DIV', { 'class': 'kronolithDragger kronolithDraggerBottom' })); $(view == 'day' ? 'kronolithEventsDay' : 'kronolithEventsWeek' + date).insert(div); - if (event.value.al) { - this.allDayEvents.push(event.value); - var width = 100 / this.allDayEvents.length; - for (var i = 0; i < this.allDayEvents.length; i++) { - $(this.allDayEvents[i].nodeId).setStyle({ - 'width': width + '%', - 'left': i * width + '%' - }); - } - div = innerDiv; - break; - } - var column = 1, columns, width = 100, conflict = false, pos = this.dayGroups.length, placeFound = false; diff --git a/kronolith/templates/index/day.inc b/kronolith/templates/index/day.inc index 1a5716bfb..42807938f 100644 --- a/kronolith/templates/index/day.inc +++ b/kronolith/templates/index/day.inc @@ -5,7 +5,7 @@   - + diff --git a/kronolith/templates/index/week.inc b/kronolith/templates/index/week.inc index dafb511de..0526dbf1f 100644 --- a/kronolith/templates/index/week.inc +++ b/kronolith/templates/index/week.inc @@ -15,7 +15,7 @@ - + diff --git a/kronolith/themes/screen.css b/kronolith/themes/screen.css index bdfbd3760..e1b8893e5 100644 --- a/kronolith/themes/screen.css +++ b/kronolith/themes/screen.css @@ -1157,29 +1157,29 @@ table.kronolithView td.kronolithToday { overflow: hidden; position: absolute; } -#kronolithViewMonth .kronolithEvent { - position: relative; - width: auto; - height: 15px; - line-height: 15px; - margin: 0 2px 2px 0; - padding: 2px 5px; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; -} div.kronolithView div.kronolithViewBody div.kronolithRow div .kronolithEvent.kronolithSelected { height: auto; } div.kronolithView div.kronolithViewBody div.kronolithRow div .kronolithEvent.kronolithEventFull { color: white !important; } -#kronolithViewDay .kronolithEvent { +#kronolithViewDay .kronolithEvent, #kronolithViewWeek .kronolithEvent { position: absolute; opacity: .8; filter: alpha(opacity=80); -moz-border-radius: 5px; -webkit-border-radius: 5px; } +#kronolithViewMonth .kronolithEvent, #kronolithViewDay .kronolithAllDay .kronolithEvent, #kronolithViewWeek .kronolithAllDay .kronolithEvent { + position: relative; + width: auto; + height: 15px; + line-height: 15px; + margin: 0 2px 2px 0; + padding: 2px 5px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; +} div.kronolithViewWeek .kronolithEvents .kronolithEvent { width: 11%; } @@ -1210,7 +1210,7 @@ div.kronolithViewWeek .kronolithEvents .kronolithEvent { margin: 10px 0; padding: 5px; } -#kronolithViewMonth .kronolithEvent.kronolithSelected { +#kronolithViewMonth .kronolithEvent.kronolithSelected, #kronolithViewDay .kronolithAllDay .kronolithEvent.kronolithSelected, #kronolithViewWeek .kronolithAllDay .kronolithEvent.kronolithSelected { height: auto; } -- 2.11.0