1.1 --- a/css/event-aggregator.css Sat Jan 29 23:06:00 2011 +0100
1.2 +++ b/css/event-aggregator.css Sun Jan 30 00:01:00 2011 +0100
1.3 @@ -32,7 +32,8 @@
1.4 display: none;
1.5 }
1.6
1.7 -.event-download:hover .event-download-popup {
1.8 +.event-download:hover .event-download-popup,
1.9 +.event-day-box:hover .event-day-number-popup {
1.10 display: block;
1.11 position: absolute;
1.12 top: 1.5em;
1.13 @@ -138,6 +139,10 @@
1.14 border-right: 1px solid #dddddd;
1.15 }
1.16
1.17 +.event-day-box {
1.18 + position: relative; /* see event-day-number-popup */
1.19 +}
1.20 +
1.21 .event-day-empty span.event-day-number {
1.22 color: #000000;
1.23 }
1.24 @@ -157,6 +162,10 @@
1.25 color: inherit !important;
1.26 }
1.27
1.28 +.event-day-number-link {
1.29 + display: block;
1.30 +}
1.31 +
1.32 /* Day content. */
1.33
1.34 .event-day-content {
1.35 @@ -225,7 +234,8 @@
1.36 margin-right: 0.5em;
1.37 }
1.38
1.39 -.event-summary-popup {
1.40 +.event-summary-popup,
1.41 +.event-day-number-popup {
1.42 display: none;
1.43 overflow: show;
1.44 position: absolute;
2.1 --- a/macros/EventAggregator.py Sat Jan 29 23:06:00 2011 +0100
2.2 +++ b/macros/EventAggregator.py Sun Jan 30 00:01:00 2011 +0100
2.3 @@ -386,11 +386,12 @@
2.4
2.5 return "".join(output)
2.6
2.7 - def writeDayNumberLinked(self, date):
2.8 + def writeDayNumberHeading(self, date, busy):
2.9
2.10 """
2.11 Return a link for the given 'date' which will activate the new event
2.12 - action for the given day.
2.13 + action for the given day. If 'busy' is given as a true value, the
2.14 + heading will be marked as busy.
2.15 """
2.16
2.17 page = self.page
2.18 @@ -416,12 +417,41 @@
2.19 day, month, year, self.category_name_parameters, self.template_name, self.parent_name or "",
2.20 navigation_link)
2.21
2.22 - output.append(fmt.div(on=1))
2.23 + # Prepare a link to the day view for this day.
2.24 +
2.25 + day_view_link = self.getNavigationLink(date, date, "day")
2.26 +
2.27 + # Output the heading class.
2.28 +
2.29 + output.append(
2.30 + fmt.table_cell(on=1, attrs={
2.31 + "class" : "event-day-heading event-day-%s" % (busy and "busy" or "empty"),
2.32 + "colspan" : "3"
2.33 + }))
2.34 +
2.35 + # Output the number and pop-up menu.
2.36 +
2.37 + output.append(fmt.div(on=1, css_class="event-day-box"))
2.38 +
2.39 + output.append(fmt.span(on=1, css_class="event-day-number-popup"))
2.40 + output.append(fmt.span(on=1, css_class="event-day-number-link"))
2.41 + output.append(linkToPage(request, page, _("View day"), day_view_link))
2.42 + output.append(fmt.span(on=0))
2.43 + output.append(fmt.span(on=1, css_class="event-day-number-link"))
2.44 + output.append(linkToPage(request, page, _("New event"), new_event_link))
2.45 + output.append(fmt.span(on=0))
2.46 + output.append(fmt.span(on=0))
2.47 +
2.48 output.append(fmt.span(on=1, css_class="event-day-number"))
2.49 - output.append(linkToPage(request, page, unicode(day), new_event_link))
2.50 + output.append(fmt.text(unicode(day)))
2.51 output.append(fmt.span(on=0))
2.52 +
2.53 output.append(fmt.div(on=0))
2.54
2.55 + # End of heading.
2.56 +
2.57 + output.append(fmt.table_cell(on=0))
2.58 +
2.59 return "".join(output)
2.60
2.61 # Common layout methods.
2.62 @@ -532,21 +562,10 @@
2.63 # Output normal days.
2.64
2.65 else:
2.66 - if date in coverage:
2.67 - output.append(fmt.table_cell(on=1,
2.68 - attrs={"class" : "event-day-heading event-day-busy", "colspan" : "3"}))
2.69 - else:
2.70 - output.append(fmt.table_cell(on=1,
2.71 - attrs={"class" : "event-day-heading event-day-empty", "colspan" : "3"}))
2.72 -
2.73 - # Output the day number, making a link to a new event
2.74 + # Output the day heading, making a link to a new event
2.75 # action.
2.76
2.77 - output.append(self.writeDayNumberLinked(date))
2.78 -
2.79 - # End of day.
2.80 -
2.81 - output.append(fmt.table_cell(on=0))
2.82 + output.append(self.writeDayNumberHeading(date, date in coverage))
2.83
2.84 # End of day numbers.
2.85
3.1 --- a/pages/HelpOnEventAggregator Sat Jan 29 23:06:00 2011 +0100
3.2 +++ b/pages/HelpOnEventAggregator Sun Jan 30 00:01:00 2011 +0100
3.3 @@ -9,7 +9,7 @@
3.4
3.5 == Creating Events ==
3.6
3.7 -The easiest way to create an event is to click on a day number in a calendar. If you do not have a calendar set up, take a look at the instructions for [[#PreparingACalendar|preparing]] and [[#ShowingEventCalendars|showing]] calendars first.
3.8 +The easiest way to create an event is to hover over a day number in a calendar and to follow the "New event" link. If you do not have a calendar set up, take a look at the instructions for [[#PreparingACalendar|preparing]] and [[#ShowingEventCalendars|showing]] calendars first.
3.9
3.10 Each event must be created on a new page belonging to the appropriate event category. The following action can be used to create a new event page (using !EventAggregatorNewEvent) without looking at a calendar:
3.11
3.12 @@ -205,7 +205,7 @@
3.13
3.14 === Assigning Templates and Parent Pages ===
3.15
3.16 -New events can be added to a calendar by following the links on each of the day numbers; this opens the form provided by the !EventAggregatorNewEvent action. For all events belonging to a particular calendar, it can be convenient to assign a default template page, so that the information provided by such events is consistent. Thus, it is possible to specify such a template page using the `template` parameter. For example:
3.17 +New events can be added to a calendar by following the "New event" links provided when hovering over each of the day numbers; this opens the form provided by the !EventAggregatorNewEvent action. For all events belonging to a particular calendar, it can be convenient to assign a default template page, so that the information provided by such events is consistent. Thus, it is possible to specify such a template page using the `template` parameter. For example:
3.18
3.19 {{{
3.20 ## Specify a particular template page as the default event page template.
4.1 --- a/pages/HelpOnEventAggregatorNewEvent Sat Jan 29 23:06:00 2011 +0100
4.2 +++ b/pages/HelpOnEventAggregatorNewEvent Sun Jan 30 00:01:00 2011 +0100
4.3 @@ -5,7 +5,7 @@
4.4
4.5 == EventAggregatorNewEvent ==
4.6
4.7 -The !EventAggregatorNewEvent action provides support for creating new events more conveniently than manually editing an event page based on a template. The action can be selected from the actions menu on any page, or it can be invoked by selecting a day number in an !EventAggregator calendar view.
4.8 +The !EventAggregatorNewEvent action provides support for creating new events more conveniently than manually editing an event page based on a template. The action can be selected from the actions menu on any page, or it can be invoked by selecting the "New event" link shown when hovering over a day number in an !EventAggregator calendar view.
4.9
4.10 Upon invoking the action, a form will be displayed requesting values for the following items:
4.11