Procházet zdrojové kódy

Pass in_preview_panel parameter to preview URL

Sage Abdullah před 1 měsícem
rodič
revize
830a0cfb64
1 změnil soubory, kde provedl 15 přidání a 0 odebrání
  1. 15 0
      bakerydemo/headless.py

+ 15 - 0
bakerydemo/headless.py

@@ -1,3 +1,5 @@
+from django.http import HttpRequest
+from django.utils.http import urlencode
 from django.views.generic import TemplateView
 from wagtail.admin.userbar import (
     Userbar,
@@ -17,6 +19,19 @@ class CustomHeadlessMixin(HeadlessMixin):
             return f"{root_url}/api/draft"
         return root_url
 
+    def get_preview_url(self, request: HttpRequest, token: str) -> str:
+        return (
+            self.get_client_root_url(request)
+            + "?"
+            + urlencode(
+                {
+                    "content_type": self.get_content_type_str(),
+                    "token": token,
+                    "in_preview_panel": getattr(request, "in_preview_panel", False),
+                }
+            )
+        )
+
 
 class UserbarView(TemplateView):
     template_name = Userbar.template_name