UNPKG

@airplane/views

Version:

A React library for building Airplane views. Views components are optimized in style and functionality to produce internal apps that are easy to build and maintain.

29 lines (28 loc) 917 B
import { useQueryClient } from "@tanstack/react-query"; import { useEffect } from "react"; import { WEB_HOST_GET } from "../client/endpoints.js"; import { Fetcher } from "../client/fetcher.js"; const useHandleParentMessage = (callback) => { const queryClient = useQueryClient(); useEffect(() => { const handleMessage = async (message) => { const fetcher = new Fetcher(); const webHost = await queryClient.fetchQuery([WEB_HOST_GET], async () => { return await fetcher.get(WEB_HOST_GET, {}); }, { staleTime: Infinity }); if (message.origin === webHost) { callback(message.data); } }; window.addEventListener("message", handleMessage); return () => { window.removeEventListener("message", handleMessage); }; }, [queryClient, callback]); }; export { useHandleParentMessage }; //# sourceMappingURL=useHandleParentMessage.js.map