Massimo, I tried sending this patch directly to you, but I'm not sure if you received it. In any case, I re-exported the patch this morning so it runs against trunk.
Let me know if I've missed something or if you've decided to hold this out of the framework. I won't be offended either way. Thanks, Mike On Fri, Oct 22, 2010 at 4:38 PM, mdipierro <mdipie...@cs.depaul.edu> wrote: > Can you please email me the patch? thanks. > > On Oct 22, 3:08 pm, Michael Wolfe <michael.joseph.wo...@gmail.com> > wrote: >> Following the sage advice of Jakob Nielsen, I wanted a way to turn off >> links that point to the current page within the menu (see #10 >> here:http://www.useit.com/alertbox/20031110.html). At the bottom of this >> e-mail, I'm including a proposed patch that would make this easier. >> >> I've added two optional parameters to the MENU helper: no_link_url and >> active_url. >> >> To illustrate how this works, I'll give three examples of what you >> would see for the Index link in the welcome scaffolding app by >> altering the MENU line from layout.html. >> >> 1. Current behavior >> {{=MENU(response.menu,_class='sf-menu')}} >> <li><a href="/welcome/default/index">Index</a></li> >> >> 2. Removing the link for the current page >> {{=MENU(response.menu,_class='sf-menu',no_link_url=request.url)}} >> <li><div>Index</div></li> >> >> 3. Adding the class 'active' to the list item of the link to the current page >> {{=MENU(response.menu,_class='sf-menu',active_url=request.url, >> li_active='active')}} >> <li class="active"><a href="/welcome/default/index">Index</a></li> >> >> And here's the patch. Please let me know if I've missed something. >> >> diff -r 6608e0e6b4f3 -r badb5215df3f applications/welcome/static/base.css >> --- a/applications/welcome/static/base.css Fri Oct 15 07:17:35 2010 >> -0500 >> +++ b/applications/welcome/static/base.css Fri Oct 22 15:11:06 2010 >> -0400 >> @@ -216,9 +216,12 @@ >> .sf-menu { >> float: left; >> } >> -.sf-menu a { >> +.sf-menu a, .sf-menu div { >> padding: 5px 15px; >> } >> +.sf-menu div { >> + color: white; >> +} >> .sf-menu li { >> background: #333333; >> } >> diff -r 6608e0e6b4f3 -r badb5215df3f gluon/html.py >> --- a/gluon/html.py Fri Oct 15 07:17:35 2010 -0500 >> +++ b/gluon/html.py Fri Oct 22 15:11:06 2010 -0400 >> @@ -1699,14 +1699,16 @@ >> ul = UL(_class=self['ul_class']) >> for item in data: >> (name, active, link) = item[:3] >> - if link: >> + if 'no_link_url' in self.attributes and >> self['no_link_url']==link: >> + li = LI(DIV(name)) >> + elif link: >> li = LI(A(name, _href=link)) >> else: >> li = LI(A(name, _href='#null')) >> if len(item) > 3 and item[3]: >> li['_class'] = self['li_class'] >> li.append(self.serialize(item[3], level+1)) >> - if active: >> + if active or 'active_url' in self.attributes and >> self['active_url']==link: >> if li['_class']: >> li['_class'] = li['_class']+' '+self['li_active'] >> else:
web2py_rev1091.patch
Description: Binary data