List of usage examples for org.apache.wicket.extensions.ajax.markup.html.modal ModalWindow ModalWindow
public ModalWindow(final String id)
From source file:org.geogig.geoserver.web.repository.RepositoryEditFormPanel.java
License:Open Source License
public RepositoryEditFormPanel(final String id, @Nullable IModel<RepositoryInfo> repoInfo) { super(id);// w ww.j a v a 2s .co m final boolean isNew = repoInfo == null; if (isNew) { repoInfo = new Model<>(new RepositoryInfo()); } setDefaultModel(repoInfo); popupWindow = new ModalWindow("popupWindow"); add(popupWindow); form = new Form<>("repoForm", repoInfo); form.add(new RepositoryEditPanel("repo", repoInfo, isNew)); form.add(addRemoteLink()); List<RemoteInfo> remoteInfos = loadRemoteInfos(repoInfo.getObject()); form.add(remotes = new RemotesListPanel("remotes", remoteInfos)); add(form); FeedbackPanel feedback = new FeedbackPanel("feedback"); form.add(feedback); form.add(new AjaxLink<Void>("cancel") { private static final long serialVersionUID = 6220299771769708060L; @Override public void onClick(AjaxRequestTarget target) { cancelled(target); } }); form.add(new AjaxSubmitLink("save", form) { private static final long serialVersionUID = 1L; @Override protected void onError(AjaxRequestTarget target, Form<?> form) { super.onError(target, form); target.add(form); } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { try { RepositoryInfo repoInfo = (RepositoryInfo) form.getModelObject(); onSave(repoInfo, target); } catch (IllegalArgumentException e) { form.error(e.getMessage()); target.add(form); } } }); }
From source file:org.geogig.geoserver.web.security.SecurityLogsPanel.java
License:Open Source License
public SecurityLogsPanel(final String id) { super(id, new LogEventProvider(), false/* selectable */); super.setSelectable(false); super.setSortable(true); super.setFilterable(true); super.setFilterVisible(true); super.setPageable(true); popupWindow = new ModalWindow("popupWindow"); add(popupWindow);// w w w.j a va 2 s . co m }
From source file:org.geoserver.community.css.web.CssDemoPage.java
License:Open Source License
private void doMainLayout() { final Fragment mainContent = new Fragment("main-content", "normal", this); final ModalWindow popup = new ModalWindow("popup"); mainContent.add(popup);//from w w w . ja v a 2s . co m final StyleNameModel styleNameModel = new StyleNameModel(style); final PropertyModel layerNameModel = new PropertyModel(layer, "prefixedName"); mainContent.add(new AjaxLink("create.style", new ParamResourceModel("CssDemoPage.createStyle", this)) { public void onClick(AjaxRequestTarget target) { target.appendJavascript("Wicket.Window.unloadConfirmation = false;"); popup.setInitialHeight(200); popup.setInitialWidth(300); popup.setTitle(new Model("Choose name for new style")); popup.setContent(new StyleNameInput(popup.getContentId(), CssDemoPage.this)); popup.show(target); } }); mainContent.add(new SimpleAjaxLink("change.style", styleNameModel) { public void onClick(AjaxRequestTarget target) { target.appendJavascript("Wicket.Window.unloadConfirmation = false;"); popup.setInitialHeight(400); popup.setInitialWidth(600); popup.setTitle(new Model("Choose style to edit")); popup.setContent(new StyleChooser(popup.getContentId(), CssDemoPage.this)); popup.show(target); } }); mainContent.add(new SimpleAjaxLink("change.layer", layerNameModel) { public void onClick(AjaxRequestTarget target) { target.appendJavascript("Wicket.Window.unloadConfirmation = false;"); popup.setInitialHeight(400); popup.setInitialWidth(600); popup.setTitle(new Model("Choose layer to edit")); popup.setContent(new LayerChooser(popup.getContentId(), CssDemoPage.this)); popup.show(target); } }); mainContent .add(new AjaxLink("associate.styles", new ParamResourceModel("CssDemoPage.associateStyles", this)) { public void onClick(AjaxRequestTarget target) { target.appendJavascript("Wicket.Window.unloadConfirmation = false;"); popup.setInitialHeight(400); popup.setInitialWidth(600); popup.setTitle(new Model("Choose layers to associate")); popup.setContent(new MultipleLayerChooser(popup.getContentId(), CssDemoPage.this)); popup.show(target); } }); ParamResourceModel associateToLayer = new ParamResourceModel("CssDemoPage.associateDefaultStyle", this, styleNameModel, layerNameModel); final SimpleAjaxLink associateDefaultStyle = new SimpleAjaxLink("associate.default.style", new Model(), associateToLayer) { public void onClick(final AjaxRequestTarget linkTarget) { final Component theComponent = this; dialog.setResizable(false); dialog.setHeightUnit("em"); dialog.setWidthUnit("em"); dialog.setInitialHeight(7); dialog.setInitialWidth(50); dialog.showOkCancel(linkTarget, new DialogDelegate() { boolean success = false; @Override protected boolean onSubmit(AjaxRequestTarget target, Component contents) { layer.setDefaultStyle(style); getCatalog().save(layer); theComponent.setEnabled(false); success = true; return true; } @Override public void onClose(AjaxRequestTarget target) { super.onClose(target); target.addComponent(theComponent); if (success) { CssDemoPage.this.info(new ParamResourceModel("CssDemoPage.styleAssociated", CssDemoPage.this, styleNameModel, layerNameModel).getString()); target.addComponent(getFeedbackPanel()); } } @Override protected Component getContents(String id) { ParamResourceModel confirm = new ParamResourceModel("CssDemoPage.confirmAssocation", CssDemoPage.this, styleNameModel.getObject(), layerNameModel.getObject(), layer.getDefaultStyle().getName()); return new Label(id, confirm); } }); } }; associateDefaultStyle.setOutputMarkupId(true); if (layer.getDefaultStyle().equals(style)) { associateDefaultStyle.setEnabled(false); } mainContent.add(associateDefaultStyle); final IModel<String> sldModel = new AbstractReadOnlyModel<String>() { public String getObject() { try { // if file already in css format transform to sld, otherwise load the SLD file if (CssHandler.FORMAT.equals(style.getFormat())) { StyledLayerDescriptor sld = Styles.sld(style.getStyle()); return Styles.string(sld, new SLDHandler(), SLDHandler.VERSION_10, true); } else { File file = findStyleFile(style); if (file != null && file.isFile()) { BufferedReader reader = null; try { reader = new BufferedReader(new FileReader(file)); StringBuilder builder = new StringBuilder(); char[] line = new char[4096]; int len = 0; while ((len = reader.read(line, 0, 4096)) >= 0) builder.append(line, 0, len); return builder.toString(); } finally { if (reader != null) reader.close(); } } else { return "No SLD file found for this style. One will be generated automatically if you save the CSS."; } } } catch (IOException e) { throw new WicketRuntimeException(e); } } }; final CompoundPropertyModel model = new CompoundPropertyModel<CssDemoPage>(CssDemoPage.this); List<ITab> tabs = new ArrayList<ITab>(); tabs.add(new PanelCachingTab(new AbstractTab(new Model("Generated SLD")) { public Panel getPanel(String id) { SLDPreviewPanel panel = new SLDPreviewPanel(id, sldModel); sldPreview = panel.getLabel(); return panel; } })); tabs.add(new PanelCachingTab(new AbstractTab(new Model("Map")) { public Panel getPanel(String id) { return map = new OpenLayersMapPanel(id, layer, style); } })); if (layer.getResource() instanceof FeatureTypeInfo) { tabs.add(new PanelCachingTab(new AbstractTab(new Model("Data")) { public Panel getPanel(String id) { try { return new DataPanel(id, model, (FeatureTypeInfo) layer.getResource()); } catch (IOException e) { throw new WicketRuntimeException(e); } }; })); } else if (layer.getResource() instanceof CoverageInfo) { tabs.add(new PanelCachingTab(new AbstractTab(new Model("Data")) { public Panel getPanel(String id) { return new BandsPanel(id, (CoverageInfo) layer.getResource()); }; })); } tabs.add(new AbstractTab(new Model("CSS Reference")) { public Panel getPanel(String id) { return new DocsPanel(id); } }); File sldFile = findStyleFile(style); File cssFile = new File(sldFile.getParentFile(), style.getName() + ".css"); mainContent.add(new StylePanel("style.editing", model, CssDemoPage.this, cssFile)); mainContent.add(new AjaxTabbedPanel("context", tabs)); add(mainContent); add(dialog = new GeoServerDialog("dialog")); }
From source file:org.geoserver.importer.web.ImportTaskTable.java
License:Open Source License
public ImportTaskTable(String id, GeoServerDataProvider<ImportTask> dataProvider, boolean selectable) { super(id, dataProvider, selectable); add(dialog = new GeoServerDialog("dialog")); add(popupWindow = new ModalWindow("popup")); ((DataView) get("listContainer:items")).setItemReuseStrategy(DefaultItemReuseStrategy.getInstance()); }
From source file:org.geoserver.qos.web.BaseLimitedConstraintsPanel.java
License:Open Source License
protected void initAllComponents() { selectLayerModal = new ModalWindow("selectLayerModal"); add(selectLayerModal);/*from ww w.j a va 2 s .c o m*/ mainDiv = new WebMarkupContainer("mainDiv"); mainDiv.setOutputMarkupId(true); add(mainDiv); innerConstraintsDiv = new WebMarkupContainer("innerConstraintsDiv") { @Override protected void onConfigure() { super.onConfigure(); if (CollectionUtils.isNotEmpty(getSelectedLayers())) { this.setVisible(true); } else { this.setVisible(false); } } }; innerConstraintsDiv.setOutputMarkupId(true); innerConstraintsDiv.setOutputMarkupPlaceholderTag(true); mainDiv.add(innerConstraintsDiv); initLayersComponents(); initFormatsComponents(); initBoundsComponent(); }
From source file:org.geoserver.qos.web.OperatingInfoModalPanel.java
License:Open Source License
public OperatingInfoModalPanel(String id, IModel<OperatingInfo> model) { super(id, model); final WebMarkupContainer form = new WebMarkupContainer("opInfoForm"); form.setOutputMarkupId(true);/*w w w. j a va 2 s. c o m*/ add(form); // pre init non nullable objects if (model.getObject().getOperationalStatus() == null) model.getObject().setOperationalStatus(new ReferenceType()); if (model.getObject().getByDaysOfWeek() == null) model.getObject().setByDaysOfWeek(new ArrayList<>()); final DropDownChoice<String> titleSelect = new DropDownChoice<String>("titleSelect", new PropertyModel<String>(model, "operationalStatus.href"), QosData.instance().getOperationalStatusList(), new ChoiceRenderer<String>() { @Override public Object getDisplayValue(String object) { if (object == null) return null; return object.split("#")[1]; } @Override public String getIdValue(String object, int index) { return object; } }) { @Override protected void onSelectionChanged(String newSelection) { super.onSelectionChanged(newSelection); } }; form.add(titleSelect); final TextField<String> titleInput = new TextField<String>("titleInput", new PropertyModel<>(model, "operationalStatus.title")); // titleInput.setRequired(true); form.add(titleInput); timeListContainer = new WebMarkupContainer("timeListContainer"); timeListContainer.setOutputMarkupId(true); form.add(timeListContainer); // ModalWindow timeModal timeModal = new ModalWindow("timeModal"); add(timeModal); final ListView<OperatingInfoTime> timeListView = new ListView<OperatingInfoTime>("timeList", model.getObject().getByDaysOfWeek()) { @Override protected void populateItem(ListItem<OperatingInfoTime> item) { OperatingInfoTimeModalPanel timePanel = new OperatingInfoTimeModalPanel("timePanel", item.getModel()); // set on delete callback timePanel.setOnDelete(x -> { model.getObject().getByDaysOfWeek().remove(x.getModel()); x.getTarget().add(timeListContainer); }); item.add(timePanel); } }; timeListView.setOutputMarkupId(true); timeListContainer.add(timeListView); final AjaxButton addTimeLink = new AjaxButton("addTime") { }; timeListContainer.add(addTimeLink); addTimeLink.add(new AjaxFormSubmitBehavior("click") { @Override protected void onAfterSubmit(final AjaxRequestTarget target) { model.getObject().getByDaysOfWeek().add(new OperatingInfoTime()); target.add(timeListContainer); } }); final AjaxSubmitLink deleteLink = new AjaxSubmitLink("deleteLink") { @Override public void onAfterSubmit(AjaxRequestTarget target, Form<?> form) { delete(target); } }; form.add(deleteLink); }
From source file:org.geoserver.solr.SolrConfigurationPanel.java
License:Open Source License
/** * Adds SOLR configuration panel link, configure modal dialog and implements modal callback * //from w w w . j av a 2 s .co m * @see {@link SolrConfigurationPage#done} */ public SolrConfigurationPanel(final String panelId, final IModel model) { super(panelId, model); final FeatureTypeInfo fti = (FeatureTypeInfo) model.getObject(); final ModalWindow modal = new ModalWindow("modal"); modal.setInitialWidth(800); modal.setTitle(new ParamResourceModel("modalTitle", SolrConfigurationPanel.this)); modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { @Override public void onClose(AjaxRequestTarget target) { if (_layerInfo != null) { GeoServerApplication app = (GeoServerApplication) getApplication(); FeatureTypeInfo ft = (FeatureTypeInfo) getResourceInfo(); //Override _isNew state, based on resource informations into catalog if (ft.getId() != null && app.getCatalog().getResource(ft.getId(), ResourceInfo.class) != null) { _isNew = false; } else { _isNew = true; } app.getCatalog().getResourcePool().clear(ft); app.getCatalog().getResourcePool().clear(ft.getStore()); setResponsePage(new ResourceConfigurationPage(_layerInfo, _isNew)); } } }); if (fti.getId() == null) { modal.add(new OpenWindowOnLoadBehavior()); } modal.setContent(new SolrConfigurationPage(panelId, model) { @Override void done(AjaxRequestTarget target, ResourceInfo resource) { ResourceConfigurationPage page = (ResourceConfigurationPage) SolrConfigurationPanel.this.getPage(); page.updateResource(resource, target); modal.close(target); } }); add(modal); AjaxLink findLink = new AjaxLink("edit") { @Override public void onClick(AjaxRequestTarget target) { modal.show(target); } }; final Fragment attributePanel = new Fragment("solrPanel", "solrPanelFragment", this); attributePanel.setOutputMarkupId(true); add(attributePanel); attributePanel.add(findLink); }
From source file:org.geoserver.wcs.web.demo.WCSRequestBuilder.java
License:Open Source License
public WCSRequestBuilder() { // the form//from www . ja va 2 s. c o m Form form = new Form("form"); add(form); // the actual request builder component builder = new WCSRequestBuilderPanel("requestBuilder", new GetCoverageRequest()); form.add(builder); // the xml popup window final ModalWindow xmlWindow = new ModalWindow("xmlWindow"); add(xmlWindow); xmlWindow.setPageCreator(new ModalWindow.PageCreator() { public Page createPage() { return new PlainCodePage(xmlWindow, responseWindow, getRequestXML()); } }); // the output response window responseWindow = new ModalWindow("responseWindow"); add(responseWindow); responseWindow.setPageMapName("demoResponse"); responseWindow.setCookieName("demoResponse"); responseWindow.setPageCreator(new ModalWindow.PageCreator() { public Page createPage() { DemoRequest request = new DemoRequest(null); HttpServletRequest http = ((WebRequest) WCSRequestBuilder.this.getRequest()) .getHttpServletRequest(); String url = ResponseUtils.buildURL(ResponseUtils.baseURL(http), "ows", Collections.singletonMap("strict", "true"), URLType.SERVICE); request.setRequestUrl(url); request.setRequestBody((String) responseWindow.getDefaultModelObject()); return new DemoRequestResponse(new Model(request)); } }); form.add(new AjaxSubmitLink("execute") { @Override protected void onSubmit(AjaxRequestTarget target, Form form) { responseWindow.setDefaultModel(new Model(getRequestXML())); responseWindow.show(target); } @Override protected void onError(AjaxRequestTarget target, Form form) { super.onError(target, form); target.addComponent(builder.getFeedbackPanel()); } }); form.add(new AjaxSubmitLink("executeXML") { @Override protected void onSubmit(AjaxRequestTarget target, Form form) { try { getRequestXML(); xmlWindow.show(target); } catch (Exception e) { error(e.getMessage()); target.addComponent(getFeedbackPanel()); } } @Override protected void onError(AjaxRequestTarget target, Form form) { target.addComponent(getFeedbackPanel()); } }); }
From source file:org.geoserver.wcs.web.demo.WCSRequestBuilderPanel.java
License:Open Source License
public WCSRequestBuilderPanel(String id, GetCoverageRequest getCoverage) { super(id);/*from w w w . j a v a 2 s. c om*/ setOutputMarkupId(true); setDefaultModel(new Model(getCoverage)); this.getCoverage = getCoverage; // the feedback panel, for validation errors feedback = new FeedbackPanel("feedback"); feedback.setOutputMarkupId(true); add(feedback); // the version chooser final DropDownChoice<Version> version = new DropDownChoice<Version>("version", new PropertyModel<Version>(getCoverage, "version"), Arrays.asList(Version.values())); add(version); // the action that will setup the form once the coverage has been chosen version.add(new AjaxFormSubmitBehavior("onchange") { @Override protected void onError(AjaxRequestTarget target) { onSubmit(target); } @Override protected void onSubmit(AjaxRequestTarget target) { if (version.getModelObject() == Version.v1_0_0) { sourceGridContainer.setVisible(true); targetlayoutContainer.setVisible(false); manualGrid.setModelObject(false); sourceGridRange.setVisible(false); } else { targetlayoutContainer.setVisible(true); sourceGridContainer.setVisible(false); targetLayoutChooser.setModelObject(TargetLayout.Automatic); g2w.setModelObject(null); g2w.setVisible(false); } target.addComponent(WCSRequestBuilderPanel.this); } }); // the coverage id chooser coverage = new DropDownChoice<String>("coverage", new PropertyModel<String>(getCoverage, "coverage"), new CoverageNamesModel()); add(coverage); // the action that will setup the form once the coverage has been chosen coverage.add(new AjaxFormSubmitBehavior("onchange") { @Override protected void onError(AjaxRequestTarget target) { onSubmit(target); } @Override protected void onSubmit(AjaxRequestTarget target) { details.setVisible(true); String coverageName = coverage.getModelObject(); Catalog catalog = GeoServerApplication.get().getCatalog(); CoverageInfo ci = catalog.getCoverageByName(coverageName); ReferencedEnvelope ri = ci.getNativeBoundingBox(); final GetCoverageRequest gc = WCSRequestBuilderPanel.this.getCoverage; gc.bounds = ri; gc.targetCRS = ri.getCoordinateReferenceSystem(); gc.sourceGridRange = null; describeLink.setEnabled(true); target.addComponent(WCSRequestBuilderPanel.this); } }); // the details container details = new WebMarkupContainer("details"); details.setOutputMarkupId(true); details.setVisible(false); add(details); // the envelope chooser envelope = new EnvelopePanel("envelope", new PropertyModel(getCoverage, "bounds")); envelope.setCRSFieldVisible(true); envelope.setCrsRequired(true); details.add(envelope); // the grid panel (for WCS 1.0 requests) buildGridPanel(); // the format chooser CoverageResponseDelegateFinder responseFactory = (CoverageResponseDelegateFinder) GeoServerApplication.get() .getBean("coverageResponseDelegateFactory"); formats = new DropDownChoice<String>("format", new PropertyModel(getCoverage, "outputFormat"), responseFactory.getOutputFormats()); details.add(formats); // the target CRS targetCRS = new CRSPanel("targetCRS", new PropertyModel(getCoverage, "targetCRS")); details.add(targetCRS); // the target grid to world (for WCS 1.1 ones) buildAffinePanel(); // the describe response window responseWindow = new ModalWindow("responseWindow"); add(responseWindow); responseWindow.setPageCreator(new ModalWindow.PageCreator() { public Page createPage() { DemoRequest request = new DemoRequest(null); HttpServletRequest http = ((WebRequest) WCSRequestBuilderPanel.this.getRequest()) .getHttpServletRequest(); String url = ResponseUtils.buildURL(ResponseUtils.baseURL(http), "ows", Collections.singletonMap("strict", "true"), URLType.SERVICE); request.setRequestUrl(url); request.setRequestBody((String) responseWindow.getDefaultModelObject()); return new DemoRequestResponse(new Model(request)); } }); // the describe coverage link describeLink = new GeoServerAjaxFormLink("describeCoverage") { @Override protected void onClick(AjaxRequestTarget target, Form form) { version.processInput(); coverage.processInput(); final String coverageName = WCSRequestBuilderPanel.this.getCoverage.coverage; if (coverageName != null) { responseWindow.setDefaultModel(new Model(getDescribeXML(coverageName))); responseWindow.show(target); } } }; describeLink.setEnabled(false); describeLink.setOutputMarkupId(true); add(describeLink); }
From source file:org.geoserver.web.data.layergroup.LayerGroupEntryPanel.java
License:Open Source License
public LayerGroupEntryPanel(String id, LayerGroupInfo layerGroup) { super(id);/*from ww w. j a va2s .co m*/ items = new ArrayList<LayerGroupEntry>(); for (int i = 0; i < layerGroup.getLayers().size(); i++) { PublishedInfo layer = layerGroup.getLayers().get(i); StyleInfo style = layerGroup.getStyles().get(i); items.add(new LayerGroupEntry(layer, style)); } add(popupWindow = new ModalWindow("popup")); add(dialog = new GeoServerDialog("dialog")); add(new HelpLink("layersHelp").setDialog(dialog)); //layers add(layerTable = new ReorderableTablePanel<LayerGroupEntry>("layers", items, PROPERTIES) { @Override protected Component getComponentForProperty(String id, IModel itemModel, Property<LayerGroupEntry> property) { if (property == LAYER) { return layerLink(id, itemModel); } if (property == DEFAULT_STYLE) { return defaultStyleCheckbox(id, itemModel); } if (property == STYLE) { return styleLink(id, itemModel); } if (property == REMOVE) { return removeLink(id, itemModel); } return null; } }.setFilterable(false)); layerTable.setItemReuseStrategy(new DefaultItemReuseStrategy()); layerTable.setOutputMarkupId(true); add(new AjaxLink("addLayer") { @Override public void onClick(AjaxRequestTarget target) { popupWindow.setInitialHeight(375); popupWindow.setInitialWidth(525); popupWindow.setTitle(new ParamResourceModel("chooseLayer", this)); popupWindow.setContent(new LayerListPanel(popupWindow.getContentId()) { @Override protected void handleLayer(LayerInfo layer, AjaxRequestTarget target) { popupWindow.close(target); items.add(new LayerGroupEntry(layer, layer.getDefaultStyle())); //getCatalog().save( lg ); target.addComponent(layerTable); } }); popupWindow.show(target); } }); add(new AjaxLink("addLayerGroup") { @Override public void onClick(AjaxRequestTarget target) { popupWindow.setInitialHeight(375); popupWindow.setInitialWidth(525); popupWindow.setTitle(new ParamResourceModel("chooseLayerGroup", this)); popupWindow.setContent(new LayerGroupListPanel(popupWindow.getContentId()) { @Override protected void handleLayerGroup(LayerGroupInfo layerGroup, AjaxRequestTarget target) { popupWindow.close(target); items.add(new LayerGroupEntry(layerGroup, null)); target.addComponent(layerTable); } }); popupWindow.show(target); } }); }