Changeset 4608 for vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/components/FacetPanel.java
- Timestamp:
- 02/28/14 15:22:54 (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/FacetPanel.java
r4604 r4608 41 41 public abstract class FacetPanel extends Panel { 42 42 43 private final IModel<FacetSelection> model; 43 private final IModel<FacetSelection> selectionModel; 44 private final IModel<ExpansionState> expansionStateModel; 44 45 45 46 private final SelectedFacetPanel selectedFacetPanel; 46 47 private final FacetValuesPanel facetValuesPanel; 47 private final IModel<ExpansionState> expansionStateModel;48 48 49 public FacetPanel(String id, IModel<FacetSelection> model, IModel<ExpansionState> expansionState) {50 super(id, model);51 this. model = model;49 public FacetPanel(String id, IModel<FacetSelection> selectionModel, IModel<ExpansionState> expansionState) { 50 super(id, selectionModel); 51 this.selectionModel = selectionModel; 52 52 this.expansionStateModel = expansionState; 53 53 … … 67 67 super.onConfigure(); 68 68 69 final boolean valuesSelected = ! model.getObject().getFacetValues().isEmpty();69 final boolean valuesSelected = !selectionModel.getObject().getFacetValues().isEmpty(); 70 70 facetValuesPanel.setVisible(!valuesSelected); 71 71 selectedFacetPanel.setVisible(valuesSelected); … … 73 73 74 74 private FacetValuesPanel createFacetValuesPanel(String id) { 75 return new FacetValuesPanel(id, new PropertyModel<FacetField>( model, "facetField")) {75 return new FacetValuesPanel(id, new PropertyModel<FacetField>(selectionModel, "facetField")) { 76 76 @Override 77 77 public void onValuesSelected(String facet, Collection<String> value, AjaxRequestTarget target) { 78 78 // A value has been selected on this facet's panel, update the model! 79 model.getObject().getSelection().selectValues(facet, value);79 selectionModel.getObject().getSelection().selectValues(facet, value); 80 80 // collapse after selection 81 81 expansionStateModel.setObject(ExpansionState.COLLAPSED); … … 89 89 90 90 private SelectedFacetPanel createSelectedFacetPanel(String id) { 91 return new SelectedFacetPanel(id, model) {91 return new SelectedFacetPanel(id, selectionModel) { 92 92 @Override 93 93 public void onValuesUnselected(String facet, Collection<String> valuesRemoved, AjaxRequestTarget target) { 94 final QueryFacetsSelection selection = model.getObject().getSelection();94 final QueryFacetsSelection selection = selectionModel.getObject().getSelection(); 95 95 // Values have been removed, calculate remainder 96 96 final Collection<String> currentSelection = selection.getSelectionValues(facet); … … 153 153 } 154 154 155 @Override 156 public void detachModels() { 157 // this will detach selection model (passed to super through constructor) 158 super.detachModels(); 159 // additional model not known by supertype 160 expansionStateModel.detach(); 161 } 162 155 163 protected abstract void selectionChanged(AjaxRequestTarget target); 156 164
Note: See TracChangeset
for help on using the changeset viewer.