ICEfaces
  1. ICEfaces
  2. ICE-7153

Message: Object required from icefaces-compat.js

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-2.0.0.GA, 2.0.2
    • Fix Version/s: 2.1-Beta, EE-2.0.0.GA_P01
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      IE7, IE8, IE9
    • Assignee Priority:
      P2

      Description

      The sample application has it´s own message handling implementation which provides a correlation between the user interface and data transfer objects. It uses composite components to detect validation errors and then display them on the offending component using a panelToolTip. This works when outside of an ice:dataTable but not within and a javascript error is thrown. For example:

      <cc:validationGroup>
      <ice:dataTable>
          <ice:column>
      <f:facet name="header">
      <ice:outputText id="column3" value="#{msgs_validation.city}" />
      </f:facet>
      <cc:tooltip for="city">
      <ice:inputText id="city" value="#{partner.city}" valueChangeListener="#{validationCtrl.removeCurrentMessage}" onkeyup="iceSubmitPartial(form,this,event);"/>
      </cc:tooltip>
         </ice:column>
      </ice:dataTable>
      </cc:validationGroup>

      This works in FF and but not in versions of IE. In IE7/8, the offending field is highlighted in yellow but the tool tip is not displayed and following javascript error is thrown:

      Message: Object required
      Line: 1
      Char: 77237
      Code: 0
      URI: http://localhost:8280/riweb-presentation/javax.faces.resource/icefaces-compat.js.xhtml;jsessionid=F8670CC02B5CE698C8B8C0BB6AD4E0F5

      In IE9, the validation error does not even occur in order to reproduce the issue and the following javascript error is thrown:

      SCRIPT5007: Unable to get value of the property 'parentNode': object is null or undefined 
icefaces-compat.js.xhtml, line 1 character 77237

      Both errors correspond to the following code in icefaces-compat.js:

      if(element.parentNode){do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;}while(element);}return new Element.Offset(valueL,valueT);}
      1. IE7-8_JS_ERROR.rtf
        6 kB
        Tyler Johnson
      2. IE9_JS_ERROR.rtf
        6 kB
        Tyler Johnson

        Activity

        Tyler Johnson created issue -
        Tyler Johnson made changes -
        Field Original Value New Value
        Attachment IE7-8_JS_ERROR.rtf [ 13462 ]
        Tyler Johnson made changes -
        Attachment IE9_JS_ERROR.rtf [ 13463 ]
        Tyler Johnson made changes -
        Salesforce Case [5007000000Hz4WB]
        Affects Version/s 2.0.2 [ 10273 ]
        Ken Fyten made changes -
        Fix Version/s EE-2.0.0.GA_P01 [ 10271 ]
        Fix Version/s 2.1 [ 10241 ]
        Assignee Priority P2
        Assignee Mircea Toma [ mircea.toma ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #25346 Tue Aug 30 08:02:47 MDT 2011 mircea.toma ICE-7153 Test for the existence of the tooltip element before hiding it.
        Files Changed
        Commit graph MODIFY /icefaces2/trunk/icefaces/compat/core/src/main/javascript/extras/extras.js
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #25347 Tue Aug 30 08:12:29 MDT 2011 mircea.toma ICE-7153 Test for the existence of the tooltip element before hiding it.
        Files Changed
        Commit graph MODIFY /icefaces2/branches/icefaces-2.0.x-maintenance/icefaces/compat/core/src/main/javascript/extras/extras.js
        Hide
        Mircea Toma added a comment -

        The JS error is triggered when the 'onmouseout' callback is executed after the DOM update received erased the tooltip element from the document.

        The fix changed the callback to test for the existence of the tooltip before hiding the tooltip element on mouse out.

        Show
        Mircea Toma added a comment - The JS error is triggered when the 'onmouseout' callback is executed after the DOM update received erased the tooltip element from the document. The fix changed the callback to test for the existence of the tooltip before hiding the tooltip element on mouse out.
        Mircea Toma made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Fix Version/s 2.1-Beta [ 10291 ]
        Fix Version/s 2.1 [ 10241 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Tyler Johnson
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: