Olá pessoal,
Quero implementar um duplo clique no nó da arvore e enviar para o campo renderizado.
O problema é o seguinte. Tenho uma pop-up onde é visualizado uma árvore. estou usando o p:tree e p:treenode do primefaces.
O problema é que quando vou expandir o nó da árvore, ao clicar na imagem do “+” fica em loading, pois estou utilizando um a4j:commandLink.
Daí a aplicação não funciona e quebra o javascript do pop-up.
Gostaria de uma alterativa, se tiver, para implementar um duplo clique na árvore.
abaixo segue o meu código:
<rich:popupPanel id="popupDepartamento" width="300" height="350"
resizeable="false" modal="true"
onmaskclick="#{rich:component('popupDepartamento')}.hide()">
<h:form>
<p:tree id="arvore_departamentos"
value="#{departamentoSelecionarMB.root}" selectionMode="single"
var="node" dynamic="true"
nodeSelectListener="#{departamentoSelecionarMB.departamentoSelecionado}"
selection="#{node}" update="arvore_departamentos">
<p:treeNode>
<a4j:commandLink value="#{node.nome} (#{node.tipoDepartamento.nome})" ondblclick="duploClique()" />
</p:treeNode>
</p:tree>
<a4j:jsFunction name="duploClique" action="#{departamentoSelecionarMB.selecionarDepartamento}"
render="campo_departamento" oncomplete="#{rich:component('popupDepartamento')}.hide();" execute="@this">
</a4j:jsFunction>
</h:form>
</rich:popupPanel>
OBS:
Notei que funciona normalmente se for assim:
<p:treeNode>
<h:outputtext value="#{node.nome} (#{node.tipoDepartamento.nome})" />
</p:treeNode>
Sem usar ajax e sem usar o link. ??? muito estranho esse comportamento.
Mas assim não tenho como fazer o comportamento do duplo clique, apenas fica o comportamento padrão da arvore que é: selecionar, expandir e comprimir.
Fico no aguardo e obrigado.
[]´s.