Changeset 4582 for vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/components/FacetsPanel.java
- Timestamp:
- 02/27/14 15:14:16 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/components/FacetsPanel.java
r4579 r4582 17 17 package eu.clarin.cmdi.vlo.wicket.components; 18 18 19 import eu.clarin.cmdi.vlo.config.VloSpringConfig;20 19 import eu.clarin.cmdi.vlo.pojo.QueryFacetsSelection; 21 20 import eu.clarin.cmdi.vlo.service.FacetFieldsService; 22 import eu.clarin.cmdi.vlo.wicket. provider.FacetFieldsDataProvider;23 import java.util. Collection;21 import eu.clarin.cmdi.vlo.wicket.model.FacetSelectionModel; 22 import java.util.List; 24 23 import org.apache.solr.client.solrj.response.FacetField; 24 import org.apache.wicket.markup.html.list.ListItem; 25 import org.apache.wicket.markup.html.list.ListView; 25 26 import org.apache.wicket.markup.html.panel.Panel; 26 import org.apache.wicket.markup.repeater.Item;27 import org.apache.wicket.markup.repeater.data.DataView;28 27 import org.apache.wicket.model.IModel; 29 import org.apache.wicket.spring.injection.annot.SpringBean;30 28 31 29 /** … … 40 38 * @author twagoo 41 39 */ 42 public class FacetsPanel extends AbstractFacetsPanel {40 public class FacetsPanel extends Panel { 43 41 44 @SpringBean(name = VloSpringConfig.FACETS_PANEL_SERVICE)45 private FacetFieldsService facetFieldsService;42 public FacetsPanel(final String id, final IModel<List<FacetField>> facetsModel, final IModel<QueryFacetsSelection> selectionModel) { 43 super(id, selectionModel); 46 44 47 public FacetsPanel(final String id, IModel<QueryFacetsSelection> model) { 48 super(id, model); 49 50 add(new DataView<FacetField>("facets", new FacetFieldsDataProvider(facetFieldsService, model)) { 45 add(new ListView<FacetField>("facets", facetsModel) { 51 46 52 47 @Override 53 protected void populateItem(Item<FacetField> item) { 54 item.add(createFacetPanel("facet", item.getModel())); 48 protected void populateItem(ListItem<FacetField> item) { 49 item.add( 50 new FacetPanel("facet", new FacetSelectionModel(item.getModel(), selectionModel)) 51 ); 55 52 } 56 53 }); 57 54 } 58 59 private Panel createFacetPanel(String id, IModel<FacetField> facetFieldModel) {60 // Is there a selection for this facet?61 final String facetName = facetFieldModel.getObject().getName();62 final Collection<String> selectionValues = model.getObject().getSelectionValues(facetName);63 // Show different panel, depending on selected values64 if (selectionValues == null || selectionValues.isEmpty()) {65 // No values selected, show value selection panel66 return createFacetValuesPanel(id, facetFieldModel);67 } else {68 // Values selected, show selected values panel (with option to remove)69 return createSelectedFacetPanel(id, facetName);70 }71 }72 55 }
Note: See TracChangeset
for help on using the changeset viewer.