[ 
https://issues.apache.org/jira/browse/DELTASPIKE-710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14125182#comment-14125182
 ] 

Janario commented on DELTASPIKE-710:
------------------------------------

As I've seen it fails because of 'this' in wrapped functions from 
windowhandler.js

p:ajax:
PrimeFaces.ab({s:this,e:'action',p:'form:j_idt44'});;return false;
f:ajax
mojarra.ab(this,event,'action',0,0);return false;

If I bind the function before call it. It works:
oldonclick.bind(this)(evt)

windowshandler.js something like:
//last onclick handler would be assigned to oldonclick
(function storeEvent() {
           var oldonclick = links[i].onclick;

           links[i].onclick = function (evt) {
                      evt = evt || window.event;

                      return storeWindowTree() && oldonclick.bind(this)(evt);
           };
})();

> Error using clientWindow and (p|f):ajax
> ---------------------------------------
>
>                 Key: DELTASPIKE-710
>                 URL: https://issues.apache.org/jira/browse/DELTASPIKE-710
>             Project: DeltaSpike
>          Issue Type: Bug
>          Components: JSF-Module
>    Affects Versions: 1.0.2
>            Reporter: Janario
>         Attachments: console.log
>
>
> Trying to use CLIENTWINDOW with some h:commandLink and f:ajax or p:ajax 
> doesn't work.
> I've tried, in a simple action method (public void actionTest() {} ):
> <h:commandLink action="#{view1Controller.actionTest}">test f:ajax
>       <f:ajax />
> </h:commandLink>
> <h:commandLink action="#{view1Controller.actionTest}">test f:ajax
>       <p:ajax />
> </h:commandLink>
> For f:ajax it doesn't log any error but doesn't call my action method.
> For p:ajax it logs some error on browser console:
> Uncaught TypeError: Cannot read property 'replace' of undefined       
> primefaces.js?ln=primefaces&v=5.0:1
>  b.escapeClientId                                                     
> primefaces.js?ln=primefaces&v=5.0:1
>  PrimeFaces.ajax.Request.send                                                 
> primefaces.js?ln=primefaces&v=5.0:2
>  PrimeFaces.ajax.Queue.offer                                          
> primefaces.js?ln=primefaces&v=5.0:2
>  PrimeFaces.ajax.Request.handle                                       
> primefaces.js?ln=primefaces&v=5.0:2
>  PrimeFaces.ab                                                                
> primefaces.js?ln=primefaces&v=5.0:2
>  onclick                                                              
> ?dsrid=949&dswid=8555:1
>  d.(anonymous function).onclick.match.d.(anonymous function).onclick  
> windowhandler.js?ln=deltaspike&v=1.0.2:2
>  d.(anonymous function).onclick.match.d.(anonymous function).onclick  
> windowhandler.js?ln=deltaspike&v=1.0.2:2
> I've tried the same with p:commandLink and it works
> <p:commandLink action="#{view1Controller.actionTest}">test f:ajax
>       <f:ajax />
> </p:commandLink>
> <p:commandLink action="#{view1Controller.actionTest}">test f:ajax
>       <p:ajax />
> </p:commandLink>



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to