9 Replies Latest reply on Dec 5, 2011 9:35 PM by Bruce Randall

    RichFaces4 dataScroller+a4j:status doesn't work

    Edilmar Alves Expert

      Hi,

       

      I have a dataTable + dataScroller to change page. When I click to change from page 1 to page 2, I start a popupPanel with a4j:status to show a message to user about "Processing...". However, after process the page 2 and show it, the a4j:status should hide the popupPanel, not freeze the window, like the image below:

      dataScrollerStatus.jpeg

      Look that I already clicked into the link for page 2, that page was processed (from index 21 to 40, first column), but the popupPanel continues there. The JSF code is below, and it worked fine in RichFaces 3.3.3 with datascroller + modalPanel:

       

          <rich:panel style="width:100%;">

            <f:facet name="header">

              <h:outputText value="#{msgCliente['consViagens.labelTitulo']}"></h:outputText>

            </f:facet>

            <h:form id="formCad">

       

              <a4j:status id ="status" onstart="#{rich:component('splash')}.show()" onstop="#{rich:component('splash')}.hide()" />

              <rich:popupPanel id="splash" autosized="true" width="200" height="80" moveable="false" resizeable="false">

                <f:facet name="header"><h:outputText value="#{msgGeral['splash.titulo']}" /></f:facet>

                <h:outputText value="#{msgGeral['splash.msg']}" />

              </rich:popupPanel>

       

              <p>

                <rich:dataTable id="table" rows="#{login.maxResultPagina}"

                                onrowmouseover="this.style.backgroundColor='#F1F1F1'"

                                onrowmouseout="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"

                                var="item" rowKeyVar="rowListTable"

                                value="#{consViagensCliente.listTable}"

                                rendered="#{consViagensCliente.listTable != null}"

                                >

                  <rich:column width="0px" id="indice" styleClass="alignCenter">

                    <f:facet name="header"><h:outputText styleClass="headerText" value="" /></f:facet>

                    <h:outputLabel value="#{rowListTable+1}" />

                  </rich:column>

                  <rich:column width="60px" id="numConhecimento" styleClass="alignCenter">

                    <f:facet name="header"><h:outputText styleClass="headerText" value="#{msgCliente['consViagens.table.labelNumConhec']}" /></f:facet>

                    <f:subview id="detailViagem"

                               xmlns="http://www.w3.org/1999/xhtml"

                               xmlns:ui="http://java.sun.com/jsf/facelets"

                               xmlns:h="http://java.sun.com/jsf/html"

                               xmlns:f="http://java.sun.com/jsf/core"

                               xmlns:a4j="http://richfaces.org/a4j"

                               xmlns:rich="http://richfaces.org/rich">

                      <rich:popupPanel id="panel" width="800" height="550">

                        <f:facet name="header">

                          <h:panelGroup>

                            <h:outputText value="#{msgCliente['labelTituloDetViagem']}"></h:outputText>

                          </h:panelGroup>

                        </f:facet>

                        <f:facet name="controls">

                          <h:panelGroup>

                            <h:commandLink value="[#{msgBotoes['labelFechar']}]" id="hidelink">

                              <rich:componentControl target="panel" operation="hide"/>

                            </h:commandLink>

                          </h:panelGroup>

                        </f:facet>

                        <table style="border:thin;" border="1" bgcolor="#FFFFFF">

                          <tr>

                            <td bgcolor="#{msgGeral['corDetalheCampo']}">

                              <h:outputText value="#{msgCliente['consViagens.det.labelNumero']}: "/>

                            </td>

                            <td align="center">

                              <h:outputText value="#{item.numero}"></h:outputText>

                            </td>

                            <td bgcolor="#{msgGeral['corDetalheCampo']}">

                              <h:outputText value="#{msgCliente['consViagens.det.labelNumConhec']}: "/>

                            </td>

                          </tr>

                        </table>

                      </rich:popupPanel>

                      <h:commandLink value="#{item.numConhec}" id="link">

                        <rich:componentControl target="panel" operation="show"/>

                      </h:commandLink>

                    </f:subview>

                    <f:facet name="footer"><h:outputText value="" /></f:facet>

                  </rich:column>

                  <rich:column width="60px" id="numNFAtual" styleClass="alignCenter">

                    <f:facet name="header"><h:outputText styleClass="headerText" value="#{msgCliente['consViagens.table.labelNumNF']}" /></f:facet>

                    <h:outputText value="#{item.numNF}" />

                    <f:facet name="footer"><h:outputText value="" /></f:facet>

                  </rich:column>

                  <rich:column width="70px" id="dataEmissao" styleClass="alignCenter">

                    <f:facet name="header"><h:outputText styleClass="headerText" value="#{msgCliente['consViagens.table.labelDataEmissao']}" /></f:facet>

                    <h:outputText value="#{item.dataEmissao}"><f:convertDateTime pattern="dd/MM/yyyy"/></h:outputText>

                    <f:facet name="footer"><h:outputText value="" /></f:facet>

                  </rich:column>

                  <rich:column width="60px" id="codFaturaSaldo" styleClass="alignCenter">

                    <f:facet name="header"><h:outputText styleClass="headerText" value="#{msgCliente['consViagens.table.labelFatura']}" /></f:facet>

                    <h:outputText value="#{item.codFaturaSaldo}" />

                    <f:facet name="footer"><h:outputText value="" /></f:facet>

                  </rich:column>

                  <rich:column width="350px" id="clRemet">

                    <f:facet name="header"><h:outputText styleClass="headerText" value="#{msgCliente['consViagens.table.labelClRemet']}" /></f:facet>

                    <h:outputText value="#{item.clRemet.nome}" />

                    <f:facet name="footer"><h:outputText value="" /></f:facet>

                  </rich:column>

                  <rich:column width="350px" id="clDest">

                    <f:facet name="header"><h:outputText styleClass="headerText" value="#{msgCliente['consViagens.table.labelClDest']}" /></f:facet>

                    <h:outputText value="#{item.clDest.nome}" />

                    <f:facet name="footer"><h:outputText value="" /></f:facet>

                  </rich:column>

                  <f:facet name="footer">

                    <rich:dataScroller id="ds" renderIfSinglePage="true" for="table"/>

                  </f:facet>

                </rich:dataTable>

              </p>

       

            </h:form>

          </rich:panel>

        • 1. RichFaces4 dataScroller+a4j:status doesn't work
          Nick Belaevski Master

          Hi Edilmar,

           

          Please do the following;

           

          1) Provide environment information

          2) Add a4j:log to the page and paste contents here

          • 2. RichFaces4 dataScroller+a4j:status doesn't work
            Edilmar Alves Expert

            My development environment is: NetBeans 7.0 RC1 + GlassFish 3.1 + JSF2 + Mojarra 2.1.0 + Weld 1.1 + RichFaces 4 final + Firefox4/Chrome9.

            Before send the contents of a4j:log, I changed the a4j:status for this:

             

            <a4j:status id ="status" onstart="alert('BEGIN')" onstop="alert('END')" />

             

            The msg BEGIN appears. But the msg END doesn't.

             

            If I comment the code for a4j:status/popupPanel, the dataScroller works fine.

            • 3. RichFaces4 dataScroller+a4j:status doesn't work
              Ilya Shaikovsky Master

              I just pasted the same status/popup code from your snippet to rf-showcase dataScroller page and it's works. so refer to browser console and a4j:log to check the errors.

              • 4. Re: RichFaces4 dataScroller+a4j:status doesn't work
                Edilmar Alves Expert

                Hi,

                 

                I created a teste.xhtml file with a simple table with code/description, using templateTeste.xhtml, and the managed bean Teste.java.

                1) teste.xhtml:

                 

                <?xml version='1.0' encoding='UTF-8' ?>

                <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

                <ui:composition xmlns="http://www.w3.org/1999/xhtml"

                                xmlns:h="http://java.sun.com/jsf/html"

                                xmlns:f="http://java.sun.com/jsf/core"

                                xmlns:ui="http://java.sun.com/jsf/facelets"

                                xmlns:a4j="http://richfaces.org/a4j"

                                xmlns:rich="http://richfaces.org/rich"

                                template="/WEB-INF/templates/templateTeste.xhtml"

                                >

                  <!--

                  template="/menu.xhtml"

                  -->

                  <ui:define name="content">

                    <a4j:log mode="popup">

                      <h:form id="form">

                        <a4j:status onstart="#{rich:component('splash')}.show()" onstop="#{rich:component('splash')}.hide()" />

                        <rich:popupPanel id="splash" autosized="true" width="200" height="80" moveable="false" resizeable="false">

                          <f:facet name="header"><h:outputText value="#{msgGeral['splash.titulo']}" /></f:facet>

                          <h:outputText value="#{msgGeral['splash.msg']}" />

                        </rich:popupPanel>

                        <h:panelGrid>

                          <rich:dataScroller for="table" maxPages="5" />

                          <rich:dataTable value="#{teste.lista}" var="item"

                                          id="table" rows="2">

                            <rich:column>

                              <f:facet name="header">

                                <h:outputText value="Code" />

                              </f:facet>

                              <f:subview id="detail"

                                         xmlns="http://www.w3.org/1999/xhtml"

                                         xmlns:ui="http://java.sun.com/jsf/facelets"

                                         xmlns:h="http://java.sun.com/jsf/html"

                                         xmlns:f="http://java.sun.com/jsf/core"

                                         xmlns:a4j="http://richfaces.org/a4j"

                                         xmlns:rich="http://richfaces.org/rich">

                                <rich:popupPanel id="panel" width="800" height="550">

                                  <f:facet name="header">

                                    <h:panelGroup>

                                      <h:outputText value="Details of the table"></h:outputText>

                                    </h:panelGroup>

                                  </f:facet>

                                  <f:facet name="controls">

                                    <h:panelGroup>

                                      <h:commandLink value="[Close]" id="hidelink">

                                        <rich:componentControl target="panel" operation="hide"/>

                                      </h:commandLink>

                                    </h:panelGroup>

                                  </f:facet>

                                  <table style="border:thin;" border="1" bgcolor="#FFFFFF">

                                    <tr>

                                      <td>

                                        <h:outputText value="Code is: "/>

                                      </td>

                                      <td>

                                        <h:outputText value="#{item.codigo}"></h:outputText>

                                      </td>

                                    </tr>

                                    <tr>

                                      <td>

                                        <h:outputText value="Description is: "/>

                                      </td>

                                      <td>

                                        <h:outputText value="#{item.descricao}"></h:outputText>

                                      </td>

                                    </tr>

                                  </table>

                                </rich:popupPanel>

                                <h:commandButton value="#{item.codigo}" id="link">

                                  <rich:componentControl target="panel" operation="show"/>

                                </h:commandButton>

                              </f:subview>

                              <!--<h:outputText value="#{item.codigo}" />-->

                            </rich:column>

                            <rich:column>

                              <f:facet name="header">

                                <h:outputText value="Description" />

                              </f:facet>

                              <h:outputText value="#{item.descricao}" />

                            </rich:column>

                          </rich:dataTable>

                        </h:panelGrid>

                      </h:form>

                    </a4j:log>

                  </ui:define>

                </ui:composition>

                2) templateTeste.xhtml:

                 

                <?xml version='1.0' encoding='UTF-8' ?>

                <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

                <html xmlns="http://www.w3.org/1999/xhtml"

                      xmlns:h="http://java.sun.com/jsf/html"

                      xmlns:ui="http://java.sun.com/jsf/facelets">

                 

                  <h:head>

                    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

                    <link href="#{login.urlSistema}/css/default.css" rel="stylesheet" type="text/css" />

                    <link href="#{login.urlSistema}/css/cssLayout.css" rel="stylesheet" type="text/css" />

                    <script language="JavaScript" src="#{login.urlSistema}/js/md5.js"></script>

                    <script language="JavaScript" src="#{login.urlSistema}/js/funcoes.js"></script>

                    <title>#{login.nomeSistema}</title>

                  </h:head>

                 

                  <h:body onload="focus('#{focusName}')">

                 

                    <div id="content" class="center_content">

                      <ui:insert name="content"></ui:insert>

                    </div>

                 

                  </h:body>

                 

                </html>

                 

                3) Teste.java:

                 

                package control.testes;

                 

                import java.util.ArrayList;

                import java.util.List;

                import javax.annotation.PostConstruct;

                import javax.inject.Named;

                 

                @Named

                public class Teste {

                  private List<TesteObj> lista;

                  @PostConstruct

                  public void init() {

                    lista = new ArrayList<TesteObj>();

                    lista.add(new TesteObj(1,"t1"));

                    lista.add(new TesteObj(2,"t2"));

                    lista.add(new TesteObj(3,"t3"));

                    lista.add(new TesteObj(4,"t4"));

                  }

                 

                  public List<TesteObj> getLista() {

                    try {Thread.sleep(1000);}catch (Exception e) {e.printStackTrace();}

                    return lista;

                  }

                 

                  public void setLista(List<TesteObj> lista) {

                    this.lista = lista;

                  }

                 

                }

                4) a4j:log:

                 

                 

                debug[16:58:18.117]: New request added to queue. Queue requestGroupingId changed to form:j_idt183

                 

                debug[16:58:18.140]: Queue will wait 0ms before submit

                debug[16:58:18.140]: richfaces.queue: will submit request NOW

                info [16:58:18.145]: Received 'begin' event from <span id=form:j_idt183 class="rf-ds" ...>

                info [16:58:20.169]: Received 'beforedomupdate' event from <span id=form:j_idt183 class="rf-ds" ...>

                debug[16:58:20.169]: Server returned responseText: <?xml version='1.0' encoding='ISO-8859-1'?> <partial-response><changes><update id="form:j_idt183"><![CDATA[<span class="rf-ds" id="form:j_idt183"><a class="rf-ds-btn rf-ds-btn-first" href="javascript:void(0);" id="form:j_idt183_ds_f">««««</a><a class="rf-ds-btn rf-ds-btn-fastrwd" href="javascript:void(0);" id="form:j_idt183_ds_fr">««</a><a class="rf-ds-btn rf-ds-btn-prev" href="javascript:void(0);" id="form:j_idt183_ds_prev">«</a><a class="rf-ds-nmb-btn " href="javascript:void(0);" id="form:j_idt183_ds_1">1</a><span class="rf-ds-nmb-btn rf-ds-act " id="form:j_idt183_ds_2">2</span><span class="rf-ds-btn rf-ds-btn-next rf-ds-dis" id="form:j_idt183_ds_next">»</span><span class="rf-ds-btn rf-ds-btn-fastfwd rf-ds-dis" id="form:j_idt183_ds_ff">»»</span><span class="rf-ds-btn rf-ds-btn-last rf-ds-dis" id="form:j_idt183_ds_l">»»»»</span><script type="text/javascript">new RichFaces.ui.DataScroller("form:j_idt183",function(event,element,data){RichFaces.ajax("form:j_idt183",event,{"parameters":{"form:j_idt183:page":data.page} ,"incId":"1"} )},{"digitals":{"form:j_idt183_ds_2":"2","form:j_idt183_ds_1":"1"} ,"buttons":{"left":{"form:j_idt183_ds_fr":"fastrewind","form:j_idt183_ds_f":"first","form:j_idt183_ds_prev":"previous"} } ,"currentPage":2} )</script></span>]]></update><update id="form:table:tb"><![CDATA[<tbody id="form:table:tb" class="rf-dt-b"><tr class="rf-dt-r rf-dt-fst-r"><td id="form:table:2:j_idt172" class="rf-dt-c"><div id="form:table:2:detail:panel" style="visibility: hidden;"><div class="rf-pp-shade" id="form:table:2:detail:panel_shade" style="z-index:100;"><button class="rf-pp-btn" id="form:table:2:detail:panelFirstHref"></button></div><div class="rf-pp-cntr " id="form:table:2:detail:panel_container" style="position: fixed; z-index:100; "><div class="rf-pp-shdw" id="form:table:2:detail:panel_shadow"></div><div class="rf-pp-hdr " id="form:table:2:detail:panel_header"><div class="rf-pp-hdr-cnt" id="form:table:2:detail:panel_header_content">Details of the table</div></div><div class="rf-pp-hdr-cntrls " id="form:table:2:detail:panel_header_controls"><a id="form:table:2:detail:hidelink" href="#" onclick="jsf.util.chain(this,event,'RichFaces.ui.ComponentControl.execute(event,{&quot;selector&quot;:null,&quot;target&quot;:[&quot;form:table:2:detail:panel&quot;] ,&quot;callback&quot;:function(event,component){component[\'hide\'].apply(component,[] );}} ); return false;','mojarra.jsfcljs(document.getElementById(\'form\'),{\'form:table:2:detail:hidelink\':\'form:table:2:detail:hidelink\'},\'\')');return false">[Close]</a></div><div class="rf-pp-cnt-scrlr" id="form:table:2:detail:panel_content_scroller"><div class="rf-pp-cnt" id="form:table:2:detail:panel_content"> <table style="border:thin;" border="1" bgcolor="#FFFFFF"> <tr> <td>Code is: </td> <td>3 </td> </tr> <tr> <td>Description is: </td> <td>t3 </td> </tr> </table></div></div></div><script type="text/javascript">new RichFaces.ui.PopupPanel("form:table:2:detail:panel",{"height":550,"width":800} );</script></div><input id="form:table:2:detail:link" type="submit" name="form:table:2:detail:link" value="3" onclick="RichFaces.ui.ComponentControl.execute(event,{&quot;selector&quot;:null,&quot;target&quot;:[&quot;form:table:2:detail:panel&quot;] ,&quot;callback&quot;:function(event,component){component['show'].apply(component,[] );}} ); return false;" /></td><td id="form:table:2:j_idt190" class="rf-dt-c">t3</td></tr><tr class="rf-dt-r"><td id="form:table:3:j_idt172" class="rf-dt-c"><div id="form:table:3:detail:panel" style="visibility: hidden;"><div class="rf-pp-shade" id="form:table:3:detail:panel_shade" style="z-index:100;"><button class="rf-pp-btn" id="form:table:3:detail:panelFirstHref"></button></div><div class="rf-pp-cntr " id="form:table:3:detail:panel_container" style="position: fixed; z-index:100; "><div class="rf-pp-shdw" id="form:table:3:detail:panel_shadow"></div><div class="rf-pp-hdr " id="form:table:3:detail:panel_header"><div class="rf-pp-hdr-cnt" id="form:table:3:detail:panel_header_content">Details of the table</div></div><div class="rf-pp-hdr-cntrls " id="form:table:3:detail:panel_header_controls"><a id="form:table:3:detail:hidelink" href="#" onclick="jsf.util.chain(this,event,'RichFaces.ui.ComponentControl.execute(event,{&quot;selector&quot;:null,&quot;target&quot;:[&quot;form:table:3:detail:panel&quot;] ,&quot;callback&quot;:function(event,component){component[\'hide\'].apply(component,[] );}} ); return false;','mojarra.jsfcljs(document.getElementById(\'form\'),{\'form:table:3:detail:hidelink\':\'form:table:3:detail:hidelink\'},\'\')');return false">[Close]</a></div><div class="rf-pp-cnt-scrlr" id="form:table:3:detail:panel_content_scroller"><div class="rf-pp-cnt" id="form:table:3:detail:panel_content"> <table style="border:thin;" border="1" bgcolor="#FFFFFF"> <tr> <td>Code is: </td> <td>4 </td> </tr> <tr> <td>Description is: </td> <td>t4 </td> </tr> </table></div></div></div><script type="text/javascript">new RichFaces.ui.PopupPanel("form:table:3:detail:panel",{"height":550,"width":800} );</script></div><input id="form:table:3:detail:link" type="submit" name="form:table:3:detail:link" value="4" onclick="RichFaces.ui.ComponentControl.execute(event,{&quot;selector&quot;:null,&quot;target&quot;:[&quot;form:table:3:detail:panel&quot;] ,&quot;callback&quot;:function(event,component){component['show'].apply(component,[] );}} ); return false;" /></td><td id="form:table:3:j_idt190" class="rf-dt-c">t4</td></tr></tbody>]]></update><update id="form:table:sc"><![CDATA[<tbody id="form:table:sc"><tr><td style="display: none"><script type="text/javascript">new RichFaces.ui.DataTable("form:table",{"ajaxEventOptions":{} } )</script></td></tr></tbody>]]></update><update id="javax.faces.ViewState"><![CDATA[H4sIAAAAAAAAAJVUXUgUQRwf97zsLI5LzezBCNLKB/foIRAlykrx6DRxTSofam7v793q3s44M3veCUm+FBFBUBGBUQ8RPUgvvRfhQxAoFURQBBG92kMERb00s/ex5xfSsjfM7fx///19zOz8MgpSztCOcZzFuissW+/DPN2PabDm48uFxotvA0jrRbU2wclebArCYigk0gx4mtjJHD16DKlr+9RWOUbkTxOodoywTKfACRtchupH415vGzsp/XRiHEzRdXPp7IMIb7M1hHJUgqrdSTSDAnIWpBLSMLoOpunFX+PbxKfXJUxVGaNlGWpT9Tl9DJvAdciCI/RBBkPgJIGdIBlKHPmoRz3/8fvxwcC1zlbVh6H9a3HlciPPBWQ80PNUx8+RpZFwAdS8FlRR2zpxd8H6vHupULvTN9ZbLaiJ3wgNNGUuPfHESPvr/apuxnA+bnGRm33XfO8Vvh9AVTFUza1p8HRrU9Vq5Ku4myXWuiGwgD6ZDjADZ4Gde/3syK25xX4NaXEUMm3M+QDOgEB1nslRZXLUEMxyUl1xVMslJun1EKixUGGRqAHMwrY1rULtylGaVeaHuRojAvWsz+RMrOxly3quKpXgAOtOYiqAyeR3FYO3iL7ijU/fhOaND8uxUviaHz6V6e8jLKUzy0yvZXASCzyseiD/kvzlXW5RM8PQ4c0VDDJCgYn8KcjzQWZlpUOlhnVe1GF/z/Y4bqZykQrUgIX0OOEK4MNpLLoZGCA8A8MVqXqGUjU2FOcCtfnnaaVOpc0wGbFtYJ0UpyAnlej/p6SSpXrhHnl+faZlfgGPX6DIyUsfVZBtKc7LXxLPhZgjIAWs7uvDR79mr3ZoaiMHs9h2QboV8esG3EwC2JX5O83bbn+5Xs5YqYlunKwBky44JmwmJzhmMS7UnyhdRfA4ITZgZ3Evu/x+7s93SfB8iSBF0vng+AUrecjfaxWfKVqxgQKSaPtGto9YMDVEyKaub5EHU8SSnpHtcumA3KT/AEHFuCWeBQAA]]></update></changes></partial-response>

                info [16:58:20.172]: Listing content of response changes element:
                Element update for id=form:j_idt183
                <update id="form:j_idt183"><![CDATA[<span class="rf-ds" id="form:j_idt183"><a class="rf-ds-btn rf-ds-btn-first" href="javascript:void(0);" id="form:j_idt183_ds_f">««««</a><a class="rf-ds-btn rf-ds-btn-fastrwd" href="javascript:void(0);" id="form:j_idt183_ds_fr">««</a><a class="rf-ds-btn rf-ds-btn-prev" href="javascript:void(0);" id="form:j_idt183_ds_prev">«</a><a class="rf-ds-nmb-btn " href="javascript:void(0);" id="form:j_idt183_ds_1">1</a><span class="rf-ds-nmb-btn rf-ds-act " id="form:j_idt183_ds_2">2</span><span class="rf-ds-btn rf-ds-btn-next rf-ds-dis" id="form:j_idt183_ds_next">»</span><span class="rf-ds-btn rf-ds-btn-fastfwd rf-ds-dis" id="form:j_idt183_ds_ff">»»</span><span class="rf-ds-btn rf-ds-btn-last rf-ds-dis" id="form:j_idt183_ds_l">»»»»</span><script type="text/javascript">new RichFaces.ui.DataScroller("form:j_idt183",function(event,element,data){RichFaces.ajax("form:j_idt183",event,{"parameters":{"form:j_idt183:page":data.page} ,"incId":"1"} )},{"digitals":{"form:j_idt183_ds_2":"2","form:j_idt183_ds_1":"1"} ,"buttons":{"left":{"form:j_idt183_ds_fr":"fastrewind","form:j_idt183_ds_f":"first","form:j_idt183_ds_prev":"previous"} } ,"currentPage":2} )</script></span>]]></update>
                Element update for id=form:table:tb
                <update id="form:table:tb"><![CDATA[<tbody id="form:table:tb" class="rf-dt-b"><tr class="rf-dt-r rf-dt-fst-r"><td id="form:table:2:j_idt172" class="rf-dt-c"><div id="form:table:2:detail:panel" style="visibility: hidden;"><div class="rf-pp-shade" id="form:table:2:detail:panel_shade" style="z-index:100;"><button class="rf-pp-btn" id="form:table:2:detail:panelFirstHref"></button></div><div class="rf-pp-cntr " id="form:table:2:detail:panel_container" style="position: fixed; z-index:100; "><div class="rf-pp-shdw" id="form:table:2:detail:panel_shadow"></div><div class="rf-pp-hdr " id="form:table:2:detail:panel_header"><div class="rf-pp-hdr-cnt" id="form:table:2:detail:panel_header_content">Details of the table</div></div><div class="rf-pp-hdr-cntrls " id="form:table:2:detail:panel_header_controls"><a id="form:table:2:detail:hidelink" href="#" onclick="jsf.util.chain(this,event,'RichFaces.ui.ComponentControl.execute(event,{&quot;selector&quot;:null,&quot;target&quot;:[&quot;form:table:2:detail:panel&quot;] ,&quot;callback&quot;:function(event,component){component[\'hide\'].apply(component,[] );}} ); return false;','mojarra.jsfcljs(document.getElementById(\'form\'),{\'form:table:2:detail:hidelink\':\'form:table:2:detail:hidelink\'},\'\')');return false">[Close]</a></div><div class="rf-pp-cnt-scrlr" id="form:table:2:detail:panel_content_scroller"><div class="rf-pp-cnt" id="form:table:2:detail:panel_content"> <table style="border:thin;" border="1" bgcolor="#FFFFFF"> <tr> <td>Code is: </td> <td>3 </td> </tr> <tr> <td>Description is: </td> <td>t3 </td> </tr> </table></div></div></div><script type="text/javascript">new RichFaces.ui.PopupPanel("form:table:2:detail:panel",{"height":550,"width":800} );</script></div><input id="form:table:2:detail:link" type="submit" name="form:table:2:detail:link" value="3" onclick="RichFaces.ui.ComponentControl.execute(event,{&quot;selector&quot;:null,&quot;target&quot;:[&quot;form:table:2:detail:panel&quot;] ,&quot;callback&quot;:function(event,component){component['show'].apply(component,[] );}} ); return false;" /></td><td id="form:table:2:j_idt190" class="rf-dt-c">t3</td></tr><tr class="rf-dt-r"><td id="form:table:3:j_idt172" class="rf-dt-c"><div id="form:table:3:detail:panel" style="visibility: hidden;"><div class="rf-pp-shade" id="form:table:3:detail:panel_shade" style="z-index:100;"><button class="rf-pp-btn" id="form:table:3:detail:panelFirstHref"></button></div><div class="rf-pp-cntr " id="form:table:3:detail:panel_container" style="position: fixed; z-index:100; "><div class="rf-pp-shdw" id="form:table:3:detail:panel_shadow"></div><div class="rf-pp-hdr " id="form:table:3:detail:panel_header"><div class="rf-pp-hdr-cnt" id="form:table:3:detail:panel_header_content">Details of the table</div></div><div class="rf-pp-hdr-cntrls " id="form:table:3:detail:panel_header_controls"><a id="form:table:3:detail:hidelink" href="#" onclick="jsf.util.chain(this,event,'RichFaces.ui.ComponentControl.execute(event,{&quot;selector&quot;:null,&quot;target&quot;:[&quot;form:table:3:detail:panel&quot;] ,&quot;callback&quot;:function(event,component){component[\'hide\'].apply(component,[] );}} ); return false;','mojarra.jsfcljs(document.getElementById(\'form\'),{\'form:table:3:detail:hidelink\':\'form:table:3:detail:hidelink\'},\'\')');return false">[Close]</a></div><div class="rf-pp-cnt-scrlr" id="form:table:3:detail:panel_content_scroller"><div class="rf-pp-cnt" id="form:table:3:detail:panel_content"> <table style="border:thin;" border="1" bgcolor="#FFFFFF"> <tr> <td>Code is: </td> <td>4 </td> </tr> <tr> <td>Description is: </td> <td>t4 </td> </tr> </table></div></div></div><script type="text/javascript">new RichFaces.ui.PopupPanel("form:table:3:detail:panel",{"height":550,"width":800} );</script></div><input id="form:table:3:detail:link" type="submit" name="form:table:3:detail:link" value="4" onclick="RichFaces.ui.ComponentControl.execute(event,{&quot;selector&quot;:null,&quot;target&quot;:[&quot;form:table:3:detail:panel&quot;] ,&quot;callback&quot;:function(event,component){component['show'].apply(component,[] );}} ); return false;" /></td><td id="form:table:3:j_idt190" class="rf-dt-c">t4</td></tr></tbody>]]></update>
                Element update for id=form:table:sc
                <update id="form:table:sc"><![CDATA[<tbody id="form:table:sc"><tr><td style="display: none"><script type="text/javascript">new RichFaces.ui.DataTable("form:table",{"ajaxEventOptions":{} } )</script></td></tr></tbody>]]></update>
                Element update for id=javax.faces.ViewState
                <update id="javax.faces.ViewState"><![CDATA[H4sIAAAAAAAAAJVUXUgUQRwf97zsLI5LzezBCNLKB/foIRAlykrx6DRxTSofam7v793q3s44M3veCUm+FBFBUBGBUQ8RPUgvvRfhQxAoFURQBBG92kMERb00s/ex5xfSsjfM7fx///19zOz8MgpSztCOcZzFuissW+/DPN2PabDm48uFxotvA0jrRbU2wclebArCYigk0gx4mtjJHD16DKlr+9RWOUbkTxOodoywTKfACRtchupH415vGzsp/XRiHEzRdXPp7IMIb7M1hHJUgqrdSTSDAnIWpBLSMLoOpunFX+PbxKfXJUxVGaNlGWpT9Tl9DJvAdciCI/RBBkPgJIGdIBlKHPmoRz3/8fvxwcC1zlbVh6H9a3HlciPPBWQ80PNUx8+RpZFwAdS8FlRR2zpxd8H6vHupULvTN9ZbLaiJ3wgNNGUuPfHESPvr/apuxnA+bnGRm33XfO8Vvh9AVTFUza1p8HRrU9Vq5Ku4myXWuiGwgD6ZDjADZ4Gde/3syK25xX4NaXEUMm3M+QDOgEB1nslRZXLUEMxyUl1xVMslJun1EKixUGGRqAHMwrY1rULtylGaVeaHuRojAvWsz+RMrOxly3quKpXgAOtOYiqAyeR3FYO3iL7ijU/fhOaND8uxUviaHz6V6e8jLKUzy0yvZXASCzyseiD/kvzlXW5RM8PQ4c0VDDJCgYn8KcjzQWZlpUOlhnVe1GF/z/Y4bqZykQrUgIX0OOEK4MNpLLoZGCA8A8MVqXqGUjU2FOcCtfnnaaVOpc0wGbFtYJ0UpyAnlej/p6SSpXrhHnl+faZlfgGPX6DIyUsfVZBtKc7LXxLPhZgjIAWs7uvDR79mr3ZoaiMHs9h2QboV8esG3EwC2JX5O83bbn+5Xs5YqYlunKwBky44JmwmJzhmMS7UnyhdRfA4ITZgZ3Evu/x+7s93SfB8iSBF0vng+AUrecjfaxWfKVqxgQKSaPtGto9YMDVEyKaub5EHU8SSnpHtcumA3KT/AEHFuCWeBQAA]]></update>

                debug[16:58:20.180]: richfaces.queue: ajax submit successfull

                debug[16:58:20.180]: richfaces.queue: Nothing to submit

                info [16:58:20.181]: Received 'success' event from <span id=form:j_idt183 class="rf-ds" ...>

                info [16:58:20.181]: Received 'complete' event from <span id=form:j_idt183 class="rf-ds" ...>

                5) Window freeze:

                dataScrollerStatusTeste.jpeg

                • 5. Re: RichFaces4 dataScroller+a4j:status doesn't work
                  Edilmar Alves Expert

                  I discover something but I don't know if this is a bug of RF4 or a default behaviour.

                  I put a4j:status outside h:form and all worked fine. In the code above, a4j:status was wrote inside a h:form.

                  • 6. Re: RichFaces4 dataScroller+a4j:status doesn't work
                    Ilya Shaikovsky Master

                    http://jira.jboss.org/browse/RF-10853

                     

                    Thanks for your patience and efforts reporting that!

                    • 7. Re: RichFaces4 dataScroller+a4j:status doesn't work
                      Edilmar Alves Expert

                      Hi,

                       

                      I discover another case where a4j:status is out of the h:form but also it doesn't work.

                      If you try this RF4 code, you'll see that:

                            <rich:tabPanel id="tabPanelMestre" switchType="client">

                              <rich:tab id="tabMD0" name="tabMD0" header="ABA GERAL" disabled="false"  render="messages">

                                <a4j:region id="a4j_tabMD0">

                                  <a4j:status id="statusTeste" onstart="#{rich:component('splash')}.show()" onstop="#{rich:component('splash')}.hide()" />

                                  <rich:popupPanel id="splash" autosized="true" width="200" height="80" moveable="false" resizeable="false">

                                    <f:facet name="header"><h:outputText value="Carregando" /></f:facet>

                                    <h:outputText value="Aguarde um instante..." />

                                  </rich:popupPanel>

                                  <h:form id="formCad">         

                                    <a4j:commandButton id="gravar"

                                                       action="#{teste.gravar}"

                                                       render="panelTeste"

                                                       status="statusTeste" >

                                    </a4j:commandButton>

                                    <rich:panel id="panelTeste">

                                      <h:messages id="messages" layout="list"/>   

                                      <rich:tabPanel id="intabPanel" switchType="client">

                                        <rich:tab id="intab0_0" name="intab0_0" header="Dados Gerais" disabled="false"  render="messages">

                                          <h:inputText id="codCidade" value="#{teste.codCidade}"/>

                                        </rich:tab>

                                      </rich:tabPanel>

                                    </rich:panel>

                                  </h:form>

                                </a4j:region>

                              </rich:tab>

                            </rich:tabPanel>

                      The code for the bean teste (CDI/Weld 1.1.0 + GlassFish3.0.1 tested) is very simple. The method "gravar" is here:

                       

                      package control.testes;

                       

                      import java.io.Serializable;

                      import javax.enterprise.context.SessionScoped;

                      import javax.inject.Named;

                       

                      @Named

                      @SessionScoped

                      public class Teste implements Serializable {

                        private Integer codCidade;

                       

                        public Integer getCodCidade() {

                          return codCidade;

                        }

                       

                        public void setCodCidade(Integer codCidade) {

                          this.codCidade = codCidade;

                        }

                       

                        public String gravar() {

                          try {

                            Thread.sleep(2000);

                          } catch (Exception e) {

                            e.printStackTrace();

                          }

                          JsfUtil.addSuccessMessage("Foi gravado o codCidade = " + codCidade);

                          return null;

                        }

                       

                      }

                      I put a "sleep" to run the method slowly, to force a4j:status. But a4j:status doesn't appear.

                      • 8. Re: RichFaces4 dataScroller+a4j:status doesn't work
                        Lee Marsh Newbie

                        Don't know if this information is relevant to fixing this bug, but thought I should post anyways to help others that find the thread:

                         

                        I was having the same problem and came across this thread. I also found that the onstop would not be called if the popupPanel component is inside a form; it did not work correctly until I moved both the status component and the popupPanel outside of the form tag.

                        • 9. Re: RichFaces4 dataScroller+a4j:status doesn't work
                          Bruce Randall Newbie

                          Is there any work around for this. I currently have the a4j:status and popup outside the form and it does not start or stop.