From 009d3d541a1c7e7bc02ce5a584f1b904577ae930 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Maro=C5=A1i?= Date: Mon, 3 Sep 2018 12:01:53 +0200 Subject: [PATCH] Allow custom sorting on generic table. --- src/table/genericPreviewTable.jsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/table/genericPreviewTable.jsx b/src/table/genericPreviewTable.jsx index 0175740..32ab06a 100644 --- a/src/table/genericPreviewTable.jsx +++ b/src/table/genericPreviewTable.jsx @@ -134,10 +134,13 @@ class GenericPreviewTable extends Component { sortColumn = property => this.setState((prevState) => { const asc = prevState.sortableColumnPropery === property ? !prevState.sortOrderAsc : true; + if (this.props.customSort) { + this.props.customSort(property); + } return { sortableColumnPropery: property, sortOrderAsc: asc, - rows: prevState.rows.sort((a, b) => (asc ? a[property] > b[property] : a[property] < b[property])), + rows: this.props.customSort ? prevState.rows : prevState.rows.sort((a, b) => (asc ? a[property] > b[property] : a[property] < b[property])), }; }) @@ -212,6 +215,7 @@ GenericPreviewTable.propTypes = { showIcon: PropTypes.bool, icon: tableIconProp, rowKey: PropTypes.string, + customSort: PropTypes.func, }; GenericPreviewTable.defaultProps = {