From 5d4c4ef63ea1d7fb6d7fc9abf1af5289046d91c6 Mon Sep 17 00:00:00 2001 From: Austin Mroz Date: Fri, 12 Sep 2025 08:06:36 -0500 Subject: [PATCH] Restrict show/hide all to search query --- src/components/selectionbar/SubgraphNode.vue | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/components/selectionbar/SubgraphNode.vue b/src/components/selectionbar/SubgraphNode.vue index a9723455e..8e738da39 100644 --- a/src/components/selectionbar/SubgraphNode.vue +++ b/src/components/selectionbar/SubgraphNode.vue @@ -101,7 +101,7 @@ const filteredCandidates = computed(() => { function showAll() { const node = activeNode.value const pw = node.properties.proxyWidgets ?? [] - const toAdd = candidateWidgets.value.map(([n, w]) => [n.id, w.name]) + const toAdd = filteredCandidates.value.map(([n, w]) => [n.id, w.name]) pw.push(...toAdd) node.properties.proxyWidgets = pw useCanvasStore().canvas.setDirty(true, true) @@ -109,17 +109,20 @@ function showAll() { } function hideAll() { const node = activeNode.value - node.properties.proxyWidgets = [] + //Not great from a nesting perspective, but path is cold + //and it cleans up potential error states + const toKeep = node.properties.proxyWidgets + .filter(([nodeId, widgetName]) => + !filteredActive.value.some(([n,w]) => + n.id == nodeId && w.name === widgetName)) + node.properties.proxyWidgets = toKeep useCanvasStore().canvas.setDirty(true, true) triggerUpdate.value++ } const filteredActive = computed(() => { const query = searchQuery.value.toLowerCase() - if (!query) { - console.error('displaying filtered widgets with no search query') - return activeWidgets.value - } + if (!query) return activeWidgets.value return activeWidgets.value.filter( ([n, w]) => n.title.toLowerCase().includes(query) || @@ -141,7 +144,7 @@ const filteredActive = computed(() => { /> -
+
{{ t('subgraphStore.hidden') }}
{{ t('subgraphStore.showAll') }}