From eaf301f399974f61af45015fdfe23fbba7f8239e Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Thu, 20 Feb 2025 13:37:48 +0100 Subject: [PATCH] Edit snippet --- .../common/bindings/BindingSidePanel.svelte | 32 ++++++++++++++++--- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/packages/builder/src/components/common/bindings/BindingSidePanel.svelte b/packages/builder/src/components/common/bindings/BindingSidePanel.svelte index b79a9aaf42..eee36b0fad 100644 --- a/packages/builder/src/components/common/bindings/BindingSidePanel.svelte +++ b/packages/builder/src/components/common/bindings/BindingSidePanel.svelte @@ -7,6 +7,7 @@ import { BindingMode } from "@budibase/types" import { EditorModes } from "../CodeEditor" import CodeEditor from "../CodeEditor/CodeEditor.svelte" + import SnippetDrawer from "./SnippetDrawer.svelte" export let addHelper: (_helper: Helper, _js?: boolean) => void export let addBinding: (_binding: EnrichedBinding) => void @@ -30,6 +31,8 @@ let helpers = handlebarsCompletions() let selectedCategory: string | null let hideTimeout: ReturnType | null + let snippetDrawer: SnippetDrawer + let editableSnippet: Snippet $: bindingIcons = bindings?.reduce>((acc, ele) => { if (ele.icon) { @@ -193,6 +196,13 @@ searching = false search = "" } + + const editSnippet = (e: Event, snippet: Snippet) => { + e.preventDefault() + e.stopPropagation() + editableSnippet = snippet + snippetDrawer.show() + } {#if popoverAnchor && hoverTarget} @@ -366,18 +376,29 @@ {#if selectedCategory === "Snippets" || search} {#if filteredSnippets?.length}
-
    +
      {#each filteredSnippets as snippet}
    • showSnippetPopover(snippet, e.currentTarget)} + on:mouseleave={hidePopover} on:click={() => addSnippet(snippet)} > {snippet.name} - - snippet - + {#if search} + + snippet + + {:else} + editSnippet(e, snippet)} + /> + {/if}
    • {/each}
    @@ -388,6 +409,8 @@
+ +