From 50cb4df1303c93d007b289ca45b71d0ffe587928 Mon Sep 17 00:00:00 2001 From: Guilhem Date: Mon, 28 Oct 2024 10:42:01 +0100 Subject: [PATCH] Add full path to popover --- .../propertyPicker/ObjectViewer.svelte | 48 ++++++++++++------- .../propertyPicker/PropPicker.svelte | 45 +++++++---------- .../propertyPicker/PropPickerResult.svelte | 9 +--- 3 files changed, 50 insertions(+), 52 deletions(-) diff --git a/frontend/src/lib/components/propertyPicker/ObjectViewer.svelte b/frontend/src/lib/components/propertyPicker/ObjectViewer.svelte index afb93eb1a4..612c3501d6 100644 --- a/frontend/src/lib/components/propertyPicker/ObjectViewer.svelte +++ b/frontend/src/lib/components/propertyPicker/ObjectViewer.svelte @@ -6,7 +6,7 @@ import { NEVER_TESTED_THIS_FAR } from '../flows/models' import Portal from '$lib/components/Portal.svelte' import { Button } from '$lib/components/common' - + import Popover from '$lib/components/Popover.svelte' import { Download, PanelRightOpen } from 'lucide-svelte' import S3FilePicker from '../S3FilePicker.svelte' import { workspaceStore } from '$lib/stores' @@ -20,6 +20,7 @@ export let topBrackets = false export let allowCopy = true export let collapseLevel: number | undefined = undefined + export let prefix = '' let s3FileViewer: S3FilePicker @@ -48,17 +49,29 @@ const dispatch = createEventDispatcher() + function computeFullKey(key: string, rawKey: boolean) { + if (rawKey) { + return `${prefix}('${key}')` + } + const keyToSelect = computeKey(key, isArray, currentPath) + const separator = !prefix || keyToSelect.startsWith('[') ? '' : '.' + return prefix + separator + keyToSelect + } + function selectProp(key: string, value: any | undefined = undefined) { + const fullKey = computeFullKey(key, rawKey) if (pureViewer && allowCopy) { - const valueToCopy = value !== undefined ? value : computeKey(key, isArray, currentPath) + const valueToCopy = value !== undefined ? value : fullKey copyToClipboard(valueToCopy) } - dispatch('select', rawKey ? key : computeKey(key, isArray, currentPath)) + dispatch('select', fullKey) } $: keyLimit = isArray ? 1 : 100 $: fullyCollapsed = keys.length > 1 && collapsed + + $: console.log('dbg current path : ', currentPath) @@ -84,24 +97,27 @@