Problema com rich:tabPanel e a4j:support

1 resposta
H

Olá, eu tenho na minha aplicação vários formulários dividido em várias abas. O que eu estou tentando fazer é quando o usuário trocar de aba, gerar uma ação que salve o formulário da aba da qual ele está saindo.

Tentei isso de duas formas, primeiramente usei a tag ontableave do rich:tab, o parâmetro do tableave era uma função javascript do a4j:jsFunction que chamava o meu método de salvar.
A outra forma foi utilizando a4j:support. As 2 formas tiveram o mesmo resultado, o método é executado, porém após o método executar eu volto pra aba da onde estou querendo sair.

Para exemplificar eu tenho 2 abas, Prontuario e Anamnese, quando estou no Prontuario e vou pra aba Anamnese, fico por meio segundo na aba Anamnese e acabo voltando pra Prontuario, e não consigo de jeito nenhum mudar para outra aba.

Alguém tem alguma idéia do porque isto está acontecendo, ou talvez alguma sugestão para eu tentar resolver de alguma forma?

O código é esse aqui (nesse caso o support está na aba Endodontia):
<rich:tabPanel switchType="client" width="900">
		<rich:tab label="Prontuário">
			<f:subview id="subviewProntuario">
				<jsp:include page="Fichas/Prontuario.jsp"></jsp:include>
			</f:subview>
	
		</rich:tab>
		<rich:tab label="Anamnese">
			<f:subview id="subviewAnamnese">
				<jsp:include page="Fichas/Anamnese.jsp"></jsp:include>
			</f:subview>
		</rich:tab>
		<rich:tab label="Endodontia">
			<f:subview id="subviewEndodontia">
				<jsp:include page="Fichas/Endodontia.jsp"></jsp:include>
			</f:subview>
			<a4j:support event="ontableave"/>
		</rich:tab>
		<rich:tab label="Estomatologia">
			<f:subview id="subviewEstomatologia">
				<jsp:include page="Fichas/Estomatologia.jsp"></jsp:include>
			</f:subview>
		</rich:tab>
		<rich:tab label="Oclusal">
			<f:subview id="subviewOclusal">
				<jsp:include page="Fichas/Oclusal.jsp"></jsp:include>
			</f:subview>
		</rich:tab>
		<rich:tab label="Odontogeriátrica">
			<f:subview id="subviewOdontogeriatrica">
				<jsp:include page="Fichas/Odontogeriatrica.jsp"></jsp:include>
			</f:subview>
		</rich:tab>
		<rich:tab label="Odontopediátrica">
			<f:subview id="subviewOdontopediatrica">
				<jsp:include page="Fichas/Odontopediatrica.jsp"></jsp:include>
			</f:subview>
		</rich:tab>
		<rich:tab label="Periodontia">
			<f:subview id="subviewPeriodontia">
				<jsp:include page="Fichas/Periodontia.jsp"></jsp:include>
			</f:subview>
		</rich:tab>
		<rich:tab label="Prótese">
			<f:subview id="subviewProtese">
				<jsp:include page="Fichas/Protese.jsp"></jsp:include>
			</f:subview>
		</rich:tab>
	</rich:tabPanel>

Agradeço Antecipadamente

1 Resposta

H
Ah, esqueci de incluir aqui também a página onde esse código é incluído. Essas abas estão dentro deste modalpanel:
<rich:modalPanel id="FichasPanel" style="overflow:auto"  height="450" width="880">
					<f:facet name="header">
						<h:outputText value="Prontuário" />
					</f:facet>
					<f:facet name="controls">
						<h:panelGroup>
							<h:graphicImage value="/images/modal/close.png" id="hidelink2"
								styleClass="hidelink" />
							<rich:componentControl for="FichasPanel"
								attachTo="hidelink2" operation="hide" event="onclick" />
						</h:panelGroup>
					</f:facet>

					<a4j:form id="formFichas">
						<a4j:outputPanel ajaxRendered="true">
							<f:subview id="subviewFichas">
								<jsp:include page="Fichas.jsp"></jsp:include>
							</f:subview>

							<rich:message showSummary="true" showDetail="false" for="price" />
						</a4j:outputPanel>
						<h:panelGrid id="pgridEditar" columns="2">
							<a4j:commandButton value="Atualizar"
								action="#{manterProntuario.salvar}" reRender="rpanel"
								oncomplete="if (#{facesContext.maximumSeverity==null}) #{rich:component('FichasPanel')}.hide();" />
							<a4j:commandButton value="Cancelar"
								action="#{manterProntuario.cancelar}"
								onclick="#{rich:component('FichasPanel')}.hide();return false;" />
						</h:panelGrid>

					</a4j:form>
</rich:modalPanel>
Criado 18 de março de 2010
Ultima resposta 22 de mar. de 2010
Respostas 1
Participantes 1