Author: akushunin
Date: 2008-03-04 06:25:54 -0500 (Tue, 04 Mar 2008)
New Revision: 6523
Modified:
trunk/ui/suggestionbox/src/main/config/component/suggestionbox.xml
trunk/ui/suggestionbox/src/main/java/org/richfaces/component/UISuggestionBox.java
trunk/ui/suggestionbox/src/main/java/org/richfaces/renderkit/html/SuggestionBoxRenderer.java
Log:
http://jira.jboss.com/jira/browse/RF-1774
Modified: trunk/ui/suggestionbox/src/main/config/component/suggestionbox.xml
===================================================================
--- trunk/ui/suggestionbox/src/main/config/component/suggestionbox.xml 2008-03-04 11:24:23
UTC (rev 6522)
+++ trunk/ui/suggestionbox/src/main/config/component/suggestionbox.xml 2008-03-04 11:25:54
UTC (rev 6523)
@@ -265,6 +265,10 @@
is set as a value
</description>
</property>
+ <property>
+ <name>hiddenFetchValue</name>
+ <classname>java.lang.Object</classname>
+ </property>
<property hidden="true">
<name>value</name>
<classname>java.lang.Object</classname>
Modified:
trunk/ui/suggestionbox/src/main/java/org/richfaces/component/UISuggestionBox.java
===================================================================
---
trunk/ui/suggestionbox/src/main/java/org/richfaces/component/UISuggestionBox.java 2008-03-04
11:24:23 UTC (rev 6522)
+++
trunk/ui/suggestionbox/src/main/java/org/richfaces/component/UISuggestionBox.java 2008-03-04
11:25:54 UTC (rev 6523)
@@ -21,9 +21,11 @@
package org.richfaces.component;
+import java.util.Collection;
import java.util.Map;
import javax.el.MethodExpression;
+import javax.el.ValueExpression;
import javax.faces.component.UIData;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
@@ -91,7 +93,20 @@
* @param f identifier
*/
public abstract void setFor(String f);
+
+ public abstract Object getHiddenFetchValue();
+ public abstract void setHiddenFetchValue(Object hfv);
+
+ public abstract Object getFetchValue();
+
+ public abstract void setFetchValue(Object fv);
+
+ public abstract void setData(Object data);
+
+ public abstract Object getData();
+
+
/**
* Getter for suggestionAction.
*
@@ -341,6 +356,7 @@
if (null != suggestingAction) {
setValue(suggestingAction.invoke(
context.getELContext(), new Object[]{value}));
+
}
}
Modified:
trunk/ui/suggestionbox/src/main/java/org/richfaces/renderkit/html/SuggestionBoxRenderer.java
===================================================================
---
trunk/ui/suggestionbox/src/main/java/org/richfaces/renderkit/html/SuggestionBoxRenderer.java 2008-03-04
11:24:23 UTC (rev 6522)
+++
trunk/ui/suggestionbox/src/main/java/org/richfaces/renderkit/html/SuggestionBoxRenderer.java 2008-03-04
11:25:54 UTC (rev 6523)
@@ -37,6 +37,7 @@
import javax.faces.component.UIData;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
+import javax.servlet.http.HttpServlet;
import org.ajax4jsf.context.AjaxContext;
import org.ajax4jsf.javascript.JSFunction;
@@ -264,7 +265,23 @@
if (suggestionBox.isSubmitted()) {
suggestionBox.setupValue(context);
body.encode(getTemplateContext(context, suggestionBox));
-
+
+ Object[] values = ((Collection)suggestionBox.getValue()).toArray();
+ //Object hiddenFetchValue = suggestionBox.getHiddenFetchValue();
+ Collection data = new ArrayList();
+ for(int i=0;i<values.length;i++){
+
+ String var = (String)suggestionBox.getAttributes().get("var");
+ context.getExternalContext().getRequestMap().put(var, values[i]);
+ if(suggestionBox.getHiddenFetchValue()!=null){
+ data.add(suggestionBox.getHiddenFetchValue());
+ }else{
+ data.add(suggestionBox.getFetchValue());
+ }
+
+
+ }
+ suggestionBox.setData(data);
// Replace rendered area ID from component to suggestion table
suggestionBox.setRowIndex(-1);
AjaxContext ajaxContext = AjaxContext.getCurrentInstance(context);