WW-2051 add additional javascript hooks for optiontransferselect

git-svn-id: https://svn.apache.org/repos/asf/struts/struts2/branches/STRUTS_2_0_X@558460 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
James Holmes
2007-07-22 04:16:29 +00:00
parent 9f68f0446c
commit 55a551baa2
12 changed files with 269 additions and 58 deletions
@@ -123,6 +123,14 @@ public class OptionTransferSelect extends DoubleListUIBean {
protected String rightUpLabel;
protected String rightDownLabel;
protected String addToLeftOnclick;
protected String addToRightOnclick;
protected String addAllToLeftOnclick;
protected String addAllToRightOnclick;
protected String selectAllOnclick;
protected String upDownOnLeftOnclick;
protected String upDownOnRightOnclick;
public OptionTransferSelect(ValueStack stack, HttpServletRequest request, HttpServletResponse response) {
super(stack, request, response);
@@ -252,6 +260,34 @@ public class OptionTransferSelect extends DoubleListUIBean {
rightDownLabel != null ? findValue(rightDownLabel, String.class) : "v");
// selectAllOnclick
addParameter("selectAllOnclick",
selectAllOnclick != null ? findValue(selectAllOnclick, String.class) : "");
// addToLeftOnclick
addParameter("addToLeftOnclick",
addToLeftOnclick != null ? findValue(addToLeftOnclick, String.class) : "");
// addToRightOnclick
addParameter("addToRightOnclick",
addToRightOnclick != null ? findValue(addToRightOnclick, String.class) : "");
// addAllToLeftOnclick
addParameter("addAllToLeftOnclick",
addAllToLeftOnclick != null ? findValue(addAllToLeftOnclick, String.class) : "");
// addAllToRightOnclick
addParameter("addAllToRightOnclick",
addAllToRightOnclick != null ? findValue(addAllToRightOnclick, String.class) : "");
// upDownOnLeftOnclick
addParameter("upDownOnLeftOnclick",
upDownOnLeftOnclick != null ? findValue(upDownOnLeftOnclick, String.class) : "");
// upDownOnRightOnclick
addParameter("upDownOnRightOnclick",
upDownOnRightOnclick != null ? findValue(upDownOnRightOnclick, String.class) : "");
// inform the form component our select tag infos, so they know how to select
// its elements upon onsubmit
@@ -476,5 +512,66 @@ public class OptionTransferSelect extends DoubleListUIBean {
return rightDownLabel;
}
public String getAddAllToLeftOnclick() {
return addAllToLeftOnclick;
}
@StrutsTagAttribute(description="Javascript to run after Add All To Left button pressed")
public void setAddAllToLeftOnclick(String addAllToLeftOnclick) {
this.addAllToLeftOnclick = addAllToLeftOnclick;
}
public String getAddAllToRightOnclick() {
return addAllToRightOnclick;
}
@StrutsTagAttribute(description="Javascript to run after Add All To Right button pressed")
public void setAddAllToRightOnclick(String addAllToRightOnclick) {
this.addAllToRightOnclick = addAllToRightOnclick;
}
public String getAddToLeftOnclick() {
return addToLeftOnclick;
}
@StrutsTagAttribute(description="Javascript to run after Add To Left button pressed")
public void setAddToLeftOnclick(String addToLeftOnclick) {
this.addToLeftOnclick = addToLeftOnclick;
}
public String getAddToRightOnclick() {
return addToRightOnclick;
}
@StrutsTagAttribute(description="Javascript to run after Add To Right button pressed")
public void setAddToRightOnclick(String addToRightOnclick) {
this.addToRightOnclick = addToRightOnclick;
}
@StrutsTagAttribute(description="Javascript to run after up / down on the left side buttons pressed")
public void setUpDownOnLeftOnclick(String upDownOnLeftOnclick) {
this.upDownOnLeftOnclick = upDownOnLeftOnclick;
}
public String getUpDownOnLeftOnclick() {
return this.upDownOnLeftOnclick;
}
@StrutsTagAttribute(description="Javascript to run after up / down on the right side buttons pressed")
public void setUpDownOnRightOnclick(String upDownOnRightOnclick) {
this.upDownOnRightOnclick = upDownOnRightOnclick;
}
public String getUpDownOnRightOnclick() {
return this.upDownOnRightOnclick;
}
@StrutsTagAttribute(description="Javascript to run after Select All button pressed")
public void setSelectAllOnclick(String selectAllOnclick) {
this.selectAllOnclick = selectAllOnclick;
}
public String getSelectAllOnclick() {
return this.selectAllOnclick;
}
}
@@ -59,6 +59,13 @@ public class OptionTransferSelectTag extends AbstractDoubleListTag {
protected String rightUpLabel;
protected String rightDownLabel;
protected String addToLeftOnclick;
protected String addToRightOnclick;
protected String addAllToLeftOnclick;
protected String addAllToRightOnclick;
protected String selectAllOnclick;
protected String upDownOnLeftOnclick;
protected String upDownOnRightOnclick;
public Component getBean(ValueStack stack, HttpServletRequest req, HttpServletResponse res) {
return new OptionTransferSelect(stack, req, res);
@@ -91,6 +98,14 @@ public class OptionTransferSelectTag extends AbstractDoubleListTag {
optionTransferSelect.setLeftTitle(leftTitle);
optionTransferSelect.setRightTitle(rightTitle);
optionTransferSelect.setAddToLeftOnclick(addToLeftOnclick);
optionTransferSelect.setAddToRightOnclick(addToRightOnclick);
optionTransferSelect.setAddAllToLeftOnclick(addAllToLeftOnclick);
optionTransferSelect.setAddAllToRightOnclick(addAllToRightOnclick);
optionTransferSelect.setSelectAllOnclick(selectAllOnclick);
optionTransferSelect.setUpDownOnLeftOnclick(upDownOnLeftOnclick);
optionTransferSelect.setUpDownOnRightOnclick(upDownOnRightOnclick);
}
@@ -272,4 +287,60 @@ public class OptionTransferSelectTag extends AbstractDoubleListTag {
public String getButtonCssStyle() {
return this.buttonCssStyle;
}
public String getAddAllToLeftOnclick() {
return this.addAllToLeftOnclick;
}
public void setAddAllToLeftOnclick(String addAllToLeftOnclick) {
this.addAllToLeftOnclick = addAllToLeftOnclick;
}
public String getAddAllToRightOnclick() {
return this.addAllToRightOnclick;
}
public void setAddAllToRightOnclick(String addAllToRightOnclick) {
this.addAllToRightOnclick = addAllToRightOnclick;
}
public String getAddToLeftOnclick() {
return this.addToLeftOnclick;
}
public void setAddToLeftOnclick(String addToLeftOnclick) {
this.addToLeftOnclick = addToLeftOnclick;
}
public String getAddToRightOnclick() {
return this.addToRightOnclick;
}
public void setAddToRightOnclick(String addToRightOnclick) {
this.addToRightOnclick = addToRightOnclick;
}
public String getUpDownOnLeftOnclick() {
return this.upDownOnLeftOnclick;
}
public void setUpDownOnLeftOnclick(String upDownOnLeftOnclick) {
this.upDownOnLeftOnclick = upDownOnLeftOnclick;
}
public String getUpDownOnRightOnclick() {
return this.upDownOnRightOnclick;
}
public void setUpDownOnRightOnclick(String upDownOnRightOnclick) {
this.upDownOnRightOnclick = upDownOnRightOnclick;
}
public void setSelectAllOnclick(String selectAllOnclick) {
this.selectAllOnclick = selectAllOnclick;
}
public String getSelectAllOnclick() {
return this.selectAllOnclick;
}
}
@@ -11,21 +11,13 @@
<#include "/${parameters.templateDir}/simple/select.ftl" />
<#if parameters.allowUpDownOnLeft?default(true)>
<input type="button"
<#if parameters.headerKey?exists>
onclick="moveOptionDown(document.getElementById('${parameters.id}'), 'key', '${parameters.headerKey}');"
<#else>
onclick="moveOptionDown(document.getElementById('${parameters.id}'), 'key', '');"
</#if>
onclick="moveOptionDown(document.getElementById('${parameters.id}'), 'key', <#if parameters.headerKey?exists>'${parameters.headerKey}'<#else>''</#if>);<#if parameters.upDownOnLeftOnclick?has_content>${parameters.upDownOnLeftOnclick};</#if>"
<#if parameters.leftDownLabel?exists>
value="${parameters.leftDownLabel?html}"
</#if>
/>
<input type="button"
<#if parameters.headerKey?exists>
onclick="moveOptionUp(document.getElementById('${parameters.id}'), 'key', '${parameters.headerKey}');"
<#else>
onclick="moveOptionUp(document.getElementById('${parameters.id}'), 'key', '');"
</#if>
onclick="moveOptionUp(document.getElementById('${parameters.id}'), 'key', <#if parameters.headerKey?exists>'${parameters.headerKey}'<#else>''</#if>);<#if parameters.upDownOnLeftOnclick?has_content>${parameters.upDownOnLeftOnclick};</#if>"
<#if parameters.leftUpLabel?exists>
value="${parameters.leftUpLabel?html}"
</#if>
@@ -44,7 +36,7 @@
<#if parameters.buttonCssStyle?exists><#t/>
style="${parameters.buttonCssStyle?html}"
</#if><#t/>
value="${addToLeftLabel}" onclick="moveSelectedOptions(document.getElementById('${parameters.doubleId?html}'), document.getElementById('${parameters.id?html}'), false, '${parameters.doubleHeaderKey}', '')" /><br /><br />
value="${addToLeftLabel}" onclick="moveSelectedOptions(document.getElementById('${parameters.doubleId?html}'), document.getElementById('${parameters.id?html}'), false, '${parameters.doubleHeaderKey}', '');<#if parameters.addToLeftOnclick?has_content>${parameters.addToLeftOnclick};</#if>" /><br /><br />
<#else><#t/>
<input type="button"
<#if parameters.buttonCssClass?exists><#t/>
@@ -53,7 +45,7 @@
<#if parameters.buttonCssStyle?exists><#t/>
style="${parameters.buttonCssStyle?html}"
</#if><#t/>
value="${addToLeftLabel}" onclick="moveSelectedOptions(document.getElementById('${parameters.doubleId?html}'), document.getElementById('${parameters.id?html}'), false, '')" /><br /><br />
value="${addToLeftLabel}" onclick="moveSelectedOptions(document.getElementById('${parameters.doubleId?html}'), document.getElementById('${parameters.id?html}'), false, '');<#if parameters.addToLeftOnclick?has_content>${parameters.addToLeftOnclick};</#if>" /><br /><br />
</#if><#t/>
</#if><#t/>
<#if parameters.allowAddToRight?default(true)><#t/>
@@ -66,7 +58,7 @@
<#if parameters.buttonCssStyle?exists><#t/>
style="${parameters.buttonCssStyle?html}"
</#if><#t/>
value="${addToRightLabel}" onclick="moveSelectedOptions(document.getElementById('${parameters.id?html}'), document.getElementById('${parameters.doubleId?html}'), false, '${parameters.headerKey}', '')" /><br /><br />
value="${addToRightLabel}" onclick="moveSelectedOptions(document.getElementById('${parameters.id?html}'), document.getElementById('${parameters.doubleId?html}'), false, '${parameters.headerKey}', '');<#if parameters.addToRightOnclick?has_content>${parameters.addToRightOnclick};</#if>" /><br /><br />
<#else><#t/>
<input type="button"
<#if parameters.buttonCssClass?exists><#t/>
@@ -75,7 +67,7 @@
<#if parameters.buttonCssStyle?exists>
style="${parameters.buttonCssStyle?html}"
</#if><#t/>
value="${addToRightLabel}" onclick="moveSelectedOptions(document.getElementById('${parameters.id?html}'), document.getElementById('${parameters.doubleId?html}'), false, '')" /><br /><br />
value="${addToRightLabel}" onclick="moveSelectedOptions(document.getElementById('${parameters.id?html}'), document.getElementById('${parameters.doubleId?html}'), false, '');<#if parameters.addToRightOnclick?has_content>${parameters.addToRightOnclick};</#if>" /><br /><br />
</#if><#t/>
</#if><#t/>
<#if parameters.allowAddAllToLeft?default(true)><#t/>
@@ -88,7 +80,7 @@
<#if parameters.buttonCssStyle?exists><#t/>
style="${parameters.buttonCssStyle}"
</#if><#t/>
value="${addAllToLeftLabel}" onclick="moveAllOptions(document.getElementById('${parameters.doubleId?html}'), document.getElementById('${parameters.id?html}'), false, '${parameters.doubleHeaderKey}', '')" /><br /><br />
value="${addAllToLeftLabel}" onclick="moveAllOptions(document.getElementById('${parameters.doubleId?html}'), document.getElementById('${parameters.id?html}'), false, '${parameters.doubleHeaderKey}', '');<#if parameters.addAllToLeftOnclick?has_content>${parameters.addAllToLeftOnclick};</#if>" /><br /><br />
<#else><#t/>
<input type="button"
<#if parameters.buttonCssClass?exists><#t/>
@@ -97,7 +89,7 @@
<#if parameters.buttonCssStyle?exists><#t/>
style="${parameters.buttonCssStyle?html}"
</#if><#t/>
value="${addAllToLeftLabel}" onclick="moveAllOptions(document.getElementById('${parameters.doubleId?html}'), document.getElementById('${parameters.id?html}'), false, '')" /><br /><br />
value="${addAllToLeftLabel}" onclick="moveAllOptions(document.getElementById('${parameters.doubleId?html}'), document.getElementById('${parameters.id?html}'), false, '');<#if parameters.addAllToLeftOnclick?has_content>${parameters.addAllToLeftOnclick};</#if>" /><br /><br />
</#if><#t/>
</#if><#t/>
<#if parameters.allowAddAllToRight?default(true)><#t/>
@@ -110,7 +102,7 @@
<#if parameters.buttonCssStyle?exists><#t/>
style="${parameters.buttonCssStyle?html}"
</#if><#t/>
value="${addAllToRightLabel}" onclick="moveAllOptions(document.getElementById('${parameters.id?html}'), document.getElementById('${parameters.doubleId?html}'), false, '${parameters.headerKey}', '')" /><br /><br />
value="${addAllToRightLabel}" onclick="moveAllOptions(document.getElementById('${parameters.id?html}'), document.getElementById('${parameters.doubleId?html}'), false, '${parameters.headerKey}', '');<#if parameters.addAllToRightOnclick?has_content>${parameters.addAllToRightOnclick};</#if>" /><br /><br />
<#else><#t/>
<input type="button"
<#if parameters.buttonCssClass?exists><#t/>
@@ -119,7 +111,7 @@
<#if parameters.buttonCssStyle?exists><#t/>
style="${parameters.buttonCssStyle?html}"
</#if><#t/>
value="${addAllToRightLabel}" onclick="moveAllOptions(document.getElementById('${parameters.id?html}'), document.getElementById('${parameters.doubleId?html}'), false, '')" /><br /><br />
value="${addAllToRightLabel}" onclick="moveAllOptions(document.getElementById('${parameters.id?html}'), document.getElementById('${parameters.doubleId?html}'), false, '');<#if parameters.addAllToRightOnclick?has_content>${parameters.addAllToRightOnclick};</#if>" /><br /><br />
</#if><#t/>
</#if><#t/>
<#if parameters.allowSelectAll?default(true)><#t/>
@@ -132,7 +124,7 @@
<#if parameters.buttonCssStyle?exists><#t/>
style="${parameters.buttonCssStyle?html}"
</#if><#t/>
value="${selectAllLabel}" onclick="selectAllOptionsExceptSome(document.getElementById('${parameters.id?html}'), 'key', '${parameters.headerKey}');selectAllOptionsExceptSome(document.getElementById('${parameters.doubleId?html}'), 'key', '${parameters.doubleHeaderKey}');" /><br /><br />
value="${selectAllLabel}" onclick="selectAllOptionsExceptSome(document.getElementById('${parameters.id?html}'), 'key', '${parameters.headerKey}');selectAllOptionsExceptSome(document.getElementById('${parameters.doubleId?html}'), 'key', '${parameters.doubleHeaderKey}');<#if parameters.selectAllOnclick?has_content>${parameters.selectAllOnclick};</#if>" /><br /><br />
<#elseif parameters.headerKey?exists><#t/>
<input type="button"
<#if parameters.buttonCssClass?exists><#t/>
@@ -141,7 +133,7 @@
<#if parameters.buttonCssStyle?exists><#t/>
style="${parameters.buttonCssStyle?html}"
</#if><#t/>
value="${selectAllLabel}" onclick="selectAllOptionsExceptSome(document.getElementById('${parameters.id?html}'), 'key', '${parameters.headerKey}');selectAllOptions(document.getElementById('${parameters.doubleId?html}'));" /><br /><br />
value="${selectAllLabel}" onclick="selectAllOptionsExceptSome(document.getElementById('${parameters.id?html}'), 'key', '${parameters.headerKey}');selectAllOptions(document.getElementById('${parameters.doubleId?html}'));<#if parameters.selectAllOnclick?has_content>${parameters.selectAllOnclick};</#if>" /><br /><br />
<#elseif parameters.doubleHeaderKey?exists><#t/>
<input type="button"
<#if parameters.buttonCssClass?exists><#t/>
@@ -150,7 +142,7 @@
<#if parameters.buttonCssStyle?exists><#t/>
style="${parameters.buttonCssStyle?html}"
</#if><#t/>
value="${selectAllLabel}" onclick="selectAllOptions(document.getElementById('${parameters.id?html}'));selectAllOptionsExceptSome(document.getElementById('${parameters.doubleId?html}'), 'key', '${parameters.doubleHeaderKey}');" /><br /><br />
value="${selectAllLabel}" onclick="selectAllOptions(document.getElementById('${parameters.id?html}'));selectAllOptionsExceptSome(document.getElementById('${parameters.doubleId?html}'), 'key', '${parameters.doubleHeaderKey}');<#if parameters.selectAllOnclick?has_content>${parameters.selectAllOnclick};</#if>" /><br /><br />
<#else><#t/>
<input type="button"
<#if parameters.buttonCssClass?exists><#t/>
@@ -159,7 +151,7 @@
<#if parameters.buttonCssStyle?exists><#t/>
style="${parameters.buttonCssStyle?html}"
</#if><#t/>
value="${selectAllLabel}" onclick="selectAllOptions(document.getElementById('${parameters.id?html}'));selectAllOptions(document.getElementById('${parameters.doubleId?html}'));" /><br /><br />
value="${selectAllLabel}" onclick="selectAllOptions(document.getElementById('${parameters.id?html}'));selectAllOptions(document.getElementById('${parameters.doubleId?html}'));<#if parameters.selectAllOnclick?has_content>${parameters.selectAllOnclick};</#if>" /><br /><br />
</#if><#t/>
</#if><#t/>
</td>
@@ -260,21 +252,13 @@
</select>
<#if parameters.allowUpDownOnRight?default(true)>
<input type="button"
<#if parameters.doubleHeaderKey?exists>
onclick="moveOptionDown(document.getElementById('${parameters.doubleId}'), 'key', '${parameters.doubleHeaderKey}');"
<#else>
onclick="moveOptionDown(document.getElementById('${parameters.doubleId}'), 'key', '');"
</#if>
onclick="moveOptionDown(document.getElementById('${parameters.doubleId}'), 'key', <#if parameters.doubleHeaderKey?exists>'${parameters.doubleHeaderKey}'<#else>''</#if>);<#if parameters.upDownOnRightOnclick?has_content>${parameters.upDownOnRightOnclick};</#if>"
<#if parameters.rightDownLabel?exists>
value="${parameters.rightDownLabel?html}"
</#if>
/>
<input type="button"
<#if parameters.doubleHeaderKey?exists>
onclick="moveOptionUp(document.getElementById('${parameters.doubleId}'), 'key', '${parameters.doubleHeaderKey}');"
<#else>
onclick="moveOptionUp(document.getElementById('${parameters.doubleId}'), 'key', '');"
</#if>
onclick="moveOptionUp(document.getElementById('${parameters.doubleId}'), 'key', <#if parameters.doubleHeaderKey?exists>'${parameters.doubleHeaderKey}'<#else>''</#if>);<#if parameters.upDownOnRightOnclick?has_content>${parameters.upDownOnRightOnclick};</#if>"
<#if parameters.rightUpLabel?exists>
value="${parameters.rightUpLabel?html}"
</#if>
@@ -43,6 +43,14 @@ Please do not edit it directly.
<td align="left" valign="top">String</td>
<td align="left" valign="top">Set Add To Left button label</td>
</tr>
<tr>
<td align="left" valign="top">addAllToLeftOnclick</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">Javascript to run after Add All To Left button pressed</td>
</tr>
<tr>
<td align="left" valign="top">addAllToRightLabel</td>
<td align="left" valign="top">false</td>
@@ -51,6 +59,14 @@ Please do not edit it directly.
<td align="left" valign="top">String</td>
<td align="left" valign="top">Set Add All To Right button label</td>
</tr>
<tr>
<td align="left" valign="top">addAllToRightOnclick</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">Javascript to run after Add All To Right button pressed</td>
</tr>
<tr>
<td align="left" valign="top">addToLeftLabel</td>
<td align="left" valign="top">false</td>
@@ -59,6 +75,14 @@ Please do not edit it directly.
<td align="left" valign="top">String</td>
<td align="left" valign="top">Set Add To Left button label</td>
</tr>
<tr>
<td align="left" valign="top">addToLeftOnclick</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">Javascript to run after Add To Left button pressed</td>
</tr>
<tr>
<td align="left" valign="top">addToRightLabel</td>
<td align="left" valign="top">false</td>
@@ -67,6 +91,14 @@ Please do not edit it directly.
<td align="left" valign="top">String</td>
<td align="left" valign="top">Set Add To Right button label</td>
</tr>
<tr>
<td align="left" valign="top">addToRightOnclick</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">Javascript to run after Add To Right button pressed</td>
</tr>
<tr>
<td align="left" valign="top">allowAddAllToLeft</td>
<td align="left" valign="top">false</td>
@@ -683,6 +715,14 @@ Please do not edit it directly.
<td align="left" valign="top">String</td>
<td align="left" valign="top">Set Select All button label</td>
</tr>
<tr>
<td align="left" valign="top">selectAllOnclick</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">Javascript to run after Select All button pressed</td>
</tr>
<tr>
<td align="left" valign="top">size</td>
<td align="left" valign="top">false</td>
@@ -747,6 +787,22 @@ Please do not edit it directly.
<td align="left" valign="top">String</td>
<td align="left" valign="top">Set the tooltip configuration</td>
</tr>
<tr>
<td align="left" valign="top">upDownOnLeftOnclick</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">Javascript to run after up / down on the left side buttons pressed</td>
</tr>
<tr>
<td align="left" valign="top">upDownOnRightOnclick</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">Javascript to run after up / down on the right side buttons pressed</td>
</tr>
<tr>
<td align="left" valign="top">value</td>
<td align="left" valign="top">false</td>
@@ -516,6 +516,9 @@ public class OptionTransferSelectTagTest extends AbstractUITagTest {
tag.setDoubleHeaderKey("Double Header Key");
tag.setDoubleHeaderValue("Double Header Value");
tag.setAddToLeftOnclick("alert('Moving Left')");
tag.setAddToRightOnclick("alert('Moving Right')");
tag.doStartTag();
tag.doEndTag();
@@ -17,13 +17,13 @@
</td>
<td valign="middle" align="center">
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="Left" onclick="moveSelectedOptions(document.getElementById('doubleId'), document.getElementById('id'), false, 'Double Header Key', '')" /><br/><br/>
value="Left" onclick="moveSelectedOptions(document.getElementById('doubleId'), document.getElementById('id'), false, 'Double Header Key', '');" /><br/><br/>
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="Right" onclick="moveSelectedOptions(document.getElementById('id'), document.getElementById('doubleId'), false, 'Header Key', '')" /><br/><br/>
value="Right" onclick="moveSelectedOptions(document.getElementById('id'), document.getElementById('doubleId'), false, 'Header Key', '');" /><br/><br/>
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="All Left" onclick="moveAllOptions(document.getElementById('doubleId'), document.getElementById('id'), false, 'Double Header Key', '')" /><br/><br/>
value="All Left" onclick="moveAllOptions(document.getElementById('doubleId'), document.getElementById('id'), false, 'Double Header Key', '');" /><br/><br/>
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="All Right" onclick="moveAllOptions(document.getElementById('id'), document.getElementById('doubleId'), false, 'Header Key', '')" /><br/><br/>
value="All Right" onclick="moveAllOptions(document.getElementById('id'), document.getElementById('doubleId'), false, 'Header Key', '');" /><br/><br/>
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="Select All" onclick="selectAllOptionsExceptSome(document.getElementById('id'), 'key', 'Header Key');selectAllOptionsExceptSome(document.getElementById('doubleId'), 'key', 'Double Header Key');" /><br/><br/>
</td>
@@ -18,13 +18,13 @@
</td>
<td valign="middle" align="center">
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="Left" onclick="moveSelectedOptions(document.getElementById('doubleId'), document.getElementById('id'), false, 'Double Header Key', '')" /><br/><br/>
value="Left" onclick="moveSelectedOptions(document.getElementById('doubleId'), document.getElementById('id'), false, 'Double Header Key', '');" /><br/><br/>
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="Right" onclick="moveSelectedOptions(document.getElementById('id'), document.getElementById('doubleId'), false, 'Header Key', '')" /><br/><br/>
value="Right" onclick="moveSelectedOptions(document.getElementById('id'), document.getElementById('doubleId'), false, 'Header Key', '');" /><br/><br/>
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="All Left" onclick="moveAllOptions(document.getElementById('doubleId'), document.getElementById('id'), false, 'Double Header Key', '')" /><br/><br/>
value="All Left" onclick="moveAllOptions(document.getElementById('doubleId'), document.getElementById('id'), false, 'Double Header Key', '');" /><br/><br/>
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="All Right" onclick="moveAllOptions(document.getElementById('id'), document.getElementById('doubleId'), false, 'Header Key', '')" /><br/><br/>
value="All Right" onclick="moveAllOptions(document.getElementById('id'), document.getElementById('doubleId'), false, 'Header Key', '');" /><br/><br/>
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="Select All" onclick="selectAllOptionsExceptSome(document.getElementById('id'), 'key', 'Header Key');selectAllOptionsExceptSome(document.getElementById('doubleId'), 'key', 'Double Header Key');" /><br/><br/>
</td> <td>
@@ -17,13 +17,13 @@
</td>
<td valign="middle" align="center">
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="Left" onclick="moveSelectedOptions(document.getElementById('doubleId'), document.getElementById('id'), false, '')" /><br/><br/>
value="Left" onclick="moveSelectedOptions(document.getElementById('doubleId'), document.getElementById('id'), false, '');" /><br/><br/>
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="Right" onclick="moveSelectedOptions(document.getElementById('id'), document.getElementById('doubleId'), false, '')" /><br/><br/>
value="Right" onclick="moveSelectedOptions(document.getElementById('id'), document.getElementById('doubleId'), false, '');" /><br/><br/>
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="All Left" onclick="moveAllOptions(document.getElementById('doubleId'), document.getElementById('id'), false, '')" /><br/><br/>
value="All Left" onclick="moveAllOptions(document.getElementById('doubleId'), document.getElementById('id'), false, '');" /><br/><br/>
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="All Right" onclick="moveAllOptions(document.getElementById('id'), document.getElementById('doubleId'), false, '')" /><br/><br/>
value="All Right" onclick="moveAllOptions(document.getElementById('id'), document.getElementById('doubleId'), false, '');" /><br/><br/>
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="Select All" onclick="selectAllOptions(document.getElementById('id'));selectAllOptions(document.getElementById('doubleId'));" /><br/><br/>
</td>
@@ -18,13 +18,13 @@
</td>
<td valign="middle" align="center">
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="Left" onclick="moveSelectedOptions(document.getElementById('doubleId'), document.getElementById('id'), false, '')" /><br/><br/>
value="Left" onclick="moveSelectedOptions(document.getElementById('doubleId'), document.getElementById('id'), false, '');" /><br/><br/>
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="Right" onclick="moveSelectedOptions(document.getElementById('id'), document.getElementById('doubleId'), false, 'Header Key', '')" /><br/><br/>
value="Right" onclick="moveSelectedOptions(document.getElementById('id'), document.getElementById('doubleId'), false, 'Header Key', '');" /><br/><br/>
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="All Left" onclick="moveAllOptions(document.getElementById('doubleId'), document.getElementById('id'), false, '')" /><br/><br/>
value="All Left" onclick="moveAllOptions(document.getElementById('doubleId'), document.getElementById('id'), false, '');" /><br/><br/>
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="All Right" onclick="moveAllOptions(document.getElementById('id'), document.getElementById('doubleId'), false, 'Header Key', '')" /><br/><br/>
value="All Right" onclick="moveAllOptions(document.getElementById('id'), document.getElementById('doubleId'), false, 'Header Key', '');" /><br/><br/>
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="Select All" onclick="selectAllOptionsExceptSome(document.getElementById('id'), 'key', 'Header Key');selectAllOptions(document.getElementById('doubleId'));" /><br/><br/>
</td>
@@ -17,13 +17,13 @@
</td>
<td valign="middle" align="center">
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="Left" onclick="moveSelectedOptions(document.getElementById('doubleId'), document.getElementById('id'), false, 'Double Header Key', '')" /><br/><br/>
value="Left" onclick="moveSelectedOptions(document.getElementById('doubleId'), document.getElementById('id'), false, 'Double Header Key', '');" /><br/><br/>
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="Right" onclick="moveSelectedOptions(document.getElementById('id'), document.getElementById('doubleId'), false, 'Header Key', '')" /><br/><br/>
value="Right" onclick="moveSelectedOptions(document.getElementById('id'), document.getElementById('doubleId'), false, 'Header Key', '');" /><br/><br/>
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="All Left" onclick="moveAllOptions(document.getElementById('doubleId'), document.getElementById('id'), false, 'Double Header Key', '')" /><br/><br/>
value="All Left" onclick="moveAllOptions(document.getElementById('doubleId'), document.getElementById('id'), false, 'Double Header Key', '');" /><br/><br/>
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="All Right" onclick="moveAllOptions(document.getElementById('id'), document.getElementById('doubleId'), false, 'Header Key', '')" /><br/><br/>
value="All Right" onclick="moveAllOptions(document.getElementById('id'), document.getElementById('doubleId'), false, 'Header Key', '');" /><br/><br/>
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="Select All" onclick="selectAllOptionsExceptSome(document.getElementById('id'), 'key', 'Header Key');selectAllOptionsExceptSome(document.getElementById('doubleId'), 'key', 'Double Header Key');" /><br/><br/>
</td>
@@ -18,13 +18,13 @@
</td>
<td valign="middle" align="center">
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="Left" onclick="moveSelectedOptions(document.getElementById('doubleId'), document.getElementById('id'), false, 'Double Header Key', '')" /><br/><br/>
value="Left" onclick="moveSelectedOptions(document.getElementById('doubleId'), document.getElementById('id'), false, 'Double Header Key', '');" /><br/><br/>
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="Right" onclick="moveSelectedOptions(document.getElementById('id'), document.getElementById('doubleId'), false, 'Header Key', '')" /><br/><br/>
value="Right" onclick="moveSelectedOptions(document.getElementById('id'), document.getElementById('doubleId'), false, 'Header Key', '');" /><br/><br/>
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="All Left" onclick="moveAllOptions(document.getElementById('doubleId'), document.getElementById('id'), false, 'Double Header Key', '')" /><br/><br/>
value="All Left" onclick="moveAllOptions(document.getElementById('doubleId'), document.getElementById('id'), false, 'Double Header Key', '');" /><br/><br/>
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="All Right" onclick="moveAllOptions(document.getElementById('id'), document.getElementById('doubleId'), false, 'Header Key', '')" /><br/><br/>
value="All Right" onclick="moveAllOptions(document.getElementById('id'), document.getElementById('doubleId'), false, 'Header Key', '');" /><br/><br/>
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="Select All" onclick="selectAllOptionsExceptSome(document.getElementById('id'), 'key', 'Header Key');selectAllOptionsExceptSome(document.getElementById('doubleId'), 'key', 'Double Header Key');" /><br/><br/>
</td>
@@ -18,9 +18,9 @@
</td>
<td valign="middle" align="center">
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="Left" onclick="moveSelectedOptions(document.getElementById('doubleId'), document.getElementById('id'), false, 'Double Header Key', '')" /><br/><br/>
value="Left" onclick="moveSelectedOptions(document.getElementById('doubleId'), document.getElementById('id'), false, 'Double Header Key', '');alert('Moving Left');" /><br/><br/>
<input type="button" class="buttonCssClass" style="buttonCssStyle"
value="Right" onclick="moveSelectedOptions(document.getElementById('id'), document.getElementById('doubleId'), false, 'Header Key', '')" /><br/><br/>
value="Right" onclick="moveSelectedOptions(document.getElementById('id'), document.getElementById('doubleId'), false, 'Header Key', '');alert('Moving Right');" /><br/><br/>
</td>
<td>
<label for="rightTitle">Title Right</label><br/>