diff --git a/web/app/components/workflow/block-selector/tool-picker.tsx b/web/app/components/workflow/block-selector/tool-picker.tsx index 87092f8886..b0b57038c9 100644 --- a/web/app/components/workflow/block-selector/tool-picker.tsx +++ b/web/app/components/workflow/block-selector/tool-picker.tsx @@ -51,6 +51,7 @@ type Props = { supportAddCustomTool?: boolean scope?: string selectedTools?: ToolValue[] + preventFocusLoss?: boolean } const ToolPicker: FC = ({ @@ -67,6 +68,7 @@ const ToolPicker: FC = ({ scope = 'all', selectedTools, panelClassName, + preventFocusLoss = false, }) => { const { t } = useTranslation() const [searchText, setSearchText] = useState('') @@ -173,7 +175,17 @@ const ToolPicker: FC = ({ -
+
{ + if (!preventFocusLoss) + return + const target = e.target as HTMLElement + if (target.closest('input, textarea, select')) + return + e.preventDefault() + }} + >
= ({ scope = 'all' }) => { closeMenu() }} scope={scope} + preventFocusLoss />, anchorElementRef.current, )