Aparecer e desaparecer com richfaces

3 respostas
lsf

Ola,

Estou fazendo um aplicação com richfaces e tenho que fazer aparecer e desaparecer um Panel.
Seguindo a documentação eu consegui, porem usando botoes. Eu gostaria de usar essa funcionalidade na toolbar.
Segue o codigo:

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>

<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<%--
    This file is an entry point for JavaServer Faces application.
--%>

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Minha Aplicação</title>
    </head>
    <body>
        <f:view>
            <h:form>
                <rich:panel header="Contatos" id="mdi">
                <!-- ToolBar  -->
                <rich:toolBar >
                    <rich:toolBarGroup>

                        <!-- Aplicar função aqui  -->
                        <h:graphicImage id="filtro" value="/img/filter.gif" />
                        <h:outputLabel value="Filtro" for="filtro" />
                        
                        <!-- funciona assim  -->
                        <input type="button" onclick="hideDiv({duration:0.3})" value="Esconder Filtro" />
                        <input type="button" onclick="showDiv()" value="Mostra Filtro" />

                        <rich:effect  name="hideDiv"  for="divFiltro" type="Fade" />
                        <rich:effect  name="showDiv"  for="divFiltro" type="Appear"/>                      
                        
                    </rich:toolBarGroup>
                    
                </rich:toolBar>
                
                <div id="divFiltro">
                    <rich:panel header="Filtros">
                        Componentes de filtro aqui.
                    </rich:panel>
                </div>

                <rich:panel header="Resto do codigo">
                        Restante da aplicacao
                </rich:panel>    

                </rich:panel>
                

                
            </h:form>
        </f:view>
        
    </body>
</html>

Grato

3 Respostas

MiguelCP

ja tentou usar o rich:effect ???

lsf

Sim, De uma olhada na linha 37 e 38.
Consegui melhorar o meu codigo:

<rich:toolBar >
                    <rich:toolBarGroup onclick="hideDiv({duration:0.3})"> <!-- Aqui faço desaparecer, mas como aparecer novamente??  -->
                        <h:graphicImage id="filtro" value="/img/filter.gif"/>
                        <h:outputLabel value="Filtro" for="filtro" />

                        <!-- Funcionando com botoes, mas quero retirar e usar soh a toolbar  -->
                        <input type="button" onclick="hideDiv({duration:0.3})" value="Esconder Filtro" />
                        <input type="button" onclick="showDiv()" value="Mostra Filtro" />

                        <rich:effect  name="hideDiv"  for="divFiltro" type="Fade" />
                        <rich:effect  name="showDiv"  for="divFiltro" type="Appear"/>                      
                        
                    </rich:toolBarGroup>
                    
                </rich:toolBar>

Tem como eu usar um bean para gravar o estado (tipo com boolean) ou seja clicou aparece (true) se clicou denovo e eh true desaparece (false)?

Grato

MiguelCP

usa um event , ondblclick pra ser especifico.
tenata fazer um if

if ( getVarivavel().equals("Sim")){

//faz a logica

)else

//faz se for não

e tenata implementa no toolbar

Criado 21 de abril de 2008
Ultima resposta 22 de abr. de 2008
Respostas 3
Participantes 2