mirror of
https://github.com/gosticks/react-table.git
synced 2026-07-07 20:50:01 +00:00
Fix useExpanded wrongly flattening subRows (#1372)
* Fix useExpanded wrongly flattening subRows * Add new paginateSubRows option defaulting to true
This commit is contained in:
committed by
Tanner Linsley
parent
e4429b7143
commit
addf28a011
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user