diff options
Diffstat (limited to 'rt/share/html/Elements/Menu')
-rwxr-xr-x | rt/share/html/Elements/Menu | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/rt/share/html/Elements/Menu b/rt/share/html/Elements/Menu new file mode 100755 index 000000000..83644da11 --- /dev/null +++ b/rt/share/html/Elements/Menu @@ -0,0 +1,139 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC +%# <jesse@bestpractical.com> +%# +%# (Except where explicitly superseded by other copyright notices) +%# +%# +%# LICENSE: +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# You should have received a copy of the GNU General Public License +%# along with this program; if not, write to the Free Software +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +%# +%# +%# CONTRIBUTION SUBMISSION POLICY: +%# +%# (The following paragraph is not intended to limit the rights granted +%# to you to modify and distribute this software under the terms of +%# the GNU General Public License and is only of importance to you if +%# you choose to contribute your changes and enhancements to the +%# community by submitting them to Best Practical Solutions, LLC.) +%# +%# By intentionally submitting any modifications, corrections or +%# derivatives to this work, or any other work intended for use with +%# Request Tracker, to Best Practical Solutions, LLC, you confirm that +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# royalty-free, perpetual, license to use, copy, create derivative +%# works based on those contributions, and sublicense and distribute +%# those contributions and any derivatives thereof. +%# +%# END BPS TAGGED BLOCK }}} +<ul<% !$level ? ' id="system-menu"' : ''|n %><% $menu_class ? qq[ class="$menu_class"] : ''|n %>> +<div<% $menu_class ? qq[ class="$menu_class"] : ''|n %>><div class="wrapper"> +<%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'}; + +</%perl> + <li<% $class->{'li'} ? qq[ class="$class->{li}"] : ''|n %> > + <% $count > 1 && !$postsep && qq[<span class="bullet">· </span>]|n%> + <a href="<% $url %>" + <% $class->{a} && qq[ class="$class->{a}"] |n %> + <% !$level && " accesskey='".$accesskey++."'" |n %>> + <% $toptabs->{$tab}->{'title'}%></a> + +%# 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} &> +% } + </li> +% if ($sep) { + <li class="separator">···</li> +% } +% +% $postsep = $sep; +% } +</div></div> +</ul> + +<%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; +</%INIT> + +<%ARGS> +$toptabs => {} +$current_toptab => '' +$level => 0 +$last_level => 0 +</%ARGS> |