Changeset 4662 for vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/FacetValuesPanel.java
- Timestamp:
- 03/10/14 10:44:20 (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/panels/FacetValuesPanel.java
r4661 r4662 25 25 import org.apache.wicket.ajax.AjaxRequestTarget; 26 26 import org.apache.wicket.ajax.markup.html.AjaxFallbackLink; 27 import org.apache.wicket.markup.html.WebMarkupContainer; 27 28 import org.apache.wicket.markup.html.basic.Label; 28 29 import org.apache.wicket.markup.html.link.Link; 29 import org.apache.wicket.markup.html.panel. Panel;30 import org.apache.wicket.markup.html.panel.GenericPanel; 30 31 import org.apache.wicket.markup.repeater.Item; 31 32 import org.apache.wicket.markup.repeater.data.DataView; … … 39 40 * @author twagoo 40 41 */ 41 public abstract class FacetValuesPanel extends Panel{42 public abstract class FacetValuesPanel extends GenericPanel<FacetField> { 42 43 43 44 private final int maxNumberOfFacetsToShow = 10; //TODO: get from config 44 45 45 public FacetValuesPanel(String id, IModel<FacetField> model) { 46 private final WebMarkupContainer allValuesContainer; 47 48 public FacetValuesPanel(String id, final IModel<FacetField> model) { 46 49 super(id, model); 47 50 … … 58 61 } 59 62 }); 63 64 allValuesContainer = createAllValuesPanel("allValuesContainer"); 65 add(allValuesContainer); 66 add(createAllValuesLink("allFacetValuesLink")); 60 67 } 61 68 … … 84 91 } 85 92 93 private WebMarkupContainer createAllValuesPanel(final String id) { 94 final WebMarkupContainer container = new WebMarkupContainer(id); 95 container.setOutputMarkupId(true); 96 WebMarkupContainer allValuesPlaceholder = createPlaceHolder("allValues"); 97 container.add(allValuesPlaceholder); 98 return container; 99 } 100 101 private AjaxFallbackLink createAllValuesLink(String id) { 102 final AjaxFallbackLink link = new AjaxFallbackLink(id) { 103 104 @Override 105 public void onClick(AjaxRequestTarget target) { 106 final IModel<FacetField> model = FacetValuesPanel.this.getModel(); 107 final AllFacetValuesPanel allValuesPanel = new AllFacetValuesPanel("allValues", model) { 108 109 @Override 110 protected void onCanceled(AjaxRequestTarget target) { 111 hideAllValuesPanel(); 112 if (target != null) { 113 target.add(allValuesContainer); 114 } 115 } 116 117 @Override 118 protected void onValuesSelected(String facet, Collection<String> values, AjaxRequestTarget target) { 119 hideAllValuesPanel(); 120 onValuesSelected(facet, values, target); 121 } 122 }; 123 allValuesContainer.addOrReplace(allValuesPanel); 124 if (target != null) { 125 target.add(allValuesContainer); 126 } 127 } 128 129 private void hideAllValuesPanel() { 130 allValuesContainer.addOrReplace(createPlaceHolder("allValues")); 131 } 132 }; 133 return link; 134 } 135 136 private WebMarkupContainer createPlaceHolder(final String id) { 137 final WebMarkupContainer placeholder = new WebMarkupContainer(id); 138 placeholder.setVisible(false); 139 return placeholder; 140 } 141 86 142 /** 87 143 * Callback triggered when values have been selected on this facet
Note: See TracChangeset
for help on using the changeset viewer.