[Jifty-commit] r622 - in jifty/trunk: . lib/Jifty share/web/templates/_elements

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Thu Feb 23 22:53:25 EST 2006


Author: trs
Date: Thu Feb 23 22:53:24 2006
New Revision: 622

Added:
   jifty/trunk/share/web/templates/_elements/menu
   jifty/trunk/share/web/templates/_elements/page_nav
Modified:
   jifty/trunk/   (props changed)
   jifty/trunk/lib/Jifty/Web.pm
   jifty/trunk/share/web/static/css/base.css
   jifty/trunk/share/web/static/css/nav.css
   jifty/trunk/share/web/templates/_elements/sidebar

Log:
 r8755 at wintermute:  tom | 2006-02-23 22:51:42 -0500
 Added page-level navigation support and refactored the menuing a little


Modified: jifty/trunk/lib/Jifty/Web.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Web.pm	(original)
+++ jifty/trunk/lib/Jifty/Web.pm	Thu Feb 23 22:53:24 2006
@@ -946,6 +946,22 @@
     return $self->{navigation};
 }
 
+=head3 page_navigation
+
+Returns the L<Jifty::Web::Menu> for this web request; one is
+automatically created if it hasn't been already.  This is useful
+for separating page-level navigation from app-level navigation.
+
+=cut
+
+sub page_navigation {
+    my $self = shift;
+    if (!$self->{page_navigation}) {
+        $self->{page_navigation} = Jifty::Web::Menu->new();
+    }
+    return $self->{page_navigation};
+}
+
 =head2 STATE VARIABLES
 
 =head3 get_variable NAME

Modified: jifty/trunk/share/web/static/css/base.css
==============================================================================
--- jifty/trunk/share/web/static/css/base.css	(original)
+++ jifty/trunk/share/web/static/css/base.css	Thu Feb 23 22:53:24 2006
@@ -4,21 +4,6 @@
 body.calpopup {
 }
 
-ul.menu {
-    font-size: 1.3em;
-    line-height: 1.5em;
-    list-style: none;
-    padding-left: 0;
-    margin-left: 0.5em;
-}
-
-ul.menu ul.submenu {
-    font-size: 0.95em;
-    line-height: 1.1em;
-    margin-top: 0.1em;
-    margin-bottom: 0.2em;
-}
-
 .error {
     color: #a00000;
 }

Modified: jifty/trunk/share/web/static/css/nav.css
==============================================================================
--- jifty/trunk/share/web/static/css/nav.css	(original)
+++ jifty/trunk/share/web/static/css/nav.css	Thu Feb 23 22:53:24 2006
@@ -13,19 +13,19 @@
         line-height:11px;
         color:#000;
 }
-ul#menu {
+ul.menu {
         margin:0;
         padding:6px 0 5px 0;
         background-color:#202F66;
         list-style-type:none;
         border-bottom:2px solid #000;
 }
-ul#menu li {
+ul.menu li {
         display:inline;
         margin:0;
         padding:0;
 }
-ul#submenu {
+ul.submenu {
         margin:0;
         padding:5px 0;
         background-color:#24568E;
@@ -34,12 +34,12 @@
         top: 22px;
         left:0;
 }
-ul#submenu li {
+ul.submenu li {
         display:inline;
         margin:0;
         padding:0;
 }
-ul#submenu li+li {
+ul.submenu li+li {
         border-left:1px solid #ccc;
 }
 div#navigation a:link,
@@ -50,31 +50,31 @@
         padding:5px;
         background-color:#202F66;
 }
-div#navigation ul#menu a:link,
-div#navigation ul#menu a:visited,
-div#navigation ul#menu a:hover {
+div#navigation ul.menu a:link,
+div#navigation ul.menu a:visited,
+div#navigation ul.menu a:hover {
         font-weight:bold;
         border:1px solid #000;
         text-transform:uppercase;
 }
-div#navigation ul#menu a:hover {
+div#navigation ul.menu a:hover {
         background-color:#24568E;
 }
-div#navigation ul#menu li.active a:link,
-div#navigation ul#menu li.active a:visited,
-div#navigation ul#menu li.active a:hover {
+div#navigation ul.menu li.active a:link,
+div#navigation ul.menu li.active a:visited,
+div#navigation ul.menu li.active a:hover {
         background-color:#24568E;
         font-weight: bold;
         border-bottom-color:#24568E;
 }
-div#navigation ul#submenu a:link,
-div#navigation ul#submenu a:visited,
-div#navigation ul#submenu a:hover {
+div#navigation ul.submenu a:link,
+div#navigation ul.submenu a:visited,
+div#navigation ul.submenu a:hover {
         font-weight:normal;
         padding:0 5px;
         background-color:#24568E;
         border:0;
 }
-div#navigation ul#submenu a:hover {
+div#navigation ul.submenu a:hover {
         text-decoration:underline;
 }

Added: jifty/trunk/share/web/templates/_elements/menu
==============================================================================
--- (empty file)
+++ jifty/trunk/share/web/templates/_elements/menu	Thu Feb 23 22:53:24 2006
@@ -0,0 +1,32 @@
+<%args>
+$menu => undef
+</%args>
+<%init>
+# Default to the app menu
+$menu = Jifty->web->navigation if not defined $menu;
+</%init>
+<ul class="menu">
+<%perl>
+$m->comp( ".menu", item => $_ )
+    for sort { $a->sort_order <=> $b->sort_order }
+             $menu->children;
+</%perl>
+</ul>
+
+<%def .menu>
+  <%args>
+    $item
+  </%args>
+  <li <%  $item->active ? 'class="active"' : '' |n %>><% 
+    Jifty->web->link(
+        url   => $item->url,
+        label => $item->label,
+    ) %>
+% if (my @kids = $item->children) {
+    <ul class="submenu">
+% $m->comp(".menu", item => $_) for @kids;
+    </ul>
+% }
+  </li>
+</%def>
+

Added: jifty/trunk/share/web/templates/_elements/page_nav
==============================================================================
--- (empty file)
+++ jifty/trunk/share/web/templates/_elements/page_nav	Thu Feb 23 22:53:24 2006
@@ -0,0 +1,3 @@
+<div class="page_nav">
+<& /_elements/menu, menu => Jifty->web->page_navigation &>
+</div>

Modified: jifty/trunk/share/web/templates/_elements/sidebar
==============================================================================
--- jifty/trunk/share/web/templates/_elements/sidebar	(original)
+++ jifty/trunk/share/web/templates/_elements/sidebar	Thu Feb 23 22:53:24 2006
@@ -6,29 +6,5 @@
 % }
 </div>
 <div id="navigation">
-<ul id="menu">
-<%perl>
-
-
-$m->comp( ".menu", item => $_ )
-    for ( sort { $a->sort_order <=> $b->sort_order }
-    Jifty->web->navigation->children );
-</%perl>
-</ul>
+<& /_elements/menu, menu => Jifty->web->navigation &>
 </div>
-<%def .menu>
-<%args>
-$item
-</%args>
-  <li <%  $item->active ? 'class="active"' : '' |n %>><% 
-    Jifty->web->link(
-        url   => $item->url,
-        label => $item->label,
-    ) %>
-% if (my @kids = $item->children) {
-<ul id="submenu">
-% $m->comp(".menu", item => $_) for @kids;
-</ul>
-% }
-</li>
-</%def>


More information about the Jifty-commit mailing list