ICEfaces
  1. ICEfaces
  2. ICE-3638

Custom outputChart rendering problem in Safari/Chrome/Firefox 2

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Incomplete
    • Affects Version/s: 1.7.2
    • Fix Version/s: 1.8RC1, 1.8
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      Safari, Google Chrome, Firefox 2

      Description

      We have developped a web application using icefaces only components. The goal of the application is to display different charts and manipulate them (selecting bars, zooming, etc).

      We use an ice:outputChart component with a type="custom" so we can dynamically modify the chart...

      To be able to select bars, we plot 2 barcharts, one with the data, one empty. When the user clicks a bar, we simply remove it from the 1st chart and add it to the 2nd empty chart, then we trigger a redraw through the newchart property to update the view. This gives the illusion of selecting since both charts use different colors. Only 2 different bars can be selected at once.

      Everything works fine under Firefox 3, Opera 9.5x, IE6, IE7 but we have major problems with...

      - Browsers based on webkit (Latest Safari & Google chrome): whenever we select a bar, the chart simply dissappears! If we do a refresh (F5) then the chart appears correctly with the bar selected.
      Note: using the webkit inspector we can see that the new chart image is correctly downloaded by the browser but not rendered due to a problem with the formatting of the page.

      -Firefox 2: the chart doesn't receive any click events, or sometimes only the first click, not the following ones.

        Activity

        Arran Mccullough created issue -
        Arran Mccullough made changes -
        Field Original Value New Value
        Support Customer Ref. #s https://www.icesoft.ca:4443/supportilla/show_bug.cgi?id=5258
        Hide
        Arran Mccullough added a comment -

        Built war file that shows issue. Run in Tomcat 6.x

        Show
        Arran Mccullough added a comment - Built war file that shows issue. Run in Tomcat 6.x
        Arran Mccullough made changes -
        Attachment TestGraphStandAlone.war [ 11284 ]
        Hide
        Arran Mccullough added a comment -

        Source files for test case

        Show
        Arran Mccullough added a comment - Source files for test case
        Arran Mccullough made changes -
        Attachment TestGraphStandAloneProjetSrc.zip [ 11285 ]
        Ken Fyten made changes -
        Fix Version/s 1.8DR#3 [ 10143 ]
        Assignee Mark Collette [ mark.collette ]
        Ken Fyten made changes -
        Salesforce Case []
        Assignee Mark Collette [ mark.collette ] Arturo Zambrano [ artzambrano ]
        Ken Fyten made changes -
        Salesforce Case []
        Assignee Priority P3
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #18258 Thu Jan 29 16:15:11 MST 2009 art.zambrano Fix related to ICE-3638 (rendering problems in Safari/Chrome/Firefox 2)
        Files Changed
        Commit graph MODIFY /icefaces/trunk/icefaces/component/src/com/icesoft/faces/component/outputchart/OutputChartRenderer.java
        Commit graph MODIFY /icefaces/trunk/icefaces/component/src/com/icesoft/faces/component/outputchart/OutputChart.java
        Hide
        Arturo Zambrano added a comment -

        The problem of erasing the image after clicking on it was fixed. The whole table wasn't being re-rendered due to invalid markup (in webkit browsers). Now the new image appears after clicking on the chart.

        However, the intended functionality of the test application only worked with the first click. Subsequent clicks didn't cause the chart to be updated. It was necessary to reload the page to be able to update the chart again.

        All possible combinations of markup tricks and workarounds were tried (in the <area> element), involving "event.preventDefault()", "return false" removing the href attribute, using anchors withing the page, using javascript:void(0), and many others changes outside of the <area> element. Nothing could make the test application work as intended. Some combinations caused problems in other browsers.

        Show
        Arturo Zambrano added a comment - The problem of erasing the image after clicking on it was fixed. The whole table wasn't being re-rendered due to invalid markup (in webkit browsers). Now the new image appears after clicking on the chart. However, the intended functionality of the test application only worked with the first click. Subsequent clicks didn't cause the chart to be updated. It was necessary to reload the page to be able to update the chart again. All possible combinations of markup tricks and workarounds were tried (in the <area> element), involving "event.preventDefault()", "return false" removing the href attribute, using anchors withing the page, using javascript:void(0), and many others changes outside of the <area> element. Nothing could make the test application work as intended. Some combinations caused problems in other browsers.
        Arturo Zambrano made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Incomplete [ 4 ]
        Ken Fyten made changes -
        Fix Version/s 1.8 [ 10161 ]
        Assignee Priority P3
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Assignee Arturo Zambrano [ artzambrano ]

          People

          • Assignee:
            Unassigned
            Reporter:
            Arran Mccullough
          • Votes:
            7 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: