List of usage examples for org.apache.wicket.markup.html WebMarkupContainer findParent
public final <Z> Z findParent(final Class<Z> c)
From source file:org.geoserver.qos.web.LayersListModalBuilder.java
License:Open Source License
@Override public WebMarkupContainer build(WebMarkupContainer mainDiv, ModalWindow modalWindow, IModel<LimitedAreaRequestConstraints> model) { WebMarkupContainer layersDiv = new WebMarkupContainer("layersDiv"); layersDiv.setOutputMarkupId(true);//from ww w .jav a 2 s. com mainDiv.add(layersDiv); final ListView<String> layersListView = new ListView<String>("layersList", new PropertyModel<>(model, "layerNames")) { @Override protected void populateItem(ListItem<String> item) { TextField<String> layerField = new TextField<>("layerName", item.getModel()); layerField.setEnabled(false); item.add(layerField); AjaxSubmitLink deleteLayerLink = new AjaxSubmitLink("deleteLayer") { @Override protected void onAfterSubmit(AjaxRequestTarget target, Form<?> form) { super.onAfterSubmit(target, form); model.getObject().getLayerNames().remove(item.getModel().getObject()); target.add(mainDiv); } }; item.add(deleteLayerLink); } }; layersDiv.add(layersListView); final AjaxLink addLayerLink = new AjaxLink("addLayer") { @Override public void onClick(AjaxRequestTarget target) { modalWindow.setInitialHeight(375); modalWindow.setInitialWidth(525); modalWindow.setTitle("Choose layer"); WorkspaceInfo wsi = mainDiv.findParent(QosWmsAdminPanel.class).getMainModel().getObject() .getWorkspace(); modalWindow.setContent(new LayerListPanel(modalWindow.getContentId(), wsi) { @Override protected void handleLayer(org.geoserver.catalog.LayerInfo layer, AjaxRequestTarget target) { if (!model.getObject().getLayerNames().contains(model.getObject().getLayerNames())) { model.getObject().getLayerNames().add(layer.prefixedName()); } modalWindow.close(target); target.add(mainDiv); }; }); modalWindow.show(target); } }; layersDiv.add(addLayerLink); return layersDiv; }
From source file:org.geoserver.qos.web.TypesListBuilder.java
License:Open Source License
@Override public WebMarkupContainer build(WebMarkupContainer mainDiv, ModalWindow modalWindow, IModel<WfsAdHocQueryConstraints> model) { WebMarkupContainer layersDiv = new WebMarkupContainer("layersDiv"); layersDiv.setOutputMarkupId(true);/*from w w w . j a v a 2 s. com*/ mainDiv.add(layersDiv); final ListView<String> layersListView = new ListView<String>("layersList", new PropertyModel<>(model, "typeNames")) { @Override protected void populateItem(ListItem<String> item) { TextField<String> layerField = new TextField<>("layerName", item.getModel()); layerField.setEnabled(false); item.add(layerField); AjaxSubmitLink deleteLayerLink = new AjaxSubmitLink("deleteLayer") { @Override protected void onAfterSubmit(AjaxRequestTarget target, Form<?> form) { super.onAfterSubmit(target, form); model.getObject().getTypeNames().remove(item.getModel().getObject()); target.add(mainDiv); } }; item.add(deleteLayerLink); } }; layersDiv.add(layersListView); // Autocomplete add to list: // final AutoCompleteTextField<String> addTypeNameField = // new AutoCompleteTextField<String>("addTypeNameField", new // PropertyModel<>(typeToAdd, "value")) { // @Override // protected Iterator<String> getChoices(String arg0) { // return null; // } // }; final AjaxLink addLayerLink = new AjaxLink("addLayer") { @Override public void onClick(AjaxRequestTarget target) { WorkspaceInfo wsi = mainDiv.findParent(QosWfsAdminPanel.class).getMainModel().getObject() .getWorkspace(); modalWindow.setInitialHeight(375); modalWindow.setInitialWidth(525); modalWindow.setTitle("Choose layer"); modalWindow.setContent(new LayerListPanel(modalWindow.getContentId(), wsi) { @Override protected void handleLayer(org.geoserver.catalog.LayerInfo layer, AjaxRequestTarget target) { if (model.getObject().getTypeNames() == null) { model.getObject().setTypeNames(new ArrayList<>()); } if (!model.getObject().getTypeNames().contains(layer.prefixedName())) { model.getObject().getTypeNames().add(layer.prefixedName()); } modalWindow.close(target); target.add(mainDiv); }; }); modalWindow.show(target); } }; layersDiv.add(addLayerLink); return layersDiv; }