Changeset 6813 for vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/pages/FacetedSearchPage.java
- Timestamp:
- 11/17/15 11:55:14 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/pages/FacetedSearchPage.java
r6334 r6813 1 1 package eu.clarin.cmdi.vlo.wicket.pages; 2 2 3 import eu.clarin.cmdi.vlo.wicket.model.PermaLinkModel;4 import eu.clarin.cmdi.vlo.wicket.panels.SingleFacetPanel;5 import eu.clarin.cmdi.vlo.config.VloConfig;6 import eu.clarin.cmdi.vlo.wicket.panels.search.FacetsPanel;7 import eu.clarin.cmdi.vlo.pojo.QueryFacetsSelection;8 import eu.clarin.cmdi.vlo.service.PageParametersConverter;9 import eu.clarin.cmdi.vlo.service.solr.FacetFieldsService;10 import eu.clarin.cmdi.vlo.wicket.panels.search.FacetPanel;11 import eu.clarin.cmdi.vlo.wicket.panels.search.SearchFormPanel;12 import eu.clarin.cmdi.vlo.wicket.panels.search.SearchResultsPanel;13 import eu.clarin.cmdi.vlo.wicket.model.FacetFieldsModel;14 import eu.clarin.cmdi.vlo.wicket.panels.BreadCrumbPanel;15 import eu.clarin.cmdi.vlo.wicket.panels.search.FacetValuesPanel;16 import eu.clarin.cmdi.vlo.wicket.panels.TopLinksPanel;17 import eu.clarin.cmdi.vlo.wicket.panels.search.AdvancedSearchOptionsPanel;18 3 import java.util.List; 4 19 5 import org.apache.solr.client.solrj.response.FacetField; 20 6 import org.apache.wicket.Component; 21 7 import org.apache.wicket.ajax.AjaxRequestTarget; 22 8 import org.apache.wicket.markup.html.WebMarkupContainer; 23 import org.apache.wicket.request.mapper.parameter.PageParameters;24 9 import org.apache.wicket.markup.html.panel.Panel; 25 10 import org.apache.wicket.model.IModel; 26 11 import org.apache.wicket.model.Model; 12 import org.apache.wicket.request.mapper.parameter.PageParameters; 27 13 import org.apache.wicket.spring.injection.annot.SpringBean; 14 15 import eu.clarin.cmdi.vlo.config.VloConfig; 16 import eu.clarin.cmdi.vlo.pojo.QueryFacetsSelection; 17 import eu.clarin.cmdi.vlo.service.PageParametersConverter; 18 import eu.clarin.cmdi.vlo.service.solr.FacetFieldsService; 19 import eu.clarin.cmdi.vlo.wicket.model.FacetFieldsModel; 20 import eu.clarin.cmdi.vlo.wicket.model.FacetNamesModel; 21 import eu.clarin.cmdi.vlo.wicket.model.PermaLinkModel; 22 import eu.clarin.cmdi.vlo.wicket.panels.BreadCrumbPanel; 23 import eu.clarin.cmdi.vlo.wicket.panels.SingleFacetPanel; 24 import eu.clarin.cmdi.vlo.wicket.panels.TopLinksPanel; 25 import eu.clarin.cmdi.vlo.wicket.panels.search.AdvancedSearchOptionsPanel; 26 import eu.clarin.cmdi.vlo.wicket.panels.search.FacetPanel; 27 import eu.clarin.cmdi.vlo.wicket.panels.search.FacetValuesPanel; 28 import eu.clarin.cmdi.vlo.wicket.panels.search.FacetsPanel; 29 import eu.clarin.cmdi.vlo.wicket.panels.search.SearchFormPanel; 30 import eu.clarin.cmdi.vlo.wicket.panels.search.SearchResultsPanel; 28 31 29 32 /** … … 48 51 private Component navigation; 49 52 private Component searchForm; 53 54 55 IModel<List<String>> facetNamesModel; 56 FacetFieldsModel fieldsModel; 57 58 50 59 51 60 public FacetedSearchPage(IModel<QueryFacetsSelection> queryModel) { 52 61 super(queryModel); 62 createModels(); 53 63 addComponents(); 54 64 } … … 60 70 final IModel<QueryFacetsSelection> queryModel = new Model<QueryFacetsSelection>(selection); 61 71 setModel(queryModel); 72 createModels(); 62 73 addComponents(); 74 } 75 76 77 private void createModels(){ 78 facetNamesModel = new FacetNamesModel(vloConfig.getFacetFields()); 79 fieldsModel = new FacetFieldsModel(facetFieldsService, facetNamesModel.getObject(), getModel(), -1); 63 80 } 64 81 … … 139 156 enclosure.setOutputMarkupId(true); 140 157 if (vloConfig.getCollectionFacet() != null) { 141 final FacetPanel panel = new SingleFacetPanel("collectionsFacet", getModel(), vloConfig.getCollectionFacet(), facetFieldsService, 3) {158 final FacetPanel panel = new SingleFacetPanel("collectionsFacet", vloConfig.getCollectionFacet(), getModel(), facetFieldsService, 3) { 142 159 143 160 @Override … … 158 175 159 176 private Panel createFacetsPanel(final String id) { 160 final IModel<QueryFacetsSelection> queryModel = getModel(); 161 final IModel<List<FacetField>> facetFieldsModel = new FacetFieldsModel(facetFieldsService, vloConfig.getFacetFields(), queryModel, FacetValuesPanel.MAX_NUMBER_OF_FACETS_TO_SHOW); 162 final FacetsPanel panel = new FacetsPanel(id, facetFieldsModel, queryModel) { 177 178 final FacetsPanel panel = new FacetsPanel(id, facetNamesModel, fieldsModel, getModel()) { 163 179 164 180 @Override … … 172 188 173 189 private void updateSelection(AjaxRequestTarget target) { 190 191 //detach facetFieldsModel when selection is changed 192 fieldsModel.detach(); 193 174 194 // selection changed, update facets and search results 175 195 if (target != null) { // null if JavaScript disabled
Note: See TracChangeset
for help on using the changeset viewer.