blob: 3b7ee7fd0128c630eb464e7ce39bc866677d1755 [file] [log] [blame]
#*
* $Id$
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*#
`#parse("/$parameters.templateDir/simple/select.vm")
#set ( $startCount = 0)
#if ($parameters.headerKey && $parameters.headerValue)
#set ( $startCount = $startCount + 1)
#end
#if ($parameters.emptyOption)
#set ( $startCount = $startCount + 1)
#end
<br />
<select name="$!struts.htmlEncode($parameters.doubleName)"
#if ($parameters.disabled) disabled="disabled" #end
#if ($parameters.doubleTabindex) tabindex="$!struts.htmlEncode($parameters.doubleTabindex)" #end
#if ($parameters.doubleId) id="$!struts.htmlEncode($parameters.doubleId)" #end
#if ($parameters.multiple) multiple="multiple" #end
#if ($parameters.cssClass) class="$!struts.htmlEncode($parameters.cssClass)" #end
#if ($parameters.cssStyle) style="$!struts.htmlEncode($parameters.cssStyle)" #end
>
</select>
<script type="text/javascript">
#set( $itemCount = $startCount )
var $!struts.htmlEncode($parameters.name)Group = new Array($!{parameters.listSize} + $startCount);
for (i = 0; i < ($!{parameters.listSize} + $startCount); i++)
$!struts.htmlEncode($parameters.name)Group[i] = new Array();
#foreach( $item in $items )
$stack.push($item)
#if( $parameters.listKey )
#set( $itemKey = $stack.findValue($parameters.listKey) )
#else
#set( $itemKey = $item )
#end
#if( $parameters.listValue )
#set( $itemValue = $stack.findValue($parameters.listValue) )
#else
#set( $itemValue = $item )
#end
#set( $doubleItems = $stack.findValue($parameters.doubleList) )
#set( $doubleItemCount = 0 )
#if( $doubleItems )
#foreach( $doubleItem in $doubleItems )
$stack.push($doubleItem)
#if( $parameters.doubleListKey )
#set( $doubleItemKey = $stack.findValue($parameters.doubleListKey) )
#else
#set( $doubleItemKey = $doubleItem )
#end
#if( $parameters.doubleListValue )
#set( $doubleItemValue = $stack.findValue($parameters.doubleListValue) )
#else
#set( $doubleItemValue = $doubleItem )
#end
$!struts.htmlEncode($parameters.name)Group[$itemCount][$doubleItemCount] = new Option("$doubleItemKey", "$doubleItemValue");
#set( $doubleItemCount = $doubleItemCount + 1 )
#set ($trash = $stack.pop())
#end
#set( $itemCount = $itemCount + 1 )
#end
#set ($trash = $stack.pop())
#end
var $!struts.htmlEncode($parameters.name)Temp = document.$!struts.htmlEncode(${parameters.formName}).$!struts.htmlEncode(${parameters.doubleName});
#set( $itemCount = $startCount )
#set( $redirectTo = 0 )
#foreach( $item in $items )
$stack.push($item)
#if( $parameters.listValue )
#set( $itemValue = $stack.findValue($parameters.listValue) )
#else
#set( $itemValue = $item )
#end
#if( $tag.contains($parameters.nameValue, $itemKey) )
#set( $redirectTo = $itemCount )
#end
#set( $itemCount = $itemCount + 1 )
#set ($trash = $stack.pop())
#end
$!{struts.htmlEncode($parameters.name)}Redirect($redirectTo);
function $!{struts.htmlEncode($parameters.name)}Redirect(x) {
for (m = $!{struts.htmlEncode($parameters.name)}Temp.options.length - 1; m >= 0; m--)
$!{struts.htmlEncode($parameters.name)}Temp.remove(m);
for (i = 0; i < $!{parameters.name}Group[x].length; i++) {
$!{struts.htmlEncode($parameters.name)}Temp.options[i] = new Option($!{struts.htmlEncode($parameters.name)}Group[x][i].text, $!{struts.htmlEncode($parameters.name)}Group[x][i].value);
}
if ($!{parameters.name}Temp.options.length > 0)
$!{struts.htmlEncode($parameters.name)}Temp.options[0].selected = true;
}
</script>