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

a4j:poll : a4j:status never clears

    XMLWordPrintable

    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: