Please help fix issue #29 Be sure to work from current origin/main, and clean up all stale branches and worktrees before starting.
The issue is that if there is a grouping column in a table which will have empty rows under it, and the grouping column has multiple rows of text (either because of an explicit line break in the middle or word wrapping which may come in the future), do not reserve space for the grouping column more than is required. Allow it to flow into the empty space below like a rowspan does on html and other software that visualizes tabular data.
One notable issue that should be managed is when the grouped column has one behavior on one page and different behavior on the next page. For example, on page 1 the following content may be rendered: data.frame(A = c("B\nC", "B\nC"), D = c("E", "F")) while on page 2, the following content may be rendered data.frame(A = "B\nC", D = "F") where column A is a grouping column. The handling of the reserved height for column A will differ between the pages. This should apply for all grouping levels.
A simple solution may be recursive row height management with all individual rows or nested groups handled first to determine the height available for the outer grouping column.
Please help fix issue #29 Be sure to work from current origin/main, and clean up all stale branches and worktrees before starting.
The issue is that if there is a grouping column in a table which will have empty rows under it, and the grouping column has multiple rows of text (either because of an explicit line break in the middle or word wrapping which may come in the future), do not reserve space for the grouping column more than is required. Allow it to flow into the empty space below like a rowspan does on html and other software that visualizes tabular data.
One notable issue that should be managed is when the grouped column has one behavior on one page and different behavior on the next page. For example, on page 1 the following content may be rendered:
data.frame(A = c("B\nC", "B\nC"), D = c("E", "F"))while on page 2, the following content may be rendereddata.frame(A = "B\nC", D = "F")where column A is a grouping column. The handling of the reserved height for column A will differ between the pages. This should apply for all grouping levels.A simple solution may be recursive row height management with all individual rows or nested groups handled first to determine the height available for the outer grouping column.