después de portar mi aplicación de PF 8.0 a PF 11.0 con PrimeFaces.monitorDownload, no se llama al método de detención.
<h:form id="pdfExportForm"> <h:commandLink id="pdfExportLink" action="#{statisticsAdminController.exportPDF}" style="display: none;" onclick="PrimeFaces.monitorDownload(showStatus, hideStatus);" /> <p:dialog modal="true" widgetVar="statusDialog" draggable="false" closable="false"> <p:graphicImage library="images" name="ajax-loader.gif" /> </p:dialog> </h:form>el método exportPDF llama al método que descarga el archivo
public static void downloadFile ( ByteArrayOutputStream baos ,FacesContext fctx ,String fileName ,String contentType ) throws IOException { ExternalContext ectx = fctx.getExternalContext(); OutputStream out = ectx.getResponseOutputStream(); ectx.responseReset(); ectx.setResponseContentType(contentType); ectx.setResponseHeader("Expires", "0"); ectx.setResponseHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0"); ectx.setResponseHeader("Pragma", "public"); ectx.setResponseHeader("Content-disposition", "attachment;filename=" + fileName); ectx.setResponseContentLength(baos.size()); ectx.addResponseCookie(Constants.DOWNLOAD_COOKIE, "true", Collections.<String, Object> emptyMap()); baos.writeTo(out); fctx.responseComplete(); ectx.responseFlushBuffer(); out.close(); }este código funciona bien con PF 8.0, pero después de migrar a PF 11.0 termino con un cuadro de diálogo modal que no se cierra después de que finaliza la descarga. Sin embargo, el archivo se descarga.
Saludos Andrija