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.syncope.console.pages.StatusModalPage.java

License:Apache License

public StatusModalPage(final PageReference callerPageRef, final ModalWindow window, final UserTO userTO) {

    super();/*from  ww  w  .j  a v  a2 s  .  c o m*/

    final Form form = new Form("form");
    add(form);

    final List<StatusBean> statuses = new ArrayList<StatusBean>();

    final StatusPanel statusPanel = new StatusPanel("statuspanel", userTO, statuses);
    form.add(statusPanel);

    final AjaxButton disable = new IndicatingAjaxButton("disable", new ResourceModel("disable", "Disable")) {

        private static final long serialVersionUID = -958724007591692537L;

        @Override
        protected void onSubmit(final AjaxRequestTarget target, final Form form) {

            try {
                userRestClient.suspend(userTO.getId(), statuses);

                if (callerPageRef.getPage() instanceof BasePage) {
                    ((BasePage) callerPageRef.getPage()).setModalResult(true);
                }

                window.close(target);
            } catch (Exception e) {
                LOG.error("Error disabling resources", e);
                error(getString("error") + ":" + e.getMessage());
                target.add(feedbackPanel);
            }
        }

        @Override
        protected void onError(final AjaxRequestTarget target, final Form form) {

            target.add(feedbackPanel);
        }
    };

    final AjaxButton enable = new IndicatingAjaxButton("enable", new ResourceModel("enable", "Enable")) {

        private static final long serialVersionUID = -958724007591692537L;

        @Override
        protected void onSubmit(final AjaxRequestTarget target, final Form form) {

            try {
                userRestClient.reactivate(userTO.getId(), statuses);

                ((BasePage) callerPageRef.getPage()).setModalResult(true);

                window.close(target);
            } catch (Exception e) {
                LOG.error("Error enabling resources", e);
                error(getString("error") + ":" + e.getMessage());
                target.add(feedbackPanel);
            }
        }

        @Override
        protected void onError(final AjaxRequestTarget target, final Form form) {

            target.add(feedbackPanel);
        }
    };

    form.add(disable);
    form.add(enable);
}

From source file:org.syncope.console.pages.VirtualSchemaModalPage.java

License:Apache License

@Override
public void setSchemaModalPage(final PageReference callerPageRef, final ModalWindow window,
        AbstractBaseBean schema, final boolean createFlag) {

    if (schema == null) {
        schema = new VirtualSchemaTO();
    }//  w  w w .  jav a 2 s .co m

    final Form schemaForm = new Form("form");

    schemaForm.setModel(new CompoundPropertyModel(schema));

    final AjaxTextFieldPanel name = new AjaxTextFieldPanel("name", getString("name"),
            new PropertyModel<String>(schema, "name"), false);
    name.addRequiredLabel();

    name.setEnabled(createFlag);

    final IndicatingAjaxButton submit = new IndicatingAjaxButton("apply", new ResourceModel("submit")) {

        private static final long serialVersionUID = -958724007591692537L;

        @Override
        protected void onSubmit(final AjaxRequestTarget target, final Form form) {

            VirtualSchemaTO schemaTO = (VirtualSchemaTO) form.getDefaultModelObject();

            try {
                if (createFlag) {
                    restClient.createVirtualSchema(kind, schemaTO);
                } else {
                    restClient.updateVirtualSchema(kind, schemaTO);
                }
                if (callerPageRef.getPage() instanceof BasePage) {
                    ((BasePage) callerPageRef.getPage()).setModalResult(true);
                }

                window.close(target);
            } catch (SyncopeClientCompositeErrorException e) {
                error(getString("error") + ":" + e.getMessage());
                target.add(feedbackPanel);
            }
        }

        @Override
        protected void onError(final AjaxRequestTarget target, final Form form) {

            target.add(feedbackPanel);
        }
    };

    String allowedRoles;

    if (createFlag) {
        allowedRoles = xmlRolesReader.getAllAllowedRoles("Schema", "create");
    } else {
        allowedRoles = xmlRolesReader.getAllAllowedRoles("Schema", "update");
    }

    MetaDataRoleAuthorizationStrategy.authorize(submit, ENABLE, allowedRoles);

    schemaForm.add(name);

    schemaForm.add(submit);

    add(schemaForm);
}

From source file:org.xaloon.wicket.plugin.image.panel.ImagePanel.java

License:Apache License

@Override
protected void onBeforeRender() {
    super.onBeforeRender();
    removeAll();//from   w w w  .  j av a 2s  .c o  m
    final ImageComposition image = getModelObject();

    // Add show temporary image
    FileDescriptor temporaryFiledeDescriptor = image.getImage().getThumbnail();
    if (temporaryFiledeDescriptor == null) {
        temporaryFiledeDescriptor = image.getImage();
    }
    if (temporaryFiledeDescriptor != null && temporaryFiledeDescriptor.getImageInputStreamContainer() == null) {
        if (temporaryFiledeDescriptor.isExternal()) {
            temporaryFiledeDescriptor.setImageInputStreamContainer(
                    new UrlInputStreamContainer(temporaryFiledeDescriptor.getPath()));
        } else {
            temporaryFiledeDescriptor.setImageInputStreamContainer(new ByteArrayAsInputStreamContainer(
                    fileRepositoryFacade.getFileByPath(temporaryFiledeDescriptor.getPath())));
        }
    }
    TemporaryResource temporaryResource = new TemporaryResource(temporaryFiledeDescriptor);
    Image temporaryImage = new NonCachingImage("temporary-image", temporaryResource);
    temporaryImage.add(AttributeModifier.replace(HtmlElementEnum.WIDTH.value(), String.valueOf(imageWidth)));
    temporaryImage.add(AttributeModifier.replace(HtmlElementEnum.HEIGHT.value(), String.valueOf(imageHeight)));
    temporaryImage.setVisible(!temporaryResource.isEmpty());
    add(temporaryImage);

    // Add delete image link
    add(new ConfirmationAjaxLink<Void>("delete-image-link") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            deleteFileDescriptor(image);
            Component componentToRefresh = getOnCloseRefreshComponent();
            if (componentToRefresh != null) {
                target.add(componentToRefresh);
            }
        }
    }.setVisible(securityFacade.hasAny(GallerySecurityAuthorities.IMAGE_DELETE)));

    // Add the modal window to edit image information
    final ModalWindow imageInformationModalWindow = new CustomModalWindow("modal-image-information",
            "Image information") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void addComponentsToRefresh(java.util.List<Component> components) {
            components.add(ImagePanel.this);
        };
    };
    imageInformationModalWindow.setContent(new ImageDescriptionPanel(imageInformationModalWindow.getContentId(),
            new Model<org.xaloon.core.api.image.model.Image>(image.getImage())) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onImageUpdate(AjaxRequestTarget target, org.xaloon.core.api.image.model.Image entity) {
            // Usually parent of this panel should be responsible to save
            // new entity, so we just update existing one here
            if (entity.getId() != null) {
                albumFacade.save(entity);
            }
            imageInformationModalWindow.close(target);
        }

    });
    add(imageInformationModalWindow);

    // Add edit image metadata modal window
    add(new AjaxLink<Void>("edit-information") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            imageInformationModalWindow.show(target);
        }
    }.setVisible(securityFacade.hasAny(GallerySecurityAuthorities.IMAGE_EDIT)));
}

From source file:org.xaloon.wicket.plugin.user.admin.panel.CheckboxMultipleChoiceManagement.java

License:Apache License

@SuppressWarnings({ "rawtypes", "unchecked" })
@Override//from ww w. j av a 2s .c om
protected void onBeforeRender() {
    super.onBeforeRender();
    removeAll();
    // Add the modal window
    final ModalWindow addGroupModalWindow = new CustomModalWindow("modal-assign-entities", "Assign something") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void addComponentsToRefresh(List<Component> components) {
            CheckboxMultipleChoiceManagement.this.addComponentsToRefresh(components);
        }
    };
    add(addGroupModalWindow);

    // Create and set form container panel
    FormContainerPanel formContainerPanel = new FormContainerPanel(addGroupModalWindow.getContentId());
    addGroupModalWindow.setContent(formContainerPanel);

    // Create and add form
    Form form = new Form("form");
    formContainerPanel.setForm(form);

    // Create and add selection choices to form
    CheckBoxMultipleChoice choices = new CheckBoxMultipleChoice("choices", Model.of(selectedEntities),
            availableEntitiesToSelect, choiceRenderer);
    form.add(choices);

    // Add submit button to form
    form.add(new AjaxButton("submit") {

        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            onFormSubmit(target);
            addGroupModalWindow.close(target);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
        }
    });

    // Add assign entities link
    add(new AjaxLink<Void>("link-assign-entities") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            addGroupModalWindow.show(target);
        }
    });
}

From source file:org.xaloon.wicket.plugin.user.admin.panel.GroupsPanel.java

License:Apache License

@Override
protected void onBeforeRender() {
    super.onBeforeRender();
    removeAll();/*from   w w w. j  ava 2 s .  c o m*/

    // Add paging navigation container with navigation toolbar
    final DecoratedPagingNavigatorContainer<SecurityGroup> dataContainer = new DecoratedPagingNavigatorContainer<SecurityGroup>(
            "container", getCurrentRedirectLink());
    dataContainer.setOutputMarkupId(true);
    addOrReplace(dataContainer);

    // Add blog list data view
    final DataView<SecurityGroup> securityGroupDataView = new DataView<SecurityGroup>("security-groups",
            new JpaSecurityGroupDataProvider()) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(Item<SecurityGroup> item) {
            final SecurityGroup group = item.getModelObject();

            PageParameters pageParams = new PageParameters();
            pageParams.add(Bookmarkable.PARAM_PATH, group.getPath());
            BookmarkablePageLink<Void> groupLink = new BookmarkablePageLink<Void>("groupDetails",
                    GroupDetailPage.class, pageParams);
            item.add(groupLink);
            groupLink.add(new Label("name", new Model<String>(group.getName())));

            item.add(new ConfirmationAjaxLink<Void>("delete") {
                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(AjaxRequestTarget target) {
                    groupService.delete(group);
                    target.add(dataContainer);
                }
            });
        }

    };
    dataContainer.addAbstractPageableView(securityGroupDataView);

    // Add the modal window to create new group
    final ModalWindow addNewGroupModalWindow = new CustomModalWindow("modal-new-group", "New group") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void addComponentsToRefresh(java.util.List<Component> components) {
            components.add(GroupsPanel.this);
        };
    };
    addNewGroupModalWindow.setContent(new CreateNewEntityPanel<SecurityGroup>(
            addNewGroupModalWindow.getContentId(), new Model<SecurityGroup>(groupService.newAuthority())) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onNewEntitySubmit(AjaxRequestTarget target, SecurityGroup entity) {
            groupService.save(entity);
            addNewGroupModalWindow.close(target);
        }
    });
    add(addNewGroupModalWindow);

    // add new group link
    add(new AjaxLink<Void>("add-new-group") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            addNewGroupModalWindow.show(target);
        }
    });
}

From source file:org.xaloon.wicket.plugin.user.admin.panel.RolesPanel.java

License:Apache License

@Override
protected void onBeforeRender() {
    super.onBeforeRender();
    removeAll();/*from w  ww . j  a va 2  s.c o m*/

    // Add paging navigation container with navigation toolbar
    final DecoratedPagingNavigatorContainer<SecurityRole> dataContainer = new DecoratedPagingNavigatorContainer<SecurityRole>(
            "container", getCurrentRedirectLink());
    addOrReplace(dataContainer);
    dataContainer.setOutputMarkupId(true);

    // Add blog list data view
    final DataView<SecurityRole> securityGroupDataView = new DataView<SecurityRole>("security-roles",
            new JpaSecurityRoleDataProvider()) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(Item<SecurityRole> item) {
            final SecurityRole role = item.getModelObject();

            PageParameters pageParams = new PageParameters();
            pageParams.add(Bookmarkable.PARAM_PATH, role.getPath());
            BookmarkablePageLink<Void> roleLink = new BookmarkablePageLink<Void>("roleDetails",
                    RoleDetailPage.class, pageParams);
            item.add(roleLink);
            roleLink.add(new Label("name", new Model<String>(role.getName())));

            // Add delete role link
            item.add(new ConfirmationAjaxLink<Void>("delete") {
                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(AjaxRequestTarget target) {
                    roleService.delete(role);
                    target.add(dataContainer);
                }

            });
        }
    };
    dataContainer.addAbstractPageableView(securityGroupDataView);

    // Add the modal window to create new group
    final ModalWindow addNewGroupModalWindow = new CustomModalWindow("modal-new-role", "New role") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void addComponentsToRefresh(java.util.List<Component> components) {
            components.add(RolesPanel.this);
        };
    };
    addNewGroupModalWindow.setContent(new CreateNewEntityPanel<SecurityRole>(
            addNewGroupModalWindow.getContentId(), new Model<SecurityRole>(roleService.newAuthority())) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onNewEntitySubmit(AjaxRequestTarget target, SecurityRole entity) {
            roleService.save(entity);
            addNewGroupModalWindow.close(target);
        }
    });
    add(addNewGroupModalWindow);

    // add new group link
    add(new AjaxLink<Void>("add-new-role") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            addNewGroupModalWindow.show(target);
        }
    });
}