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

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


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

commit ac431061c63d4f21fa58da8f151e54f7f490bf79
Author: Francesco Chicchiriccò <ilgro...@apache.org>
AuthorDate: Tue Mar 23 09:26:01 2021 +0100

    [SYNCOPE-1624] Toggle panel improvements
---
 .../notifications/MailTemplateDirectoryPanel.java  | 16 +++--------
 .../client/console/panels/AnyDirectoryPanel.java   | 15 ----------
 .../syncope/client/console/panels/AnyPanel.java    |  5 ++++
 .../console/panels/ApplicationDirectoryPanel.java  |  2 +-
 .../client/console/panels/DirectoryPanel.java      | 32 ++++++++++------------
 .../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, 48 insertions(+), 113 deletions(-)

diff --git 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
index fa4642f..47c7f8d 100644
--- 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
+++ 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
@@ -34,7 +34,6 @@ import org.apache.syncope.client.console.pages.BasePage;
 import org.apache.syncope.client.console.panels.DirectoryPanel;
 import org.apache.syncope.client.console.rest.NotificationRestClient;
 import 
org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
-import 
org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal.WindowClosedCallback;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
 import org.apache.syncope.client.ui.commons.wizards.AbstractModalPanelBuilder;
 import org.apache.syncope.client.ui.commons.wizards.AjaxWizard;
@@ -70,18 +69,11 @@ public class MailTemplateDirectoryPanel
 
         modal.size(Modal.Size.Small);
         modal.addSubmitButton();
-        setFooterVisibility(true);
-
-        modal.setWindowClosedCallback(new 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/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
index 36c1387..4c0d712 100644
--- 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
+++ 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
@@ -38,9 +38,7 @@ import 
org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.
 import 
org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.KeyPropertyColumn;
 import 
org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.TokenColumn;
 import 
org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
-import 
org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal.WindowClosedCallback;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
-import org.apache.syncope.client.console.wizards.any.ResultPage;
 import org.apache.syncope.client.console.wizards.any.StatusPanel;
 import org.apache.syncope.client.ui.commons.Constants;
 import org.apache.syncope.client.ui.commons.status.ConnObjectWrapper;
@@ -114,19 +112,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 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/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyPanel.java
 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyPanel.java
index c0a4992..7c6bda1 100644
--- 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyPanel.java
+++ 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyPanel.java
@@ -31,6 +31,7 @@ import 
org.apache.syncope.client.console.panels.search.SearchClausePanel;
 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.form.ActionLinksTogglePanel;
 import org.apache.syncope.client.lib.SyncopeClient;
 import org.apache.syncope.client.ui.commons.Constants;
 import org.apache.syncope.client.ui.commons.panels.LabelPanel;
@@ -49,6 +50,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;
@@ -254,6 +256,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/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ApplicationDirectoryPanel.java
 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ApplicationDirectoryPanel.java
index fa0e574..dc029f0 100644
--- 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ApplicationDirectoryPanel.java
+++ 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ApplicationDirectoryPanel.java
@@ -85,11 +85,11 @@ public class ApplicationDirectoryPanel extends
 
         modal.size(Modal.Size.Default);
         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/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DirectoryPanel.java
 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DirectoryPanel.java
index fa36ba9..4bf3724 100644
--- 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DirectoryPanel.java
+++ 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DirectoryPanel.java
@@ -31,11 +31,11 @@ import org.apache.syncope.client.console.pages.BasePage;
 import org.apache.syncope.client.ui.commons.rest.RestClient;
 import 
org.apache.syncope.client.ui.commons.ajax.form.IndicatorAjaxFormComponentUpdatingBehavior;
 import 
org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
-import 
org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal.WindowClosedCallback;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
 import 
org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksTogglePanel;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
 import org.apache.syncope.client.console.wizards.WizardMgtPanel;
+import org.apache.syncope.client.ui.commons.panels.WizardModalPanel;
 import org.apache.syncope.common.lib.types.IdRepoEntitlement;
 import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -167,27 +167,25 @@ public abstract class DirectoryPanel<
 
         rows = PreferenceManager.getPaginatorRows(getRequest(), 
paginatorRowsKey());
 
-        setWindowClosedReloadCallback(modal);
-        setWindowClosedReloadCallback(altDefaultModal);
-        setWindowClosedReloadCallback(displayAttributeModal);
-
-        displayAttributeModal.setWindowClosedCallback(new 
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.Default);
 
-            @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.Default);
         displayAttributeModal.size(Modal.Size.Default);
         displayAttributeModal.addSubmitButton();
     }
diff --git 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DynRealmDirectoryPanel.java
 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DynRealmDirectoryPanel.java
index 087e5de..a828115 100644
--- 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DynRealmDirectoryPanel.java
+++ 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DynRealmDirectoryPanel.java
@@ -31,7 +31,6 @@ import 
org.apache.syncope.client.console.commons.SortableDataProviderComparator;
 import org.apache.syncope.client.console.pages.BasePage;
 import 
org.apache.syncope.client.console.panels.DynRealmDirectoryPanel.DynRealmDataProvider;
 import org.apache.syncope.client.console.rest.DynRealmRestClient;
-import 
org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal.WindowClosedCallback;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
 import org.apache.syncope.client.console.wizards.DynRealmWrapper;
@@ -66,17 +65,11 @@ public class DynRealmDirectoryPanel extends
 
         modal.size(Modal.Size.Large);
         modal.addSubmitButton();
-        setFooterVisibility(true);
-        modal.setWindowClosedCallback(new 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/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationDirectoryPanel.java
 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationDirectoryPanel.java
index 884a46f..68d85df 100644
--- 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationDirectoryPanel.java
+++ 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationDirectoryPanel.java
@@ -31,7 +31,6 @@ import 
org.apache.syncope.client.console.commons.SortableDataProviderComparator;
 import org.apache.syncope.client.console.pages.BasePage;
 import 
org.apache.syncope.client.console.panels.ImplementationDirectoryPanel.ImplementationProvider;
 import org.apache.syncope.client.console.rest.ImplementationRestClient;
-import 
org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal.WindowClosedCallback;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
 import 
org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksTogglePanel;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
@@ -70,16 +69,10 @@ public class ImplementationDirectoryPanel extends 
DirectoryPanel<
 
         modal.size(Modal.Size.Large);
         modal.addSubmitButton();
-        modal.setWindowClosedCallback(new 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/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsPanel.java
 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsPanel.java
index 5543271..64d93ce 100644
--- 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsPanel.java
+++ 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsPanel.java
@@ -32,7 +32,6 @@ import org.apache.syncope.client.console.pages.BasePage;
 import 
org.apache.syncope.client.console.panels.SecurityQuestionsPanel.SecurityQuestionsProvider;
 import org.apache.syncope.client.console.rest.SecurityQuestionRestClient;
 import 
org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.KeyPropertyColumn;
-import 
org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal.WindowClosedCallback;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
 import org.apache.syncope.client.ui.commons.wizards.AbstractModalPanelBuilder;
@@ -68,16 +67,13 @@ public class SecurityQuestionsPanel extends DirectoryPanel<
             }
         }.disableCheckBoxes());
 
-        modal.setWindowClosedCallback(new 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) {
@@ -92,22 +88,11 @@ public class SecurityQuestionsPanel extends DirectoryPanel<
             }
         }, true);
 
-        setFooterVisibility(true);
-        modal.addSubmitButton();
-        modal.size(Modal.Size.Large);
         initResultTable();
 
         MetaDataRoleAuthorizationStrategy.authorize(addAjaxLink, RENDER, 
IdRepoEntitlement.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/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PolicyDirectoryPanel.java
 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PolicyDirectoryPanel.java
index 8d2069a..eac8db2 100644
--- 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PolicyDirectoryPanel.java
+++ 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PolicyDirectoryPanel.java
@@ -35,7 +35,6 @@ import 
org.apache.syncope.client.console.rest.PolicyRestClient;
 import 
org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.CollectionPropertyColumn;
 import 
org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.KeyPropertyColumn;
 import 
org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
-import 
org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal.WindowClosedCallback;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
 import 
org.apache.syncope.client.console.wicket.markup.html.form.ActionLink.ActionType;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
@@ -94,20 +93,13 @@ public abstract class PolicyDirectoryPanel<T extends 
PolicyTO>
         setWindowClosedReloadCallback(policySpecModal);
         addOuterObject(policySpecModal);
 
-        modal.setWindowClosedCallback(new 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/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportTemplateDirectoryPanel.java
 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportTemplateDirectoryPanel.java
index 3860c78..40b2535 100644
--- 
a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportTemplateDirectoryPanel.java
+++ 
b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportTemplateDirectoryPanel.java
@@ -51,7 +51,6 @@ import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.model.StringResourceModel;
 import 
org.apache.syncope.client.console.reports.ReportTemplateDirectoryPanel.ReportTemplateProvider;
 import org.apache.syncope.client.console.rest.ReportRestClient;
-import 
org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal.WindowClosedCallback;
 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.client.ui.commons.panels.WizardModalPanel;
@@ -71,18 +70,11 @@ public class ReportTemplateDirectoryPanel
 
         modal.size(Modal.Size.Small);
         modal.addSubmitButton();
-        setFooterVisibility(true);
-
-        modal.setWindowClosedCallback(new 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