X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=rt%2Fshare%2Fhtml%2FElements%2FMenu;h=b56bacda81371d17a6b2c85f583d3537c94fb150;hb=c24d6e2242ae0e026684b8f95decf156aba6e75e;hp=c87981a3b9862d436f4ef9b45c7d2e59afe4e8bc;hpb=fc6209f398899f0211cfcedeb81a3cd65e04a941;p=freeside.git diff --git a/rt/share/html/Elements/Menu b/rt/share/html/Elements/Menu index c87981a3b..b56bacda8 100755 --- a/rt/share/html/Elements/Menu +++ b/rt/share/html/Elements/Menu @@ -2,7 +2,7 @@ %# %# COPYRIGHT: %# -%# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC +%# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC %# %# %# (Except where explicitly superseded by other copyright notices) @@ -45,95 +45,40 @@ %# those contributions and any derivatives thereof. %# %# END BPS TAGGED BLOCK }}} -<% $menu_class ? qq[ class="$menu_class"] : ''|n %>> ->
-<%perl> - my $sep = 0; - my $postsep = 0; - my $accesskey = 1; - - $count = 0; - $class = {}; - -my @tabs = sort keys %$toptabs; - foreach $tab (@tabs) { - $count++; - - my $current = $current_toptab || ''; - my $path = $toptabs->{$tab}->{'path'} || ""; - - $path =~ s#/index.html$##gi; - $current =~ s#/index.html$##gi; - - $sep = $toptabs->{$tab}->{'separator'} ? 1 : 0; - - my @aclass; - push @aclass, 'selected' - if $path eq $current; - - push @aclass, 'odd' - if $level % 2; - - $class->{a} = join ' ', @aclass; - - my @li; - push @li, 'first' - if $count == 1; - - push @li, 'pre-separator' - if $sep; - - push @li, 'post-separator' - if $postsep; - - push @li, 'last' if ( $tab eq $tabs[-1]); - $class->{li} = join ' ', @li; - - my $url = ($toptabs->{$tab}->{'path'}||'') =~ /^(?:https?|mailto):/i - ? $toptabs->{$tab}->{'path'} || '' - : RT->Config->Get('WebPath') . "/" . $toptabs->{$tab}->{'path'}; - - - {'li'} ? qq[ class="$class->{li}"] : ''|n %> > - <% $count > 1 && !$postsep && qq[· ]|n%> - {a} && qq[ class="$class->{a}"] |n %> - <% !$level && " accesskey='".$accesskey++."'" |n %>> - <% $toptabs->{$tab}->{'title'}%> - -%# Second-level items -% if ($toptabs->{$tab}->{'subtabs'} -% and keys %{$toptabs->{$tab}->{'subtabs'}}) -% { - <& /Elements/Menu, level => $level+1, - current_toptab => $toptabs->{$tab}->{'current_subtab'}, - toptabs => $toptabs->{$tab}->{'subtabs'}, - last_level => $toptabs->{$tab}->{last_system_menu_level} &> -% } - -% if ($sep) { -
  • ···
  • -% } -% -% $postsep = $sep; +% return unless ($menu); +<%" " x $depth%><% $toplevel? ' class="toplevel"' : '' |n %>> +% for my $child ($menu->children) { +% my $item_id = lc(($parent_id? $parent_id."-" : "") .$child->key); +% $item_id =~ s/\s/-/g; +% my @classes; +% push @classes, 'has-children' if $child->has_children; +% push @classes, 'active' if $child->active; +<%" " x ($depth+1)%>
  • - - -<%INIT> -my ($tab, $class, $count); - -my @ul; -push @ul, 'last-menu-level' - if $last_level; -push @ul, 'odd' - if $level % 2; -my $menu_class = join ' ', @ul; - +>\ +% if ($child->raw_html) { +<% $child->raw_html |n %> +% } else { +% my $url = (not $child->path or $child->path =~ m{^\w+:/}) ? $child->path : RT->Config->Get('WebPath').$child->path; +path ? ' href="'.$url.'"' : '' |n%><% $child->target ? ' target="'.$child->target.'"' : '' |n %>>\ +<% $child->escape_title ? $m->interp->apply_escapes($child->title, 'h') : $child->title |n %>\ +\ +% } +% if ($child->has_children) { +<& Menu, menu => $child, toplevel => 0, parent_id => ($parent_id? $parent_id."-": '').$child->key, depth=> ($depth+1) &> +<%" " x ($depth+1)%> +% } else { + +% } +% } +<%" " x $depth%>\ <%ARGS> -$toptabs => {} -$current_toptab => '' -$level => 0 -$last_level => 0 +$menu +$id => undef +$toplevel => 1 +$parent_id => '' +$depth => 0