myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Robinson" <andrew.rw.robin...@gmail.com>
Subject Re: [Trinidad] js issue while handling PPR inside a tr:panelPopup
Date Fri, 22 Feb 2008 17:18:56 GMT
Good. Do you want to file a bug and upload a patch?

A timeout of 0 or 1 ms should be sufficient.

-Andrew

On Fri, Feb 22, 2008 at 9:51 AM, Renzo Tomaselli
<renzo.tomaselli@tecnotp.it> wrote:
>
>  Andrew, yes - using setTimeout solves the problem. Just put:
>
>          if (_agent && _agent.isIE)
>              window.setTimeout("document.getElementById('" + refocusId +
> "').focus()", 1000);
>          else
>              activeNode.focus();
>
>  Btw I noticed a similar problem today in a different context. I had a popup
> list (non a tr:panelPopup) to be shown as a suggestion list upon clicking a
> link. All done through PPR and I needed to call focus() to preselect the
> first item as well as catching onBlur to hide the list.
>  Once again, no problems on FF, while on IE this call returned ok, but the
> very first time no popup was shown. Once more - commenting out the focus
> call solved the problem. But even doing it a bit later through setTimeout
> was ok.
>
>  -- Renzo
>
>
>
>  Andrew Robinson wrote:
>  I am wondering if this ought to be called in a window setTimeout. Any
> way you can modify the code locally and attempt to see if that helps?
>
> On Fri, Feb 22, 2008 at 1:30 AM, Renzo Tomaselli
> <renzo.tomaselli@tecnotp.it> wrote:
>
>
>  Yes, I followed the PPR response handling on FF/Firebug - but there all is
> ok.
>  Then I investigated on IE 6/7 by means of placing alerts everywhere. There
> is no return from calling focus(), although no errors are reported - even on
> IE 7 with IE developer toolbar activated.
>
>  -- Renzo
>
>
>
>  Andrew Robinson wrote:
>  Hmmm, you say this is during the PPR application?
>
> I think there is a bug in IE that causes exceptions to be thrown if
> setFocus is called from the PPR "thread"
>
> -Andrew
>
> On Thu, Feb 21, 2008 at 3:04 AM, Renzo Tomaselli
> <renzo.tomaselli@tecnotp.it> wrote:
>
>
>  Hi, I have a panelPopup containing a number of links with
>  partialSubmit="true". The panel itself is enclosed into a
>  panelGroupLayout bound to a bean.
>  This binding allows to define the enclosing panel as a PPR target
>  through addPartialTarget(), no matter which links triggers it.
>  So the overall structure is roughly like this:
>
>  <tr:panelGroupLayout id="modalWrapper" binding="#{bean.panel}">
>  <tr:panelPopup id="modal" position="centered" modal="true">
>  <tr:commandLink id="next" action="#{bean.next}"
>  partialSubmit="true"
>  ...
>
>  all of this works fine on FF. However it does not on IE 6/7. The very
>  first time the panel is created, but any following click on links does
>  not refresh panel contents.
>  After some js debugging - I noticed that in Page.js, method
>  _handlePprResponseFragment() - there is a focus action on the link
>  itself (which is recorded as being active):
>
>  if (refocusId) {
>  activeNode = doc.getElementById(refocusId);
>  if (activeNode && activeNode.focus) {
>  activeNode.focus(); // !!!!!
>
>  on IE there is no return from focus(), so that the rest of the panel
>  fragments are not rendered. No errors, though.
>  If I comment out the focus() call, everything works as expected.
>
>  -- Renzo
>
>
>
>
>
>
>
>
>
>

Mime
View raw message