jobq graph: state filter on /api/jobq/graph + multi-select checkboxes
GET /api/jobq/graph gains a states query param (comma-separated hive_jobq::State names): narrows the served root groups to the named states, keeping a group whole (filtering by a root's own state, which is already its subtree's rolled-up answer). Absent, empty, or fully unrecognised is the identity filter, matching prior behaviour. hive-jobq-graph.js gains a row of per-state checkboxes above the tree, re-fetching the endpoint with the selection on toggle. Default selection hides Done and Skipped. Server-side filtering (not client-side hiding) so hive-jobq-graph-update's node list, and everything downstream of it in builds.js (count pill, live-log panel), only ever sees what's actually shown.
This commit is contained in:
parent
ec476dfaae
commit
1e13b88c8c
6 changed files with 236 additions and 27 deletions
|
|
@ -10,6 +10,26 @@
|
|||
color: var(--fg);
|
||||
}
|
||||
|
||||
.jg-filter {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 0.15em 0.9em;
|
||||
margin: 0 0 0.5em;
|
||||
font-size: 0.85em;
|
||||
}
|
||||
|
||||
.jg-filter-label {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 0.3em;
|
||||
color: var(--muted);
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
}
|
||||
.jg-filter-label:has(input:checked) {
|
||||
color: var(--fg);
|
||||
}
|
||||
|
||||
.jg-body {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
|
|
|||
Loading…
Reference in a new issue