Author: abelevich
Date: 2008-03-21 10:28:35 -0400 (Fri, 21 Mar 2008)
New Revision: 7051
Modified:
trunk/ui/inplaceSelect/src/main/java/org/richfaces/renderkit/InplaceSelectBaseRenderer.java
Log:
add creation of JSONArray with label/value JSONArrays
Modified:
trunk/ui/inplaceSelect/src/main/java/org/richfaces/renderkit/InplaceSelectBaseRenderer.java
===================================================================
---
trunk/ui/inplaceSelect/src/main/java/org/richfaces/renderkit/InplaceSelectBaseRenderer.java 2008-03-21
14:01:37 UTC (rev 7050)
+++
trunk/ui/inplaceSelect/src/main/java/org/richfaces/renderkit/InplaceSelectBaseRenderer.java 2008-03-21
14:28:35 UTC (rev 7051)
@@ -14,11 +14,13 @@
import javax.faces.context.ResponseWriter;
import javax.faces.model.SelectItem;
+import org.ajax4jsf.javascript.ScriptUtils;
import org.ajax4jsf.util.InputUtils;
import org.ajax4jsf.util.SelectUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.richfaces.component.UIInplaceSelect;
+import org.richfaces.json.JSONArray;
/**
* InplaceSelect base renderer implementation
@@ -65,21 +67,34 @@
}
public void encodeItems(FacesContext context, UIComponent component) throws
IOException {
- List values = new ArrayList();
+ List <String> labels = new ArrayList<String>();
ResponseWriter writer = context.getResponseWriter();
-
+ JSONArray jsonParentArray = new JSONArray();
+
List<SelectItem> selectItems = SelectUtils.getSelectItems(context, component);
if (!selectItems.isEmpty()) {
for (Iterator<SelectItem> iterator = selectItems.iterator();
iterator.hasNext();) {
SelectItem selectItem = iterator.next();
String value = getConvertedStringValue(context, component, selectItem.getValue());
- values.add(value);
- encodeSuggestion(writer, component, value, RICH_INPLACE_SELECT_CLASSES);
+ String label = selectItem.getLabel();
+ labels.add(label);
+
+ encodeSuggestion(writer, component, label, RICH_INPLACE_SELECT_CLASSES);
+
+ JSONArray jsonChildArray = new JSONArray();
+ jsonChildArray.put(label);
+ jsonChildArray.put(value);
+ jsonParentArray.put(jsonChildArray);
}
}
- setValuesList(values);
+ setValuesList(labels);
+ StringBuffer attributes = new StringBuffer();
+ attributes.append("var options = ");
+ attributes.append(jsonParentArray.toString());
+ attributes.append(";");
+ writer.write(attributes.toString());
}
-
+
public void encodeControlsFacet(FacesContext context, UIComponent component) throws
IOException {
UIComponent facet = component.getFacet(CONTROLS_FACET);
if ((facet != null) && (facet.isRendered())) {
Show replies by date