From 1bb9dccfa1084c21bd34e43904c6e9b6ff1648a8 Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Thu, 20 Feb 2025 13:10:29 +0100 Subject: [PATCH] Show popover --- .../common/bindings/BindingSidePanel.svelte | 29 ++++++++++++++----- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/packages/builder/src/components/common/bindings/BindingSidePanel.svelte b/packages/builder/src/components/common/bindings/BindingSidePanel.svelte index 2fb17d8ac4..eaa5152cf3 100644 --- a/packages/builder/src/components/common/bindings/BindingSidePanel.svelte +++ b/packages/builder/src/components/common/bindings/BindingSidePanel.svelte @@ -21,7 +21,7 @@ let popover: Popover let popoverAnchor: HTMLElement | null let hoverTarget: { - helper: boolean + type: "binding" | "helper" | "snippet" code: string description?: string } | null @@ -119,26 +119,39 @@ stopHidingPopover() popoverAnchor = target hoverTarget = { - helper: false, + type: "binding", code: binding.valueHTML, } popover.show() } - const showHelperPopover = (helper: any, target: HTMLElement) => { + const showHelperPopover = (helper: Helper, target: HTMLElement) => { stopHidingPopover() if (!helper.displayText && helper.description) { return } popoverAnchor = target hoverTarget = { - helper: true, + type: "helper", description: helper.description, code: getHelperExample(helper, mode === BindingMode.JavaScript), } popover.show() } + const showSnippetPopover = (snippet: Snippet, target: HTMLElement) => { + stopHidingPopover() + if (!snippet.code) { + return + } + popoverAnchor = target + hoverTarget = { + type: "snippet", + code: snippet.code, + } + popover.show() + } + const hidePopover = () => { hideTimeout = setTimeout(() => { popover.hide() @@ -329,15 +342,15 @@ {#if filteredSnippets?.length}