# HG changeset patch # User Paul Boddie # Date 1371479862 -7200 # Node ID e3258d89f8adabaccaf349025909c42246e07827 # Parent 7ac25d2de0ac9d86babe544a7f71336b2c022952 Added target-based opening and closing of pop-up menus. diff -r 7ac25d2de0ac -r e3258d89f8ad EventAggregatorSupport/View.py --- a/EventAggregatorSupport/View.py Mon Jun 17 16:25:48 2013 +0200 +++ b/EventAggregatorSupport/View.py Mon Jun 17 16:37:42 2013 +0200 @@ -450,10 +450,14 @@ # Download controls. - append(fmt.div(on=1, css_class="event-download-controls")) - - append(fmt.span(on=1, css_class="event-download")) - append(linkToPage(request, page, _("Download..."), download_dialogue_link, title=_("Edit download options..."))) + controls_target = "%s-controls" % self.getIdentifier() + + append(fmt.div(on=1, css_class="event-download-controls", id=controls_target)) + + download_target = "%s-download" % self.getIdentifier() + + append(fmt.span(on=1, css_class="event-download", id=download_target)) + append(linkToPage(request, page, _("Download..."), "#%s" % download_target)) append(fmt.div(on=1, css_class="event-download-popup")) append(fmt.div(on=1, css_class="event-download-item")) @@ -499,13 +503,21 @@ append(fmt.span(on=0)) # end label append(fmt.div(on=0)) + append(fmt.div(on=1, css_class="event-download-item")) + append(fmt.span(on=1, css_class="event-download-link")) + append(linkToPage(request, page, _("Cancel"), "#%s" % controls_target)) + append(fmt.span(on=0)) # end label + append(fmt.div(on=0)) + append(fmt.div(on=0)) # end of pop-up append(fmt.span(on=0)) # end of download # Subscription controls. - append(fmt.span(on=1, css_class="event-download")) - append(linkToPage(request, page, _("Subscribe..."), subscribe_dialogue_link, title=_("Edit subscription options..."))) + subscribe_target = "%s-subscribe" % self.getIdentifier() + + append(fmt.span(on=1, css_class="event-download", id=subscribe_target)) + append(linkToPage(request, page, _("Subscribe..."), "#%s" % subscribe_target)) append(fmt.div(on=1, css_class="event-download-popup")) append(fmt.div(on=1, css_class="event-download-item")) @@ -535,6 +547,12 @@ append(fmt.span(on=0)) # end label append(fmt.div(on=0)) + append(fmt.div(on=1, css_class="event-download-item")) + append(fmt.span(on=1, css_class="event-download-link")) + append(linkToPage(request, page, _("Cancel"), "#%s" % controls_target)) + append(fmt.span(on=0)) # end label + append(fmt.div(on=0)) + append(fmt.div(on=0)) # end of pop-up append(fmt.span(on=0)) # end of download diff -r 7ac25d2de0ac -r e3258d89f8ad css/event-aggregator.css --- a/css/event-aggregator.css Mon Jun 17 16:25:48 2013 +0200 +++ b/css/event-aggregator.css Mon Jun 17 16:37:42 2013 +0200 @@ -45,6 +45,7 @@ } .event-download:hover .event-download-popup, +.event-download:target .event-download-popup, .event-day-box:hover .event-day-number-popup { display: block; position: absolute; @@ -55,7 +56,8 @@ border: 1px solid #000; } -.event-download:hover .event-download-popup { +.event-download:hover .event-download-popup, +.event-download:target .event-download-popup { top: 1em; /* negligible top padding + 1em, leaving 0.5em bottom padding */ padding: 0.5em 0.5em 0 0.5em; } @@ -82,11 +84,13 @@ } .event-download-webcal a:hover, +.event-download-webcal a:focus, .event-download-webcal a:active { background-color: #00d; } .event-download-http a:hover, +.event-download-http a:focus, .event-download-http a:active { background-color: #d00; } @@ -94,11 +98,13 @@ .event-download-webcal a, .event-download-webcal a:link, .event-download-webcal a:hover, +.event-download-webcal a:focus, .event-download-webcal a:active, .event-download-webcal a:visited, .event-download-http a, .event-download-http a:link, .event-download-http a:hover, +.event-download-http a:focus, .event-download-http a:active, .event-download-http a:visited { font-size: inherit;