@gooddata/react-components
Version:
GoodData React Components
61 lines (60 loc) • 2.4 kB
TypeScript
/// <reference types="react" />
import * as React from 'react';
import * as GoodData from 'gooddata';
import { Afm, DataSource, MetadataSource } from '@gooddata/data-layer';
import 'rxjs/add/operator/switchMap';
import { IChartConfig } from '../core/base/BaseChart';
import { IEvents } from '../../interfaces/Events';
import { Requireable } from '../../proptypes/Visualization';
import { IDrillableItem } from '../../interfaces/DrillEvents';
export { Requireable };
export declare type VisualizationEnvironment = 'none' | 'dashboards';
export interface IVisualizationProps extends IEvents {
projectId: string;
uri?: string;
identifier?: string;
locale?: string;
config?: IChartConfig;
filters?: Afm.IFilter[];
drillableItems?: IDrillableItem[];
uriResolver?: (projectId: string, uri?: string, identifier?: string) => Promise<string>;
}
export interface IVisualizationExecInfo {
type: string;
dataSource: DataSource.IDataSource<GoodData.ISimpleExecutorResult>;
metadataSource: MetadataSource.IMetadataSource;
}
export interface IVisualizationState {
isLoading: boolean;
}
export declare class Visualization extends React.Component<IVisualizationProps, IVisualizationState> {
static propTypes: {
filters: Requireable<any>;
drillableItems: Requireable<any>;
projectId: (object: any, key: string, componentName: string, ...rest: any[]) => Error;
identifier: Requireable<any>;
uri: Requireable<any>;
uriResolver: Requireable<any>;
onError: Requireable<any>;
onLoadingChanged: Requireable<any>;
afterRender: Requireable<any>;
pushData: Requireable<any>;
config: Requireable<any>;
};
static defaultProps: Partial<IVisualizationProps>;
private visualizationUri;
private type;
private uriAdapter;
private metadataSource;
private dataSource;
private subscription;
private subject;
constructor(props: IVisualizationProps);
componentDidMount(): void;
componentWillUnmount(): void;
shouldComponentUpdate(nextProps: IVisualizationProps, nextState: IVisualizationState): boolean;
hasChangedProps(nextProps: IVisualizationProps, propKeys?: string[]): boolean;
componentWillReceiveProps(nextProps: IVisualizationProps): void;
render(): JSX.Element;
private prepareDataSources({projectId, identifier, filters});
}