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

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

Introduction

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

Prototype

public ModalWindow setWindowClosedCallback(final WindowClosedCallback callback) 

Source Link

Document

Sets the @{link WindowClosedCallback instance.

Usage

From source file:org.apache.directory.fortress.web.panel.RoleAdminDetailPanel.java

License:Apache License

private void addPermOUSearchModal() {
    final ModalWindow permousModalWindow;
    add(permousModalWindow = new ModalWindow("permoumodal"));
    final OUSearchModalPanel permouSearchModalPanel = new OUSearchModalPanel(permousModalWindow.getContentId(),
            permousModalWindow, false);//from www . j a  v a 2 s. co  m
    permousModalWindow.setContent(permouSearchModalPanel);
    permousModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        @Override
        public void onClose(AjaxRequestTarget target) {
            OrgUnit ou = permouSearchModalPanel.getSelection();
            if (ou != null) {
                permouSelection = ou.getName();
                AdminRole adminRole = (AdminRole) getDefaultModelObject();
                adminRole.setOsP(permouSelection);
                target.add(permouCB);
            }
        }
    });

    add(new AjaxButton(GlobalIds.PERMOU_SEARCH) {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            String msg = "clicked on permission OU search";
            msg += permouSelection != null ? ": " + permouSelection : "";
            permouSearchModalPanel.setSearchVal(permouSelection);
            LOG.debug(msg);
            target.prependJavaScript(GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE);
            permousModalWindow.show(target);
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);
            AjaxCallListener ajaxCallListener = new AjaxCallListener() {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;

                @Override
                public CharSequence getFailureHandler(Component component) {
                    return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML;
                }
            };
            attributes.getAjaxCallListeners().add(ajaxCallListener);
        }
    });

    permousModalWindow.setTitle("Perm Organization Selection Modal");
    permousModalWindow.setInitialWidth(450);
    permousModalWindow.setInitialHeight(450);
    permousModalWindow.setCookieName("permou-modal");

    add(new AjaxButton("permou.delete") {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            String msg = "clicked on permous.delete";
            if (StringUtils.isNotEmpty(permouSelection)) {
                msg += " selection:" + permouSelection;
                AdminRole adminRole = (AdminRole) form.getModel().getObject();
                if (adminRole.getOsPSet() != null) {
                    adminRole.getOsPSet().remove(permouSelection);
                    permous.remove(permouSelection);
                    permouSelection = "";
                    target.add(permouCB);
                    msg += ", was removed from local, commit to persist changes on server";
                } else {
                    msg += ", no action taken because org unit does not have parent set";
                }
            } else {
                msg += ", no action taken because parents selection is empty";
            }
            LOG.debug(msg);
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);
            AjaxCallListener ajaxCallListener = new AjaxCallListener() {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;

                @Override
                public CharSequence getFailureHandler(Component component) {
                    return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML;
                }
            };
            attributes.getAjaxCallListeners().add(ajaxCallListener);
        }
    });
}

From source file:org.apache.directory.fortress.web.panel.RoleAdminDetailPanel.java

License:Apache License

private void addUserOUSearchModal() {
    final ModalWindow userousModalWindow;
    add(userousModalWindow = new ModalWindow("useroumodal"));
    final OUSearchModalPanel userouSearchModalPanel = new OUSearchModalPanel(userousModalWindow.getContentId(),
            userousModalWindow, true);/*from w  w w.j ava  2 s.co m*/
    userousModalWindow.setContent(userouSearchModalPanel);
    userousModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        @Override
        public void onClose(AjaxRequestTarget target) {
            OrgUnit ou = userouSearchModalPanel.getSelection();
            if (ou != null) {
                userouSelection = ou.getName();
                AdminRole adminRole = (AdminRole) getDefaultModelObject();
                adminRole.setOsU(userouSelection);
                target.add(userouCB);
            }
        }
    });

    add(new AjaxButton(GlobalIds.USEROU_SEARCH) {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            String msg = "clicked on user OU search";
            msg += userouSelection != null ? ": " + userouSelection : "";
            userouSearchModalPanel.setSearchVal(userouSelection);
            LOG.debug(msg);
            target.prependJavaScript(GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE);
            userousModalWindow.show(target);
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);
            AjaxCallListener ajaxCallListener = new AjaxCallListener() {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;

                @Override
                public CharSequence getFailureHandler(Component component) {
                    return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML;
                }
            };
            attributes.getAjaxCallListeners().add(ajaxCallListener);
        }
    });

    userousModalWindow.setTitle("User Organization Selection Modal");
    userousModalWindow.setInitialWidth(450);
    userousModalWindow.setInitialHeight(450);
    userousModalWindow.setCookieName("permou-modal");

    add(new AjaxButton("userou.delete") {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            String msg = "clicked on userous.delete";
            if (StringUtils.isNotEmpty(userouSelection)) {
                msg += " selection:" + userouSelection;
                AdminRole adminRole = (AdminRole) form.getModel().getObject();
                if (adminRole.getOsUSet() != null) {
                    adminRole.getOsUSet().remove(userouSelection);
                    userous.remove(userouSelection);
                    userouSelection = "";
                    target.add(userouCB);
                    msg += ", was removed from local, commit to persist changes on server";
                } else {
                    msg += ", no action taken because org unit does not have parent set";
                }
            } else {
                msg += ", no action taken because parents selection is empty";
            }
            LOG.debug(msg);
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);
            AjaxCallListener ajaxCallListener = new AjaxCallListener() {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;

                @Override
                public CharSequence getFailureHandler(Component component) {
                    return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML;
                }
            };
            attributes.getAjaxCallListeners().add(ajaxCallListener);
        }
    });
}

From source file:org.apache.directory.fortress.web.panel.RoleAdminDetailPanel.java

License:Apache License

private void addBeginRoleSearchModal() {
    final ModalWindow beginRoleModalWindow;
    add(beginRoleModalWindow = new ModalWindow("beginrolesmodal"));
    final RoleSearchModalPanel beginRoleSearchModalPanel = new RoleSearchModalPanel(
            beginRoleModalWindow.getContentId(), beginRoleModalWindow, false);
    beginRoleModalWindow.setContent(beginRoleSearchModalPanel);
    beginRoleModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        @Override/*from  www  .  j  a  va  2 s. co  m*/
        public void onClose(AjaxRequestTarget target) {
            UserRole userRole = beginRoleSearchModalPanel.getRoleSelection();
            if (userRole != null) {
                AdminRole adminRole = (AdminRole) getDefaultModelObject();
                adminRole.setBeginRange(userRole.getName());
                target.add(beginRangeTF);
            }
        }
    });

    add(new AjaxButton(GlobalIds.BEGIN_RANGE_SEARCH) {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            AdminRole adminRole = (AdminRole) form.getModel().getObject();
            beginRoleSearchModalPanel.setRoleSearchVal(adminRole.getBeginRange());
            target.prependJavaScript(GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE);
            beginRoleModalWindow.show(target);
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);
            AjaxCallListener ajaxCallListener = new AjaxCallListener() {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;

                @Override
                public CharSequence getFailureHandler(Component component) {
                    return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML;
                }
            };
            attributes.getAjaxCallListeners().add(ajaxCallListener);
        }
    });

    beginRoleModalWindow.setTitle("Begin Range Role Selection Modal");
    beginRoleModalWindow.setInitialWidth(700);
    beginRoleModalWindow.setInitialHeight(450);
    beginRoleModalWindow.setCookieName(ROLE_ASSIGN_MODAL);
}

From source file:org.apache.directory.fortress.web.panel.RoleAdminDetailPanel.java

License:Apache License

private void addEndRoleSearchModal() {
    final ModalWindow endRoleModalWindow;
    add(endRoleModalWindow = new ModalWindow("endrolesmodal"));
    final RoleSearchModalPanel endRoleSearchModalPanel = new RoleSearchModalPanel(
            endRoleModalWindow.getContentId(), endRoleModalWindow, false);
    endRoleModalWindow.setContent(endRoleSearchModalPanel);
    endRoleModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        @Override//from w  w  w.jav a 2  s  .c om
        public void onClose(AjaxRequestTarget target) {
            UserRole userRole = endRoleSearchModalPanel.getRoleSelection();
            if (userRole != null) {
                AdminRole adminRole = (AdminRole) getDefaultModelObject();
                adminRole.setEndRange(userRole.getName());
                target.add(endRangeTF);
            }
        }
    });

    add(new AjaxButton(GlobalIds.END_RANGE_SEARCH) {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            AdminRole adminRole = (AdminRole) form.getModel().getObject();
            endRoleSearchModalPanel.setRoleSearchVal(adminRole.getBeginRange());
            endRoleSearchModalPanel.setParentSearch(true);
            target.prependJavaScript(GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE);
            endRoleModalWindow.show(target);
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);
            AjaxCallListener ajaxCallListener = new AjaxCallListener() {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;

                @Override
                public CharSequence getFailureHandler(Component component) {
                    return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML;
                }
            };
            attributes.getAjaxCallListeners().add(ajaxCallListener);
        }
    });

    endRoleModalWindow.setTitle("End Range Role Selection Modal");
    endRoleModalWindow.setInitialWidth(700);
    endRoleModalWindow.setInitialHeight(450);
    endRoleModalWindow.setCookieName(ROLE_ASSIGN_MODAL);
}

From source file:org.apache.directory.fortress.web.panel.SDListPanel.java

License:Apache License

private void addRoleSearchModal(Radio roleRb) {
    final ModalWindow rolesModalWindow;
    listForm.add(rolesModalWindow = new ModalWindow("rolesearchmodal"));
    final RoleSearchModalPanel roleSearchModalPanel = new RoleSearchModalPanel(rolesModalWindow.getContentId(),
            rolesModalWindow, false);/* w  w  w .  ja v  a  2  s . c om*/
    rolesModalWindow.setContent(roleSearchModalPanel);
    rolesModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        @Override
        public void onClose(AjaxRequestTarget target) {
            UserRole roleConstraint = roleSearchModalPanel.getRoleSelection();
            if (roleConstraint != null) {
                log.debug("modal selected:" + roleConstraint.getName());
                searchVal = roleConstraint.getName();
                selectedRadioButton = ROLES;
                target.add(radioGroup);
            }
        }
    });

    roleRb.add(new SecureIndicatingAjaxLink("roleAssignLinkLbl", GlobalIds.REVIEW_MGR, "findRoles") {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        public void onClick(AjaxRequestTarget target) {
            String msg = "clicked on roles search";
            msg += "roleSelection: " + searchVal;
            roleSearchModalPanel.setRoleSearchVal(searchVal);
            log.debug(msg);
            target.prependJavaScript(GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE);
            rolesModalWindow.show(target);
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);
            AjaxCallListener ajaxCallListener = new AjaxCallListener() {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;

                @Override
                public CharSequence getFailureHandler(Component component) {
                    return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML;
                }
            };
            attributes.getAjaxCallListeners().add(ajaxCallListener);
        }
    });

    rolesModalWindow.setTitle("Role Search Modal");
    rolesModalWindow.setInitialWidth(700);
    rolesModalWindow.setInitialHeight(450);
    rolesModalWindow.setCookieName("role-assign-modal");
}

From source file:org.apache.directory.fortress.web.panel.UserListPanel.java

License:Apache License

private void addRoleSearchModal(Radio roleRb) {
    final ModalWindow rolesModalWindow;
    userformsearchfields.add(rolesModalWindow = new ModalWindow("rolesearchmodal"));
    final RoleSearchModalPanel roleSearchModalPanel = new RoleSearchModalPanel(rolesModalWindow.getContentId(),
            rolesModalWindow, false);/*from  ww w. j av a  2  s.  co  m*/
    rolesModalWindow.setContent(roleSearchModalPanel);
    rolesModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        @Override
        public void onClose(AjaxRequestTarget target) {
            UserRole roleConstraint = roleSearchModalPanel.getRoleSelection();
            if (roleConstraint != null) {
                LOG.debug("modal selected:" + roleConstraint.getName());
                searchData.setField1(roleConstraint.getName());
                selectedRadioButton = ROLES;
                enableRoleSearch();
                target.add(searchFields);
                target.add(radioGroup);
            }
        }
    });

    roleRb.add(new SecureIndicatingAjaxLink("roleAssignLinkLbl", GlobalIds.REVIEW_MGR, GlobalIds.FIND_ROLES) {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        public void onClick(AjaxRequestTarget target) {
            roleSearchModalPanel.setRoleSearchVal(searchData.getField1());
            roleSearchModalPanel.setAdmin(false);
            target.prependJavaScript(GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE);
            rolesModalWindow.show(target);
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);
            AjaxCallListener ajaxCallListener = new AjaxCallListener() {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;

                @Override
                public CharSequence getFailureHandler(Component component) {
                    return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML;
                }
            };
            attributes.getAjaxCallListeners().add(ajaxCallListener);
        }
    });
    rolesModalWindow.setTitle("RBAC Role Search Modal");
    rolesModalWindow.setInitialWidth(700);
    rolesModalWindow.setInitialHeight(450);
    rolesModalWindow.setCookieName("role-assign-modal");
}

From source file:org.apache.directory.fortress.web.panel.UserListPanel.java

License:Apache License

private void addAdminRoleSearchModal(Radio adminRoleRb) {
    final ModalWindow adminRolesModalWindow;
    userformsearchfields.add(adminRolesModalWindow = new ModalWindow("adminrolesearchmodal"));
    final RoleSearchModalPanel adminRoleSearchModalPanel = new RoleSearchModalPanel(
            adminRolesModalWindow.getContentId(), adminRolesModalWindow, true);
    adminRolesModalWindow.setContent(adminRoleSearchModalPanel);
    adminRolesModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        @Override//from   w w  w .  j  a v  a  2 s . co  m
        public void onClose(AjaxRequestTarget target) {
            UserRole roleConstraint = adminRoleSearchModalPanel.getRoleSelection();
            if (roleConstraint != null) {
                searchData.setField1(roleConstraint.getName());
                selectedRadioButton = ADMIN_ROLES;
                enableAdminSearch();
                target.add(searchFields);
                target.add(radioGroup);
            }
        }
    });

    adminRoleRb.add(new SecureIndicatingAjaxLink("adminRoleAssignLinkLbl", GlobalIds.DEL_REVIEW_MGR,
            GlobalIds.FIND_ROLES) {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        public void onClick(AjaxRequestTarget target) {
            String msg = "clicked on admin roles search";
            msg += "adminRoleSelection: " + searchData.getField1();
            adminRoleSearchModalPanel.setRoleSearchVal(searchData.getField1());
            adminRoleSearchModalPanel.setAdmin(true);
            LOG.debug(msg);
            target.prependJavaScript(GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE);
            adminRolesModalWindow.show(target);
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);
            AjaxCallListener ajaxCallListener = new AjaxCallListener() {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;

                @Override
                public CharSequence getFailureHandler(Component component) {
                    return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML;
                }
            };
            attributes.getAjaxCallListeners().add(ajaxCallListener);
        }
    });
    adminRolesModalWindow.setTitle("Admin Role Search Modal");
    adminRolesModalWindow.setInitialWidth(700);
    adminRolesModalWindow.setInitialHeight(450);
    adminRolesModalWindow.setCookieName("role-assign-modal");
}

From source file:org.apache.directory.fortress.web.panel.UserListPanel.java

License:Apache License

private void addOUSearchModal(Radio ouRb) {
    final ModalWindow ousModalWindow;
    userformsearchfields.add(ousModalWindow = new ModalWindow("ousearchmodal"));
    final OUSearchModalPanel ouSearchModalPanel = new OUSearchModalPanel(ousModalWindow.getContentId(),
            ousModalWindow, true);/*from   w w  w  .j  a v  a2s.  com*/
    ousModalWindow.setContent(ouSearchModalPanel);
    ousModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        @Override
        public void onClose(AjaxRequestTarget target) {
            OrgUnit ou = ouSearchModalPanel.getSelection();
            if (ou != null) {
                searchData.setField1(ou.getName());
            }
            selectedRadioButton = OUS;
            enableOuSearch();
            target.add(searchFields);
            target.add(radioGroup);
        }
    });
    ouRb.add(new SecureIndicatingAjaxLink("ouAssignLinkLbl", GlobalIds.DEL_REVIEW_MGR, "searchOU") {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        public void onClick(AjaxRequestTarget target) {
            ouSearchModalPanel.setSearchVal(searchData.getField1());
            target.prependJavaScript(GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE);
            ousModalWindow.show(target);
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);
            AjaxCallListener ajaxCallListener = new AjaxCallListener() {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;

                @Override
                public CharSequence getFailureHandler(Component component) {
                    return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML;
                }
            };
            attributes.getAjaxCallListeners().add(ajaxCallListener);
        }
    });

    ousModalWindow.setTitle("User Organizational Unit Search Modal");
    ousModalWindow.setInitialWidth(450);
    ousModalWindow.setInitialHeight(450);
    ousModalWindow.setCookieName("userou-modal");
}

From source file:org.apache.directory.fortress.web.panel.UserListPanel.java

License:Apache License

private void addPermSearchModal(Radio permRb) {
    final ModalWindow permsModalWindow;
    userformsearchfields.add(permsModalWindow = new ModalWindow("permsearchmodal"));
    final PermSearchModalPanel permSearchModalPanel = new PermSearchModalPanel(permsModalWindow.getContentId(),
            permsModalWindow, false);/*from  www  .  j  a  v a 2 s .c o  m*/
    permsModalWindow.setContent(permSearchModalPanel);
    permsModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        @Override
        public void onClose(AjaxRequestTarget target) {
            Permission permSelection = permSearchModalPanel.getSelection();
            if (permSelection != null) {
                searchData.setField1(permSelection.getObjName());
                searchData.setField2(permSelection.getOpName());
            }
            selectedRadioButton = PERMS;
            enablePermSearch();
            target.add(searchFields);
            target.add(radioGroup);
        }
    });
    permRb.add(new SecureIndicatingAjaxLink("permLinkLbl", GlobalIds.REVIEW_MGR, GlobalIds.FIND_PERMISSIONS) {
        /** Default serialVersionUID */
        private static final long serialVersionUID = 1L;

        public void onClick(AjaxRequestTarget target) {
            String msg = "clicked on perms search";
            msg += "permSelection: " + permission;
            String objectSearchVal = "";
            if (StringUtils.isNotEmpty(searchData.getField1())) {
                objectSearchVal = searchData.getField1();
            }
            permSearchModalPanel.setSearchVal(objectSearchVal);
            LOG.debug(msg);
            target.prependJavaScript(GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE);
            permsModalWindow.show(target);
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);
            AjaxCallListener ajaxCallListener = new AjaxCallListener() {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;

                @Override
                public CharSequence getFailureHandler(Component component) {
                    return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML;
                }
            };
            attributes.getAjaxCallListeners().add(ajaxCallListener);
        }
    });
    permsModalWindow.setTitle("Permission Search Modal");
    permsModalWindow.setInitialWidth(650);
    permsModalWindow.setInitialHeight(450);
    permsModalWindow.setCookieName("perm-search-modal");
}

From source file:org.apache.syncope.client.console.pages.PolicyModalPage.java

License:Apache License

public PolicyModalPage(final PageReference pageRef, final ModalWindow window, final T policyTO) {
    super();/*from w w w  .  ja  va2s .  co  m*/

    final Form<?> form = new Form<>(FORM);
    form.setOutputMarkupId(true);
    add(form);

    final AjaxTextFieldPanel policyid = new AjaxTextFieldPanel("key", "key",
            new PropertyModel<String>(policyTO, "key"));
    policyid.setEnabled(false);
    policyid.setStyleSheet("ui-widget-content ui-corner-all short_fixedsize");
    form.add(policyid);

    final AjaxTextFieldPanel description = new AjaxTextFieldPanel("description", "description",
            new PropertyModel<String>(policyTO, "description"));
    description.addRequiredLabel();
    description.setStyleSheet("ui-widget-content ui-corner-all medium_dynamicsize");
    form.add(description);

    final AjaxDropDownChoicePanel<PolicyType> type = new AjaxDropDownChoicePanel<>("type", "type",
            new PropertyModel<PolicyType>(policyTO, "type"));
    switch (policyTO.getType()) {
    case GLOBAL_ACCOUNT:
    case ACCOUNT:
        type.setChoices(Arrays.asList(new PolicyType[] { PolicyType.GLOBAL_ACCOUNT, PolicyType.ACCOUNT }));
        break;

    case GLOBAL_PASSWORD:
    case PASSWORD:
        type.setChoices(Arrays.asList(new PolicyType[] { PolicyType.GLOBAL_PASSWORD, PolicyType.PASSWORD }));
        break;

    case GLOBAL_SYNC:
    case SYNC:
        type.setChoices(Arrays.asList(new PolicyType[] { PolicyType.GLOBAL_SYNC, PolicyType.SYNC }));

    default:
    }
    type.setChoiceRenderer(new PolicyTypeRenderer());
    type.addRequiredLabel();
    form.add(type);

    // Authentication resources - only for AccountPolicyTO
    Fragment fragment;
    if (policyTO instanceof AccountPolicyTO) {
        fragment = new Fragment("forAccountOnly", "authResourcesFragment", form);

        final List<String> resourceNames = new ArrayList<>();
        for (ResourceTO resource : resourceRestClient.getAll()) {
            resourceNames.add(resource.getKey());
        }
        fragment.add(new AjaxPalettePanel<>("authResources",
                new PropertyModel<List<String>>(policyTO, "resources"), new ListModel<>(resourceNames)));
    } else {
        fragment = new Fragment("forAccountOnly", "emptyFragment", form);
    }
    form.add(fragment);
    //

    final PolicySpec policy = getPolicySpecification(policyTO);

    form.add(new PolicyBeanPanel("panel", policy));

    final ModalWindow mwindow = new ModalWindow("metaEditModalWin");
    mwindow.setCssClassName(ModalWindow.CSS_CLASS_GRAY);
    mwindow.setInitialHeight(WIN_HEIGHT);
    mwindow.setInitialWidth(WIN_WIDTH);
    mwindow.setCookieName("meta-edit-modal");
    add(mwindow);

    List<IColumn<String, String>> resColumns = new ArrayList<>();
    resColumns.add(new AbstractColumn<String, String>(new StringResourceModel("name", this, null, "")) {

        private static final long serialVersionUID = 2054811145491901166L;

        @Override
        public void populateItem(final Item<ICellPopulator<String>> cellItem, final String componentId,
                final IModel<String> rowModel) {

            cellItem.add(new Label(componentId, rowModel.getObject()));
        }
    });
    resColumns.add(new AbstractColumn<String, String>(new StringResourceModel("actions", this, null, "")) {

        private static final long serialVersionUID = 2054811145491901166L;

        @Override
        public String getCssClass() {
            return "action";
        }

        @Override
        public void populateItem(final Item<ICellPopulator<String>> cellItem, final String componentId,
                final IModel<String> model) {

            final String resource = model.getObject();

            final ActionLinksPanel panel = new ActionLinksPanel(componentId, model, getPageReference());
            panel.add(new ActionLink() {

                private static final long serialVersionUID = -3722207913631435501L;

                @Override
                public void onClick(final AjaxRequestTarget target) {
                    mwindow.setPageCreator(new ModalWindow.PageCreator() {

                        private static final long serialVersionUID = -7834632442532690940L;

                        @Override
                        public Page createPage() {
                            return new ResourceModalPage(PolicyModalPage.this.getPageReference(), mwindow,
                                    resourceRestClient.read(resource), false);
                        }
                    });

                    mwindow.show(target);
                }
            }, ActionLink.ActionType.EDIT, "Resources");

            cellItem.add(panel);
        }
    });
    ISortableDataProvider<String, String> resDataProvider = new SortableDataProvider<String, String>() {

        private static final long serialVersionUID = 8263758912838836438L;

        @Override
        public Iterator<? extends String> iterator(final long first, final long count) {
            return policyTO.getKey() == 0 ? Collections.<String>emptyList().iterator()
                    : policyRestClient.getPolicy(policyTO.getKey()).getUsedByResources()
                            .subList((int) first, (int) first + (int) count).iterator();
        }

        @Override
        public long size() {
            return policyTO.getKey() == 0 ? 0
                    : policyRestClient.getPolicy(policyTO.getKey()).getUsedByResources().size();
        }

        @Override
        public IModel<String> model(final String object) {
            return new Model<>(object);
        }
    };
    final AjaxFallbackDefaultDataTable<String, String> resources = new AjaxFallbackDefaultDataTable<>(
            "resources", resColumns, resDataProvider, 10);
    form.add(resources);

    List<IColumn<GroupTO, String>> groupColumns = new ArrayList<>();
    groupColumns.add(new PropertyColumn<GroupTO, String>(new ResourceModel("key", "key"), "key", "key"));
    groupColumns.add(new PropertyColumn<GroupTO, String>(new ResourceModel("name", "name"), "name", "name"));
    groupColumns.add(new AbstractColumn<GroupTO, String>(new StringResourceModel("actions", this, null, "")) {

        private static final long serialVersionUID = 2054811145491901166L;

        @Override
        public String getCssClass() {
            return "action";
        }

        @Override
        public void populateItem(final Item<ICellPopulator<GroupTO>> cellItem, final String componentId,
                final IModel<GroupTO> model) {

            final GroupTO group = model.getObject();

            final ActionLinksPanel panel = new ActionLinksPanel(componentId, model, getPageReference());
            panel.add(new ActionLink() {

                private static final long serialVersionUID = -3722207913631435501L;

                @Override
                public void onClick(final AjaxRequestTarget target) {
                    mwindow.setPageCreator(new ModalWindow.PageCreator() {

                        private static final long serialVersionUID = -7834632442532690940L;

                        @Override
                        public Page createPage() {
                            return new GroupModalPage(PolicyModalPage.this.getPageReference(), mwindow, group);
                        }
                    });

                    mwindow.show(target);
                }
            }, ActionLink.ActionType.EDIT, "Groups");

            cellItem.add(panel);
        }
    });
    ISortableDataProvider<GroupTO, String> groupDataProvider = new SortableDataProvider<GroupTO, String>() {

        private static final long serialVersionUID = 8263758912838836438L;

        @Override
        public Iterator<? extends GroupTO> iterator(final long first, final long count) {
            List<GroupTO> groups = new ArrayList<>();

            if (policyTO.getKey() > 0) {
                for (Long groupId : policyRestClient.getPolicy(policyTO.getKey()).getUsedByGroups()
                        .subList((int) first, (int) first + (int) count)) {

                    groups.add(groupRestClient.read(groupId));
                }
            }

            return groups.iterator();
        }

        @Override
        public long size() {
            return policyTO.getKey() == 0 ? 0
                    : policyRestClient.getPolicy(policyTO.getKey()).getUsedByGroups().size();
        }

        @Override
        public IModel<GroupTO> model(final GroupTO object) {
            return new Model<>(object);
        }
    };
    final AjaxFallbackDefaultDataTable<GroupTO, String> groups = new AjaxFallbackDefaultDataTable<>("groups",
            groupColumns, groupDataProvider, 10);
    form.add(groups);

    mwindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {

        private static final long serialVersionUID = 8804221891699487139L;

        @Override
        public void onClose(final AjaxRequestTarget target) {
            target.add(resources);
            target.add(groups);
            if (isModalResult()) {
                info(getString(Constants.OPERATION_SUCCEEDED));
                feedbackPanel.refresh(target);
                setModalResult(false);
            }
        }
    });

    final AjaxButton submit = new IndicatingAjaxButton(APPLY, new ResourceModel(APPLY)) {

        private static final long serialVersionUID = -958724007591692537L;

        @Override
        protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
            setPolicySpecification(policyTO, policy);

            try {
                if (policyTO.getKey() > 0) {
                    policyRestClient.updatePolicy(policyTO);
                } else {
                    policyRestClient.createPolicy(policyTO);
                }
                ((BasePage) pageRef.getPage()).setModalResult(true);

                window.close(target);
            } catch (Exception e) {
                LOG.error("While creating policy", e);

                error(getString(Constants.ERROR) + ": " + e.getMessage());
                ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target);
            }
        }

        @Override
        protected void onError(final AjaxRequestTarget target, final Form<?> form) {
            ((NotificationPanel) getPage().get(Constants.FEEDBACK)).refresh(target);
        }
    };
    form.add(submit);

    final IndicatingAjaxButton cancel = new IndicatingAjaxButton(CANCEL, new ResourceModel(CANCEL)) {

        private static final long serialVersionUID = -958724007591692537L;

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

        @Override
        protected void onError(final AjaxRequestTarget target, final Form<?> form) {
        }
    };
    cancel.setDefaultFormProcessing(false);
    form.add(cancel);
}