ICEfaces
  1. ICEfaces
  2. ICE-7450

ace:tabSet with tabPane cached on client still fire a tab selection

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 3.0.RC1
    • Fix Version/s: 3.0.RC2, 3.0
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      ICEfaces 3 RC1, Chrome, Tomcat 7
    • Assignee Priority:
      P1

      Description

      I'm using ace:tabSet with clientSide="false" and all my tabPanes have cacheOnClient="true". The caching behavior is as expected and when a tab is selected, the cached dom node are show instantly and an ajax request updates the state of the tabs behind the scenes. The problem is that once this ajax request returns, the tab that originally fired gets selected even if the user had selected another one before the original ajax request is returned.

      If the user is on tab A and clicks on tab B and immediately clicks on tab C, he will get to tab C but once the state has been updated on the server for the tab B click event, the user is brought back to tab B and after a the update for the tab C click event is done, is again brought back to tab C. Very confusing to the user.

      To reproduce the problem use attached files to recreate a sample ICEfaces2.1BETA2 project. Once up and running click on tab B and then within 2 seconds click on tab C. Wait for a second or two.

      The update of the tabset state on the server should not have any effect on the client side (it should not switch to a tab) since the client side already reflects the correct state. If this is not possible, we should have a way to tell the component not to change tab after the state is updated.

        Issue Links

          Activity

          Evgheni Sadovoi created issue -
          Evgheni Sadovoi made changes -
          Field Original Value New Value
          Attachment TabServerSide.java [ 13741 ]
          Attachment welcomeICEfaces.xhtml [ 13742 ]
          Evgheni Sadovoi made changes -
          Assignee Ken Fyten [ ken.fyten ]
          Evgheni Sadovoi made changes -
          Salesforce Case [5007000000JN4wJ]
          Evgheni Sadovoi made changes -
          Security Private [ 10001 ]
          Ken Fyten made changes -
          Fix Version/s 2.1 [ 10241 ]
          Ken Fyten made changes -
          Link This issue depends on ICE-7138 [ ICE-7138 ]
          Ken Fyten made changes -
          Assignee Ken Fyten [ ken.fyten ] Evgheni Sadovoi [ evgheni.sadovoi ]
          Evgheni Sadovoi made changes -
          Comment [ A comment with security level 'icesoft-internal-developers' was removed. ]
          Evgheni Sadovoi made changes -
          Comment [ A comment with security level 'icesoft-internal-developers' was removed. ]
          Evgheni Sadovoi made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Fix Version/s 3.0.RC1 [ 10300 ]
          Fix Version/s 3.0 [ 10241 ]
          Resolution Duplicate [ 3 ]
          Hide
          Evgheni Sadovoi added a comment - - edited

          Tab switch still occur in RC1 when <ace:tabSet clientSide="false"> and <ace:tabPane cache="staticAuto">.

          Show
          Evgheni Sadovoi added a comment - - edited Tab switch still occur in RC1 when <ace:tabSet clientSide="false"> and <ace:tabPane cache="staticAuto">.
          Evgheni Sadovoi made changes -
          Resolution Duplicate [ 3 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          Evgheni Sadovoi made changes -
          Environment ICEfaces 2.1BETA2, Chrome, Tomcat 7 ICEfaces 3 RC1, Chrome, Tomcat 7
          Fix Version/s 3.0.RC1 [ 10300 ]
          Affects Version/s 3.0.RC1 [ 10300 ]
          Affects Version/s 2.1-Beta2 [ 10294 ]
          Assignee Evgheni Sadovoi [ evgheni.sadovoi ] Mark Collette [ mark.collette ]
          Priority Major [ 3 ] Critical [ 2 ]
          Evgheni Sadovoi made changes -
          Attachment RC1 code to reproduce issue.rar [ 13849 ]
          Evgheni Sadovoi made changes -
          Attachment TabServerSide.java [ 13741 ]
          Evgheni Sadovoi made changes -
          Attachment welcomeICEfaces.xhtml [ 13742 ]
          Evgheni Sadovoi made changes -
          Attachment RC1 code to reproduce issue.rar [ 13849 ]
          Evgheni Sadovoi made changes -
          Attachment Code to reproduce issue.rar [ 13850 ]
          Mark Collette made changes -
          Comment [ Sorry I don't understand what the problem is. The tabs should switch. Is there an issue where if you revisit a previously viewed tab that the contents of the tab are re-sent to the browser? That would be a bug. ]
          Hide
          Mark Collette added a comment -

          The issue is about the race condition of quickly clicking from tab A -> B -> C, so that it then bounces back to B and then C a second time.

          Show
          Mark Collette added a comment - The issue is about the race condition of quickly clicking from tab A -> B -> C, so that it then bounces back to B and then C a second time.
          Mark Collette made changes -
          Assignee Mark Collette [ mark.collette ] Nils Lundquist [ nils.lundquist ]
          Ken Fyten made changes -
          Assignee Priority P1
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #26799 Thu Dec 08 16:02:21 MST 2011 nils.lundquist Further improvement for ICE-7435 / ICE-7450 when using cached tabs.
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/resources/icefaces.ace/tabset/tabset.js
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #26808 Fri Dec 09 12:04:56 MST 2011 nils.lundquist ICE-7450 - Fixed "intermediate" transition when quickly switching between 3 tabs and the 2nd tab hasn't loaded by the time that the request to load the 3rd is submitted. The tab becoming "active" is stored when the request is sent, and if a returning request isn't for the same tab, a transition to the newly loaded tab is not performed
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/resources/icefaces.ace/tabset/tabset.js
          Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/resources/yui/2_8_2/tabview/tabview.js
          Hide
          Nils Lundquist added a comment -

          Fixed in r26808 - Fixed "intermediate" transition when quickly switching between 3 tabs and the 2nd tab hasn't loaded by the time that the request to load the 3rd is submitted. The tab becoming "active" is stored when the request is sent, and if a returning request isn't for the same tab, a transition to the newly loaded tab is not performed

          Show
          Nils Lundquist added a comment - Fixed in r26808 - Fixed "intermediate" transition when quickly switching between 3 tabs and the 2nd tab hasn't loaded by the time that the request to load the 3rd is submitted. The tab becoming "active" is stored when the request is sent, and if a returning request isn't for the same tab, a transition to the newly loaded tab is not performed
          Nils Lundquist made changes -
          Status Reopened [ 4 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Hide
          Ken Fyten added a comment -

          There is a regression due to the last change where when the tabSet is used in Client mode, it stacks the contents for each viewed tab on top of one another. This is demonstrated in the showcase Client tabSet demo.

          Show
          Ken Fyten added a comment - There is a regression due to the last change where when the tabSet is used in Client mode, it stacks the contents for each viewed tab on top of one another. This is demonstrated in the showcase Client tabSet demo.
          Ken Fyten made changes -
          Resolution Fixed [ 1 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          Hide
          Ken Fyten added a comment -

          Another regression issue is that when using the ace:tabSetProxy the tabSet is not re-selecting the previously selected tab in cases where the form is invalid.

          This is illustrated by the showcase tabSetProxy demo. Click on tab2, then tab3 and tab3 stays selected with no contents, when Tab2 should be selected again due to the validation failure.

          Show
          Ken Fyten added a comment - Another regression issue is that when using the ace:tabSetProxy the tabSet is not re-selecting the previously selected tab in cases where the form is invalid. This is illustrated by the showcase tabSetProxy demo. Click on tab2, then tab3 and tab3 stays selected with no contents, when Tab2 should be selected again due to the validation failure.
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #26830 Mon Dec 12 12:04:01 MST 2011 nils.lundquist ICE-7450 - Fixed client and proxy transitions regressions.
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/resources/icefaces.ace/tabset/tabset.js
          Hide
          Nils Lundquist added a comment -

          Regressions fixed in r26830

          Show
          Nils Lundquist added a comment - Regressions fixed in r26830
          Nils Lundquist made changes -
          Status Reopened [ 4 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Ken Fyten made changes -
          Fix Version/s 3.0 [ 10241 ]
          Ken Fyten made changes -
          Fix Version/s 3.0.RC2 [ 10313 ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #27492 Mon Jan 30 10:57:01 MST 2012 nils.lundquist ICE-7450 - Added showcase examples of findRow / navigateToRow API. Fixed bug specific to case insensitive mode of 3.0 ace table.
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/datatable/DataTable.java
          Commit graph ADD /icefaces3/trunk/icefaces/samples/showcase/showcase/src/main/webapp/resources/examples/ace/dataTable/dataTableFind.xhtml
          Commit graph ADD /icefaces3/trunk/icefaces/samples/showcase/showcase/src/main/java/org/icefaces/samples/showcase/example/ace/dataTable/DataTableFind.java
          Commit graph MODIFY /icefaces3/trunk/icefaces/samples/showcase/showcase/src/main/java/org/icefaces/samples/showcase/example/compat/dataTable/DataTableBean.java
          Commit graph ADD /icefaces3/trunk/icefaces/samples/showcase/showcase/src/main/webapp/resources/examples/compat/dataTable/dataTableFind.xhtml
          Commit graph ADD /icefaces3/trunk/icefaces/samples/showcase/showcase/src/main/java/org/icefaces/samples/showcase/example/compat/dataTable/DataTableFind.java
          Commit graph MODIFY /icefaces3/trunk/icefaces/samples/showcase/showcase/src/main/java/org/icefaces/samples/showcase/example/ace/dataTable/DataTableBean.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #27493 Mon Jan 30 11:01:46 MST 2012 nils.lundquist ICE-7450 - Added showcase examples of findRow / navigateToRow API. Missed message file.
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/samples/showcase/showcase/src/main/resources/org/icefaces/samples/showcase/view/resources/messages.properties
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #27519 Mon Jan 30 15:34:25 MST 2012 ken.fyten ICE-7450 - Added showcase examples of findRow / navigateToRow API. Fixed bug specific to case insensitive mode of 3.0 ace table.
          Files Changed
          Commit graph ADD /icefaces3/tags/icefaces-3.0.0/icefaces/samples/showcase/showcase/src/main/java/org/icefaces/samples/showcase/example/compat/dataTable/DataTableFind.java
          Commit graph ADD /icefaces3/tags/icefaces-3.0.0/icefaces/samples/showcase/showcase/src/main/webapp/resources/examples/ace/dataTable/dataTableFind.xhtml
          Commit graph MODIFY /icefaces3/tags/icefaces-3.0.0/icefaces/samples/showcase/showcase/src/main/java/org/icefaces/samples/showcase/example/ace/dataTable/DataTableBean.java
          Commit graph MODIFY /icefaces3/tags/icefaces-3.0.0/icefaces/samples/showcase/showcase/src/main/resources/org/icefaces/samples/showcase/view/resources/messages.properties
          Commit graph ADD /icefaces3/tags/icefaces-3.0.0/icefaces/samples/showcase/showcase/src/main/webapp/resources/examples/compat/dataTable/dataTableFind.xhtml
          Commit graph MODIFY /icefaces3/tags/icefaces-3.0.0/icefaces/samples/showcase/showcase/src/main/java/org/icefaces/samples/showcase/example/compat/dataTable/DataTableBean.java
          Commit graph ADD /icefaces3/tags/icefaces-3.0.0/icefaces/samples/showcase/showcase/src/main/java/org/icefaces/samples/showcase/example/ace/dataTable/DataTableFind.java
          Hide
          Cruz Miraback added a comment -

          The original issue and also the two regressions Ken has noted have been confirmed fixed using ICEfaces3.0.0 Final-Build10.

          Show
          Cruz Miraback added a comment - The original issue and also the two regressions Ken has noted have been confirmed fixed using ICEfaces3.0.0 Final-Build10.
          Ken Fyten made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

            People

            • Assignee:
              Nils Lundquist
              Reporter:
              Evgheni Sadovoi
            • Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: