Author: jkuhnert
Date: Tue Nov 28 13:43:06 2006
New Revision: 480220
URL: http://svn.apache.org/viewvc?view=rev&rev=480220
Log:
Fixes TAPESTRY-1169 with Autocomplete model not using the label property in all
situations.
Enhancements made to render chain contributors to make them use a threaded
model .
Modified:
tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetracker/page/LocaleList.java
tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/tapestry.render.xml
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/components/ForBean.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/IAutocompleteModel.java
Modified:
tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetracker/page/LocaleList.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetracker/page/LocaleList.java?view=diff&rev=480220&r1=480219&r2=480220
==============================================================================
---
tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetracker/page/LocaleList.java
(original)
+++
tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetracker/page/LocaleList.java
Tue Nov 28 13:43:06 2006
@@ -15,7 +15,6 @@
import java.util.Locale;
-import org.apache.tapestry.annotations.EventListener;
import org.apache.tapestry.event.BrowserEvent;
import org.apache.tapestry.html.BasePage;
import org.apache.tapestry.services.ResponseBuilder;
@@ -42,15 +41,11 @@
return Locale.getAvailableLocales();
}
- public void selectLocale(String language, String country, String variant)
+ public void selectLocale(BrowserEvent event, String language, String
country, String variant)
{
setSelected(new Locale(language, country, variant));
- }
-
- @EventListener(targets = {"localeLink"}, events = "onmousedown")
- public void localeHovered(BrowserEvent event)
- {
setStatus(event.toString());
getBuilder().updateComponent("status");
}
+
}
Modified:
tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/tapestry.render.xml
URL:
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/tapestry.render.xml?view=diff&rev=480220&r1=480219&r2=480220
==============================================================================
---
tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/tapestry.render.xml
(original)
+++
tapestry/tapestry4/trunk/tapestry-framework/src/descriptor/META-INF/tapestry.render.xml
Tue Nov 28 13:43:06 2006
@@ -42,7 +42,7 @@
Wires javascript events to components, adds javascript contributions to
render.
- <invoke-factory>
+ <invoke-factory model="threaded">
<construct
class="org.apache.tapestry.services.impl.ComponentEventConnectionWorker">
<set-service property="eventInvoker"
service-id="tapestry.event.EventInvoker"/>
<set-service property="eventEngine"
service-id="tapestry.event.DirectEvent"/>
@@ -61,7 +61,7 @@
Wires the optional parameters updateComponents/async/json shared by all
IDirect components
to client side javascript IO events if specified.
- <invoke-factory>
+ <invoke-factory model="threaded">
<construct class="org.apache.tapestry.link.DirectLinkWorker"
initialize-method="initialize" >
<set property="script"
value="/org/apache/tapestry/link/DirectLinkWorker.script" />
Modified:
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/components/ForBean.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/components/ForBean.java?view=diff&rev=480220&r1=480219&r2=480220
==============================================================================
---
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/components/ForBean.java
(original)
+++
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/components/ForBean.java
Tue Nov 28 13:43:06 2006
@@ -46,7 +46,7 @@
public abstract class ForBean extends AbstractFormComponent
{
// constants
-
+
/**
* Prefix on the hidden value stored into the field to indicate the the
actual value is stored
* (this is used when there is no primary key converter). The remainder of
the string is a
@@ -73,6 +73,8 @@
private boolean _rendering;
+ private boolean _hasNext = false;
+
// parameters
public abstract boolean getRenderTag();
@@ -99,6 +101,11 @@
public abstract ResponseBuilder getResponseBuilder();
+ public boolean hasNext()
+ {
+ return _hasNext;
+ }
+
/**
* Gets the source binding and iterates through its values. For each, it
updates the value
* binding and render's its wrapped elements.
@@ -141,9 +148,11 @@
{
_index = 0;
_rendering = true;
-
+
while (dataSource.hasNext())
{
+ _hasNext = true;
+
// Get current value
_value = dataSource.next();
@@ -175,6 +184,8 @@
}
_index++;
+
+ _hasNext = dataSource.hasNext();
// TODO: Fragile / messy
// Cause unique client id to be generated as well as event
connection
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=480220&r1=480219&r2=480220
==============================================================================
---
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
Tue Nov 28 13:43:06 2006
@@ -131,14 +131,16 @@
Iterator it = filteredValues.keySet().iterator();
Object key = null;
+ String label = null;
JSONObject json = writer.object();
while (it.hasNext()) {
key = it.next();
+ label = filteredValues.get( key ).toString();
- json.put(getDataSqueezer().squeeze(key), filteredValues.get(key));
+ json.put(getDataSqueezer().squeeze(key), label );
}
}
Modified:
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/IAutocompleteModel.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/IAutocompleteModel.java?view=diff&rev=480220&r1=480219&r2=480220
==============================================================================
---
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/IAutocompleteModel.java
(original)
+++
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/form/IAutocompleteModel.java
Tue Nov 28 13:43:06 2006
@@ -54,7 +54,7 @@
* @return
* A [EMAIL PROTECTED] Map} containing key/value pairs matching the
given input label string.
* The map should contain a key compatible with [EMAIL PROTECTED]
IPrimaryKeyConverter#getPrimaryKey(Object)}
- * and value compatible with [EMAIL PROTECTED]
#getLabelFor(Object)}.
+ * and value matching [EMAIL PROTECTED] #getLabelFor(Object)}.
*/
Map filterValues(String match);