WW-3846 Add a new attributes for optionsCollection

git-svn-id: https://svn.apache.org/repos/asf/struts/struts2/trunk@1366884 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Johannes Geppert
2012-07-29 18:23:06 +00:00
parent 0784a45cb2
commit eadc86b88d
17 changed files with 455 additions and 46 deletions
@@ -26,12 +26,7 @@ import com.opensymphony.xwork2.util.ValueStack;
import org.apache.struts2.ServletActionContext;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
*/
@@ -67,9 +62,9 @@ public class UITagExample extends ActionSupport implements Validateable {
String thoughts;
public UITagExample() {
favouriteLanguages.add(new Language("EnglishKey", "English Language"));
favouriteLanguages.add(new Language("FrenchKey", "French Language"));
favouriteLanguages.add(new Language("SpanishKey", "Spanish Language"));
favouriteLanguages.add(new Language("EnglishKey", "English Language", "color: blue; font-style: italic;"));
favouriteLanguages.add(new Language("FrenchKey", "French Language", "color: grey;"));
favouriteLanguages.add(new Language("SpanishKey", "Spanish Language", "color: red; font-wight: bold;"));
VehicalType car = new VehicalType("CarKey", "Car");
VehicalType motorcycle = new VehicalType("MotorcycleKey", "Motorcycle");
@@ -268,10 +263,12 @@ public class UITagExample extends ActionSupport implements Validateable {
public static class Language {
String description;
String key;
String style;
public Language(String key, String description) {
public Language(String key, String description, String style) {
this.key = key;
this.description = description;
this.style = style;
}
public String getKey() {
@@ -280,6 +277,9 @@ public class UITagExample extends ActionSupport implements Validateable {
public String getDescription() {
return description;
}
public String getStyle() {
return style;
}
}
@@ -24,7 +24,7 @@ log4j.logger.noModule=FATAL
# OpenSymphony Stuff
log4j.logger.com.opensymphony=INFO
log4j.logger.org.apache.struts2=DEBUG
log4j.logger.org.apache.struts2=INFO
# Spring Stuff
log4j.logger.org.springframework=INFO
@@ -55,6 +55,7 @@
name="favouriteLanguage"
listKey="key"
listValue="description"
listCssStyle="style"
emptyOption="true"
headerKey="None"
headerValue="None"/>
@@ -21,14 +21,12 @@
package org.apache.struts2.components;
import java.util.Map;
import com.opensymphony.xwork2.util.ValueStack;
import org.apache.struts2.views.annotations.StrutsTagAttribute;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.views.annotations.StrutsTagAttribute;
import com.opensymphony.xwork2.util.ValueStack;
import java.util.Map;
/**
* DoubleListUIBean is the standard superclass of all Struts double list handling components.
@@ -55,6 +53,9 @@ public abstract class DoubleListUIBean extends ListUIBean {
protected String doubleList;
protected String doubleListKey;
protected String doubleListValue;
protected String doubleListCssClass;
protected String doubleListCssStyle;
protected String doubleListTitle;
protected String doubleName;
protected String doubleValue;
protected String formName;
@@ -149,6 +150,15 @@ public abstract class DoubleListUIBean extends ListUIBean {
}else if (tmpDoubleList instanceof Map) {
addParameter("doubleListValue", "value");
}
if (doubleListCssClass != null) {
addParameter("doubleListCssClass", findString(doubleListCssClass));
}
if (doubleListCssStyle!= null) {
addParameter("doubleListCssStyle", findString(doubleListCssStyle));
}
if (doubleListTitle != null) {
addParameter("doubleListTitle", findString(doubleListTitle));
}
if (formName != null) {
@@ -276,6 +286,21 @@ public abstract class DoubleListUIBean extends ListUIBean {
this.doubleListValue = doubleListValue;
}
@StrutsTagAttribute(description = "Property of second list objects to get css class from")
public void setDoubleListCssClass(String doubleListCssClass) {
this.doubleListCssClass = doubleListCssClass;
}
@StrutsTagAttribute(description = "Property of second list objects to get css style from")
public void setDoubleListCssStyle(String doubleListCssStyle) {
this.doubleListCssStyle = doubleListCssStyle;
}
@StrutsTagAttribute(description = "Property of second list objects to get title from")
public void setDoubleListTitle(String doubleListTitle) {
this.doubleListTitle = doubleListTitle;
}
@StrutsTagAttribute(description="The name for complete component", required=true)
public void setDoubleName(String doubleName) {
this.doubleName = doubleName;
@@ -21,37 +21,37 @@
package org.apache.struts2.components;
import com.opensymphony.xwork2.util.ValueStack;
import org.apache.struts2.util.ContainUtil;
import org.apache.struts2.util.MakeIterator;
import org.apache.struts2.views.annotations.StrutsTagAttribute;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.Array;
import java.util.Collection;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.views.annotations.StrutsTagAttribute;
import org.apache.struts2.util.ContainUtil;
import org.apache.struts2.util.MakeIterator;
import com.opensymphony.xwork2.util.ValueStack;
/**
* DoubleListUIBean is the standard superclass of all Struts list handling components.
*
* <p/>
*
* <p/>
* <p/>
* <!-- START SNIPPET: javadoc -->
*
* <p/>
* Note that the listkey and listvalue attribute will default to "key" and "value"
* respectively only when the list attribute is evaluated to a Map or its decendant.
* Everything else will result in listkey and listvalue to be null and not used.
*
* <p/>
* <!-- END SNIPPET: javadoc -->
*
*/
public abstract class ListUIBean extends UIBean {
protected Object list;
protected String listKey;
protected String listValue;
protected String listCssClass;
protected String listCssStyle;
protected String listTitle;
// indicate if an exception is to be thrown when value attribute is null
protected boolean throwExceptionOnNullValueAttribute = false;
@@ -78,13 +78,12 @@ public abstract class ListUIBean extends UIBean {
if (throwExceptionOnNullValueAttribute) {
// will throw an exception if not found
value = findValue((list == null) ? (String) list : list.toString(), "list",
"The requested list key '" + list + "' could not be resolved as a collection/array/map/enumeration/iterator type. " +
"Example: people or people.{name}");
}
else {
"The requested list key '" + list + "' could not be resolved as a collection/array/map/enumeration/iterator type. " +
"Example: people or people.{name}");
} else {
// ww-1010, allows value with null value to be compatible with ww
// 2.1.7 behaviour
value = findValue((list == null)?(String) list:list.toString());
value = findValue((list == null) ? (String) list : list.toString());
}
}
@@ -103,18 +102,30 @@ public abstract class ListUIBean extends UIBean {
}
if (listKey != null) {
listKey = stripExpressionIfAltSyntax(listKey);
listKey = stripExpressionIfAltSyntax(listKey);
addParameter("listKey", listKey);
} else if (value instanceof Map) {
addParameter("listKey", "key");
}
if (listValue != null) {
listValue = stripExpressionIfAltSyntax(listValue);
listValue = stripExpressionIfAltSyntax(listValue);
addParameter("listValue", listValue);
} else if (value instanceof Map) {
addParameter("listValue", "value");
}
if (listCssClass != null && listCssClass.trim().length() > 0) {
addParameter("listCssClass", listCssClass);
}
if (listCssStyle != null && listCssStyle.trim().length() > 0) {
addParameter("listCssStyle", listCssStyle);
}
if (listTitle != null && listTitle.trim().length() > 0) {
addParameter("listTitle", listTitle);
}
}
public boolean contains(Object obj1, Object obj2) {
@@ -125,22 +136,37 @@ public abstract class ListUIBean extends UIBean {
return null; // don't convert nameValue to anything, we need the raw value
}
@StrutsTagAttribute(description="Iterable source to populate from. If the list is a Map (key, value), the Map key will become the option 'value'" +
" parameter and the Map value will become the option body.", required=true)
@StrutsTagAttribute(description = "Iterable source to populate from. If the list is a Map (key, value), the Map key will become the option 'value'" +
" parameter and the Map value will become the option body.", required = true)
public void setList(Object list) {
this.list = list;
}
@StrutsTagAttribute(description=" Property of list objects to get field value from")
@StrutsTagAttribute(description = " Property of list objects to get field value from")
public void setListKey(String listKey) {
this.listKey = listKey;
}
@StrutsTagAttribute(description="Property of list objects to get field content from")
@StrutsTagAttribute(description = "Property of list objects to get field content from")
public void setListValue(String listValue) {
this.listValue = listValue;
}
@StrutsTagAttribute(description = "Property of list objects to get css class from")
public void setListCssClass(String listCssClass) {
this.listCssClass = listCssClass;
}
@StrutsTagAttribute(description = "Property of list objects to get css style from")
public void setListCssStyle(String listCssStyle) {
this.listCssStyle = listCssStyle;
}
@StrutsTagAttribute(description = "Property of list objects to get title from")
public void setListTitle(String listTitle) {
this.listTitle = listTitle;
}
public void setThrowExceptionOnNullValueAttribute(boolean throwExceptionOnNullValueAttribute) {
this.throwExceptionOnNullValueAttribute = throwExceptionOnNullValueAttribute;
@@ -29,6 +29,9 @@ public abstract class AbstractListTag extends AbstractUITag {
protected String list;
protected String listKey;
protected String listValue;
protected String listCssClass;
protected String listCssStyle;
protected String listTitle;
protected void populateParams() {
super.populateParams();
@@ -37,6 +40,9 @@ public abstract class AbstractListTag extends AbstractUITag {
listUIBean.setList(list);
listUIBean.setListKey(listKey);
listUIBean.setListValue(listValue);
listUIBean.setListCssClass(listCssClass);
listUIBean.setListCssStyle(listCssStyle);
listUIBean.setListTitle(listTitle);
}
public void setList(String list) {
@@ -50,4 +56,16 @@ public abstract class AbstractListTag extends AbstractUITag {
public void setListValue(String listValue) {
this.listValue = listValue;
}
public void setListCssClass(String listCssClass) {
this.listCssClass = listCssClass;
}
public void setListCssStyle(String listCssStyle) {
this.listCssStyle = listCssStyle;
}
public void setListTitle(String listTitle) {
this.listTitle = listTitle;
}
}
@@ -61,10 +61,40 @@
<#else>
<#assign tmpListValue = stack.findString('top') />
</#if>
<#if parameters.listCssClass??>
<#if stack.findString(parameters.listCssClass)??>
<#assign itemCssClass= stack.findString(parameters.listCssClass)/>
<#else>
<#assign itemCssClass = ''/>
</#if>
</#if>
<#if parameters.listCssStyle??>
<#if stack.findString(parameters.listCssStyle)??>
<#assign itemCssStyle= stack.findString(parameters.listCssStyle)/>
<#else>
<#assign itemCssStyle = ''/>
</#if>
</#if>
<#if parameters.listTitle??>
<#if stack.findString(parameters.listTitle)??>
<#assign itemTitle= stack.findString(parameters.listTitle)/>
<#else>
<#assign itemTitle = ''/>
</#if>
</#if>
<option value="${tmpListKey?html}"<#rt/>
<#if (parameters.nameValue == tmpListKey)>
selected="selected"<#rt/>
</#if>
<#if itemCssClass?if_exists != "">
class="${itemCssClass?html}"<#rt/>
</#if>
<#if itemCssStyle?if_exists != "">
style="${itemCssStyle?html}"<#rt/>
</#if>
<#if itemTitle?if_exists != "">
title="${itemTitle?html}"<#rt/>
</#if>
><#t/>
${tmpListValue?html}<#t/>
</option><#lt/>
@@ -110,7 +110,37 @@
<#else>
<#assign doubleItemValue = stack.findString('top')/>
</#if>
<#if parameters.doubleListCssClass??>
<#if stack.findString(parameters.doubleListCssClass)??>
<#assign itemDoubleCssClass= stack.findString(parameters.doubleListCssClass)/>
<#else>
<#assign itemDoubleCssClass = ''/>
</#if>
</#if>
<#if parameters.doubleListCssStyle??>
<#if stack.findString(parameters.doubleListCssStyle)??>
<#assign itemDoubleCssStyle= stack.findString(parameters.doubleListCssStyle)/>
<#else>
<#assign itemDoubleCssStyle = ''/>
</#if>
</#if>
<#if parameters.doubleListTitle??>
<#if stack.findString(parameters.doubleListTitle)??>
<#assign itemDoubleTitle= stack.findString(parameters.doubleListTitle)/>
<#else>
<#assign itemDoubleTitle = ''/>
</#if>
</#if>
${parameters.id}Group[${itemCount}][${doubleItemCount}] = new Option("${doubleItemValue?js_string}", "${doubleItemKeyStr?js_string}");
<#if itemDoubleCssClass?if_exists != "">
${parameters.id}Group[${itemCount}][${doubleItemCount}].setAttribute("class","${itemDoubleCssClass?html}");
</#if>
<#if itemDoubleCssStyle?if_exists != "">
${parameters.id}Group[${itemCount}][${doubleItemCount}].setAttribute("style","${itemDoubleCssStyle?html}");
</#if>
<#if itemDoubleTitle?if_exists != "">
${parameters.id}Group[${itemCount}][${doubleItemCount}].setAttribute("title","${itemDoubleTitle?html}");
</#if>
<#assign doubleItemCount = doubleItemCount + 1/>
</@s.iterator>
@@ -32,6 +32,27 @@
<#else>
<#assign itemValue = stack.findString('top')/>
</#if>
<#if parameters.listCssClass??>
<#if stack.findString(parameters.listCssClass)??>
<#assign itemCssClass= stack.findString(parameters.listCssClass)/>
<#else>
<#assign itemCssClass = ''/>
</#if>
</#if>
<#if parameters.listCssStyle??>
<#if stack.findString(parameters.listCssStyle)??>
<#assign itemCssStyle= stack.findString(parameters.listCssStyle)/>
<#else>
<#assign itemCssStyle = ''/>
</#if>
</#if>
<#if parameters.listTitle??>
<#if stack.findString(parameters.listTitle)??>
<#assign itemTitle= stack.findString(parameters.listTitle)/>
<#else>
<#assign itemTitle = ''/>
</#if>
</#if>
<input type="radio"<#rt/>
<#if parameters.name??>
name="${parameters.name?html}"<#rt/>
@@ -49,16 +70,28 @@
<#if parameters.tabindex??>
tabindex="${parameters.tabindex?html}"<#rt/>
</#if>
<#if parameters.cssClass??>
<#if itemCssClass?if_exists != "">
class="${itemCssClass?html}"<#rt/>
<#else>
<#if parameters.cssClass??>
class="${parameters.cssClass?html}"<#rt/>
</#if>
</#if>
<#if parameters.cssStyle??>
<#if itemCssStyle?if_exists != "">
style="${itemCssStyle?html}"<#rt/>
<#else>
<#if parameters.cssStyle??>
style="${parameters.cssStyle?html}"<#rt/>
</#if>
</#if>
<#if itemTitle?if_exists != "">
title="${itemTitle?html}"<#rt/>
<#else>
<#if parameters.title??>
title="${parameters.title?html}"<#rt/>
</#if>
</#if>
<#include "/${parameters.templateDir}/simple/css.ftl" />
<#if parameters.title??>
title="${parameters.title?html}"<#rt/>
</#if>
<#include "/${parameters.templateDir}/simple/scripting-events.ftl" />
<#include "/${parameters.templateDir}/simple/common-attributes.ftl" />
<#include "/${parameters.templateDir}/simple/dynamic-attributes.ftl" />
@@ -78,10 +78,40 @@
<#else>
<#assign itemValue = stack.findString('top')/>
</#if>
<#if parameters.listCssClass??>
<#if stack.findString(parameters.listCssClass)??>
<#assign itemCssClass= stack.findString(parameters.listCssClass)/>
<#else>
<#assign itemCssClass = ''/>
</#if>
</#if>
<#if parameters.listCssStyle??>
<#if stack.findString(parameters.listCssStyle)??>
<#assign itemCssStyle= stack.findString(parameters.listCssStyle)/>
<#else>
<#assign itemCssStyle = ''/>
</#if>
</#if>
<#if parameters.listTitle??>
<#if stack.findString(parameters.listTitle)??>
<#assign itemTitle= stack.findString(parameters.listTitle)/>
<#else>
<#assign itemTitle = ''/>
</#if>
</#if>
<option value="${itemKeyStr?html}"<#rt/>
<#if tag.contains(parameters.nameValue, itemKey) == true>
selected="selected"<#rt/>
</#if>
<#if itemCssClass?if_exists != "">
class="${itemCssClass?html}"<#rt/>
</#if>
<#if itemCssStyle?if_exists != "">
style="${itemCssStyle?html}"<#rt/>
</#if>
<#if itemTitle?if_exists != "">
title="${itemTitle?html}"<#rt/>
</#if>
>${itemValue?html}</option><#lt/>
</@s.iterator>
@@ -137,6 +137,22 @@ Please do not edit it directly.
<td align="left" valign="top">String</td>
<td align="left" valign="top">Iterable source to populate from. If the list is a Map (key, value), the Map key will become the option 'value' parameter and the Map value will become the option body.</td>
</tr>
<tr>
<td align="left" valign="top">listCssClass</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of list objects to get css class from</td>
</tr>
<tr>
<td align="left" valign="top">listCssStyle</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of list objects to get css style from</td>
</tr>
<tr>
<td align="left" valign="top">listKey</td>
<td align="left" valign="top">false</td>
@@ -145,6 +161,14 @@ Please do not edit it directly.
<td align="left" valign="top">String</td>
<td align="left" valign="top"> Property of list objects to get field value from</td>
</tr>
<tr>
<td align="left" valign="top">listTitle</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of list objects to get title from</td>
</tr>
<tr>
<td align="left" valign="top">listValue</td>
<td align="left" valign="top">false</td>
@@ -153,6 +153,22 @@ Please do not edit it directly.
<td align="left" valign="top">String</td>
<td align="left" valign="top">The second iterable source to populate from.</td>
</tr>
<tr>
<td align="left" valign="top">doubleListCssClass</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of second list objects to get css class from</td>
</tr>
<tr>
<td align="left" valign="top">doubleListCssStyle</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of second list objects to get css style from</td>
</tr>
<tr>
<td align="left" valign="top">doubleListKey</td>
<td align="left" valign="top">false</td>
@@ -161,6 +177,14 @@ Please do not edit it directly.
<td align="left" valign="top">String</td>
<td align="left" valign="top">The key expression to use for second list</td>
</tr>
<tr>
<td align="left" valign="top">doubleListTitle</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of second list objects to get title from</td>
</tr>
<tr>
<td align="left" valign="top">doubleListValue</td>
<td align="left" valign="top">false</td>
@@ -401,6 +425,22 @@ Please do not edit it directly.
<td align="left" valign="top">String</td>
<td align="left" valign="top">Iterable source to populate from. If the list is a Map (key, value), the Map key will become the option 'value' parameter and the Map value will become the option body.</td>
</tr>
<tr>
<td align="left" valign="top">listCssClass</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of list objects to get css class from</td>
</tr>
<tr>
<td align="left" valign="top">listCssStyle</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of list objects to get css style from</td>
</tr>
<tr>
<td align="left" valign="top">listKey</td>
<td align="left" valign="top">false</td>
@@ -409,6 +449,14 @@ Please do not edit it directly.
<td align="left" valign="top">String</td>
<td align="left" valign="top"> Property of list objects to get field value from</td>
</tr>
<tr>
<td align="left" valign="top">listTitle</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of list objects to get title from</td>
</tr>
<tr>
<td align="left" valign="top">listValue</td>
<td align="left" valign="top">false</td>
@@ -209,6 +209,22 @@ Please do not edit it directly.
<td align="left" valign="top">String</td>
<td align="left" valign="top">Iterable source to populate from. If the list is a Map (key, value), the Map key will become the option 'value' parameter and the Map value will become the option body.</td>
</tr>
<tr>
<td align="left" valign="top">listCssClass</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of list objects to get css class from</td>
</tr>
<tr>
<td align="left" valign="top">listCssStyle</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of list objects to get css style from</td>
</tr>
<tr>
<td align="left" valign="top">listKey</td>
<td align="left" valign="top">false</td>
@@ -217,6 +233,14 @@ Please do not edit it directly.
<td align="left" valign="top">String</td>
<td align="left" valign="top"> Property of list objects to get field value from</td>
</tr>
<tr>
<td align="left" valign="top">listTitle</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of list objects to get title from</td>
</tr>
<tr>
<td align="left" valign="top">listValue</td>
<td align="left" valign="top">false</td>
@@ -289,6 +289,22 @@ Please do not edit it directly.
<td align="left" valign="top">String</td>
<td align="left" valign="top">The second iterable source to populate from.</td>
</tr>
<tr>
<td align="left" valign="top">doubleListCssClass</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of second list objects to get css class from</td>
</tr>
<tr>
<td align="left" valign="top">doubleListCssStyle</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of second list objects to get css style from</td>
</tr>
<tr>
<td align="left" valign="top">doubleListKey</td>
<td align="left" valign="top">false</td>
@@ -297,6 +313,14 @@ Please do not edit it directly.
<td align="left" valign="top">String</td>
<td align="left" valign="top">The key expression to use for second list</td>
</tr>
<tr>
<td align="left" valign="top">doubleListTitle</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of second list objects to get title from</td>
</tr>
<tr>
<td align="left" valign="top">doubleListValue</td>
<td align="left" valign="top">false</td>
@@ -561,6 +585,22 @@ Please do not edit it directly.
<td align="left" valign="top">String</td>
<td align="left" valign="top">Iterable source to populate from. If the list is a Map (key, value), the Map key will become the option 'value' parameter and the Map value will become the option body.</td>
</tr>
<tr>
<td align="left" valign="top">listCssClass</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of list objects to get css class from</td>
</tr>
<tr>
<td align="left" valign="top">listCssStyle</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of list objects to get css style from</td>
</tr>
<tr>
<td align="left" valign="top">listKey</td>
<td align="left" valign="top">false</td>
@@ -569,6 +609,14 @@ Please do not edit it directly.
<td align="left" valign="top">String</td>
<td align="left" valign="top"> Property of list objects to get field value from</td>
</tr>
<tr>
<td align="left" valign="top">listTitle</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of list objects to get title from</td>
</tr>
<tr>
<td align="left" valign="top">listValue</td>
<td align="left" valign="top">false</td>
+24
View File
@@ -137,6 +137,22 @@ Please do not edit it directly.
<td align="left" valign="top">String</td>
<td align="left" valign="top">Iterable source to populate from. If the list is a Map (key, value), the Map key will become the option 'value' parameter and the Map value will become the option body.</td>
</tr>
<tr>
<td align="left" valign="top">listCssClass</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of list objects to get css class from</td>
</tr>
<tr>
<td align="left" valign="top">listCssStyle</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of list objects to get css style from</td>
</tr>
<tr>
<td align="left" valign="top">listKey</td>
<td align="left" valign="top">false</td>
@@ -145,6 +161,14 @@ Please do not edit it directly.
<td align="left" valign="top">String</td>
<td align="left" valign="top"> Property of list objects to get field value from</td>
</tr>
<tr>
<td align="left" valign="top">listTitle</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of list objects to get title from</td>
</tr>
<tr>
<td align="left" valign="top">listValue</td>
<td align="left" valign="top">false</td>
+24
View File
@@ -161,6 +161,22 @@ Please do not edit it directly.
<td align="left" valign="top">String</td>
<td align="left" valign="top">Iterable source to populate from. If the list is a Map (key, value), the Map key will become the option 'value' parameter and the Map value will become the option body.</td>
</tr>
<tr>
<td align="left" valign="top">listCssClass</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of list objects to get css class from</td>
</tr>
<tr>
<td align="left" valign="top">listCssStyle</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of list objects to get css style from</td>
</tr>
<tr>
<td align="left" valign="top">listKey</td>
<td align="left" valign="top">false</td>
@@ -169,6 +185,14 @@ Please do not edit it directly.
<td align="left" valign="top">String</td>
<td align="left" valign="top"> Property of list objects to get field value from</td>
</tr>
<tr>
<td align="left" valign="top">listTitle</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of list objects to get title from</td>
</tr>
<tr>
<td align="left" valign="top">listValue</td>
<td align="left" valign="top">false</td>
@@ -185,6 +185,22 @@ Please do not edit it directly.
<td align="left" valign="top">String</td>
<td align="left" valign="top">Iterable source to populate from. If the list is a Map (key, value), the Map key will become the option 'value' parameter and the Map value will become the option body.</td>
</tr>
<tr>
<td align="left" valign="top">listCssClass</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of list objects to get css class from</td>
</tr>
<tr>
<td align="left" valign="top">listCssStyle</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of list objects to get css style from</td>
</tr>
<tr>
<td align="left" valign="top">listKey</td>
<td align="left" valign="top">false</td>
@@ -193,6 +209,14 @@ Please do not edit it directly.
<td align="left" valign="top">String</td>
<td align="left" valign="top"> Property of list objects to get field value from</td>
</tr>
<tr>
<td align="left" valign="top">listTitle</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">String</td>
<td align="left" valign="top">Property of list objects to get title from</td>
</tr>
<tr>
<td align="left" valign="top">listValue</td>
<td align="left" valign="top">false</td>