From 732f730213d1de4e54ddc922109d37f0a16940e6 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Fri, 20 Sep 2024 15:43:18 +0200 Subject: [PATCH] refac: click to focus on mesage node --- src/lib/components/chat/Overview.svelte | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/lib/components/chat/Overview.svelte b/src/lib/components/chat/Overview.svelte index 0ac54dbe6..0c2a376e8 100644 --- a/src/lib/components/chat/Overview.svelte +++ b/src/lib/components/chat/Overview.svelte @@ -23,6 +23,8 @@ export let history; + let selectedMessageId = null; + const nodes = writable([]); const edges = writable([]); @@ -34,10 +36,17 @@ drawFlow(); } - $: if (history?.currentId) { - fitView({ nodes: [{ id: history.currentId }] }); + $: if (history && history.currentId) { + focusNode(); + selectedMessageId = null; } + const focusNode = async () => { + if (selectedMessageId === null) { + await fitView({ nodes: [{ id: history.currentId }] }); + } + }; + const drawFlow = async () => { const nodeList = []; const edgeList = []; @@ -168,6 +177,8 @@ on:nodeclick={(e) => { console.log(e.detail.node.data); dispatch('nodeclick', e.detail); + selectedMessageId = e.detail.node.data.message.id; + fitView({ nodes: [{ id: selectedMessageId }] }); }} /> {/if}