Changeset 6813 for vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/search/SelectedFacetPanel.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/panels/search/SelectedFacetPanel.java
r6002 r6813 17 17 package eu.clarin.cmdi.vlo.wicket.panels.search; 18 18 19 import eu.clarin.cmdi.vlo.pojo.FacetFieldSelection; 20 import eu.clarin.cmdi.vlo.wicket.components.FieldValueLabel; 19 import java.util.ArrayList; 21 20 import java.util.Collection; 22 21 import java.util.Collections; 23 22 import java.util.List; 23 import java.util.concurrent.CopyOnWriteArrayList; 24 24 25 import org.apache.wicket.ajax.AjaxRequestTarget; 25 26 import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxFallbackLink; … … 27 28 import org.apache.wicket.markup.html.list.ListView; 28 29 import org.apache.wicket.markup.html.panel.GenericPanel; 30 import org.apache.wicket.model.AbstractReadOnlyModel; 29 31 import org.apache.wicket.model.IModel; 30 import org.apache.wicket.model.PropertyModel; 32 import org.apache.wicket.model.Model; 33 34 import eu.clarin.cmdi.vlo.pojo.FacetSelection; 35 import eu.clarin.cmdi.vlo.wicket.components.FieldValueLabel; 31 36 32 37 /** … … 36 41 * @author twagoo 37 42 */ 38 public abstract class SelectedFacetPanel extends GenericPanel<Facet FieldSelection> {43 public abstract class SelectedFacetPanel extends GenericPanel<FacetSelection> { 39 44 40 public SelectedFacetPanel(String id, final IModel<FacetFieldSelection> model) {45 public SelectedFacetPanel(String id, String facetName, final IModel<FacetSelection> model) { 41 46 super(id, model); 42 47 43 48 // Add removers for all selected values for collapsed state 44 add(createSelectionRemovers("facetValueRemover" ));49 add(createSelectionRemovers("facetValueRemover", facetName)); 45 50 // Add selected items to expanded state 46 add(createSelectionRemovers("selectedItem" ));51 add(createSelectionRemovers("selectedItem", facetName)); 47 52 } 48 49 private ListView<String> createSelectionRemovers(String id ) {53 54 private ListView<String> createSelectionRemovers(String id, String facetName) { 50 55 // Model of the list of selected values in this facet 51 final PropertyModel<List<String>> propertyModel = new PropertyModel<List<String>>(getModel(), "facetValues"); 52 final PropertyModel<String> fieldNameModel = new PropertyModel(getModel(), "facetField.name"); 56 57 List<String> selectedValues; 58 if (getModelObject().getValues() != null) 59 selectedValues = new CopyOnWriteArrayList<String>(getModelObject().getValues()); 60 else 61 selectedValues = Collections.emptyList(); 62 63 64 final IModel<List<String>> propertyModel = new AbstractReadOnlyModel<List<String>>() { 65 66 @Override 67 public List<String> getObject() { 68 return new ArrayList(SelectedFacetPanel.this.getModelObject().getValues()); 69 } 70 71 }; 72 final IModel<String> fieldNameModel = new Model<String>(facetName); 73 //final PropertyModel<List<String>> propertyModel= new PropertyModel<List<String>>(getModel(), "facetValues"); 74 //final PropertyModel<String> fieldNameModel = new PropertyModel(getModel(), "facetField.name"); 75 76 53 77 // Repeating container of value + unselection links 54 78 final ListView<String> listView = new ListView<String>(id, propertyModel) { … … 79 103 * (fallback)! 80 104 */ 81 protected abstract void onValuesUnselected( String facet,Collection<String> valuesRemoved, AjaxRequestTarget target);105 protected abstract void onValuesUnselected(Collection<String> valuesRemoved, AjaxRequestTarget target); 82 106 83 107 public class RemoveLink extends IndicatingAjaxFallbackLink { … … 94 118 // Remove a single value 95 119 // Call callback 96 onValuesUnselected( 97 SelectedFacetPanel.this.getModelObject().getFacetField().getName(), 98 Collections.singleton(valueModel.getObject()), target); 120 onValuesUnselected(Collections.singleton(valueModel.getObject()), target); 99 121 } 100 122
Note: See TracChangeset
for help on using the changeset viewer.