Barra de progreso y bloqueo para procesos muy largos

Para procesos muy largos podemos invocar un dialogo que muestre que se esta procesando y bloquear el panel hasta que termine la operación.

 <p:ajaxStatus onstart="PF('jmoordbjsfStatusDialog').show()" onsuccess="PF('jmoordbjsfStatusDialog').hide()" />
        <p:dialog widgetVar="jmoordbjsfStatusDialog" modal="true" draggable="false" closable="false" resizable="false" showHeader="false">
            <p:outputLabel value="Procesando...."/>
            <i class="pi pi-spin pi-spinner" style="font-size: 2em"></i>
        </p:dialog>

Usamos el ajaxStatus de esta manera cada componente que use un Ajax mostrara el dialogo mientras se ejecuta el proceso, Aplica automaticamente para autocomplete, selecteOneMenu y todos los componentes que usen ajax.

El bloqueo se hace indicando el componente que invoca la operacion, generalmente un commandbutton identificado por su id y el componente a bloquear.

    <p:blockUI block="mypanel" trigger="jmoordbjsfCommandButtonSave" />

Last updated