Browse Source

Add search form to the page nav links panel within a repository.

tags/v0.5.0
James Moger 13 years ago
parent
commit
7203a41539

+ 4
- 0
src/com/gitblit/utils/JGitUtils.java View File

@@ -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) {

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

@@ -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;
@@ -86,11 +84,6 @@ public class GitBlitWebApp extends WebApplication {
return new GitBlitWebSession(request);
}
@Override
protected final IRequestCycleProcessor newRequestCycleProcessor() {
return new UrlCompressingWebRequestProcessor();
}
@Override
public final String getConfigurationType() {
if (GitBlit.self().isDebugMode())

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

@@ -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" />

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

@@ -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>

+ 36
- 0
src/com/gitblit/wicket/panels/PageLinksPanel.java View File

@@ -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));
}
}
}

+ 12
- 1
src/com/gitblit/wicket/resources/gitblit.css View File

@@ -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;

Loading…
Cancel
Save