preset-sdk-url-params
Version:
Frontend SDK for embedding Preset data analytics into your own application
46 lines (45 loc) • 1.8 kB
TypeScript
import { Switchboard } from '@superset-ui/switchboard';
/**
* The function to fetch a guest token from your Host App's backend server.
* The Host App backend must supply an API endpoint
* which returns a guest token with appropriate resource access.
*/
export type GuestTokenFetchFn = () => Promise<string>;
export type UiConfigType = {
hideTitle?: boolean;
hideTab?: boolean;
hideChartControls?: boolean;
filters?: {
[key: string]: boolean | Record<string, string> | undefined;
visible?: boolean;
expanded?: boolean;
urlParams?: Record<string, string>;
};
};
export type EmbedDashboardParams = {
/** The id provided by the embed configuration UI in Superset */
id: string;
/** The domain where Superset can be located, with protocol, such as: https://abc123.us1a.preset.io */
supersetDomain: string;
/** The html element within which to mount the iframe */
mountPoint: HTMLElement;
/** A function to fetch a guest token from the Host App's backend server */
fetchGuestToken: GuestTokenFetchFn;
/** The dashboard UI config: hideTitle, hideTab, hideChartControls, filters.visible, filters.expanded **/
dashboardUiConfig?: UiConfigType;
/** Enables extra logging */
debug?: boolean;
};
export type Size = {
width: number;
height: number;
};
export type EmbeddedDashboard = {
getScrollSize: () => Promise<Size>;
unmount: () => void;
};
/**
* Embeds a Superset dashboard into the page using an iframe.
*/
export declare function embedDashboard({ id, supersetDomain, mountPoint, fetchGuestToken, dashboardUiConfig, debug }: EmbedDashboardParams): Promise<EmbeddedDashboard>;
export declare function _initComms(window: Window, targetOrigin: string, debug?: boolean): Switchboard;