hyperhive/frontend/packages/swarm-ui/src/ui
Repository files (latest commit first)
Filename Latest commit message Latest commit date
iris 915c6c6f92 swarm-ui: persist table filters, add reset button, multi-select, negate
Per mara's issue: tables should remember their filters (with a reset
button), the labels filter should be multi-select, and any filter should
support negation (search vs exclude).

All in the shared Table component (ui/table/Table.tsx), used by
AgentsPage/HivesPage/IssueReportPage:

- filters now persist via the same useLocalSetting hook IssueReportPage
  already used for its own state, keyed by a new required storageKey
  prop (required, not optional, so no caller can forget it and every
  table gets persistence for free)
- a small 'reset filters' button clears every column's filter at once,
  shown only when at least one is active
- new filterMode: "multiselect" (+ a filterValues extractor, alongside
  the existing single-value filterValue) renders a checkbox list and
  matches on any overlap - IssueReportPage's own bespoke label-checkbox
  sidebar is folded into this instead of staying a second, separate
  filter mechanism
- a negate toggle ('exclude') sits under every filter mode's control,
  applying uniformly to text/select/multiselect

Verified: tsc --noEmit and the esbuild bundle both clean.
2026-09-09 23:31:24 +02:00
..
button treefmt: apply prettier 2026-09-02 15:25:07 +02:00
confirm-dialog swarm-ui: size dialogs to their own content width 2026-09-08 11:08:01 +02:00
dialog swarm-ui: size dialogs to their own content width 2026-09-08 11:08:01 +02:00
form-field treefmt: apply prettier 2026-09-02 15:25:07 +02:00
panel treefmt: apply prettier 2026-09-02 15:25:07 +02:00
refresh-interval treefmt: apply prettier 2026-09-02 15:25:07 +02:00
relative-time treefmt: apply prettier 2026-09-02 15:25:07 +02:00
select-field treefmt: apply prettier 2026-09-02 15:25:07 +02:00
table swarm-ui: persist table filters, add reset button, multi-select, negate 2026-09-09 23:31:24 +02:00
text-field treefmt: apply prettier 2026-09-02 15:25:07 +02:00