@gooddata/react-components
Version:
GoodData.UI - A powerful JavaScript library for building analytical applications
41 lines (40 loc) • 2.06 kB
TypeScript
import * as React from "react";
import { SDK } from "@gooddata/gooddata-js";
import { AFM, Execution } from "@gooddata/typings";
import { IEvents } from "../../../interfaces/Events";
import { IDrillableItem } from "../../../interfaces/DrillEvents";
import { IHeaderPredicate } from "../../../interfaces/HeaderPredicate";
import { IDataSourceProviderInjectedProps } from "../../afm/DataSourceProvider";
import { WrappedComponentProps } from "react-intl";
import { ILoadingProps } from "../../simple/LoadingComponent";
import { IErrorProps } from "../../simple/ErrorComponent";
import { IPushData } from "../../../interfaces/PushData";
import { IChartConfig } from "../../../interfaces/Config";
export declare type IExecutionDataPromise = Promise<Execution.IExecutionResponses>;
export interface ICommonVisualizationProps extends IEvents {
sdk?: SDK;
projectId?: string;
locale?: string;
drillableItems?: Array<IDrillableItem | IHeaderPredicate>;
afterRender?: () => void;
pushData?: (data: IPushData) => void;
ErrorComponent?: React.ComponentType<IErrorProps>;
LoadingComponent?: React.ComponentType<ILoadingProps>;
config?: IChartConfig;
}
export declare type IGetPage = (resultSpec: AFM.IResultSpec, limit: number[], offset: number[]) => Promise<Execution.IExecutionResponses | null>;
export interface ILoadingInjectedProps extends WrappedComponentProps {
execution: Execution.IExecutionResponses;
error?: string;
isLoading: boolean;
getPage?: IGetPage;
onDataTooLarge(): void;
onNegativeValues(): void;
}
export interface IVisualizationLoadingState {
error?: string;
result?: Execution.IExecutionResponses;
isLoading: boolean;
}
export declare const commonDefaultProps: Partial<ICommonVisualizationProps & IDataSourceProviderInjectedProps>;
export declare function visualizationLoadingHOC<T extends ICommonVisualizationProps & IDataSourceProviderInjectedProps>(InnerComponent: React.ComponentClass<T & ILoadingInjectedProps>, autoExecuteDataSource?: boolean): React.ComponentClass<T>;