Changeset 4553
- Timestamp:
- 02/25/14 10:51:06 (10 years ago)
- Location:
- vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/components
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/components/SearchResultsPanel.html
r4551 r4553 27 27 <div id="searchresultsheader"> 28 28 <span wicket:id="resultCount" id="searchresultcount">604056 results</span> 29 <span id="searchresultpagecount">Showing 1 to 25</span>29 <span wicket:id="resultPageIndicator" id="searchresultpagecount">Showing 1 to 25</span> 30 30 31 31 <div class="searchresultpagination"> -
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/components/SearchResultsPanel.java
r4551 r4553 26 26 import org.apache.wicket.ajax.markup.html.navigation.paging.AjaxPagingNavigator; 27 27 import org.apache.wicket.markup.html.basic.Label; 28 import org.apache.wicket.markup.html.navigation.paging.IPageableItems; 28 29 import org.apache.wicket.markup.html.panel.Panel; 29 30 import org.apache.wicket.markup.repeater.Item; … … 48 49 super(id, model); 49 50 solrDocumentProvider = new SolrDocumentProvider(documentService, model); 50 add(new Label("resultCount", new AbstractReadOnlyModel<Long>() {51 51 52 @Override 53 public Long getObject() { 54 return solrDocumentProvider.size(); 55 } 56 })); 57 58 final DataView<SolrDocument> resultsView = new DataView<SolrDocument>("resultItem", solrDocumentProvider, 10) { 59 52 // dynamic results view 53 final DataView<SolrDocument> resultsView = createResultsView("resultItem"); 54 add(resultsView); 55 56 // pagination navigators 57 add(new AjaxPagingNavigator("pagingTop", resultsView)); 58 add(new AjaxPagingNavigator("pagingBottom", resultsView)); 59 60 // total result counter 61 add(createResultCount("resultCount")); 62 63 // page result indicater 64 add(createResultPageIndicator("resultPageIndicator", resultsView)); 65 66 //For Ajax updating of search results 67 setOutputMarkupId(true); 68 } 69 70 private DataView<SolrDocument> createResultsView(String id) { 71 final DataView<SolrDocument> resultsView = new DataView<SolrDocument>(id, solrDocumentProvider, 10) { 72 60 73 @Override 61 74 protected void populateItem(Item<SolrDocument> item) { … … 66 79 } 67 80 }; 68 add(resultsView); 81 return resultsView; 82 } 69 83 70 add(new AjaxPagingNavigator("pagingTop", resultsView)); 71 add(new AjaxPagingNavigator("pagingBottom", resultsView)); 72 73 //For Ajax updating of search results 74 setOutputMarkupId(true); 84 private Label createResultCount(String id) { 85 final IModel<String> resultCountModel = new AbstractReadOnlyModel<String>() { 86 87 @Override 88 public String getObject() { 89 return String.format("%d results", solrDocumentProvider.size()); 90 } 91 }; 92 return new Label(id, resultCountModel); 93 } 94 95 private Label createResultPageIndicator(String id, final IPageableItems resultsView) { 96 IModel<String> indicatorModel = new AbstractReadOnlyModel<String>() { 97 98 @Override 99 public String getObject() { 100 final long firstShown = 1 + resultsView.getCurrentPage() * resultsView.getItemsPerPage(); 101 final long lastShown = Math.min(resultsView.getItemCount(), firstShown + resultsView.getItemsPerPage() - 1); 102 return String.format("Showing %d to %d", firstShown, lastShown); 103 } 104 }; 105 return new Label(id, indicatorModel); 75 106 } 76 107
Note: See TracChangeset
for help on using the changeset viewer.