Commit 2a24965
feat(quick-260519-bs4-04): add last-refreshed header + Type/Criticality/Activity chips + broader search
- TagStatusTableWindow: new "Last refreshed: HH:MM:SS" label at top of figure;
seeded on openWith, updated on every clean onRefreshTick_ (even when no
rows changed, so it acts as a heartbeat).
- Three chip groups above the table (Type / Criticality / Activity),
multi-toggle within each group, default-all-active so first-open
shows the same 18 rows as today. Active chips use theme.Accent +
bold, matching TagCatalogPane.applyPillStyle_.
- Broadened free-text search from Key+Name to Key+Name+Units+Labels
(Labels are stored comma-joined in column 11). filterRows_ signature
extended to (rows, query, activeTypes, activeCrits, activeActivities)
with full backward compatibility on the 2-arg form via nargin defaults
and an iscell sentinel ([] = skip, {} = exclude-all). Combined
semantics: AND across dimensions, OR within each chip group; a chip
group with zero active entries excludes ALL rows.
- Layout: window 520->580 px tall; five vertical strips (label, search,
chips, table, footer); window stays resizable.
- All widgets are uicontrol 'pushbutton'/'text' so we stay inside the
classical-figure widget family (uibutton is uifigure-only).
- onCloseRequest_ unchanged in ordering: stop+delete RefreshTimer_
BEFORE Listeners cleanup. New handles cleared on close.
- Tests: +4 pure-logic cases (Units search, Labels search, chip AND/OR
semantics, zero-chip-group excludes all) + 2 UI cases (label exists
on open, label updates after tick) via new test seams
lastRefreshedLabelForTest / tickForTest.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 43d2d3b commit 2a24965
3 files changed
Lines changed: 527 additions & 31 deletions
File tree
- libs/FastSenseCompanion
- tests
- suite
0 commit comments