Add filter for date fields closes #340 #497

Merged
moritz merged 5 commits from issue/mitgliederverwaltung-340 into main 2026-06-01 14:42:14 +02:00
Owner

Description of the implemented changes

The changes were:

  • Bugfixing
  • New Feature
  • Breaking Change
  • Refactoring

Members can now be filtered by date fields: join date (range bounds), exit date (active-only/all/inactive-only/custom range), and any custom date field (range bounds). The active-only exit date mode is the new default so former members (exit_date ≤ today) are hidden on a fresh load. All filter state round-trips through URL params, making filtered views bookmarkable and shareable.

What has been changed?

  • Suppress cowlib advisory and bump bandit, cowboy, plug
  • Introduce DateFilter module with URL codec and Ash query expressions
  • Wire date filters into LiveView lifecycle
  • Add date filter sections with active-count badge and reset support

Definition of Done

Code Quality

  • No new technical depths
  • Linting passed
  • Documentation is added were needed

Accessibility

  • New elements are properly defined with html-tags
  • Colour contrast follows WCAG criteria
  • Aria labels are added when needed
  • Everything is accessible by keyboard
  • Tab-Order is comprehensible
  • All interactive elements have a visible focus

Testing

  • Tests for new code are written
  • All tests pass
  • axe-core dev tools show no critical or major issues

Additional Notes

  • F3 (LiveView integration) touches index.ex broadly (mount, handle_params, load_members, handle_info, build_query_params, build_signature, reset) — expect a larger diff on that file.
## Description of the implemented changes The changes were: - [ ] Bugfixing - [x] New Feature - [ ] Breaking Change - [ ] Refactoring Members can now be filtered by date fields: join date (range bounds), exit date (active-only/all/inactive-only/custom range), and any custom date field (range bounds). The active-only exit date mode is the new default so former members (exit_date ≤ today) are hidden on a fresh load. All filter state round-trips through URL params, making filtered views bookmarkable and shareable. ## What has been changed? - Suppress cowlib advisory and bump bandit, cowboy, plug - Introduce DateFilter module with URL codec and Ash query expressions - Wire date filters into LiveView lifecycle - Add date filter sections with active-count badge and reset support ## Definition of Done ### Code Quality - [ ] No new technical depths - [x] Linting passed - [x] Documentation is added were needed ### Accessibility - [ ] New elements are properly defined with html-tags - [ ] Colour contrast follows WCAG criteria - [ ] Aria labels are added when needed - [ ] Everything is accessible by keyboard - [ ] Tab-Order is comprehensible - [ ] All interactive elements have a visible focus ### Testing - [x] Tests for new code are written - [x] All tests pass - [x] axe-core dev tools show no critical or major issues ## Additional Notes - F3 (LiveView integration) touches index.ex broadly (mount, handle_params, load_members, handle_info, build_query_params, build_signature, reset) — expect a larger diff on that file.
moritz added 4 commits 2026-05-21 15:25:23 +02:00
requested review from simon 2026-05-21 15:25:48 +02:00
moritz added 1 commit 2026-06-01 14:06:17 +02:00
chore(ci): suppress cowlib advisory
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing
d36703450a
moritz merged commit c6578662d8 into main 2026-06-01 14:42:14 +02:00
moritz deleted branch issue/mitgliederverwaltung-340 2026-06-01 14:42:14 +02:00
Sign in to join this conversation.
No description provided.