Well, since things go on, I reply to myself :-)
A trivial way for postprocessing PPR is achieved by enclosing the target element in a container, using this as the real PPR target, such as:

           <tr:panelHorizontalLayout partialTriggers="f:suggester">
               <tr:selectOneListbox id="suggestion" ...
               ...
               <script type="text/javascript">
                   doSomeInitStuff();
               </script>
</tr:panelHorizontalLayout> Then doSomeInitStuff() is executed after each PPR. This solution works well for FF but not for IE if there is need to access any element not included in the PPR target. This is due to the _pprIFrame which contains only the returned target, and on IE the js fragment executes in the context of the iframe dom.
Is there any way to access the rest of current document from there ?

-- Renzo

Renzo Tomaselli wrote:
Thanks Sandeep, this works fine indeed.
I have one more question, though: my listbox acts as a suggestion list which is made visible and attached to each row input field upon any suggester onclick event. Thus the sequence is: make it visible, move it below the related input field, then trigger PPR. Unfortunately I noticed that after PPR the list is re-rendered at its original position/size, while contents are ok. Thus the list appears at its row position for a second, then it moves to the (wrong) original position. Is there any js way to post-process a PPR, so that I can definitely move that list to its correct position *after* the PPR response ?

-- Renzo

sandeep gururaj wrote:
I encountered this problem too. Here's how I worked around this issue.

a) Create a binding for your ListBox "suggestion" in the bean (Say,
suggestionBinding).
b) In the action or actionListener or the like (returnListener in case
you are using a Dialog) of the "suggester", do the following at the end.

RequestContext.getCurrentInstance().addPartialTarget(suggestionBinding);
RequestContext.getCurrentInstance().partialUpdateNotify(suggestionBindin
g);
FacesContext.getCurrentInstance().renderResponse();

Hope this helps!

~Sandeep
-----Original Message----- From: Renzo Tomaselli [mailto:[EMAIL PROTECTED] Sent: Wednesday, August 08, 2007 1:00 PM
To: MyFaces Discussion
Subject: [Trinidad] PPR from table cells failure

Hi, I wonder how I can trigger PPR from inside a table cell, since it appears not working - I guess because of some id mismatch.
I have something like:

<tr:table ...
    <tr:column>
          <tr:commandLink id="suggester" partialSubmit="true"...
    ...
    </tr:table>
<tr:selectOneListbox id="suggestion" partialTriggers="suggester">

then I get a warning from Trinidad as soon as I click on any table link:

Could not find partial trigger suggester from CoreSelectOneListbox[UIXEditableFacesBeanImpl, id=suggestion]

However, if I place the trigger component also outside the table, then PPR works properly and there is no warning., even while clicking on any link inside the table. I guess this issue has something to do with real trigger name, which is <container>:<rowIndex>:suggester, but I thought Trinidad should take care of matching these ids against a partialTrigger attribute. If not, how can I workaround it ?

-- Renzo





Reply via email to