diff options
| author | Adam Malczewski <[email protected]> | 2026-06-29 12:13:10 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-29 12:13:10 +0900 |
| commit | bddbabd13786e2c9501ee2535866556877aae3fb (patch) | |
| tree | d34a4b1f5fdf86d2b8481fc3ccb97fb6dbbca7ea /src/features/surface-host/ui/SurfaceView.svelte | |
| parent | 901bd56228ecb105bdbbf18bb9f848192f134791 (diff) | |
| parent | c2633823fb5bfe39d9bb2d284d8bec6c111b9a06 (diff) | |
| download | dispatch-web-bddbabd13786e2c9501ee2535866556877aae3fb.tar.gz dispatch-web-bddbabd13786e2c9501ee2535866556877aae3fb.zip | |
Merge branch 'feature/cancel-queued-message' into predev
# Conflicts:
# backend-handoff.md
Diffstat (limited to 'src/features/surface-host/ui/SurfaceView.svelte')
| -rw-r--r-- | src/features/surface-host/ui/SurfaceView.svelte | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/features/surface-host/ui/SurfaceView.svelte b/src/features/surface-host/ui/SurfaceView.svelte index aed8d03..8ce8ade 100644 --- a/src/features/surface-host/ui/SurfaceView.svelte +++ b/src/features/surface-host/ui/SurfaceView.svelte @@ -11,7 +11,22 @@ import TodoList from "./TodoList.svelte"; import Toggle from "./Toggle.svelte"; - let { spec, onInvoke }: { spec: SurfaceSpec; onInvoke: (msg: InvokeMessage) => void } = $props(); + let { + spec, + onInvoke, + onCancelQueuedMessage, + }: { + spec: SurfaceSpec; + onInvoke: (msg: InvokeMessage) => void; + /** + * Cancel a queued message by id — threaded ONLY to the `message-queue` + * renderer. Optional + scoped: generic surfaces (which pass nothing) keep + * rendering a read-only queue list. Kept as a typed callback (never a + * stringly-typed bus); the renderer dispatch is on `rendererId` (a renderer + * KIND), never the surface id. + */ + onCancelQueuedMessage?: (messageId: string) => void; + } = $props(); const plan = $derived(planSurface(spec)); // Consecutive stats render together as one aligned table; everything else is @@ -40,7 +55,7 @@ {#if group.field.rendererId === "table"} <SurfaceTable payload={group.field.payload} /> {:else if group.field.rendererId === "message-queue"} - <MessageQueueList payload={group.field.payload} /> + <MessageQueueList payload={group.field.payload} onCancel={onCancelQueuedMessage} /> {:else if group.field.rendererId === "todo"} <TodoList payload={group.field.payload} /> {/if} |
