ICEfaces
  1. ICEfaces
  2. ICE-7755

ace:dialog unwrapped script tag can cause larger than necessary page updates

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 3.0
    • Fix Version/s: 3.0.1, EE-3.0.0.GA
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      IF3.x

      Description

      ace:dialog has unwrapped script tag causing a form-wide update in the update following opening, causing long running updates in IE8 in particular.

        Activity

        Repository Revision Date User Message
        ICEsoft Public SVN Repository #27758 Fri Feb 10 11:27:46 MST 2012 nils.lundquist ICE-7755 - Fixed dialog unwrapped script deficiency
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dialog/DialogRenderer.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #27760 Fri Feb 10 11:51:37 MST 2012 nils.lundquist ICE-7755 , ICE-7331 , ICE-7731 - Synchronized from trunk. Scrolling sizing enhancement and unwrapped dialog script fix.
        Files Changed
        Commit graph MODIFY /icefaces3/branches/icefaces-3.0.x-maintenance/icefaces/ace/component/src/org/icefaces/ace/component/datatable/DataTableRenderer.java
        Commit graph MODIFY /icefaces3/branches/icefaces-3.0.x-maintenance/icefaces/ace/component/src/org/icefaces/ace/component/datatable/DataTable.java
        Commit graph MODIFY /icefaces3/branches/icefaces-3.0.x-maintenance/icefaces/ace/component/resources/icefaces.ace/datatable/datatable.js
        Commit graph MODIFY /icefaces3/branches/icefaces-3.0.x-maintenance/icefaces/ace/component/src/org/icefaces/ace/component/dialog/DialogRenderer.java
        Commit graph MODIFY /icefaces3/branches/icefaces-3.0.x-maintenance/icefaces/ace/component/resources/icefaces.ace/datatable/datatable.css
        Nils Lundquist created issue -
        Hide
        Nils Lundquist added a comment -

        r27758 - Wrapped script tag in id'd span.

        Show
        Nils Lundquist added a comment - r27758 - Wrapped script tag in id'd span.
        Nils Lundquist made changes -
        Field Original Value New Value
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Salesforce Case []
        Component/s ACE-Components [ 10050 ]
        Fix Version/s 3.0.1 [ 10282 ]
        Affects Version/s 3.0 [ 10241 ]
        Priority Major [ 3 ] Minor [ 4 ]
        Hide
        Ken Fyten added a comment -

        This change is resulting in regression failures when trying to dynamically change attribute values:

        Icefaces3.0.x-maintenance revision# 27807
        Server: tomcat6
        Browser: FF3.6, IE8, GoogleChrome16

        New failures: All browsers: dialog: Dynamic Attribute test is failing (Fails manually, the header cannot be displayed dynamically after the dialog is rendered. Further testing shows that this is true for other attributes as well (closable, resizable)).

        Show
        Ken Fyten added a comment - This change is resulting in regression failures when trying to dynamically change attribute values: Icefaces3.0.x-maintenance revision# 27807 Server: tomcat6 Browser: FF3.6, IE8, GoogleChrome16 New failures: All browsers: dialog: Dynamic Attribute test is failing (Fails manually, the header cannot be displayed dynamically after the dialog is rendered. Further testing shows that this is true for other attributes as well (closable, resizable)).
        Ken Fyten made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Assignee Priority P2
        Assignee Arturo Zambrano [ artzambrano ]
        Hide
        Ted Goddard added a comment -

        The customer test case that caused the unexpected page update was not fully investigated. It's possible that any change to the ace:dialog script should force the containing dialog to be updated, in which case this change is not good. Further investigation of the original test case is still necessary.

        Show
        Ted Goddard added a comment - The customer test case that caused the unexpected page update was not fully investigated. It's possible that any change to the ace:dialog script should force the containing dialog to be updated, in which case this change is not good. Further investigation of the original test case is still necessary.
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #27895 Thu Feb 16 09:46:46 MST 2012 ken.fyten ICE-7755 - Revert changes as they cause regressions with dynamically updated attributes on the dialog component.
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dialog/DialogRenderer.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #27896 Thu Feb 16 09:47:18 MST 2012 ken.fyten ICE-7755 - Revert changes as they cause regressions with dynamically updated attributes on the dialog component.
        Files Changed
        Commit graph MODIFY /icefaces3/branches/icefaces-3.0.x-maintenance/icefaces/ace/component/src/org/icefaces/ace/component/dialog/DialogRenderer.java
        Hide
        Ken Fyten added a comment -

        I have reverted this change on the icefaces3/trunk and icefaces-3.0.x-maintenance branch.

        Show
        Ken Fyten added a comment - I have reverted this change on the icefaces3/trunk and icefaces-3.0.x-maintenance branch.
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #28087 Wed Feb 29 09:37:22 MST 2012 art.zambrano ICE-7755 wrapped ace:dialog's markup and script tag in a container div
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dialog/DialogRenderer.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #28088 Wed Feb 29 09:50:16 MST 2012 art.zambrano ICE-7755 wrapped ace:dialog's markup and script tag in a container div
        Files Changed
        Commit graph MODIFY /icefaces3/branches/icefaces-3.0.x-maintenance/icefaces/ace/component/src/org/icefaces/ace/component/dialog/DialogRenderer.java
        Hide
        Arturo Zambrano added a comment -

        Fixed at revision 28087 in the trunk and at revision 28088 in the maintenance branch.

        The problem was that the whole containing form was being updated since the script tag didn't have an id, so if the form was big and/or if it took some time to initialize, that same amount of time was being consumed at every dynamic update.

        Therefore, both the markup and the script tag were wrapped inside a container div with the id 'clientId + "_container"'. This was tested with the QA test app, and this fix didn't cause regressions with dynamic attributes. The approach described in the comments above was also tried at some point, but it did cause regressions with dynamic attributes.It is unclear why this happens. Another approach that was tried was placing the script tag inside the main dialog div, but the same problem was observed. At the end, the only thing that worked was to create a container div that wraps both the original dialog markup and the script tag.

        Show
        Arturo Zambrano added a comment - Fixed at revision 28087 in the trunk and at revision 28088 in the maintenance branch. The problem was that the whole containing form was being updated since the script tag didn't have an id, so if the form was big and/or if it took some time to initialize, that same amount of time was being consumed at every dynamic update. Therefore, both the markup and the script tag were wrapped inside a container div with the id 'clientId + "_container"'. This was tested with the QA test app, and this fix didn't cause regressions with dynamic attributes. The approach described in the comments above was also tried at some point, but it did cause regressions with dynamic attributes.It is unclear why this happens. Another approach that was tried was placing the script tag inside the main dialog div, but the same problem was observed. At the end, the only thing that worked was to create a container div that wraps both the original dialog markup and the script tag.
        Arturo Zambrano made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Arturo Zambrano added a comment -

        Re-opened.

        If a subtree render is invoked via f:ajax, the DOM subtree will be looked up by client ID, so the clientID on the containing element of the component must be exactly the client ID of the component.

        Show
        Arturo Zambrano added a comment - Re-opened. If a subtree render is invoked via f:ajax, the DOM subtree will be looked up by client ID, so the clientID on the containing element of the component must be exactly the client ID of the component.
        Arturo Zambrano made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #28125 Fri Mar 02 12:46:00 MST 2012 art.zambrano ICE-7755 changed id of wrapping div to '{clientId}' and changed id of div containing the main markup to '{clientId} + "_main"'
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dialog/DialogRenderer.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #28126 Fri Mar 02 12:48:48 MST 2012 art.zambrano ICE-7755 changed id of wrapping div to '{clientId}' and changed id of div containing the main markup to '{clientId} + "_main"'
        Files Changed
        Commit graph MODIFY /icefaces3/branches/icefaces-3.0.x-maintenance/icefaces/ace/component/src/org/icefaces/ace/component/dialog/DialogRenderer.java
        Hide
        Arturo Zambrano added a comment -

        Changed id of wrapping div to

        {clientId} and that of the div containing the main markup to {clientId}

        + "_main". Committed at revision 28125 in the trunk and at revision 28126 in the maintenance branch.

        Show
        Arturo Zambrano added a comment - Changed id of wrapping div to {clientId} and that of the div containing the main markup to {clientId} + "_main". Committed at revision 28125 in the trunk and at revision 28126 in the maintenance branch.
        Arturo Zambrano made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Fix Version/s EE-3.0.0.GA [ 10262 ]
        Ken Fyten made changes -
        Summary ace:dialog unwrapped script tag causes long page updates ace:dialog unwrapped script tag can cause larger than necessary page updates
        Issue Type Bug [ 1 ] Improvement [ 4 ]
        Salesforce Case []
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Assignee Priority P2

          People

          • Assignee:
            Arturo Zambrano
            Reporter:
            Nils Lundquist
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: