From 8ab10bb8b110a8f1db8586396cb771438358bfee Mon Sep 17 00:00:00 2001 From: Chris Williams Date: Fri, 1 May 2020 12:52:50 -0700 Subject: [PATCH 1/3] fix(DataTable): Update rowHeight prop value from xLarge => xlarge --- packages/core/src/components/DataTable/constants.tsx | 2 +- packages/core/src/components/DataTable/types.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/src/components/DataTable/constants.tsx b/packages/core/src/components/DataTable/constants.tsx index 2767610d1..c35b18702 100644 --- a/packages/core/src/components/DataTable/constants.tsx +++ b/packages/core/src/components/DataTable/constants.tsx @@ -21,7 +21,7 @@ export const HEIGHT_TO_PX: HeightMap = { small: 48, regular: 56, large: 64, - xLarge: 80, + xlarge: 80, jumbo: 108, }; diff --git a/packages/core/src/components/DataTable/types.ts b/packages/core/src/components/DataTable/types.ts index edf8a736a..b041fe8a0 100644 --- a/packages/core/src/components/DataTable/types.ts +++ b/packages/core/src/components/DataTable/types.ts @@ -5,7 +5,7 @@ import { DataTable } from './DataTable'; export type DataTableRef = (instance: DataTable) => void; export type TableRef = React.RefObject; -export type RowHeightOptions = 'micro' | 'small' | 'regular' | 'large' | 'xLarge' | 'jumbo'; +export type RowHeightOptions = 'micro' | 'small' | 'regular' | 'large' | 'xlarge' | 'jumbo'; export type HeightOptions = RowHeightOptions | undefined; export type ColumnLabelCase = 'sentence' | 'title' | 'uppercase' | ''; From 85bdb6473f823385fc107e9f1740fa9dd29dab77 Mon Sep 17 00:00:00 2001 From: Chris Williams Date: Fri, 1 May 2020 12:53:10 -0700 Subject: [PATCH 2/3] fix(DataTable): clear timeout on unmount --- packages/core/src/components/DataTable/DataTable.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/core/src/components/DataTable/DataTable.tsx b/packages/core/src/components/DataTable/DataTable.tsx index de6276e84..9fc4fc704 100644 --- a/packages/core/src/components/DataTable/DataTable.tsx +++ b/packages/core/src/components/DataTable/DataTable.tsx @@ -149,6 +149,10 @@ export class DataTable extends React.Component { const { height, rowHeight, showAllRows, dynamicRowHeight } = this.props; // @ts-ignore _rowHeightCache is missing from DataTable types From aadb5006470d872626ef4fde7993760f90a86762 Mon Sep 17 00:00:00 2001 From: Chris Williams Date: Fri, 1 May 2020 12:59:34 -0700 Subject: [PATCH 3/3] fix(DataTable): use existing timeout if it exists, don't create a new one --- .../src/components/DataTable/DataTable.tsx | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/packages/core/src/components/DataTable/DataTable.tsx b/packages/core/src/components/DataTable/DataTable.tsx index 9fc4fc704..2277b1a9b 100644 --- a/packages/core/src/components/DataTable/DataTable.tsx +++ b/packages/core/src/components/DataTable/DataTable.tsx @@ -141,11 +141,13 @@ export class DataTable extends React.Component { - this.cache.clearAll(); - this.forceUpdate(); - }); + if (!this.timeoutId) { + this.timeoutId = window.setTimeout(() => { + this.cache.clearAll(); + this.forceUpdate(); + this.timeoutId = 0; + }); + } } } @@ -226,11 +228,13 @@ export class DataTable extends React.Component { - this.cache.clearAll(); - this.forceUpdate(); - }); + if (!this.timeoutId) { + this.timeoutId = window.setTimeout(() => { + this.cache.clearAll(); + this.forceUpdate(); + this.timeoutId = 0; + }); + } } };