kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
102 lines (101 loc) • 3.57 kB
TypeScript
import React from 'react';
import { OnScrollParams, GridProps, Index } from 'react-virtualized';
import { CellSizeCache } from './cell-size';
import HeaderCellFactory from './header-cell';
import { ColMeta } from '@kepler.gl/types';
import { DataContainerInterface } from '@kepler.gl/utils';
declare type ContainerProps = {
hasCustomScrollBarStyle?: boolean;
};
export declare const Container: import("styled-components").StyledComponent<"div", any, ContainerProps, never>;
export declare type SortColumn = {
column?: string;
mode?: string;
};
interface GetRowCellProps {
dataContainer: DataContainerInterface;
columns: (string & {
ghost?: boolean;
})[];
column: string;
colMeta: any;
rowIndex: number;
sortOrder?: number[] | null;
}
interface TableSectionProps {
classList?: {
header: string;
rows: string;
};
isPinned?: boolean;
columns: (string & {
ghost?: boolean;
})[];
headerGridProps?: any;
fixedWidth?: number;
fixedHeight?: number;
onScroll?: (params: OnScrollParams) => void;
scrollTop?: number;
dataGridProps: {
rowHeight: number | ((params: Index) => number);
rowCount: number;
} & Partial<GridProps>;
columnWidth?: any;
setGridRef?: Function;
headerCellRender?: any;
dataCellRender?: any;
scrollLeft?: number;
}
export declare const TableSection: ({ classList, isPinned, columns, headerGridProps, fixedWidth, fixedHeight, onScroll, scrollTop, dataGridProps, columnWidth, setGridRef, headerCellRender, dataCellRender, scrollLeft }: TableSectionProps) => React.JSX.Element;
export interface DataTableProps {
dataId?: string;
hasStats?: boolean;
cellSizeCache?: CellSizeCache;
pinnedColumns?: string[];
columns: (string & {
ghost?: boolean;
})[];
fixedWidth?: number;
theme?: any;
dataContainer: DataContainerInterface;
fixedHeight?: number;
colMeta: ColMeta;
sortColumn: SortColumn;
sortTableColumn: (column: string, mode?: string) => void;
pinTableColumn: (column: string) => void;
setColumnDisplayFormat: (formats: {
[key: string]: string;
}) => void;
copyTableColumn: (column: string) => void;
sortOrder?: number[] | null;
showStats?: boolean;
hasCustomScrollBarStyle?: boolean;
getRowCell?: (renderDataCellProps: GetRowCellProps, formatter: any) => string | number;
}
declare function DataTableFactory(HeaderCell: ReturnType<typeof HeaderCellFactory>): React.ComponentType<DataTableProps>;
declare namespace DataTableFactory {
var deps: {
(FieldToken: React.FC<import("../field-token").FieldTokenProps>): ({ cellInfo, columns, isPinned, props, toggleMoreOptions, moreOptionsColumn }: {
cellInfo: {
columnIndex: number;
isScrolling: boolean;
isVisible: boolean;
key: string;
parent: any;
rowIndex: number;
style: React.CSSProperties;
};
columns: (string & {
ghost?: boolean | undefined;
})[];
colMeta?: ColMeta | undefined;
isPinned?: boolean | undefined;
showStats?: boolean | undefined;
props: DataTableProps;
toggleMoreOptions: (moreOptionsColumn: string) => void;
moreOptionsColumn: string | null;
}) => React.JSX.Element;
deps: typeof import("../field-token").default[];
}[];
}
export default DataTableFactory;