James Moger
2011-05-11 dfb88962fdbd29f59abe92178bb042738d57c3e1
commit | author | age
98ce17 1 package com.gitblit.wicket.pages;
JM 2
3 import org.apache.wicket.PageParameters;
4 import org.apache.wicket.markup.html.link.BookmarkablePageLink;
5
6 import com.gitblit.utils.JGitUtils.SearchType;
7 import com.gitblit.wicket.RepositoryPage;
8 import com.gitblit.wicket.WicketUtils;
9 import com.gitblit.wicket.panels.SearchPanel;
10
11 public class SearchPage extends RepositoryPage {
12     
13     public SearchPage(PageParameters params) {
14         super(params);
15
16         String value = WicketUtils.getSearchString(params);
17         String type = WicketUtils.getSearchType(params);
18         SearchType searchType = SearchType.forName(type);
19         
20         int pageNumber = WicketUtils.getPage(params);
21         int prevPage = Math.max(0, pageNumber - 1);
22         int nextPage = pageNumber + 1;
23
24         SearchPanel search = new SearchPanel("searchPanel", repositoryName, objectId, value, searchType, getRepository(), -1, pageNumber - 1);
25         boolean hasMore = search.hasMore();
26         add(search);
27
28         add(new BookmarkablePageLink<Void>("firstPageTop", SearchPage.class, WicketUtils.newSearchParameter(repositoryName, objectId, value, searchType)).setEnabled(pageNumber > 1));
29         add(new BookmarkablePageLink<Void>("prevPageTop", SearchPage.class, WicketUtils.newSearchParameter(repositoryName, objectId, value, searchType, prevPage)).setEnabled(pageNumber > 1));
30         add(new BookmarkablePageLink<Void>("nextPageTop", SearchPage.class, WicketUtils.newSearchParameter(repositoryName, objectId, value, searchType, nextPage)).setEnabled(hasMore));
31
32         add(new BookmarkablePageLink<Void>("firstPageBottom", SearchPage.class, WicketUtils.newSearchParameter(repositoryName, objectId, value, searchType)).setEnabled(pageNumber > 1));
33         add(new BookmarkablePageLink<Void>("prevPageBottom", SearchPage.class, WicketUtils.newSearchParameter(repositoryName, objectId, value, searchType, prevPage)).setEnabled(pageNumber > 1));
34         add(new BookmarkablePageLink<Void>("nextPageBottom", SearchPage.class, WicketUtils.newSearchParameter(repositoryName, objectId, value, searchType, nextPage)).setEnabled(hasMore));
35
36     }
37
38     @Override
39     protected String getPageName() {
40         return getString("gb.search");
41     }
42 }