Fork me on GitHub
Attention: This component is still under progress and experimental.
b:waitingPanel Adds a hidden overlay div to body end and openes waiting panel overlay when ajax request is running.
Tag attributes
component
short click5 second click
                            <!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml" 
      xmlns:h="http://xmlns.jcp.org/jsf/html" 
      xmlns:f="http://xmlns.jcp.org/jsf/core" 
      xmlns:b="http://butterfaces.org/components"> 
<h:head /> 
<body>
    <h:form id="formId">
        <b:waitingPanel id="waiting"
                        delay="500"
                        blockpage="true"
                        rendered"true" />

        <h:commandLink styleClass="btn btn-success"
                       action="#{myBean.waitForFiveSeconds}>"
            <!-- ajax tag is needed because waiting panel component
                 is used ajax status to open and close overlay -->
            <f:ajax />
        </h:commandLink>

    </h:form> 
</body> 
</html>
                        
                            package org.butterfaces.waiting.demo;

@ViewScoped
@Named
public class MyBean implements Serializable {

    public void waitForFiveSeconds() {
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            // this error is not ok...
        }
    }

}