You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by an...@apache.org on 2007/04/20 20:46:33 UTC

svn commit: r530882 - in /tapestry/tapestry4/trunk/tapestry-framework/src: java/org/apache/tapestry/dojo/form/Autocompleter.java test/org/apache/tapestry/dojo/form/TestAutocompleter.java

Author: andyhot
Date: Fri Apr 20 11:46:32 2007
New Revision: 530882

URL: http://svn.apache.org/viewvc?view=rev&rev=530882
Log:
Also write out the selected attribute

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

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=530882&r1=530881&r2=530882
==============================================================================
--- 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 Fri Apr 20 11:46:32 2007
@@ -60,7 +60,10 @@
         IAutocompleteModel model = getModel();
         if (model == null)
             throw Tapestry.createRequiredParameterException(this, "model");
-                
+        
+        Object value = getValue();
+        Object key = value != null ? model.getPrimaryKey(value) : null;                
+        
         renderDelegatePrefix(writer, cycle);
         
         writer.begin("select");
@@ -86,9 +89,11 @@
             List list = model.getValues("");
             for (int i=0; i<list.size(); i++) 
             {
-                Object key = model.getPrimaryKey(list.get(i));
+                Object optionKey = model.getPrimaryKey(list.get(i));
                 writer.begin("option");
-                writer.attribute("value", getDataSqueezer().squeeze(key));
+                writer.attribute("value", getDataSqueezer().squeeze(optionKey));
+                if (optionKey!=null && optionKey.equals(key))
+                    writer.attribute("selected", "selected");
                 writer.print(model.getLabelFor(list.get(i)));
                 writer.end();
             }
@@ -115,12 +120,7 @@
         json.put("forceValidOption", isForceValidOption());
         json.put("disabled", isDisabled());
         
-        
-        Object value = getValue();
-        Object key = value != null ? model.getPrimaryKey(value) : null;
-        
         if (value != null && key != null) {
-            
             json.put("value", getDataSqueezer().squeeze(key));
             json.put("label", model.getLabelFor(value));
         }

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/dojo/form/TestAutocompleter.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/dojo/form/TestAutocompleter.java?view=diff&rev=530882&r1=530881&r2=530882
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/dojo/form/TestAutocompleter.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/dojo/form/TestAutocompleter.java Fri Apr 20 11:46:32 2007
@@ -159,7 +159,7 @@
             {"<span class=\"prefix\"><select name=\"fred\" autocomplete=\"off\" id=\"fred\" class=\"validation-delegate\"> </select></span>",
                      Boolean.FALSE},
             {"<span class=\"prefix\"><select name=\"fred\" autocomplete=\"off\" id=\"fred\" class=\"validation-delegate\"> <option " +
-                     "value=\"1p\">Simple 1</option><option value=\"2p\">Simple 2</option><option value=\"3p\">Simple 3</option></select></span>",
+                     "value=\"1p\">Simple 1</option><option value=\"2p\" selected=\"selected\">Simple 2</option><option value=\"3p\">Simple 3</option></select></span>",
                      Boolean.TRUE}
         };
     }