gitweb: nagivation menu for tags, heads and remotes
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>
This commit is contained in:
parent
00fa6fef63
commit
11e7bece15
@ -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;
|
||||
@ -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();
|
||||
@ -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();
|
||||
@ -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');
|
||||
|
Loading…
Reference in New Issue
Block a user