diff --git a/src/main/config/component/watermark.xml b/src/main/config/component/watermark.xml index d9ecaca..e54a7da 100755 --- a/src/main/config/component/watermark.xml +++ b/src/main/config/component/watermark.xml @@ -24,14 +24,14 @@ <taghandler generate="true"> <classname>org.richfaces.taglib.WatermarkTagHandler</classname> <superclass>com.sun.facelets.tag.jsf.ComponentHandler</superclass> - </taghandler> &ui_output_attributes; + </taghandler> + &ui_output_attributes; <property> - <name>for</name> + <name>styleClass</name> <classname>java.lang.String</classname> - <description> - Id of component that should be focused + <description>Assigns one or more CSS class names to the component. Corresponds to the HTML "class" + attribute. </description> - <defaultvalue>""</defaultvalue> </property> </component> </components> diff --git a/src/main/java/org/richfaces/component/UIWatermark.java b/src/main/java/org/richfaces/component/UIWatermark.java index 0b22c87..566e172 100755 --- a/src/main/java/org/richfaces/component/UIWatermark.java +++ b/src/main/java/org/richfaces/component/UIWatermark.java @@ -7,8 +7,8 @@ public abstract class UIWatermark extends UIOutput { public static final String COMPONENT_TYPE = "org.richfaces.Watermark"; public static final String COMPONENT_FAMILY = "org.richfaces.Watermark"; - public abstract String getFor(); + public abstract String getStyleClass(); - public abstract void setFor(String value); + public abstract void setStyleClass(String styleClass); } diff --git a/src/main/resources/org/richfaces/renderkit/html/scripts/richfaces.watermark.js b/src/main/resources/org/richfaces/renderkit/html/scripts/richfaces.watermark.js index 383a9da..35f2722 100755 --- a/src/main/resources/org/richfaces/renderkit/html/scripts/richfaces.watermark.js +++ b/src/main/resources/org/richfaces/renderkit/html/scripts/richfaces.watermark.js @@ -1,8 +1,8 @@ if (window.RichFaces == null) { window.RichFaces = {}; } -RichFaces.Watermark = function(targetId, text) { +RichFaces.Watermark = function(targetId, text, options) { jQuery(function() { - jQuery(document.getElementById(targetId)).watermark(text); + jQuery(document.getElementById(targetId)).watermark(text, options); }); }; \ No newline at end of file diff --git a/src/main/templates/htmlWatermark.jspx b/src/main/templates/htmlWatermark.jspx index 5057422..7b679a7 100755 --- a/src/main/templates/htmlWatermark.jspx +++ b/src/main/templates/htmlWatermark.jspx @@ -19,27 +19,12 @@ <jsp:scriptlet> <![CDATA[ - String sid = (String) component.getAttributes().get("for"); - String target; - if (sid != null && ! "".equals(sid)) { - try { - UIComponent forcomp = getUtils().findComponentFor((UIComponent)component,sid); - if (forcomp != null) { - target = forcomp.getClientId(context); - } else { - target = sid; - } - }catch(IllegalArgumentException e) { - target = sid; - } - } else { - target = component.getParent().getClientId(context); - } + String target = getUtils().clientId(context,component.getParent()); variables.setVariable("for",target); ]]> </jsp:scriptlet> <script type="text/javascript" id="#{clientId}"> - RichFaces.Watermark('#{for}', '#{component.attributes["value"]}'); + RichFaces.Watermark('#{for}', '#{component.attributes["value"]}', {className:'#{component.attributes["styleClass"]}'}); </script> </f:root> \ No newline at end of file