feat(ui): show dequeue affordance on planning parents with queued children

Planning parents stay in Planning/Planned status while their children are
Queued/Waiting, so the existing IsQueued-only visibility rule hid the dequeue
button. Add HasQueuedSubtasks tracking and a CanRemoveFromQueue helper; the
parent-row dequeue cascades to all queued/waiting children. Also attach the
'agent' tag on explicit enqueue so the queue picker accepts the task.
This commit is contained in:
Mika Kuns
2026-04-27 10:16:40 +02:00
parent 2d7f825ff3
commit bdb709b264
3 changed files with 59 additions and 7 deletions

View File

@@ -35,7 +35,7 @@
IsVisible="{Binding !IsQueued}"
Click="OnSendToQueueClick"/>
<MenuItem Header="Remove from queue"
IsVisible="{Binding IsQueued}"
IsVisible="{Binding CanRemoveFromQueue}"
Click="OnRemoveFromQueueClick"/>
<Separator/>
<MenuItem Header="Run interactively"
@@ -119,9 +119,9 @@
<TextBlock Text="{Binding Status}"/>
</Border>
<!-- Dequeue button (only when Queued) -->
<!-- Dequeue button (visible when row is Queued, or planning parent has queued subtasks) -->
<Button Classes="icon-btn dequeue-btn"
IsVisible="{Binding IsQueued}"
IsVisible="{Binding CanRemoveFromQueue}"
ToolTip.Tip="Remove from queue"
Command="{Binding $parent[ItemsControl].((vm:TasksIslandViewModel)DataContext).RemoveFromQueueCommand}"
CommandParameter="{Binding}">