Primefaces problema em utilizar vários listener

0 respostas
D

Pessoal estou com um problema que ao utilizar várias listener para executar em uma ação.

<p:tree id="docTree" value="#{pastaCtrl.root}" var="folderType" selectionMode="single"
					selection="#{pastaCtrl.selectedNode}" expandAnim="FADE_IN" collapseAnim="FADE_OUT" style="cursor:pointer"
					dynamic="true" cache="true">

					<p:ajax event="select" listener="#{docCtrl.onSelectFolder(folderType)}" update=":resultsForm,:searchForm" />
					<p:ajax event="select" listener="#{grupoCtrl.setFolder(folderType)}" update=":grupoForm" />

					<p:ajax event="expand" listener="#{pastaCtrl.onNodeExpand}" update=":form:docTree" />

					<p:treeNode expandedIcon="#{folderType.type == 'Lock' ? 'ui-icon-image' : 'ui-icon-folder-open'}"
						collapsedIcon="#{folderType.type == 'Lock' ? 'ui-icon-image' : 'ui-icon-folder-collapsed'}">
						<h:outputText value="#{folderType.name}" />
					</p:treeNode>

				</p:tree>

Nessas duas linhas, ao selecionar um item na árvore ele deve executar duas ações para o usuário, que resulta em atividades diferentes na página.
Qual o problema, ele está fazendo isso corretamente em partes.

  • ele executa os dois comandos e retorna o esperado.
    Porem ao navegar no dataTable(:resultsForm) ele não modifica as páginas.
    Apare a lista da primeira página e a quantidade de itens e as páginas.
    Ao clicar na página ele não executa nenhuma ação. Ou seja, não atualiza o dataTable, porem mostra que esta na página dois, por exemplo.

Realizei o teste removendo o segundo ajax select e as páginas ficam normal, ou seja, volta a atualizar o componente corretamente.

Não sei se estou fazendo correto essa chamada de dois listener para o mesmo evento, caso tenho outra forma me ajudem.

Extra:
Já tentei dessas formas…

<p:ajax event="select" listener="#{docCtrl.onSelectFolder(folderType)},#{grupoCtrl.setFolder(folderType)}" update=":resultsForm,:searchForm,:grupoForm" />

	<p:ajax event="select" listener="#{docCtrl.onSelectFolder(folderType)};#{grupoCtrl.setFolder(folderType)}" update=":resultsForm,:searchForm,:grupoForm" />

	<p:ajax event="select" listener="#{docCtrl.onSelectFolder(folderType),grupoCtrl.setFolder(folderType)}" update=":resultsForm,:searchForm,:grupoForm" />

	<p:ajax event="select" listener="#{docCtrl.onSelectFolder(folderType);grupoCtrl.setFolder(folderType)}" update=":resultsForm,:searchForm,:grupoForm" />

Todas apresentaram erros… (coisa de novato)

Fico no aguardo para mais informação caso precise.

Criado 28 de março de 2012
Respostas 0
Participantes 1