[jboss-cvs] jboss-seam/src/ui/org/jboss/seam/ui ...
Gavin King
gavin.king at jboss.com
Mon Nov 13 22:47:35 EST 2006
User: gavin
Date: 06/11/13 22:47:35
Modified: src/ui/org/jboss/seam/ui HtmlLink.java UICache.java
Log:
JBSEAM-491, disabled attribite for s:link
Revision Changes Path
1.21 +32 -5 jboss-seam/src/ui/org/jboss/seam/ui/HtmlLink.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: HtmlLink.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/ui/org/jboss/seam/ui/HtmlLink.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- HtmlLink.java 8 Nov 2006 07:22:04 -0000 1.20
+++ HtmlLink.java 14 Nov 2006 03:47:35 -0000 1.21
@@ -30,6 +30,7 @@
private String buttonClass;
private String propagation = "default";
private String fragment;
+ private boolean disabled;
private UISelection getSelection()
{
@@ -81,6 +82,7 @@
{
writer.startElement("input", this);
writer.writeAttribute("type", "button", null);
+ if (isDisabled(context)) writer.writeAttribute("disabled", true, "disabled");
}
else
{
@@ -195,12 +197,18 @@
{
onclick += ";";
}
+ if ( !isDisabled(context) )
+ {
onclick += "location.href='" + encodedUrl + "'";
+ }
writer.writeAttribute("onclick", onclick, null);
}
else
{
+ if ( !isDisabled(context) )
+ {
writer.writeAttribute("href", encodedUrl, null);
+ }
HTML.renderHTMLAttributes(writer, this, HTML.ANCHOR_PASSTHROUGH_ATTRIBUTES);
}
@@ -209,10 +217,10 @@
{
if ( "button".equals(style) )
{
- writer.writeAttribute("value", label, null);
+ writer.writeAttribute("value", label, "label");
if (buttonClass!=null)
{
- writer.writeAttribute("class", buttonClass, null);
+ writer.writeAttribute("class", buttonClass, "buttonClass");
}
writer.flush();
}
@@ -265,6 +273,13 @@
this.view = viewId;
}
+ private boolean isDisabled(FacesContext facesContext)
+ {
+ ValueBinding disabledValueBinding = getValueBinding("disabled");
+ return disabledValueBinding==null ?
+ disabled : (Boolean) disabledValueBinding.getValue(facesContext);
+ }
+
@Override
public void restoreState(FacesContext context, Object state) {
Object[] values = (Object[]) state;
@@ -275,11 +290,12 @@
action = (String) values[4];
style = (String) values[5];
buttonClass = (String) values[6];
+ disabled = (Boolean) values[7];
}
@Override
public Object saveState(FacesContext context) {
- Object[] values = new Object[7];
+ Object[] values = new Object[8];
values[0] = super.saveState(context);
values[1] = view;
values[2] = pageflow;
@@ -287,6 +303,7 @@
values[4] = action;
values[5] = style;
values[6] = buttonClass;
+ values[7] = disabled;
return values;
}
@@ -350,4 +367,14 @@
this.fragment = fragment;
}
+ public boolean isDisabled()
+ {
+ return disabled;
+ }
+
+ public void setDisabled(boolean disabled)
+ {
+ this.disabled = disabled;
+ }
+
}
1.5 +2 -2 jboss-seam/src/ui/org/jboss/seam/ui/UICache.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: UICache.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/ui/org/jboss/seam/ui/UICache.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- UICache.java 2 Oct 2006 01:00:12 -0000 1.4
+++ UICache.java 14 Nov 2006 03:47:35 -0000 1.5
@@ -38,8 +38,8 @@
private boolean isEnabled(FacesContext facesContext)
{
- ValueBinding ifValueBinding = getValueBinding("enabled");
- return ifValueBinding==null || (Boolean) ifValueBinding.getValue(facesContext);
+ ValueBinding enabledValueBinding = getValueBinding("enabled");
+ return enabledValueBinding==null || (Boolean) enabledValueBinding.getValue(facesContext);
}
@Override
More information about the jboss-cvs-commits
mailing list