feat: code node can run

This commit is contained in:
Joel 2024-03-13 10:43:18 +08:00
parent c74854aec0
commit d0f5318b75
4 changed files with 18 additions and 7 deletions

View File

@ -79,12 +79,11 @@ const BeforeRunForm: FC<BeforeRunFormProps> = ({
</div> </div>
{isFinished && ( {isFinished && (
<div className='px-4'> <>
{result} {result}
</div> </>
)} )}
</div> </div>
</div> </div>
</div> </div>
) )

View File

@ -64,7 +64,9 @@ const useOneStepRun = <T>({ id, data, defaultRunInputData, isInvalid = () => tru
}) })
return false return false
} }
setRunResult(res) finally {
setRunResult(res)
}
handleNodeDataUpdate({ handleNodeDataUpdate({
id, id,
data: { data: {

View File

@ -13,7 +13,7 @@ import CodeEditor from '@/app/components/workflow/nodes/_base/components/editor/
import TypeSelector from '@/app/components/workflow/nodes/_base/components/selector' import TypeSelector from '@/app/components/workflow/nodes/_base/components/selector'
import type { NodePanelProps } from '@/app/components/workflow/types' import type { NodePanelProps } from '@/app/components/workflow/types'
import BeforeRunForm from '@/app/components/workflow/nodes/_base/components/before-run-form' import BeforeRunForm from '@/app/components/workflow/nodes/_base/components/before-run-form'
import ResultPanel from '@/app/components/workflow/run/result-panel'
const i18nPrefix = 'workflow.nodes.code' const i18nPrefix = 'workflow.nodes.code'
const codeLanguages = [ const codeLanguages = [
@ -113,7 +113,7 @@ 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>} result={<ResultPanel {...runResult} showSteps={false} />}
/> />
)} )}
</div> </div>

View File

@ -43,12 +43,22 @@ const useConfig = (id: string, payload: CodeNodeType) => {
handleStop, handleStop,
runInputData, runInputData,
setRunInputData, setRunInputData,
runResult, runResult: unformattedRunResult,
} = useOneStepRun<CodeNodeType>({ } = useOneStepRun<CodeNodeType>({
id, id,
data: inputs, data: inputs,
defaultRunInputData: {}, defaultRunInputData: {},
}) })
const runResult = (() => {
if (!unformattedRunResult)
return {}
return {
...unformattedRunResult,
created_by: unformattedRunResult.created_by_account?.name || '',
}
})()
const varInputs = toVarInputs(inputs.variables) const varInputs = toVarInputs(inputs.variables)
const inputVarValues = (() => { const inputVarValues = (() => {