fix: node status not update

pull/21369/head
Joel 1 year ago
parent dd4dda4d8c
commit 8f02c0fe4f

@ -20,13 +20,11 @@ const useInspectVarsCrud = () => {
const nodesWithInspectVars = useStore(s => s.nodesWithInspectVars) const nodesWithInspectVars = useStore(s => s.nodesWithInspectVars)
const { const {
appId, appId,
getNodeInspectVars,
setNodeInspectVars, setNodeInspectVars,
setInspectVarValue, setInspectVarValue,
getVarId, getVarId,
renameInspectVarName: renameInspectVarNameInStore, renameInspectVarName: renameInspectVarNameInStore,
deleteAllInspectVars: deleteAllInspectVarsInStore, deleteAllInspectVars: deleteAllInspectVarsInStore,
hasNodeInspectVars,
deleteNodeInspectVars: deleteNodeInspectVarsInStore, deleteNodeInspectVars: deleteNodeInspectVarsInStore,
deleteInspectVar: deleteInspectVarInStore, deleteInspectVar: deleteInspectVarInStore,
isInspectVarEdited, isInspectVarEdited,
@ -43,6 +41,15 @@ const useInspectVarsCrud = () => {
const { mutate: doEditInspectorVar } = useEditInspectorVar(appId) const { mutate: doEditInspectorVar } = useEditInspectorVar(appId)
const getNodeInspectVars = useCallback((nodeId: string) => {
const node = nodesWithInspectVars.find(node => node.nodeId === nodeId)
return node
}, [nodesWithInspectVars])
const hasNodeInspectVars = useCallback((nodeId: string) => {
return !!getNodeInspectVars(nodeId)
}, [getNodeInspectVars])
const fetchInspectVarValue = async (selector: ValueSelector) => { const fetchInspectVarValue = async (selector: ValueSelector) => {
const nodeId = selector[0] const nodeId = selector[0]
const isSystemVar = nodeId === 'sys' const isSystemVar = nodeId === 'sys'
@ -131,6 +138,7 @@ const useInspectVarsCrud = () => {
conversationVars: conversationVars || [], conversationVars: conversationVars || [],
systemVars: systemVars || [], systemVars: systemVars || [],
nodesWithInspectVars, nodesWithInspectVars,
hasNodeInspectVars,
fetchInspectVarValue, fetchInspectVarValue,
editInspectVarValue, editInspectVarValue,
renameInspectVarName, renameInspectVarName,

@ -73,6 +73,8 @@ const BasePanel: FC<BasePanelProps> = ({
const nodePanelWidth = useStore(s => s.nodePanelWidth) const nodePanelWidth = useStore(s => s.nodePanelWidth)
const otherPanelWidth = useStore(s => s.otherPanelWidth) const otherPanelWidth = useStore(s => s.otherPanelWidth)
const setNodePanelWidth = useStore(s => s.setNodePanelWidth) const setNodePanelWidth = useStore(s => s.setNodePanelWidth)
const nodesWithInspectVars = useStore(s => s.nodesWithInspectVars)
window.nodesWithInspectVars = nodesWithInspectVars
const maxNodePanelWidth = useMemo(() => { const maxNodePanelWidth = useMemo(() => {
if (!workflowCanvasWidth) if (!workflowCanvasWidth)

@ -44,7 +44,7 @@ import AddVariablePopupWithPosition from './components/add-variable-popup-with-p
import cn from '@/utils/classnames' import cn from '@/utils/classnames'
import BlockIcon from '@/app/components/workflow/block-icon' import BlockIcon from '@/app/components/workflow/block-icon'
import Tooltip from '@/app/components/base/tooltip' import Tooltip from '@/app/components/base/tooltip'
import { useStore } from '../../store' import useInspectVarsCrud from '../../hooks/use-inspect-vars-crud'
type BaseNodeProps = { type BaseNodeProps = {
children: ReactElement children: ReactElement
@ -90,8 +90,8 @@ const BaseNode: FC<BaseNodeProps> = ({
} }
}, [data.isInLoop, data.selected, id, handleNodeLoopChildSizeChange]) }, [data.isInLoop, data.selected, id, handleNodeLoopChildSizeChange])
const hasNodeInspectVars = useStore(s => s.hasNodeInspectVars) const { hasNodeInspectVars } = useInspectVarsCrud()
const hasVarValue = hasNodeInspectVars(id) const hasVarValue = useMemo(() => hasNodeInspectVars(id), [id, hasNodeInspectVars])
const showSelectedBorder = data.selected || data._isBundled || data._isEntering const showSelectedBorder = data.selected || data._isBundled || data._isEntering
const { const {
showRunningBorder, showRunningBorder,

@ -20,7 +20,6 @@ type InspectVarsActions = {
appendNodeInspectVars: (nodeId: string, payload: VarInInspect[], allNodes: Node[]) => void appendNodeInspectVars: (nodeId: string, payload: VarInInspect[], allNodes: Node[]) => void
deleteNodeInspectVars: (nodeId: string) => void deleteNodeInspectVars: (nodeId: string) => void
getNodeInspectVars: (nodeId: string) => NodeWithVar | undefined getNodeInspectVars: (nodeId: string) => NodeWithVar | undefined
hasNodeInspectVars: (nodeId: string) => boolean
getVarId: (nodeId: string, varName: string) => string | undefined getVarId: (nodeId: string, varName: string) => string | undefined
setInspectVarValue: (nodeId: string, name: string, value: any) => void setInspectVarValue: (nodeId: string, name: string, value: any) => void
renameInspectVarName: (nodeId: string, varId: string, selector: ValueSelector) => void renameInspectVarName: (nodeId: string, varId: string, selector: ValueSelector) => void
@ -106,9 +105,6 @@ export const createInspectVarsSlice: StateCreator<InspectVarsSliceShape> = (set,
const nodes = get().nodesWithInspectVars const nodes = get().nodesWithInspectVars
return nodes.find(node => node.nodeId === nodeId) return nodes.find(node => node.nodeId === nodeId)
}, },
hasNodeInspectVars: (nodeId) => {
return !!get().getNodeInspectVars(nodeId)
},
getVarId: (nodeId: string, varName: string) => { getVarId: (nodeId: string, varName: string) => {
const node = get().getNodeInspectVars(nodeId) const node = get().getNodeInspectVars(nodeId)
if (!node) if (!node)

Loading…
Cancel
Save