Uploaded image for project: 'RichFaces'
  1. RichFaces
  2. RF-12092

a4j:poll : a4j:status never clears

    Details

    • Steps to Reproduce:
      Hide

      Steps to reproduce in metamer:
      1. deploy metamer application and load http://localhost:8080/metamer/faces/components/a4jStatus/RF-12092.xhtml
      2. wait 5 sec
      3. poll request should be fired and therefore a4:status should be rendered
      4. a4j:status is just text: In progress
      5. see that once the request is completed, the status will not disappear, in other words the text In Progress is still there

      Show
      Steps to reproduce in metamer: 1. deploy metamer application and load http://localhost:8080/metamer/faces/components/a4jStatus/RF-12092.xhtml 2. wait 5 sec 3. poll request should be fired and therefore a4:status should be rendered 4. a4j:status is just text: In progress 5. see that once the request is completed, the status will not disappear, in other words the text In Progress is still there
    • Workaround Description:
      Hide

      1. use named <a4j:status>
      2. so the example will look like

      <h:form id="mainForm">
        
        <a4j:poll id="ajaxPoll" interval="5000" enabled="true" render="helloText">
      	<a4j:ajax status="nameStatus" />
        </a4j:poll>
      
        <a4j:status id="a4jstatus" name="nameStatus">
          <f:facet name="start">
             <img src='/appiq/images/ajax-loader.gif' />
          </f:facet>
        </a4j:status>
      
        <h:outputText id="helloText" value="hello" />
      </h:form>
      
      Show
      1. use named <a4j:status> 2. so the example will look like <h:form id= "mainForm" > <a4j:poll id= "ajaxPoll" interval= "5000" enabled= "true" render= "helloText" > <a4j:ajax status= "nameStatus" /> </a4j:poll> <a4j:status id= "a4jstatus" name= "nameStatus" > <f:facet name= "start" > <img src= '/appiq/images/ajax-loader.gif' /> </f:facet> </a4j:status> <h:outputText id= "helloText" value= "hello" /> </h:form>

      Description

      When a4j:poll fires a4j:status correctly displays the request is in progress. However, it never shows it complete. Using any other a4j component will correctly update the a4j:status. So if the a4j:status is stuck showing its waiting because of an a4j:poll if you click on an a4j:commandButton the a4j:status will correctly show its now complete.

      <a4j:poll id="ajaxPoll" interval="5000" enabled="true" action="#{faces$DiscoveryStatus.poll}"
                 render="#{faces$DiscoveryStatus.reRenderStr}"/>
      
      
                  <a4j:status id="a4jstatus">
      
                      <f:facet name="start">
                          <img src='/images/ajax-loader.gif'/>
                      </f:facet>
                      <!--<f:facet name="stop">-->
                      <!--<img src="/appiq/images/minor_icon.gif"/>-->
                      <!--</f:facet>-->
                  </a4j:status>
      

      This code works correctly in RF 3.3.3.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  michpetrov Michal Petrov
                  Reporter:
                  RobertGary1 Robert Gary
                • Votes:
                  5 Vote for this issue
                  Watchers:
                  9 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: