summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2011-04-18 17:50:31 -0400
committerJames Moger <james.moger@gitblit.com>2011-04-18 17:50:31 -0400
commit7203a415392b5372c0866991f1c2810eb5e3527a (patch)
tree10708b9fa5c4c56b56a9c0a8b87c99b48fd806e9
parentff369d23bd12f501b59726cbec77512e2f39fd13 (diff)
downloadgitblit-7203a415392b5372c0866991f1c2810eb5e3527a.tar.gz
gitblit-7203a415392b5372c0866991f1c2810eb5e3527a.zip
Add search form to the page nav links panel within a repository.
-rw-r--r--src/com/gitblit/utils/JGitUtils.java4
-rw-r--r--src/com/gitblit/wicket/GitBlitWebApp.java7
-rw-r--r--src/com/gitblit/wicket/pages/SummaryPage.html2
-rw-r--r--src/com/gitblit/wicket/panels/PageLinksPanel.html17
-rw-r--r--src/com/gitblit/wicket/panels/PageLinksPanel.java36
-rw-r--r--src/com/gitblit/wicket/resources/gitblit.css13
6 files changed, 67 insertions, 12 deletions
diff --git a/src/com/gitblit/utils/JGitUtils.java b/src/com/gitblit/utils/JGitUtils.java
index 3b69c225..49fbf1ef 100644
--- a/src/com/gitblit/utils/JGitUtils.java
+++ b/src/com/gitblit/utils/JGitUtils.java
@@ -519,6 +519,10 @@ public class JGitUtils {
}
return null;
}
+
+ public String toString() {
+ return name().toLowerCase();
+ }
}
public static List<RevCommit> searchRevlogs(Repository r, String objectId, String value, final SearchType type, int offset, int maxCount) {
diff --git a/src/com/gitblit/wicket/GitBlitWebApp.java b/src/com/gitblit/wicket/GitBlitWebApp.java
index dc1e2c9c..106981e3 100644
--- a/src/com/gitblit/wicket/GitBlitWebApp.java
+++ b/src/com/gitblit/wicket/GitBlitWebApp.java
@@ -6,8 +6,6 @@ import org.apache.wicket.Request;
import org.apache.wicket.Response;
import org.apache.wicket.Session;
import org.apache.wicket.protocol.http.WebApplication;
-import org.apache.wicket.protocol.http.request.urlcompressing.UrlCompressingWebRequestProcessor;
-import org.apache.wicket.request.IRequestCycleProcessor;
import org.apache.wicket.request.target.coding.MixedParamUrlCodingStrategy;
import com.gitblit.GitBlit;
@@ -87,11 +85,6 @@ public class GitBlitWebApp extends WebApplication {
}
@Override
- protected final IRequestCycleProcessor newRequestCycleProcessor() {
- return new UrlCompressingWebRequestProcessor();
- }
-
- @Override
public final String getConfigurationType() {
if (GitBlit.self().isDebugMode())
return Application.DEVELOPMENT;
diff --git a/src/com/gitblit/wicket/pages/SummaryPage.html b/src/com/gitblit/wicket/pages/SummaryPage.html
index 7075bd2c..47c10b31 100644
--- a/src/com/gitblit/wicket/pages/SummaryPage.html
+++ b/src/com/gitblit/wicket/pages/SummaryPage.html
@@ -10,7 +10,7 @@
<!-- page nav links -->
<div wicket:id="pageLinks">[page links]</div>
- <div>
+ <div style="clear:both;">
<!-- Repository Activity Chart -->
<div style="width:400px;float:right;">
<img class="activityGraph" wicket:id="commitsChart" />
diff --git a/src/com/gitblit/wicket/panels/PageLinksPanel.html b/src/com/gitblit/wicket/panels/PageLinksPanel.html
index f2e4d316..40ec634f 100644
--- a/src/com/gitblit/wicket/panels/PageLinksPanel.html
+++ b/src/com/gitblit/wicket/panels/PageLinksPanel.html
@@ -5,9 +5,20 @@
lang="en">
<wicket:panel>
- <!-- page nav links -->
- <div class="page_nav">
- <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>
+ <!-- floating search form on right -->
+ <form wicket:id="searchForm">
+ <div class="search">
+ <select wicket:id="searchType"/>
+ <wicket:message key="gb.search"></wicket:message>:
+ <input type="text" id="searchBox" wicket:id="searchBox" value=""/>
+ </div>
+ </form>
+
+ <!-- page nav links -->
+ <div class="page_nav">
+ <div>
+ <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>
</div>
</wicket:panel>
</html> \ No newline at end of file
diff --git a/src/com/gitblit/wicket/panels/PageLinksPanel.java b/src/com/gitblit/wicket/panels/PageLinksPanel.java
index f8824db5..65034051 100644
--- a/src/com/gitblit/wicket/panels/PageLinksPanel.java
+++ b/src/com/gitblit/wicket/panels/PageLinksPanel.java
@@ -2,26 +2,34 @@ package com.gitblit.wicket.panels;
import java.text.MessageFormat;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.wicket.Component;
import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.form.DropDownChoice;
+import org.apache.wicket.markup.html.form.StatelessForm;
+import org.apache.wicket.markup.html.form.TextField;
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.IModel;
+import org.apache.wicket.model.Model;
import org.eclipse.jgit.lib.Repository;
import com.gitblit.GitBlit;
import com.gitblit.Keys;
import com.gitblit.utils.JGitUtils;
+import com.gitblit.utils.JGitUtils.SearchType;
import com.gitblit.wicket.LinkPanel;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.pages.BranchesPage;
import com.gitblit.wicket.pages.LogPage;
+import com.gitblit.wicket.pages.SearchPage;
import com.gitblit.wicket.pages.SummaryPage;
import com.gitblit.wicket.pages.TagsPage;
import com.gitblit.wicket.pages.TicketsPage;
@@ -78,6 +86,8 @@ public class PageLinksPanel extends Panel {
}
};
add(extrasView);
+
+ add(new SearchForm("searchForm", repositoryName));
}
public void disablePageLink(String pageName) {
@@ -93,4 +103,30 @@ public class PageLinksPanel extends Panel {
}
}
}
+
+ class SearchForm extends StatelessForm<Void> {
+ private static final long serialVersionUID = 1L;
+
+ private final String repositoryName;
+
+ private final IModel<String> searchBoxModel = new Model<String>("");
+
+ private final IModel<SearchType> searchTypeModel = new Model<SearchType>(SearchType.COMMIT);
+
+ public SearchForm(String id, String repositoryName) {
+ super(id);
+ this.repositoryName = repositoryName;
+ DropDownChoice<SearchType> searchType = new DropDownChoice<SearchType>("searchType", Arrays.asList(SearchType.values()));
+ searchType.setModel(searchTypeModel);
+ add(searchType);
+ add(new TextField<String>("searchBox", searchBoxModel));
+ }
+
+ @Override
+ public void onSubmit() {
+ SearchType searchType = searchTypeModel.getObject();
+ String searchString = searchBoxModel.getObject();
+ setResponsePage(SearchPage.class, WicketUtils.newSearchParameter(repositoryName, null, searchString, searchType));
+ }
+ }
} \ No newline at end of file
diff --git a/src/com/gitblit/wicket/resources/gitblit.css b/src/com/gitblit/wicket/resources/gitblit.css
index 736dbb36..8264cbb5 100644
--- a/src/com/gitblit/wicket/resources/gitblit.css
+++ b/src/com/gitblit/wicket/resources/gitblit.css
@@ -5,6 +5,10 @@ html, body, table, dl, dt, dd, ol, ul, li, form, a, span, tr, th, td, div, em {
font-family: verdana, sans-serif;
font-size: 12px;
line-height: 15px;
+ margin: 0;
+ padding: 0;
+ border: 0;
+ outline: 0;
}
body {
@@ -141,7 +145,7 @@ div.page_footer {
div.page_nav {
color: #ddd;
background-color: #000070;
- padding: 5px;
+ padding: 7px;
}
div.page_nav a {
@@ -161,6 +165,13 @@ div.page_nav2 {
padding: 2px 5px 7px 5px;
}
+div.search {
+ color:yellow;
+ text-align:right;
+ float:right;
+ padding:3px;
+}
+
.repositories_message {
border: solid #bbb;
border-width: 0px 0px 1px;