[Resolvido]Interceptar eventos JSF

4 respostas
C

Boa tarde a todos,

durante o desenvolvimento de um componente da minha aplicação utilizando Composite Components, me deparei com uma situação um pouco inusitada, preciso interceptar e fazer uma chamada javascript quando o componente for atualizado por algum agente externo, como uma atualização de pagina ou um update via Ajax.

Este método precisa ser chamado pois ele é responsável por fazer um pré processamento dos dados. Porém é parte do requisito que isso seja inato ao componente fornecendo assim uma abstração do funcionamento deste para quem o for utilizar.

Obrigado

4 Respostas

asandrob

Talvez PhaseListener possa ajudar.

C

Acredito que não pois preciso que seja feita uma chamada javascript antes da requisição ser enviada, como se fosse no onstart de um p:poll, porém eu não poderia conhecer o componente que está atualizando a página, só preciso interceptar o evento de reloado do componente.

C

Imaginei algo relacionado ao objeto javascript responsável por emitir requisições Ajax, registrar um espécie de listener, porém não acho nenhuma documentação sobre isso.

Seja o objeto jsf ou o objeto Primefaces

C

Bom, consegui resolver o problema após uma analise do código do BlockUi do Primefaces.

A solução mais viável que eu achei foi fazer um biding de uma função ao evento de emissão de uma requisição ajax.

$(document).bind('ajaxSend', function(e,xhr,settings){
...
});

Obrigado

Criado 3 de setembro de 2012
Ultima resposta 5 de set. de 2012
Respostas 4
Participantes 2