From 1a3fc5e8f150ff73be27c67006a10bbab0c585b4 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 11 Apr 2011 09:39:15 -0400 Subject: [PATCH] Refactored more link panels into fragments. --- /dev/null | 20 ---------- src/com/gitblit/wicket/GitBlitWebApp.properties | 3 + src/com/gitblit/wicket/pages/RepositoriesPage.java | 8 +++- src/com/gitblit/wicket/pages/CommitPage.java | 7 ++- src/com/gitblit/wicket/panels/PathBreadcrumbsPanel.java | 14 +++--- src/com/gitblit/wicket/pages/TreePage.java | 24 ++++++++--- src/com/gitblit/wicket/pages/RepositoriesPage.html | 7 +++ src/com/gitblit/wicket/pages/TreePage.html | 16 +++++++ src/com/gitblit/wicket/pages/CommitPage.html | 2 9 files changed, 59 insertions(+), 42 deletions(-) diff --git a/src/com/gitblit/wicket/GitBlitWebApp.properties b/src/com/gitblit/wicket/GitBlitWebApp.properties index a16ea74..1d7e7ba 100644 --- a/src/com/gitblit/wicket/GitBlitWebApp.properties +++ b/src/com/gitblit/wicket/GitBlitWebApp.properties @@ -37,4 +37,5 @@ gb.ticgit = ticgit gb.pageFirst = first gb.pagePrevious prev -gb.pageNext = next \ No newline at end of file +gb.pageNext = next +gb.parent = parent \ No newline at end of file diff --git a/src/com/gitblit/wicket/pages/CommitPage.html b/src/com/gitblit/wicket/pages/CommitPage.html index e49cd57..e3434c4 100644 --- a/src/com/gitblit/wicket/pages/CommitPage.html +++ b/src/com/gitblit/wicket/pages/CommitPage.html @@ -12,7 +12,7 @@ <!-- commit nav links --> <div class="page_nav2"> - parent: <span wicket:id="parentLink">[parent link]</span> | <span wicket:id="patchLink">[patch link]</span> + <wicket:message key="gb.parent"></wicket:message>: <span wicket:id="parentLink">[parent link]</span> | <span wicket:id="patchLink">[patch link]</span> | <span wicket:id="commitdiffLink">[commitdiff link]</span> </div> <!-- shortlog header --> diff --git a/src/com/gitblit/wicket/pages/CommitPage.java b/src/com/gitblit/wicket/pages/CommitPage.java index b0a92b0..7de0345 100644 --- a/src/com/gitblit/wicket/pages/CommitPage.java +++ b/src/com/gitblit/wicket/pages/CommitPage.java @@ -9,6 +9,7 @@ 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 org.eclipse.jgit.revwalk.RevCommit; @@ -25,10 +26,8 @@ public CommitPage(PageParameters params) { super(params); - final String commitId = params.getString("h", ""); - Repository r = getRepository(); - RevCommit c = JGitUtils.getCommit(r, commitId); + RevCommit c = JGitUtils.getCommit(r, objectId); List<String> parents = new ArrayList<String>(); if (c.getParentCount() > 0) { @@ -40,8 +39,10 @@ // commit page links if (parents.size() == 0) { add(new Label("parentLink", "none")); + add(new Label("commitdiffLink", getString("gb.commitdiff"))); } else { add(new LinkPanel("parentLink", null, parents.get(0).substring(0, 8), CommitPage.class, newCommitParameter(parents.get(0)))); + add(new LinkPanel("commitdiffLink", null, new StringResourceModel("gb.commitdiff", this, null), DiffPage.class, WicketUtils.newObjectParameter(repositoryName, objectId))); } add(new Label("patchLink", getString("gb.patch"))); diff --git a/src/com/gitblit/wicket/pages/RepositoriesPage.html b/src/com/gitblit/wicket/pages/RepositoriesPage.html index 5a84ee2..9bcb9b8 100644 --- a/src/com/gitblit/wicket/pages/RepositoriesPage.html +++ b/src/com/gitblit/wicket/pages/RepositoriesPage.html @@ -26,6 +26,13 @@ </tr> </tbody> </table> + + <wicket:fragment wicket:id="adminLinks"> + <!-- page nav links --> + <div class="page_nav"> + <a wicket:id="newRepository"><wicket:message key="gb.newRepository"></wicket:message></a> | <a wicket:id="newUser"><wicket:message key="gb.newUser"></wicket:message></a> + </div> + </wicket:fragment> </wicket:extend> </body> </html> \ No newline at end of file diff --git a/src/com/gitblit/wicket/pages/RepositoriesPage.java b/src/com/gitblit/wicket/pages/RepositoriesPage.java index 83d6752..47d4512 100644 --- a/src/com/gitblit/wicket/pages/RepositoriesPage.java +++ b/src/com/gitblit/wicket/pages/RepositoriesPage.java @@ -10,6 +10,8 @@ import org.apache.wicket.extensions.markup.html.repeater.util.SortParam; import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider; import org.apache.wicket.markup.html.basic.Label; +import org.apache.wicket.markup.html.link.BookmarkablePageLink; +import org.apache.wicket.markup.html.panel.Fragment; import org.apache.wicket.markup.repeater.Item; import org.apache.wicket.markup.repeater.data.DataView; import org.apache.wicket.model.IModel; @@ -22,7 +24,6 @@ import com.gitblit.wicket.LinkPanel; import com.gitblit.wicket.WicketUtils; import com.gitblit.wicket.models.RepositoryModel; -import com.gitblit.wicket.panels.AdminLinksPanel; public class RepositoriesPage extends BasePage { @@ -31,7 +32,10 @@ super(); setupPage("", ""); - add(new AdminLinksPanel("adminPanel").setVisible(StoredSettings.getBoolean("allowAdministration", false))); + Fragment adminLinks = new Fragment("adminPanel", "adminLinks", this); + adminLinks.add(new BookmarkablePageLink<Void>("newRepository", RepositoriesPage.class)); + adminLinks.add(new BookmarkablePageLink<Void>("newUser", RepositoriesPage.class)); + add(adminLinks.setVisible(StoredSettings.getBoolean("allowAdministration", false))); add(new Label("repositoriesMessage", StoredSettings.getString("repositoriesMessage", "")).setEscapeModelStrings(false)); diff --git a/src/com/gitblit/wicket/pages/TreePage.html b/src/com/gitblit/wicket/pages/TreePage.html index 2bfbb99..3eda96b 100644 --- a/src/com/gitblit/wicket/pages/TreePage.html +++ b/src/com/gitblit/wicket/pages/TreePage.html @@ -27,10 +27,24 @@ <td><span wicket:id="pathName"></span></td> <td class="size"><span wicket:id="pathSize">[path size]</span></td> <td class="mode"><span wicket:id="pathPermissions">[path permissions]</span></td> - <td class="rightAlign"><span wicket:id="treeLinks">[path links]</span></td> + <td class="rightAlign"><span wicket:id="pathLinks">[path links]</span></td> </tr> </table> + <!-- tree links --> + <wicket:fragment wicket:id="treeLinks"> + <div class="link"> + <a wicket:id="tree"><wicket:message key="gb.tree"></wicket:message></a> | <a wicket:id="history"><wicket:message key="gb.history"></wicket:message></a> + </div> + </wicket:fragment> + + <!-- blob links --> + <wicket:fragment wicket:id="blobLinks"> + <div class="link"> + <a wicket:id="view"><wicket:message key="gb.view"></wicket:message></a> | <a wicket:id="raw"><wicket:message key="gb.raw"></wicket:message></a> | <a wicket:id="history"><wicket:message key="gb.history"></wicket:message></a> + </div> + </wicket:fragment> + </wicket:extend> </body> </html> \ No newline at end of file diff --git a/src/com/gitblit/wicket/pages/TreePage.java b/src/com/gitblit/wicket/pages/TreePage.java index 493313e..e24033e 100644 --- a/src/com/gitblit/wicket/pages/TreePage.java +++ b/src/com/gitblit/wicket/pages/TreePage.java @@ -4,6 +4,8 @@ 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.Fragment; import org.apache.wicket.markup.repeater.Item; import org.apache.wicket.markup.repeater.data.DataView; import org.apache.wicket.markup.repeater.data.ListDataProvider; @@ -17,8 +19,6 @@ import com.gitblit.wicket.WicketUtils; import com.gitblit.wicket.models.PathModel; import com.gitblit.wicket.panels.PathBreadcrumbsPanel; -import com.gitblit.wicket.panels.TreeBlobLinksPanel; -import com.gitblit.wicket.panels.TreeLinksPanel; public class TreePage extends RepositoryPage { @@ -59,22 +59,32 @@ // parent .. path item.add(new Label("pathSize", "")); item.add(new LinkPanel("pathName", null, entry.name, TreePage.class, newPathParameter(entry.path))); - item.add(new Label("treeLinks", "")); + item.add(new Label("pathLinks", "")); } else { if (entry.isTree()) { // folder/tree link item.add(new Label("pathSize", "")); item.add(new LinkPanel("pathName", null, entry.name, TreePage.class, newPathParameter(entry.path))); - item.add(new TreeLinksPanel("treeLinks", repositoryName, entry)); + + // links + Fragment links = new Fragment("pathLinks", "treeLinks", this); + links.add(new BookmarkablePageLink<Void>("tree", TreePage.class, WicketUtils.newPathParameter(repositoryName, entry.commitId, entry.path))); + links.add(new BookmarkablePageLink<Void>("history", TreePage.class).setEnabled(false)); + item.add(links); } else { // blob link item.add(new Label("pathSize", byteFormat.format(entry.size))); item.add(new LinkPanel("pathName", "list", entry.name, BlobPage.class, newPathParameter(entry.path))); - item.add(new TreeBlobLinksPanel("treeLinks", repositoryName, entry)); + + // links + Fragment links = new Fragment("pathLinks", "blobLinks", this); + links.add(new BookmarkablePageLink<Void>("view", BlobPage.class, WicketUtils.newPathParameter(repositoryName, entry.commitId, entry.path))); + links.add(new BookmarkablePageLink<Void>("raw", BlobPage.class).setEnabled(false)); + links.add(new BookmarkablePageLink<Void>("history", BlobPage.class).setEnabled(false)); + item.add(links); } } - String clazz = counter % 2 == 0 ? "dark" : "light"; - WicketUtils.setCssClass(item, clazz); + WicketUtils.setAlternatingBackground(item, counter); counter++; } }; diff --git a/src/com/gitblit/wicket/panels/AdminLinksPanel.html b/src/com/gitblit/wicket/panels/AdminLinksPanel.html deleted file mode 100644 index 9e12823..0000000 --- a/src/com/gitblit/wicket/panels/AdminLinksPanel.html +++ /dev/null @@ -1,13 +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> - <!-- page nav links --> - <div class="page_nav"> - <a wicket:id="newRepository"><wicket:message key="gb.newRepository"></wicket:message></a> | <a wicket:id="newUser"><wicket:message key="gb.newUser"></wicket:message></a> - </div> -</wicket:panel> -</html> \ No newline at end of file diff --git a/src/com/gitblit/wicket/panels/AdminLinksPanel.java b/src/com/gitblit/wicket/panels/AdminLinksPanel.java deleted file mode 100644 index 3199447..0000000 --- a/src/com/gitblit/wicket/panels/AdminLinksPanel.java +++ /dev/null @@ -1,18 +0,0 @@ -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 Panel { - - private static final long serialVersionUID = 1L; - - public AdminLinksPanel(String id) { - super(id); - - add(new BookmarkablePageLink<Void>("newRepository", RepositoriesPage.class)); - add(new BookmarkablePageLink<Void>("newUser", RepositoriesPage.class)); - } -} \ No newline at end of file diff --git a/src/com/gitblit/wicket/panels/PathBreadcrumbsPanel.java b/src/com/gitblit/wicket/panels/PathBreadcrumbsPanel.java index d27133c..974fb9a 100644 --- a/src/com/gitblit/wicket/panels/PathBreadcrumbsPanel.java +++ b/src/com/gitblit/wicket/panels/PathBreadcrumbsPanel.java @@ -20,7 +20,7 @@ private final String ROOT = "--ROOT--"; - public PathBreadcrumbsPanel(String id, final String repositoryName, String pathName, final String commitId) { + public PathBreadcrumbsPanel(String id, final String repositoryName, String pathName, final String objectId) { super(id); List<BreadCrumb> crumbs = new ArrayList<BreadCrumb>(); crumbs.add(new BreadCrumb("[" + repositoryName + "]", ROOT, false)); @@ -44,13 +44,13 @@ public void populateItem(final Item<BreadCrumb> item) { final BreadCrumb entry = item.getModelObject(); String path = entry.getPath(); - String parameters = "p=" + repositoryName + ",h=" + commitId; - if (path != null) { - parameters += ",f=" + path; + if (entry.isLeaf) { + item.add(new Label("pathLink", entry.name)); + item.add(new Label("pathSeparator", "").setVisible(false)); + } else { + item.add(new LinkPanel("pathLink", null, entry.name, TreePage.class, WicketUtils.newPathParameter(repositoryName, objectId, path))); + item.add(new Label("pathSeparator", "/")); } - - item.add(new LinkPanel("pathLink", null, entry.name, TreePage.class, WicketUtils.newPathParameter(repositoryName, commitId, path))); - item.add(new Label("pathSeparator", entry.isLeaf ? "" : "/")); } }; add(pathsView); diff --git a/src/com/gitblit/wicket/panels/TreeBlobLinksPanel.html b/src/com/gitblit/wicket/panels/TreeBlobLinksPanel.html deleted file mode 100644 index 9f5c6a7..0000000 --- a/src/com/gitblit/wicket/panels/TreeBlobLinksPanel.html +++ /dev/null @@ -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="view"><wicket:message key="gb.view"></wicket:message></a> | <a wicket:id="raw"><wicket:message key="gb.raw"></wicket:message></a> | <a wicket:id="history"><wicket:message key="gb.history"></wicket:message></a> - </div> -</wicket:panel> -</html> \ No newline at end of file diff --git a/src/com/gitblit/wicket/panels/TreeBlobLinksPanel.java b/src/com/gitblit/wicket/panels/TreeBlobLinksPanel.java deleted file mode 100644 index e1e6f79..0000000 --- a/src/com/gitblit/wicket/panels/TreeBlobLinksPanel.java +++ /dev/null @@ -1,21 +0,0 @@ -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.WicketUtils; -import com.gitblit.wicket.models.PathModel; -import com.gitblit.wicket.pages.BlobPage; - - -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, 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)); - } -} \ No newline at end of file diff --git a/src/com/gitblit/wicket/panels/TreeLinksPanel.html b/src/com/gitblit/wicket/panels/TreeLinksPanel.html deleted file mode 100644 index 69f3dec..0000000 --- a/src/com/gitblit/wicket/panels/TreeLinksPanel.html +++ /dev/null @@ -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="tree"><wicket:message key="gb.tree"></wicket:message></a> | <a wicket:id="history"><wicket:message key="gb.history"></wicket:message></a> - </div> -</wicket:panel> -</html> \ No newline at end of file diff --git a/src/com/gitblit/wicket/panels/TreeLinksPanel.java b/src/com/gitblit/wicket/panels/TreeLinksPanel.java deleted file mode 100644 index 4965004..0000000 --- a/src/com/gitblit/wicket/panels/TreeLinksPanel.java +++ /dev/null @@ -1,20 +0,0 @@ -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.WicketUtils; -import com.gitblit.wicket.models.PathModel; -import com.gitblit.wicket.pages.TreePage; - - -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, WicketUtils.newPathParameter(repositoryName, path.commitId, path.path))); - add(new BookmarkablePageLink<Void>("history", TreePage.class).setEnabled(false)); - } -} \ No newline at end of file -- Gitblit v1.9.1