From dd4b03e81282e0c292804f61d7753b6c361e4051 Mon Sep 17 00:00:00 2001 From: yusheng chen Date: Mon, 7 Apr 2025 10:13:22 +0800 Subject: [PATCH] refactor & perf of file `var-reference-vars.tsx` (#17444) --- .../_base/components/variable/var-reference-vars.tsx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/web/app/components/workflow/nodes/_base/components/variable/var-reference-vars.tsx b/web/app/components/workflow/nodes/_base/components/variable/var-reference-vars.tsx index dfd4d19c00..3d347f5a0d 100644 --- a/web/app/components/workflow/nodes/_base/components/variable/var-reference-vars.tsx +++ b/web/app/components/workflow/nodes/_base/components/variable/var-reference-vars.tsx @@ -17,6 +17,7 @@ import { BubbleX, Env } from '@/app/components/base/icons/src/vender/line/others import { checkKeys } from '@/utils/var' import { FILE_STRUCT } from '@/app/components/workflow/constants' import { Loop } from '@/app/components/base/icons/src/vender/workflow' +import { noop } from 'lodash-es' type ObjectChildrenProps = { nodeId: string @@ -42,6 +43,8 @@ type ItemProps = { isLoopVar?: boolean } +const objVarTypes = [VarType.object, VarType.file] + const Item: FC = ({ nodeId, title, @@ -55,11 +58,11 @@ const Item: FC = ({ isLoopVar, }) => { const isFile = itemData.type === VarType.file - const isObj = ([VarType.object, VarType.file].includes(itemData.type) && itemData.children && itemData.children.length > 0) + const isObj = (objVarTypes.includes(itemData.type) && itemData.children && itemData.children.length > 0) const isSys = itemData.variable.startsWith('sys.') const isEnv = itemData.variable.startsWith('env.') const isChatVar = itemData.variable.startsWith('conversation.') - const itemRef = useRef(null) + const itemRef = useRef(null) const [isItemHovering, setIsItemHovering] = useState(false) const _ = useHover(itemRef, { onChange: (hovering) => { @@ -100,7 +103,7 @@ const Item: FC = ({ return ( { }} + onOpenChange={noop} placement='left-start' > @@ -180,7 +183,7 @@ const ObjectChildren: FC = ({ isSupportFileVar, }) => { const currObjPath = objPath - const itemRef = useRef(null) + const itemRef = useRef(null) const [isItemHovering, setIsItemHovering] = useState(false) const _ = useHover(itemRef, { onChange: (hovering) => {