Changeset 5031
- Timestamp:
- 04/23/14 15:31:38 (10 years ago)
- Location:
- vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/pages/FacetedSearchPage.java
r4987 r5031 61 61 62 62 private void addComponents() { 63 navigation = new WebMarkupContainer("navigation"); 64 navigation.setOutputMarkupId(true); 63 navigation = createNavigation("navigation"); 65 64 add(navigation); 66 67 navigation.add(new BreadCrumbPanel("breadcrumbs", getModel()));68 navigation.add(new TopLinksPanel("permalink", getModel()) {69 70 @Override71 protected void onChange(AjaxRequestTarget target) {72 if (target != null) {73 target.add(navigation);74 }75 }76 77 });78 65 79 66 add(createSearchForm("search")); … … 92 79 } 93 80 94 public Panel createOptionsPanel(String id) { 81 private WebMarkupContainer createNavigation(String id) { 82 final WebMarkupContainer container = new WebMarkupContainer(id); 83 container.setOutputMarkupId(true); 84 container.add(new BreadCrumbPanel("breadcrumbs", getModel()){ 85 86 @Override 87 protected void onSelectionChanged(QueryFacetsSelection selection, AjaxRequestTarget target) { 88 setModelObject(selection); 89 updateSelection(target); 90 } 91 92 }); 93 container.add(new TopLinksPanel("permalink", getModel()) { 94 95 @Override 96 protected void onChange(AjaxRequestTarget target) { 97 if (target != null) { 98 target.add(container); 99 } 100 } 101 102 }); 103 return container; 104 } 105 106 private Panel createOptionsPanel(String id) { 95 107 final Panel optionsPanel = new AdvancedSearchOptionsPanel(id, getModel()) { 96 108 -
vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/BreadCrumbPanel.java
r4987 r5031 29 29 import java.util.Map; 30 30 import org.apache.wicket.AttributeModifier; 31 import org.apache.wicket.ajax.AjaxRequestTarget; 32 import org.apache.wicket.ajax.markup.html.AjaxFallbackLink; 31 33 import org.apache.wicket.markup.html.WebMarkupContainer; 32 34 import org.apache.wicket.markup.html.basic.Label; … … 51 53 public class BreadCrumbPanel extends GenericPanel<QueryFacetsSelection> { 52 54 53 @SpringBean(name ="queryParametersConverter")55 @SpringBean(name = "queryParametersConverter") 54 56 private PageParametersConverter<QueryFacetsSelection> paramsConverter; 55 57 … … 66 68 private WebMarkupContainer createQuery(final IModel<QueryFacetsSelection> selectionModel, String id) { 67 69 final WebMarkupContainer queryContainer = new WebMarkupContainer(id); 68 final Link link = new Link("leavequery") {70 final Link link = new AjaxFallbackLink("leavequery") { 69 71 70 72 @Override 71 public void onClick( ) {73 public void onClick(AjaxRequestTarget target) { 72 74 // make query object without selection 73 75 final QueryFacetsSelection newSelection = new QueryFacetsSelection(selectionModel.getObject().getQuery(), null); 74 setResponsePage(FacetedSearchPage.class, paramsConverter.toParameters(newSelection));76 onSelectionChanged(newSelection, target); 75 77 } 76 78 }; … … 82 84 private WebMarkupContainer createFacets(final IModel<QueryFacetsSelection> model, String id) { 83 85 final WebMarkupContainer facetsContainer = new WebMarkupContainer(id); 84 facetsContainer.add(new Link("leaveselection") {86 facetsContainer.add(new AjaxFallbackLink("leaveselection") { 85 87 86 88 @Override 87 public void onClick( ) {88 setResponsePage(FacetedSearchPage.class, paramsConverter.toParameters(model.getObject()));89 public void onClick(AjaxRequestTarget target) { 90 onSelectionChanged(model.getObject(), target); 89 91 } 90 92 }); … … 113 115 114 116 // add a link for removal of the facet value selection 115 item.add(new Link("removal") {117 item.add(new AjaxFallbackLink("removal") { 116 118 117 119 @Override 118 public void onClick( ) {120 public void onClick(AjaxRequestTarget target) { 119 121 // get a copy of the current selection 120 122 final QueryFacetsSelection newSelection = model.getObject().getCopy(); … … 122 124 // unselect this facet 123 125 newSelection.selectValues(facet, null); 124 setResponsePage(FacetedSearchPage.class, paramsConverter.toParameters(newSelection));126 onSelectionChanged(newSelection, target); 125 127 } 126 128 }); … … 129 131 130 132 return facetsContainer; 133 } 134 135 /** 136 * Gets called if one of the links is clicked and the selection is changed. 137 * This implementation sets the response page to {@link FacetedSearchPage} 138 * with the new selection as its parameters 139 * 140 * @param selection new selection 141 * @param target AJAX target, may be null 142 */ 143 protected void onSelectionChanged(QueryFacetsSelection selection, AjaxRequestTarget target) { 144 setResponsePage(FacetedSearchPage.class, paramsConverter.toParameters(selection)); 131 145 } 132 146
Note: See TracChangeset
for help on using the changeset viewer.