UNPKG

powerbi-client-react

Version:
63 lines (62 loc) 2.29 kB
import * as React from 'react'; import { service, Embed, IQnaEmbedConfiguration, IVisualEmbedConfiguration, IReportEmbedConfiguration, IDashboardEmbedConfiguration, ITileEmbedConfiguration } from 'powerbi-client'; import { IReportCreateConfiguration, IPaginatedReportLoadConfiguration } from 'powerbi-models'; /** * Type for event handler function of embedded entity */ export type EventHandler = ((event?: service.ICustomEvent<any>, embeddedEntity?: Embed) => void) | null; /** * Props interface for PowerBIEmbed component */ export interface EmbedProps { embedConfig: IReportEmbedConfiguration | IDashboardEmbedConfiguration | ITileEmbedConfiguration | IQnaEmbedConfiguration | IVisualEmbedConfiguration | IPaginatedReportLoadConfiguration | IReportCreateConfiguration; getEmbeddedComponent?: { (embeddedComponent: Embed): void; }; eventHandlers?: Map<string, EventHandler>; cssClassName?: string; phasedEmbedding?: boolean; service?: service.Service; } export declare enum EmbedType { Create = "create", Report = "report", Dashboard = "dashboard", Tile = "tile", Qna = "qna", Visual = "visual" } /** * Base react component to embed Power BI entities like: reports, dashboards, tiles, visual and qna containers. */ export declare class PowerBIEmbed extends React.Component<EmbedProps> { private _embed?; private powerbi; private containerRef; private prevEventHandlerMapString; private get embed(); private set embed(value); constructor(props: EmbedProps); componentDidMount(): void; componentDidUpdate(prevProps: EmbedProps): Promise<void>; componentWillUnmount(): void; render(): JSX.Element; /** * Embed the powerbi entity (Load for phased embedding) */ private embedEntity; /** * Sets all event handlers from the props on the embedded entity * * @param embed Embedded object * @param eventHandlers Array of eventhandlers to be set on embedded entity * @returns void */ private setEventHandlers; /** * Returns the embedded object via _getEmbed_ callback method provided in props * * @returns void */ private invokeGetEmbedCallback; }