You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by jo...@apache.org on 2011/12/06 20:57:35 UTC
svn commit: r1211074 -
/struts/struts2/trunk/core/src/main/resources/template/simple/doubleselect.ftl
Author: jogep
Date: Tue Dec 6 19:57:35 2011
New Revision: 1211074
URL: http://svn.apache.org/viewvc?rev=1211074&view=rev
Log:
WW-2357: doubleEmptyOption, doubleHeaderKey and doubleHeaderValue ignored in doubleselect tag
Modified:
struts/struts2/trunk/core/src/main/resources/template/simple/doubleselect.ftl
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?rev=1211074&r1=1211073&r2=1211074&view=diff
==============================================================================
--- struts/struts2/trunk/core/src/main/resources/template/simple/doubleselect.ftl (original)
+++ struts/struts2/trunk/core/src/main/resources/template/simple/doubleselect.ftl Tue Dec 6 19:57:35 2011
@@ -29,127 +29,140 @@
<#assign startCount = startCount + 1/>
</#if>
-<br />
+<br/>
<select<#rt/>
- name="${parameters.doubleName?default("")?html}"<#rt/>
+ name="${parameters.doubleName?default("")?html}"<#rt/>
<#if parameters.disabled?default(false)>
- disabled="disabled"<#rt/>
+ disabled="disabled"<#rt/>
</#if>
<#if parameters.doubleTabindex??>
- tabindex="${parameters.doubleTabindex?html}"<#rt/>
+ tabindex="${parameters.doubleTabindex?html}"<#rt/>
</#if>
<#if parameters.doubleId??>
- id="${parameters.doubleId?html}"<#rt/>
+ id="${parameters.doubleId?html}"<#rt/>
</#if>
<#if parameters.doubleCss??>
- class="${parameters.doubleCss?html}"<#rt/>
+ class="${parameters.doubleCss?html}"<#rt/>
</#if>
<#if parameters.doubleStyle??>
- style="${parameters.doubleStyle?html}"<#rt/>
+ style="${parameters.doubleStyle?html}"<#rt/>
</#if>
<#if parameters.title??>
- title="${parameters.title?html}"<#rt/>
+ title="${parameters.title?html}"<#rt/>
</#if>
<#if parameters.multiple?default(false)>
- multiple="multiple"<#rt/>
+ multiple="multiple"<#rt/>
</#if>
<#if parameters.get("doubleSize")??>
- size="${parameters.get("doubleSize")?html}"<#rt/>
+ size="${parameters.get("doubleSize")?html}"<#rt/>
</#if>
<#if parameters.doubleMultiple?default(false)>
- multiple="multiple"<#rt/>
+ multiple="multiple"<#rt/>
</#if>
<#if parameters.doubleDisabled?default(false)>
- disabled="disabled"<#rt/>
-</#if>
->
+ disabled="disabled"<#rt/>
+</#if>
+ >
</select>
<#if parameters.doubleMultiple?default(false)>
-<input type="hidden" id="__multiselect_${parameters.doubleId?html}" name="__multiselect_${parameters.doubleName?default("")?html}" value=""<#rt/>
-<#if parameters.doubleDisabled?default(false)>
- disabled="disabled"<#rt/>
-</#if>
- />
+<input type="hidden" id="__multiselect_${parameters.doubleId?html}"
+ name="__multiselect_${parameters.doubleName?default("")?html}" value=""<#rt/>
+ <#if parameters.doubleDisabled?default(false)>
+ disabled="disabled"<#rt/>
+ </#if>
+ />
</#if>
<script type="text/javascript">
-<#assign itemCount = startCount/>
+ <#assign itemCount = startCount/>
var ${parameters.id}Group = new Array(${parameters.listSize} + ${startCount});
for (i = 0; i < (${parameters.listSize} + ${startCount}); i++)
- ${parameters.id}Group[i] = new Array();
+ ${parameters.id}Group[i] = new Array();
-<@s.iterator value="parameters.list">
- <#if parameters.listKey??>
- <#assign itemKey = stack.findValue(parameters.listKey)/>
- <#else>
- <#assign itemKey = stack.findValue('top')/>
- </#if>
- <#if parameters.listValue??>
- <#assign itemValue = stack.findString(parameters.listValue)/>
- <#else>
- <#assign itemValue = stack.findString('top')/>
- </#if>
- <#assign doubleItemCount = 0/>
+ <@s.iterator value="parameters.list">
+ <#if parameters.listKey??>
+ <#assign itemKey = stack.findValue(parameters.listKey)/>
+ <#else>
+ <#assign itemKey = stack.findValue('top')/>
+ </#if>
+ <#if parameters.listValue??>
+ <#assign itemValue = stack.findString(parameters.listValue)/>
+ <#else>
+ <#assign itemValue = stack.findString('top')/>
+ </#if>
+ <#assign doubleItemCount = 0/>
+ <#if parameters.doubleHeaderKey?? && parameters.doubleHeaderValue??>
+ ${parameters.id}Group[${itemCount}][${doubleItemCount}] = new Option("${doubleHeaderValue?js_string}", "${doubleHeaderKey?js_string}");
+ <#assign doubleItemCount = doubleItemCount + 1/>
+ </#if>
+ <#if parameters.doubleEmptyOption??>
+ ${parameters.id}Group[${itemCount}][${doubleItemCount}] = new Option("", "");
+ <#assign doubleItemCount = doubleItemCount + 1/>
+ </#if>
<@s.iterator value="${parameters.doubleList}">
<#if parameters.doubleListKey??>
<#assign doubleItemKey = stack.findValue(parameters.doubleListKey)/>
- <#else>
- <#assign doubleItemKey = stack.findValue('top')/>
+ <#else>
+ <#assign doubleItemKey = stack.findValue('top')/>
</#if>
<#assign doubleItemKeyStr = doubleItemKey.toString() />
<#if parameters.doubleListValue??>
<#assign doubleItemValue = stack.findString(parameters.doubleListValue)/>
- <#else>
- <#assign doubleItemValue = stack.findString('top')/>
+ <#else>
+ <#assign doubleItemValue = stack.findString('top')/>
</#if>
${parameters.id}Group[${itemCount}][${doubleItemCount}] = new Option("${doubleItemValue?js_string}", "${doubleItemKeyStr?js_string}");
<#assign doubleItemCount = doubleItemCount + 1/>
</...@s.iterator>
- <#assign itemCount = itemCount + 1/>
-</...@s.iterator>
+ <#assign itemCount = itemCount + 1/>
+ </...@s.iterator>
var ${parameters.id}Temp = document.${parameters.formName}.${parameters.doubleId};
-<#assign itemCount = startCount/>
-<#assign redirectTo = 0/>
-<@s.iterator value="parameters.list">
- <#if parameters.listKey??>
- <#assign itemKey = stack.findValue(parameters.listKey)/>
- <#else>
- <#assign itemKey = stack.findValue('top')/>
- </#if>
- <#if tag.contains(parameters.nameValue, itemKey)>
- <#assign redirectTo = itemCount/>
- </#if>
- <#assign itemCount = itemCount + 1/>
-</...@s.iterator>
+ <#assign itemCount = startCount/>
+ <#assign redirectTo = 0/>
+ <@s.iterator value="parameters.list">
+ <#if parameters.listKey??>
+ <#assign itemKey = stack.findValue(parameters.listKey)/>
+ <#else>
+ <#assign itemKey = stack.findValue('top')/>
+ </#if>
+ <#if tag.contains(parameters.nameValue, itemKey)>
+ <#assign redirectTo = itemCount/>
+ </#if>
+ <#assign itemCount = itemCount + 1/>
+ </...@s.iterator>
${parameters.id}Redirect(${redirectTo});
function ${parameters.id}Redirect(x) {
- var selected = false;
+ var selected = false;
for (m = ${parameters.id}Temp.options.length - 1; m >= 0; m--) {
${parameters.id}Temp.remove(m);
}
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.doubleMultiple?exists>
- for (j = 0; j < ${parameters.doubleNameValue}.length; j++) {
- if (${parameters.id}Temp.options[i].value == ${parameters.doubleNameValue?js_string}[j]) {
- ${parameters.id}Temp.options[i].selected = true;
- selected = true;
- }
- }
- <#else>
- if (${parameters.id}Temp.options[i].value == '${parameters.doubleNameValue?js_string}') {
- ${parameters.id}Temp.options[i].selected = true;
- selected = true;
- }
- </#if>
- </#if>
- }
+ <#if parameters.doubleNameValue?exists>
+ <#if parameters.doubleMultiple?exists>
+ for (j = 0; j < ${parameters.doubleNameValue}.
+ length;
+ j++
+ )
+ {
+ if (${parameters.id}Temp.options[i].value == ${parameters.doubleNameValue?js_string}[j]) {
+ ${parameters.id}Temp.options[i].selected = true;
+ selected = true;
+ }
+ }
+ <#else>
+ if (${parameters.id}Temp.options[i].value == '${parameters.doubleNameValue?js_string}') {
+ ${parameters.id}Temp.options[i].selected = true;
+ selected = true;
+ }
+ </#if>
+ </#if>
+ }
if ((${parameters.id}Temp.options.length > 0) && (! selected)) {
- ${parameters.id}Temp.options[0].selected = true;
+ ${parameters.id}Temp.options[0].selected = true;
}
}
</script>