public static final String PROGRESS_MESSAGE = "org.openfaces.defaultProgressMessage";
public static final String RENDERING = "org.openfaces.defaultProgressMessageRendering";
@Override
public void encodeBegin(FacesContext context, UIComponent component) throws IOException {
DefaultProgressMessage dpm = (DefaultProgressMessage) component;
Map<String, Object> requestMap = context.getExternalContext().getRequestMap();
if (!requestMap.containsKey(PROGRESS_MESSAGE) && !requestMap.containsKey(AjaxUtil.AJAX_SUPPORT_RENDERED)) {
requestMap.put(PROGRESS_MESSAGE, dpm);
AjaxUtil.renderAjaxSupport(context);
return;
}
boolean isAjax4jsfRequest = AjaxUtil.isAjax4jsfRequest();
boolean isPortletRequest = AjaxUtil.isPortletRequest(context);
if (requestMap.containsKey(AjaxUtil.AJAX_SUPPORT_RENDERED) || requestMap.containsKey(RENDERING)) {
String ajaxMessageHTML = dpm.getAjaxMessageHTML();
JSONObject backgroundLayerParams = null;
if (dpm.getFillBackground()) {
backgroundLayerParams = new JSONObject();
Rendering.addJsonParam(backgroundLayerParams, "className", new StyleParam(dpm, "background", "o_ajax_blockingLayer"));
Rendering.addJsonParam(backgroundLayerParams, "transparency", /*don't remove (double) cast -- the other function will be invoked*/(double) dpm.getBackgroundTransparency());
Rendering.addJsonParam(backgroundLayerParams, "transparencyTransitionPeriod", /*don't remove (int) cast -- the other function will be invoked*/(int) dpm.getBackgroundTransparencyTransitionPeriod());
}
Styles.renderStyleClasses(context, dpm, true, true);
ScriptBuilder setMessageScript = new ScriptBuilder().functionCall("O$.setAjaxMessageHTML",
ajaxMessageHTML,
dpm.getHorizontalAlignment(),
dpm.getVerticalAlignment(),
dpm.getTransparency(),
dpm.getTransparencyTransitionPeriod(),
backgroundLayerParams).semicolon();
if (isAjaxCleanupRequired()) {
setMessageScript.functionCall("O$.setAjaxCleanupRequired", true).semicolon();
}