ICEfaces
  1. ICEfaces
  2. ICE-8792

Source element is undefined, cannot determine if this view is ICEfaces enabled.

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.2
    • Fix Version/s: EE-3.2.0.BETA, EE-3.2.0.GA, 3.3
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      ICEfaces, ICEmobile

      Description


      The JavaScript log will show

      Source element is
            undefined, cannot determine if this view is ICEfaces enabled.


        Activity

        Hide
        Ted Goddard added a comment - - edited

        This occurs with several ICEmobile components:
        When jsf.ajax.response is invoked, it converts sourceid into
        an element:
        // ensure context source is the dom element and not the ID
        // per 14.4.1 of the 2.0 specification. We're doing it here
        // before any errors or events are propagated becasue the
        // DOM element may be removed after the update has been processed.
        if (typeof context.sourceid === 'string')

        { context.sourceid = document.getElementById(context.sourceid); }

        Then the page is updated by JSF.
        Then the ICEfaces bridge tries to walk up the ancestors to
        determine if the source was an ICEfaces component (to know
        whether to invoke our event listeners). In some
        cases, the page update will stomp on the source element itself,
        disconnecting it from the browser DOM. This causes the ancestor
        ascend to bail out too early.

        Show
        Ted Goddard added a comment - - edited This occurs with several ICEmobile components: When jsf.ajax.response is invoked, it converts sourceid into an element: // ensure context source is the dom element and not the ID // per 14.4.1 of the 2.0 specification. We're doing it here // before any errors or events are propagated becasue the // DOM element may be removed after the update has been processed. if (typeof context.sourceid === 'string') { context.sourceid = document.getElementById(context.sourceid); } Then the page is updated by JSF. Then the ICEfaces bridge tries to walk up the ancestors to determine if the source was an ICEfaces component (to know whether to invoke our event listeners). In some cases, the page update will stomp on the source element itself, disconnecting it from the browser DOM. This causes the ancestor ascend to bail out too early.
        Hide
        Ted Goddard added a comment - - edited

        Assignee: (was: Ted Goddard)
        Resolution: Fixed

        Show
        Ted Goddard added a comment - - edited Assignee: (was: Ted Goddard) Resolution: Fixed

          People

          • Assignee:
            Ted Goddard
            Reporter:
            Ted Goddard
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: