Commit a0315074 authored by Joel's avatar Joel

feat: code show result

parent 90e01355
...@@ -32,6 +32,7 @@ const SwrInitor = ({ ...@@ -32,6 +32,7 @@ const SwrInitor = ({
? ( ? (
<SWRConfig value={{ <SWRConfig value={{
shouldRetryOnError: false, shouldRetryOnError: false,
revalidateOnFocus: false,
}}> }}>
{children} {children}
</SWRConfig> </SWRConfig>
......
...@@ -19,6 +19,7 @@ const useOneStepRun = <T>({ id, data, defaultRunInputData, isInvalid = () => tru ...@@ -19,6 +19,7 @@ const useOneStepRun = <T>({ id, data, defaultRunInputData, isInvalid = () => tru
const appId = useAppStore.getState().appDetail?.id const appId = useAppStore.getState().appDetail?.id
const [runInputData, setRunInputData] = useState<Record<string, any>>(defaultRunInputData || {}) const [runInputData, setRunInputData] = useState<Record<string, any>>(defaultRunInputData || {})
const [runResult, setRunResult] = useState<any>(null)
const { handleNodeDataUpdate }: { handleNodeDataUpdate: (data: any) => void } = useWorkflow() const { handleNodeDataUpdate }: { handleNodeDataUpdate: (data: any) => void } = useWorkflow()
const isShowSingleRun = data._isSingleRun const isShowSingleRun = data._isSingleRun
...@@ -32,6 +33,7 @@ const useOneStepRun = <T>({ id, data, defaultRunInputData, isInvalid = () => tru ...@@ -32,6 +33,7 @@ const useOneStepRun = <T>({ id, data, defaultRunInputData, isInvalid = () => tru
}) })
} }
const runningStatus = data._singleRunningStatus || NodeRunningStatus.NotStart const runningStatus = data._singleRunningStatus || NodeRunningStatus.NotStart
const isCompleted = runningStatus === NodeRunningStatus.Succeeded || runningStatus === NodeRunningStatus.Failed
const handleRun = async () => { const handleRun = async () => {
if (!isInvalid()) if (!isInvalid())
return return
...@@ -42,10 +44,17 @@ const useOneStepRun = <T>({ id, data, defaultRunInputData, isInvalid = () => tru ...@@ -42,10 +44,17 @@ const useOneStepRun = <T>({ id, data, defaultRunInputData, isInvalid = () => tru
_singleRunningStatus: NodeRunningStatus.Running, _singleRunningStatus: NodeRunningStatus.Running,
}, },
}) })
let res: any
try { try {
const res = await singleNodeRun(appId!, id, { inputs: runInputData }) res = await singleNodeRun(appId!, id, { inputs: runInputData }) as any
if (res.error)
throw new Error(res.error)
} }
catch (e) { catch (e: any) {
Toast.notify({
type: 'error',
message: e.toString(),
})
handleNodeDataUpdate({ handleNodeDataUpdate({
id, id,
data: { data: {
...@@ -55,6 +64,7 @@ const useOneStepRun = <T>({ id, data, defaultRunInputData, isInvalid = () => tru ...@@ -55,6 +64,7 @@ const useOneStepRun = <T>({ id, data, defaultRunInputData, isInvalid = () => tru
}) })
return false return false
} }
setRunResult(res)
handleNodeDataUpdate({ handleNodeDataUpdate({
id, id,
data: { data: {
...@@ -101,10 +111,12 @@ const useOneStepRun = <T>({ id, data, defaultRunInputData, isInvalid = () => tru ...@@ -101,10 +111,12 @@ const useOneStepRun = <T>({ id, data, defaultRunInputData, isInvalid = () => tru
hideSingleRun, hideSingleRun,
toVarInputs, toVarInputs,
runningStatus, runningStatus,
isCompleted,
handleRun, handleRun,
handleStop, handleStop,
runInputData, runInputData,
setRunInputData, setRunInputData,
runResult,
} }
} }
......
...@@ -47,10 +47,12 @@ const Panel: FC<NodePanelProps<CodeNodeType>> = ({ ...@@ -47,10 +47,12 @@ const Panel: FC<NodePanelProps<CodeNodeType>> = ({
runningStatus, runningStatus,
handleRun, handleRun,
handleStop, handleStop,
runResult,
varInputs, varInputs,
inputVarValues, inputVarValues,
setInputVarValues, setInputVarValues,
} = useConfig(id, data) } = useConfig(id, data)
return ( return (
<div className='mt-2'> <div className='mt-2'>
<div className='px-4 pb-4 space-y-4'> <div className='px-4 pb-4 space-y-4'>
...@@ -110,9 +112,9 @@ const Panel: FC<NodePanelProps<CodeNodeType>> = ({ ...@@ -110,9 +112,9 @@ const Panel: FC<NodePanelProps<CodeNodeType>> = ({
runningStatus={runningStatus} runningStatus={runningStatus}
onRun={handleRun} onRun={handleRun}
onStop={handleStop} onStop={handleStop}
result={<span className='text-gray-900'>{JSON.stringify(runResult, null, 2)}</span>}
/> />
)} )}
</div> </div>
) )
} }
......
...@@ -38,10 +38,12 @@ const useConfig = (id: string, payload: CodeNodeType) => { ...@@ -38,10 +38,12 @@ const useConfig = (id: string, payload: CodeNodeType) => {
hideSingleRun, hideSingleRun,
toVarInputs, toVarInputs,
runningStatus, runningStatus,
isCompleted,
handleRun, handleRun,
handleStop, handleStop,
runInputData, runInputData,
setRunInputData, setRunInputData,
runResult,
} = useOneStepRun<CodeNodeType>({ } = useOneStepRun<CodeNodeType>({
id, id,
data: inputs, data: inputs,
...@@ -74,11 +76,13 @@ const useConfig = (id: string, payload: CodeNodeType) => { ...@@ -74,11 +76,13 @@ const useConfig = (id: string, payload: CodeNodeType) => {
isShowSingleRun, isShowSingleRun,
hideSingleRun, hideSingleRun,
runningStatus, runningStatus,
isCompleted,
handleRun, handleRun,
handleStop, handleStop,
varInputs, varInputs,
inputVarValues, inputVarValues,
setInputVarValues, setInputVarValues,
runResult,
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment