You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by hn...@apache.org on 2024/11/18 11:40:47 UTC
(myfaces-tobago) branch tobago-5.x updated: feat: Add PageRenderer support for PartialViewContext.renderAll (#5692)
This is an automated email from the ASF dual-hosted git repository.
hnoeth pushed a commit to branch tobago-5.x
in repository https://gitbox.apache.org/repos/asf/myfaces-tobago.git
The following commit(s) were added to refs/heads/tobago-5.x by this push:
new aecda114b8 feat: Add PageRenderer support for PartialViewContext.renderAll (#5692)
aecda114b8 is described below
commit aecda114b85295a490db1bf0fe56bd99edd79bd3
Author: Carsten Dimmek <ca...@gmail.com>
AuthorDate: Mon Nov 18 09:55:35 2024 +0100
feat: Add PageRenderer support for PartialViewContext.renderAll (#5692)
Issue: TOBAGO-2366
(cherry picked from commit 4c79934ca4cc5b1eec5ec3699ae8cc9cd21278c6)
---
.../tobago/internal/renderkit/renderer/PageRenderer.java | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/PageRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/PageRenderer.java
index 32287e27a9..71cdfbae34 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/PageRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/PageRenderer.java
@@ -60,6 +60,7 @@ import javax.faces.component.UIOutput;
import javax.faces.component.UIViewRoot;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
+import javax.faces.context.PartialViewContext;
import java.io.IOException;
import java.lang.invoke.MethodHandles;
import java.util.ArrayList;
@@ -130,7 +131,7 @@ public class PageRenderer<T extends AbstractUIPage> extends RendererBase<T> {
final UIViewRoot viewRoot = facesContext.getViewRoot();
final String viewId = viewRoot.getViewId();
final String formAction = externalContext.encodeActionURL(viewHandler.getActionURL(facesContext, viewId));
- final boolean ajax = facesContext.getPartialViewContext().isAjaxRequest();
+ final PartialViewContext partialViewContext = facesContext.getPartialViewContext();
final String contentType = writer.getContentTypeWithCharSet();
ResponseUtils.ensureContentTypeHeader(facesContext, contentType);
@@ -144,7 +145,7 @@ public class PageRenderer<T extends AbstractUIPage> extends RendererBase<T> {
final Locale locale = viewRoot.getLocale();
- if (!facesContext.getPartialViewContext().isAjaxRequest()) {
+ if (!partialViewContext.isAjaxRequest() || partialViewContext.isRenderAll()) {
writer.startElement(HtmlElements.HTML);
if (locale != null) {
final String language = locale.getLanguage();
@@ -241,7 +242,7 @@ public class PageRenderer<T extends AbstractUIPage> extends RendererBase<T> {
writer.startElement(HtmlElements.SPAN);
writer.writeIdAttribute(clientId + ComponentUtils.SUB_SEPARATOR + "jsf-state-container");
writer.flush();
- if (!ajax) {
+ if (!partialViewContext.isAjaxRequest() || partialViewContext.isRenderAll()) {
viewHandler.writeState(facesContext);
}
writer.endElement(HtmlElements.SPAN);
@@ -318,6 +319,7 @@ public class PageRenderer<T extends AbstractUIPage> extends RendererBase<T> {
final UIViewRoot viewRoot = facesContext.getViewRoot();
final TobagoResponseWriter writer = getResponseWriter(facesContext);
+ final PartialViewContext partialViewContext = facesContext.getPartialViewContext();
writer.endElement(HtmlElements.FORM);
@@ -329,7 +331,7 @@ public class PageRenderer<T extends AbstractUIPage> extends RendererBase<T> {
writer.endElement(HtmlElements.NOSCRIPT);
writer.endElement(HtmlElements.TOBAGO_PAGE);
- if (!facesContext.getPartialViewContext().isAjaxRequest()) {
+ if (!partialViewContext.isAjaxRequest() || partialViewContext.isRenderAll()) {
final List<UIComponent> bodyResources = viewRoot.getComponentResources(facesContext, BODY_TARGET);
for (final UIComponent bodyResource : bodyResources) {
bodyResource.encodeAll(facesContext);