This is an automated email from the ASF dual-hosted git repository.

ilgrosso pushed a commit to branch 2_1_X
in repository https://gitbox.apache.org/repos/asf/syncope.git


The following commit(s) were added to refs/heads/2_1_X by this push:
     new d9a82e2  [SYNCOPE-1624] Toggle panel improvements
d9a82e2 is described below

commit d9a82e2c647105c43f55783fc88716186d9214dd
Author: Francesco Chicchiriccò <[email protected]>
AuthorDate: Tue Mar 23 09:26:01 2021 +0100

    [SYNCOPE-1624] Toggle panel improvements
---
 .../notifications/MailTemplateDirectoryPanel.java  | 16 +++---------
 .../client/console/panels/AnyDirectoryPanel.java   | 14 ----------
 .../syncope/client/console/panels/AnyPanel.java    |  5 ++++
 .../console/panels/ApplicationDirectoryPanel.java  |  2 +-
 .../client/console/panels/DirectoryPanel.java      | 30 ++++++++++------------
 .../console/panels/DynRealmDirectoryPanel.java     | 15 +++--------
 .../panels/ImplementationDirectoryPanel.java       | 15 +++--------
 .../console/panels/SecurityQuestionsPanel.java     | 27 +++++--------------
 .../console/policies/PolicyDirectoryPanel.java     | 18 ++++---------
 .../reports/ReportTemplateDirectoryPanel.java      | 16 +++---------
 10 files changed, 47 insertions(+), 111 deletions(-)

diff --git 
a/client/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
 
b/client/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
index c0c23a6..c4e84d8 100644
--- 
a/client/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
+++ 
b/client/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
@@ -54,7 +54,6 @@ import org.apache.wicket.model.StringResourceModel;
 import org.apache.syncope.client.console.panels.WizardModalPanel;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
 import 
org.apache.syncope.client.console.wicket.markup.html.form.XMLEditorPanel;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.model.PropertyModel;
 
 public class MailTemplateDirectoryPanel
@@ -70,18 +69,11 @@ public class MailTemplateDirectoryPanel
 
         modal.size(Modal.Size.Small);
         modal.addSubmitButton();
-        setFooterVisibility(true);
-
-        modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
-
-            private static final long serialVersionUID = 8804221891699487139L;
-
-            @Override
-            public void onClose(final AjaxRequestTarget target) {
-                updateResultTable(target);
-                modal.show(false);
-            }
+        modal.setWindowClosedCallback(target -> {
+            updateResultTable(target);
+            modal.show(false);
         });
+        setFooterVisibility(true);
 
         addOuterObject(utilityModal);
         setWindowClosedReloadCallback(utilityModal);
diff --git 
a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
 
b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
index 97473a5..53c1897 100644
--- 
a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
+++ 
b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
@@ -68,7 +68,6 @@ import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.AjaxLink;
 import 
org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
 import org.apache.wicket.event.IEvent;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import 
org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
 import org.apache.wicket.markup.html.WebMarkupContainer;
@@ -138,19 +137,6 @@ public abstract class AnyDirectoryPanel<A extends AnyTO, E 
extends AbstractAnyRe
         setWindowClosedReloadCallback(utilityModal);
 
         modal.size(Modal.Size.Large);
-        // change close callback in order to update header after model update
-        modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
-
-            private static final long serialVersionUID = 8804221891699487139L;
-
-            @Override
-            public void onClose(final AjaxRequestTarget target) {
-                if (actionTogglePanel.isVisibleInHierarchy() && 
modal.getContent() instanceof ResultPage) {
-                    actionTogglePanel.updateHeader(target, 
ResultPage.class.cast(modal.getContent()).getItem());
-                }
-                modal.show(false);
-            }
-        });
 
         altDefaultModal.size(Modal.Size.Large);
 
diff --git 
a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyPanel.java
 
b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyPanel.java
index ead2159..20c5e0d 100644
--- 
a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyPanel.java
+++ 
b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyPanel.java
@@ -34,6 +34,7 @@ import 
org.apache.syncope.client.console.panels.search.SearchUtils;
 import org.apache.syncope.client.console.panels.search.UserSearchPanel;
 import org.apache.syncope.client.console.rest.AnyTypeClassRestClient;
 import 
org.apache.syncope.client.console.wicket.markup.html.bootstrap.tabs.Accordion;
+import 
org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksTogglePanel;
 import org.apache.syncope.client.lib.SyncopeClient;
 import org.apache.syncope.common.lib.SyncopeConstants;
 import org.apache.syncope.common.lib.to.AnyObjectTO;
@@ -48,6 +49,7 @@ import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.AjaxLink;
 import 
org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
+import org.apache.wicket.event.Broadcast;
 import org.apache.wicket.event.IEvent;
 import org.apache.wicket.extensions.markup.html.tabs.AbstractTab;
 import org.apache.wicket.extensions.markup.html.tabs.ITab;
@@ -261,6 +263,9 @@ public class AnyPanel extends Panel implements ModalPanel {
         if (event.getPayload() instanceof SearchClausePanel.SearchEvent) {
             AjaxRequestTarget target = 
SearchClausePanel.SearchEvent.class.cast(event.getPayload()).getTarget();
 
+            send(AnyPanel.this.directoryPanel, Broadcast.BREADTH,
+                    new 
ActionLinksTogglePanel.ActionLinkToggleCloseEventPayload(target));
+
             String precond = 
realmTO.getFullPath().startsWith(SyncopeConstants.ROOT_REALM)
                     ? StringUtils.EMPTY
                     : String.format("$dynRealms=~%s;", realmTO.getKey());
diff --git 
a/client/console/src/main/java/org/apache/syncope/client/console/panels/ApplicationDirectoryPanel.java
 
b/client/console/src/main/java/org/apache/syncope/client/console/panels/ApplicationDirectoryPanel.java
index 4750acb..24f246c 100644
--- 
a/client/console/src/main/java/org/apache/syncope/client/console/panels/ApplicationDirectoryPanel.java
+++ 
b/client/console/src/main/java/org/apache/syncope/client/console/panels/ApplicationDirectoryPanel.java
@@ -85,11 +85,11 @@ public class ApplicationDirectoryPanel extends
 
         modal.size(Modal.Size.Medium);
         modal.addSubmitButton();
-        setFooterVisibility(true);
         modal.setWindowClosedCallback(target -> {
             updateResultTable(target);
             modal.show(false);
         });
+        setFooterVisibility(true);
 
         privilegeModal.size(Modal.Size.Large);
         privilegeModal.setWindowClosedCallback(target -> {
diff --git 
a/client/console/src/main/java/org/apache/syncope/client/console/panels/DirectoryPanel.java
 
b/client/console/src/main/java/org/apache/syncope/client/console/panels/DirectoryPanel.java
index a7c197b..32be2c0 100644
--- 
a/client/console/src/main/java/org/apache/syncope/client/console/panels/DirectoryPanel.java
+++ 
b/client/console/src/main/java/org/apache/syncope/client/console/panels/DirectoryPanel.java
@@ -171,27 +171,25 @@ public abstract class DirectoryPanel<
 
         rows = prefMan.getPaginatorRows(getRequest(), paginatorRowsKey());
 
-        setWindowClosedReloadCallback(modal);
-        setWindowClosedReloadCallback(altDefaultModal);
-        setWindowClosedReloadCallback(displayAttributeModal);
-
-        displayAttributeModal.setWindowClosedCallback(new 
ModalWindow.WindowClosedCallback() {
+        modal.setWindowClosedCallback(target -> {
+            if (actionTogglePanel.isVisibleInHierarchy() && modal.getContent() 
instanceof WizardModalPanel) {
+                actionTogglePanel.updateHeader(target, 
WizardModalPanel.class.cast(modal.getContent()).getItem());
+            }
+            modal.show(false);
+        });
 
-            private static final long serialVersionUID = 8804221891699487139L;
+        setWindowClosedReloadCallback(altDefaultModal);
+        altDefaultModal.size(Modal.Size.Medium);
 
-            @Override
-            public void onClose(final AjaxRequestTarget target) {
-                final EventDataWrapper data = new EventDataWrapper();
-                data.setTarget(target);
-                data.setRows(rows);
+        displayAttributeModal.setWindowClosedCallback(target -> {
+            EventDataWrapper data = new EventDataWrapper();
+            data.setTarget(target);
+            data.setRows(rows);
 
-                send(DirectoryPanel.this, Broadcast.EXACT, data);
+            send(DirectoryPanel.this, Broadcast.EXACT, data);
 
-                modal.show(false);
-            }
+            modal.show(false);
         });
-
-        altDefaultModal.size(Modal.Size.Medium);
         displayAttributeModal.size(Modal.Size.Medium);
         displayAttributeModal.addSubmitButton();
     }
diff --git 
a/client/console/src/main/java/org/apache/syncope/client/console/panels/DynRealmDirectoryPanel.java
 
b/client/console/src/main/java/org/apache/syncope/client/console/panels/DynRealmDirectoryPanel.java
index 2251eb1..65a2fea 100644
--- 
a/client/console/src/main/java/org/apache/syncope/client/console/panels/DynRealmDirectoryPanel.java
+++ 
b/client/console/src/main/java/org/apache/syncope/client/console/panels/DynRealmDirectoryPanel.java
@@ -42,7 +42,6 @@ import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.AjaxLink;
 import 
org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import 
org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
 import org.apache.wicket.markup.html.WebMarkupContainer;
@@ -66,17 +65,11 @@ public class DynRealmDirectoryPanel extends
 
         modal.size(Modal.Size.Large);
         modal.addSubmitButton();
-        setFooterVisibility(true);
-        modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
-
-            private static final long serialVersionUID = 8804221891699487139L;
-
-            @Override
-            public void onClose(final AjaxRequestTarget target) {
-                updateResultTable(target);
-                modal.show(false);
-            }
+        modal.setWindowClosedCallback(target -> {
+            updateResultTable(target);
+            modal.show(false);
         });
+        setFooterVisibility(true);
 
         AjaxLink<Void> newDynRealmlLink = new AjaxLink<Void>("add") {
 
diff --git 
a/client/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationDirectoryPanel.java
 
b/client/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationDirectoryPanel.java
index a772f5e..b51bfd6 100644
--- 
a/client/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationDirectoryPanel.java
+++ 
b/client/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationDirectoryPanel.java
@@ -44,7 +44,6 @@ import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.AjaxLink;
 import 
org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
 import org.apache.wicket.event.Broadcast;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import 
org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
@@ -71,16 +70,10 @@ public class ImplementationDirectoryPanel extends 
DirectoryPanel<
 
         modal.size(Modal.Size.Large);
         modal.addSubmitButton();
-        modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
-
-            private static final long serialVersionUID = 8804221891699487139L;
-
-            @Override
-            public void onClose(final AjaxRequestTarget target) {
-                implementation.setEngine(null);
-                updateResultTable(target);
-                modal.show(false);
-            }
+        modal.setWindowClosedCallback(target -> {
+            implementation.setEngine(null);
+            updateResultTable(target);
+            modal.show(false);
         });
         setFooterVisibility(true);
 
diff --git 
a/client/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsPanel.java
 
b/client/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsPanel.java
index f132ab7..ad94d82 100644
--- 
a/client/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsPanel.java
+++ 
b/client/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsPanel.java
@@ -43,7 +43,6 @@ import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import 
org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
 import org.apache.wicket.event.Broadcast;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import 
org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
 import org.apache.wicket.model.CompoundPropertyModel;
@@ -67,16 +66,13 @@ public class SecurityQuestionsPanel extends DirectoryPanel<
             }
         }.disableCheckBoxes());
 
-        modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
-
-            private static final long serialVersionUID = 8804221891699487139L;
-
-            @Override
-            public void onClose(final AjaxRequestTarget target) {
-                modal.show(false);
-                target.add(container);
-            }
+        modal.addSubmitButton();
+        modal.size(Modal.Size.Large);
+        modal.setWindowClosedCallback(target -> {
+            modal.show(false);
+            target.add(container);
         });
+        setFooterVisibility(true);
 
         this.addNewItemPanelBuilder(
                 new AbstractModalPanelBuilder<SecurityQuestionTO>(new 
SecurityQuestionTO(), pageRef) {
@@ -91,22 +87,11 @@ public class SecurityQuestionsPanel extends DirectoryPanel<
             }
         }, true);
 
-        setFooterVisibility(true);
-        modal.addSubmitButton();
-        modal.size(Modal.Size.Large);
         initResultTable();
 
         MetaDataRoleAuthorizationStrategy.authorize(addAjaxLink, RENDER, 
StandardEntitlement.SECURITY_QUESTION_CREATE);
     }
 
-    private SecurityQuestionsPanel(
-            final String id,
-            final Builder<SecurityQuestionTO, SecurityQuestionTO, 
SecurityQuestionRestClient> builder) {
-
-        super(id, builder);
-        setOutputMarkupId(true);
-    }
-
     @Override
     protected SecurityQuestionsProvider dataProvider() {
         return new SecurityQuestionsProvider(rows);
diff --git 
a/client/console/src/main/java/org/apache/syncope/client/console/policies/PolicyDirectoryPanel.java
 
b/client/console/src/main/java/org/apache/syncope/client/console/policies/PolicyDirectoryPanel.java
index 217122e..2817a4d 100644
--- 
a/client/console/src/main/java/org/apache/syncope/client/console/policies/PolicyDirectoryPanel.java
+++ 
b/client/console/src/main/java/org/apache/syncope/client/console/policies/PolicyDirectoryPanel.java
@@ -46,7 +46,6 @@ import org.apache.syncope.common.lib.types.PolicyType;
 import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.event.Broadcast;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import 
org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
@@ -94,20 +93,13 @@ public abstract class PolicyDirectoryPanel<T extends 
PolicyTO>
         setWindowClosedReloadCallback(policySpecModal);
         addOuterObject(policySpecModal);
 
-        modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
-
-            private static final long serialVersionUID = 8804221891699487129L;
-
-            @Override
-            public void onClose(final AjaxRequestTarget target) {
-                updateResultTable(target);
-                modal.show(false);
-            }
-        });
-
-        setFooterVisibility(true);
         modal.addSubmitButton();
         modal.size(Modal.Size.Large);
+        modal.setWindowClosedCallback(target -> {
+            updateResultTable(target);
+            modal.show(false);
+        });
+        setFooterVisibility(true);
 
         disableCheckBoxes();
     }
diff --git 
a/client/console/src/main/java/org/apache/syncope/client/console/reports/ReportTemplateDirectoryPanel.java
 
b/client/console/src/main/java/org/apache/syncope/client/console/reports/ReportTemplateDirectoryPanel.java
index c23bbc6..d6a0719 100644
--- 
a/client/console/src/main/java/org/apache/syncope/client/console/reports/ReportTemplateDirectoryPanel.java
+++ 
b/client/console/src/main/java/org/apache/syncope/client/console/reports/ReportTemplateDirectoryPanel.java
@@ -55,7 +55,6 @@ import 
org.apache.syncope.client.console.rest.ReportRestClient;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
 import 
org.apache.syncope.client.console.wicket.markup.html.form.XMLEditorPanel;
 import org.apache.syncope.common.lib.types.ReportTemplateFormat;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.model.PropertyModel;
 
 public class ReportTemplateDirectoryPanel
@@ -71,18 +70,11 @@ public class ReportTemplateDirectoryPanel
 
         modal.size(Modal.Size.Small);
         modal.addSubmitButton();
-        setFooterVisibility(true);
-
-        modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
-
-            private static final long serialVersionUID = 8804221891699487139L;
-
-            @Override
-            public void onClose(final AjaxRequestTarget target) {
-                updateResultTable(target);
-                modal.show(false);
-            }
+        modal.setWindowClosedCallback(target -> {
+            updateResultTable(target);
+            modal.show(false);
         });
+        setFooterVisibility(true);
 
         addOuterObject(utilityModal);
         setWindowClosedReloadCallback(utilityModal);

Reply via email to