hyperhive/frontend/packages/swarm-ui/src
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
..
pages swarm-ui: persist table filters, add reset button, multi-select, negate 2026-09-09 23:31:24 +02:00
shell treefmt: apply prettier 2026-09-02 15:25:07 +02:00
ui swarm-ui: persist table filters, add reset button, multi-select, negate 2026-09-09 23:31:24 +02:00
App.tsx treefmt: apply prettier 2026-09-02 15:25:07 +02:00
colors.css swarm-ui: bootstrap new swarm-level frontend (Preact + wouter + TS + JSX) 2026-08-11 21:31:44 +02:00
css.d.ts treefmt: apply prettier 2026-09-02 15:25:07 +02:00
index.html treefmt: apply prettier 2026-09-02 15:25:07 +02:00
main.tsx treefmt: apply prettier 2026-09-02 15:25:07 +02:00
swarm-ui.css swarm-ui: real hive-roster overview page 2026-08-13 11:21:30 +02:00
theme.css swarm-ui: bootstrap new swarm-level frontend (Preact + wouter + TS + JSX) 2026-08-11 21:31:44 +02:00
util.ts treefmt: apply prettier 2026-09-02 15:25:07 +02:00