Skip to content

Commit 13bc903

Browse files
fix: fill transaction table height so dropdowns aren't clipped (#280)
Simpler approach: instead of restructuring the table's scroll container, let .table-container fill the available height (height:100% within the transactions view; the NC layout chain provides the height context). A full-height container has room for the column-config menu and the in-cell editors to open even when the table has only one row. Reverts the earlier .table-scroll wrapper / overflow-move / min-height attempts.
1 parent e8f061e commit 13bc903

3 files changed

Lines changed: 7 additions & 13 deletions

File tree

budget/CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
88
## [Unreleased]
99

1010
### Fixed
11-
- Dropdowns in the transaction list (the column-configuration gear menu and the in-cell category/tag/account editors) were cut off and produced nested scrollbars when the table had only a few rows. The table's horizontal scroll clipped them vertically (a CSS side effect), and the table didn't fill the page. Horizontal scrolling now wraps only the table, and the table area stretches to fill the available height so every dropdown opens in full ([#280](https://github.com/otherworld-dev/Budget/issues/280))
11+
- Dropdowns in the transaction list (the column-configuration gear menu and the in-cell category/tag/account editors) were cut off when the table had only a few rows, because the table area was shorter than the dropdowns. The transaction table now fills the available height, so every dropdown has room to open in full ([#280](https://github.com/otherworld-dev/Budget/issues/280))
1212

1313
## [2.30.1] - 2026-06-13
1414

budget/css/style.css

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3544,18 +3544,14 @@ button.danger:hover {
35443544
background: var(--color-main-background);
35453545
border: 1px solid var(--color-border);
35463546
border-radius: 4px;
3547+
overflow-x: auto;
35473548
}
35483549

3549-
/* Only the table scrolls horizontally — keeping it off .table-container
3550-
means the header's column-config dropdown isn't trapped in an overflow
3551-
context (overflow-x:auto forces overflow-y:auto, which clipped the menu
3552-
on short tables — #280).
3553-
The scroll area also stretches to fill the available height so that
3554-
in-cell dropdowns (category/tag/account editors) have room to open
3555-
instead of being clipped when the table has only a few rows. */
3556-
.table-scroll {
3557-
overflow-x: auto;
3558-
min-height: calc(100vh - 200px);
3550+
/* Fill the available height so the table area is tall even with few rows.
3551+
This gives the in-cell editors and the column-config menu room to open
3552+
instead of being clipped against a short container (#280). */
3553+
#transactions-view .table-container {
3554+
height: 100%;
35593555
}
35603556

35613557
.table-header {

budget/templates/index.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1659,7 +1659,6 @@ class="app-navigation-search-clear icon-close"
16591659
</div>
16601660
</div>
16611661

1662-
<div class="table-scroll">
16631662
<table id="transactions-table" class="transactions-table enhanced">
16641663
<thead>
16651664
<tr>
@@ -1699,7 +1698,6 @@ class="app-navigation-search-clear icon-close"
16991698
</thead>
17001699
<tbody></tbody>
17011700
</table>
1702-
</div>
17031701

17041702
<div class="pagination-controls pagination-bottom">
17051703
<button id="prev-page-btn-bottom" class="secondary" disabled>←</button>

0 commit comments

Comments
 (0)