From: Jakub Narebski <jnareb@gmail.com>
To: git@vger.kernel.org
Subject: [PATCH 13] gitweb: Pager refactoring - use git_get_paging_nav for pagination
Date: Sun, 30 Jul 2006 17:49:00 +0200 [thread overview]
Message-ID: <200607301749.00999.jnareb@gmail.com> (raw)
In-Reply-To: <200607292239.11034.jnareb@gmail.com>
Add git_get_paging_nav subroutine which returns string with pager
(paging nav) for shortlog and log actions.
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
It would make no sense to split this patch into two, I think.
gitweb/gitweb.cgi | 68 +++++++++++++++++++++++++----------------------------
1 files changed, 32 insertions(+), 36 deletions(-)
diff --git a/gitweb/gitweb.cgi b/gitweb/gitweb.cgi
index df152c3..0ed3ad2 100755
--- a/gitweb/gitweb.cgi
+++ b/gitweb/gitweb.cgi
@@ -420,6 +420,36 @@ sub git_page_nav {
"</div>\n";
}
+sub git_get_paging_nav {
+ my ($project, $action, $hash, $head, $page, $nrevs) = @_;
+ my $paging_nav;
+
+
+ if ($hash ne $head || $page) {
+ $paging_nav .= $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=$action")}, "HEAD");
+ } else {
+ $paging_nav .= "HEAD";
+ }
+
+ if ($page > 0) {
+ $paging_nav .= " ⋅ " .
+ $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=$action;h=$hash;pg=" . ($page-1)),
+ -accesskey => "p", -title => "Alt-p"}, "prev");
+ } else {
+ $paging_nav .= " ⋅ prev";
+ }
+
+ if ($nrevs >= (100 * ($page+1)-1)) {
+ $paging_nav .= " ⋅ " .
+ $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=$action;h=$hash;pg=" . ($page+1)),
+ -accesskey => "n", -title => "Alt-n"}, "next");
+ } else {
+ $paging_nav .= " ⋅ next";
+ }
+
+ return $paging_nav;
+}
+
sub git_get_type {
my $hash = shift;
@@ -1873,24 +1903,7 @@ sub git_log {
my @revlist = map { chomp; $_ } <$fd>;
close $fd;
- my $paging_nav = '';
- if ($hash ne $head || $page) {
- $paging_nav .= $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=log")}, "HEAD");
- } else {
- $paging_nav .= "HEAD";
- }
- if ($page > 0) {
- $paging_nav .= " ⋅ " .
- $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=log;h=$hash;pg=" . ($page-1)), -accesskey => "p", -title => "Alt-p"}, "prev");
- } else {
- $paging_nav .= " ⋅ prev";
- }
- if ($#revlist >= (100 * ($page+1)-1)) {
- $paging_nav .= " ⋅ " .
- $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=log;h=$hash;pg=" . ($page+1)), -accesskey => "n", -title => "Alt-n"}, "next");
- } else {
- $paging_nav .= " ⋅ next";
- }
+ my $paging_nav = git_get_paging_nav($project, 'log', $hash, $head, $page, $#revlist);
git_header_html();
git_page_nav('log','', $hash,undef,undef, $paging_nav);
@@ -2553,24 +2566,7 @@ sub git_shortlog {
my @revlist = map { chomp; $_ } <$fd>;
close $fd;
- my $paging_nav = '';
- if ($hash ne $head || $page) {
- $paging_nav .= $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=shortlog")}, "HEAD");
- } else {
- $paging_nav .= "HEAD";
- }
- if ($page > 0) {
- $paging_nav .= " ⋅ " .
- $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=shortlog;h=$hash;pg=" . ($page-1)), -accesskey => "p", -title => "Alt-p"}, "prev");
- } else {
- $paging_nav .= " ⋅ prev";
- }
- if ($#revlist >= (100 * ($page+1)-1)) {
- $paging_nav .= " ⋅ " .
- $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=shortlog;h=$hash;pg=" . ($page+1)), -accesskey => "n", -title => "Alt-n"}, "next");
- } else {
- $paging_nav .= " ⋅ next";
- }
+ my $paging_nav = git_get_paging_nav($project, 'shortlog', $hash, $head, $page, $#revlist);
git_header_html();
git_page_nav('shortlog','', $hash,$hash,$hash, $paging_nav);
--
1.4.0
next prev parent reply other threads:[~2006-07-30 15:49 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-07-29 20:39 [PATCH 0] Some gitweb patches Jakub Narebski
2006-07-29 20:43 ` [PATCH 1] gitweb: whitespace cleanup Jakub Narebski
2006-07-29 20:51 ` [PATCH 2] gitweb: Use list for of open for running git commands, thorougly Jakub Narebski
2006-07-30 2:12 ` Jakub Narebski
2006-07-31 10:53 ` Junio C Hamano
2006-07-31 11:42 ` Jakub Narebski
2006-07-31 12:10 ` Jakub Narebski
2006-07-31 12:38 ` Jakub Narebski
2006-07-31 12:59 ` Jakub Narebski
2006-07-29 20:55 ` [PATCH 3] gitweb: simplify git_get_hash_by_path Jakub Narebski
2006-07-29 21:01 ` [PATCH 4] gitweb: More explicit error messages for open "-|" Jakub Narebski
2006-07-30 2:08 ` [PATCH 5] gitweb: Cleanup - chomp $line in consistent style Jakub Narebski
2006-07-30 2:11 ` [PATCH 6] gitweb: Correct error from changing "-|" open to list form in git_commit Jakub Narebski
2006-07-30 12:58 ` [PATCH 7] gitweb: Cleanup - chomp @lines in consistent style Jakub Narebski
2006-07-30 12:59 ` [PATCH 8] gitweb: Add git_page_nav for later use Jakub Narebski
2006-07-30 13:01 ` [PATCH 9] gitweb: Navbar refactoring - use git_page_nav to generate navigation bar Jakub Narebski
2006-07-30 13:02 ` [PATCH 10] gitweb: Replace form-feed character by ^L Jakub Narebski
2006-07-30 14:13 ` [PATCH 11] gitweb: Read project description using utf-8 encoding Jakub Narebski
2006-07-30 15:20 ` Jakub Narebski
2006-07-30 15:47 ` [PATCH 11] gitweb: Show project descriptions with utf-8 characters in project list correctly Jakub Narebski
2006-07-30 14:14 ` [PATCH 12] gitweb: Add "\n" after <br/> in git_page_nav Jakub Narebski
2006-07-30 15:49 ` Jakub Narebski [this message]
2006-07-30 18:31 ` [PATCH 14] gitweb: Remove $project from git_get_paging_nav arguments Jakub Narebski
2006-07-30 18:32 ` [PATCH 15] gitweb: Headers refactoring - use git_header_div for header divs Jakub Narebski
2006-07-30 20:36 ` [PATCH 16] gitweb: Remove characters entities entirely when shortening string Jakub Narebski
2006-07-31 16:59 ` Jakub Narebski
2006-07-31 18:58 ` [PATCH 16b] gitweb: Remove characters entities entirely when shortening string -- correction Jakub Narebski
2006-07-31 0:21 ` [PATCH 17] gitweb: Ref refactoring - use git_get_referencing for marking tagged/head commits Jakub Narebski
2006-07-31 9:22 ` [PATCH 18] gitweb: Refactor generation of shortlog, tags and heads body Jakub Narebski
2006-07-31 16:33 ` [PATCH 19] gitweb: No need to quote path for list version of open "-|" Jakub Narebski
2006-07-31 18:55 ` Junio C Hamano
2006-07-31 19:00 ` Jakub Narebski
2006-08-01 2:17 ` Junio C Hamano
2006-08-01 2:18 ` There can be more than two levels of subdirectories Junio C Hamano
2006-07-31 18:48 ` [PATCH 20] gitweb: Reordering code and dividing it into categories Jakub Narebski
2006-07-31 19:22 ` [PATCH 20 (amend)] " Jakub Narebski
2006-07-31 21:46 ` [PATCH] gitweb: use a hash to lookup the sub for an action Matthias Lederhofer
2006-07-31 22:39 ` Junio C Hamano
2006-07-31 22:55 ` [PATCH 21] " Jakub Narebski
2006-08-01 2:50 ` [PATCH] " Luben Tuikov
2006-08-01 0:59 ` [PATCH 22] Jakub Narebski
2006-08-01 2:12 ` Perhaps an obvious cut and paste error Junio C Hamano
2006-08-01 7:23 ` Jakub Narebski
2006-08-01 4:24 ` A few more fixups to gitweb Junio C Hamano
2006-08-01 7:36 ` Jakub Narebski
2006-08-01 8:04 ` Junio C Hamano
2006-08-01 9:34 ` [PATCH 1/2] Use tabs for indent in shell scripts Jakub Narebski
2006-08-01 9:36 ` [PATCH 2/2] Set User-Agent string in shell scripts used for fetching Jakub Narebski
2006-08-01 9:51 ` Junio C Hamano
2006-08-01 9:50 ` [PATCH 1/2] Use tabs for indent in shell scripts Junio C Hamano
2006-08-01 10:01 ` Jakub Narebski
2006-08-01 20:10 ` A few more fixups to gitweb Luben Tuikov
2006-08-01 12:48 ` [PATCH] gitweb: clean up user configuration part Matthias Lederhofer
2006-08-01 13:53 ` [RFC/PATCH] gitweb: include perl files for configuration Matthias Lederhofer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200607301749.00999.jnareb@gmail.com \
--to=jnareb@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).