ICEfaces
  1. ICEfaces
  2. ICE-10893

ace:tooltip id is changed when form is updated

    Details

      Description

      After dynamically updating a form, the ace:tooltip id is changed. This can be demonstrated in the ICEfaces 4.0 public demo.
      To reproduce:
      - Go to http://icefaces-showcase.icesoft.org/showcase.jsf?grp=aceMenu&exp=tooltipOverviewBean
       - Mouse over the Camaro Button, the id of the tooltip is "qtip-form:tooltipCamaro-content"
      - In the top selectmenu change the Effect to "Grow Effect"
      - Mouse over the Camaro button again, the id of the tooltip is "qtip-0-content"
      - In the top selectmenu change the Effect to "Fade Effect"
      - Mouse over the Camaro button again, the id of the tooltip is "qtip-1-content"


        Activity

        Hide
        Arturo Zambrano added a comment - - edited

        r47603: removed mechanism in qtip code that assigned new numeric ids to new tooltip instances and instead added call to destroy the previous instance with the same id

        While this wasn't a real issue, because those ids, prefixed with qtip-, were only created in the client side by the qtip plugin when rendering the actual tooltip markup, this behaviour was causing the page to use more memory to keep the markup of the previous tooltip versions as well as the entire instance object. In the delegate mode, this was being done for every row that triggered the tooltip. So, this fix not only prevents qtip from using different ids but also makes sure to destroy a previous tooltip instance if it had the same id of the one currently being rendered.

        Testing notes: because this was a change in the underlying qtip widget, please run all regression tests.

        Show
        Arturo Zambrano added a comment - - edited r47603: removed mechanism in qtip code that assigned new numeric ids to new tooltip instances and instead added call to destroy the previous instance with the same id While this wasn't a real issue, because those ids, prefixed with qtip-, were only created in the client side by the qtip plugin when rendering the actual tooltip markup, this behaviour was causing the page to use more memory to keep the markup of the previous tooltip versions as well as the entire instance object. In the delegate mode, this was being done for every row that triggered the tooltip. So, this fix not only prevents qtip from using different ids but also makes sure to destroy a previous tooltip instance if it had the same id of the one currently being rendered. Testing notes: because this was a change in the underlying qtip widget, please run all regression tests.
        Hide
        Liana Munroe added a comment -

        Tested with ICEfaces 4 trunk r47791. Issue appears resolved and all regression tests pass except for the Tooltip Iterative Selection test. In this test case the tooltip (an image) only appears when mousing over the last item in the ui:repeat. The tooltip image is supposed to appear when the first and second items are moused over as well. This failure was not occurring with r47600 (jenkins build 1797) which was the last revision before the changes were made for this JIRA.
        To reproduce:
        1.) Use the QA test application /tooltipSelectIterative.jsf found at:
        http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/tooltip
        2.) Mouse over the first and second items on the page. Instead of the expected ICEsoft logo being shown, the tooltip takes the form of a windows tooltip.
        3.) Mouse over the third item, the ICEsoft logo as a tooltip is displayed as expected.

        Show
        Liana Munroe added a comment - Tested with ICEfaces 4 trunk r47791. Issue appears resolved and all regression tests pass except for the Tooltip Iterative Selection test. In this test case the tooltip (an image) only appears when mousing over the last item in the ui:repeat. The tooltip image is supposed to appear when the first and second items are moused over as well. This failure was not occurring with r47600 (jenkins build 1797) which was the last revision before the changes were made for this JIRA. To reproduce: 1.) Use the QA test application /tooltipSelectIterative.jsf found at: http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/tooltip 2.) Mouse over the first and second items on the page. Instead of the expected ICEsoft logo being shown, the tooltip takes the form of a windows tooltip. 3.) Mouse over the third item, the ICEsoft logo as a tooltip is displayed as expected.
        Hide
        Arturo Zambrano added a comment -

        r48119: reverted to old behaviour of assigning numeric ids in the cases where the target component is inside an iterative container

        Show
        Arturo Zambrano added a comment - r48119: reverted to old behaviour of assigning numeric ids in the cases where the target component is inside an iterative container
        Hide
        Liana Munroe added a comment -

        Verified ICEfaces 4 trunk r48120. Tomcat 8, FF 43, Chrome 48, IE 11, 10, 9, 8.

        Show
        Liana Munroe added a comment - Verified ICEfaces 4 trunk r48120. Tomcat 8, FF 43, Chrome 48, IE 11, 10, 9, 8.

          People

          • Assignee:
            Arturo Zambrano
            Reporter:
            Liana Munroe
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: