ICEfaces
  1. ICEfaces
  2. ICE-8162

ACE:chart issues with tab sets

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.1.0.BETA1
    • Fix Version/s: 3.1.0.BETA2, 3.1
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      Firefox 12.0, Chrome 19.0, Tomcat 7
    • Assignee Priority:
      P1

      Description

      When placed inside an ACE tabset, ace:chart fails to display. Chart displays fine in ICE tabset.

      When placed inside either an ACE or ICE tabset, attempting to switch the tab away from where the chart is/should be results in an internal server error, forcing a refresh of the page.

      Server Internal Error:
      [window] received error message [code: 200]: <?xml version='1.0' encoding='UTF-8'?> <partial-response><error><error-name>class java.lang.NullPointerException</error-name><error-message><![CDATA[]]></error-message></error><changes><extension aceCallbackParam="validationFailed">{"validationFailed":false}</extension></changes></partial-response>

      The error does not appear in the same tabset code when chart is removed.

      Code that I'm using can be found at http://server.ice:8888/svn/repo/qa/trunk/Regression-Icefaces2/Sparkle/Nightly/chart/

      (ICE tabset issues may or may not be connected with http://jira.icesoft.org/browse/ICE-7250 )

        Activity

        Brennan Mckinney created issue -
        Hide
        Ken Fyten added a comment -

        Let's focus on the ace:tabSet aspect for now. The ice:panelTabSet can be retested once ace is working.

        Show
        Ken Fyten added a comment - Let's focus on the ace:tabSet aspect for now. The ice:panelTabSet can be retested once ace is working.
        Ken Fyten made changes -
        Field Original Value New Value
        Salesforce Case []
        Component/s ACE-Components [ 10050 ]
        Fix Version/s 3.1.0.BETA2 [ 10336 ]
        Fix Version/s 3.1 [ 10312 ]
        Assignee Priority P1
        Affects Version/s 3.1.0.BETA1 [ 10335 ]
        Assignee Nils Lundquist [ nils.lundquist ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #29214 Mon May 28 13:00:47 MDT 2012 nils.lundquist ICE-8162 - Added polling when in hidden cases to complete initialization after being shown.
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/resources/icefaces.ace/chart/chart.js
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/datatable/DataTableMeta.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #29215 Mon May 28 13:01:07 MDT 2012 nils.lundquist ICE-8162 - Added polling when in hidden cases to complete initialization after being shown.
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/chart/ChartMeta.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/chart/ChartRenderer.java
        Hide
        Nils Lundquist added a comment -

        This is caused by the first tab in an ace:tabset being rendered as hidden, and then dynamically toggled to visible by initialization of the tabset.

        Just like the scrollable ace:datatable, the JS required to initialize the component returns incorrect values if run while the component is not visible.

        And just like the scrollable table, the solution here is a callback on component init that polls until the component is visible before following through with init.

        Alternatively the tabset could be redesigned to render the first tab as visible, though this wouldn't solve cases where the chart is hidden in a dialog or when rendered into a cached inactive tab.

        Show
        Nils Lundquist added a comment - This is caused by the first tab in an ace:tabset being rendered as hidden, and then dynamically toggled to visible by initialization of the tabset. Just like the scrollable ace:datatable, the JS required to initialize the component returns incorrect values if run while the component is not visible. And just like the scrollable table, the solution here is a callback on component init that polls until the component is visible before following through with init. Alternatively the tabset could be redesigned to render the first tab as visible, though this wouldn't solve cases where the chart is hidden in a dialog or when rendered into a cached inactive tab.
        Hide
        Nils Lundquist added a comment - - edited

        Revision #29215
        Committed by nils.lundquist
        Moments ago
        ICE-8162 - Added polling when in hidden cases to complete initialization after being shown.

        Beginning investigation into NPE issue on tab change.

        Show
        Nils Lundquist added a comment - - edited Revision #29215 Committed by nils.lundquist Moments ago ICE-8162 - Added polling when in hidden cases to complete initialization after being shown. Beginning investigation into NPE issue on tab change.
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #29218 Mon May 28 15:00:15 MDT 2012 nils.lundquist ICE-8162 - Check for request param before split.
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/chart/ChartRenderer.java
        Hide
        Nils Lundquist added a comment -

        Stack traceless NPE issue caused by inline code to split null string.

        Revision #29218
        Committed by nils.lundquist
        Moments ago
        ICE-8162 - Check for request param before split.

        Show
        Nils Lundquist added a comment - Stack traceless NPE issue caused by inline code to split null string. Revision #29218 Committed by nils.lundquist Moments ago ICE-8162 - Check for request param before split.
        Nils Lundquist made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Security Private [ 10001 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Nils Lundquist
            Reporter:
            Brennan Mckinney
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: