Browse Source

created panels for logs, tags, and branches.

tags/v0.5.0
James Moger 13 years ago
parent
commit
698678268f
45 changed files with 567 additions and 669 deletions
  1. 0
    47
      src/com/gitblit/wicket/BasePage.java
  2. 2
    2
      src/com/gitblit/wicket/GitBlitWebApp.java
  3. 4
    4
      src/com/gitblit/wicket/GitBlitWebApp.properties
  4. 5
    11
      src/com/gitblit/wicket/RepositoryPage.java
  5. 67
    0
      src/com/gitblit/wicket/WicketUtils.java
  6. 2
    1
      src/com/gitblit/wicket/models/RefModel.java
  7. 1
    1
      src/com/gitblit/wicket/pages/BlobPage.html
  8. 3
    13
      src/com/gitblit/wicket/pages/BranchesPage.html
  9. 2
    53
      src/com/gitblit/wicket/pages/BranchesPage.java
  10. 5
    1
      src/com/gitblit/wicket/pages/CommitPage.html
  11. 8
    5
      src/com/gitblit/wicket/pages/CommitPage.java
  12. 11
    5
      src/com/gitblit/wicket/pages/LogPage.html
  13. 21
    0
      src/com/gitblit/wicket/pages/LogPage.java
  14. 0
    77
      src/com/gitblit/wicket/pages/ShortLogPage.java
  15. 6
    43
      src/com/gitblit/wicket/pages/SummaryPage.html
  16. 7
    133
      src/com/gitblit/wicket/pages/SummaryPage.java
  17. 2
    12
      src/com/gitblit/wicket/pages/TagsPage.html
  18. 4
    44
      src/com/gitblit/wicket/pages/TagsPage.java
  19. 1
    1
      src/com/gitblit/wicket/pages/TicGitPage.html
  20. 8
    9
      src/com/gitblit/wicket/pages/TicGitPage.java
  21. 1
    1
      src/com/gitblit/wicket/pages/TicGitTicketPage.html
  22. 2
    2
      src/com/gitblit/wicket/pages/TicGitTicketPage.java
  23. 2
    1
      src/com/gitblit/wicket/panels/AdminLinksPanel.java
  24. 0
    12
      src/com/gitblit/wicket/panels/AnnotatedTagLinksPanel.html
  25. 0
    22
      src/com/gitblit/wicket/panels/AnnotatedTagLinksPanel.java
  26. 0
    17
      src/com/gitblit/wicket/panels/BasePanel.java
  27. 0
    19
      src/com/gitblit/wicket/panels/BranchLinksPanel.java
  28. 34
    0
      src/com/gitblit/wicket/panels/BranchesPanel.html
  29. 84
    0
      src/com/gitblit/wicket/panels/BranchesPanel.java
  30. 14
    10
      src/com/gitblit/wicket/panels/LogPanel.html
  31. 118
    0
      src/com/gitblit/wicket/panels/LogPanel.java
  32. 1
    1
      src/com/gitblit/wicket/panels/PageLinksPanel.html
  33. 15
    12
      src/com/gitblit/wicket/panels/PageLinksPanel.java
  34. 2
    2
      src/com/gitblit/wicket/panels/PathBreadcrumbsPanel.java
  35. 0
    12
      src/com/gitblit/wicket/panels/PathLinksPanel.html
  36. 0
    21
      src/com/gitblit/wicket/panels/PathLinksPanel.java
  37. 0
    12
      src/com/gitblit/wicket/panels/ShortLogLinksPanel.html
  38. 0
    22
      src/com/gitblit/wicket/panels/ShortLogLinksPanel.java
  39. 0
    12
      src/com/gitblit/wicket/panels/TagLinksPanel.html
  40. 0
    20
      src/com/gitblit/wicket/panels/TagLinksPanel.java
  41. 33
    0
      src/com/gitblit/wicket/panels/TagsPanel.html
  42. 81
    0
      src/com/gitblit/wicket/panels/TagsPanel.java
  43. 6
    5
      src/com/gitblit/wicket/panels/TreeBlobLinksPanel.java
  44. 5
    4
      src/com/gitblit/wicket/panels/TreeLinksPanel.java
  45. 10
    0
      src/com/gitblit/wicket/resources/gitblit.css

+ 0
- 47
src/com/gitblit/wicket/BasePage.java View File

@@ -1,10 +1,7 @@
package com.gitblit.wicket;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import org.apache.wicket.Component;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
@@ -14,10 +11,8 @@ import org.slf4j.LoggerFactory;
import com.gitblit.Constants;
import com.gitblit.StoredSettings;
import com.gitblit.utils.Utils;
import com.gitblit.wicket.pages.SummaryPage;
public abstract class BasePage extends WebPage {
Logger logger = LoggerFactory.getLogger(BasePage.class);
@@ -58,49 +53,7 @@ public abstract class BasePage extends WebPage {
HttpServletRequest req = servletWebRequest.getHttpServletRequest();
return req.getServerName();
}
protected Label createAuthorLabel(String wicketId, String author) {
Label label = new Label(wicketId, author);
WicketUtils.setHtmlTitle(label, author);
return label;
}
protected Label createDateLabel(String wicketId, Date date) {
Label label = new Label(wicketId, GitBlitWebSession.get().formatDate(date));
WicketUtils.setCssClass(label, Utils.timeAgoCss(date));
WicketUtils.setHtmlTitle(label, Utils.timeAgo(date));
return label;
}
protected Label createShortlogDateLabel(String wicketId, Date date) {
String dateString = GitBlitWebSession.get().formatDate(date);
String title = Utils.timeAgo(date);
if ((System.currentTimeMillis() - date.getTime()) < 10 * 24 * 60 * 60 * 1000l) {
dateString = title;
title = GitBlitWebSession.get().formatDate(date);
}
Label label = new Label(wicketId, dateString);
WicketUtils.setCssClass(label, Utils.timeAgoCss(date));
WicketUtils.setHtmlTitle(label, title);
return label;
}
protected void setAlternatingBackground(Component c, int i) {
String clazz = i % 2 == 0 ? "dark" : "light";
WicketUtils.setCssClass(c, clazz);
}
protected String trimShortLog(String string) {
return trimString(string, 60);
}
protected String trimString(String value, int max) {
if (value.length() <= max) {
return value;
}
return value.substring(0, max - 3) + "...";
}
public void error(String message, Throwable t) {
super.error(message);
logger.error(message, t);

+ 2
- 2
src/com/gitblit/wicket/GitBlitWebApp.java View File

@@ -33,7 +33,7 @@ import com.gitblit.wicket.pages.BranchesPage;
import com.gitblit.wicket.pages.CommitPage;
import com.gitblit.wicket.pages.DiffPage;
import com.gitblit.wicket.pages.RepositoriesPage;
import com.gitblit.wicket.pages.ShortLogPage;
import com.gitblit.wicket.pages.LogPage;
import com.gitblit.wicket.pages.SummaryPage;
import com.gitblit.wicket.pages.TagPage;
import com.gitblit.wicket.pages.TagsPage;
@@ -63,7 +63,7 @@ public class GitBlitWebApp extends WebApplication {
// setup the standard gitweb-ish urls
mount(new MixedParamUrlCodingStrategy("/summary", SummaryPage.class, new String[] { "p" }));
mount(new MixedParamUrlCodingStrategy("/shortlog", ShortLogPage.class, new String[] { "p", "h" }));
mount(new MixedParamUrlCodingStrategy("/shortlog", LogPage.class, new String[] { "p", "h" }));
mount(new MixedParamUrlCodingStrategy("/tags", TagsPage.class, new String[] { "p" }));
mount(new MixedParamUrlCodingStrategy("/branches", BranchesPage.class, new String[] { "p" }));
mount(new MixedParamUrlCodingStrategy("/commit", CommitPage.class, new String[] { "p", "h" }));

+ 4
- 4
src/com/gitblit/wicket/GitBlitWebApp.properties View File

@@ -25,10 +25,10 @@ gb.remote = remote
gb.branches = branches
gb.patch = patch
gb.diff = diff
gb.shortlog = shortlog
gb.more = more
gb.allTags = all tags
gb.allBranches = all branches
gb.log = log
gb.moreLogs = more commits...
gb.allTags = all tags...
gb.allBranches = all branches...
gb.summary = summary
gb.ticket = ticket
gb.newRepository = new repository

+ 5
- 11
src/com/gitblit/wicket/RepositoryPage.java View File

@@ -33,7 +33,7 @@ public abstract class RepositoryPage extends BasePage {
redirectToInterceptPage(new RepositoriesPage());
}
repositoryName = params.getString("p", "");
commitId = params.getString("h", "");
commitId = params.getString("h", "HEAD");
Repository r = getRepository();
@@ -112,24 +112,18 @@ public abstract class RepositoryPage extends BasePage {
}
protected PageParameters newRepositoryParameter() {
return new PageParameters("p=" + repositoryName);
return WicketUtils.newRepositoryParameter(repositoryName);
}
protected PageParameters newCommitParameter() {
return newCommitParameter(commitId);
return WicketUtils.newCommitParameter(repositoryName, commitId);
}
protected PageParameters newCommitParameter(String commitId) {
if (commitId == null || commitId.trim().length() == 0) {
return newRepositoryParameter();
}
return new PageParameters("p=" + repositoryName + ",h=" + commitId);
return WicketUtils.newCommitParameter(repositoryName, commitId);
}
protected PageParameters newPathParameter(String path) {
if (path == null || path.trim().length() == 0) {
return newCommitParameter();
}
return new PageParameters("p=" + repositoryName + ",h=" + commitId + ",f=" + path);
return WicketUtils.newPathParameter(repositoryName, commitId, path);
}
}

+ 67
- 0
src/com/gitblit/wicket/WicketUtils.java View File

@@ -1,9 +1,18 @@
package com.gitblit.wicket;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.TimeZone;
import org.apache.wicket.Component;
import org.apache.wicket.PageParameters;
import org.apache.wicket.behavior.SimpleAttributeModifier;
import org.apache.wicket.markup.html.basic.Label;
import com.gitblit.StoredSettings;
import com.gitblit.utils.Utils;
public class WicketUtils {
@@ -46,4 +55,62 @@ public class WicketUtils {
}
return sb.toString().trim();
}
public static void setAlternatingBackground(Component c, int i) {
String clazz = i % 2 == 0 ? "dark" : "light";
setCssClass(c, clazz);
}
public static Label createAuthorLabel(String wicketId, String author) {
Label label = new Label(wicketId, author);
WicketUtils.setHtmlTitle(label, author);
return label;
}
public static String trimShortLog(String string) {
return trimString(string, 60);
}
public static String trimString(String value, int max) {
if (value.length() <= max) {
return value;
}
return value.substring(0, max - 3) + "...";
}
public static PageParameters newRepositoryParameter(String repositoryName) {
return new PageParameters("p=" + repositoryName);
}
public static PageParameters newCommitParameter(String repositoryName, String commitId) {
if (commitId == null || commitId.trim().length() == 0) {
return newRepositoryParameter(repositoryName);
}
return new PageParameters("p=" + repositoryName + ",h=" + commitId);
}
public static PageParameters newPathParameter(String repositoryName, String commitId, String path) {
if (path == null || path.trim().length() == 0) {
return newCommitParameter(repositoryName, commitId);
}
return new PageParameters("p=" + repositoryName + ",h=" + commitId + ",f=" + path);
}
public static Label createDateLabel(String wicketId, Date date, TimeZone timeZone) {
DateFormat df = new SimpleDateFormat(StoredSettings.getString("datestampShortFormat", "MM/dd/yy"));
if (timeZone != null) {
df.setTimeZone(timeZone);
}
String dateString = df.format(date);
String title = Utils.timeAgo(date);
if ((System.currentTimeMillis() - date.getTime()) < 10 * 24 * 60 * 60 * 1000l) {
String tmp = dateString;
dateString = title;
title = tmp;
}
Label label = new Label(wicketId, dateString);
WicketUtils.setCssClass(label, Utils.timeAgoCss(date));
WicketUtils.setHtmlTitle(label, title);
return label;
}
}

+ 2
- 1
src/com/gitblit/wicket/models/RefModel.java View File

@@ -52,7 +52,8 @@ public class RefModel implements Serializable, Comparable<RefModel> {
}
public boolean isAnnotatedTag() {
return ref.isPeeled();
// ref.isPeeled() ??
return !getCommitId().equals(getObjectId());
}
@Override

+ 1
- 1
src/com/gitblit/wicket/pages/BlobPage.html View File

@@ -31,7 +31,7 @@
<div wicket:id="breadcrumbs">[breadcrumbs]</div>
<!-- blob content -->
<pre wicket:id="blobText">[blob content]</pre>
<pre style="border:0px;" wicket:id="blobText">[blob content]</pre>
</body>
</wicket:extend>

+ 3
- 13
src/com/gitblit/wicket/pages/BranchesPage.html View File

@@ -9,20 +9,10 @@
<!-- page nav links -->
<div wicket:id="pageLinks">[page links]</div>
<!-- shortlog -->
<div style="margin-top:5px;" class="header" wicket:id="summary">[header]</div>
<table class="pretty">
<tbody>
<tr wicket:id="branch">
<td class="date"><span wicket:id="branchDate">[branch date]</span></td>
<td><div wicket:id="branchName">[branch name]</div></td>
<td><div wicket:id="branchType">[branch type]</div></td>
<td class="rightAlign"><span wicket:id="branchLinks">[branch links]</span></td>
</tr>
</tbody>
</table>
<!-- branches -->
<div style="margin-top:5px;" wicket:id="branchesPanel">[branches panel]</div>
</wicket:extend>
</body>
</html>

+ 2
- 53
src/com/gitblit/wicket/pages/BranchesPage.java View File

@@ -1,23 +1,9 @@
package com.gitblit.wicket.pages;
import java.util.ArrayList;
import java.util.List;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.markup.repeater.data.ListDataProvider;
import org.eclipse.jgit.lib.Constants;
import org.eclipse.jgit.lib.Repository;
import com.gitblit.utils.JGitUtils;
import com.gitblit.utils.Utils;
import com.gitblit.wicket.LinkPanel;
import com.gitblit.wicket.RepositoryPage;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.models.RefModel;
import com.gitblit.wicket.panels.BranchLinksPanel;
import com.gitblit.wicket.panels.BranchesPanel;
public class BranchesPage extends RepositoryPage {
@@ -25,44 +11,7 @@ public class BranchesPage extends RepositoryPage {
public BranchesPage(PageParameters params) {
super(params);
Repository r = getRepository();
List<RefModel> branches = new ArrayList<RefModel>();
branches.addAll(JGitUtils.getLocalBranches(r, -1));
branches.addAll(JGitUtils.getRemoteBranches(r, -1));
// shortlog
add(new LinkPanel("summary", "title", repositoryName, SummaryPage.class, newRepositoryParameter()));
ListDataProvider<RefModel> branchesDp = new ListDataProvider<RefModel>(branches);
DataView<RefModel> branchView = new DataView<RefModel>("branch", branchesDp) {
private static final long serialVersionUID = 1L;
int counter = 0;
public void populateItem(final Item<RefModel> item) {
final RefModel entry = item.getModelObject();
String date;
if (entry.getDate() != null) {
date = Utils.timeAgo(entry.getDate());
} else {
date = "";
}
Label branchDateLabel = new Label("branchDate", date);
item.add(branchDateLabel);
WicketUtils.setCssClass(branchDateLabel, Utils.timeAgoCss(entry.getDate()));
item.add(new LinkPanel("branchName", "list name", entry.getDisplayName(), ShortLogPage.class, newCommitParameter(entry.getName())));
boolean remote = entry.getName().startsWith(Constants.R_REMOTES);
item.add(new Label("branchType", remote ? getString("gb.remote"):getString("gb.local")));
item.add(new BranchLinksPanel("branchLinks", repositoryName, entry));
String clazz = counter % 2 == 0 ? "dark" : "light";
WicketUtils.setCssClass(item, clazz);
counter++;
}
};
add(branchView);
add(new BranchesPanel("branchesPanel", repositoryName, getRepository(), -1));
}
@Override

+ 5
- 1
src/com/gitblit/wicket/pages/CommitPage.html View File

@@ -38,7 +38,11 @@
<table class="pretty">
<tr wicket:id="changedPath">
<td class="path"><span wicket:id="pathName">[commit path]</span></td>
<td><span wicket:id="pathLinks">[path links]</span></td>
<td>
<div class="link">
<a wicket:id="diff"><wicket:message key="gb.diff"></wicket:message></a> | <a wicket:id="view"><wicket:message key="gb.view"></wicket:message></a> | <a wicket:id="history"><wicket:message key="gb.history"></wicket:message></a>
</div>
</td>
</tr>
</table>

+ 8
- 5
src/com/gitblit/wicket/pages/CommitPage.java View File

@@ -5,6 +5,7 @@ import java.util.List;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.markup.repeater.data.ListDataProvider;
@@ -17,7 +18,6 @@ import com.gitblit.wicket.LinkPanel;
import com.gitblit.wicket.RepositoryPage;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.models.PathModel;
import com.gitblit.wicket.panels.PathLinksPanel;
public class CommitPage extends RepositoryPage {
@@ -45,7 +45,7 @@ public class CommitPage extends RepositoryPage {
}
add(new Label("patchLink", getString("gb.patch")));
add(new LinkPanel("shortlog", "title", c.getShortMessage(), ShortLogPage.class, newRepositoryParameter()));
add(new LinkPanel("shortlog", "title", c.getShortMessage(), LogPage.class, newRepositoryParameter()));
addRefs(r, c);
@@ -89,9 +89,12 @@ public class CommitPage extends RepositoryPage {
} else {
item.add(new LinkPanel("pathName", "list", entry.path, BlobPage.class, newPathParameter(entry.path)));
}
item.add(new PathLinksPanel("pathLinks", repositoryName, entry));
String clazz = counter % 2 == 0 ? "dark" : "light";
WicketUtils.setCssClass(item, clazz);
item.add(new BookmarkablePageLink<Void>("diff", DiffPage.class, newPathParameter(entry.path)));
item.add(new BookmarkablePageLink<Void>("view", BlobPage.class, newPathParameter(entry.path)));
item.add(new BookmarkablePageLink<Void>("history", BlobPage.class).setEnabled(false));
WicketUtils.setAlternatingBackground(item, counter);
counter++;
}
};

src/com/gitblit/wicket/panels/BranchLinksPanel.html → src/com/gitblit/wicket/pages/LogPage.html View File

@@ -4,9 +4,15 @@
xml:lang="en"
lang="en">
<wicket:panel>
<div class="link">
<a wicket:id="shortlog"><wicket:message key="gb.shortlog"></wicket:message></a> | <a wicket:id="tree"><wicket:message key="gb.tree"></wicket:message></a>
</div>
</wicket:panel>
<body>
<wicket:extend>
<!-- page nav links -->
<div wicket:id="pageLinks">[page links]</div>
<!-- log -->
<div style="margin-top:5px;" wicket:id="logPanel">[log panel]</div>
</wicket:extend>
</body>
</html>

+ 21
- 0
src/com/gitblit/wicket/pages/LogPage.java View File

@@ -0,0 +1,21 @@
package com.gitblit.wicket.pages;
import org.apache.wicket.PageParameters;
import com.gitblit.wicket.RepositoryPage;
import com.gitblit.wicket.panels.LogPanel;
public class LogPage extends RepositoryPage {
public LogPage(PageParameters params) {
super(params);
add(new LogPanel("logPanel", repositoryName, getRepository(), 100, true));
}
@Override
protected String getPageName() {
return getString("gb.log");
}
}

+ 0
- 77
src/com/gitblit/wicket/pages/ShortLogPage.java View File

@@ -1,77 +0,0 @@
package com.gitblit.wicket.pages;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.navigation.paging.PagingNavigator;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.markup.repeater.data.ListDataProvider;
import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.revwalk.RevCommit;
import com.gitblit.utils.JGitUtils;
import com.gitblit.wicket.GitBlitWebApp;
import com.gitblit.wicket.LinkPanel;
import com.gitblit.wicket.RepositoryPage;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.panels.RefsPanel;
import com.gitblit.wicket.panels.ShortLogLinksPanel;
public class ShortLogPage extends RepositoryPage {
public ShortLogPage(PageParameters params) {
super(params);
Repository r = getRepository();
final Map<ObjectId, List<String>> allRefs = JGitUtils.getAllRefs(r);
List<RevCommit> commits = JGitUtils.getRevLog(r, 100);
// shortlog
add(new LinkPanel("summary", "title", repositoryName, SummaryPage.class, newRepositoryParameter()));
ListDataProvider<RevCommit> dp = new ListDataProvider<RevCommit>(commits);
DataView<RevCommit> shortlogView = new DataView<RevCommit>("commit", dp) {
private static final long serialVersionUID = 1L;
int counter = 0;
public void populateItem(final Item<RevCommit> item) {
final RevCommit entry = item.getModelObject();
final Date date = JGitUtils.getCommitDate(entry);
item.add(createShortlogDateLabel("commitDate", date));
String author = entry.getAuthorIdent().getName();
item.add(createAuthorLabel("commitAuthor", author));
String shortMessage = entry.getShortMessage();
String trimmedMessage = trimShortLog(shortMessage);
LinkPanel shortlog = new LinkPanel("commitShortMessage", "list subject", trimmedMessage, CommitPage.class, newCommitParameter(entry.getName()));
if (!shortMessage.equals(trimmedMessage)) {
WicketUtils.setHtmlTitle(shortlog, shortMessage);
}
item.add(shortlog);
item.add(new RefsPanel("commitRefs", entry, allRefs));
item.add(new ShortLogLinksPanel("commitLinks", repositoryName, entry.getName()));
String clazz = counter % 2 == 0 ? "dark" : "light";
WicketUtils.setCssClass(item, clazz);
counter++;
}
};
shortlogView.setItemsPerPage(GitBlitWebApp.PAGING_ITEM_COUNT);
add(shortlogView);
add(new PagingNavigator("navigator", shortlogView));
}
@Override
protected String getPageName() {
return getString("gb.shortlog");
}
}

+ 6
- 43
src/com/gitblit/wicket/pages/SummaryPage.html View File

@@ -27,54 +27,17 @@
</div>
</div>
<!-- shortlog -->
<div class="header" wicket:id="shortlog">[shortlog header]</div>
<table style="width:100%" class="pretty">
<tbody>
<tr wicket:id="commit">
<td class="date"><span wicket:id="commitDate">[commit date]</span></td>
<td class="author"><span wicket:id="commitAuthor">[commit author]</span></td>
<td><div wicket:id="commitShortMessage">[commit short message]</div></td>
<td class="rightAlign"><div wicket:id="commitRefs">[commit refs]</div></td>
<td class="rightAlign"><span wicket:id="commitLinks">[commit links]</span></td>
</tr>
</tbody>
</table>
<div class="pager" wicket:id="shortlogMore">[more shortlogs]</div>
<!-- commits -->
<div wicket:id="commitsPanel">[commits panel]</div>
<!-- Open Branches Body -->
<!-- branches -->
<div style="width:400px; float:left;">
<!-- heads -->
<div class="header" wicket:id="branches">[branches header]</div>
<table style="width:100%" class="pretty">
<tbody>
<tr wicket:id="branch">
<td class="date"><span wicket:id="branchDate">[branch date]</span></td>
<td><div wicket:id="branchName">[branch name]</div></td>
<td class="rightAlign"><span wicket:id="branchLinks">[branch links]</span></td>
</tr>
</tbody>
</table>
<div class="pager" wicket:id="allBranches">[all branches]</div>
<!-- Close Branches Body -->
<div wicket:id="branchesPanel">[branches panel]</div>
</div>
<!-- Open Tags body -->
<!-- tags -->
<div style="margin-left:405px;">
<!-- tags -->
<div class="header" wicket:id="tags">[tags header]</div>
<table style="width:100%" class="pretty">
<tbody>
<tr wicket:id="tag">
<td class="date"><span wicket:id="tagDate">[tag date]</span></td>
<td><b><div wicket:id="tagName">[tag name]</div></b></td>
<td><div wicket:id="tagDescription">[tag description]</div></td>
<td class="rightAlign"><span wicket:id="tagLinks">[tag links]</span></td>
</tr>
</tbody>
</table>
<div class="pager" wicket:id="allTags">[all tags]</div>
<!-- Close Tags Body -->
<div wicket:id="tagsPanel">[tags panel]</div>
</div>
</wicket:extend>

+ 7
- 133
src/com/gitblit/wicket/pages/SummaryPage.java View File

@@ -1,21 +1,12 @@
package com.gitblit.wicket.pages;
import java.awt.Dimension;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.image.ContextImage;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.markup.repeater.data.ListDataProvider;
import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.revwalk.RevCommit;
import com.codecommit.wicket.AbstractChartData;
import com.codecommit.wicket.Chart;
@@ -28,16 +19,11 @@ import com.gitblit.StoredSettings;
import com.gitblit.utils.JGitUtils;
import com.gitblit.wicket.GitBlitWebApp;
import com.gitblit.wicket.GitBlitWebSession;
import com.gitblit.wicket.LinkPanel;
import com.gitblit.wicket.RepositoryPage;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.models.Metric;
import com.gitblit.wicket.models.RefModel;
import com.gitblit.wicket.panels.AnnotatedTagLinksPanel;
import com.gitblit.wicket.panels.BranchLinksPanel;
import com.gitblit.wicket.panels.RefsPanel;
import com.gitblit.wicket.panels.ShortLogLinksPanel;
import com.gitblit.wicket.panels.TagLinksPanel;
import com.gitblit.wicket.panels.BranchesPanel;
import com.gitblit.wicket.panels.LogPanel;
import com.gitblit.wicket.panels.TagsPanel;
public class SummaryPage extends RepositoryPage {
@@ -57,8 +43,7 @@ public class SummaryPage extends RepositoryPage {
numberRefs = numRefsDef;
}
Repository r = getRepository();
final Map<ObjectId, List<String>> allRefs = JGitUtils.getAllRefs(r);
Repository r = getRepository();
String owner = JGitUtils.getRepositoryOwner(r);
GitBlitWebSession session = GitBlitWebSession.get();
@@ -71,120 +56,9 @@ public class SummaryPage extends RepositoryPage {
add(new Label("repositoryLastChange", lastchange));
add(new Label("repositoryCloneUrl", cloneurl));
// shortlog
add(new LinkPanel("shortlog", "title", getString("gb.shortlog"), ShortLogPage.class, newRepositoryParameter()));
List<RevCommit> commits = JGitUtils.getRevLog(r, numberCommits);
ListDataProvider<RevCommit> dp = new ListDataProvider<RevCommit>(commits);
DataView<RevCommit> shortlogView = new DataView<RevCommit>("commit", dp) {
private static final long serialVersionUID = 1L;
int counter = 0;
public void populateItem(final Item<RevCommit> item) {
RevCommit entry = item.getModelObject();
Date date = JGitUtils.getCommitDate(entry);
item.add(createShortlogDateLabel("commitDate", date));
String author = entry.getAuthorIdent().getName();
item.add(createAuthorLabel("commitAuthor", author));
String shortMessage = entry.getShortMessage();
String trimmedMessage = trimShortLog(shortMessage);
LinkPanel shortlog = new LinkPanel("commitShortMessage", "list subject", trimmedMessage, CommitPage.class, newCommitParameter(entry.getName()));
if (!shortMessage.equals(trimmedMessage)) {
WicketUtils.setHtmlTitle(shortlog, shortMessage);
}
item.add(shortlog);
item.add(new RefsPanel("commitRefs", entry, allRefs));
item.add(new ShortLogLinksPanel("commitLinks", repositoryName, entry.getName()));
setAlternatingBackground(item, counter);
counter++;
}
};
add(shortlogView);
if (commits.size() < numberCommits) {
add(new Label("shortlogMore", "").setVisible(false));
} else {
add(new LinkPanel("shortlogMore", "link", getString("gb.more") + "...", ShortLogPage.class, newRepositoryParameter()));
}
// tags
List<RefModel> tags = JGitUtils.getTags(r, numberRefs);
add(new LinkPanel("tags", "title", getString("gb.tags"), TagsPage.class, newRepositoryParameter()));
ListDataProvider<RefModel> tagsDp = new ListDataProvider<RefModel>(tags);
DataView<RefModel> tagView = new DataView<RefModel>("tag", tagsDp) {
private static final long serialVersionUID = 1L;
int counter = 0;
public void populateItem(final Item<RefModel> item) {
final RefModel entry = item.getModelObject();
item.add(createDateLabel("tagDate", entry.getDate()));
item.add(new LinkPanel("tagName", "list name", entry.getDisplayName(), CommitPage.class, newCommitParameter(entry.getCommitId().getName())));
if (entry.isAnnotatedTag()) {
// annotated tag
item.add(new LinkPanel("tagDescription", "list subject", entry.getShortLog(), TagPage.class, newCommitParameter(entry.getObjectId().getName())));
item.add(new AnnotatedTagLinksPanel("tagLinks", repositoryName, entry));
} else {
// simple tag on commit object
item.add(new Label("tagDescription", ""));
item.add(new TagLinksPanel("tagLinks", repositoryName, entry));
}
setAlternatingBackground(item, counter);
counter++;
}
};
add(tagView);
if (tags.size() < numberRefs) {
add(new Label("allTags", "").setVisible(false));
} else {
add(new LinkPanel("allTags", "link", getString("gb.allTags") + "...", TagsPage.class, newRepositoryParameter()));
}
// branches
List<RefModel> branches = new ArrayList<RefModel>();
branches.addAll(JGitUtils.getLocalBranches(r, numberRefs));
branches.addAll(JGitUtils.getRemoteBranches(r, numberRefs));
Collections.sort(branches);
Collections.reverse(branches);
if (numberRefs > 0 && branches.size() > numberRefs) {
branches = new ArrayList<RefModel>(branches.subList(0, numberRefs));
}
add(new LinkPanel("branches", "title", getString("gb.branches"), BranchesPage.class, newRepositoryParameter()));
ListDataProvider<RefModel> branchesDp = new ListDataProvider<RefModel>(branches);
DataView<RefModel> branchesView = new DataView<RefModel>("branch", branchesDp) {
private static final long serialVersionUID = 1L;
int counter = 0;
public void populateItem(final Item<RefModel> item) {
final RefModel entry = item.getModelObject();
item.add(createDateLabel("branchDate", entry.getDate()));
item.add(new LinkPanel("branchName", "list name", trimString(entry.getDisplayName(), 28), ShortLogPage.class, newCommitParameter(entry.getName())));
item.add(new BranchLinksPanel("branchLinks", repositoryName, entry));
setAlternatingBackground(item, counter);
counter++;
}
};
add(branchesView);
if (branches.size() < numberRefs) {
add(new Label("allBranches", "").setVisible(false));
} else {
add(new LinkPanel("allBranches", "link", getString("gb.allBranches") + "...", BranchesPage.class, newRepositoryParameter()));
}
add(new LogPanel("commitsPanel", repositoryName, r, numberCommits, false));
add(new TagsPanel("tagsPanel", repositoryName, r, numberRefs));
add(new BranchesPanel("branchesPanel", repositoryName, r, numberRefs));
// Display an activity line graph
insertActivityGraph(r);

+ 2
- 12
src/com/gitblit/wicket/pages/TagsPage.html View File

@@ -10,18 +10,8 @@
<!-- page nav links -->
<div wicket:id="pageLinks">[page links]</div>
<!-- shortlog -->
<div style="margin-top:5px;" class="header" wicket:id="summary">[header]</div>
<table class="pretty">
<tbody>
<tr wicket:id="tag">
<td class="date"><span wicket:id="tagDate">[tag date]</span></td>
<td><b><div wicket:id="tagName">[tag name]</div></b></td>
<td><div wicket:id="tagDescription">[tag description]</div></td>
<td class="rightAlign"><span wicket:id="tagLinks">[tag links]</span></td>
</tr>
</tbody>
</table>
<!-- tags panel -->
<div style="margin-top:5px;" wicket:id="tagsPanel">[tags panel]</div>
</wicket:extend>
</body>

+ 4
- 44
src/com/gitblit/wicket/pages/TagsPage.java View File

@@ -1,58 +1,18 @@
package com.gitblit.wicket.pages;
import java.util.List;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.markup.repeater.data.ListDataProvider;
import org.eclipse.jgit.lib.Repository;
import com.gitblit.utils.JGitUtils;
import com.gitblit.wicket.LinkPanel;
import com.gitblit.wicket.RepositoryPage;
import com.gitblit.wicket.models.RefModel;
import com.gitblit.wicket.panels.AnnotatedTagLinksPanel;
import com.gitblit.wicket.panels.TagLinksPanel;
import com.gitblit.wicket.panels.TagsPanel;
public class TagsPage extends RepositoryPage {
public TagsPage(PageParameters params) {
super(params);
Repository r = getRepository();
List<RefModel> tags = JGitUtils.getTags(r, -1);
// shortlog
add(new LinkPanel("summary", "title", repositoryName, SummaryPage.class, newRepositoryParameter()));
ListDataProvider<RefModel> tagsDp = new ListDataProvider<RefModel>(tags);
DataView<RefModel> tagView = new DataView<RefModel>("tag", tagsDp) {
private static final long serialVersionUID = 1L;
int counter = 0;
public void populateItem(final Item<RefModel> item) {
final RefModel entry = item.getModelObject();
item.add(createDateLabel("tagDate", entry.getDate()));
item.add(new LinkPanel("tagName", "list name", entry.getDisplayName(), CommitPage.class, newCommitParameter(entry.getObjectId().getName())));
if (entry.isAnnotatedTag()) {
// annotated tag
item.add(new LinkPanel("tagDescription", "list subject", entry.getShortLog(), TagPage.class, newCommitParameter(entry.getObjectId().getName())));
item.add(new AnnotatedTagLinksPanel("tagLinks", repositoryName, entry));
} else {
// simple tag on commit object
item.add(new Label("tagDescription", ""));
item.add(new TagLinksPanel("tagLinks", repositoryName, entry));
}
setAlternatingBackground(item, counter);
counter++;
}
};
add(tagView);
add(new TagsPanel("tagsPanel", repositoryName, getRepository(), -1));
}
@Override

+ 1
- 1
src/com/gitblit/wicket/pages/TicGitPage.html View File

@@ -11,7 +11,7 @@
<div wicket:id="pageLinks">[page links]</div>
<!-- header -->
<div style="margin-top:5px;" class="header" wicket:id="summary">[header]</div>
<div style="margin-top:5px;" class="header" wicket:id="header">[header]</div>
<!-- tickets -->
<table style="width:100%" class="pretty">

+ 8
- 9
src/com/gitblit/wicket/pages/TicGitPage.java View File

@@ -7,10 +7,10 @@ import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.markup.repeater.data.ListDataProvider;
import org.eclipse.jgit.lib.Repository;
import com.gitblit.utils.JGitUtils;
import com.gitblit.utils.TicGitTicket;
import com.gitblit.wicket.GitBlitWebSession;
import com.gitblit.wicket.LinkPanel;
import com.gitblit.wicket.RepositoryPage;
import com.gitblit.wicket.WicketUtils;
@@ -20,11 +20,10 @@ public class TicGitPage extends RepositoryPage {
public TicGitPage(PageParameters params) {
super(params);
Repository r = getRepository();
List<TicGitTicket> tickets = JGitUtils.getTicGitTickets(r);
List<TicGitTicket> tickets = JGitUtils.getTicGitTickets(getRepository());
// shortlog
add(new LinkPanel("summary", "title", repositoryName, SummaryPage.class, newRepositoryParameter()));
// header
add(new LinkPanel("header", "title", repositoryName, SummaryPage.class, newRepositoryParameter()));
ListDataProvider<TicGitTicket> ticketsDp = new ListDataProvider<TicGitTicket>(tickets);
DataView<TicGitTicket> ticketsView = new DataView<TicGitTicket>("ticket", ticketsDp) {
@@ -36,11 +35,11 @@ public class TicGitPage extends RepositoryPage {
Label stateLabel = new Label("ticketState", entry.state);
WicketUtils.setTicketCssClass(stateLabel, entry.state);
item.add(stateLabel);
item.add(createDateLabel("ticketDate", entry.date));
item.add(new Label("ticketHandler", trimString(entry.handler, 30)));
item.add(new LinkPanel("ticketTitle", null, trimString(entry.title, 80), TicGitTicketPage.class, newPathParameter(entry.name)));
item.add(WicketUtils.createDateLabel("ticketDate", entry.date, GitBlitWebSession.get().getTimezone()));
item.add(new Label("ticketHandler", WicketUtils.trimString(entry.handler, 30)));
item.add(new LinkPanel("ticketTitle", null, WicketUtils.trimString(entry.title, 80), TicGitTicketPage.class, newPathParameter(entry.name)));
setAlternatingBackground(item, counter);
WicketUtils.setAlternatingBackground(item, counter);
counter++;
}
};

+ 1
- 1
src/com/gitblit/wicket/pages/TicGitTicketPage.html View File

@@ -30,7 +30,7 @@
<tbody>
<tr wicket:id="comment">
<td class="date"><span wicket:id="commentDate">[comment date]</span></td>
<td><b><div wicket:id="commentAuthor">[comment author]</div></b></td>
<td class="author"><span wicket:id="commentAuthor">[comment author]</span></td>
<td><div wicket:id="commentText">[comment text]</div></td>
</tr>
</tbody>

+ 2
- 2
src/com/gitblit/wicket/pages/TicGitTicketPage.java View File

@@ -41,10 +41,10 @@ public class TicGitTicketPage extends RepositoryPage {
public void populateItem(final Item<Comment> item) {
final Comment entry = item.getModelObject();
item.add(createDateLabel("commentDate", entry.date));
item.add(WicketUtils.createDateLabel("commentDate", entry.date, GitBlitWebSession.get().getTimezone()));
item.add(new Label("commentAuthor", entry.author));
item.add(new Label("commentText", prepareComment(entry.text)).setEscapeModelStrings(false));
setAlternatingBackground(item, counter);
WicketUtils.setAlternatingBackground(item, counter);
counter++;
}
};

+ 2
- 1
src/com/gitblit/wicket/panels/AdminLinksPanel.java View File

@@ -1,10 +1,11 @@
package com.gitblit.wicket.panels;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.html.panel.Panel;
import com.gitblit.wicket.pages.RepositoriesPage;
public class AdminLinksPanel extends BasePanel {
public class AdminLinksPanel extends Panel {
private static final long serialVersionUID = 1L;

+ 0
- 12
src/com/gitblit/wicket/panels/AnnotatedTagLinksPanel.html View File

@@ -1,12 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.3-strict.dtd"
xml:lang="en"
lang="en">
<wicket:panel>
<div class="link">
<a wicket:id="tag"><wicket:message key="gb.tag"></wicket:message></a> | <a wicket:id="commit"><wicket:message key="gb.commit"></wicket:message></a> | <a wicket:id="shortlog"><wicket:message key="gb.shortlog"></wicket:message></a>
</div>
</wicket:panel>
</html>

+ 0
- 22
src/com/gitblit/wicket/panels/AnnotatedTagLinksPanel.java View File

@@ -1,22 +0,0 @@
package com.gitblit.wicket.panels;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import com.gitblit.wicket.models.RefModel;
import com.gitblit.wicket.pages.CommitPage;
import com.gitblit.wicket.pages.ShortLogPage;
import com.gitblit.wicket.pages.TagPage;
public class AnnotatedTagLinksPanel extends BasePanel {
private static final long serialVersionUID = 1L;
public AnnotatedTagLinksPanel(String id, String repositoryName, RefModel tag) {
super(id);
add(new BookmarkablePageLink<Void>("tag", TagPage.class, new PageParameters("p=" + repositoryName + ",h=" + tag.getObjectId().getName())));
add(new BookmarkablePageLink<Void>("commit", CommitPage.class, new PageParameters("p=" + repositoryName + ",h=" + tag.getCommitId().getName())));
add(new BookmarkablePageLink<Void>("shortlog", ShortLogPage.class, new PageParameters("p=" + repositoryName + ",h=" + tag.getName())));
}
}

+ 0
- 17
src/com/gitblit/wicket/panels/BasePanel.java View File

@@ -1,17 +0,0 @@
package com.gitblit.wicket.panels;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.StringResourceModel;
public abstract class BasePanel extends Panel {
private static final long serialVersionUID = 1L;
public BasePanel(String id) {
super(id);
}
public StringResourceModel stringModel(String key) {
return new StringResourceModel(key, this, null);
}
}

+ 0
- 19
src/com/gitblit/wicket/panels/BranchLinksPanel.java View File

@@ -1,19 +0,0 @@
package com.gitblit.wicket.panels;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import com.gitblit.wicket.models.RefModel;
import com.gitblit.wicket.pages.ShortLogPage;
import com.gitblit.wicket.pages.TreePage;
public class BranchLinksPanel extends BasePanel {
private static final long serialVersionUID = 1L;
public BranchLinksPanel(String id, String repositoryName, RefModel tag) {
super(id);
add(new BookmarkablePageLink<Void>("shortlog", ShortLogPage.class, new PageParameters("p=" + repositoryName + ",h=" + tag.getName())));
add(new BookmarkablePageLink<Void>("tree", TreePage.class, new PageParameters("p=" + repositoryName + ",h=" + tag.getName())));
}
}

+ 34
- 0
src/com/gitblit/wicket/panels/BranchesPanel.html View File

@@ -0,0 +1,34 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.3-strict.dtd"
xml:lang="en"
lang="en">
<body>
<wicket:panel>
<!-- header -->
<div class="header" wicket:id="branches">[branches header]</div>
<table style="width:100%;" class="pretty">
<tbody>
<tr wicket:id="branch">
<td class="date"><span wicket:id="branchDate">[branch date]</span></td>
<td><span wicket:id="branchName">[branch name]</span></td>
<td><span wicket:id="branchType">[branch type]</span></td>
<td class="rightAlign">
<div class="link">
<a wicket:id="log"><wicket:message key="gb.log"></wicket:message></a> | <a wicket:id="tree"><wicket:message key="gb.tree"></wicket:message></a>
</div>
</td>
</tr>
</tbody>
</table>
<div wicket:id="allBranches">[all branches]</div>
<!-- spacer -->
<div style="padding:5px;"></div>
</wicket:panel>
</body>
</html>

+ 84
- 0
src/com/gitblit/wicket/panels/BranchesPanel.java View File

@@ -0,0 +1,84 @@
package com.gitblit.wicket.panels;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.markup.repeater.data.ListDataProvider;
import org.apache.wicket.model.StringResourceModel;
import org.eclipse.jgit.lib.Constants;
import org.eclipse.jgit.lib.Repository;
import com.gitblit.utils.JGitUtils;
import com.gitblit.wicket.GitBlitWebSession;
import com.gitblit.wicket.LinkPanel;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.models.RefModel;
import com.gitblit.wicket.pages.BranchesPage;
import com.gitblit.wicket.pages.LogPage;
import com.gitblit.wicket.pages.SummaryPage;
import com.gitblit.wicket.pages.TreePage;
public class BranchesPanel extends Panel {
private static final long serialVersionUID = 1L;
public BranchesPanel(String wicketId, final String repositoryName, Repository r, final int maxCount) {
super(wicketId);
// branches
List<RefModel> branches = new ArrayList<RefModel>();
branches.addAll(JGitUtils.getLocalBranches(r, maxCount));
branches.addAll(JGitUtils.getRemoteBranches(r, maxCount));
Collections.sort(branches);
Collections.reverse(branches);
if (maxCount > 0 && branches.size() > maxCount) {
branches = new ArrayList<RefModel>(branches.subList(0, maxCount));
}
if (maxCount > 0) {
// summary page
// show branches page link
add(new LinkPanel("branches", "title", new StringResourceModel("gb.branches", this, null), BranchesPage.class, WicketUtils.newRepositoryParameter(repositoryName)));
} else {
// branches page
// show repository summary page link
add(new LinkPanel("branches", "title", repositoryName, SummaryPage.class, WicketUtils.newRepositoryParameter(repositoryName)));
}
ListDataProvider<RefModel> branchesDp = new ListDataProvider<RefModel>(branches);
DataView<RefModel> branchesView = new DataView<RefModel>("branch", branchesDp) {
private static final long serialVersionUID = 1L;
int counter = 0;
public void populateItem(final Item<RefModel> item) {
final RefModel entry = item.getModelObject();
item.add(WicketUtils.createDateLabel("branchDate", entry.getDate(), GitBlitWebSession.get().getTimezone()));
item.add(new LinkPanel("branchName", "list name", WicketUtils.trimString(entry.getDisplayName(), 28), LogPage.class, WicketUtils.newCommitParameter(repositoryName, entry.getName())));
// only show branch type on the branches page
boolean remote = entry.getName().startsWith(Constants.R_REMOTES);
item.add(new Label("branchType", remote ? getString("gb.remote"):getString("gb.local")).setVisible(maxCount <= 0));
item.add(new BookmarkablePageLink<Void>("log", LogPage.class, WicketUtils.newCommitParameter(repositoryName, entry.getName())));
item.add(new BookmarkablePageLink<Void>("tree", TreePage.class, WicketUtils.newCommitParameter(repositoryName, entry.getName())));
WicketUtils.setAlternatingBackground(item, counter);
counter++;
}
};
add(branchesView);
if (branches.size() < maxCount || maxCount <= 0) {
add(new Label("allBranches", "").setVisible(false));
} else {
add(new LinkPanel("allBranches", "link", new StringResourceModel("gb.allBranches", this, null), BranchesPage.class, WicketUtils.newRepositoryParameter(repositoryName)));
}
}
}

src/com/gitblit/wicket/pages/ShortLogPage.html → src/com/gitblit/wicket/panels/LogPanel.html View File

@@ -5,26 +5,30 @@
lang="en">
<body>
<wicket:extend>
<wicket:panel>
<!-- page nav links -->
<div wicket:id="pageLinks">[page links]</div>
<!-- shortlog -->
<div style="margin-top:5px;" class="header" wicket:id="summary">[shortlog header]</div>
<table style="width:100%" "class="pretty">
<!-- header -->
<div class="header" wicket:id="header">[log header]</div>
<table style="width:100%" class="pretty">
<tbody>
<tr wicket:id="commit">
<td class="date"><span wicket:id="commitDate">[commit date]</span></td>
<td class="author"><span wicket:id="commitAuthor">[commit author]</span></td>
<td><div wicket:id="commitShortMessage">[commit short message]</div></td>
<td class="rightAlign"><div wicket:id="commitRefs">[commit refs]</div></td>
<td class="rightAlign"><span wicket:id="commitLinks">[commit links]</span></td>
<td class="rightAlign"><div class="link">
<a wicket:id="view"><wicket:message key="gb.view"></wicket:message></a> | <a wicket:id="diff"><wicket:message key="gb.diff"></wicket:message></a> | <a wicket:id="tree"><wicket:message key="gb.tree"></wicket:message></a>
</div>
</td>
</tr>
</tbody>
</table>
<div class="pager" wicket:id="navigator">[pager]</div>
<div class="pager" wicket:id="pageLogs">[pager]</div>
<div wicket:id="moreLogs">[more...]</div>
</wicket:extend>
<!-- spacer -->
<div style="padding:5px;"></div>
</wicket:panel>
</body>
</html>

+ 118
- 0
src/com/gitblit/wicket/panels/LogPanel.java View File

@@ -0,0 +1,118 @@
package com.gitblit.wicket.panels;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.html.navigation.paging.PagingNavigator;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.markup.repeater.data.ListDataProvider;
import org.apache.wicket.model.StringResourceModel;
import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.revwalk.RevCommit;
import com.gitblit.utils.JGitUtils;
import com.gitblit.wicket.GitBlitWebApp;
import com.gitblit.wicket.GitBlitWebSession;
import com.gitblit.wicket.LinkPanel;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.pages.CommitPage;
import com.gitblit.wicket.pages.DiffPage;
import com.gitblit.wicket.pages.LogPage;
import com.gitblit.wicket.pages.SummaryPage;
import com.gitblit.wicket.pages.TreePage;
public class LogPanel extends Panel {
private static final long serialVersionUID = 1L;
public LogPanel(String wicketId, final String repositoryName, Repository r, int maxCount, boolean showPager) {
super(wicketId);
final Map<ObjectId, List<String>> allRefs = JGitUtils.getAllRefs(r);
List<RevCommit> commits = JGitUtils.getRevLog(r, maxCount);
// header
if (showPager) {
// shortlog page
// show repository summary page link
add(new LinkPanel("header", "title", repositoryName, SummaryPage.class, WicketUtils.newRepositoryParameter(repositoryName)));
} else {
// summary page
// show shortlog page link
add(new LinkPanel("header", "title", new StringResourceModel("gb.log", this, null), LogPage.class, WicketUtils.newRepositoryParameter(repositoryName)));
}
ListDataProvider<RevCommit> dp = new ListDataProvider<RevCommit>(commits);
DataView<RevCommit> logView = new DataView<RevCommit>("commit", dp) {
private static final long serialVersionUID = 1L;
int counter = 0;
public void populateItem(final Item<RevCommit> item) {
final RevCommit entry = item.getModelObject();
final Date date = JGitUtils.getCommitDate(entry);
item.add(WicketUtils.createDateLabel("commitDate", date, GitBlitWebSession.get().getTimezone()));
String author = entry.getAuthorIdent().getName();
item.add(WicketUtils.createAuthorLabel("commitAuthor", author));
String shortMessage = entry.getShortMessage();
String trimmedMessage = WicketUtils.trimShortLog(shortMessage);
LinkPanel shortlog = new LinkPanel("commitShortMessage", "list subject", trimmedMessage, CommitPage.class, WicketUtils.newCommitParameter(repositoryName, entry.getName()));
if (!shortMessage.equals(trimmedMessage)) {
WicketUtils.setHtmlTitle(shortlog, shortMessage);
}
item.add(shortlog);
item.add(new RefsPanel("commitRefs", entry, allRefs));
item.add(new BookmarkablePageLink<Void>("view", CommitPage.class, WicketUtils.newCommitParameter(repositoryName, entry.getName())));
item.add(new BookmarkablePageLink<Void>("diff", DiffPage.class, WicketUtils.newCommitParameter(repositoryName, entry.getName())));
item.add(new BookmarkablePageLink<Void>("tree", TreePage.class, WicketUtils.newCommitParameter(repositoryName, entry.getName())));
WicketUtils.setAlternatingBackground(item, counter);
counter++;
}
};
add(logView);
// determine to show pager, more, or neither
if (maxCount <= 0) {
// no display limit
add(new Label("moreLogs", "").setVisible(false));
add(new Label("pageLogs", "").setVisible(false));
} else {
if (commits.size() == maxCount) {
}
if (showPager) {
// paging
add(new Label("moreLogs", "").setVisible(false));
if (commits.size() == maxCount) {
// show pager
logView.setItemsPerPage(GitBlitWebApp.PAGING_ITEM_COUNT);
add(new PagingNavigator("pageLogs", logView));
} else {
// nothing to page
add(new Label("pageLogs", "").setVisible(false));
}
} else {
// more
add(new Label("pageLogs", "").setVisible(false));
if (commits.size() == maxCount) {
// show more
add(new LinkPanel("moreLogs", "link", new StringResourceModel("gb.moreLogs", this, null), LogPage.class, WicketUtils.newRepositoryParameter(repositoryName)));
} else {
// no more
add(new Label("moreLogs", "").setVisible(false));
}
}
}
}
}

+ 1
- 1
src/com/gitblit/wicket/panels/PageLinksPanel.html View File

@@ -7,7 +7,7 @@
<wicket:panel>
<!-- page nav links -->
<div class="page_nav">
<a wicket:id="summary"><wicket:message key="gb.summary"></wicket:message></a> | <a wicket:id="shortlog"><wicket:message key="gb.shortlog"></wicket:message></a> | <a wicket:id="branches"><wicket:message key="gb.branches"></wicket:message></a> | <a wicket:id="tags"><wicket:message key="gb.tags"></wicket:message></a> | <a wicket:id="tree"><wicket:message key="gb.tree"></wicket:message></a> <span wicket:id="extra"><span wicket:id="extraSeparator"></span><span wicket:id="extraLink"></span></span>
<a wicket:id="summary"><wicket:message key="gb.summary"></wicket:message></a> | <a wicket:id="log"><wicket:message key="gb.log"></wicket:message></a> | <a wicket:id="branches"><wicket:message key="gb.branches"></wicket:message></a> | <a wicket:id="tags"><wicket:message key="gb.tags"></wicket:message></a> | <a wicket:id="tree"><wicket:message key="gb.tree"></wicket:message></a> <span wicket:id="extra"><span wicket:id="extraSeparator"></span><span wicket:id="extraLink"></span></span>
</div>
</wicket:panel>
</html>

+ 15
- 12
src/com/gitblit/wicket/panels/PageLinksPanel.java View File

@@ -6,9 +6,9 @@ import java.util.List;
import java.util.Map;
import org.apache.wicket.Component;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.markup.repeater.data.ListDataProvider;
@@ -16,14 +16,15 @@ import org.eclipse.jgit.lib.Repository;
import com.gitblit.utils.JGitUtils;
import com.gitblit.wicket.LinkPanel;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.pages.BranchesPage;
import com.gitblit.wicket.pages.ShortLogPage;
import com.gitblit.wicket.pages.LogPage;
import com.gitblit.wicket.pages.SummaryPage;
import com.gitblit.wicket.pages.TagsPage;
import com.gitblit.wicket.pages.TicGitPage;
import com.gitblit.wicket.pages.TreePage;
public class PageLinksPanel extends BasePanel {
public class PageLinksPanel extends Panel {
private static final long serialVersionUID = 1L;
@@ -33,7 +34,7 @@ public class PageLinksPanel extends BasePanel {
{
put("summary", "gb.summary");
put("shortlog", "gb.shortlog");
put("log", "gb.log");
put("branches", "gb.branches");
put("tags", "gb.tags");
put("tree", "gb.tree");
@@ -45,11 +46,11 @@ public class PageLinksPanel extends BasePanel {
super(id);
// summary
add(new BookmarkablePageLink<Void>("summary", SummaryPage.class, new PageParameters("p=" + repositoryName)));
add(new BookmarkablePageLink<Void>("shortlog", ShortLogPage.class, new PageParameters("p=" + repositoryName)));
add(new BookmarkablePageLink<Void>("branches", BranchesPage.class, new PageParameters("p=" + repositoryName)));
add(new BookmarkablePageLink<Void>("tags", TagsPage.class, new PageParameters("p=" + repositoryName)));
add(new BookmarkablePageLink<Void>("tree", TreePage.class, new PageParameters("p=" + repositoryName + ",h=HEAD")));
add(new BookmarkablePageLink<Void>("summary", SummaryPage.class, WicketUtils.newRepositoryParameter(repositoryName)));
add(new BookmarkablePageLink<Void>("log", LogPage.class, WicketUtils.newRepositoryParameter(repositoryName)));
add(new BookmarkablePageLink<Void>("branches", BranchesPage.class, WicketUtils.newRepositoryParameter(repositoryName)));
add(new BookmarkablePageLink<Void>("tags", TagsPage.class, WicketUtils.newRepositoryParameter(repositoryName)));
add(new BookmarkablePageLink<Void>("tree", TreePage.class, WicketUtils.newRepositoryParameter(repositoryName)));
// Add dynamic repository extras
List<String> extras = new ArrayList<String>();
@@ -65,7 +66,7 @@ public class PageLinksPanel extends BasePanel {
String extra = item.getModelObject();
if (extra.equals("ticgit")) {
item.add(new Label("extraSeparator", " | "));
item.add(new LinkPanel("extraLink", null, "ticgit", TicGitPage.class, new PageParameters("p=" + repositoryName)));
item.add(new LinkPanel("extraLink", null, "ticgit", TicGitPage.class, WicketUtils.newRepositoryParameter(repositoryName)));
}
}
};
@@ -77,8 +78,10 @@ public class PageLinksPanel extends BasePanel {
String key = knownPages.get(wicketId);
String linkName = getString(key);
if (linkName.equals(pageName)) {
Component c = get(wicketId);
c.setEnabled(false);
Component c = get(wicketId);
if (c != null) {
c.setEnabled(false);
}
break;
}
}

+ 2
- 2
src/com/gitblit/wicket/panels/PathBreadcrumbsPanel.java View File

@@ -4,7 +4,6 @@ import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.markup.repeater.Item;
@@ -12,6 +11,7 @@ import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.markup.repeater.data.ListDataProvider;
import com.gitblit.wicket.LinkPanel;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.pages.TreePage;
public class PathBreadcrumbsPanel extends Panel {
@@ -49,7 +49,7 @@ public class PathBreadcrumbsPanel extends Panel {
parameters += ",f=" + path;
}
item.add(new LinkPanel("pathLink", null, entry.name, TreePage.class, new PageParameters(parameters)));
item.add(new LinkPanel("pathLink", null, entry.name, TreePage.class, WicketUtils.newPathParameter(repositoryName, commitId, path)));
item.add(new Label("pathSeparator", entry.isLeaf ? "" : "/"));
}
};

+ 0
- 12
src/com/gitblit/wicket/panels/PathLinksPanel.html View File

@@ -1,12 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.3-strict.dtd"
xml:lang="en"
lang="en">
<wicket:panel>
<div class="link">
<a wicket:id="diff"><wicket:message key="gb.diff"></wicket:message></a> | <a wicket:id="view"><wicket:message key="gb.view"></wicket:message></a> | <a wicket:id="history"><wicket:message key="gb.history"></wicket:message></a>
</div>
</wicket:panel>
</html>

+ 0
- 21
src/com/gitblit/wicket/panels/PathLinksPanel.java View File

@@ -1,21 +0,0 @@
package com.gitblit.wicket.panels;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import com.gitblit.wicket.models.PathModel;
import com.gitblit.wicket.pages.BlobPage;
import com.gitblit.wicket.pages.DiffPage;
public class PathLinksPanel extends BasePanel {
private static final long serialVersionUID = 1L;
public PathLinksPanel(String id, String repositoryName, PathModel path) {
super(id);
add(new BookmarkablePageLink<Void>("diff", DiffPage.class, new PageParameters("p=" + repositoryName + ",h=" + path.commitId + ",f=" + path.path)));
add(new BookmarkablePageLink<Void>("view", BlobPage.class, new PageParameters("p=" + repositoryName + ",h=" + path.commitId + ",f=" + path.path)));
add(new BookmarkablePageLink<Void>("history", BlobPage.class, new PageParameters()).setEnabled(false));
}
}

+ 0
- 12
src/com/gitblit/wicket/panels/ShortLogLinksPanel.html View File

@@ -1,12 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.3-strict.dtd"
xml:lang="en"
lang="en">
<wicket:panel>
<div class="link">
<a wicket:id="commit"><wicket:message key="gb.commit"></wicket:message></a> | <a wicket:id="commitdiff"><wicket:message key="gb.commitdiff"></wicket:message></a> | <a wicket:id="tree"><wicket:message key="gb.tree"></wicket:message></a>
</div>
</wicket:panel>
</html>

+ 0
- 22
src/com/gitblit/wicket/panels/ShortLogLinksPanel.java View File

@@ -1,22 +0,0 @@
package com.gitblit.wicket.panels;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import com.gitblit.wicket.pages.CommitPage;
import com.gitblit.wicket.pages.DiffPage;
import com.gitblit.wicket.pages.TreePage;
public class ShortLogLinksPanel extends BasePanel {
private static final long serialVersionUID = 1L;
public ShortLogLinksPanel(String id, String repositoryName, String commitId) {
super(id);
add(new BookmarkablePageLink<Void>("commit", CommitPage.class, new PageParameters("p=" + repositoryName + ",h=" + commitId)));
add(new BookmarkablePageLink<Void>("commitdiff", DiffPage.class, new PageParameters("p=" + repositoryName + ",h=" + commitId)));
add(new BookmarkablePageLink<Void>("tree", TreePage.class, new PageParameters("p=" + repositoryName + ",h=" + commitId)));
}
}

+ 0
- 12
src/com/gitblit/wicket/panels/TagLinksPanel.html View File

@@ -1,12 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.3-strict.dtd"
xml:lang="en"
lang="en">
<wicket:panel>
<div class="link">
<a wicket:id="commit"><wicket:message key="gb.commit"></wicket:message></a> | <a wicket:id="shortlog"><wicket:message key="gb.shortlog"></wicket:message></a>
</div>
</wicket:panel>
</html>

+ 0
- 20
src/com/gitblit/wicket/panels/TagLinksPanel.java View File

@@ -1,20 +0,0 @@
package com.gitblit.wicket.panels;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import com.gitblit.wicket.models.RefModel;
import com.gitblit.wicket.pages.CommitPage;
import com.gitblit.wicket.pages.ShortLogPage;
public class TagLinksPanel extends BasePanel {
private static final long serialVersionUID = 1L;
public TagLinksPanel(String id, String repositoryName, RefModel tag) {
super(id);
add(new BookmarkablePageLink<Void>("commit", CommitPage.class, new PageParameters("p=" + repositoryName + ",h=" + tag.getCommitId().getName())));
add(new BookmarkablePageLink<Void>("shortlog", ShortLogPage.class, new PageParameters("p=" + repositoryName + ",h=" + tag.getName())));
}
}

+ 33
- 0
src/com/gitblit/wicket/panels/TagsPanel.html View File

@@ -0,0 +1,33 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.3-strict.dtd"
xml:lang="en"
lang="en">
<body>
<wicket:panel>
<!-- tags -->
<div class="header" wicket:id="header">[tags header]</div>
<table style="width:100%" class="pretty">
<tbody>
<tr wicket:id="tag">
<td class="date"><span wicket:id="tagDate">[tag date]</span></td>
<td><b><span wicket:id="tagName">[tag name]</span></b></td>
<td><span wicket:id="tagDescription">[tag description]</span></td>
<td class="rightAlign">
<div class="link">
<a wicket:id="view"><wicket:message key="gb.view"></wicket:message></a> | <a wicket:id="commit"><wicket:message key="gb.commit"></wicket:message></a> | <a wicket:id="log"><wicket:message key="gb.log"></wicket:message></a>
</div>
</td>
</tr>
</tbody>
</table>
<div wicket:id="allTags">[all tags]</div>
<!-- spacer -->
<div style="padding:5px;"></div>
</wicket:panel>
</body>
</html>

+ 81
- 0
src/com/gitblit/wicket/panels/TagsPanel.java View File

@@ -0,0 +1,81 @@
package com.gitblit.wicket.panels;
import java.util.List;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.markup.repeater.data.ListDataProvider;
import org.apache.wicket.model.StringResourceModel;
import org.eclipse.jgit.lib.Repository;
import com.gitblit.utils.JGitUtils;
import com.gitblit.wicket.GitBlitWebSession;
import com.gitblit.wicket.LinkPanel;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.models.RefModel;
import com.gitblit.wicket.pages.CommitPage;
import com.gitblit.wicket.pages.LogPage;
import com.gitblit.wicket.pages.SummaryPage;
import com.gitblit.wicket.pages.TagPage;
import com.gitblit.wicket.pages.TagsPage;
public class TagsPanel extends Panel {
private static final long serialVersionUID = 1L;
public TagsPanel(String wicketId, final String repositoryName, Repository r, final int maxCount) {
super(wicketId);
// header
List<RefModel> tags = JGitUtils.getTags(r, maxCount);
if (maxCount > 0) {
// summary page
// show tags page link
add(new LinkPanel("header", "title", new StringResourceModel("gb.tags", this, null), TagsPage.class, WicketUtils.newRepositoryParameter(repositoryName)));
} else {
// tags page
// show repository summary page link
add(new LinkPanel("header", "title", repositoryName, SummaryPage.class, WicketUtils.newRepositoryParameter(repositoryName)));
}
ListDataProvider<RefModel> tagsDp = new ListDataProvider<RefModel>(tags);
DataView<RefModel> tagView = new DataView<RefModel>("tag", tagsDp) {
private static final long serialVersionUID = 1L;
int counter = 0;
public void populateItem(final Item<RefModel> item) {
RefModel entry = item.getModelObject();
item.add(WicketUtils.createDateLabel("tagDate", entry.getDate(), GitBlitWebSession.get().getTimezone()));
item.add(new LinkPanel("tagName", "list name", entry.getDisplayName(), CommitPage.class, WicketUtils.newCommitParameter(repositoryName, entry.getCommitId().getName())));
String message;
if (maxCount > 0) {
message = WicketUtils.trimString(entry.getShortLog(), 40);
} else {
message = entry.getShortLog();
}
if (entry.isAnnotatedTag()) {
item.add(new LinkPanel("tagDescription", "list subject", message, TagPage.class, WicketUtils.newCommitParameter(repositoryName, entry.getObjectId().getName())));
} else {
item.add(new LinkPanel("tagDescription", "list subject", message, CommitPage.class, WicketUtils.newCommitParameter(repositoryName, entry.getObjectId().getName())));
}
item.add(new BookmarkablePageLink<Void>("view", TagPage.class, WicketUtils.newCommitParameter(repositoryName, entry.getObjectId().getName())).setEnabled(entry.isAnnotatedTag()));
item.add(new BookmarkablePageLink<Void>("commit", CommitPage.class, WicketUtils.newCommitParameter(repositoryName, entry.getCommitId().getName())));
item.add(new BookmarkablePageLink<Void>("log", LogPage.class, WicketUtils.newCommitParameter(repositoryName, entry.getName())));
WicketUtils.setAlternatingBackground(item, counter);
counter++;
}
};
add(tagView);
if (tags.size() < maxCount || maxCount <= 0) {
add(new Label("allTags", "").setVisible(false));
} else {
add(new LinkPanel("allTags", "link", new StringResourceModel("gb.allTags", this, null), TagsPage.class, WicketUtils.newRepositoryParameter(repositoryName)));
}
}
}

+ 6
- 5
src/com/gitblit/wicket/panels/TreeBlobLinksPanel.java View File

@@ -1,20 +1,21 @@
package com.gitblit.wicket.panels;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.html.panel.Panel;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.models.PathModel;
import com.gitblit.wicket.pages.BlobPage;
public class TreeBlobLinksPanel extends BasePanel {
public class TreeBlobLinksPanel extends Panel {
private static final long serialVersionUID = 1L;
public TreeBlobLinksPanel(String id, String repositoryName, PathModel path) {
super(id);
add(new BookmarkablePageLink<Void>("view", BlobPage.class, new PageParameters("p=" + repositoryName + ",h=" + path.commitId + ",f=" + path.path)));
add(new BookmarkablePageLink<Void>("raw", BlobPage.class, new PageParameters()).setEnabled(false));
add(new BookmarkablePageLink<Void>("history", BlobPage.class, new PageParameters()).setEnabled(false));
add(new BookmarkablePageLink<Void>("view", BlobPage.class, WicketUtils.newPathParameter(repositoryName, path.commitId, path.path)));
add(new BookmarkablePageLink<Void>("raw", BlobPage.class).setEnabled(false));
add(new BookmarkablePageLink<Void>("history", BlobPage.class).setEnabled(false));
}
}

+ 5
- 4
src/com/gitblit/wicket/panels/TreeLinksPanel.java View File

@@ -1,19 +1,20 @@
package com.gitblit.wicket.panels;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.html.panel.Panel;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.models.PathModel;
import com.gitblit.wicket.pages.TreePage;
public class TreeLinksPanel extends BasePanel {
public class TreeLinksPanel extends Panel {
private static final long serialVersionUID = 1L;
public TreeLinksPanel(String id, String repositoryName, PathModel path) {
super(id);
add(new BookmarkablePageLink<Void>("tree", TreePage.class, new PageParameters("p=" + repositoryName + ",h=" + path.commitId + ",f=" + path.path)));
add(new BookmarkablePageLink<Void>("history", TreePage.class, new PageParameters()).setEnabled(false));
add(new BookmarkablePageLink<Void>("tree", TreePage.class, WicketUtils.newPathParameter(repositoryName, path.commitId, path.path)));
add(new BookmarkablePageLink<Void>("history", TreePage.class).setEnabled(false));
}
}

+ 10
- 0
src/com/gitblit/wicket/resources/gitblit.css View File

@@ -103,6 +103,12 @@ div.link a {
font-size: inherit;
}
div.link em, div.link span em {
font-style: normal;
font-family: inherit;
font-size: inherit;
}
div.page_header {
height: 25px;
padding: 5px;
@@ -157,6 +163,10 @@ div.page_nav a:hover {
text-decoration: underline;
}
div.page_nav em {
font-style: normal;
}
div.page_nav2 {
padding: 2px 5px 7px 5px;
}

Loading…
Cancel
Save