Just added:

- PPR should be a good bit more efficient, as most input + output
  components will not render anything unless they are being PPR'd,
  and tables, trees, treeTables, navigationPanes and trains
  will be entirely skipped unless they or one of their contents
  is being PPR'd.

  Until now, PPR rendered everything and a ResponseWriter trimmed
  out what shouldn't be rendered.  That's still the case in part, but
  we can now entirely skip some branches of the UIComponent hierarchy.
  (The client validation code had to be somewhat overhauled to make
  this possible.)

- A new "addDomReplaceListener()" method provides notification
  of DOM changes from PPR.  A trivial example is:

function notePpr(oldDom, newDom)
{
 console.log("old", oldDom);
 console.log("new", newDom);
}

TrPage.getInstance().addDomReplaceListener(notePpr);

  ... which logs to Firebug any DOM elements that have been
  added or removed.

 Feedback we need:  currently, this API is called *after*
 the DOM replacement has happened, and gives you no
 way of preventing or overriding the DOM replacement.  I'm
 far from convinced that's the right choice:  it might be better
 to run this before replacement and allow this  function to "return
 false;", in which case no replacement would happen.

Cheers,
Adam Winer

Reply via email to