// Libraries import React, {FunctionComponent, useState} from 'react' import memoizeOne from 'memoize-one' import {RawFluxDataGrid} from './RawFluxDataGrid' // Utils import {parseFiles, parseFilesWithObjects} from '../../utils/rawFluxDataTable' import {DapperScrollbars} from '../DapperScrollbars' // Types import {RawFluxDataTableLayerConfig} from '../../types' interface Props { config: RawFluxDataTableLayerConfig } interface State { scrollLeft: number scrollTop: number } const parseFilesMemoized = memoizeOne(parseFiles) const parseFilesWithObjectsMemoized = memoizeOne(parseFilesWithObjects) export const RawFluxDataTable: FunctionComponent = (props: Props) => { const [state, setState] = useState({ scrollLeft: 0, scrollTop: 0, }) const onScrollbarsScroll = event => { const {scrollTop, scrollLeft} = event setState({scrollLeft, scrollTop}) } const { config: {width, height, files, disableVerticalScrolling, parseObjects}, } = props const {scrollTop, scrollLeft} = state const {data, maxColumnCount} = parseObjects ? parseFilesWithObjectsMemoized(files) : parseFilesMemoized(files) const tableWidth = width const tableHeight = height return (
) }