Fix useExpanded wrongly flattening subRows (#1372)

* Fix useExpanded wrongly flattening subRows

* Add new paginateSubRows option defaulting to true
This commit is contained in:
Adrien Denat
2019-06-21 13:00:59 -03:00
committed by Tanner Linsley
parent e4429b7143
commit addf28a011

View File

@@ -13,7 +13,8 @@ addActions({
})
const propTypes = {
expandedKey: PropTypes.string
expandedKey: PropTypes.string,
paginateSubRows: PropTypes.bool
}
export const useExpanded = props => {
@@ -21,11 +22,11 @@ export const useExpanded = props => {
const {
debug,
columns,
rows,
expandedKey = 'expanded',
hooks,
state: [{ expanded }, setState]
state: [{ expanded }, setState],
paginateSubRows = true
} = props
const toggleExpandedByPath = (path, set) => {
@@ -62,17 +63,21 @@ export const useExpanded = props => {
row.isExpanded =
(row.original && row.original[expandedKey]) || getBy(expanded, path)
expandedRows.push(row)
if (paginateSubRows || (!paginateSubRows && row.depth === 0)) {
expandedRows.push(row)
}
if (row.isExpanded && row.subRows && row.subRows.length) {
row.subRows.forEach((row, i) => handleRow(row, i, depth + 1, path))
}
return row
}
rows.forEach((row, i) => handleRow(row, i))
return expandedRows
}, [rows, expanded, columns])
}, [debug, rows, expandedKey, expanded, paginateSubRows])
const expandedDepth = findExpandedDepth(expanded)