Example usage for org.apache.wicket.extensions.ajax.markup.html.modal ModalWindow close

List of usage examples for org.apache.wicket.extensions.ajax.markup.html.modal ModalWindow close

Introduction

In this page you can find the example usage for org.apache.wicket.extensions.ajax.markup.html.modal ModalWindow close.

Prototype

public void close(final IPartialPageRequestHandler target) 

Source Link

Document

Closes the modal window.

Usage

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);
}