table changes
This commit is contained in:
parent
843e3a792e
commit
0ea05bdb72
1 changed files with 12 additions and 8 deletions
|
|
@ -546,15 +546,19 @@ export default function ResponsiveTable<T extends Object>(props: Props<T>) {
|
|||
const clampedWidth = Math.max(MIN_COLUMN_WIDTH, newWidthForIndex)
|
||||
const actualDelta = newWidths[index] - clampedWidth
|
||||
newWidths[index] = clampedWidth
|
||||
newWidths.every((width, j) => {
|
||||
if (j <= index || width === 0) return true
|
||||
else if (newWidths[j] !== undefined) {
|
||||
newWidths[j] = newWidths[j] + actualDelta
|
||||
return false
|
||||
}
|
||||
})
|
||||
setRowWidths(newWidths)
|
||||
|
||||
if (actualDelta > 0) {
|
||||
// Shrinking current column – give space to next column
|
||||
newWidths[index + 1] = (newWidths[index + 1] ?? 0) + actualDelta
|
||||
} else if (actualDelta < 0) {
|
||||
// Growing current column – take from next column only what it can give
|
||||
const nextWidth = newWidths[index + 1] ?? 0
|
||||
const availableFromNext = Math.max(0, nextWidth - MIN_COLUMN_WIDTH)
|
||||
const takeFromNext = Math.min(-actualDelta, availableFromNext)
|
||||
newWidths[index + 1] = nextWidth - takeFromNext
|
||||
// If we couldn't take enough, the table grows (clampedWidth already applied)
|
||||
}
|
||||
setRowWidths(newWidths)
|
||||
}
|
||||
|
||||
const MIN_COLUMN_WIDTH = 24;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue