mirror of
https://github.com/langgenius/dify.git
synced 2026-05-05 01:48:04 +08:00
refactor(workflow): migrate legacy toast usage to ui toast (#34002)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
@ -19,11 +19,13 @@ vi.mock('@/app/components/base/file-uploader/hooks', () => ({
|
||||
useFileSizeLimit: vi.fn(),
|
||||
}))
|
||||
|
||||
vi.mock('@/app/components/base/toast/context', () => ({
|
||||
useToastContext: () => ({
|
||||
notify: vi.fn(),
|
||||
close: vi.fn(),
|
||||
}),
|
||||
vi.mock('@/app/components/base/ui/toast', () => ({
|
||||
toast: {
|
||||
success: vi.fn(),
|
||||
error: vi.fn(),
|
||||
warning: vi.fn(),
|
||||
info: vi.fn(),
|
||||
},
|
||||
}))
|
||||
|
||||
const createPayload = (overrides: Partial<UploadFileSetting> = {}): UploadFileSetting => ({
|
||||
|
||||
@ -10,7 +10,7 @@ import { useEffect, useRef } from 'react'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
import Button from '@/app/components/base/button'
|
||||
import { getProcessedFiles } from '@/app/components/base/file-uploader/utils'
|
||||
import Toast from '@/app/components/base/toast'
|
||||
import { toast } from '@/app/components/base/ui/toast'
|
||||
import Split from '@/app/components/workflow/nodes/_base/components/split'
|
||||
import SingleRunForm from '@/app/components/workflow/nodes/human-input/components/single-run-form'
|
||||
import { BlockEnum, InputVarType } from '@/app/components/workflow/types'
|
||||
@ -126,10 +126,7 @@ const BeforeRunForm: FC<BeforeRunFormProps> = ({
|
||||
})
|
||||
})
|
||||
if (errMsg) {
|
||||
Toast.notify({
|
||||
message: errMsg,
|
||||
type: 'error',
|
||||
})
|
||||
toast.error(errMsg)
|
||||
return
|
||||
}
|
||||
|
||||
@ -147,10 +144,7 @@ const BeforeRunForm: FC<BeforeRunFormProps> = ({
|
||||
})
|
||||
})
|
||||
if (parseErrorJsonField) {
|
||||
Toast.notify({
|
||||
message: t('errorMsg.invalidJson', { ns: 'workflow', field: parseErrorJsonField }),
|
||||
type: 'error',
|
||||
})
|
||||
toast.error(t('errorMsg.invalidJson', { ns: 'workflow', field: parseErrorJsonField }))
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@ import type { Params as OneStepRunParams } from '@/app/components/workflow/nodes
|
||||
// import
|
||||
import type { CommonNodeType, ValueSelector } from '@/app/components/workflow/types'
|
||||
import { useCallback, useEffect, useState } from 'react'
|
||||
import Toast from '@/app/components/base/toast'
|
||||
import { toast } from '@/app/components/base/ui/toast'
|
||||
import {
|
||||
useNodesSyncDraft,
|
||||
} from '@/app/components/workflow/hooks'
|
||||
@ -163,7 +163,7 @@ const useLastRun = <T>({
|
||||
return false
|
||||
|
||||
const message = warningForNode.errorMessages[0] || 'This node has unresolved checklist issues'
|
||||
Toast.notify({ type: 'error', message })
|
||||
toast.error(message)
|
||||
return true
|
||||
}, [warningNodes, id])
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@ import {
|
||||
} from 'reactflow'
|
||||
import { trackEvent } from '@/app/components/base/amplitude'
|
||||
import { getInputVars as doGetInputVars } from '@/app/components/base/prompt-editor/constants'
|
||||
import Toast from '@/app/components/base/toast'
|
||||
import { toast } from '@/app/components/base/ui/toast'
|
||||
import {
|
||||
useIsChatMode,
|
||||
useNodeDataUpdate,
|
||||
@ -410,14 +410,14 @@ const useOneStepRun = <T>({
|
||||
})
|
||||
|
||||
if (!response) {
|
||||
const message = 'Schedule trigger run failed'
|
||||
Toast.notify({ type: 'error', message })
|
||||
const message = t('common.scheduleTriggerRunFailed', { ns: 'workflow' })
|
||||
toast.error(message)
|
||||
throw new Error(message)
|
||||
}
|
||||
|
||||
if (response?.status === 'error') {
|
||||
const message = response?.message || 'Schedule trigger run failed'
|
||||
Toast.notify({ type: 'error', message })
|
||||
const message = response?.message || t('common.scheduleTriggerRunFailed', { ns: 'workflow' })
|
||||
toast.error(message)
|
||||
throw new Error(message)
|
||||
}
|
||||
|
||||
@ -442,10 +442,10 @@ const useOneStepRun = <T>({
|
||||
_singleRunningStatus: NodeRunningStatus.Failed,
|
||||
},
|
||||
})
|
||||
Toast.notify({ type: 'error', message: 'Schedule trigger run failed' })
|
||||
toast.error(t('common.scheduleTriggerRunFailed', { ns: 'workflow' }))
|
||||
throw error
|
||||
}
|
||||
}, [flowId, id, handleNodeDataUpdate, data])
|
||||
}, [flowId, id, handleNodeDataUpdate, data, t])
|
||||
|
||||
const runWebhookSingleRun = useCallback(async (): Promise<any | null> => {
|
||||
const urlPath = `/apps/${flowId}/workflows/draft/nodes/${id}/trigger/run`
|
||||
@ -467,8 +467,8 @@ const useOneStepRun = <T>({
|
||||
return null
|
||||
|
||||
if (!response) {
|
||||
const message = response?.message || 'Webhook debug failed'
|
||||
Toast.notify({ type: 'error', message })
|
||||
const message = response?.message || t('common.webhookDebugFailed', { ns: 'workflow' })
|
||||
toast.error(message)
|
||||
cancelWebhookSingleRun()
|
||||
throw new Error(message)
|
||||
}
|
||||
@ -495,8 +495,8 @@ const useOneStepRun = <T>({
|
||||
}
|
||||
|
||||
if (response?.status === 'error') {
|
||||
const message = response.message || 'Webhook debug failed'
|
||||
Toast.notify({ type: 'error', message })
|
||||
const message = response.message || t('common.webhookDebugFailed', { ns: 'workflow' })
|
||||
toast.error(message)
|
||||
cancelWebhookSingleRun()
|
||||
throw new Error(message)
|
||||
}
|
||||
@ -519,7 +519,7 @@ const useOneStepRun = <T>({
|
||||
if (controller.signal.aborted)
|
||||
return null
|
||||
|
||||
Toast.notify({ type: 'error', message: 'Webhook debug request failed' })
|
||||
toast.error(t('common.webhookDebugRequestFailed', { ns: 'workflow' }))
|
||||
cancelWebhookSingleRun()
|
||||
if (error instanceof Error)
|
||||
throw error
|
||||
@ -531,7 +531,7 @@ const useOneStepRun = <T>({
|
||||
}
|
||||
|
||||
return null
|
||||
}, [flowId, id, data, handleNodeDataUpdate, cancelWebhookSingleRun])
|
||||
}, [flowId, id, data, handleNodeDataUpdate, cancelWebhookSingleRun, t])
|
||||
|
||||
const runPluginSingleRun = useCallback(async (): Promise<any | null> => {
|
||||
const urlPath = `/apps/${flowId}/workflows/draft/nodes/${id}/trigger/run`
|
||||
@ -566,14 +566,14 @@ const useOneStepRun = <T>({
|
||||
if (controller.signal.aborted)
|
||||
return null
|
||||
|
||||
Toast.notify({ type: 'error', message: requestError.message })
|
||||
toast.error(requestError.message)
|
||||
cancelPluginSingleRun()
|
||||
throw requestError
|
||||
}
|
||||
|
||||
if (!response) {
|
||||
const message = 'Plugin debug failed'
|
||||
Toast.notify({ type: 'error', message })
|
||||
toast.error(message)
|
||||
cancelPluginSingleRun()
|
||||
throw new Error(message)
|
||||
}
|
||||
@ -600,7 +600,7 @@ const useOneStepRun = <T>({
|
||||
|
||||
if (response?.status === 'error') {
|
||||
const message = response.message || 'Plugin debug failed'
|
||||
Toast.notify({ type: 'error', message })
|
||||
toast.error(message)
|
||||
cancelPluginSingleRun()
|
||||
throw new Error(message)
|
||||
}
|
||||
@ -633,10 +633,8 @@ const useOneStepRun = <T>({
|
||||
_isSingleRun: false,
|
||||
},
|
||||
})
|
||||
Toast.notify({
|
||||
type: 'error',
|
||||
message: res.errorMessage || '',
|
||||
})
|
||||
if (res.errorMessage)
|
||||
toast.error(res.errorMessage)
|
||||
}
|
||||
return res
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user