#9000 closed enhancement (duplicate)
Add "← Previous TicketBack to QueryNext Ticket → " to bottom of ticket
| Reported by: | Owned by: | ||
|---|---|---|---|
| Priority: | low | Milestone: | |
| Component: | ticket system | Version: | |
| Severity: | trivial | Keywords: | |
| Cc: | Branch: | ||
| Release Notes: | |||
| API Changes: | |||
| Internal Changes: | |||
Description (last modified by )
Add "← Previous Ticket | Back to Query | Next Ticket → " links to the bottom of the ticket as well as the top.
Tickets can get VERY long - and rather than scrolling up each time just to get back to the query (or go to the next ticket or select any other option), usability could be improved by just replicating the menu options at the bottom of the screen.
Maybe control its visibility with the trac.ini file so people who dont want it there dont have to see it?
Attachments (0)
Change History (2)
comment:1 by , 16 years ago
| Description: | modified (diff) | 
|---|---|
| Resolution: | → duplicate | 
| Status: | new → closed | 
comment:2 by , 16 years ago
We solved it, quite ugly I guess, with a StreamFilter plugin:
from trac.core import *
from trac.web.api import ITemplateStreamFilter
from genshi.builder import tag
from genshi.filters.transform import Transformer,StreamBuffer
class AddMainNav(Component):
    """
    Adds another mainnav to bottom of page
    """
    implements(ITemplateStreamFilter)
    # ITemplateStreamFilter methods
    def filter_stream(self, req, method, filename, stream, data):
        if filename == 'ticket.html':
            ticket = data.get('ticket')
            if ticket and ticket.exists:
                filter = Transformer('//div[@id="mainnav"]')
                buffer = StreamBuffer()
                return stream | filter.copy(buffer).end().select('//div[@id="footer"]').before(buffer)
        return stream
The actual placement can be adjusted in the return .select'div…



  
In 0.12, you'll have a View link at the bottom of the ticket, to easily go back to the top. That should probably be enough
Anyway, this is a duplicate of #2095.