Initial logs with datasource / datatable setup

Summary:
First rudementary setup of DataTable component that follows a data source. Initially used react-virtuose library, but it performed really badly by doing expensive layout shifts and having troublesome scroll handling. Switched to react-virtual library, which is a bit more level, but much more efficient, and the source code is actually understandable :)

Features:
- hook up to window events of datasource
- high and low prio rendering, based on where the change is happening (should be optimized further)
- sticky scrolling support
- initial column configuration (custom rendering, styling, columns etc will follow in next diffs)

Reviewed By: nikoant

Differential Revision: D26175665

fbshipit-source-id: 224be13b1b32d35e7e01c1dc4198811e2af31102
This commit is contained in:
Michel Weststrate
2021-03-16 14:54:53 -07:00
committed by Facebook GitHub Bot
parent 5b76a0c717
commit 86ad413669
8 changed files with 440 additions and 3 deletions

View File

@@ -71,7 +71,9 @@ export {
} from './utils/Logger';
export {Idler} from './utils/Idler';
export {createDataSource} from './state/datasource/DataSource';
export {createDataSource, DataSource} from './state/datasource/DataSource';
export {DataTable, DataTableColumn} from './ui/datatable/DataTable';
// It's not ideal that this exists in flipper-plugin sources directly,
// but is the least pain for plugin authors.