You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by mr...@apache.org on 2007/01/31 08:56:29 UTC
svn commit: r501758 - in /struts/struts2/trunk/core/src:
main/java/org/apache/struts2/components/ main/resources/template/simple/
test/java/org/apache/struts2/views/jsp/ui/
test/resources/org/apache/struts2/views/jsp/ui/
Author: mrdon
Date: Tue Jan 30 23:56:28 2007
New Revision: 501758
URL: http://svn.apache.org/viewvc?view=rev&rev=501758
Log:
Used id instead of name for Javascript method prefixes
WW-1618
Added:
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/DoubleSelect-3.txt
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/DoubleSelect.java
struts/struts2/trunk/core/src/main/resources/template/simple/doubleselect.ftl
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/DoubleSelectTest.java
Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/DoubleSelect.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/DoubleSelect.java?view=diff&rev=501758&r1=501757&r2=501758
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/DoubleSelect.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/DoubleSelect.java Tue Jan 30 23:56:28 2007
@@ -60,6 +60,6 @@
super.evaluateExtraParams();
// force the onchange parameter
- addParameter("onchange", getParameters().get("name") + "Redirect(this.options.selectedIndex)");
+ addParameter("onchange", getParameters().get("id") + "Redirect(this.options.selectedIndex)");
}
}
Modified: struts/struts2/trunk/core/src/main/resources/template/simple/doubleselect.ftl
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/resources/template/simple/doubleselect.ftl?view=diff&rev=501758&r1=501757&r2=501758
==============================================================================
--- struts/struts2/trunk/core/src/main/resources/template/simple/doubleselect.ftl (original)
+++ struts/struts2/trunk/core/src/main/resources/template/simple/doubleselect.ftl Tue Jan 30 23:56:28 2007
@@ -38,9 +38,9 @@
</select>
<script type="text/javascript">
<#assign itemCount = startCount/>
- var ${parameters.name}Group = new Array(${parameters.listSize} + ${startCount});
+ var ${parameters.id}Group = new Array(${parameters.listSize} + ${startCount});
for (i = 0; i < (${parameters.listSize} + ${startCount}); i++)
- ${parameters.name}Group[i] = new Array();
+ ${parameters.id}Group[i] = new Array();
<@s.iterator value="parameters.list">
<#if parameters.listKey?exists>
@@ -66,14 +66,14 @@
<#else>
<#assign doubleItemValue = stack.findString('top')/>
</#if>
- ${parameters.name}Group[${itemCount}][${doubleItemCount}] = new Option("${doubleItemValue}", "${doubleItemKeyStr}");
+ ${parameters.id}Group[${itemCount}][${doubleItemCount}] = new Option("${doubleItemValue}", "${doubleItemKeyStr}");
<#assign doubleItemCount = doubleItemCount + 1/>
</...@s.iterator>
<#assign itemCount = itemCount + 1/>
</...@s.iterator>
- var ${parameters.name}Temp = document.${parameters.formName}.${parameters.doubleName};
+ var ${parameters.id}Temp = document.${parameters.formName}.${parameters.doubleName};
<#assign itemCount = startCount/>
<#assign redirectTo = 0/>
<@s.iterator value="parameters.list">
@@ -87,25 +87,25 @@
</#if>
<#assign itemCount = itemCount + 1/>
</...@s.iterator>
- ${parameters.name}Redirect(${redirectTo});
- function ${parameters.name}Redirect(x) {
+ ${parameters.id}Redirect(${redirectTo});
+ function ${parameters.id}Redirect(x) {
var selected = false;
- for (m = ${parameters.name}Temp.options.length - 1; m >= 0; m--) {
- ${parameters.name}Temp.options[m] = null;
+ for (m = ${parameters.id}Temp.options.length - 1; m >= 0; m--) {
+ ${parameters.id}Temp.options[m] = null;
}
- for (i = 0; i < ${parameters.name}Group[x].length; i++) {
- ${parameters.name}Temp.options[i] = new Option(${parameters.name}Group[x][i].text, ${parameters.name}Group[x][i].value);
+ for (i = 0; i < ${parameters.id}Group[x].length; i++) {
+ ${parameters.id}Temp.options[i] = new Option(${parameters.id}Group[x][i].text, ${parameters.id}Group[x][i].value);
<#if parameters.doubleNameValue?exists>
- if (${parameters.name}Temp.options[i].value == '${parameters.doubleNameValue}') {
- ${parameters.name}Temp.options[i].selected = true;
+ if (${parameters.id}Temp.options[i].value == '${parameters.doubleNameValue}') {
+ ${parameters.id}Temp.options[i].selected = true;
selected = true;
}
</#if>
}
- if ((${parameters.name}Temp.options.length > 0) && (! selected)) {
- ${parameters.name}Temp.options[0].selected = true;
+ if ((${parameters.id}Temp.options.length > 0) && (! selected)) {
+ ${parameters.id}Temp.options[0].selected = true;
}
}
</script>
Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/DoubleSelectTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/DoubleSelectTest.java?view=diff&rev=501758&r1=501757&r2=501758
==============================================================================
--- struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/DoubleSelectTest.java (original)
+++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/DoubleSelectTest.java Tue Jan 30 23:56:28 2007
@@ -153,7 +153,63 @@
}
+
+ public void testDoubleWithDotName() throws Exception {
+ TestAction testAction = (TestAction) action;
+ Region antwerp = new Region("Antwerp", "AN");
+ Region gent = new Region("Gent", "GN");
+ Region brugge = new Region("Brugge", "BRG");
+ ArrayList belgiumRegions = new ArrayList();
+ belgiumRegions.add(antwerp);
+ belgiumRegions.add(gent);
+ belgiumRegions.add(brugge);
+ Country belgium = new Country("Belgium", "BE", belgiumRegions);
+
+ Region paris = new Region("Paris", "PA");
+ Region bordeaux = new Region("Bordeaux", "BOR");
+ ArrayList franceRegions = new ArrayList();
+ franceRegions.add(paris);
+ franceRegions.add(bordeaux);
+ Country france = new Country("France", "FR", franceRegions);
+
+ Collection collection = new ArrayList(2);
+ collection.add("AN");
+ testAction.setCollection(collection);
+
+ List countries = new ArrayList();
+ countries.add(belgium);
+ countries.add(france);
+
+ testAction.setList2(countries);
+
+ DoubleSelectTag tag = new DoubleSelectTag();
+ tag.setPageContext(pageContext);
+ tag.setLabel("mylabel");
+ tag.setName("foo.bar");
+ tag.setDoubleName("region");
+
+ tag.setList("list2");
+ tag.setDoubleList("regions");
+
+ tag.setListKey("iso");
+ tag.setDoubleListKey("key");
+ tag.setListValue("name");
+ tag.setDoubleListValue("name");
+
+ tag.setFormName("inputForm");
+
+ tag.setOnmousedown("window.status='onmousedown';");
+ tag.setOnmousemove("window.status='onmousemove';");
+ tag.setOnmouseout("window.status='onmouseout';");
+ tag.setOnmouseover("window.status='onmouseover';");
+ tag.setOnmouseup("window.status='onmouseup';");
+
+ tag.doStartTag();
+ tag.doEndTag();
+
+ verify(SelectTag.class.getResource("DoubleSelect-3.txt"));
+ }
public void testGenericSimple() throws Exception {
DoubleSelectTag tag = new DoubleSelectTag();
Added: struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/DoubleSelect-3.txt
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/DoubleSelect-3.txt?view=auto&rev=501758
==============================================================================
--- struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/DoubleSelect-3.txt (added)
+++ struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/DoubleSelect-3.txt Tue Jan 30 23:56:28 2007
@@ -0,0 +1,41 @@
+<tr>
+ <td class="tdLabel"><label for="foo_bar" class="label">mylabel:</label></td>
+ <td>
+<select name="foo.bar" id="foo_bar" onmousedown="window.status='onmousedown';" onmouseup="window.status='onmouseup';" onmouseover="window.status='onmouseover';" onmousemove="window.status='onmousemove';" onmouseout="window.status='onmouseout';" onchange="foo_barRedirect(this.options.selectedIndex)">
+ <option value="BE">Belgium</option>
+ <option value="FR">France</option>
+</select>
+<br/>
+<select name="region">
+</select>
+<script type="text/javascript">
+ var foo_barGroup = new Array(2 + 0);
+ for (i = 0; i < (2 + 0); i++)
+ foo_barGroup[i] = new Array();
+
+ foo_barGroup[0][0] = new Option("Antwerp", "AN");
+ foo_barGroup[0][1] = new Option("Gent", "GN");
+ foo_barGroup[0][2] = new Option("Brugge", "BRG");
+ foo_barGroup[1][0] = new Option("Paris", "PA");
+ foo_barGroup[1][1] = new Option("Bordeaux", "BOR");
+
+ var foo_barTemp = document.inputForm.region;
+ foo_barRedirect(0);
+
+ function foo_barRedirect(x) {
+ var selected = false;
+ for (m = foo_barTemp.options.length - 1; m >= 0; m--) {
+ foo_barTemp.options[m] = null;
+ }
+
+ for (i = 0; i < foo_barGroup[x].length; i++) {
+ foo_barTemp.options[i] = new Option(foo_barGroup[x][i].text, foo_barGroup[x][i].value);
+ }
+
+ if ((foo_barTemp.options.length > 0) && (! selected)) {
+ foo_barTemp.options[0].selected = true;
+ }
+ }
+</script>
+ </td>
+</tr>