Changeset 5012
- Timestamp:
- 04/17/14 15:08:27 (10 years ago)
- Location:
- vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/record
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/record/FieldsTablePanel.html
r4872 r5012 33 33 <li wicket:id="values"> 34 34 <wicket:container wicket:id="value">[value]</wicket:container> 35 <a wicket:id="facetSelect" class="recordfacetselect" title="Search for similar"><span>[search for similar]</span></a> 35 36 </li> 36 37 </ul> -
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/record/FieldsTablePanel.java
r4993 r5012 17 17 package eu.clarin.cmdi.vlo.wicket.panels.record; 18 18 19 import eu.clarin.cmdi.vlo.config.VloConfig; 19 20 import eu.clarin.cmdi.vlo.pojo.DocumentField; 21 import eu.clarin.cmdi.vlo.pojo.FacetSelection; 22 import eu.clarin.cmdi.vlo.pojo.QueryFacetsSelection; 23 import eu.clarin.cmdi.vlo.service.PageParametersConverter; 20 24 import eu.clarin.cmdi.vlo.wicket.model.SolrFieldNameModel; 25 import eu.clarin.cmdi.vlo.wicket.pages.FacetedSearchPage; 26 import java.util.Collections; 21 27 import java.util.List; 22 28 import org.apache.wicket.AttributeModifier; 23 29 import org.apache.wicket.markup.html.basic.Label; 30 import org.apache.wicket.markup.html.link.Link; 24 31 import org.apache.wicket.markup.html.list.ListItem; 25 32 import org.apache.wicket.markup.html.list.ListView; … … 31 38 import org.apache.wicket.model.IModel; 32 39 import org.apache.wicket.model.PropertyModel; 40 import org.apache.wicket.spring.injection.annot.SpringBean; 33 41 34 42 /** … … 38 46 public class FieldsTablePanel extends Panel { 39 47 48 @SpringBean 49 private VloConfig vloConfig; 50 @SpringBean(name = "queryParametersConverter") 51 private PageParametersConverter<QueryFacetsSelection> paramsConverter; 52 40 53 public FieldsTablePanel(String id, IDataProvider<DocumentField> fieldProvider) { 41 54 super(id); … … 43 56 44 57 @Override 45 protected void populateItem( Item<DocumentField> item) {58 protected void populateItem(final Item<DocumentField> item) { 46 59 final IModel<DocumentField> fieldModel = item.getModel(); 47 item.add(new Label("fieldName", new SolrFieldNameModel(new PropertyModel(fieldModel, "fieldName")))); 60 final PropertyModel<String> fieldNameModel = new PropertyModel<String>(fieldModel, "fieldName"); 61 final SolrFieldNameModel friendlyFieldNameModel = new SolrFieldNameModel(fieldNameModel); 62 item.add(new Label("fieldName", friendlyFieldNameModel)); 48 63 final PropertyModel<List> valuesModel = new PropertyModel<List>(fieldModel, "values"); 49 64 item.add(new ListView("values", valuesModel) { 50 65 51 66 @Override 52 protected void populateItem(ListItem item) { 53 item.add(new Label("value", item.getModel())); 67 protected void populateItem(final ListItem fieldValueItem) { 68 fieldValueItem.add(new Label("value", fieldValueItem.getModel())); 69 fieldValueItem.add(createFacetSelectLink("facetSelect", fieldNameModel, fieldValueItem.getModel())); 54 70 } 55 71 }); 56 72 57 73 // if field has multiple values, set 'multiple' class on markup element 58 74 item.add(new AttributeModifier("class", new AbstractReadOnlyModel<String>() { … … 71 87 } 72 88 89 private Link createFacetSelectLink(String id, final IModel<String> facetNameModel, final IModel valueModel) { 90 return new Link(id) { 91 92 @Override 93 public void onClick() { 94 final FacetSelection facetSelection = new FacetSelection(Collections.singleton(valueModel.getObject().toString())); 95 final QueryFacetsSelection selection = new QueryFacetsSelection(Collections.singletonMap(facetNameModel.getObject(), facetSelection)); 96 setResponsePage(FacetedSearchPage.class, paramsConverter.toParameters(selection)); 97 } 98 99 @Override 100 protected void onConfigure() { 101 super.onConfigure(); 102 // only show for facet fields 103 setVisible(vloConfig.getFacetFields().contains(facetNameModel.getObject())); 104 } 105 106 }; 107 } 108 73 109 }
Note: See TracChangeset
for help on using the changeset viewer.