We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
I had to replace TurboFrameRenderer with:
TurboFrameRenderer
package org.projectcheckins.security.http; import io.micronaut.context.annotation.Replaces; import io.micronaut.core.annotation.NonNull; import io.micronaut.core.annotation.Nullable; import io.micronaut.core.io.Writable; import io.micronaut.http.HttpRequest; import io.micronaut.http.MediaType; import io.micronaut.views.ModelAndView; import io.micronaut.views.ViewsModelDecorator; import io.micronaut.views.ViewsRendererLocator; import io.micronaut.views.turbo.TurboFrame; import io.micronaut.views.turbo.TurboFrameRenderer; import jakarta.inject.Singleton; import java.util.Optional; @Replaces(TurboFrameRenderer.class) @Singleton class TurboFrameRendererReplacement implements TurboFrameRenderer { private final ViewsModelDecorator viewsModelDecorator; private final ViewsRendererLocator viewsRendererLocator; private final String mediaType; TurboFrameRendererReplacement(ViewsModelDecorator viewsModelDecorator, ViewsRendererLocator viewsRendererLocator) { this.viewsModelDecorator = viewsModelDecorator; this.viewsRendererLocator = viewsRendererLocator; this.mediaType = MediaType.TEXT_HTML; } @SuppressWarnings("unchecked") @Override public @NonNull Optional<Writable> render(TurboFrame.Builder builder, @Nullable HttpRequest<?> request) { return builder.getTemplateView() .map(viewName -> { Object model = builder.getTemplateModel().orElse(null); ModelAndView<Object> modelAndView = new ModelAndView<>(viewName, model); if (request != null && viewsModelDecorator != null) { viewsModelDecorator.decorate(request, modelAndView); } Object decoratedModel = modelAndView.getModel().orElse(null); return viewsRendererLocator.resolveViewsRenderer(viewName, mediaType, decoratedModel) .flatMap(renderer -> builder.template(renderer.render(viewName, decoratedModel, request)) .build() .render()); }) .orElseGet(() -> builder.build().render()); } }
We had the same bug with turbo streams: #778
The text was updated successfully, but these errors were encountered:
fix: Turbo Frame processing should use decoration
3feeedd
As with TurboStream done here #778 Fixes #792
fix: Turbo Frame processing should use decoration (#796)
fa533ae
closed via fa533ae
Sorry, something went wrong.
timyates
Successfully merging a pull request may close this issue.
I had to replace
TurboFrameRenderer
with:We had the same bug with turbo streams: #778
The text was updated successfully, but these errors were encountered: