@gooddata/react-components
Version:
GoodData.UI - A powerful JavaScript library for building analytical applications
60 lines (59 loc) • 2.24 kB
TypeScript
import * as React from "react";
import { DataLayer, SDK } from "@gooddata/gooddata-js";
import { AFM, Execution } from "@gooddata/typings";
import { IEvents } from "../interfaces/Events";
import { Requireable } from "../proptypes/Execute";
import { RuntimeError } from "../errors/RuntimeError";
export { Requireable };
export declare type IDataTableFactory = (sdk: SDK, projectId: string) => DataLayer.DataTable<Execution.IExecutionResponses>;
export interface IExecuteProps extends IEvents {
afm: AFM.IAfm;
resultSpec?: AFM.IResultSpec;
projectId: string;
children?: any;
sdk?: SDK;
dataTableFactory?: IDataTableFactory;
telemetryComponentName?: string;
}
export interface IExecuteState {
result: Execution.IExecutionResponses;
isLoading: boolean;
error?: RuntimeError;
}
export interface IExecuteChildrenProps {
result: Execution.IExecutionResponses;
error: RuntimeError;
isLoading: boolean;
}
/**
* [Execute](http://sdk.gooddata.com/gooddata-ui/docs/execute_component.html)
* is a component that does execution based on afm and resultSpec props and passes the result to it's children function
*/
export declare class Execute extends React.Component<IExecuteProps, IExecuteState> {
static propTypes: {
projectId: import("prop-types").Validator<any>;
afm: import("prop-types").Validator<any>;
resultSpec: Requireable<any>;
children: import("prop-types").Validator<any>;
LoadingComponent: Requireable<any>;
ErrorComponent: Requireable<any>;
telemetryComponentName: Requireable<any>;
onError: Requireable<any>;
onLoadingChanged: Requireable<any>;
onLoadingFinish: Requireable<any>;
afterRender: Requireable<any>;
pushData: Requireable<any>;
};
static defaultProps: Partial<IExecuteProps>;
private dataTable;
private sdk;
constructor(props: IExecuteProps);
componentWillMount(): void;
componentWillReceiveProps(nextProps: IExecuteProps): void;
shouldComponentUpdate(nextProps: IExecuteProps, nextState: IExecuteState): boolean;
render(): any;
private isPropChanged;
private hasPropsChanged;
private runExecution;
private initDataTable;
}