From 3d3dad6ca06c929cedb48c6f84221fcec7e48083 Mon Sep 17 00:00:00 2001 From: natmegs Date: Mon, 8 Apr 2019 07:15:00 -0700 Subject: [PATCH] fix(Table): don't use virtual list for small tables Only use a virtualized list to display tables with large (>1000) amount of table data. Closes DCOS-51574 --- src/Table/Table.js | 31 +++++++++++++++++++++++++++---- src/Table/__tests__/Table-test.js | 8 ++++---- 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/src/Table/Table.js b/src/Table/Table.js index e2f97b69d..eeb915d0f 100644 --- a/src/Table/Table.js +++ b/src/Table/Table.js @@ -271,7 +271,7 @@ class Table extends React.Component { } getTBody(columns, data, sortBy, itemHeight) { - const buildRowOptions = this.props.buildRowOptions; + const { buildRowOptions, virtualizeDataThreshold } = this.props; let childToMeasure; if (itemHeight === 0 && data.length) { @@ -290,13 +290,32 @@ class Table extends React.Component { return {this.getEmptyRowCell(columns)}; } + const sortedData = sortData(columns, data, sortBy); + + if (data.length < virtualizeDataThreshold) { + // Do not use virtual list for "small" data sets + return ( + + {sortedData.map((item, index) => { + return this.getRowCells( + columns, + sortBy, + buildRowOptions, + item, + index + ); + })} + + ); + } + return (