Bug 4228: Refactored LoginHintPopup for better recycling and implemented

a specific subclass for Home desktop
This commit is contained in:
Steffen Schaefer committed 2017-08-17 14:21:29 +02:00
1 parent a35a57db47
commit a8c3332dba
3 files changed
+29 -21

No files matched your search

@@ -2,26 +2,27 @@ package com.sap.sse.security.ui.authentication.login;
import com.google.gwt.user.client.ui.PopupPanel;
import com.google.gwt.user.client.ui.SimplePanel;
import com.sap.sse.security.ui.authentication.AuthenticationManager;
import com.sap.sse.security.ui.authentication.UserManagementResources;
import com.sap.sse.security.ui.authentication.UserManagementResources.LocalCss;
public class LoginHintPopup extends PopupPanel {
private static final LocalCss LOCAL_CSS = UserManagementResources.INSTANCE.css();
private LoginHintContent lpop;
private Runnable dismissCallback;
public LoginHintPopup(final Runnable onDismiss, final Runnable onMoreInfo) {
public LoginHintPopup(AuthenticationManager authenticationManager, Runnable moreInfoCallback) {
LOCAL_CSS.ensureInjected();
this.addStyleName(LOCAL_CSS.flyover());
this.addStyleName(LOCAL_CSS.flyover_small_hidden());
this.addStyleName(LOCAL_CSS.flyover_position_grid());
this.setStyleName(LOCAL_CSS.flyover());
ensureDebugId("loginHintPopup");
setAutoHideEnabled(true);
lpop = new LoginHintContent(() -> {
hide();
onDismiss.run();
dismissCallback.run();
}, () -> {
hide();
onMoreInfo.run();
dismissCallback.run();
moreInfoCallback.run();
});
lpop.addStyleName(LOCAL_CSS.flyover_content());
@@ -29,6 +30,11 @@ public class LoginHintPopup extends PopupPanel {
wrapper.addStyleName(LOCAL_CSS.flyover_content_wrapper());
wrapper.add(lpop);
add(wrapper);
authenticationManager.checkNewUserPopup(this::hide, dismissCallback -> {
this.dismissCallback = dismissCallback;
show();
});
}
@Override