Add effective-date transaction filtering and bulk selection
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
---
|
||||
id: TASK-4
|
||||
title: Add selection total to transactions
|
||||
status: In Progress
|
||||
assignee: []
|
||||
created_date: '2026-06-15 19:21'
|
||||
updated_date: '2026-06-15 19:24'
|
||||
labels: []
|
||||
dependencies: []
|
||||
priority: high
|
||||
ordinal: 4000
|
||||
---
|
||||
|
||||
## Description
|
||||
|
||||
<!-- SECTION:DESCRIPTION:BEGIN -->
|
||||
Add table selection controls on the transactions page so visible/filtered rows can be selected in bulk and the sum of selected transaction amounts is shown.
|
||||
<!-- SECTION:DESCRIPTION:END -->
|
||||
|
||||
## Acceptance Criteria
|
||||
<!-- AC:BEGIN -->
|
||||
- [x] #1 A select-all control can select and clear all currently visible filtered transactions
|
||||
- [x] #2 Individual row selection continues to work alongside the select-all control
|
||||
- [x] #3 The UI displays the count and formatted euro total of selected transactions
|
||||
- [x] #4 Automated tests cover bulk selection and selected-total behavior
|
||||
<!-- AC:END -->
|
||||
|
||||
## Implementation Plan
|
||||
|
||||
<!-- SECTION:PLAN:BEGIN -->
|
||||
1. Inspect current transaction table selection behavior
|
||||
2. Add failing coverage for select-all and selected sum
|
||||
3. Implement visible-row bulk selection and selected total UI
|
||||
4. Run focused tests/build and update acceptance criteria
|
||||
<!-- SECTION:PLAN:END -->
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
<!-- SECTION:NOTES:BEGIN -->
|
||||
Added failing Vitest coverage for visible bulk selection and selected totals, then implemented transactionsSelection helpers and wired TransactionsPage header checkbox plus selected count/sum. Focused test and build pass. Global lint currently fails on pre-existing unrelated lint errors in Convex/generated/UI files.
|
||||
<!-- SECTION:NOTES:END -->
|
||||
@@ -0,0 +1,40 @@
|
||||
---
|
||||
id: TASK-5
|
||||
title: Make transaction filters combinable
|
||||
status: In Progress
|
||||
assignee: []
|
||||
created_date: '2026-06-15 19:32'
|
||||
updated_date: '2026-06-15 19:34'
|
||||
labels: []
|
||||
dependencies: []
|
||||
priority: high
|
||||
ordinal: 5000
|
||||
---
|
||||
|
||||
## Description
|
||||
|
||||
<!-- SECTION:DESCRIPTION:BEGIN -->
|
||||
Fix the transactions page so global timeframe, account, and month-basis filters are applied together with page-level filters like search, type, category, and pending-only.
|
||||
<!-- SECTION:DESCRIPTION:END -->
|
||||
|
||||
## Acceptance Criteria
|
||||
<!-- AC:BEGIN -->
|
||||
- [x] #1 Changing the date range filters the transactions list
|
||||
- [x] #2 Account, month basis, search, type, category, and pending-only filters combine instead of overriding each other
|
||||
- [x] #3 Automated tests cover combined transaction filtering
|
||||
<!-- AC:END -->
|
||||
|
||||
## Implementation Plan
|
||||
|
||||
<!-- SECTION:PLAN:BEGIN -->
|
||||
1. Trace current filter data flow from shared controls to transactions query
|
||||
2. Add failing Convex test for combined date/account/category/search filtering
|
||||
3. Extend transactions list query args and wire TransactionsPage to shared filters
|
||||
4. Run focused tests, full tests/build, and update task notes
|
||||
<!-- SECTION:PLAN:END -->
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
<!-- SECTION:NOTES:BEGIN -->
|
||||
Root cause: TransactionsPage did not pass global from/to/account/monthBasis filters into api.transactions.list, and transactions.list ignored date filters on the search-index path. Added red Convex tests covering combined filters and effective-month basis, then added basis/date filtering in the query and wired global filters from the page. Focused tests and build pass.
|
||||
<!-- SECTION:NOTES:END -->
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
id: TASK-6
|
||||
title: Add transaction filter reset button
|
||||
status: In Progress
|
||||
assignee: []
|
||||
created_date: '2026-06-15 19:35'
|
||||
updated_date: '2026-06-15 19:37'
|
||||
labels: []
|
||||
dependencies: []
|
||||
priority: medium
|
||||
ordinal: 6000
|
||||
---
|
||||
|
||||
## Description
|
||||
|
||||
<!-- SECTION:DESCRIPTION:BEGIN -->
|
||||
Add a reset button on the transactions page that clears the active filter combination and returns global plus page-level transaction filters to their defaults.
|
||||
<!-- SECTION:DESCRIPTION:END -->
|
||||
|
||||
## Acceptance Criteria
|
||||
<!-- AC:BEGIN -->
|
||||
- [x] #1 A reset button is available on the transactions page filter bar
|
||||
- [x] #2 Clicking reset clears search, type, category, account, pending-only, and row selection
|
||||
- [x] #3 Clicking reset returns date range and month basis to their defaults
|
||||
- [x] #4 Automated tests cover the reset defaults
|
||||
<!-- AC:END -->
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
<!-- SECTION:NOTES:BEGIN -->
|
||||
Added a transactions toolbar reset button using shared reset defaults. The button clears global filters (current month, all accounts, no categories, effective month basis), clears page filters (search, type, pending-only), and clears row selection. Added Vitest coverage for reset defaults. Focused tests and build pass.
|
||||
<!-- SECTION:NOTES:END -->
|
||||
Reference in New Issue
Block a user