[Jifty-commit] r3224 - jifty/trunk/lib/Jifty/Web

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Fri May 11 08:41:43 EDT 2007


Author: yves
Date: Fri May 11 08:41:42 2007
New Revision: 3224

Modified:
   jifty/trunk/lib/Jifty/Web/Menu.pm

Log:
add a render_as_classical_menu to have the same menu with T::D view than older mason _elements/nav.


Modified: jifty/trunk/lib/Jifty/Web/Menu.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Web/Menu.pm	(original)
+++ jifty/trunk/lib/Jifty/Web/Menu.pm	Fri May 11 08:41:42 2007
@@ -197,10 +197,8 @@
 
 Render this menu with html markup as an inline dropdown menu.
 
-
 =cut
 
-
 sub render_as_context_menu {
 	my $self = shift;
     	Jifty->web->out( qq{<ul class="context_menu">});
@@ -253,6 +251,50 @@
 
 }
 
+=head2 render_as_classical_menu
+
+Render this menu with html markup as old classical mason menu. 
+Currently renders one level of submenu, if it exists.
+
+=cut
+
+sub  render_as_classical_menu {
+	my $self = shift;
+    my @kids = $self->children;
+
+    Jifty->web->out( qq{<ul class="menu">});
+
+    for (@kids) {
+	    $_->_render_as_classical_menu_item();
+    }
+
+    Jifty->web->out(qq{</ul>});
+    '';
+}
+
+sub _render_as_classical_menu_item {
+    my $self = shift;
+    my %args = (
+        class => '',
+        @_
+    );
+    my @kids = $self->children;
+    Jifty->web->out( qq{<li} . ($self->active ? qq{ class="active"} : '' ) . qq{>} );
+    Jifty->web->out( $self->as_link );
+    if (@kids) {
+      Jifty->web->out( qq{<ul class="submenu">} );
+      for (@kids) {
+         Jifty->web->out( qq{<li} . ($_->active ? qq{ class="active"} : '' ) . qq{>} );
+         Jifty->web->out( $_->as_link );
+         Jifty->web->out("</li>");
+      }
+      Jifty->web->out(qq{</ul>});
+    }
+    Jifty->web->out(qq{</li>});
+    '';
+
+}
+
 =head2 render_as_yui_menubar
 
 Render menubar with YUI menu, suitable for an application's menu.


More information about the Jifty-commit mailing list