You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by mm...@apache.org on 2020/02/04 12:41:53 UTC
[syncope] 04/04: work out events with item selection after the merge
This is an automated email from the ASF dual-hosted git repository.
mmoayyed pushed a commit to branch SYNCOPE-1506
in repository https://gitbox.apache.org/repos/asf/syncope.git
commit 836607ea209eade19f197151c50b39ec8f7674ff
Author: Misagh Moayyed <mm...@gmail.com>
AuthorDate: Tue Feb 4 16:41:14 2020 +0400
work out events with item selection after the merge
---
.../panels/MergeLinkedAccountsResourcesPanel.java | 10 ++++++++++
.../panels/MergeLinkedAccountsSearchPanel.java | 19 +++++--------------
.../repeater/data/table/AjaxFallbackDataTable.java | 6 +-----
.../wizards/any/MergeLinkedAccountsWizardBuilder.java | 7 ++++---
4 files changed, 20 insertions(+), 22 deletions(-)
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/MergeLinkedAccountsResourcesPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/MergeLinkedAccountsResourcesPanel.java
index b06a0c0..628b1a6 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/MergeLinkedAccountsResourcesPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/MergeLinkedAccountsResourcesPanel.java
@@ -125,6 +125,16 @@ public class MergeLinkedAccountsResourcesPanel extends WizardStep implements ICo
model.getMergingUser().getKey());
if (connObjectKeyValue != null) {
model.setResource(resource);
+ String tableId = MergeLinkedAccountsResourcesPanel.this.
+ get("resources:container:content:searchContainer:resultTable"
+ + ":tablePanel:groupForm:checkgroup:dataTable").
+ getMarkupId();
+ String js = "$('#" + tableId + "').removeClass('active');";
+ js += "$('#" + tableId + " tbody tr td div').filter(function() "
+ + "{return $(this).text() === \"" + resource.getKey() + "\";})"
+ + ".parent().parent().addClass('active');";
+ target.prependJavaScript(js);
+
} else {
error("Unable to determine connector object key");
((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/MergeLinkedAccountsSearchPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/MergeLinkedAccountsSearchPanel.java
index 0d299a6..5e8d55a 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/MergeLinkedAccountsSearchPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/MergeLinkedAccountsSearchPanel.java
@@ -18,7 +18,6 @@
*/
package org.apache.syncope.client.console.panels;
-import org.apache.syncope.client.console.SyncopeConsoleApplication;
import org.apache.syncope.client.console.panels.search.AnySelectionDirectoryPanel;
import org.apache.syncope.client.console.panels.search.SearchClausePanel;
import org.apache.syncope.client.console.panels.search.SearchUtils;
@@ -36,7 +35,6 @@ import org.apache.wicket.Component;
import org.apache.wicket.PageReference;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.event.IEvent;
-import org.apache.wicket.extensions.wizard.WizardModel.ICondition;
import org.apache.wicket.extensions.wizard.WizardStep;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.panel.Fragment;
@@ -46,7 +44,7 @@ import org.apache.wicket.model.util.ListModel;
import java.util.ArrayList;
-public class MergeLinkedAccountsSearchPanel extends WizardStep implements ICondition {
+public class MergeLinkedAccountsSearchPanel extends WizardStep {
private static final long serialVersionUID = 1221037007528732347L;
private final WebMarkupContainer ownerContainer;
@@ -61,8 +59,8 @@ public class MergeLinkedAccountsSearchPanel extends WizardStep implements ICondi
private final Fragment userSearchFragment;
- private MergeLinkedAccountsWizardModel wizardModel;
-
+ private final MergeLinkedAccountsWizardModel wizardModel;
+
public MergeLinkedAccountsSearchPanel(final MergeLinkedAccountsWizardModel model, final PageReference pageRef) {
super();
setOutputMarkupId(true);
@@ -99,23 +97,16 @@ public class MergeLinkedAccountsSearchPanel extends WizardStep implements ICondi
} else if (event.getPayload() instanceof AnySelectionDirectoryPanel.ItemSelection) {
AnySelectionDirectoryPanel.ItemSelection payload =
(AnySelectionDirectoryPanel.ItemSelection) event.getPayload();
-
+
final AnyTO sel = payload.getSelection();
this.wizardModel.setMergingUser(new UserRestClient().read(sel.getKey()));
String tableId = ((Component) event.getSource()).
get("container:content:searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable").
getMarkupId();
- String rowId = "dataTableRowId" + sel.getKey();
String js = "$('#" + tableId + " tr').removeClass('active');";
- js += "$('#" + tableId + " tr[id=" + rowId + "]').addClass('active');";
+ js += "$('#" + tableId + " td[title=" + sel.getKey() + "]').parent().addClass('active');";
payload.getTarget().prependJavaScript(js);
}
}
-
- @Override
- public boolean evaluate() {
- return SyncopeConsoleApplication.get().getSecuritySettings().getAuthorizationStrategy().
- isActionAuthorized(this, RENDER);
- }
}
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/AjaxFallbackDataTable.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/AjaxFallbackDataTable.java
index 5a095e7..a3ffc29 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/AjaxFallbackDataTable.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/AjaxFallbackDataTable.java
@@ -26,7 +26,6 @@ import org.apache.syncope.client.console.panels.AjaxDataTablePanel;
import org.apache.syncope.client.console.wicket.ajax.markup.html.navigation.paging.AjaxDataNavigationToolbar;
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.common.lib.to.EntityTO;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.ajax.AjaxEventBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -123,10 +122,7 @@ public class AjaxFallbackDataTable<T extends Serializable, S> extends DataTable<
@Override
protected Item<T> newRowItem(final String id, final int index, final IModel<T> model) {
- String componentId = "dataTableRowId" + EntityTO.class.cast(model.getObject()).getKey();
- final OddEvenItem<T> item = new OddEvenItem<>(componentId, index, model);
- item.setMarkupId(componentId);
- item.setOutputMarkupId(true);
+ final OddEvenItem<T> item = new OddEvenItem<>(id, index, model);
if (togglePanel != null) {
final ActionsPanel<T> actions = getActions(model);
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/MergeLinkedAccountsWizardBuilder.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/MergeLinkedAccountsWizardBuilder.java
index b35f29b..be549d5 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/MergeLinkedAccountsWizardBuilder.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/MergeLinkedAccountsWizardBuilder.java
@@ -25,6 +25,7 @@ import org.apache.syncope.client.console.pages.BasePage;
import org.apache.syncope.client.console.panels.MergeLinkedAccountsResourcesPanel;
import org.apache.syncope.client.console.panels.MergeLinkedAccountsReviewPanel;
import org.apache.syncope.client.console.panels.MergeLinkedAccountsSearchPanel;
+import org.apache.syncope.client.console.panels.UserDirectoryPanel;
import org.apache.syncope.client.console.rest.ResourceRestClient;
import org.apache.syncope.client.console.rest.UserRestClient;
import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
@@ -43,7 +44,6 @@ import org.apache.wicket.PageReference;
import org.apache.wicket.event.IEvent;
import org.apache.wicket.event.IEventSink;
import org.apache.wicket.extensions.wizard.WizardModel;
-import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
import javax.ws.rs.HttpMethod;
@@ -59,14 +59,14 @@ public class MergeLinkedAccountsWizardBuilder extends AjaxWizardBuilder<UserTO>
private static final ObjectMapper MAPPER = new ObjectMapper();
- private final Panel parentPanel;
+ private final UserDirectoryPanel parentPanel;
private final BaseModal<?> modal;
private MergeLinkedAccountsWizardModel model;
public MergeLinkedAccountsWizardBuilder(final IModel<UserTO> model, final PageReference pageRef,
- final Panel parentPanel, final BaseModal<?> modal) {
+ final UserDirectoryPanel parentPanel, final BaseModal<?> modal) {
super(model.getObject(), pageRef);
this.parentPanel = parentPanel;
this.modal = modal;
@@ -92,6 +92,7 @@ public class MergeLinkedAccountsWizardBuilder extends AjaxWizardBuilder<UserTO>
mergeAccounts();
this.parentPanel.info(this.parentPanel.getString(Constants.OPERATION_SUCCEEDED));
((BasePage) this.parentPanel.getPage()).getNotificationPanel().refresh(target);
+ parentPanel.updateResultTable(target);
modal.close(target);
} catch (Exception e) {
this.parentPanel.error(this.parentPanel.getString(Constants.ERROR) + ": " + e.getMessage());