@looker/extension-sdk-react
Version:
Looker Extension SDK for React
33 lines (32 loc) • 1.24 kB
TypeScript
import type { ReactNode } from 'react';
import type { ExtensionHostApi, ExtensionSDK, LookerHostData, RawVisualizationData, TileHostData, TileSDK, VisualizationSDK } from '@looker/extension-sdk';
export interface BaseExtensionContextData {
extensionSDK: ExtensionSDK;
lookerHostData?: Readonly<LookerHostData>;
initializeError?: string;
route: string;
routeState?: any;
visualizationData?: Readonly<RawVisualizationData>;
visualizationSDK: VisualizationSDK;
tileHostData: Readonly<TileHostData>;
tileSDK: TileSDK;
}
export interface RouteData {
route: string;
routeState?: any;
}
export interface ExtensionProviderProps {
hostTracksRoute?: boolean;
onPathnameChange?: (pathname: string) => void;
onRouteChange?: (route: string, routeState?: any) => void;
loadingComponent?: JSX.Element;
requiredLookerVersion?: string;
chattyTimeout?: number;
children?: ReactNode;
}
export interface ExtensionConnectorProps extends ExtensionProviderProps {
contextData: BaseExtensionContextData;
connectedCallback: (extensionSDK: ExtensionHostApi) => void;
updateContextData: (contextData: Partial<BaseExtensionContextData>) => void;
unloadedCallback: () => void;
}