diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index bedcd13985..c525dcf34c 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -117,6 +117,11 @@ let showValvesModal = false; let selectedValvesType = 'tool'; // 'tool' or 'function' let selectedValvesItemId = null; + let integrationsMenuCloseOnOutsideClick = true; + + $: if (!showValvesModal) { + integrationsMenuCloseOnOutsideClick = true; + } $: onChange({ prompt, @@ -944,6 +949,9 @@ on:save={async () => { await tick(); }} + on:close={() => { + integrationsMenuCloseOnOutsideClick = true; + }} /> {#if loaded} @@ -1463,11 +1471,13 @@ bind:webSearchEnabled bind:imageGenerationEnabled bind:codeInterpreterEnabled + closeOnOutsideClick={integrationsMenuCloseOnOutsideClick} onShowValves={(e) => { const { type, id } = e; selectedValvesType = type; selectedValvesItemId = id; showValvesModal = true; + integrationsMenuCloseOnOutsideClick = false; }} onClose={async () => { await tick(); diff --git a/src/lib/components/chat/MessageInput/IntegrationsMenu.svelte b/src/lib/components/chat/MessageInput/IntegrationsMenu.svelte index b120495045..ffa7e72958 100644 --- a/src/lib/components/chat/MessageInput/IntegrationsMenu.svelte +++ b/src/lib/components/chat/MessageInput/IntegrationsMenu.svelte @@ -42,6 +42,7 @@ export let onShowValves: Function; export let onClose: Function; + export let closeOnOutsideClick = true; let show = false; let tab = ''; @@ -93,6 +94,7 @@ { if (e.detail === false) { onClose(); diff --git a/src/lib/components/common/Dropdown.svelte b/src/lib/components/common/Dropdown.svelte index cac97f884c..efb1d11178 100644 --- a/src/lib/components/common/Dropdown.svelte +++ b/src/lib/components/common/Dropdown.svelte @@ -9,12 +9,15 @@ export let show = false; export let side = 'bottom'; export let align = 'start'; + export let closeOnOutsideClick = true; + const dispatch = createEventDispatcher(); { dispatch('change', state); }}