You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by jk...@apache.org on 2007/05/24 21:48:10 UTC

svn commit: r541403 - in /tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form: AbstractFormWidget.java Autocompleter.java Autocompleter.script

Author: jkuhnert
Date: Thu May 24 12:48:08 2007
New Revision: 541403

URL: http://svn.apache.org/viewvc?view=rev&rev=541403
Log:
Fixed renderBug still hanging around in AbstractFormWidget.

Made Autocompleter value/label updates able to handle null values UI wise.

Modified:
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/AbstractFormWidget.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.script

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/AbstractFormWidget.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/AbstractFormWidget.java?view=diff&rev=541403&r1=541402&r2=541403
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/AbstractFormWidget.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/AbstractFormWidget.java Thu May 24 12:48:08 2007
@@ -52,22 +52,15 @@
     protected void renderFormComponent(IMarkupWriter writer, IRequestCycle cycle)
     {
         if(!cycle.isRewinding()) {
-            
-            if (!cycle.getResponseBuilder().isDynamic() 
+
+            if (!cycle.getResponseBuilder().isDynamic()
                     || cycle.getResponseBuilder().explicitlyContains(this)) {
-                
+
                 setDestroy(false);
-            } else
+            } else {
+
                 setDestroy(true);
-        }
-        
-        // don't render if not part of update response
-        
-        if (cycle.getResponseBuilder().isDynamic()
-                && (!cycle.getResponseBuilder().explicitlyContains(this) 
-                        && !cycle.getResponseBuilder().contains(this))) {
-            
-            return;
+            }
         }
         
         renderFormWidget(writer, cycle);
@@ -96,7 +89,7 @@
      * Components should do any validation/retrieval of values in this method. 
      * 
      * @param writer
-     *          The passed in {@link IMarkupWriter} will be a {@link NullMarkupWriter}, making 
+     *          The passed in {@link IMarkupWriter} will be a {@link org.apache.tapestry.engine.NullWriter}, making
      *          any content written ignored. 
      * @param cycle
      *           Typically used to retrieve submitted value via <code>cycle.getParameter(getName())</code>.

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.java?view=diff&rev=541403&r1=541402&r2=541403
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.java Thu May 24 12:48:08 2007
@@ -13,19 +13,7 @@
 // limitations under the License.
 package org.apache.tapestry.dojo.form;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.tapestry.IDirect;
-import org.apache.tapestry.IJSONRender;
-import org.apache.tapestry.IMarkupWriter;
-import org.apache.tapestry.IRequestCycle;
-import org.apache.tapestry.IScript;
-import org.apache.tapestry.PageRenderSupport;
-import org.apache.tapestry.Tapestry;
-import org.apache.tapestry.TapestryUtils;
+import org.apache.tapestry.*;
 import org.apache.tapestry.engine.DirectServiceParameter;
 import org.apache.tapestry.engine.IEngineService;
 import org.apache.tapestry.engine.ILink;
@@ -36,6 +24,11 @@
 import org.apache.tapestry.services.DataSqueezer;
 import org.apache.tapestry.valid.ValidatorException;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * An html field similar to a <code>select</code> input field that 
  * is wrapped by a dojo ComboBox widget.
@@ -120,10 +113,8 @@
         json.put("forceValidOption", isForceValidOption());
         json.put("disabled", isDisabled());
         
-        if (value != null && key != null) {
-            json.put("value", getDataSqueezer().squeeze(key));
-            json.put("label", model.getLabelFor(value));
-        }
+        json.put("value", getDataSqueezer().squeeze(key));
+        json.put("label", value != null ? model.getLabelFor(value) : "");
         
         parms.put("props", json.toString());
         parms.put("form", getForm().getName());

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.script
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.script?view=diff&rev=541403&r1=541402&r2=541403
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.script (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/Autocompleter.script Thu May 24 12:48:08 2007
@@ -20,7 +20,7 @@
     <initialization>
         var ${completer}=${props};
         tapestry.widget.synchronizeWidgetState("${id}", "Select", ${completer}, ${widget.destroy});
-        if (${completer}["label"] &amp;&amp; ${completer}["value"]){
+        if (!dj_undef("label", ${completer}) &amp;&amp; !dj_undef("value", ${completer})){
             var selw=dojo.widget.byId("${id}");
             selw.setValue(${completer}["value"]);
             selw.setLabel(${completer}["label"]);