You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by md...@apache.org on 2012/08/21 13:52:53 UTC
svn commit: r1375483 - in /incubator/syncope/trunk/console/src:
main/java/org/apache/syncope/console/commons/
main/java/org/apache/syncope/console/pages/
main/resources/org/apache/syncope/console/pages/
test/java/org/apache/syncope/console/
Author: mdisabatino
Date: Tue Aug 21 11:52:51 2012
New Revision: 1375483
URL: http://svn.apache.org/viewvc?rev=1375483&view=rev
Log:
Fixes SYNCOPE-189 Close Modal Window on keypress ESC
Added:
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/CloseOnESCBehavior.java (with props)
Modified:
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ApprovalModalPage.java
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/BaseModalPage.java
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConfigurationModalPage.java
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConnectorModalPage.java
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DerivedSchemaModalPage.java
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DisplayAttributesModalPage.java
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/MembershipModalPage.java
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/NotificationModalPage.java
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/PolicyModalPage.java
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ReportExecResultDownloadModalPage.java
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ReportModalPage.java
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ReportletConfModalPage.java
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ResourceModalPage.java
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/RoleModalPage.java
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/SchemaModalPage.java
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/StatusModalPage.java
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/TaskModalPage.java
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java
incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/VirtualSchemaModalPage.java
incubator/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/BaseModalPage.html
incubator/syncope/trunk/console/src/test/java/org/apache/syncope/console/ConfigurationTestITCase.java
Added: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/CloseOnESCBehavior.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/CloseOnESCBehavior.java?rev=1375483&view=auto
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/CloseOnESCBehavior.java (added)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/CloseOnESCBehavior.java Tue Aug 21 11:52:51 2012
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.console.commons;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
+import org.apache.wicket.markup.html.IHeaderResponse;
+
+public class CloseOnESCBehavior extends AbstractDefaultAjaxBehavior {
+
+ private static final long serialVersionUID = 5826308247642534260L;
+
+ private ModalWindow modalWindow;
+
+ public CloseOnESCBehavior(ModalWindow modalWindow) {
+ this.modalWindow = modalWindow;
+ }
+
+ private static final String PRE_JS = "$(document).ready(function() {\n"
+ + "$(document).bind('keyup', function(evt) {\n"
+ + " if (evt.keyCode == 27){\n";
+
+ private static final String POST_JS = "\n evt.preventDefault();\n"
+ + "evt.stopPropagation();\n"
+ + " }\n"
+ + " });\n"
+ + "});";
+
+ @Override
+ protected void respond(final AjaxRequestTarget target) {
+ modalWindow.close(target);
+ }
+
+ @Override
+ protected String findIndicatorId() {
+ return null;
+ }
+
+ @Override
+ public void renderHead(final Component component, final IHeaderResponse response) {
+ response.renderJavaScript(new StringBuilder(PRE_JS).append(getCallbackScript())
+ .append(POST_JS).toString(),
+ "closeModalOnEsc");
+ }
+
+ public void setModalWindow(ModalWindow modalWindow) {
+ this.modalWindow = modalWindow;
+ }
+}
+
Propchange: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/CloseOnESCBehavior.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/CloseOnESCBehavior.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/CloseOnESCBehavior.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ApprovalModalPage.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ApprovalModalPage.java?rev=1375483&r1=1375482&r2=1375483&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ApprovalModalPage.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ApprovalModalPage.java Tue Aug 21 11:52:51 2012
@@ -30,6 +30,7 @@ import org.apache.commons.lang.StringUti
import org.apache.syncope.client.to.WorkflowFormPropertyTO;
import org.apache.syncope.client.to.WorkflowFormTO;
import org.apache.syncope.client.validation.SyncopeClientCompositeErrorException;
+import org.apache.syncope.console.commons.CloseOnESCBehavior;
import org.apache.syncope.console.commons.MapChoiceRenderer;
import org.apache.syncope.console.rest.ApprovalRestClient;
import org.apache.syncope.console.wicket.markup.html.form.AjaxDropDownChoicePanel;
@@ -62,7 +63,7 @@ public class ApprovalModalPage extends B
public ApprovalModalPage(final PageReference callerPageRef, final ModalWindow window, final WorkflowFormTO formTO) {
super();
-
+
IModel<List<WorkflowFormPropertyTO>> formProps = new LoadableDetachableModel<List<WorkflowFormPropertyTO>>() {
private static final long serialVersionUID = 3169142472626817508L;
@@ -220,5 +221,6 @@ public class ApprovalModalPage extends B
"submit"));
add(form);
+ add(new CloseOnESCBehavior(window));
}
}
Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/BaseModalPage.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/BaseModalPage.java?rev=1375483&r1=1375482&r2=1375483&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/BaseModalPage.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/BaseModalPage.java Tue Aug 21 11:52:51 2012
@@ -18,6 +18,7 @@
*/
package org.apache.syncope.console.pages;
+import org.apache.syncope.console.commons.CloseOnESCBehavior;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.panel.FeedbackPanel;
import org.apache.wicket.spring.injection.annot.SpringBean;
@@ -41,11 +42,13 @@ public abstract class BaseModalPage exte
protected XMLRolesReader xmlRolesReader;
protected FeedbackPanel feedbackPanel;
+
+ protected CloseOnESCBehavior closeOnEscBehavior;
public BaseModalPage() {
feedbackPanel = new FeedbackPanel("feedback");
feedbackPanel.setOutputMarkupId(true);
- add(feedbackPanel);
+ add(feedbackPanel);
}
public FeedbackPanel getFeedbackPanel() {
Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConfigurationModalPage.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConfigurationModalPage.java?rev=1375483&r1=1375482&r2=1375483&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConfigurationModalPage.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConfigurationModalPage.java Tue Aug 21 11:52:51 2012
@@ -20,6 +20,7 @@ package org.apache.syncope.console.pages
import org.apache.syncope.client.to.ConfigurationTO;
import org.apache.syncope.client.validation.SyncopeClientCompositeErrorException;
+import org.apache.syncope.console.commons.CloseOnESCBehavior;
import org.apache.syncope.console.rest.ConfigurationRestClient;
import org.apache.syncope.console.wicket.markup.html.form.AjaxTextFieldPanel;
import org.apache.wicket.PageReference;
@@ -128,5 +129,6 @@ public class ConfigurationModalPage exte
form.add(submit);
add(form);
+ add(new CloseOnESCBehavior(window));
}
}
Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConnectorModalPage.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConnectorModalPage.java?rev=1375483&r1=1375482&r2=1375483&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConnectorModalPage.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ConnectorModalPage.java Tue Aug 21 11:52:51 2012
@@ -54,6 +54,7 @@ import org.springframework.util.ClassUti
import org.apache.syncope.client.to.ConnBundleTO;
import org.apache.syncope.client.to.ConnInstanceTO;
import org.apache.syncope.client.validation.SyncopeClientCompositeErrorException;
+import org.apache.syncope.console.commons.CloseOnESCBehavior;
import org.apache.syncope.console.rest.ConnectorRestClient;
import org.apache.syncope.console.wicket.markup.html.form.AjaxCheckBoxPanel;
import org.apache.syncope.console.wicket.markup.html.form.AjaxDropDownChoicePanel;
@@ -399,6 +400,7 @@ public class ConnectorModalPage extends
connectorForm.add(cancel);
add(connectorForm);
+ add(new CloseOnESCBehavior(window));
}
private ConnBundleTO getSelectedBundleTO(final List<ConnBundleTO> bundles, final ConnInstanceTO connTO) {
Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DerivedSchemaModalPage.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DerivedSchemaModalPage.java?rev=1375483&r1=1375482&r2=1375483&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DerivedSchemaModalPage.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DerivedSchemaModalPage.java Tue Aug 21 11:52:51 2012
@@ -21,6 +21,7 @@ package org.apache.syncope.console.pages
import org.apache.syncope.client.AbstractBaseBean;
import org.apache.syncope.client.to.DerivedSchemaTO;
import org.apache.syncope.client.validation.SyncopeClientCompositeErrorException;
+import org.apache.syncope.console.commons.CloseOnESCBehavior;
import org.apache.syncope.console.wicket.markup.html.form.AjaxTextFieldPanel;
import org.apache.syncope.types.AttributableType;
import org.apache.wicket.PageReference;
@@ -130,5 +131,6 @@ public class DerivedSchemaModalPage exte
schemaForm.add(cancel);
add(schemaForm);
+ add(new CloseOnESCBehavior(window));
}
}
Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DisplayAttributesModalPage.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DisplayAttributesModalPage.java?rev=1375483&r1=1375482&r2=1375483&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DisplayAttributesModalPage.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DisplayAttributesModalPage.java Tue Aug 21 11:52:51 2012
@@ -27,6 +27,7 @@ import java.util.List;
import java.util.Map;
import org.apache.commons.lang.ArrayUtils;
import org.apache.syncope.client.to.UserTO;
+import org.apache.syncope.console.commons.CloseOnESCBehavior;
import org.apache.syncope.console.commons.Constants;
import org.apache.syncope.console.commons.PreferenceManager;
import org.apache.syncope.console.rest.SchemaRestClient;
@@ -296,7 +297,7 @@ public class DisplayAttributesModalPage
};
form.add(submit);
-
+
final IndicatingAjaxButton cancel = new IndicatingAjaxButton("cancel", new ResourceModel("cancel")) {
private static final long serialVersionUID = -958724007591692537L;
@@ -314,5 +315,6 @@ public class DisplayAttributesModalPage
form.add(cancel);
add(form);
+ add(new CloseOnESCBehavior(window));
}
}
Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/MembershipModalPage.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/MembershipModalPage.java?rev=1375483&r1=1375482&r2=1375483&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/MembershipModalPage.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/MembershipModalPage.java Tue Aug 21 11:52:51 2012
@@ -28,6 +28,7 @@ import org.apache.wicket.model.CompoundP
import org.apache.wicket.model.ResourceModel;
import org.apache.syncope.client.to.MembershipTO;
import org.apache.syncope.client.to.UserTO;
+import org.apache.syncope.console.commons.CloseOnESCBehavior;
import org.apache.syncope.console.pages.panels.DerivedAttributesPanel;
import org.apache.syncope.console.pages.panels.VirtualAttributesPanel;
import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxButton;
@@ -72,7 +73,7 @@ public class MembershipModalPage extends
};
form.add(submit);
-
+
final IndicatingAjaxButton cancel = new IndicatingAjaxButton("cancel", new ResourceModel("cancel")) {
private static final long serialVersionUID = -958724007591692537L;
@@ -108,5 +109,6 @@ public class MembershipModalPage extends
//--------------------------------
add(form);
+ add(new CloseOnESCBehavior(window));
}
}
Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/NotificationModalPage.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/NotificationModalPage.java?rev=1375483&r1=1375482&r2=1375483&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/NotificationModalPage.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/NotificationModalPage.java Tue Aug 21 11:52:51 2012
@@ -26,6 +26,7 @@ import java.util.List;
import java.util.Set;
import org.apache.syncope.client.to.NotificationTO;
import org.apache.syncope.client.validation.SyncopeClientCompositeErrorException;
+import org.apache.syncope.console.commons.CloseOnESCBehavior;
import org.apache.syncope.console.pages.panels.UserSearchPanel;
import org.apache.syncope.console.rest.NotificationRestClient;
import org.apache.syncope.console.rest.SchemaRestClient;
@@ -248,6 +249,7 @@ class NotificationModalPage extends Base
form.add(cancel);
add(form);
+ add(new CloseOnESCBehavior(window));
}
private List<String> getSchemaNames(final IntMappingType type) {
Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/PolicyModalPage.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/PolicyModalPage.java?rev=1375483&r1=1375482&r2=1375483&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/PolicyModalPage.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/PolicyModalPage.java Tue Aug 21 11:52:51 2012
@@ -31,6 +31,7 @@ import org.apache.syncope.client.to.Acco
import org.apache.syncope.client.to.PasswordPolicyTO;
import org.apache.syncope.client.to.PolicyTO;
import org.apache.syncope.client.to.SyncPolicyTO;
+import org.apache.syncope.console.commons.CloseOnESCBehavior;
import org.apache.syncope.console.pages.panels.PolicyBeanPanel;
import org.apache.syncope.console.rest.PolicyRestClient;
import org.apache.syncope.console.wicket.markup.html.form.AjaxDropDownChoicePanel;
@@ -149,6 +150,7 @@ public class PolicyModalPage<T extends P
cancel.setDefaultFormProcessing(false);
form.add(cancel);
+ add(new CloseOnESCBehavior(window));
}
private AbstractPolicySpec getPolicySpecification(final PolicyTO policyTO) {
Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ReportExecResultDownloadModalPage.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ReportExecResultDownloadModalPage.java?rev=1375483&r1=1375482&r2=1375483&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ReportExecResultDownloadModalPage.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ReportExecResultDownloadModalPage.java Tue Aug 21 11:52:51 2012
@@ -19,6 +19,7 @@
package org.apache.syncope.console.pages;
import java.util.Arrays;
+import org.apache.syncope.console.commons.CloseOnESCBehavior;
import org.apache.wicket.PageReference;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
@@ -66,5 +67,6 @@ public class ReportExecResultDownloadMod
}
});
add(format);
+ add(new CloseOnESCBehavior(window));
}
}
Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ReportModalPage.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ReportModalPage.java?rev=1375483&r1=1375482&r2=1375483&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ReportModalPage.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ReportModalPage.java Tue Aug 21 11:52:51 2012
@@ -26,6 +26,7 @@ import org.apache.syncope.client.report.
import org.apache.syncope.client.to.ReportExecTO;
import org.apache.syncope.client.to.ReportTO;
import org.apache.syncope.client.validation.SyncopeClientCompositeErrorException;
+import org.apache.syncope.console.commons.CloseOnESCBehavior;
import org.apache.syncope.types.ReportExecStatus;
import org.apache.wicket.Page;
import org.apache.wicket.PageReference;
@@ -113,6 +114,7 @@ public class ReportModalPage extends Bas
form = new Form<ReportTO>("form");
form.setModel(new CompoundPropertyModel(reportTO));
add(form);
+ add(new CloseOnESCBehavior(window));
setupProfile();
setupExecutions();
Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ReportletConfModalPage.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ReportletConfModalPage.java?rev=1375483&r1=1375482&r2=1375483&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ReportletConfModalPage.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ReportletConfModalPage.java Tue Aug 21 11:52:51 2012
@@ -31,6 +31,7 @@ import org.apache.syncope.annotation.For
import org.apache.syncope.client.SyncopeConstants;
import org.apache.syncope.client.report.ReportletConf;
import org.apache.syncope.client.search.NodeCond;
+import org.apache.syncope.console.commons.CloseOnESCBehavior;
import org.apache.syncope.types.AttributableType;
import org.apache.wicket.Component;
import org.apache.wicket.PageReference;
@@ -97,6 +98,7 @@ public class ReportletConfModalPage exte
Form form = new Form("form");
add(form);
+ add(new CloseOnESCBehavior(window));
propertiesContainer = new WebMarkupContainer("container");
propertiesContainer.setOutputMarkupId(true);
Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ResourceModalPage.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ResourceModalPage.java?rev=1375483&r1=1375482&r2=1375483&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ResourceModalPage.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/ResourceModalPage.java Tue Aug 21 11:52:51 2012
@@ -20,6 +20,7 @@ package org.apache.syncope.console.pages
import org.apache.syncope.client.to.ResourceTO;
import org.apache.syncope.client.to.SchemaMappingTO;
+import org.apache.syncope.console.commons.CloseOnESCBehavior;
import org.apache.syncope.console.pages.panels.ResourceConnConfPanel;
import org.apache.syncope.console.pages.panels.ResourceDetailsPanel;
import org.apache.syncope.console.pages.panels.ResourceMappingPanel;
@@ -143,6 +144,7 @@ public class ResourceModalPage extends B
form.add(cancel);
add(form);
+ add(new CloseOnESCBehavior(window));
MetaDataRoleAuthorizationStrategy.authorize(submit, ENABLE, xmlRolesReader.getAllAllowedRoles("Resources",
createFlag
Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/RoleModalPage.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/RoleModalPage.java?rev=1375483&r1=1375482&r2=1375483&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/RoleModalPage.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/RoleModalPage.java Tue Aug 21 11:52:51 2012
@@ -23,6 +23,7 @@ import java.util.List;
import org.apache.syncope.client.mod.RoleMod;
import org.apache.syncope.client.to.RoleTO;
import org.apache.syncope.client.util.AttributableOperations;
+import org.apache.syncope.console.commons.CloseOnESCBehavior;
import org.apache.syncope.console.pages.panels.RoleAttributesPanel;
import org.apache.syncope.console.rest.RoleRestClient;
import org.apache.wicket.PageReference;
@@ -132,5 +133,6 @@ public class RoleModalPage extends BaseM
form.add(cancel);
add(form);
+ add(new CloseOnESCBehavior(window));
}
}
Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/SchemaModalPage.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/SchemaModalPage.java?rev=1375483&r1=1375482&r2=1375483&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/SchemaModalPage.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/SchemaModalPage.java Tue Aug 21 11:52:51 2012
@@ -28,6 +28,7 @@ import org.apache.commons.lang.StringUti
import org.apache.syncope.client.AbstractBaseBean;
import org.apache.syncope.client.to.SchemaTO;
import org.apache.syncope.client.validation.SyncopeClientCompositeErrorException;
+import org.apache.syncope.console.commons.CloseOnESCBehavior;
import org.apache.syncope.console.wicket.markup.html.form.AjaxCheckBoxPanel;
import org.apache.syncope.console.wicket.markup.html.form.AjaxDropDownChoicePanel;
import org.apache.syncope.console.wicket.markup.html.form.AjaxTextFieldPanel;
@@ -278,6 +279,7 @@ public class SchemaModalPage extends Abs
schemaForm.add(cancel);
add(schemaForm);
+ add(new CloseOnESCBehavior(window));
}
private String getEnumValuesAsString(final List<String> enumerationValues) {
Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/StatusModalPage.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/StatusModalPage.java?rev=1375483&r1=1375482&r2=1375483&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/StatusModalPage.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/StatusModalPage.java Tue Aug 21 11:52:51 2012
@@ -21,6 +21,7 @@ package org.apache.syncope.console.pages
import java.util.ArrayList;
import java.util.List;
import org.apache.syncope.client.to.UserTO;
+import org.apache.syncope.console.commons.CloseOnESCBehavior;
import org.apache.syncope.console.commons.StatusBean;
import org.apache.syncope.console.pages.panels.StatusPanel;
import org.apache.syncope.console.rest.UserRestClient;
@@ -46,6 +47,7 @@ public class StatusModalPage extends Bas
final Form form = new Form("form");
add(form);
+ add(new CloseOnESCBehavior(window));
final List<StatusBean> statuses = new ArrayList<StatusBean>();
Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/TaskModalPage.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/TaskModalPage.java?rev=1375483&r1=1375482&r2=1375483&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/TaskModalPage.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/TaskModalPage.java Tue Aug 21 11:52:51 2012
@@ -29,6 +29,7 @@ import org.apache.syncope.client.to.Sync
import org.apache.syncope.client.to.TaskExecTO;
import org.apache.syncope.client.to.TaskTO;
import org.apache.syncope.client.validation.SyncopeClientCompositeErrorException;
+import org.apache.syncope.console.commons.CloseOnESCBehavior;
import org.apache.syncope.console.commons.SortableDataProviderComparator;
import org.apache.syncope.console.rest.TaskRestClient;
import org.apache.syncope.console.wicket.extensions.markup.html.repeater.data.table.DatePropertyColumn;
@@ -81,6 +82,7 @@ public abstract class TaskModalPage exte
taskExecMessageWin.setCssClassName(ModalWindow.CSS_CLASS_GRAY);
taskExecMessageWin.setCookieName("task-exec-message-win-modal");
add(taskExecMessageWin);
+ add(new CloseOnESCBehavior(taskExecMessageWin));
form = new Form("form");
form.setModel(new CompoundPropertyModel(taskTO));
Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java?rev=1375483&r1=1375482&r2=1375483&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/UserModalPage.java Tue Aug 21 11:52:51 2012
@@ -19,6 +19,7 @@
package org.apache.syncope.console.pages;
import org.apache.syncope.client.to.UserTO;
+import org.apache.syncope.console.commons.CloseOnESCBehavior;
import org.apache.syncope.console.pages.panels.AttributesPanel;
import org.apache.syncope.console.pages.panels.DerivedAttributesPanel;
import org.apache.syncope.console.pages.panels.ResourcesPanel;
@@ -79,6 +80,7 @@ public abstract class UserModalPage exte
fragment = new Fragment("userModalFrag", "userModalEditFrag", this);
fragment.setOutputMarkupId(true);
add(fragment);
+ add(new CloseOnESCBehavior(window));
}
public UserModalPage(final ModalWindow window, final UserTO userTO, final Mode mode) {
@@ -100,6 +102,7 @@ public abstract class UserModalPage exte
result.setOutputMarkupId(true);
fragment.add(result);
+ add(new CloseOnESCBehavior(window));
}
public UserTO getUserTO() {
Modified: incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/VirtualSchemaModalPage.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/VirtualSchemaModalPage.java?rev=1375483&r1=1375482&r2=1375483&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/VirtualSchemaModalPage.java (original)
+++ incubator/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/VirtualSchemaModalPage.java Tue Aug 21 11:52:51 2012
@@ -21,6 +21,7 @@ package org.apache.syncope.console.pages
import org.apache.syncope.client.AbstractBaseBean;
import org.apache.syncope.client.to.VirtualSchemaTO;
import org.apache.syncope.client.validation.SyncopeClientCompositeErrorException;
+import org.apache.syncope.console.commons.CloseOnESCBehavior;
import org.apache.syncope.types.AttributableType;
import org.apache.wicket.PageReference;
import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -94,6 +95,21 @@ public class VirtualSchemaModalPage exte
target.add(feedbackPanel);
}
};
+
+ 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);
String allowedRoles;
@@ -108,7 +124,9 @@ public class VirtualSchemaModalPage exte
schemaForm.add(name);
schemaForm.add(submit);
+ schemaForm.add(cancel);
add(schemaForm);
+ add(new CloseOnESCBehavior(window));
}
}
Modified: incubator/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/BaseModalPage.html
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/BaseModalPage.html?rev=1375483&r1=1375482&r2=1375483&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/BaseModalPage.html (original)
+++ incubator/syncope/trunk/console/src/main/resources/org/apache/syncope/console/pages/BaseModalPage.html Tue Aug 21 11:52:51 2012
@@ -54,7 +54,7 @@
</style>
</head>
- <body>
+ <body onload="window.focus()">
<div wicket:id="feedback"/>
<wicket:child />
Modified: incubator/syncope/trunk/console/src/test/java/org/apache/syncope/console/ConfigurationTestITCase.java
URL: http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/test/java/org/apache/syncope/console/ConfigurationTestITCase.java?rev=1375483&r1=1375482&r2=1375483&view=diff
==============================================================================
--- incubator/syncope/trunk/console/src/test/java/org/apache/syncope/console/ConfigurationTestITCase.java (original)
+++ incubator/syncope/trunk/console/src/test/java/org/apache/syncope/console/ConfigurationTestITCase.java Tue Aug 21 11:52:51 2012
@@ -171,7 +171,20 @@ public class ConfigurationTestITCase ext
selenium.waitForCondition("selenium.isElementPresent("
+ "\"//div[2]/form/div[2]/div[4]/div/div[2]/label\");", "30000");
-
+
selenium.click("//div[2]/form/div[3]/input");
}
+
+ @Test
+ public void issueSYNCOPE189() {
+ selenium.click("css=img[alt=\"Configuration\"]");
+
+ selenium.waitForCondition("selenium.isElementPresent(\"//div[@id='tabs']\");", "30000");
+
+ selenium.click("//a[contains(text(),'Create new configuration')]");
+
+ selenium.waitForCondition("selenium.isElementPresent(\"//input[@name='key:textField']\");", "30000");
+
+ selenium.keyPressNative("27");
+ }
}