You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by bo...@apache.org on 2010/11/24 08:23:57 UTC

svn commit: r1038507 - in /myfaces/tobago/branches/tobago-1.0.x: core/src/main/java/org/apache/myfaces/tobago/component/ core/src/main/java/org/apache/myfaces/tobago/taglib/component/ theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/...

Author: bommel
Date: Wed Nov 24 07:23:56 2010
New Revision: 1038507

URL: http://svn.apache.org/viewvc?rev=1038507&view=rev
Log:
(TOBAGO-948) disabled attribute support for tc:hidden

Modified:
    myfaces/tobago/branches/tobago-1.0.x/core/src/main/java/org/apache/myfaces/tobago/component/UIHiddenInput.java
    myfaces/tobago/branches/tobago-1.0.x/core/src/main/java/org/apache/myfaces/tobago/taglib/component/HiddenTagDeclaration.java
    myfaces/tobago/branches/tobago-1.0.x/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/HiddenRenderer.java
    myfaces/tobago/branches/tobago-1.0.x/theme/standard/src/main/resources/org/apache/myfaces/tobago/renderkit/html/standard/standard/script/prototype.js

Modified: myfaces/tobago/branches/tobago-1.0.x/core/src/main/java/org/apache/myfaces/tobago/component/UIHiddenInput.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-1.0.x/core/src/main/java/org/apache/myfaces/tobago/component/UIHiddenInput.java?rev=1038507&r1=1038506&r2=1038507&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-1.0.x/core/src/main/java/org/apache/myfaces/tobago/component/UIHiddenInput.java (original)
+++ myfaces/tobago/branches/tobago-1.0.x/core/src/main/java/org/apache/myfaces/tobago/component/UIHiddenInput.java Wed Nov 24 07:23:56 2010
@@ -18,7 +18,9 @@ package org.apache.myfaces.tobago.compon
  */
 
 import javax.faces.context.FacesContext;
+import javax.faces.el.ValueBinding;
 
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_DISABLED;
 
 /*
  * Date: 10.02.2006
@@ -26,20 +28,36 @@ import javax.faces.context.FacesContext;
  */
 public class UIHiddenInput extends javax.faces.component.UIInput {
 
-  private boolean inline = true;
-
   public static final String COMPONENT_TYPE = "org.apache.myfaces.tobago.HiddenInput";
 
+  private Boolean disabled;
+
+  public boolean isDisabled() {
+    if (disabled != null) {
+      return disabled;
+    }
+    ValueBinding vb = getValueBinding(ATTR_DISABLED);
+    if (vb != null) {
+      return (Boolean.TRUE.equals(vb.getValue(getFacesContext())));
+    } else {
+      return false;
+    }
+  }
+
+  public void setDisabled(boolean disabled) {
+    this.disabled = disabled;
+  }
+
   public void restoreState(FacesContext context, Object state) {
     Object[] values = (Object[]) state;
     super.restoreState(context, values[0]);
-    inline = (Boolean) values[1];
+    disabled = (Boolean) values[1];
   }
 
   public Object saveState(FacesContext context) {
     Object[] values = new Object[2];
     values[0] = super.saveState(context);
-    values[1] = inline;
+    values[1] = disabled;
     return values;
   }
 }

Modified: myfaces/tobago/branches/tobago-1.0.x/core/src/main/java/org/apache/myfaces/tobago/taglib/component/HiddenTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-1.0.x/core/src/main/java/org/apache/myfaces/tobago/taglib/component/HiddenTagDeclaration.java?rev=1038507&r1=1038506&r2=1038507&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-1.0.x/core/src/main/java/org/apache/myfaces/tobago/taglib/component/HiddenTagDeclaration.java (original)
+++ myfaces/tobago/branches/tobago-1.0.x/core/src/main/java/org/apache/myfaces/tobago/taglib/component/HiddenTagDeclaration.java Wed Nov 24 07:23:56 2010
@@ -24,6 +24,7 @@ import org.apache.myfaces.tobago.taglib.
 import org.apache.myfaces.tobago.taglib.decl.HasIdBindingAndRendered;
 import org.apache.myfaces.tobago.taglib.decl.HasValidator;
 import org.apache.myfaces.tobago.taglib.decl.HasValue;
+import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
 import org.apache.myfaces.tobago.taglib.decl.IsReadonly;
 
 /*
@@ -37,7 +38,7 @@ import org.apache.myfaces.tobago.taglib.
     uiComponent = "org.apache.myfaces.tobago.component.UIHiddenInput",
     rendererType = "Hidden")
 public interface HiddenTagDeclaration extends BeanTagDeclaration, HasIdBindingAndRendered, HasValue, HasConverter,
-    HasValidator, IsReadonly {
+    HasValidator, IsReadonly, IsDisabled {
 
   /**
    * @deprecated

Modified: myfaces/tobago/branches/tobago-1.0.x/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/HiddenRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-1.0.x/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/HiddenRenderer.java?rev=1038507&r1=1038506&r2=1038507&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-1.0.x/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/HiddenRenderer.java (original)
+++ myfaces/tobago/branches/tobago-1.0.x/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/HiddenRenderer.java Wed Nov 24 07:23:56 2010
@@ -33,18 +33,25 @@ import javax.faces.component.UIComponent
 import javax.faces.context.FacesContext;
 import java.io.IOException;
 
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_DISABLED;
+
 public class HiddenRenderer extends InputRendererBase {
 
-  public void encodeEnd(FacesContext facesContext,
-      UIComponent component) throws IOException {
+  public void encodeEnd(FacesContext facesContext, UIComponent component) throws IOException {
 
     final String clientId = component.getClientId(facesContext);
     final String value = ComponentUtil.currentValue(component);
 
     TobagoResponseWriter writer = HtmlRendererUtil.getTobagoResponseWriter(facesContext);
-
     writer.startElement(HtmlConstants.INPUT, component);
-    writer.writeAttribute(HtmlAttributes.TYPE, "hidden", false);
+    boolean disabled = ComponentUtil.getBooleanAttribute(component, ATTR_DISABLED);
+    if (disabled) {
+      writer.writeAttribute(HtmlAttributes.TYPE, "text", false);
+      writer.writeStyleAttribute("display:none");
+      writer.writeAttribute(HtmlAttributes.DISABLED, true);
+    } else {
+      writer.writeAttribute(HtmlAttributes.TYPE, "hidden", false);
+    }
     writer.writeNameAttribute(clientId);
     writer.writeIdAttribute(clientId);
     writer.writeAttribute(HtmlAttributes.VALUE, value != null ? value : "", true);

Modified: myfaces/tobago/branches/tobago-1.0.x/theme/standard/src/main/resources/org/apache/myfaces/tobago/renderkit/html/standard/standard/script/prototype.js
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-1.0.x/theme/standard/src/main/resources/org/apache/myfaces/tobago/renderkit/html/standard/standard/script/prototype.js?rev=1038507&r1=1038506&r2=1038507&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-1.0.x/theme/standard/src/main/resources/org/apache/myfaces/tobago/renderkit/html/standard/standard/script/prototype.js (original)
+++ myfaces/tobago/branches/tobago-1.0.x/theme/standard/src/main/resources/org/apache/myfaces/tobago/renderkit/html/standard/standard/script/prototype.js Wed Nov 24 07:23:56 2010
@@ -1190,9 +1190,12 @@ var Form = {
     var queryComponents = new Array();
 
     for (var i = 0; i < elements.length; i++) {
-      var queryComponent = Form.Element.serialize(elements[i]);
-      if (queryComponent)
-        queryComponents.push(queryComponent);
+        if (elements[i].disabled !== undefined && elements[i].disabled) {
+            continue;
+        }
+        var queryComponent = Form.Element.serialize(elements[i]);
+        if (queryComponent)
+          queryComponents.push(queryComponent);
     }
 
     return queryComponents.join('&');