Changeset 4594


Ignore:
Timestamp:
02/28/14 10:34:18 (10 years ago)
Author:
Twan Goosen
Message:

refactoring for readability in selected facet panel

File:
1 edited

Legend:

Unmodified
Added
Removed
  • vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/components/SelectedFacetPanel.java

    r4582 r4594  
    2727import org.apache.wicket.markup.html.list.ListView;
    2828import org.apache.wicket.markup.html.panel.Panel;
    29 import org.apache.wicket.model.CompoundPropertyModel;
    3029import org.apache.wicket.model.IModel;
    3130import org.apache.wicket.model.PropertyModel;
     
    6665                // A label showing the name of the facet
    6766                item.add(new Label("facetValue", item.getModel()));
    68 
    6967                // A link to remove the value selection from this facet
    70                 item.add(createRemoveLink(item));
    71             }
    72 
    73             private AjaxFallbackLink createRemoveLink(final ListItem<String> item) {
    74                 return new AjaxFallbackLink("unselectValue") {
    75 
    76                     @Override
    77                     public void onClick(AjaxRequestTarget target) {
    78                         // Call callback
    79                         onValuesUnselected(
    80                                 model.getObject().getFacetField().getName(),
    81                                 // Remove a single value
    82                                 Collections.singleton(item.getModel().getObject()), target);
    83                     }
    84                 };
     68                item.add(new RemoveLink("unselectValue", item.getModel()));
    8569            }
    8670
     
    9983    protected abstract void onValuesUnselected(String facet, Collection<String> valuesRemoved, AjaxRequestTarget target);
    10084
     85    public class RemoveLink extends AjaxFallbackLink {
     86
     87        private final IModel<String> valueModel;
     88
     89        public RemoveLink(String id, IModel<String> valueModel) {
     90            super(id);
     91            this.valueModel = valueModel;
     92        }
     93
     94        @Override
     95        public void onClick(AjaxRequestTarget target) {
     96            // Remove a single value
     97            // Call callback
     98            onValuesUnselected(
     99                    model.getObject().getFacetField().getName(),
     100                    Collections.singleton(valueModel.getObject()), target);
     101        }
     102
     103    }
    101104}
Note: See TracChangeset for help on using the changeset viewer.