ICEfaces
  1. ICEfaces
  2. ICE-7571

tabSet looses its style when tabs are added and then removed in IE

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.0.RC1
    • Fix Version/s: 3.0
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      IE
    • Assignee Priority:
      P1

      Description

      In the Williams app if they add two blank tabs and then try and remove these tabs, upon removing the second tab, the tabSet looses its style and functionality. A browser refresh fixes the issue.

      Steps to reproduce in POC:
       - Load POC in IE
       - Click on the "+" tab to add two new blank tabs.
       - Click on the close icon for the last tab. Tab is removed, no issue seen.
       - Click on the close icon for the next tab. Tab is not removed and looses the content of the tab. Clicking on other tabs does not change the tab.
       - Refresh browser, everything is back to normal.

        Activity

        Arran Mccullough created issue -
        Arran Mccullough made changes -
        Field Original Value New Value
        Salesforce Case [5007000000JOtVp]
        Ken Fyten made changes -
        Fix Version/s 3.0 [ 10241 ]
        Assignee Priority P1
        Assignee Mark Collette [ mark.collette ]
        Hide
        Ted Goddard added a comment -

        good:

        j_idt101=j_idt101
        ice.window=mkgw5foeh0
        ice.view=vyb1o8d6
        icefacesCssUpdates=
        javax.faces.ViewState=-1012878574391410787%3A2334366390968594050
        j_idt101%3A_t103=j_idt101%3A_t103
        javax.faces.source=j_idt101
        javax.faces.partial.event=click
        javax.faces.partial.execute=%40all
        javax.faces.partial.render=%40all
        ice.window=mkgw5foeh0
        ice.view=vyb1o8d6
        ice.focus=j_idt101%3A_t103
        ice.event.target=
        ice.event.captured=j_idt101
        ice.event.type=onclick
        ice.event.alt=false
        ice.event.ctrl=false
        ice.event.shift=false
        ice.event.meta=undefined
        ice.event.x=316
        ice.event.y=54
        ice.event.left=false
        ice.event.right=false
        ice.submit.type=ice.s
        ice.submit.serialization=form
        javax.faces.partial.ajax=true

        bad:

        j_idt95=j_idt95
        ice.window=mkgw5foeh0
        ice.view=vyb1o8d6
        icefacesCssUpdates=
        j_idt95%3A_t97=j_idt95%3A_t97
        javax.faces.source=j_idt95
        javax.faces.partial.event=click
        javax.faces.partial.execute=%40all
        javax.faces.partial.render=%40all
        ice.window=mkgw5foeh0
        ice.view=vyb1o8d6
        ice.focus=j_idt101%3A_t103
        ice.event.target=
        ice.event.captured=j_idt95
        ice.event.type=onclick
        ice.event.alt=false
        ice.event.ctrl=false
        ice.event.shift=false
        ice.event.meta=undefined
        ice.event.x=238
        ice.event.y=55
        ice.event.left=false
        ice.event.right=false
        ice.submit.type=ice.s
        ice.submit.serialization=form
        javax.faces.partial.ajax=true

        Show
        Ted Goddard added a comment - good: j_idt101=j_idt101 ice.window=mkgw5foeh0 ice.view=vyb1o8d6 icefacesCssUpdates= javax.faces.ViewState=-1012878574391410787%3A2334366390968594050 j_idt101%3A_t103=j_idt101%3A_t103 javax.faces.source=j_idt101 javax.faces.partial.event=click javax.faces.partial.execute=%40all javax.faces.partial.render=%40all ice.window=mkgw5foeh0 ice.view=vyb1o8d6 ice.focus=j_idt101%3A_t103 ice.event.target= ice.event.captured=j_idt101 ice.event.type=onclick ice.event.alt=false ice.event.ctrl=false ice.event.shift=false ice.event.meta=undefined ice.event.x=316 ice.event.y=54 ice.event.left=false ice.event.right=false ice.submit.type=ice.s ice.submit.serialization=form javax.faces.partial.ajax=true bad: j_idt95=j_idt95 ice.window=mkgw5foeh0 ice.view=vyb1o8d6 icefacesCssUpdates= j_idt95%3A_t97=j_idt95%3A_t97 javax.faces.source=j_idt95 javax.faces.partial.event=click javax.faces.partial.execute=%40all javax.faces.partial.render=%40all ice.window=mkgw5foeh0 ice.view=vyb1o8d6 ice.focus=j_idt101%3A_t103 ice.event.target= ice.event.captured=j_idt95 ice.event.type=onclick ice.event.alt=false ice.event.ctrl=false ice.event.shift=false ice.event.meta=undefined ice.event.x=238 ice.event.y=55 ice.event.left=false ice.event.right=false ice.submit.type=ice.s ice.submit.serialization=form javax.faces.partial.ajax=true
        Hide
        Ted Goddard added a comment -

        Mainly the javax.faces.ViewState is missing from the failed tab removal click.

        Show
        Ted Goddard added a comment - Mainly the javax.faces.ViewState is missing from the failed tab removal click.
        Hide
        Ted Goddard added a comment -

        On chrome we have in the console:

        update["javax.faces.ViewState"]: 7802710141722433324:1898180188233697418....
        extension
        bridge.js.jsf:1214[window] append missing "javax.faces.ViewState" input element to form["j_idt26"]
        bridge.js.jsf:1214[window] append missing "javax.faces.ViewState" input element to form["j_idt91"]

        wherease on IE we have:

        update["javax.faces.ViewState"]: -4025001483001829768:9002363014726707029....
        eval
        extension

        Show
        Ted Goddard added a comment - On chrome we have in the console: update ["javax.faces.ViewState"] : 7802710141722433324:1898180188233697418.... extension bridge.js.jsf:1214 [window] append missing "javax.faces.ViewState" input element to form ["j_idt26"] bridge.js.jsf:1214 [window] append missing "javax.faces.ViewState" input element to form ["j_idt91"] wherease on IE we have: update ["javax.faces.ViewState"] : -4025001483001829768:9002363014726707029.... eval extension
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #26866 Tue Dec 13 18:45:57 MST 2011 ted.goddard refresh form reference in isICEfacesEvent detection for IE (ICE-7571)
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/javascript/application.js
        Hide
        Ted Goddard added a comment -

        IE seems to be satisfied by the following "no-op"

        +++ core/src/main/javascript/application.js (working copy)
        @@ -308,6 +308,9 @@
        try {
        var source = e.source;
        var form = formOf(source);
        + if (form.id)

        { + form = document.getElementById(form.id); + }

        isICEfacesEvent = form['ice.view'] || form['ice.window'];
        } catch (ex) {

        This allows the form to be detected better and the fact that it is an ICEfaces event to be detected. Perhaps the page modifications by the tabset created DOM instances that were not attached to the live browser DOM causing requests for named elements to fail.

        Show
        Ted Goddard added a comment - IE seems to be satisfied by the following "no-op" +++ core/src/main/javascript/application.js (working copy) @@ -308,6 +308,9 @@ try { var source = e.source; var form = formOf(source); + if (form.id) { + form = document.getElementById(form.id); + } isICEfacesEvent = form ['ice.view'] || form ['ice.window'] ; } catch (ex) { This allows the form to be detected better and the fact that it is an ICEfaces event to be detected. Perhaps the page modifications by the tabset created DOM instances that were not attached to the live browser DOM causing requests for named elements to fail.
        Hide
        Ted Goddard added a comment -

        This is fixed in my local copy of the test application. Please close if verified in the main application.

        Show
        Ted Goddard added a comment - This is fixed in my local copy of the test application. Please close if verified in the main application.
        Ted Goddard made changes -
        Assignee Mark Collette [ mark.collette ] Arran Mccullough [ arran.mccullough ]
        Hide
        Ken Fyten added a comment -

        Confirmed working in main application.

        Show
        Ken Fyten added a comment - Confirmed working in main application.
        Ken Fyten made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Fix Version/s 3.0.RC2 [ 10313 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #27055 Thu Dec 22 13:47:05 MST 2011 ted.goddard revising form detection to recover when getElementById returns null on mobile device (ICE-7571)
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/javascript/application.js
        Ken Fyten made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Assignee Arran Mccullough [ arran.mccullough ] Mircea Toma [ mircea.toma ]
        Ken Fyten made changes -
        Fix Version/s 3.0.RC2 [ 10313 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #27224 Tue Jan 17 15:51:35 MST 2012 mircea.toma ICE-7571 Test if found form still exists in the document since the form element could have been detached by the update. Force then an exception that in the end makes filterICEfacesEvent() function to execute the passed function for the "success" submit event.
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/javascript/application.js
        Hide
        Ted Goddard added a comment -

        The following is believed to be the mobile device problem:

        load mediacast, click on a photo
        click home (in the case of the bug, home must be pressed twice to work)
        on the home page press the browser reload

        Show
        Ted Goddard added a comment - The following is believed to be the mobile device problem: load mediacast, click on a photo click home (in the case of the bug, home must be pressed twice to work) on the home page press the browser reload
        Hide
        Mircea Toma added a comment -

        Test if found form still exists in the document since the form element could have been detached by the update. Force then an exception that in the end makes filterICEfacesEvent() function to execute the passed function for the "success" submit event.

        Show
        Mircea Toma added a comment - Test if found form still exists in the document since the form element could have been detached by the update. Force then an exception that in the end makes filterICEfacesEvent() function to execute the passed function for the "success" submit event.
        Mircea Toma made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Ted Goddard added a comment -

        It looks like this actually reverted to the behavior that breaks on iOS Safari; now investigating the following:

        if (form && form.id) {
        isICEfacesEvent = form['ice.view'] || form['ice.window'];
        if (!isICEfacesEvent)

        { form = document.getElementById(form.id); isICEfacesEvent = form['ice.view'] || form['ice.window']; }

        }

        There may be a problem with the above on IE since the original form reference is corrupt; IE testing will show this.

        Show
        Ted Goddard added a comment - It looks like this actually reverted to the behavior that breaks on iOS Safari; now investigating the following: if (form && form.id) { isICEfacesEvent = form ['ice.view'] || form ['ice.window'] ; if (!isICEfacesEvent) { form = document.getElementById(form.id); isICEfacesEvent = form['ice.view'] || form['ice.window']; } } There may be a problem with the above on IE since the original form reference is corrupt; IE testing will show this.
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #27443 Fri Jan 27 11:03:59 MST 2012 ted.goddard variant using both foundForm and original form for IE and iOS (ICE-7571)
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/javascript/application.js
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #27465 Fri Jan 27 15:40:40 MST 2012 ken.fyten Variant using both foundForm and original form for IE and iOS (ICE-7571)
        Files Changed
        Commit graph MODIFY /icefaces3/tags/icefaces-3.0.0/icefaces/core/src/main/javascript/application.js
        Ken Fyten made changes -
        Security Private [ 10001 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Arran Mccullough
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: