import * as React from 'react'; import { CacheData } from './LazyMobXCache'; import { TableCellStatus, TableCellStatusIndicator, } from 'cbioportal-frontend-commons'; export default function LazyLoadedTableCell( getCacheData: (d: D) => CacheData | null, render: (t: T, d?: D) => JSX.Element, naAlt?: string ): (d: D) => JSX.Element { return (d: D) => { const cacheData: CacheData | null = getCacheData(d); if (cacheData === null) { return ( ); } else if (cacheData.status === 'error') { return ; } else if (cacheData.data === null) { return ( ); } else { return render(cacheData.data, d); } }; }