You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Daniel Müller (JIRA)" <ji...@apache.org> on 2012/06/15 10:59:42 UTC

[jira] [Updated] (WW-3842) The OptionTransferSelect tag doesn't recognize the attribute doubleOnmouseup and doubleOnmouseover

     [ https://issues.apache.org/jira/browse/WW-3842?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Müller updated WW-3842:
------------------------------

    Description: 
When I use to set the attribute "doubleOnmouseover" to the optiontransferselect tag, the generated html code doesn't include the "onmouseover" attribute for the second (or right) select box.

For example:

<s:optiontransferselect 
    id="language_left" 
    name="language.blackList" 
    list="language.blackList" 
    listValue="productDetails[top].name" size="20"
    doubleId="language_right" 
    doubleName="language.whiteList" 
    doubleList="language.whiteList"
    doubleListValue="productDetails[top].name" 
    doubleSize="20"
    formName="languageForm" 
    allowSelectAll="false" 
    allowUpDownOnLeft="false" 
    allowUpDownOnRight="false"
    addToLeftLabel="%{getText('optiontransferselect.addToLeft')}"
    addAllToLeftLabel="%{getText('optiontransferselect.addAllToLeft')}" 
    addToRightLabel="%{getText('optiontransferselect.addToRight')}"
    addAllToRightLabel="%{getText('optiontransferselect.addAllToRight')}"
    leftTitle="%{getText('optiontransferselect.products.all')}"
    rightTitle="%{getText('optiontransferselect.products.selected')}"
    onmouseover="showTooltip('language_left', event.target.value)"
    doubleOnmouseover="showTooltip('language_right', event.target.value)" />

...will be transformed into:

<script src="/BackOffice/struts/optiontransferselect.js" type="text/javascript"></script>
<table border="0">
  <tbody>
    <tr>
      <td>
        <select 
            onmouseover="showTooltip('language_left', event.target.value)"
            multiple="multiple"
            id="language_left"
            size="20"
            name="language.blackList">
          <option selected="selected" value="1962">F-Kachel</option>
          <%-- further options have been removed due to readability --%>
        </select>
        <input type="hidden" value="" name="__multiselect_language.blackList" id="__multiselect_language_left">
      </td>
      <td valign="middle" align="center">
        <%-- buttons have been removed due to readability --%>
      </td>
      <td>
	<select 
            id="language_right"
            multiple="multiple"
            size="20"
            name="language.whiteList">
          <option selected="selected" value="1590">kms100</option>
          <%-- further options have been removed due to readability --%>
        </select>
        <input type="hidden" value="" name="__multiselect_language.whiteList" id="__multiselect_language_right">
      </td>
    </tr>
  </tbody>
</table>

As you can see, the second select tag is missing the "onmouseover" attribute, while the first select tag correctly contains it's "onmouseover" attribute.

I could also find out, why this is happening: the freemarker template optiontransferselect.ftl contains 2 errors. The first is the one, that is described above, which is related to the fact that the following lines of codes are missing:

<#if parameters.doubleOnmouseover??><#t/>
onmouseover="${parameters.doubleOnmouseover?html}"
</#if><#t/>

The second error that I've found is that at line 217 the parameter is misspelled:

217: onmouseup="${parameters.doubleMnmouseup?html}"

...should be...

217: onmouseup="${parameters.doubleOnmouseup?html}"

After I changed these lines, the OptionTransferSelect tag worked properly.

I hope, that I could help you with this bug report.
Kind regards, Daniel

  was:
When I use to set the attribute "doubleOnmouseover" to the optiontransferselect tag, the generated html code doesn't include the "onmouseover" attribute for the second (or right) select box.

For example:

<s:optiontransferselect 
    id="language_left" 
    name="language.blackList" 
    list="language.blackList" 
    listValue="productDetails[top].name" size="20"
    doubleId="language_right" 
    doubleName="language.whiteList" 
    doubleList="language.whiteList"
    doubleListValue="productDetails[top].name" 
    doubleSize="20"
    formName="languageForm" 
    allowSelectAll="false" 
    allowUpDownOnLeft="false" 
    allowUpDownOnRight="false"
    addToLeftLabel="%{getText('optiontransferselect.addToLeft')}"
    addAllToLeftLabel="%{getText('optiontransferselect.addAllToLeft')}" 
    addToRightLabel="%{getText('optiontransferselect.addToRight')}"
    addAllToRightLabel="%{getText('optiontransferselect.addAllToRight')}"
    leftTitle="%{getText('optiontransferselect.products.all')}"
    rightTitle="%{getText('optiontransferselect.products.selected')}"
    onmouseover="showTooltip('language_left', event.target.value)"
    doubleOnmouseover="showTooltip('language_right', event.target.value)" />

...will be transformed into:

<script src="/BackOffice/struts/optiontransferselect.js" type="text/javascript"></script>
<table border="0">
  <tbody>
    <tr>
      <td>
        <select 
            onmouseover="showTooltip('language_left', event.target.value)"
            multiple="multiple"
            id="language_left"
            size="20"
            name="language.blackList">
          <option selected="selected" value="1962">F-Kachel</option>
          <%-- further options have been removed due to readability --%>
        </select>
        <input type="hidden" value="" name="__multiselect_language.blackList" id="__multiselect_language_left">
      </td>
      <td valign="middle" align="center">
        <%-- buttons have been removed due to readability --%>
      </td>
      <td>
	<select 
            id="language_right"
            multiple="multiple"
            size="20"
            name="language.whiteList">
          <option selected="selected" value="1590">kms100</option>
          <%-- further options have been removed due to readability --%>
        </select>
        <input type="hidden" value="" name="__multiselect_language.whiteList" id="__multiselect_language_right">
      </td>
    </tr>
  </tbody>
</table>

As you can the, the second select tag is missing the "onmouseover" attribute, while the first select tag correctly contains it's "onmouseover" attribute.

I could also find out, why this is happening: the freemarker template optiontransferselect.ftl contains 2 errors. The first is the one, that is described above, which is related to the fact that the following lines of codes are missing:

<#if parameters.doubleOnmouseover??><#t/>
onmouseover="${parameters.doubleOnmouseover?html}"
</#if><#t/>

The second error that I've found is that at line 217 the parameter is misspelled:

217: onmouseup="${parameters.doubleMnmouseup?html}"

...should be...

217: onmouseup="${parameters.doubleOnmouseup?html}"

After I changed these lines, the OptionTransferSelect tag worked properly.

I hope, that I could help you with this bug report.
Kind regards, Daniel

    
> The OptionTransferSelect tag doesn't recognize the attribute doubleOnmouseup and doubleOnmouseover
> --------------------------------------------------------------------------------------------------
>
>                 Key: WW-3842
>                 URL: https://issues.apache.org/jira/browse/WW-3842
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Plugin - Tags
>    Affects Versions: 2.3.1.2
>         Environment: Microsoft Windows 7 (32-bit)
> Eclipse Helios
> Java JDK 1.6.0_17
>            Reporter: Daniel Müller
>
> When I use to set the attribute "doubleOnmouseover" to the optiontransferselect tag, the generated html code doesn't include the "onmouseover" attribute for the second (or right) select box.
> For example:
> <s:optiontransferselect 
>     id="language_left" 
>     name="language.blackList" 
>     list="language.blackList" 
>     listValue="productDetails[top].name" size="20"
>     doubleId="language_right" 
>     doubleName="language.whiteList" 
>     doubleList="language.whiteList"
>     doubleListValue="productDetails[top].name" 
>     doubleSize="20"
>     formName="languageForm" 
>     allowSelectAll="false" 
>     allowUpDownOnLeft="false" 
>     allowUpDownOnRight="false"
>     addToLeftLabel="%{getText('optiontransferselect.addToLeft')}"
>     addAllToLeftLabel="%{getText('optiontransferselect.addAllToLeft')}" 
>     addToRightLabel="%{getText('optiontransferselect.addToRight')}"
>     addAllToRightLabel="%{getText('optiontransferselect.addAllToRight')}"
>     leftTitle="%{getText('optiontransferselect.products.all')}"
>     rightTitle="%{getText('optiontransferselect.products.selected')}"
>     onmouseover="showTooltip('language_left', event.target.value)"
>     doubleOnmouseover="showTooltip('language_right', event.target.value)" />
> ...will be transformed into:
> <script src="/BackOffice/struts/optiontransferselect.js" type="text/javascript"></script>
> <table border="0">
>   <tbody>
>     <tr>
>       <td>
>         <select 
>             onmouseover="showTooltip('language_left', event.target.value)"
>             multiple="multiple"
>             id="language_left"
>             size="20"
>             name="language.blackList">
>           <option selected="selected" value="1962">F-Kachel</option>
>           <%-- further options have been removed due to readability --%>
>         </select>
>         <input type="hidden" value="" name="__multiselect_language.blackList" id="__multiselect_language_left">
>       </td>
>       <td valign="middle" align="center">
>         <%-- buttons have been removed due to readability --%>
>       </td>
>       <td>
> 	<select 
>             id="language_right"
>             multiple="multiple"
>             size="20"
>             name="language.whiteList">
>           <option selected="selected" value="1590">kms100</option>
>           <%-- further options have been removed due to readability --%>
>         </select>
>         <input type="hidden" value="" name="__multiselect_language.whiteList" id="__multiselect_language_right">
>       </td>
>     </tr>
>   </tbody>
> </table>
> As you can see, the second select tag is missing the "onmouseover" attribute, while the first select tag correctly contains it's "onmouseover" attribute.
> I could also find out, why this is happening: the freemarker template optiontransferselect.ftl contains 2 errors. The first is the one, that is described above, which is related to the fact that the following lines of codes are missing:
> <#if parameters.doubleOnmouseover??><#t/>
> onmouseover="${parameters.doubleOnmouseover?html}"
> </#if><#t/>
> The second error that I've found is that at line 217 the parameter is misspelled:
> 217: onmouseup="${parameters.doubleMnmouseup?html}"
> ...should be...
> 217: onmouseup="${parameters.doubleOnmouseup?html}"
> After I changed these lines, the OptionTransferSelect tag worked properly.
> I hope, that I could help you with this bug report.
> Kind regards, Daniel

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira