List of usage examples for org.apache.wicket.extensions.ajax.markup.html.modal ModalWindow close
public void close(final IPartialPageRequestHandler target)
From source file:org.devgateway.eudevfin.projects.module.modals.ReportsTableModal.java
public final void AddComponents(final PageParameters parameters, final PageReference modalWindowPage, final ModalWindow window) { final ProjectReport report = getEditableReport(parameters); CompoundPropertyModel<ProjectReport> model = new CompoundPropertyModel<>(report); setModel(model);//w w w .j a v a 2s.c om Form<ProjectReport> form = new Form<>("form"); ReportTypeProvider typeProvider = new ReportTypeProvider(this); DropDownField<String> reportType = new DropDownField<>("1reportType", new RWComponentPropertyModel<String>("type"), typeProvider); reportType.required(); reportType.setVisible(true); TextInputField<String> reportTitle = new TextInputField<>("2reportTitle", new RWComponentPropertyModel<String>("reportTitle")).typeString(); reportTitle.getField().add(new WordsValidator(30)); DateInputField reportingPeriodStart = new DateInputField("3reportingPeriodStart", new DateToLocalDateTimeModel(new RWComponentPropertyModel<LocalDateTime>("reportingPeriodStart"))); reportingPeriodStart.required(); DateInputField reportingPeriodEnd = new DateInputField("3reportingPeriodEnd", new DateToLocalDateTimeModel(new RWComponentPropertyModel<LocalDateTime>("reportingPeriodEnd"))); reportingPeriodEnd.required(); DateInputField reportDate = new DateInputField("4reportDate", new DateToLocalDateTimeModel(new RWComponentPropertyModel<LocalDateTime>("reportDate"))); reportDate.required(); CheckBoxField fileProvided = new CheckBoxField("5fileProvided", new RWComponentPropertyModel<Boolean>("fileProvided")); MultiFileUploadField reportFiles = new MultiFileUploadField("6reportFiles", new RWComponentPropertyModel<Collection<FileWrapper>>("reportFiles")); reportFiles.maxFiles(10); add(reportFiles); form.add(reportType); form.add(reportTitle); form.add(reportingPeriodStart); form.add(reportingPeriodEnd); form.add(reportDate); form.add(fileProvided); form.add(reportFiles); form.add(new BootstrapSubmitButton("submit", new StringResourceModel("button.submit", this, null, null)) { private static final long serialVersionUID = -7833958712063599191L; @Override protected void onError(AjaxRequestTarget target, Form<?> form) { super.onError(target, form); } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { replaceReport(report); if (window != null) { window.close(target); } } }); BootstrapCancelButton cancelButton = new BootstrapCancelButton("cancel", new StringResourceModel("button.cancel", this, null)) { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { if (window != null) { window.close(target); } } }; cancelButton.setDefaultFormProcessing(false); form.add(cancelButton); add(form); }
From source file:org.devgateway.eudevfin.projects.module.modals.ResultsTableModal.java
public ResultsTableModal(final PageParameters parameters, final PageReference modalWindowPage, final ModalWindow window) { final ProjectResult result = getEditableResult(parameters); CompoundPropertyModel<ProjectResult> model = new CompoundPropertyModel<>(result); setModel(model);//ww w . j av a2s . co m Form<ProjectResult> form = new Form<>("form"); TextInputField<String> plannedResult = new TextInputField<>("1plannedResult", new RWComponentPropertyModel<String>("result")).required().typeString(); MetaDataRoleAuthorizationStrategy.authorize(plannedResult, Component.ENABLE, AuthConstants.Roles.ROLE_PROJECTS_MFA); MetaDataRoleAuthorizationStrategy.authorize(plannedResult, Component.ENABLE, AuthConstants.Roles.ROLE_SUPERVISOR); plannedResult.getField().add(new WordsValidator(100)); StatusProvider statusProvider = new StatusProvider(this); DropDownField<String> projectStatus = new DropDownField<>("status", new RWComponentPropertyModel<String>("status"), statusProvider); MetaDataRoleAuthorizationStrategy.authorize(projectStatus, Component.ENABLE, AuthConstants.Roles.ROLE_PROJECTS_MFA); MetaDataRoleAuthorizationStrategy.authorize(projectStatus, Component.ENABLE, AuthConstants.Roles.ROLE_PROJECTS_NGO); MetaDataRoleAuthorizationStrategy.authorize(projectStatus, Component.ENABLE, AuthConstants.Roles.ROLE_SUPERVISOR); projectStatus.required(); projectStatus.setVisible(true); final TextAreaInputField description = new TextAreaInputField("3description", new RWComponentPropertyModel<String>("description")); MetaDataRoleAuthorizationStrategy.authorize(description, Component.ENABLE, AuthConstants.Roles.ROLE_PROJECTS_MFA); MetaDataRoleAuthorizationStrategy.authorize(description, Component.ENABLE, AuthConstants.Roles.ROLE_PROJECTS_NGO); MetaDataRoleAuthorizationStrategy.authorize(description, Component.ENABLE, AuthConstants.Roles.ROLE_SUPERVISOR); description.setRows(ProjectUtil.MAX_AREA_ROWS); description.setOutputMarkupId(true); description.maxContentLength(MAX_STRING_LENGTH); description.required(); description.getField().add(new WordsValidator(MAX_WORDS)); form.add(plannedResult); form.add(projectStatus); form.add(description); form.add(new BootstrapSubmitButton("submit", new StringResourceModel("button.submit", this, null)) { private static final long serialVersionUID = -7833958712063599191L; @Override protected void onError(AjaxRequestTarget target, Form<?> form) { super.onError(target, form); } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { replaceResult(result); if (window != null) { window.close(target); } } }); BootstrapCancelButton cancelButton = new BootstrapCancelButton("cancel", new StringResourceModel("button.cancel", this, null)) { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { if (window != null) { window.close(target); } } }; cancelButton.setDefaultFormProcessing(false); form.add(cancelButton); add(form); }
From source file:org.devgateway.eudevfin.projects.module.modals.TransactionsTableModal.java
public final void AddComponents(PageParameters parameters, final PageReference modalWindowPage, final ModalWindow window) { final TransactionSearchModel transactionSearch = new TransactionSearchModel(); CompoundPropertyModel<TransactionSearchModel> model = new CompoundPropertyModel<>(transactionSearch); setModel(model);// www .j a va2 s.co m final Form<FinancialTransaction> form = new Form<>("form"); final ComponentPropertyModel<CurrencyUnit> readOnlyCurrencyModel = new ComponentPropertyModel<>("currency"); // 1. Geographic focus //In the DB, table AreaTranslation is data only for locale = "en" or "fr" //If someday, all the available languages will be added in the DB, the call should be changed to: //List<Area> areas = areaService.findUsedAreaAsList(Session.get().getLocale().getLanguage()); List<Area> areas = areaService.findUsedAreaAsList("en"); GeographicFocusChoiceProvider geograficFocusProvider = new GeographicFocusChoiceProvider(areas, areaService); DropDownField<Area> geographicFocus; geographicFocus = new DropDownField<Area>("geographicFocus", new RWComponentPropertyModel<Area>("geographicFocus"), geograficFocusProvider) { @Override protected void onUpdate(AjaxRequestTarget target) { super.onUpdate(target); if (transactionSearch.getGeographicFocus() != null) { List<Organization> orgs = organizationService .findUsedOrgByGeographicFocus(transactionSearch.getGeographicFocus().getCode()); FinancingInstitutionChoiceProvider financingInstitutionProvider = new FinancingInstitutionChoiceProvider( orgs, organizationService); DropDownField<Organization> financingInstitution; financingInstitution = new DropDownField<Organization>("financingInstitution", new RWComponentPropertyModel<Organization>("financingInstitution"), financingInstitutionProvider) { @Override protected void onUpdate(AjaxRequestTarget target) { super.onUpdate(target); List<Integer> repYears = customTransactionService.findDistinctReportingYears(); DropDownField<Integer> reportingYear; reportingYear = new DropDownField<Integer>("reportingYear", new YearToLocalDateTimeModel( new RWComponentPropertyModel<LocalDateTime>("reportingYear")), new YearProvider(repYears)) { @Override protected void onUpdate(AjaxRequestTarget target) { super.onUpdate(target); if (transactionSearch.getGeographicFocus() != null && null != transactionSearch.getFinancingInstitution() && transactionSearch.getReportingYear() != null) { String geographicFocus = transactionSearch.getGeographicFocus().getCode(); String financingInstitution = transactionSearch.getFinancingInstitution() .getCode(); LocalDateTime reportingYear = transactionSearch.getReportingYear(); List<CustomFinancialTransaction> transactions = customTransactionService .findByReportingYearAndDraftFalse(reportingYear.getYear()); List<CustomFinancialTransaction> foundTrs = new ArrayList<>(); for (CustomFinancialTransaction trs : transactions) { if (trs.getRecipient() != null && trs.getRecipient().getCode() == geographicFocus) { foundTrs.add(trs); } } DropDownField<CustomFinancialTransaction> trsDropDown = new DropDownField<CustomFinancialTransaction>( "projectTitle", new RWComponentPropertyModel<CustomFinancialTransaction>( "transaction"), new TransactionChoiceProvider(foundTrs, customTransactionService)) { @Override protected void onUpdate(AjaxRequestTarget target) { super.onUpdate(target); CustomFinancialTransaction ctx = transactionSearch.getTransaction(); if (ctx != null) { CurrencyUnit currency = ctx.getCurrency(); String amount = transactionSearch.getTransaction() .getAmountsExtended().getAmount().toString(); if (null != currency.toString()) { switch (currency.toString()) { case "RON": amountUSD.getField().getModel().setObject( RateUtil.moneyToString(rateUtil.exchange( ctx.getAmountsExtended(), CurrencyUnit.USD, ctx.getFixedRate(), RateUtil.getStartOfMonth( ctx.getCommitmentDate())))); amountRON.getField().getModel().setObject(amount); amountEUR.getField().getModel().setObject( RateUtil.moneyToString(rateUtil.exchange( ctx.getAmountsExtended(), CurrencyUnit.EUR, ctx.getFixedRate(), RateUtil.getStartOfMonth( ctx.getCommitmentDate())))); break; case "EUR": // ToDo Refactor When We figure it out the exchange rate amountUSD.getField().getModel().setObject(amount); amountRON.getField().getModel().setObject(amount); amountEUR.getField().getModel().setObject(amount); break; case "USD": // ToDo Refactor When We figure it out the exchange rate amountUSD.getField().getModel().setObject(amount); amountRON.getField().getModel().setObject(amount); amountEUR.getField().getModel().setObject(amount); break; } } getParent().replace(amountUSD); getParent().replace(amountEUR); getParent().replace(amountRON); target.add(amountUSD); target.add(amountEUR); target.add(amountRON); } } }; trsDropDown.required(); trsDropDown.getField().setEnabled(true); getParent().replace(trsDropDown); target.add(trsDropDown); } } }; reportingYear.setSize(InputBehavior.Size.Medium); reportingYear.getField().setEnabled(true); getParent().replace(reportingYear); target.add(reportingYear); } }; financingInstitution.required(); financingInstitution.getField().setEnabled(true); getParent().replace(financingInstitution); target.add(financingInstitution); } } }; // 2. Financing Institution List<Organization> orgs = new ArrayList<>(); DropDownField<Organization> financingInstitution = new DropDownField<>("financingInstitution", new RWComponentPropertyModel<Organization>("financingInstitution"), new FinancingInstitutionChoiceProvider(orgs, organizationService)); financingInstitution.required(); financingInstitution.getField().setEnabled(false); // 3. Reporting year List<Integer> years = new ArrayList<>(); DropDownField<Integer> reportingYear = new DropDownField<>("reportingYear", new YearToLocalDateTimeModel(new RWComponentPropertyModel<LocalDateTime>("reportingYear")), new YearProvider(years)); reportingYear.setSize(InputBehavior.Size.Medium); reportingYear.getField().setEnabled(false); // 4. Project title List<CustomFinancialTransaction> trans = new ArrayList<>(); DropDownField<CustomFinancialTransaction> projectTitle = new DropDownField<>("projectTitle", new RWComponentPropertyModel<CustomFinancialTransaction>("transaction"), new TransactionChoiceProvider(trans, customTransactionService)); projectTitle.required(); projectTitle.getField().setEnabled(false); // 5. Amount USD amountUSD = new TextInputField<>("amountUSD", new RWComponentPropertyModel<String>("amountUSD")); amountUSD.typeString(); amountUSD.getField().setEnabled(false); // 6. Amount RON amountRON = new TextInputField<>("amountRON", new RWComponentPropertyModel<String>("amountRON")); amountRON.typeString(); amountRON.getField().setEnabled(false); // 7. Amount EURO amountEUR = new TextInputField<>("amountEUR", new RWComponentPropertyModel<String>("amountEUR")); amountEUR.typeString(); amountEUR.getField().setEnabled(false); form.add(geographicFocus); form.add(financingInstitution); form.add(reportingYear); form.add(projectTitle); form.add(amountUSD); form.add(amountRON); form.add(amountEUR); form.add(new BootstrapSubmitButton("submit", new StringResourceModel("button.submit", this, null)) { private static final long serialVersionUID = -7833958712063599191L; @Override protected void onError(AjaxRequestTarget target, Form<?> form) { super.onError(target, form); } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { if (transactionSearch.getTransaction() != null) { NewProjectPage.project.addTransactions(transactionSearch.getTransaction()); } if (window != null) { window.close(target); } } }); BootstrapCancelButton cancelButton = new BootstrapCancelButton("cancel", new StringResourceModel("button.cancel", this, null)) { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { if (window != null) { window.close(target); } } }; cancelButton.setDefaultFormProcessing(false); form.add(cancelButton); add(form); }
From source file:org.efaps.ui.wicket.components.bpm.process.ActionPanel.java
License:Apache License
/** * @param _wicketID component id/*w w w . ja va 2s . c om*/ * @param _model model for contact * @param _pageReference reference to the calling page */ public ActionPanel(final String _wicketID, final IModel<UIProcessInstanceLog> _model, final PageReference _pageReference) { super(_wicketID, _model); final ModalWindow modal = new AbstractModalWindow("modal", _model) { private static final long serialVersionUID = 1L; }.setInitialWidth(200).setInitialHeight(100); this.add(modal); final AjaxLink<UIProcessInstanceLog> select = new AjaxLink<UIProcessInstanceLog>("select", _model) { private static final long serialVersionUID = 1L; @Override public void onClick(final AjaxRequestTarget _target) { final UIProcessInstanceLog processinstance = (UIProcessInstanceLog) getDefaultModelObject(); if (processinstance != null) { getPage().visitChildren(AjaxFallbackDefaultDataTable.class, new IVisitor<AjaxFallbackDefaultDataTable<?, ?>, Void>() { @Override public void component(final AjaxFallbackDefaultDataTable<?, ?> _table, final IVisit<Void> _visit) { final IDataProvider<?> provider = _table.getDataProvider(); if (provider instanceof NodeInstanceProvider) { ((NodeInstanceProvider) provider) .setProcessInstanceId(processinstance.getProcessInstanceId()); ((NodeInstanceProvider) provider).requery(); _target.add(_table); } else if (provider instanceof VariableInstanceProvider) { ((VariableInstanceProvider) provider) .setProcessInstanceId(processinstance.getProcessInstanceId()); ((VariableInstanceProvider) provider).requery(); _target.add(_table); } } }); } } }; add(select); final AjaxLink<UIProcessInstanceLog> abort = new AjaxLink<UIProcessInstanceLog>("abort", _model) { private static final long serialVersionUID = 1L; @Override public void onClick(final AjaxRequestTarget _target) { modal.setContent(new AjaxButton<UIProcessInstanceLog>(modal.getContentId(), _model, Button.ICON.ACCEPT.getReference(), "OK") { private static final long serialVersionUID = 1L; @Override public void onSubmit(final AjaxRequestTarget _target) { final UIProcessInstanceLog processinstance = (UIProcessInstanceLog) getDefaultModelObject(); BPM.abortProcessInstance(processinstance.getProcessInstanceId()); modal.close(_target); } }); modal.show(_target); } }; add(abort); }
From source file:org.geogig.geoserver.web.repository.ConfigEditPanel.java
License:Open Source License
ConfigEditPanel(String id, IModel<ConfigEntry> model, final ModalWindow parentWindow, final ConfigListPanel table) { super(id, model); form = new Form<>("form", model); add(form);/*from www. ja v a2 s .co m*/ final FeedbackPanel feedback = new FeedbackPanel("feedback"); feedback.setOutputMarkupId(true); form.add(feedback); final boolean isNew = model.getObject().getId() == null; name = new TextField<>("name", new PropertyModel<>(model, "name")); name.setRequired(true); name.add(new PatternValidator("[^\\s]+")); name.add(new IValidator<String>() { private static final long serialVersionUID = 2927770353770055054L; final String previousName = isNew ? null : form.getModelObject().getName(); @Override public void validate(IValidatable<String> validatable) { String name = validatable.getValue(); if (ConfigEntry.isRestricted(name)) { form.error(String.format( "Modifying %s through this interface can have unintended consequences and is not allowed.", name)); } else { for (ConfigEntry config : table.getConfigs()) { String newName = config.getName(); if (newName != null && !newName.equals(previousName) && newName.equals(name)) { form.error(String.format("A config entry called %s already exists", name)); } } } } }); value = new TextField<>("value", new PropertyModel<>(model, "value")); value.setRequired(true); form.add(name); form.add(value); form.add(new AjaxSubmitLink("submit", form) { private static final long serialVersionUID = 1L; @Override protected void onError(AjaxRequestTarget target, Form<?> form) { target.add(feedback); } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { ConfigEntry newConfig = (ConfigEntry) form.getModelObject(); boolean isNew = newConfig.getId() == null; if (isNew) { table.add(newConfig); } parentWindow.close(target); target.add(table); } }); form.add(new AjaxLink<Void>("cancel") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { parentWindow.close(target); target.add(table); } }); }
From source file:org.geogig.geoserver.web.repository.RemoteEditPanel.java
License:Open Source License
RemoteEditPanel(String id, IModel<RemoteInfo> model, final ModalWindow parentWindow, final RemotesListPanel table) { super(id, model); form = new Form<>("form", model); add(form);/* w ww . java2s. c o m*/ final FeedbackPanel feedback = new FeedbackPanel("feedback"); feedback.setOutputMarkupId(true); form.add(feedback); final boolean isNew = model.getObject().getId() == null; name = new TextField<>("name", new PropertyModel<>(model, "name")); name.setRequired(true); name.add(new PatternValidator("[^\\s]+")); name.add(new IValidator<String>() { private static final long serialVersionUID = 2927770353770055054L; final String previousName = isNew ? null : form.getModelObject().getName(); @Override public void validate(IValidatable<String> validatable) { String name = validatable.getValue(); for (RemoteInfo ri : table.getRemotes()) { String newName = ri.getName(); if (newName != null && !newName.equals(previousName) && newName.equals(name)) { form.error(String.format("A remote named %s already exists", name)); } } } }); url = new TextField<>("url", new PropertyModel<>(model, "URL")); url.setRequired(true); user = new TextField<>("user", new PropertyModel<>(model, "userName")); password = new PasswordTextField("password", new PropertyModel<>(model, "password")); password.setRequired(false); password.setResetPassword(false); form.add(name); form.add(url); form.add(user); form.add(password); form.add(new AjaxSubmitLink("submit", form) { private static final long serialVersionUID = 1L; @Override protected void onError(AjaxRequestTarget target, Form<?> form) { target.add(feedback); } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { RemoteInfo newRemote = (RemoteInfo) form.getModelObject(); boolean isNew = newRemote.getId() == null; if (isNew) { table.add(newRemote); } parentWindow.close(target); target.add(table); } }); form.add(new AjaxLink<Void>("cancel") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { parentWindow.close(target); target.add(table); } }); }
From source file:org.geogig.geoserver.web.security.WhitelistRuleEditor.java
License:Open Source License
public WhitelistRuleEditor(String id, IModel<WhitelistRule> model, final ModalWindow window, final WhitelistRulePanel table, boolean isNew) { super(id, model); this.isNew = isNew; Form<WhitelistRule> form = new Form<>("form", model); add(form);//from w w w . j a v a2 s. co m TextField<String> name = new TextField<>("name", new PropertyModel<>(model, "name")); name.setRequired(true); TextField<String> pattern = new TextField<>("pattern", new PropertyModel<>(model, "pattern")); pattern.setRequired(true); form.add(name); form.add(pattern); form.add(new CheckBox("requireSSL", new PropertyModel<>(model, "requireSSL"))); final FeedbackPanel feedbackPanel = new FeedbackPanel("feedback"); feedbackPanel.setOutputMarkupId(true); form.add(feedbackPanel); form.add(new AjaxSubmitLink("submit", form) { private static final long serialVersionUID = 1080309070367012502L; @Override protected void onError(AjaxRequestTarget target, Form<?> form) { target.add(feedbackPanel); } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { boolean isNew = WhitelistRuleEditor.this.isNew; if (isNew) { WhitelistRule rule = (WhitelistRule) form.getModelObject(); table.add(rule); } table.save(); window.close(target); target.add(table); } }); form.add(new AjaxLink<Void>("cancel") { private static final long serialVersionUID = 4762717512666965125L; @Override public void onClick(AjaxRequestTarget target) { window.close(target); target.add(table); } }); }
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);// w w w. java 2s . co m 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);/*w ww .j a v a2 s. co m*/ 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; }
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 a va 2 s . c om * @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); }