diff --git a/src/node-renderer-default.js b/src/node-renderer-default.js index 61b84513..0e6625d2 100644 --- a/src/node-renderer-default.js +++ b/src/node-renderer-default.js @@ -30,6 +30,12 @@ class NodeRendererDefault extends Component { isOver, // Not needed, but preserved for other renderers parentNode, // Needed for dndManager rowDirection, + + // virtualized row props + isScrolling, + isVisible, + parent, + ...otherProps } = this.props; const nodeTitle = title || node.title; @@ -194,6 +200,9 @@ NodeRendererDefault.defaultProps = { title: null, subtitle: null, rowDirection: 'ltr', + isScrolling: false, + isVisible: true, + parent: {}, }; NodeRendererDefault.propTypes = { @@ -228,6 +237,11 @@ NodeRendererDefault.propTypes = { // rtl support rowDirection: PropTypes.string, + + // virtualized row props + isScrolling: PropTypes.bool, + isVisible: PropTypes.bool, + parent: PropTypes.shape({}), }; export default NodeRendererDefault; diff --git a/src/react-sortable-tree.js b/src/react-sortable-tree.js index 54b4f771..b0d8ae65 100644 --- a/src/react-sortable-tree.js +++ b/src/react-sortable-tree.js @@ -542,7 +542,7 @@ class ReactSortableTree extends Component { renderRow( row, - { listIndex, style, getPrevRow, matchKeys, swapFrom, swapDepth, swapLength } + { listIndex, style, getPrevRow, matchKeys, swapFrom, swapDepth, swapLength, ...rowProps } ) { const { node, parentNode, path, lowerSiblingCounts, treeIndex } = row; @@ -603,6 +603,7 @@ class ReactSortableTree extends Component { toggleChildrenVisibility={this.toggleChildrenVisibility} {...sharedProps} {...nodeProps} + {...rowProps} /> ); @@ -718,7 +719,7 @@ class ReactSortableTree extends Component { path: rows[index].path, }) } - rowRenderer={({ index, style: rowStyle }) => + rowRenderer={({ index, style: rowStyle, ...rowProps }) => this.renderRow(rows[index], { listIndex: index, style: rowStyle, @@ -727,6 +728,7 @@ class ReactSortableTree extends Component { swapFrom, swapDepth: draggedDepth, swapLength, + ...rowProps, }) } {...reactVirtualizedListProps}