Author: jholmes
Date: Sat Jul 21 21:13:50 2007
New Revision: 558459

URL: http://svn.apache.org/viewvc?view=rev&rev=558459
Log:
WW-2051 add additional javascript hooks for optiontransferselect

Modified:
    
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/OptionTransferSelect.java
    
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/OptionTransferSelectTag.java
    
struts/struts2/trunk/core/src/main/resources/template/simple/optiontransferselect.ftl
    struts/struts2/trunk/core/src/site/resources/tags/optiontransferselect.html
    
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/OptionTransferSelectTagTest.java
    
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-1.txt
    
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-2.txt
    
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-3.txt
    
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-4.txt
    
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-5.txt
    
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-6.txt
    
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-7.txt

Modified: 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/OptionTransferSelect.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/OptionTransferSelect.java?view=diff&rev=558459&r1=558458&r2=558459
==============================================================================
--- 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/OptionTransferSelect.java
 (original)
+++ 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/OptionTransferSelect.java
 Sat Jul 21 21:13:50 2007
@@ -123,6 +123,14 @@
     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,35 @@
                 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 +513,67 @@
         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;
+    }
 
 }

Modified: 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/OptionTransferSelectTag.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/OptionTransferSelectTag.java?view=diff&rev=558459&r1=558458&r2=558459
==============================================================================
--- 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/OptionTransferSelectTag.java
 (original)
+++ 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/jsp/ui/OptionTransferSelectTag.java
 Sat Jul 21 21:13:50 2007
@@ -59,6 +59,14 @@
     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 +99,14 @@
 
         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);
     }
 
 
@@ -271,5 +287,61 @@
 
     public String getButtonCssStyle() {
         return this.buttonCssStyle;
+    }
+
+    public String getAddAllToLeftOnclick() {
+        return addAllToLeftOnclick;
+    }
+
+    public void setAddAllToLeftOnclick(String addAllToLeftOnclick) {
+        this.addAllToLeftOnclick = addAllToLeftOnclick;
+    }
+
+    public String getAddAllToRightOnclick() {
+        return addAllToRightOnclick;
+    }
+
+    public void setAddAllToRightOnclick(String addAllToRightOnclick) {
+        this.addAllToRightOnclick = addAllToRightOnclick;
+    }
+
+    public String getAddToLeftOnclick() {
+        return addToLeftOnclick;
+    }
+
+    public void setAddToLeftOnclick(String addToLeftOnclick) {
+        this.addToLeftOnclick = addToLeftOnclick;
+    }
+
+    public String getAddToRightOnclick() {
+        return addToRightOnclick;
+    }
+
+    public void setAddToRightOnclick(String addToRightOnclick) {
+        this.addToRightOnclick = addToRightOnclick;
+    }
+
+    public String getUpDownOnLeftOnclick() {
+        return upDownOnLeftOnclick;
+    }
+
+    public void setUpDownOnLeftOnclick(String upDownOnLeftOnclick) {
+        this.upDownOnLeftOnclick = upDownOnLeftOnclick;
+    }
+
+    public String getUpDownOnRightOnclick() {
+        return upDownOnRightOnclick;
+    }
+
+    public void setUpDownOnRightOnclick(String upDownOnRightOnclick) {
+        this.upDownOnRightOnclick = upDownOnRightOnclick;
+    }
+
+    public void setSelectAllOnclick(String selectAllOnclick) {
+        this.selectAllOnclick = selectAllOnclick;
+    }
+
+    public String getSelectAllOnclick() {
+        return this.selectAllOnclick;
     }
 }

Modified: 
struts/struts2/trunk/core/src/main/resources/template/simple/optiontransferselect.ftl
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/resources/template/simple/optiontransferselect.ftl?view=diff&rev=558459&r1=558458&r2=558459
==============================================================================
--- 
struts/struts2/trunk/core/src/main/resources/template/simple/optiontransferselect.ftl
 (original)
+++ 
struts/struts2/trunk/core/src/main/resources/template/simple/optiontransferselect.ftl
 Sat Jul 21 21:13:50 2007
@@ -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>

Modified: 
struts/struts2/trunk/core/src/site/resources/tags/optiontransferselect.html
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/site/resources/tags/optiontransferselect.html?view=diff&rev=558459&r1=558458&r2=558459
==============================================================================
--- struts/struts2/trunk/core/src/site/resources/tags/optiontransferselect.html 
(original)
+++ struts/struts2/trunk/core/src/site/resources/tags/optiontransferselect.html 
Sat Jul 21 21:13:50 2007
@@ -44,6 +44,14 @@
                                        <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>
                                        <td align="left" valign="top"></td>
@@ -52,6 +60,14 @@
                                        <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>
                                        <td align="left" valign="top"></td>
@@ -60,6 +76,14 @@
                                        <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>
                                        <td align="left" valign="top"></td>
@@ -68,6 +92,14 @@
                                        <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>
                                        <td align="left" valign="top"></td>
@@ -700,6 +732,14 @@
                                        <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>
                                        <td align="left" valign="top"></td>
@@ -786,6 +826,22 @@
                                        <td align="left" valign="top">true</td>
                                        <td align="left" 
valign="top">String</td>
                                        <td align="left" valign="top">Icon path 
used for image that will have the tooltip</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>

Modified: 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/OptionTransferSelectTagTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/OptionTransferSelectTagTest.java?view=diff&rev=558459&r1=558458&r2=558459
==============================================================================
--- 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/OptionTransferSelectTagTest.java
 (original)
+++ 
struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/ui/OptionTransferSelectTagTest.java
 Sat Jul 21 21:13:50 2007
@@ -516,6 +516,9 @@
         tag.setDoubleHeaderKey("Double Header Key");
         tag.setDoubleHeaderValue("Double Header Value");
 
+        tag.setAddToLeftOnclick("alert('Moving Left')");
+        tag.setAddToRightOnclick("alert('Moving Right')");
+
         tag.doStartTag();
         tag.doEndTag();
 

Modified: 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-1.txt
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-1.txt?view=diff&rev=558459&r1=558458&r2=558459
==============================================================================
--- 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-1.txt
 (original)
+++ 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-1.txt
 Sat Jul 21 21:13:50 2007
@@ -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> 

Modified: 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-2.txt
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-2.txt?view=diff&rev=558459&r1=558458&r2=558459
==============================================================================
--- 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-2.txt
 (original)
+++ 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-2.txt
 Sat Jul 21 21:13:50 2007
@@ -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>

Modified: 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-3.txt
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-3.txt?view=diff&rev=558459&r1=558458&r2=558459
==============================================================================
--- 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-3.txt
 (original)
+++ 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-3.txt
 Sat Jul 21 21:13:50 2007
@@ -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>

Modified: 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-4.txt
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-4.txt?view=diff&rev=558459&r1=558458&r2=558459
==============================================================================
--- 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-4.txt
 (original)
+++ 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-4.txt
 Sat Jul 21 21:13:50 2007
@@ -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>

Modified: 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-5.txt
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-5.txt?view=diff&rev=558459&r1=558458&r2=558459
==============================================================================
--- 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-5.txt
 (original)
+++ 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-5.txt
 Sat Jul 21 21:13:50 2007
@@ -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>

Modified: 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-6.txt
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-6.txt?view=diff&rev=558459&r1=558458&r2=558459
==============================================================================
--- 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-6.txt
 (original)
+++ 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-6.txt
 Sat Jul 21 21:13:50 2007
@@ -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>

Modified: 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-7.txt
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-7.txt?view=diff&rev=558459&r1=558458&r2=558459
==============================================================================
--- 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-7.txt
 (original)
+++ 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/jsp/ui/optiontransferselect-7.txt
 Sat Jul 21 21:13:50 2007
@@ -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/>


Reply via email to