Added onSort and a fix for columnOrder to ManagedTable
Summary: 1. Added onSort() pass-through to ManagedTable which allows to handle sort order changes. 2. columnOrder now gets updated when the corresponding prop is changed indepedently from ref. Reviewed By: danielbuechele Differential Revision: D14147857 fbshipit-source-id: 03300629a3316a69be6b745810516966b8060aa6
This commit is contained in:
committed by
Facebook Github Bot
parent
fa33764cc3
commit
0a59dc2918
@@ -112,6 +112,10 @@ export type ManagedTableProps = {|
|
|||||||
* Allows to create context menu items for rows
|
* Allows to create context menu items for rows
|
||||||
*/
|
*/
|
||||||
buildContextMenuItems?: () => MenuTemplate,
|
buildContextMenuItems?: () => MenuTemplate,
|
||||||
|
/**
|
||||||
|
* Callback when sorting changes
|
||||||
|
*/
|
||||||
|
onSort?: (order: TableRowSortOrder) => void,
|
||||||
|};
|
|};
|
||||||
|
|
||||||
type ManagedTableState = {|
|
type ManagedTableState = {|
|
||||||
@@ -194,12 +198,10 @@ class ManagedTable extends React.Component<
|
|||||||
}
|
}
|
||||||
|
|
||||||
// if columnOrder has changed
|
// if columnOrder has changed
|
||||||
if (
|
if (nextProps.columnOrder !== this.props.columnOrder) {
|
||||||
nextProps.columnOrder !== this.props.columnOrder &&
|
if (this.tableRef && this.tableRef.current) {
|
||||||
this.tableRef &&
|
|
||||||
this.tableRef.current
|
|
||||||
) {
|
|
||||||
this.tableRef.current.resetAfterIndex(0);
|
this.tableRef.current.resetAfterIndex(0);
|
||||||
|
}
|
||||||
this.setState({
|
this.setState({
|
||||||
columnOrder: nextProps.columnOrder,
|
columnOrder: nextProps.columnOrder,
|
||||||
});
|
});
|
||||||
@@ -304,6 +306,7 @@ class ManagedTable extends React.Component<
|
|||||||
|
|
||||||
onSort = (sortOrder: TableRowSortOrder) => {
|
onSort = (sortOrder: TableRowSortOrder) => {
|
||||||
this.setState({sortOrder});
|
this.setState({sortOrder});
|
||||||
|
this.props.onSort && this.props.onSort(sortOrder);
|
||||||
};
|
};
|
||||||
|
|
||||||
onColumnOrder = (columnOrder: TableColumnOrder) => {
|
onColumnOrder = (columnOrder: TableColumnOrder) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user