Bladeren bron

fix: input vars not auto rename in list operator (#9550)

Joel 6 maanden geleden
bovenliggende
commit
65e22bb76a

+ 11 - 0
web/app/components/workflow/nodes/_base/components/variable/utils.ts

@@ -739,6 +739,11 @@ export const getNodeUsedVars = (node: Node): ValueSelector[] => {
       res = [(data as IterationNodeType).iterator_selector]
       break
     }
+
+    case BlockEnum.ListFilter: {
+      res = [(data as ListFilterNodeType).variable]
+      break
+    }
   }
   return res || []
 }
@@ -997,6 +1002,12 @@ export const updateNodeVars = (oldNode: Node, oldVarSelector: ValueSelector, new
 
         break
       }
+      case BlockEnum.ListFilter: {
+        const payload = data as ListFilterNodeType
+        if (payload.variable.join('.') === oldVarSelector.join('.'))
+          payload.variable = newVarSelector
+        break
+      }
     }
   })
   return newNode

+ 1 - 1
web/app/components/workflow/nodes/list-operator/use-config.ts

@@ -67,7 +67,7 @@ const useConfig = (id: string, payload: ListFilterNodeType) => {
   const itemVarTypeShowName = useMemo(() => {
     if (!inputs.variable)
       return '?'
-    return [itemVarType.substring(0, 1).toUpperCase(), itemVarType.substring(1)].join('')
+    return [(itemVarType || VarType.string).substring(0, 1).toUpperCase(), (itemVarType || VarType.string).substring(1)].join('')
   }, [inputs.variable, itemVarType])
 
   const hasSubVariable = [VarType.arrayFile].includes(varType)