From 66190738ad42723c588ce088d06d367806b68512 Mon Sep 17 00:00:00 2001 From: fmittag Date: Thu, 6 Nov 2014 12:41:38 +0100 Subject: [PATCH] moved TextBoxWithWatermark and PasswordTextBoxWithWatermark to com.sap.see.gwt.client.controls --- .../shared/SecurityStylesheetResources.java | 4 +-- .../PasswordTextBoxWithWatermark.java | 24 ++++++++++++++---- .../controls}/TextBoxWithWatermark.java | 25 ++++++++++++++----- .../sap/sse/security/ui/client/Resources.java | 6 ++--- .../sap/sse/security/ui/login/LoginView.java | 2 ++ .../sse/security/ui/login/LoginView.ui.xml | 2 +- .../security/ui/loginpanel}/LoginPanel.css | 0 .../security/ui/loginpanel/LoginPanel.java | 2 +- .../{Css.java => LoginPanelCss.java} | 2 +- .../UserManagementEntryPoint.java | 2 +- 10 files changed, 49 insertions(+), 20 deletions(-) rename java/{com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login => com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls}/PasswordTextBoxWithWatermark.java (73%) rename java/{com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login => com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls}/TextBoxWithWatermark.java (72%) rename java/com.sap.sse.security.ui/src/main/{resources/com/sap/sse/security/ui/client/css => java/com/sap/sse/security/ui/loginpanel}/LoginPanel.css (100%) rename java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/loginpanel/{Css.java => LoginPanelCss.java} (88%) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SecurityStylesheetResources.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SecurityStylesheetResources.java index e54c668b136..5db5b37c0b6 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SecurityStylesheetResources.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SecurityStylesheetResources.java @@ -2,11 +2,11 @@ package com.sap.sailing.gwt.ui.shared; import com.google.gwt.core.client.GWT; import com.google.gwt.resources.client.ClientBundle; -import com.sap.sse.security.ui.loginpanel.Css; +import com.sap.sse.security.ui.loginpanel.LoginPanelCss; public interface SecurityStylesheetResources extends ClientBundle { public static final SecurityStylesheetResources INSTANCE = GWT.create(SecurityStylesheetResources.class); @Source("LoginPanel.css") - public Css css(); + public LoginPanelCss css(); } diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/PasswordTextBoxWithWatermark.java b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/PasswordTextBoxWithWatermark.java similarity index 73% rename from java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/PasswordTextBoxWithWatermark.java rename to java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/PasswordTextBoxWithWatermark.java index 36fc064ce50..6238f5cb5cb 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/PasswordTextBoxWithWatermark.java +++ b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/PasswordTextBoxWithWatermark.java @@ -1,4 +1,4 @@ -package com.sap.sse.security.ui.login; +package com.sap.sse.gwt.client.controls; import com.google.gwt.event.dom.client.BlurEvent; import com.google.gwt.event.dom.client.BlurHandler; @@ -7,8 +7,14 @@ import com.google.gwt.event.dom.client.FocusHandler; import com.google.gwt.user.client.ui.PasswordTextBox; import com.google.web.bindery.event.shared.HandlerRegistration; +/** + * A password textbox with a watermark property (HTML5 placeholder attribute) + * @author Frank + * + */ public class PasswordTextBoxWithWatermark extends PasswordTextBox implements BlurHandler, FocusHandler { private String watermark; + private String watermarkStyleName; private HandlerRegistration blurHandler; private HandlerRegistration focusHandler; @@ -27,7 +33,7 @@ public class PasswordTextBoxWithWatermark extends PasswordTextBox implements Blu } /** - * Adds a watermark if the parameter is not NULL or EMPTY + * Adds a watermark if the parameter is not Null * * @param watermark */ @@ -45,23 +51,31 @@ public class PasswordTextBoxWithWatermark extends PasswordTextBox implements Blu } } + public void setWatermarkStyleName(String styleName) { + this.watermarkStyleName = styleName; + } + @Override public void onBlur(BlurEvent event) { enableWatermark(); } - void enableWatermark() { + private void enableWatermark() { String text = getText(); if ((text.length() == 0) || (text.equalsIgnoreCase(watermark))) { // Show watermark setText(watermark); - addStyleName(LoginViewResources.INSTANCE.css().passwordTextInput_watermark()); + if(watermarkStyleName != null && !watermarkStyleName.isEmpty()) { + addStyleName(watermarkStyleName); + } } } @Override public void onFocus(FocusEvent event) { - removeStyleName(LoginViewResources.INSTANCE.css().passwordTextInput_watermark()); + if(watermarkStyleName != null && !watermarkStyleName.isEmpty()) { + removeStyleName(watermarkStyleName); + } if (getText().equalsIgnoreCase(watermark)) { // Hide watermark diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/TextBoxWithWatermark.java b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/TextBoxWithWatermark.java similarity index 72% rename from java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/TextBoxWithWatermark.java rename to java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/TextBoxWithWatermark.java index e2c6bfe5cb8..536920799c6 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/TextBoxWithWatermark.java +++ b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/TextBoxWithWatermark.java @@ -1,4 +1,4 @@ -package com.sap.sse.security.ui.login; +package com.sap.sse.gwt.client.controls; import com.google.gwt.event.dom.client.BlurEvent; import com.google.gwt.event.dom.client.BlurHandler; @@ -7,8 +7,14 @@ import com.google.gwt.event.dom.client.FocusHandler; import com.google.gwt.user.client.ui.TextBox; import com.google.web.bindery.event.shared.HandlerRegistration; +/** + * A textbox with a watermark property (HTML5 placeholder attribute) + * @author Frank + * + */ public class TextBoxWithWatermark extends TextBox implements BlurHandler, FocusHandler { private String watermark; + private String watermarkStyleName; private HandlerRegistration blurHandler; private HandlerRegistration focusHandler; @@ -27,8 +33,7 @@ public class TextBoxWithWatermark extends TextBox implements BlurHandler, FocusH } /** - * Adds a watermark if the parameter is not NULL or EMPTY - * + * Adds a watermark if the parameter is not Null * @param watermark */ public void setWatermark(final String watermark) { @@ -45,23 +50,31 @@ public class TextBoxWithWatermark extends TextBox implements BlurHandler, FocusH } } + public void setWatermarkStyleName(String styleName) { + this.watermarkStyleName = styleName; + } + @Override public void onBlur(BlurEvent event) { enableWatermark(); } - void enableWatermark() { + private void enableWatermark() { String text = getText(); if ((text.length() == 0) || (text.equalsIgnoreCase(watermark))) { // Show watermark setText(watermark); - addStyleName(LoginViewResources.INSTANCE.css().textInput_watermark()); + if(watermarkStyleName != null && !watermarkStyleName.isEmpty()) { + addStyleName(watermarkStyleName); + } } } @Override public void onFocus(FocusEvent event) { - removeStyleName(LoginViewResources.INSTANCE.css().textInput_watermark()); + if(watermarkStyleName != null && !watermarkStyleName.isEmpty()) { + removeStyleName(watermarkStyleName); + } if (getText().equalsIgnoreCase(watermark)) { // Hide watermark diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/Resources.java b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/Resources.java index 4d9d2b1c7f2..b658f852a3b 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/Resources.java +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/Resources.java @@ -2,12 +2,12 @@ package com.sap.sse.security.ui.client; import com.google.gwt.core.client.GWT; import com.google.gwt.resources.client.ClientBundle; -import com.sap.sse.security.ui.loginpanel.Css; +import com.sap.sse.security.ui.loginpanel.LoginPanelCss; public interface Resources extends ClientBundle { public static final Resources INSTANCE = GWT.create(Resources.class); - @Source("css/LoginPanel.css") - public Css css(); + @Source("com/sap/sse/security/ui/loginpanel/LoginPanel.css") + LoginPanelCss loginPanelCss(); } diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/LoginView.java b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/LoginView.java index 09a774f76a1..60f6f44ab6b 100755 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/LoginView.java +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/LoginView.java @@ -15,6 +15,8 @@ import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.HTMLPanel; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.Widget; +import com.sap.sse.gwt.client.controls.PasswordTextBoxWithWatermark; +import com.sap.sse.gwt.client.controls.TextBoxWithWatermark; import com.sap.sse.gwt.client.dialog.DialogUtils; import com.sap.sse.security.ui.client.EntryPointLinkFactory; import com.sap.sse.security.ui.client.UserService; diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/LoginView.ui.xml b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/LoginView.ui.xml index e96b6901feb..d067b8f70c4 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/LoginView.ui.xml +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/login/LoginView.ui.xml @@ -1,7 +1,7 @@ + xmlns:s="urn:import:com.sap.sse.gwt.client.controls"> diff --git a/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/client/css/LoginPanel.css b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/loginpanel/LoginPanel.css similarity index 100% rename from java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/client/css/LoginPanel.css rename to java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/loginpanel/LoginPanel.css diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/loginpanel/LoginPanel.java b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/loginpanel/LoginPanel.java index d866e03b396..bda90d9d2f0 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/loginpanel/LoginPanel.java +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/loginpanel/LoginPanel.java @@ -40,7 +40,7 @@ public class LoginPanel extends HorizontalPanel implements UserStatusEventHandle private final OAuthLogin oAuthPanel; - public LoginPanel(final Css css, final UserService userService) { + public LoginPanel(final LoginPanelCss css, final UserService userService) { this.userManagementService = userService.getUserManagementService(); this.userService = userService; css.ensureInjected(); diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/loginpanel/Css.java b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/loginpanel/LoginPanelCss.java similarity index 88% rename from java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/loginpanel/Css.java rename to java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/loginpanel/LoginPanelCss.java index 19e14439987..6cf39df33d2 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/loginpanel/Css.java +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/loginpanel/LoginPanelCss.java @@ -2,7 +2,7 @@ package com.sap.sse.security.ui.loginpanel; import com.google.gwt.resources.client.CssResource; -public interface Css extends CssResource { +public interface LoginPanelCss extends CssResource { String loginPanel(); @ClassName("loginPanel-welcomeMessage") diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/usermanagement/UserManagementEntryPoint.java b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/usermanagement/UserManagementEntryPoint.java index 2aabf3f8de7..d8f5f7ef0c5 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/usermanagement/UserManagementEntryPoint.java +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/usermanagement/UserManagementEntryPoint.java @@ -54,7 +54,7 @@ public class UserManagementEntryPoint extends AbstractEntryPoint { final SettingsPanel settingsPanel = new SettingsPanel(userManagementService, stringMessages); center.add(new ScrollPanel(settingsPanel), stringMessages.settings()); RootLayoutPanel.get().add(center); - RootPanel.get().add(new LoginPanel(Resources.INSTANCE.css(), userService)); + RootPanel.get().add(new LoginPanel(Resources.INSTANCE.loginPanelCss(), userService)); setTabPanelSize(center, ""+Window.getClientWidth()+"px", ""+Window.getClientHeight()+"px"); }