mirror of
https://github.com/apache/struts.git
synced 2026-08-05 14:47:09 +00:00
Merge pull request #631 from apache/WW-5240-doubleselect
[WW-5240] Uses doubleOn* attributes in the template
This commit is contained in:
@@ -20,58 +20,99 @@
|
||||
-->
|
||||
<#global dynamic_attributes_ignore = "second-"/>
|
||||
<#include "/${parameters.templateDir}/simple/select.ftl" />
|
||||
<#assign startCount = 0/>
|
||||
<#assign startCount = 0/><#rt/>
|
||||
<#if parameters.headerKey?? && parameters.headerValue??>
|
||||
<#assign startCount = startCount + 1/>
|
||||
<#assign startCount = startCount + 1/><#rt/>
|
||||
</#if>
|
||||
<#if parameters.emptyOption??>
|
||||
<#assign startCount = startCount + 1/>
|
||||
<#assign startCount = startCount + 1/><#rt/>
|
||||
</#if>
|
||||
|
||||
<br/>
|
||||
<select<#rt/>
|
||||
name="${(parameters.doubleName!"")}"<#rt/>
|
||||
name="${(parameters.doubleName!"")}"<#rt/>
|
||||
<#if parameters.disabled!false>
|
||||
disabled="disabled"<#rt/>
|
||||
disabled="disabled"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.doubleTabindex?has_content>
|
||||
tabindex="${parameters.doubleTabindex}"<#rt/>
|
||||
tabindex="${parameters.doubleTabindex}"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.doubleId?has_content>
|
||||
id="${parameters.doubleId}"<#rt/>
|
||||
id="${parameters.doubleId}"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.doubleCss?has_content>
|
||||
class="${parameters.doubleCss}"<#rt/>
|
||||
class="${parameters.doubleCss}"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.doubleStyle?has_content>
|
||||
style="${parameters.doubleStyle}"<#rt/>
|
||||
style="${parameters.doubleStyle}"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.title?has_content>
|
||||
title="${parameters.title}"<#rt/>
|
||||
title="${parameters.title}"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.multiple!false>
|
||||
multiple="multiple"<#rt/>
|
||||
multiple="multiple"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.get("doubleSize")?has_content>
|
||||
size="${parameters.get("doubleSize")}"<#rt/>
|
||||
size="${parameters.get("doubleSize")}"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.doubleMultiple!false>
|
||||
multiple="multiple"<#rt/>
|
||||
multiple="multiple"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.doubleDisabled!false>
|
||||
disabled="disabled"<#rt/>
|
||||
disabled="disabled"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.doubleOnclick??>
|
||||
onclick="<#outputformat 'JavaScript'>${parameters.doubleOnclick}</#outputformat>"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.doubleOndblclick??>
|
||||
ondblclick="<#outputformat 'JavaScript'>${parameters.doubleOndblclick}</#outputformat>"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.doubleOnmousedown??>
|
||||
onmousedown="<#outputformat 'JavaScript'>${parameters.doubleOnmousedown}</#outputformat>"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.doubleOnmouseup??>
|
||||
onmouseup="<#outputformat 'JavaScript'>${parameters.doubleOnmouseup}</#outputformat>"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.doubleOnmouseover??>
|
||||
onmouseover="<#outputformat 'JavaScript'>${parameters.doubleOnmouseover}</#outputformat>"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.doubleOnmousemove??>
|
||||
onmousemove="<#outputformat 'JavaScript'>${parameters.doubleOnmousemove}</#outputformat>"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.doubleOnmouseout??>
|
||||
onmouseout="<#outputformat 'JavaScript'>${parameters.doubleOnmouseout}</#outputformat>"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.doubleOnfocus??>
|
||||
onfocus="<#outputformat 'JavaScript'>${parameters.doubleOnfocus}</#outputformat>"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.doubleOnblur??>
|
||||
onblur="<#outputformat 'JavaScript'>${parameters.doubleOnblur}</#outputformat>"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.doubleOnkeypress??>
|
||||
onkeypress="<#outputformat 'JavaScript'>${parameters.doubleOnkeypress}</#outputformat>"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.doubleOnkeydown??>
|
||||
onkeydown="<#outputformat 'JavaScript'>${parameters.doubleOnkeydown}</#outputformat>"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.doubleOnkeyup??>
|
||||
onkeyup="<#outputformat 'JavaScript'>${parameters.doubleOnkeyup}</#outputformat>"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.doubleOnselect??>
|
||||
onselect="<#outputformat 'JavaScript'>${parameters.doubleOnselect}</#outputformat>"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.doubleOnchange??>
|
||||
onchange="<#outputformat 'JavaScript'>${parameters.doubleOnchange}</#outputformat>"<#rt/>
|
||||
</#if>
|
||||
<#include "/${parameters.templateDir}/${parameters.expandTheme}/prefixed-dynamic-attributes.ftl" />
|
||||
<@prefixedDynamicAttributes prefix="second-"/>
|
||||
>
|
||||
>
|
||||
</select>
|
||||
<#if parameters.doubleMultiple!false>
|
||||
<input type="hidden" id="__multiselect_${parameters.doubleId}"
|
||||
name="__multiselect_${(parameters.doubleName!"")}" value=""<#rt/>
|
||||
<#if parameters.doubleDisabled!false>
|
||||
disabled="disabled"<#rt/>
|
||||
</#if>
|
||||
/>
|
||||
<input type="hidden" id="__multiselect_${parameters.doubleId}"<#rt/>
|
||||
name="__multiselect_${(parameters.doubleName!"")}" value=""<#rt/>
|
||||
<#if parameters.doubleDisabled!false>
|
||||
disabled="disabled"<#rt/>
|
||||
</#if>
|
||||
/><#rt/>
|
||||
</#if>
|
||||
<@s.script type="text/javascript">
|
||||
<#assign itemCount = startCount/>
|
||||
|
||||
@@ -45,9 +45,9 @@
|
||||
<#include "/${parameters.templateDir}/${parameters.expandTheme}/dynamic-attributes.ftl" />
|
||||
>
|
||||
<#if parameters.headerKey?? && parameters.headerValue??>
|
||||
<option value="${parameters.headerKey}"
|
||||
<option value="${parameters.headerKey}"<#rt/>
|
||||
<#if tag.contains(parameters.nameValue, parameters.headerKey) == true>
|
||||
selected="selected"
|
||||
selected="selected"<#rt/>
|
||||
</#if>
|
||||
>${parameters.headerValue}</option>
|
||||
</#if>
|
||||
@@ -121,9 +121,7 @@
|
||||
</#if>
|
||||
>${itemValue}</option><#lt/>
|
||||
</@s.iterator>
|
||||
|
||||
<#include "/${parameters.templateDir}/${parameters.expandTheme}/optgroup.ftl" />
|
||||
|
||||
</select>
|
||||
|
||||
<#if parameters.multiple!false>
|
||||
|
||||
@@ -37,7 +37,7 @@ public class DoubleSelectTest extends AbstractUITagTest {
|
||||
Region antwerp = new Region("Antwerp", "AN");
|
||||
Region gent = new Region("Gent", "GN");
|
||||
Region brugge = new Region("Brugge", "BRG");
|
||||
ArrayList belgiumRegions = new ArrayList();
|
||||
List<Region> belgiumRegions = new ArrayList<>();
|
||||
belgiumRegions.add(antwerp);
|
||||
belgiumRegions.add(gent);
|
||||
belgiumRegions.add(brugge);
|
||||
@@ -45,16 +45,16 @@ public class DoubleSelectTest extends AbstractUITagTest {
|
||||
|
||||
Region paris = new Region("Paris", "PA");
|
||||
Region bordeaux = new Region("Bordeaux", "BOR");
|
||||
ArrayList franceRegions = new ArrayList();
|
||||
List<Region> franceRegions = new ArrayList<>();
|
||||
franceRegions.add(paris);
|
||||
franceRegions.add(bordeaux);
|
||||
Country france = new Country("France", "FR", franceRegions);
|
||||
|
||||
Collection collection = new ArrayList(2);
|
||||
Collection<String> collection = new ArrayList<>(2);
|
||||
collection.add("AN");
|
||||
testAction.setCollection(collection);
|
||||
|
||||
List countries = new ArrayList();
|
||||
List<Country> countries = new ArrayList<>();
|
||||
countries.add(belgium);
|
||||
countries.add(france);
|
||||
|
||||
@@ -103,13 +103,13 @@ public class DoubleSelectTest extends AbstractUITagTest {
|
||||
strutsBodyTagsAreReflectionEqual(tag, freshTag));
|
||||
}
|
||||
|
||||
public void testDouble_clearTagStateSet() throws Exception {
|
||||
public void testDoubleJavaScriptEvents() 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();
|
||||
List<Region> belgiumRegions = new ArrayList<>();
|
||||
belgiumRegions.add(antwerp);
|
||||
belgiumRegions.add(gent);
|
||||
belgiumRegions.add(brugge);
|
||||
@@ -117,16 +117,90 @@ public class DoubleSelectTest extends AbstractUITagTest {
|
||||
|
||||
Region paris = new Region("Paris", "PA");
|
||||
Region bordeaux = new Region("Bordeaux", "BOR");
|
||||
ArrayList franceRegions = new ArrayList();
|
||||
List<Region> franceRegions = new ArrayList<>();
|
||||
franceRegions.add(paris);
|
||||
franceRegions.add(bordeaux);
|
||||
Country france = new Country("France", "FR", franceRegions);
|
||||
|
||||
Collection collection = new ArrayList(2);
|
||||
Collection<String> collection = new ArrayList<>(2);
|
||||
collection.add("AN");
|
||||
testAction.setCollection(collection);
|
||||
|
||||
List countries = new ArrayList();
|
||||
List<Country> countries = new ArrayList<>();
|
||||
countries.add(belgium);
|
||||
countries.add(france);
|
||||
|
||||
testAction.setList2(countries);
|
||||
|
||||
DoubleSelectTag tag = new DoubleSelectTag();
|
||||
tag.setPageContext(pageContext);
|
||||
tag.setTheme("simple");
|
||||
tag.setLabel("mylabel");
|
||||
tag.setName("foo");
|
||||
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.setDoubleOnclick("testMe()");
|
||||
tag.setDoubleOndblclick("testMe()");
|
||||
tag.setDoubleOnmousedown("testMe()");
|
||||
tag.setDoubleOnmouseup("testMe()");
|
||||
tag.setDoubleOnmouseover("testMe()");
|
||||
tag.setDoubleOnmousemove("testMe()");
|
||||
tag.setDoubleOnmouseout("testMe()");
|
||||
tag.setDoubleOnfocus("testMe()");
|
||||
tag.setDoubleOnblur("testMe()");
|
||||
tag.setDoubleOnkeypress("testMe()");
|
||||
tag.setDoubleOnkeydown("testMe()");
|
||||
tag.setDoubleOnkeyup("testMe()");
|
||||
tag.setDoubleOnselect("testMe()");
|
||||
tag.setDoubleOnchange("testMe()");
|
||||
|
||||
tag.doStartTag();
|
||||
tag.doEndTag();
|
||||
|
||||
verify(SelectTag.class.getResource("DoubleSelect-6.txt"));
|
||||
|
||||
// Basic sanity check of clearTagStateForTagPoolingServers() behaviour for Struts Tags after doEndTag().
|
||||
DoubleSelectTag freshTag = new DoubleSelectTag();
|
||||
freshTag.setPageContext(pageContext);
|
||||
assertFalse("Tag state after doEndTag() under default tag clear state is equal to new Tag with pageContext/parent set. " +
|
||||
"May indicate that clearTagStateForTagPoolingServers() calls are not working properly.",
|
||||
strutsBodyTagsAreReflectionEqual(tag, freshTag));
|
||||
}
|
||||
|
||||
public void testDouble_clearTagStateSet() throws Exception {
|
||||
TestAction testAction = (TestAction) action;
|
||||
|
||||
Region antwerp = new Region("Antwerp", "AN");
|
||||
Region gent = new Region("Gent", "GN");
|
||||
Region brugge = new Region("Brugge", "BRG");
|
||||
List<Region> 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<Region> franceRegions = new ArrayList<>();
|
||||
franceRegions.add(paris);
|
||||
franceRegions.add(bordeaux);
|
||||
Country france = new Country("France", "FR", franceRegions);
|
||||
|
||||
Collection<String> collection = new ArrayList<>(2);
|
||||
collection.add("AN");
|
||||
testAction.setCollection(collection);
|
||||
|
||||
List<Country> countries = new ArrayList<>();
|
||||
countries.add(belgium);
|
||||
countries.add(france);
|
||||
|
||||
@@ -178,13 +252,13 @@ public class DoubleSelectTest extends AbstractUITagTest {
|
||||
strutsBodyTagsAreReflectionEqual(tag, freshTag));
|
||||
}
|
||||
|
||||
public void testOnchange() throws Exception {
|
||||
public void testDoubleJavaScriptEvents_clearTagStateSet() 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();
|
||||
List<Region> belgiumRegions = new ArrayList<>();
|
||||
belgiumRegions.add(antwerp);
|
||||
belgiumRegions.add(gent);
|
||||
belgiumRegions.add(brugge);
|
||||
@@ -192,16 +266,93 @@ public class DoubleSelectTest extends AbstractUITagTest {
|
||||
|
||||
Region paris = new Region("Paris", "PA");
|
||||
Region bordeaux = new Region("Bordeaux", "BOR");
|
||||
ArrayList franceRegions = new ArrayList();
|
||||
ArrayList<Region> franceRegions = new ArrayList<>();
|
||||
franceRegions.add(paris);
|
||||
franceRegions.add(bordeaux);
|
||||
Country france = new Country("France", "FR", franceRegions);
|
||||
|
||||
Collection collection = new ArrayList(2);
|
||||
Collection<String> collection = new ArrayList<>(2);
|
||||
collection.add("AN");
|
||||
testAction.setCollection(collection);
|
||||
|
||||
List countries = new ArrayList();
|
||||
List<Country> countries = new ArrayList<>();
|
||||
countries.add(belgium);
|
||||
countries.add(france);
|
||||
|
||||
testAction.setList2(countries);
|
||||
|
||||
DoubleSelectTag tag = new DoubleSelectTag();
|
||||
tag.setPerformClearTagStateForTagPoolingServers(true); // Explicitly request tag state clearing.
|
||||
tag.setPageContext(pageContext);
|
||||
tag.setTheme("simple");
|
||||
tag.setLabel("mylabel");
|
||||
tag.setName("foo");
|
||||
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.setDoubleOnclick("testMe()");
|
||||
tag.setDoubleOndblclick("testMe()");
|
||||
tag.setDoubleOnmousedown("testMe()");
|
||||
tag.setDoubleOnmouseup("testMe()");
|
||||
tag.setDoubleOnmouseover("testMe()");
|
||||
tag.setDoubleOnmousemove("testMe()");
|
||||
tag.setDoubleOnmouseout("testMe()");
|
||||
tag.setDoubleOnfocus("testMe()");
|
||||
tag.setDoubleOnblur("testMe()");
|
||||
tag.setDoubleOnkeypress("testMe()");
|
||||
tag.setDoubleOnkeydown("testMe()");
|
||||
tag.setDoubleOnkeyup("testMe()");
|
||||
tag.setDoubleOnselect("testMe()");
|
||||
tag.setDoubleOnchange("testMe()");
|
||||
|
||||
tag.doStartTag();
|
||||
setComponentTagClearTagState(tag, true); // Ensure component tag state clearing is set true (to match tag).
|
||||
tag.doEndTag();
|
||||
|
||||
verify(SelectTag.class.getResource("DoubleSelect-6.txt"));
|
||||
|
||||
// Basic sanity check of clearTagStateForTagPoolingServers() behaviour for Struts Tags after doEndTag().
|
||||
DoubleSelectTag freshTag = new DoubleSelectTag();
|
||||
freshTag.setPerformClearTagStateForTagPoolingServers(true);
|
||||
freshTag.setPageContext(pageContext);
|
||||
assertTrue("Tag state after doEndTag() and explicit tag state clearing is inequal to new Tag with pageContext/parent set. " +
|
||||
"May indicate that clearTagStateForTagPoolingServers() calls are not working properly.",
|
||||
strutsBodyTagsAreReflectionEqual(tag, freshTag));
|
||||
}
|
||||
|
||||
public void testOnchange() throws Exception {
|
||||
TestAction testAction = (TestAction) action;
|
||||
|
||||
Region antwerp = new Region("Antwerp", "AN");
|
||||
Region gent = new Region("Gent", "GN");
|
||||
Region brugge = new Region("Brugge", "BRG");
|
||||
List<Region> 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");
|
||||
List<Region> franceRegions = new ArrayList<>();
|
||||
franceRegions.add(paris);
|
||||
franceRegions.add(bordeaux);
|
||||
Country france = new Country("France", "FR", franceRegions);
|
||||
|
||||
Collection<String> collection = new ArrayList<>(2);
|
||||
collection.add("AN");
|
||||
testAction.setCollection(collection);
|
||||
|
||||
List<Country> countries = new ArrayList<>();
|
||||
countries.add(belgium);
|
||||
countries.add(france);
|
||||
|
||||
@@ -255,7 +406,7 @@ public class DoubleSelectTest extends AbstractUITagTest {
|
||||
Region antwerp = new Region("Antwerp", "AN");
|
||||
Region gent = new Region("Gent", "GN");
|
||||
Region brugge = new Region("Brugge", "BRG");
|
||||
ArrayList belgiumRegions = new ArrayList();
|
||||
List<Region> belgiumRegions = new ArrayList<>();
|
||||
belgiumRegions.add(antwerp);
|
||||
belgiumRegions.add(gent);
|
||||
belgiumRegions.add(brugge);
|
||||
@@ -263,16 +414,16 @@ public class DoubleSelectTest extends AbstractUITagTest {
|
||||
|
||||
Region paris = new Region("Paris", "PA");
|
||||
Region bordeaux = new Region("Bordeaux", "BOR");
|
||||
ArrayList franceRegions = new ArrayList();
|
||||
List<Region> franceRegions = new ArrayList<>();
|
||||
franceRegions.add(paris);
|
||||
franceRegions.add(bordeaux);
|
||||
Country france = new Country("France", "FR", franceRegions);
|
||||
|
||||
Collection collection = new ArrayList(2);
|
||||
Collection<String> collection = new ArrayList<>(2);
|
||||
collection.add("AN");
|
||||
testAction.setCollection(collection);
|
||||
|
||||
List countries = new ArrayList();
|
||||
List<Country> countries = new ArrayList<>();
|
||||
countries.add(belgium);
|
||||
countries.add(france);
|
||||
|
||||
@@ -330,7 +481,7 @@ public class DoubleSelectTest extends AbstractUITagTest {
|
||||
Region antwerp = new Region("Antwerp", "AN");
|
||||
Region gent = new Region("Gent", "GN");
|
||||
Region brugge = new Region("Brugge", "BRG");
|
||||
ArrayList belgiumRegions = new ArrayList();
|
||||
List<Region> belgiumRegions = new ArrayList<>();
|
||||
belgiumRegions.add(antwerp);
|
||||
belgiumRegions.add(gent);
|
||||
belgiumRegions.add(brugge);
|
||||
@@ -338,16 +489,16 @@ public class DoubleSelectTest extends AbstractUITagTest {
|
||||
|
||||
Region paris = new Region("Paris", "PA");
|
||||
Region bordeaux = new Region("Bordeaux", "BOR");
|
||||
ArrayList franceRegions = new ArrayList();
|
||||
List<Region> franceRegions = new ArrayList<>();
|
||||
franceRegions.add(paris);
|
||||
franceRegions.add(bordeaux);
|
||||
Country france = new Country("France", "FR", franceRegions);
|
||||
|
||||
Collection collection = new ArrayList(2);
|
||||
Collection<String> collection = new ArrayList<>(2);
|
||||
collection.add("AN");
|
||||
testAction.setCollection(collection);
|
||||
|
||||
List countries = new ArrayList();
|
||||
List<Country> countries = new ArrayList<>();
|
||||
countries.add(belgium);
|
||||
countries.add(france);
|
||||
|
||||
@@ -398,7 +549,7 @@ public class DoubleSelectTest extends AbstractUITagTest {
|
||||
Region antwerp = new Region("Antwerp", "AN");
|
||||
Region gent = new Region("Gent", "GN");
|
||||
Region brugge = new Region("Brugge", "BRG");
|
||||
ArrayList belgiumRegions = new ArrayList();
|
||||
List<Region> belgiumRegions = new ArrayList<>();
|
||||
belgiumRegions.add(antwerp);
|
||||
belgiumRegions.add(gent);
|
||||
belgiumRegions.add(brugge);
|
||||
@@ -406,16 +557,16 @@ public class DoubleSelectTest extends AbstractUITagTest {
|
||||
|
||||
Region paris = new Region("Paris", "PA");
|
||||
Region bordeaux = new Region("Bordeaux", "BOR");
|
||||
ArrayList franceRegions = new ArrayList();
|
||||
List<Region> franceRegions = new ArrayList<>();
|
||||
franceRegions.add(paris);
|
||||
franceRegions.add(bordeaux);
|
||||
Country france = new Country("France", "FR", franceRegions);
|
||||
|
||||
Collection collection = new ArrayList(2);
|
||||
Collection<String> collection = new ArrayList<>(2);
|
||||
collection.add("AN");
|
||||
testAction.setCollection(collection);
|
||||
|
||||
List countries = new ArrayList();
|
||||
List<Country> countries = new ArrayList<>();
|
||||
countries.add(belgium);
|
||||
countries.add(france);
|
||||
|
||||
@@ -468,7 +619,7 @@ public class DoubleSelectTest extends AbstractUITagTest {
|
||||
Region antwerp = new Region("Antwerp", "AN");
|
||||
Region gent = new Region("Gent", "GN");
|
||||
Region brugge = new Region("Brugge", "BRG");
|
||||
ArrayList belgiumRegions = new ArrayList();
|
||||
List<Region> belgiumRegions = new ArrayList<>();
|
||||
belgiumRegions.add(antwerp);
|
||||
belgiumRegions.add(gent);
|
||||
belgiumRegions.add(brugge);
|
||||
@@ -476,16 +627,16 @@ public class DoubleSelectTest extends AbstractUITagTest {
|
||||
|
||||
Region paris = new Region("Paris", "PA");
|
||||
Region bordeaux = new Region("Bordeaux", "BOR");
|
||||
ArrayList franceRegions = new ArrayList();
|
||||
List<Region> franceRegions = new ArrayList<>();
|
||||
franceRegions.add(paris);
|
||||
franceRegions.add(bordeaux);
|
||||
Country france = new Country("France", "FR", franceRegions);
|
||||
|
||||
Collection collection = new ArrayList(2);
|
||||
Collection<String> collection = new ArrayList<>(2);
|
||||
collection.add("AN");
|
||||
testAction.setCollection(collection);
|
||||
|
||||
List countries = new ArrayList();
|
||||
List<Country> countries = new ArrayList<>();
|
||||
countries.add(belgium);
|
||||
countries.add(france);
|
||||
|
||||
@@ -532,7 +683,7 @@ public class DoubleSelectTest extends AbstractUITagTest {
|
||||
Region antwerp = new Region("Antwerp", "AN");
|
||||
Region gent = new Region("Gent", "GN");
|
||||
Region brugge = new Region("Brugge", "BRG");
|
||||
ArrayList belgiumRegions = new ArrayList();
|
||||
List<Region> belgiumRegions = new ArrayList<>();
|
||||
belgiumRegions.add(antwerp);
|
||||
belgiumRegions.add(gent);
|
||||
belgiumRegions.add(brugge);
|
||||
@@ -540,16 +691,16 @@ public class DoubleSelectTest extends AbstractUITagTest {
|
||||
|
||||
Region paris = new Region("Paris", "PA");
|
||||
Region bordeaux = new Region("Bordeaux", "BOR");
|
||||
ArrayList franceRegions = new ArrayList();
|
||||
List<Region> franceRegions = new ArrayList<>();
|
||||
franceRegions.add(paris);
|
||||
franceRegions.add(bordeaux);
|
||||
Country france = new Country("France", "FR", franceRegions);
|
||||
|
||||
Collection collection = new ArrayList(2);
|
||||
Collection<String> collection = new ArrayList<>(2);
|
||||
collection.add("AN");
|
||||
testAction.setCollection(collection);
|
||||
|
||||
List countries = new ArrayList();
|
||||
List<Country> countries = new ArrayList<>();
|
||||
countries.add(belgium);
|
||||
countries.add(france);
|
||||
|
||||
@@ -619,7 +770,7 @@ public class DoubleSelectTest extends AbstractUITagTest {
|
||||
Region antwerp = new Region("Antwerp", "AN");
|
||||
Region gent = new Region("Gent", "GN");
|
||||
Region brugge = new Region("Brugge", "BRG");
|
||||
ArrayList belgiumRegions = new ArrayList();
|
||||
List<Region> belgiumRegions = new ArrayList<>();
|
||||
belgiumRegions.add(antwerp);
|
||||
belgiumRegions.add(gent);
|
||||
belgiumRegions.add(brugge);
|
||||
@@ -627,18 +778,18 @@ public class DoubleSelectTest extends AbstractUITagTest {
|
||||
|
||||
Region paris = new Region("Paris", "PA");
|
||||
Region bordeaux = new Region("Bordeaux", "BOR");
|
||||
ArrayList franceRegions = new ArrayList();
|
||||
List<Region> franceRegions = new ArrayList<>();
|
||||
franceRegions.add(paris);
|
||||
franceRegions.add(bordeaux);
|
||||
Country france = new Country("France", "FR", franceRegions);
|
||||
|
||||
Collection collection = new ArrayList(2);
|
||||
Collection<String> collection = new ArrayList<>(2);
|
||||
collection.add("AN");
|
||||
testAction.setCollection(collection);
|
||||
|
||||
tag.setList("collection");
|
||||
|
||||
List countries = new ArrayList();
|
||||
List<Country> countries = new ArrayList<>();
|
||||
countries.add(belgium);
|
||||
countries.add(france);
|
||||
|
||||
@@ -659,12 +810,12 @@ public class DoubleSelectTest extends AbstractUITagTest {
|
||||
tag.setFormName("inputForm");
|
||||
}
|
||||
|
||||
public class Country {
|
||||
public static class Country {
|
||||
String name;
|
||||
String iso;
|
||||
Collection regions;
|
||||
Collection<Region> regions;
|
||||
|
||||
public Country(String name, String iso, Collection regions) {
|
||||
public Country(String name, String iso, Collection<Region> regions) {
|
||||
this.name = name;
|
||||
this.iso = iso;
|
||||
this.regions = regions;
|
||||
@@ -678,12 +829,12 @@ public class DoubleSelectTest extends AbstractUITagTest {
|
||||
return iso;
|
||||
}
|
||||
|
||||
public Collection getRegions() {
|
||||
public Collection<Region> getRegions() {
|
||||
return regions;
|
||||
}
|
||||
}
|
||||
|
||||
public class Region {
|
||||
public static class Region {
|
||||
String name;
|
||||
String key;
|
||||
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
<select name="foo" id="foo" onchange="fooRedirect(this.selectedIndex)">
|
||||
<option value="BE">Belgium</option>
|
||||
<option value="FR">France</option>
|
||||
</select>
|
||||
|
||||
<br/>
|
||||
<select name="region" id="region" onclick="testMe()" ondblclick="testMe()" onmousedown="testMe()" onmouseup="testMe()" onmouseover="testMe()" onmousemove="testMe()" onmouseout="testMe()" onfocus="testMe()" onblur="testMe()" onkeypress="testMe()" onkeydown="testMe()" onselect="testMe()" onchange="testMe()">
|
||||
</select>
|
||||
<script type="text/javascript" >
|
||||
var fooGroup = new Array(2 + 0);
|
||||
for (var i = 0; i < (2 + 0); i++) {
|
||||
fooGroup[i] = [];
|
||||
}
|
||||
|
||||
fooGroup[0][0] = new Option("Antwerp", "AN");
|
||||
|
||||
fooGroup[0][1] = new Option("Gent", "GN");
|
||||
|
||||
fooGroup[0][2] = new Option("Brugge", "BRG");
|
||||
|
||||
fooGroup[1][0] = new Option("Paris", "PA");
|
||||
|
||||
fooGroup[1][1] = new Option("Bordeaux", "BOR");
|
||||
|
||||
|
||||
var fooTemp = document.inputForm.region;
|
||||
fooRedirect(0);
|
||||
function fooRedirect(x) {
|
||||
var selected = false;
|
||||
for (var m = fooTemp.options.length - 1; m >= 0; m--) {
|
||||
fooTemp.remove(m);
|
||||
}
|
||||
|
||||
for (var i = 0; i < fooGroup[x].length; i++) {
|
||||
fooTemp.options[i] = new Option(fooGroup[x][i].text, fooGroup[x][i].value);
|
||||
}
|
||||
|
||||
if ((fooTemp.options.length > 0) && (! selected)) {
|
||||
fooTemp.options[0].selected = true;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
Reference in New Issue
Block a user