Changeset 4604


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

Made facet list view reuse its items (FacetPanels?)

Location:
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/components
Files:
2 edited

Legend:

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

    r4601 r4604  
    2626import org.apache.wicket.ajax.AjaxRequestTarget;
    2727import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
    28 import org.apache.wicket.markup.html.link.Link;
    2928import org.apache.wicket.markup.html.panel.Panel;
    3029import org.apache.wicket.model.AbstractReadOnlyModel;
    3130import org.apache.wicket.model.IModel;
    32 import org.apache.wicket.model.Model;
    3331import org.apache.wicket.model.PropertyModel;
    3432
     
    6361
    6462        addExpansionComponents();
    65     }
    66 
    67     private void addExpansionComponents() {
    68 
    69         // class modifier to apply correct class depending on state
    70         add(new AttributeModifier("class", new AbstractReadOnlyModel<String>() {
    71 
    72             @Override
    73             public String getObject() {
    74                 switch (expansionStateModel.getObject()) {
    75                     case COLLAPSED:
    76                         return "facet collapsedfacet";
    77                     case EXPANDED:
    78                         return "facet expandedfacet";
    79                     default:
    80                         return "facet";
    81                 }
    82             }
    83         }));
    84 
    85         // add expansion link
    86         add(new AjaxFallbackLink("expand") {
    87 
    88             @Override
    89             public void onClick(AjaxRequestTarget target) {
    90                 expansionStateModel.setObject(ExpansionState.EXPANDED);
    91                 if (target != null) {
    92                     target.add(FacetPanel.this);
    93                 }
    94             }
    95         });
    96 
    97         // add collapse link
    98         add(new AjaxFallbackLink("collapse") {
    99 
    100             @Override
    101             public void onClick(AjaxRequestTarget target) {
    102                 expansionStateModel.setObject(ExpansionState.COLLAPSED);
    103                 if (target != null) {
    104                     target.add(FacetPanel.this);
    105                 }
    106             }
    107         });
    108         setOutputMarkupId(true);
    10963    }
    11064
     
    155109    }
    156110
     111    private void addExpansionComponents() {
     112
     113        // class modifier to apply correct class depending on state
     114        add(new AttributeModifier("class", new AbstractReadOnlyModel<String>() {
     115
     116            @Override
     117            public String getObject() {
     118                switch (expansionStateModel.getObject()) {
     119                    case COLLAPSED:
     120                        return "facet collapsedfacet";
     121                    case EXPANDED:
     122                        return "facet expandedfacet";
     123                    default:
     124                        return "facet";
     125                }
     126            }
     127        }));
     128
     129        // add expansion link
     130        add(new AjaxFallbackLink("expand") {
     131
     132            @Override
     133            public void onClick(AjaxRequestTarget target) {
     134                expansionStateModel.setObject(ExpansionState.EXPANDED);
     135                if (target != null) {
     136                    target.add(FacetPanel.this);
     137                }
     138            }
     139        });
     140
     141        // add collapse link
     142        add(new AjaxFallbackLink("collapse") {
     143
     144            @Override
     145            public void onClick(AjaxRequestTarget target) {
     146                expansionStateModel.setObject(ExpansionState.COLLAPSED);
     147                if (target != null) {
     148                    target.add(FacetPanel.this);
     149                }
     150            }
     151        });
     152        setOutputMarkupId(true);
     153    }
     154
    157155    protected abstract void selectionChanged(AjaxRequestTarget target);
    158156
  • vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/components/FacetsPanel.java

    r4601 r4604  
    5656        final MapModel<String, ExpansionState> expansionModel = new MapModel<String, ExpansionState>(expansionStateMap);
    5757       
    58         add(new ListView<FacetField>("facets", facetsModel) {
     58        final ListView<FacetField> facetsView = new ListView<FacetField>("facets", facetsModel) {
    5959           
    6060            @Override
     
    6464                                new FacetSelectionModel(item.getModel(), selectionModel),
    6565                                new FacetExpansionStateModel(item.getModel(), expansionModel)) {
    66                            
    67                             @Override
    68                             protected void selectionChanged(AjaxRequestTarget target) {
    69                                 FacetsPanel.this.selectionChanged(target);
    70                             }
    71                         }
     66                                   
     67                                    @Override
     68                                    protected void selectionChanged(AjaxRequestTarget target) {
     69                                        FacetsPanel.this.selectionChanged(target);
     70                                    }
     71                                }
    7272                );
    7373            }
    74         });
     74        };
     75        // facet list is not dynamic, so reuse items
     76        facetsView.setReuseItems(true);
     77        add(facetsView);
    7578    }
    7679   
Note: See TracChangeset for help on using the changeset viewer.