List of usage examples for org.apache.wicket.extensions.ajax.markup.html.modal ModalWindow ModalWindow
public ModalWindow(final String id)
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);// w w w . j a v a 2 s.c o 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 w w w. j a va 2 s . c om*/ 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// ww w . ja v 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);/*from w w w .j ava2 s.c o 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()); 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 w ww. jav 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()); 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 www . 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 ww w . java 2 s .c om 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 w w w. ja va 2 s . com 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.jetspeed.portlets.rpad.RPADEditor.java
License:Apache License
public RPADEditor() { final PortletDeployer deployer = new JetspeedPortletDeployer(); IModel getRepo = new LoadableDetachableModel() { protected Object load() { return getRepo(); }//from w w w. j a va 2 s . c om }; final WebMarkupContainer tableGroup = new WebMarkupContainer("tableGroup"); final ModalWindow metaDataModalWindow = new ModalWindow("modalwindow"); final PageableListView listview = new PageableListView("repositories", getRepo, 10) { @Override protected void populateItem(final ListItem item) { final Repository repo = (Repository) item.getModelObject(); item.add(new Label("name", repo.getName())); item.add(new Label("url", repo.getConfigPath())); item.add(new AjaxLink("edit", item.getModel()) { @Override public void onClick(AjaxRequestTarget target) { metaDataModalWindow.setContent( new RepositoryPanel(metaDataModalWindow.getContentId(), repo, tableGroup)); metaDataModalWindow.show(target); } }); item.add(new AjaxLink("remove", item.getModel()) { @Override public void onClick(AjaxRequestTarget target) { try { getPortletRequest().getPreferences().reset(repo.getName()); getRepositoryManager() .reload(RemotePortletAppDeployer.getReposList(getPortletRequest())); target.addComponent(tableGroup); } catch (ReadOnlyException e) { logger.error("The preference is read-only: {}", repo.getName()); } } }); } }; listview.setOutputMarkupId(true); tableGroup.setOutputMarkupId(true); tableGroup.add(new PagingNavigator("navigator", listview)); tableGroup.add(listview); add(metaDataModalWindow); add(tableGroup); add(new AjaxLink("newRepo") { @Override public void onClick(AjaxRequestTarget target) { metaDataModalWindow.setContent(new RepositoryPanel(metaDataModalWindow.getContentId(), new SimpleRepository("", ""), tableGroup)); metaDataModalWindow.show(target); } }); }
From source file:org.apache.syncope.client.console.pages.ApprovalModalPage.java
License:Apache License
public ApprovalModalPage(final PageReference pageRef, final ModalWindow window, final WorkflowFormTO formTO) { super();//from w w w . j av a2s . co m IModel<List<WorkflowFormPropertyTO>> formProps = new LoadableDetachableModel<List<WorkflowFormPropertyTO>>() { private static final long serialVersionUID = 3169142472626817508L; @Override protected List<WorkflowFormPropertyTO> load() { return formTO.getProperties(); } }; final ListView<WorkflowFormPropertyTO> propView = new AltListView<WorkflowFormPropertyTO>("propView", formProps) { private static final long serialVersionUID = 9101744072914090143L; @Override @SuppressWarnings({ "unchecked", "rawtypes" }) protected void populateItem(final ListItem<WorkflowFormPropertyTO> item) { final WorkflowFormPropertyTO prop = item.getModelObject(); Label label = new Label("key", prop.getName() == null ? prop.getId() : prop.getName()); item.add(label); FieldPanel field; switch (prop.getType()) { case Boolean: field = new AjaxDropDownChoicePanel("value", label.getDefaultModelObjectAsString(), new Model<Boolean>(Boolean.valueOf(prop.getValue()))) .setChoices(Arrays.asList(new String[] { "Yes", "No" })); break; case Date: SimpleDateFormat df = StringUtils.isNotBlank(prop.getDatePattern()) ? new SimpleDateFormat(prop.getDatePattern()) : new SimpleDateFormat(); Date parsedDate = null; if (StringUtils.isNotBlank(prop.getValue())) { try { parsedDate = df.parse(prop.getValue()); } catch (ParseException e) { LOG.error("Unparsable date: {}", prop.getValue(), e); } } field = new DateTimeFieldPanel("value", label.getDefaultModelObjectAsString(), new Model<Date>(parsedDate), df.toLocalizedPattern()); break; case Enum: MapChoiceRenderer<String, String> enumCR = new MapChoiceRenderer<String, String>( prop.getEnumValues()); field = new AjaxDropDownChoicePanel("value", label.getDefaultModelObjectAsString(), new Model(prop.getValue())).setChoiceRenderer(enumCR).setChoices(new Model() { private static final long serialVersionUID = -858521070366432018L; @Override public Serializable getObject() { return new ArrayList<String>(prop.getEnumValues().keySet()); } }); break; case Long: field = new SpinnerFieldPanel<Long>("value", label.getDefaultModelObjectAsString(), Long.class, new Model<Long>(NumberUtils.toLong(prop.getValue())), null, null); break; case String: default: field = new AjaxTextFieldPanel("value", PARENT_PATH, new Model<String>(prop.getValue())); break; } field.setReadOnly(!prop.isWritable()); if (prop.isRequired()) { field.addRequiredLabel(); } item.add(field); } }; final AjaxButton userDetails = new IndicatingAjaxButton("userDetails", new Model<String>(getString("userDetails"))) { private static final long serialVersionUID = -4804368561204623354L; @Override protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) { editUserWin.setPageCreator(new ModalWindow.PageCreator() { private static final long serialVersionUID = -7834632442532690940L; @Override public Page createPage() { return new ViewUserModalPage(ApprovalModalPage.this.getPageReference(), editUserWin, userRestClient.read(formTO.getUserKey())) { private static final long serialVersionUID = -2819994749866481607L; @Override protected void closeAction(final AjaxRequestTarget target, final Form form) { setResponsePage(ApprovalModalPage.this); } }; } }); editUserWin.show(target); } }; MetaDataRoleAuthorizationStrategy.authorize(userDetails, ENABLE, xmlRolesReader.getEntitlement("Users", "read")); final AjaxButton submit = new IndicatingAjaxButton(APPLY, new Model<String>(getString(SUBMIT))) { private static final long serialVersionUID = -958724007591692537L; @Override protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) { Map<String, WorkflowFormPropertyTO> props = formTO.getPropertyMap(); for (int i = 0; i < propView.size(); i++) { @SuppressWarnings("unchecked") ListItem<WorkflowFormPropertyTO> item = (ListItem<WorkflowFormPropertyTO>) propView.get(i); String input = ((FieldPanel) item.get("value")).getField().getInput(); if (!props.containsKey(item.getModelObject().getId())) { props.put(item.getModelObject().getId(), new WorkflowFormPropertyTO()); } if (item.getModelObject().isWritable()) { switch (item.getModelObject().getType()) { case Boolean: props.get(item.getModelObject().getId()).setValue(String.valueOf("0".equals(input))); break; case Date: case Enum: case String: case Long: default: props.get(item.getModelObject().getId()).setValue(input); break; } } } formTO.getProperties().clear(); formTO.getProperties().addAll(props.values()); try { restClient.submitForm(formTO); ((Todo) pageRef.getPage()).setModalResult(true); window.close(target); } catch (SyncopeClientException e) { error(getString(Constants.ERROR) + ": " + e.getMessage()); LOG.error("While submitting form {}", formTO, e); feedbackPanel.refresh(target); } } @Override protected void onError(final AjaxRequestTarget target, final Form<?> form) { feedbackPanel.refresh(target); } }; final AjaxButton 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) { // nothing } }; cancel.setDefaultFormProcessing(false); Form form = new Form(FORM); form.add(propView); form.add(userDetails); form.add(submit); form.add(cancel); MetaDataRoleAuthorizationStrategy.authorize(form, ENABLE, xmlRolesReader.getEntitlement("Approval", SUBMIT)); editUserWin = new ModalWindow("editUserWin"); editUserWin.setCssClassName(ModalWindow.CSS_CLASS_GRAY); editUserWin.setInitialHeight(USER_WIN_HEIGHT); editUserWin.setInitialWidth(USER_WIN_WIDTH); editUserWin.setCookieName("edit-user-modal"); add(editUserWin); add(form); }