You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by mu...@apache.org on 2007/02/17 17:36:09 UTC
svn commit: r508777 - in /struts/struts2/trunk/core/src:
main/java/org/apache/struts2/components/
main/java/org/apache/struts2/views/jsp/ui/
main/resources/org/apache/struts2/static/dojo/struts/widget/
main/resources/template/ajax/ main/resources/templ...
Author: musachy
Date: Sat Feb 17 08:36:08 2007
New Revision: 508777
URL: http://svn.apache.org/viewvc?view=rev&rev=508777
Log:
WW-1633 Add "keyName" attribute to autocompleter (defaults to "${name}Key")
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Autocompleter.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AutocompleterTag.java
struts/struts2/trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/widget/ComboBox.js
struts/struts2/trunk/core/src/main/resources/template/ajax/autocompleter.ftl
struts/struts2/trunk/core/src/main/resources/template/simple/autocompleter.ftl
struts/struts2/trunk/core/src/site/resources/tags/autocompleter.html
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/AutocompleterTest.java
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Autocompleter-1.txt
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Autocompleter-2.txt
Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Autocompleter.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Autocompleter.java?view=diff&rev=508777&r1=508776&r2=508777
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Autocompleter.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/Autocompleter.java Sat Feb 17 08:36:08 2007
@@ -72,6 +72,9 @@
* 'loadMinimumCount' minimum number of characters that will force the content to be loaded<p/>
* 'showDownError' show or hide the down arrow button
* 'searchType' how the search must be performed, options are: "startstring", "startword" and "substring"<p/>
+ * 'keyName' name of the field to which the selected key will be assigned<p/>
+ * 'iconPath' path of icon used for the dropdown
+ * 'templateCssPath' path to css file used to customize Dojo's widget
* 'notifyTopics' comma separated list of topics names, that will be published. Three parameters are passed:<p/>
* <ul>
* <li>data: selected value when type='valuechanged'</li>
@@ -103,6 +106,7 @@
protected String showDownArrow;
protected String templateCssPath;
protected String iconPath;
+ protected String keyName;
public Autocompleter(ValueStack stack, HttpServletRequest request,
HttpServletResponse response) {
@@ -165,11 +169,15 @@
addParameter("templateCssPath", findString(templateCssPath));
if(iconPath != null)
addParameter("iconPath", findString(iconPath));
- //get the key value
- if(name != null) {
- String keyNameExpr = "%{" + name + "Key}";
- addParameter("key", findString(keyNameExpr));
+ if(keyName != null)
+ addParameter("keyName", findString(keyName));
+ else {
+ keyName = name + "Key";
+ addParameter("keyName", findString(keyName));
}
+
+ String keyNameExpr = "%{" + keyName + "}";
+ addParameter("key", findString(keyNameExpr));
}
protected Object findListValue() {
@@ -271,5 +279,10 @@
@StrutsTagAttribute(description="Path to icon used for the dropdown")
public void setIconPath(String iconPath) {
this.iconPath = iconPath;
+ }
+
+ @StrutsTagAttribute(description="Name of the field to which the selected key will be assigned")
+ public void setKeyName(String keyName) {
+ this.keyName = keyName;
}
}
Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AutocompleterTag.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AutocompleterTag.java?view=diff&rev=508777&r1=508776&r2=508777
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AutocompleterTag.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/AutocompleterTag.java Sat Feb 17 08:36:08 2007
@@ -52,7 +52,8 @@
protected String showDownArrow;
protected String templateCssPath;
protected String iconPath;
-
+ protected String keyName;
+
public Component getBean(ValueStack stack, HttpServletRequest req, HttpServletResponse res) {
return new Autocompleter(stack, req, res);
}
@@ -79,6 +80,7 @@
autocompleter.setShowDownArrow(showDownArrow);
autocompleter.setTemplateCssPath(templateCssPath);
autocompleter.setIconPath(iconPath);
+ autocompleter.setKeyName(keyName);
}
public void setAutoComplete(String autoComplete) {
@@ -155,5 +157,9 @@
public void setIconPath(String iconPath) {
this.iconPath = iconPath;
+ }
+
+ public void setKeyName(String keyName) {
+ this.keyName = keyName;
}
}
Modified: struts/struts2/trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/widget/ComboBox.js
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/widget/ComboBox.js?view=diff&rev=508777&r1=508776&r2=508777
==============================================================================
--- struts/struts2/trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/widget/ComboBox.js (original)
+++ struts/struts2/trunk/core/src/main/resources/org/apache/struts2/static/dojo/struts/widget/ComboBox.js Sat Feb 17 08:36:08 2007
@@ -205,6 +205,7 @@
//dojo has "stringstart" which is invalid
searchType: "STARTSTRING",
+ keyName: "",
templateCssPath: dojo.uri.dojoUri("struts/ComboBox.css"),
//from Dojo's ComboBox
showResultList: function() {
@@ -315,7 +316,7 @@
}
//better name
- this.comboBoxSelectionValue.name = this.name + "Key";
+ this.comboBoxSelectionValue.name = dojo.string.isBlank(this.keyName) ? this.name + "Key" : this.keyName;
//init values
this.comboBoxValue.value = this.initialValue;
Modified: struts/struts2/trunk/core/src/main/resources/template/ajax/autocompleter.ftl
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/resources/template/ajax/autocompleter.ftl?view=diff&rev=508777&r1=508776&r2=508777
==============================================================================
--- struts/struts2/trunk/core/src/main/resources/template/ajax/autocompleter.ftl (original)
+++ struts/struts2/trunk/core/src/main/resources/template/ajax/autocompleter.ftl Sat Feb 17 08:36:08 2007
@@ -38,6 +38,9 @@
<#if parameters.get("size")?exists>
size="${parameters.get("size")?html}"<#rt/>
</#if>
+<#if parameters.keyName?if_exists != "">
+ keyName="${parameters.keyName?html}"<#rt/>
+</#if>
<#if parameters.maxlength?exists>
maxlength="${parameters.maxlength?string?html}"<#rt/>
</#if>
Modified: struts/struts2/trunk/core/src/main/resources/template/simple/autocompleter.ftl
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/resources/template/simple/autocompleter.ftl?view=diff&rev=508777&r1=508776&r2=508777
==============================================================================
--- struts/struts2/trunk/core/src/main/resources/template/simple/autocompleter.ftl (original)
+++ struts/struts2/trunk/core/src/main/resources/template/simple/autocompleter.ftl Sat Feb 17 08:36:08 2007
@@ -35,6 +35,9 @@
<#if parameters.name?if_exists != "">
name="${parameters.name?html}"<#rt/>
</#if>
+<#if parameters.keyName?if_exists != "">
+ keyName="${parameters.keyName?html}"<#rt/>
+</#if>
<#if parameters.get("size")?exists>
size="${parameters.get("size")?html}"<#rt/>
</#if>
Modified: struts/struts2/trunk/core/src/site/resources/tags/autocompleter.html
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/site/resources/tags/autocompleter.html?view=diff&rev=508777&r1=508776&r2=508777
==============================================================================
--- struts/struts2/trunk/core/src/site/resources/tags/autocompleter.html (original)
+++ struts/struts2/trunk/core/src/site/resources/tags/autocompleter.html Sat Feb 17 08:36:08 2007
@@ -180,6 +180,14 @@
<td align="left" valign="top">Set the key (name, value, label) for this particular component</td>
</tr>
<tr>
+ <td align="left" valign="top">keyName</td>
+ <td align="left" valign="top">false</td>
+ <td align="left" valign="top"></td>
+ <td align="left" valign="top">true</td>
+ <td align="left" valign="top">String</td>
+ <td align="left" valign="top">Name of the field to which the selected key will be assigned</td>
+ </tr>
+ <tr>
<td align="left" valign="top">label</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/AutocompleterTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/AutocompleterTest.java?view=diff&rev=508777&r1=508776&r2=508777
==============================================================================
--- struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/AutocompleterTest.java (original)
+++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/AutocompleterTest.java Sat Feb 17 08:36:08 2007
@@ -43,6 +43,7 @@
tag.setName("f");
tag.setValue("g");
tag.setIndicator("h");
+ tag.setKeyName("i");
tag.setLoadOnTextChange("true");
tag.setLoadMinimumCount("3");
tag.setShowDownArrow("false");
Modified: struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Autocompleter-1.txt
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Autocompleter-1.txt?view=diff&rev=508777&r1=508776&r2=508777
==============================================================================
--- struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Autocompleter-1.txt (original)
+++ struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Autocompleter-1.txt Sat Feb 17 08:36:08 2007
@@ -9,6 +9,7 @@
dropdownWidth="10"
dropdownHeight="10"
name="f"
+ keyName="i"
initialValue="g"
indicator="h"
loadOnType="true"
Modified: struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Autocompleter-2.txt
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Autocompleter-2.txt?view=diff&rev=508777&r1=508776&r2=508777
==============================================================================
--- struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Autocompleter-2.txt (original)
+++ struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/Autocompleter-2.txt Sat Feb 17 08:36:08 2007
@@ -9,6 +9,7 @@
dropdownWidth="10"
dropdownHeight="10"
name="f"
+ keyName="fKey"
buttonSrc="i"
templateCssPath="j"
>