@gooddata/react-components
Version:
GoodData.UI - A powerful JavaScript library for building analytical applications
34 lines (33 loc) • 1.63 kB
TypeScript
import * as React from "react";
import { SDK, DataLayer } from "@gooddata/gooddata-js";
import { AFM, Execution } from "@gooddata/typings";
import { IDataSource } from "../../interfaces/DataSource";
export declare type IAdapterFactory = (sdk: SDK, projectId: string) => DataLayer.IAdapter<Execution.IExecutionResponses>;
export interface IDataSourceProviderProps {
afm: AFM.IAfm;
projectId: string;
resultSpec?: AFM.IResultSpec;
adapterFactory?: IAdapterFactory;
sdk?: SDK;
[p: string]: any;
}
export interface IDataSourceProviderState {
exportTitle?: string;
dataSource: IDataSource;
resultSpec?: AFM.IResultSpec;
}
export interface IDataSourceProviderInjectedProps extends IDataSourceProviderState {
updateTotals?: (totals: AFM.ITotalItem[]) => void;
}
export declare type IDataSourceInfoPromise = Promise<IDataSource>;
export declare type IGenerateDefaultDimensionsFunction = (afm: AFM.IAfm) => AFM.IDimension[];
/**
* dataSourceProvider
* is a function that creates a dataSource and passes it to InnerComponent
* @param InnerComponent: React.ComponentClass<T & IDataSourceProviderInjectedProps>
* a component that will be pased dataSource prop
* @param generateDefaultDimensions - a function that returns default dimensions
* @param componentName: string - InnerComponent actual name
* @internal
*/
export declare function dataSourceProvider<T>(InnerComponent: React.ComponentType<T & IDataSourceProviderInjectedProps>, generateDefaultDimensions: IGenerateDefaultDimensionsFunction, componentName: string, exportTitle?: string): React.ComponentClass<IDataSourceProviderProps>;