rich:progressBar is a component which could be used to display progress of any client or server side process.

In order to display progress of some server side process(mode="ajax") component uses polling method. It just polls server to get the value which should be updated by server side process.

Next simple example shows you progress bar which polls server every two second to get new progress value

Server Side

In order to customize progressBar next main attributes used:

- minValue, maxValue - defines boundary values for progress bar
- value - value binding to property which kept process progress
- enabled - boolean attribute. If false progress stops polling

Also next two facets could be defined for states customization:

- initial rendered before progress started
- complete rendered after process complete

Next example shows client side progress bar. Progress Bar JS API should be used to update progress value from client side process.

Client Side

Next JS API functions should be used to update progress:

- enable()
- disable()
- setValue(newValue)
- setLabel(newLabel)