Skip to content

Commit

Permalink
gitweb: nagivation menu for tags, heads and remotes
Browse files Browse the repository at this point in the history
tags, heads and remotes are all views that inspect a (particular class
of) refs, so allow the user to easily switch between them by adding
the appropriate navigation submenu to each view.

Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Giuseppe Bilotta authored and Junio C Hamano committed Nov 17, 2010
1 parent 00fa6fe commit 11e7bec
Showing 1 changed file with 16 additions and 3 deletions.
19 changes: 16 additions & 3 deletions gitweb/gitweb.perl
Original file line number Diff line number Diff line change
Expand Up @@ -3733,6 +3733,19 @@ sub git_print_page_nav {
"</div>\n";
}

# returns a submenu for the nagivation of the refs views (tags, heads,
# remotes) with the current view disabled and the remotes view only
# available if the feature is enabled
sub format_ref_views {
my ($current) = @_;
my @ref_views = qw{tags heads};
push @ref_views, 'remotes' if gitweb_check_feature('remote_heads');
return join " | ", map {
$_ eq $current ? $_ :
$cgi->a({-href => href(action=>$_)}, $_)
} @ref_views
}

sub format_paging_nav {
my ($action, $page, $has_next_link) = @_;
my $paging_nav;
Expand Down Expand Up @@ -5509,7 +5522,7 @@ sub git_blame_data {
sub git_tags {
my $head = git_get_head_hash($project);
git_header_html();
git_print_page_nav('','', $head,undef,$head);
git_print_page_nav('','', $head,undef,$head,format_ref_views('tags'));
git_print_header_div('summary', $project);

my @tagslist = git_get_tags_list();
Expand All @@ -5522,7 +5535,7 @@ sub git_tags {
sub git_heads {
my $head = git_get_head_hash($project);
git_header_html();
git_print_page_nav('','', $head,undef,$head);
git_print_page_nav('','', $head,undef,$head,format_ref_views('heads'));
git_print_header_div('summary', $project);

my @headslist = git_get_heads_list();
Expand All @@ -5538,7 +5551,7 @@ sub git_remotes {

my $head = git_get_head_hash($project);
git_header_html();
git_print_page_nav('','', $head,undef,$head);
git_print_page_nav('','', $head,undef,$head,format_ref_views('remotes'));
git_print_header_div('summary', $project);

my @remotelist = git_get_heads_list(undef, 'remotes');
Expand Down

0 comments on commit 11e7bec

Please sign in to comment.