@gooddata/react-components
Version:
GoodData React Components
66 lines (65 loc) • 2.52 kB
TypeScript
/// <reference types="react" />
import * as React from 'react';
import { ISimpleExecutorResult } from 'gooddata';
import { DataSource, MetadataSource, Transformation, VisualizationObject } from '@gooddata/data-layer';
import { IEvents } from '../../interfaces/Events';
import { IDrillableItem } from '../../interfaces/DrillEvents';
import { IVisualizationProperties } from '../../interfaces/VisualizationProperties';
import { Requireable } from '../../proptypes/Table';
import { ISorting } from '../../helpers/metadata';
import { ISortingChange } from '../../helpers/sorting';
import { VisualizationEnvironment } from '../uri/Visualization';
export { Requireable };
export interface ITableProps extends IEvents {
dataSource: DataSource.IDataSource<ISimpleExecutorResult>;
metadataSource: MetadataSource.IMetadataSource;
transformation?: Transformation.ITransformation;
locale?: string;
height?: number;
environment?: VisualizationEnvironment;
stickyHeader?: number;
drillableItems?: IDrillableItem[];
afterRender?: Function;
pushData?: Function;
visualizationProperties?: IVisualizationProperties;
}
export interface ITableState {
error: string;
result: ISimpleExecutorResult;
metadata: VisualizationObject.IVisualizationObject;
isLoading: boolean;
sorting: ISorting;
page: number;
}
export declare class Table extends React.Component<ITableProps, ITableState> {
static defaultProps: Partial<ITableProps>;
static propTypes: {
dataSource: Requireable<any>;
metadataSource: Requireable<any>;
locale: Requireable<any>;
height: Requireable<any>;
environment: Requireable<any>;
drillableItems: Requireable<any>;
stickyHeader: Requireable<any>;
onError: Requireable<any>;
onLoadingChanged: Requireable<any>;
afterRender: Requireable<any>;
pushData: Requireable<any>;
};
private dataCancellable;
constructor(props: ITableProps);
componentDidMount(): void;
componentWillReceiveProps(nextProps: ITableProps): void;
componentWillUnmount(): void;
onSortChange(change: ISortingChange): void;
onMore({page}: {
page: number;
}): void;
onLess(): void;
render(): JSX.Element;
private canRender();
private onError(errorCode, dataSource?, options?);
private onDataTooLarge();
private onLoadingChanged(loadingState);
private initDataLoading(dataSource, metadataSource, transformation, sorting?);
}