mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-08-17 03:45:58 +08:00
feat: no data running
This commit is contained in:
parent
ae0657dd02
commit
6caf6714cd
@ -127,15 +127,8 @@ const BeforeRunForm: FC<BeforeRunFormProps> = ({
|
||||
|
||||
const submitData: Record<string, any> = {}
|
||||
let parseErrorJsonField = ''
|
||||
forms.forEach((form, i) => {
|
||||
const existVarValuesInForm = existVarValuesInForms[i]
|
||||
|
||||
forms.forEach((form) => {
|
||||
form.inputs.forEach((input) => {
|
||||
if (input.variable in existVarValuesInForm) {
|
||||
// TODO: wait for api if need to pass exist var values
|
||||
submitData[input.variable] = existVarValuesInForm[input.variable]
|
||||
return
|
||||
}
|
||||
try {
|
||||
const value = formatValue(form.values[input.variable], input.type)
|
||||
submitData[input.variable] = value
|
||||
|
@ -152,7 +152,8 @@ const BasePanel: FC<BasePanelProps> = ({
|
||||
singleRunParams,
|
||||
setRunInputData,
|
||||
hasLastRunData,
|
||||
handleRun,
|
||||
handleSingleRun,
|
||||
handleRunWithParams,
|
||||
getExistVarValuesInForms,
|
||||
getFilteredExistVarForms,
|
||||
} = useLastRun<typeof data>({
|
||||
@ -178,7 +179,7 @@ const BasePanel: FC<BasePanelProps> = ({
|
||||
nodeType={data.type}
|
||||
onHide={hideSingleRun}
|
||||
runningStatus={runningStatus}
|
||||
onRun={handleRun}
|
||||
onRun={handleRunWithParams}
|
||||
onStop={handleStop}
|
||||
{...singleRunParams!}
|
||||
existVarValuesInForms={getExistVarValuesInForms(singleRunParams?.forms as any)}
|
||||
@ -228,18 +229,7 @@ const BasePanel: FC<BasePanelProps> = ({
|
||||
>
|
||||
<div
|
||||
className='mr-1 flex h-6 w-6 cursor-pointer items-center justify-center rounded-md hover:bg-state-base-hover'
|
||||
onClick={() => {
|
||||
const filteredExistVarForms = getFilteredExistVarForms(singleRunParams.forms)
|
||||
if (filteredExistVarForms.length > 0) {
|
||||
showSingleRun()
|
||||
}
|
||||
else {
|
||||
// TODO: check valid
|
||||
// TODO: all value is setted. wait for api if need to pass exist var values
|
||||
handleRun({})
|
||||
}
|
||||
handleSyncWorkflowDraft(true)
|
||||
}}
|
||||
onClick={handleSingleRun}
|
||||
>
|
||||
<RiPlayLargeLine className='h-4 w-4 text-text-tertiary' />
|
||||
</div>
|
||||
@ -323,7 +313,12 @@ const BasePanel: FC<BasePanelProps> = ({
|
||||
)}
|
||||
|
||||
{tabType === TabType.lastRun && (
|
||||
<LastRun appId={appDetail?.id || ''} nodeId={id} runningStatus={runningStatus} />
|
||||
<LastRun
|
||||
appId={appDetail?.id || ''}
|
||||
nodeId={id}
|
||||
runningStatus={runningStatus}
|
||||
onSingleRunClicked={handleSingleRun}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -11,20 +11,18 @@ type Props = {
|
||||
appId: string
|
||||
nodeId: string
|
||||
runningStatus?: NodeRunningStatus
|
||||
onSingleRunClicked: () => void
|
||||
}
|
||||
|
||||
const LastRun: FC<Props> = ({
|
||||
appId,
|
||||
nodeId,
|
||||
runningStatus,
|
||||
onSingleRunClicked,
|
||||
}) => {
|
||||
const isRunning = runningStatus === NodeRunningStatus.Running
|
||||
const { data: runResult, isFetching } = useLastRun(appId, nodeId, !isRunning)
|
||||
|
||||
const handleSingleRun = () => {
|
||||
console.log('run')
|
||||
}
|
||||
|
||||
if (isFetching)
|
||||
return <Loading />
|
||||
|
||||
@ -33,7 +31,7 @@ const LastRun: FC<Props> = ({
|
||||
|
||||
if (!runResult) {
|
||||
return (
|
||||
<NoData onSingleRun={handleSingleRun} />
|
||||
<NoData onSingleRun={onSingleRunClicked} />
|
||||
)
|
||||
}
|
||||
return (
|
||||
|
@ -6,6 +6,9 @@ import { useWorkflowStore } from '@/app/components/workflow/store'
|
||||
import type { Props as FormProps } from '@/app/components/workflow/nodes/_base/components/before-run-form/form'
|
||||
import useLLMSingleRunFormParams from '@/app/components/workflow/nodes/llm/use-single-run-form-params'
|
||||
import { BlockEnum } from '@/app/components/workflow/types'
|
||||
import {
|
||||
useNodesSyncDraft,
|
||||
} from '@/app/components/workflow/hooks'
|
||||
|
||||
const singleRunFormParamsHooks: Record<BlockEnum, any> = {
|
||||
[BlockEnum.LLM]: useLLMSingleRunFormParams,
|
||||
@ -43,6 +46,8 @@ type Params<T> = OneStepRunParams<T>
|
||||
const useLastRun = <T>({
|
||||
...oneStepRunParams
|
||||
}: Params<T>) => {
|
||||
const { handleSyncWorkflowDraft } = useNodesSyncDraft()
|
||||
|
||||
const {
|
||||
id,
|
||||
data,
|
||||
@ -50,12 +55,13 @@ const useLastRun = <T>({
|
||||
const oneStepRunRes = useOneStepRun(oneStepRunParams)
|
||||
const {
|
||||
hideSingleRun,
|
||||
handleRun: callRunApi,
|
||||
handleRun: doCallRunApi,
|
||||
getInputVars,
|
||||
toVarInputs,
|
||||
runInputData,
|
||||
runInputDataRef,
|
||||
setRunInputData,
|
||||
showSingleRun,
|
||||
} = oneStepRunRes
|
||||
|
||||
const singleRunParams = useSingleRunFormParamsHooks(data.type)({
|
||||
@ -68,8 +74,13 @@ const useLastRun = <T>({
|
||||
toVarInputs,
|
||||
})
|
||||
|
||||
const callRunApi = async (data: Record<string, any>) => {
|
||||
await handleSyncWorkflowDraft(true)
|
||||
doCallRunApi(data)
|
||||
}
|
||||
|
||||
const [tabType, setTabType] = useState<TabType>(TabType.settings)
|
||||
const handleRun = async (data: Record<string, any>) => {
|
||||
const handleRunWithParams = async (data: Record<string, any>) => {
|
||||
setTabType(TabType.lastRun)
|
||||
callRunApi(data)
|
||||
hideSingleRun()
|
||||
@ -141,6 +152,14 @@ const useLastRun = <T>({
|
||||
return res
|
||||
}
|
||||
|
||||
const handleSingleRun = () => {
|
||||
const filteredExistVarForms = getFilteredExistVarForms(singleRunParams.forms)
|
||||
if (filteredExistVarForms.length > 0)
|
||||
showSingleRun()
|
||||
else
|
||||
callRunApi({})// no need to pass params
|
||||
}
|
||||
|
||||
return {
|
||||
...oneStepRunRes,
|
||||
tabType,
|
||||
@ -148,7 +167,8 @@ const useLastRun = <T>({
|
||||
singleRunParams,
|
||||
setRunInputData,
|
||||
hasLastRunData,
|
||||
handleRun,
|
||||
handleSingleRun,
|
||||
handleRunWithParams,
|
||||
getExistVarValuesInForms,
|
||||
getFilteredExistVarForms,
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user