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;