From a9aeec9abdce2f3bc710d82cf2d20fdcb2ffdc70 Mon Sep 17 00:00:00 2001 From: emyarod Date: Tue, 9 Mar 2021 14:17:11 -0600 Subject: [PATCH] fix(DataTable): return correct sort direction on sort header click --- .../src/components/DataTable/DataTable.js | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/packages/react/src/components/DataTable/DataTable.js b/packages/react/src/components/DataTable/DataTable.js index 409652c153f5..33dc80cbbe28 100644 --- a/packages/react/src/components/DataTable/DataTable.js +++ b/packages/react/src/components/DataTable/DataTable.js @@ -217,17 +217,18 @@ export default class DataTable extends React.Component { sortDirection, isSortable, isSortHeader: sortHeaderKey === header.key, - // Compose the event handlers so we don't overwrite a consumer's `onClick` - // handler - onClick: composeEventHandlers([ - this.handleSortBy(header.key), - onClick - ? this.handleOnHeaderClick(onClick, { + onClick: (event) => { + const nextSortState = getNextSortState(this.props, this.state, { + key: header.key, + }); + this.setState(nextSortState, () => { + onClick && + this.handleOnHeaderClick(onClick, { sortHeaderKey: header.key, - sortDirection, - }) - : null, - ]), + sortDirection: nextSortState.sortDirection, + })(event); + }); + }, }; };