This is code:
<p:ajax event="eventResized" process="@this calendar" listener="#{bean.eventResized}" oncomplete="resizeComplete()"/>
eventReized
invoked by EventResizeBehavior
which extended from AjaxBehaviorEvent
and it contains some property. Can I check inside <p:ajax....>
call its value and pass result to oncomplete="resizeComplete(result)"
Something like that
<p:ajax event="eventResized" process="@this calendar" listener="#{bean.eventResized}" oncomplete="resizeComplete(#{eventResized.id == 0})"/>
PrimeFaces doesn't support it. Any EL expressions in
oncomplete
attribute are immediately evaluated during render response of that HTML document, not during oncomplete of the associated ajax call. Basically, the JavaScript code generated byoncomplete
attribute contains the old value as it was during the page load.Your best bet is using
RequestContext#addCallbackParam()
to add a property to the PrimeFaces-specificargs
object which is available inoncomplete
scope.An alternative is to use
RequestContext#execute()
instead ofoncomplete
to programmatically instruct PrimeFaces to execute a piece of JavaScript on complete of the ajax request.