[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