Changeset 4608
- Timestamp:
- 02/28/14 15:22:54 (10 years ago)
- Location:
- vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket
- Files:
-
- 3 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 -
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/components/FacetsPanel.java
r4604 r4608 51 51 */ 52 52 public FacetsPanel(final String id, final IModel<List<FacetField>> facetsModel, final IModel<QueryFacetsSelection> selectionModel) { 53 super(id , selectionModel);54 53 super(id); 54 55 55 final Map<String, ExpansionState> expansionStateMap = new HashMap<String, ExpansionState>(); 56 56 final MapModel<String, ExpansionState> expansionModel = new MapModel<String, ExpansionState>(expansionStateMap); 57 57 58 58 final ListView<FacetField> facetsView = new ListView<FacetField>("facets", facetsModel) { 59 59 60 60 @Override 61 61 protected void populateItem(ListItem<FacetField> item) { … … 64 64 new FacetSelectionModel(item.getModel(), selectionModel), 65 65 new FacetExpansionStateModel(item.getModel(), expansionModel)) { 66 67 68 69 70 71 66 67 @Override 68 protected void selectionChanged(AjaxRequestTarget target) { 69 FacetsPanel.this.selectionChanged(target); 70 } 71 } 72 72 ); 73 73 } … … 77 77 add(facetsView); 78 78 } 79 79 80 80 protected abstract void selectionChanged(AjaxRequestTarget target); 81 81 } -
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/pages/FacetedSearchPage.java
r4601 r4608 61 61 } 62 62 63 private Panel createCollectionsPanel(final String id, final Model<QueryFacetsSelection> queryModel) {63 private Panel createCollectionsPanel(final String id, final IModel<QueryFacetsSelection> queryModel) { 64 64 final FacetFieldModel collectionFacetFieldModel = new FacetFieldModel(facetFieldsService, vloConfig.getCollectionFacet(), queryModel); 65 65 final FacetSelectionModel collectionSelectionModel = new FacetSelectionModel(collectionFacetFieldModel, queryModel); … … 75 75 } 76 76 77 private Panel createFacetsPanel(final String id, final Model<QueryFacetsSelection> queryModel) {77 private Panel createFacetsPanel(final String id, final IModel<QueryFacetsSelection> queryModel) { 78 78 final IModel<List<FacetField>> facetFieldsModel = new FacetFieldsModel(facetFieldsService, vloConfig.getFacetFields(), queryModel); 79 79 final FacetsPanel panel = new FacetsPanel(id, facetFieldsModel, queryModel) { … … 95 95 } 96 96 97 private QueryFacetsSelection paramsToQueryFacetSelection(final PageParameters parameters) {97 private static QueryFacetsSelection paramsToQueryFacetSelection(final PageParameters parameters) { 98 98 final String query = parameters.get("q").toOptionalString(); 99 99
Note: See TracChangeset
for help on using the changeset viewer.