@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
1 lines • 1.39 kB
Source Map (JSON)
{"version":3,"sources":["../../../packages/core/copilot/copilot-iframe/iframe-child-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,eAAe,CAA4C;;IAM5D,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAIjD,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI;IAIjE,OAAO,CAAC,aAAa;CAIxB","file":"iframe-child-service.d.ts","sourcesContent":["import { IFrameMessage } from \"./iframe-message\";\r\n\r\n/**\r\n* Usage example\r\n* const iframeChildService = new IFrameChildService();\r\n* iframeChildService.onMessage(message => {\r\n* console.log('IFrameMessage received from parent:', message);\r\n* });\r\n */\r\nexport class IFrameChildService {\r\n private messageHandlers: ((message: IFrameMessage) => void)[] = [];\r\n\r\n constructor() {\r\n window.addEventListener('message', this.handleMessage.bind(this));\r\n }\r\n\r\n public sendMessageToParent(message: IFrameMessage): void {\r\n window.parent.postMessage(message, '*');\r\n }\r\n\r\n public onMessage(handler: (message: IFrameMessage) => void): void {\r\n this.messageHandlers.push(handler);\r\n }\r\n\r\n private handleMessage(event: MessageEvent): void {\r\n const message: IFrameMessage = event.data;\r\n this.messageHandlers.forEach(handler => handler(message));\r\n }\r\n}\r\n"]}