UNPKG

alinea

Version:

[![npm](https://img.shields.io/npm/v/alinea.svg)](https://npmjs.org/package/alinea) [![install size](https://packagephobia.com/badge?p=alinea)](https://packagephobia.com/result?p=alinea)

47 lines (45 loc) 1.48 kB
import "../chunks/chunk-U5RRZUYZ.js"; // src/preview/RegisterPreview.ts import { PreviewAction } from "alinea/preview/PreviewMessage"; function registerPreview(api) { if (typeof window === "undefined") return; function handleMessage(event) { if (!event.data || typeof event.data !== "object") return; const message = event.data; switch (message.action) { case PreviewAction.Preview: console.log("[Alinea preview received]"); api.preview(message); return; case PreviewAction.Reload: console.log("[Alinea preview reload received]"); return location.reload(); case PreviewAction.Previous: console.log("[Alinea preview previous received]"); return history.back(); case PreviewAction.Next: console.log("[Alinea preview next received]"); return history.forward(); case PreviewAction.Ping: console.log("[Alinea preview ping received]"); api.setIsPreviewing(true); return window.parent.postMessage( { action: PreviewAction.Pong }, event.origin ); } } if (window.location != window.parent.location) { window.parent.postMessage({ action: PreviewAction.Pong }, document.referrer); addEventListener("message", handleMessage); console.log("[Alinea preview listener attached]"); } return () => { removeEventListener("message", handleMessage); }; } export { registerPreview };