[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