@kontent-ai/smart-link
Version:
Kontent.ai Smart Link SDK allowing to automatically inject [smart links](https://docs.kontent.ai/tutorials/develop-apps/build-strong-foundation/set-up-editing-from-preview#a-using-smart-links) to Kontent.ai according to manually specified [HTML data attri
28 lines (27 loc) • 2.44 kB
TypeScript
import { Callback, EventHandler } from '../utils/events';
import { IAddActionMessageData, IAddButtonInitialMessageData, IAddButtonPermissionsServerModel, IClickedMessageMetadata, IContentComponentClickedMessageData, IContentItemClickedMessageData, IElementClickedMessageData, IFrameMessageType, IPreviewIFrameCurrentUrlMessageData, IRefreshMessageData, IRefreshMessageMetadata, ISDKInitializedMessageData, ISDKStatusMessageData, IUpdateMessageData } from './IFrameCommunicatorTypes';
export type IFrameMessageMap = Readonly<{
[IFrameMessageType.Initialized]: EventHandler<ISDKInitializedMessageData, undefined, Callback>;
[IFrameMessageType.Status]: EventHandler<ISDKStatusMessageData>;
[IFrameMessageType.ElementClicked]: EventHandler<IElementClickedMessageData, IClickedMessageMetadata>;
[IFrameMessageType.ContentItemClicked]: EventHandler<IContentItemClickedMessageData, IClickedMessageMetadata>;
[IFrameMessageType.ContentComponentClicked]: EventHandler<IContentComponentClickedMessageData, IClickedMessageMetadata>;
[IFrameMessageType.AddInitial]: EventHandler<IAddButtonInitialMessageData, IClickedMessageMetadata, Callback<IAddButtonPermissionsServerModel>>;
[IFrameMessageType.AddAction]: EventHandler<IAddActionMessageData, IClickedMessageMetadata>;
[IFrameMessageType.RefreshPreview]: EventHandler<IRefreshMessageData, IRefreshMessageMetadata>;
[IFrameMessageType.UpdatePreview]: EventHandler<IUpdateMessageData>;
[IFrameMessageType.PreviewIFrameCurrentUrl]: EventHandler;
[IFrameMessageType.PreviewIFrameCurrentUrlResponse]: EventHandler<IPreviewIFrameCurrentUrlMessageData>;
}>;
export declare class IFrameCommunicator {
private events;
private readonly callbacks;
initialize(): void;
destroy(): void;
sendMessageWithResponse: <M extends keyof IFrameMessageMap>(type: M, data: Parameters<IFrameMessageMap[M]>[0], callback: Parameters<IFrameMessageMap[M]>[2], metadata?: Parameters<IFrameMessageMap[M]>[1]) => void;
sendMessage: <M extends keyof IFrameMessageMap>(type: M, data: Parameters<IFrameMessageMap[M]>[0], metadata?: Parameters<IFrameMessageMap[M]>[1], requestId?: string) => void;
addMessageListener: <M extends keyof IFrameMessageMap>(type: M, listener: IFrameMessageMap[M]) => void;
removeMessageListener: <M extends keyof IFrameMessageMap>(type: M, listener: IFrameMessageMap[M]) => void;
private onMessage;
private executeCallback;
}