chore: workflow last run

pull/21823/head
zxhlyh 11 months ago
parent 7c76458b18
commit 931a45dbfc

@ -8,6 +8,7 @@ import type { WorkflowProps } from '@/app/components/workflow'
import WorkflowChildren from './workflow-children' import WorkflowChildren from './workflow-children'
import { import {
useNodesSyncDraft, useNodesSyncDraft,
useSetWorkflowVarsWithValue,
useWorkflowRefreshDraft, useWorkflowRefreshDraft,
useWorkflowRun, useWorkflowRun,
useWorkflowStartRun, useWorkflowStartRun,
@ -61,6 +62,7 @@ const WorkflowMain = ({
handleWorkflowStartRunInChatflow, handleWorkflowStartRunInChatflow,
handleWorkflowStartRunInWorkflow, handleWorkflowStartRunInWorkflow,
} = useWorkflowStartRun() } = useWorkflowStartRun()
const { fetchInspectVars } = useSetWorkflowVarsWithValue()
const hooksStore = useMemo(() => { const hooksStore = useMemo(() => {
return { return {
@ -75,6 +77,7 @@ const WorkflowMain = ({
handleStartWorkflowRun, handleStartWorkflowRun,
handleWorkflowStartRunInChatflow, handleWorkflowStartRunInChatflow,
handleWorkflowStartRunInWorkflow, handleWorkflowStartRunInWorkflow,
fetchInspectVars,
} }
}, [ }, [
syncWorkflowDraftWhenPageClose, syncWorkflowDraftWhenPageClose,
@ -88,6 +91,7 @@ const WorkflowMain = ({
handleStartWorkflowRun, handleStartWorkflowRun,
handleWorkflowStartRunInChatflow, handleWorkflowStartRunInChatflow,
handleWorkflowStartRunInWorkflow, handleWorkflowStartRunInWorkflow,
fetchInspectVars,
]) ])
return ( return (

@ -5,3 +5,4 @@ export * from './use-workflow-run'
export * from './use-workflow-start-run' export * from './use-workflow-start-run'
export * from './use-is-chat-mode' export * from './use-is-chat-mode'
export * from './use-workflow-refresh-draft' export * from './use-workflow-refresh-draft'
export * from './use-fetch-workflow-inspect-vars'

@ -1,11 +1,12 @@
import type { NodeWithVar, VarInInspect } from '@/types/workflow' import type { NodeWithVar, VarInInspect } from '@/types/workflow'
import { useWorkflowStore } from '../../workflow/store' import { useWorkflowStore } from '@/app/components/workflow/store'
import { useStoreApi } from 'reactflow' import { useStoreApi } from 'reactflow'
import type { Node } from '@/app/components/workflow/types' import type { Node } from '@/app/components/workflow/types'
import { fetchAllInspectVars } from '@/service/workflow' import { fetchAllInspectVars } from '@/service/workflow'
import { useInvalidateConversationVarValues, useInvalidateSysVarValues } from '@/service/use-workflow' import { useInvalidateConversationVarValues, useInvalidateSysVarValues } from '@/service/use-workflow'
import { useNodesInteractionsWithoutSync } from '../../workflow/hooks/use-nodes-interactions-without-sync' import { useNodesInteractionsWithoutSync } from '@/app/components/workflow/hooks/use-nodes-interactions-without-sync'
const useSetWorkflowVarsWithValue = () => {
export const useSetWorkflowVarsWithValue = () => {
const workflowStore = useWorkflowStore() const workflowStore = useWorkflowStore()
const { setNodesWithInspectVars, appId } = workflowStore.getState() const { setNodesWithInspectVars, appId } = workflowStore.getState()
const store = useStoreApi() const store = useStoreApi()
@ -64,5 +65,3 @@ const useSetWorkflowVarsWithValue = () => {
fetchInspectVars, fetchInspectVars,
} }
} }
export default useSetWorkflowVarsWithValue

@ -20,7 +20,7 @@ import type { VersionHistory } from '@/types/workflow'
import { noop } from 'lodash-es' import { noop } from 'lodash-es'
import { useNodesSyncDraft } from './use-nodes-sync-draft' import { useNodesSyncDraft } from './use-nodes-sync-draft'
import { useInvalidAllLastRun } from '@/service/use-workflow' import { useInvalidAllLastRun } from '@/service/use-workflow'
import useSetWorkflowVarsWithValue from './use-fetch-workflow-inspect-vars' import { useSetWorkflowVarsWithValue } from '@/app/components/workflow/hooks/use-set-workflow-vars-with-value'
export const useWorkflowRun = () => { export const useWorkflowRun = () => {
const store = useStoreApi() const store = useStoreApi()

@ -7,6 +7,7 @@ import {
} from 'zustand' } from 'zustand'
import { createStore } from 'zustand/vanilla' import { createStore } from 'zustand/vanilla'
import { HooksStoreContext } from './provider' import { HooksStoreContext } from './provider'
import type { IOtherOptions } from '@/service/base'
type CommonHooksFnMap = { type CommonHooksFnMap = {
doSyncWorkflowDraft: ( doSyncWorkflowDraft: (
@ -22,11 +23,12 @@ type CommonHooksFnMap = {
handleBackupDraft: () => void handleBackupDraft: () => void
handleLoadBackupDraft: () => void handleLoadBackupDraft: () => void
handleRestoreFromPublishedWorkflow: (...args: any[]) => void handleRestoreFromPublishedWorkflow: (...args: any[]) => void
handleRun: (...args: any[]) => void handleRun: (params: any, callback?: IOtherOptions,) => void
handleStopRun: (...args: any[]) => void handleStopRun: (...args: any[]) => void
handleStartWorkflowRun: () => void handleStartWorkflowRun: () => void
handleWorkflowStartRunInWorkflow: () => void handleWorkflowStartRunInWorkflow: () => void
handleWorkflowStartRunInChatflow: () => void handleWorkflowStartRunInChatflow: () => void
fetchInspectVars: () => Promise<void>
} }
export type Shape = { export type Shape = {
@ -45,6 +47,7 @@ export const createHooksStore = ({
handleStartWorkflowRun = noop, handleStartWorkflowRun = noop,
handleWorkflowStartRunInWorkflow = noop, handleWorkflowStartRunInWorkflow = noop,
handleWorkflowStartRunInChatflow = noop, handleWorkflowStartRunInChatflow = noop,
fetchInspectVars = async () => noop(),
}: Partial<Shape>) => { }: Partial<Shape>) => {
return createStore<Shape>(set => ({ return createStore<Shape>(set => ({
refreshAll: props => set(state => ({ ...state, ...props })), refreshAll: props => set(state => ({ ...state, ...props })),
@ -59,6 +62,7 @@ export const createHooksStore = ({
handleStartWorkflowRun, handleStartWorkflowRun,
handleWorkflowStartRunInWorkflow, handleWorkflowStartRunInWorkflow,
handleWorkflowStartRunInChatflow, handleWorkflowStartRunInChatflow,
fetchInspectVars,
})) }))
} }

@ -17,3 +17,5 @@ export * from './use-workflow-interactions'
export * from './use-workflow-mode' export * from './use-workflow-mode'
export * from './use-format-time-from-now' export * from './use-format-time-from-now'
export * from './use-workflow-refresh-draft' export * from './use-workflow-refresh-draft'
export * from './use-inspect-vars-crud'
export * from './use-set-workflow-vars-with-value'

@ -0,0 +1,9 @@
import { useHooksStore } from '@/app/components/workflow/hooks-store'
export const useSetWorkflowVarsWithValue = () => {
const fetchInspectVars = useHooksStore(s => s.doSyncWorkflowDraft)
return {
fetchInspectVars,
}
}

@ -42,6 +42,7 @@ import {
useNodesSyncDraft, useNodesSyncDraft,
usePanelInteractions, usePanelInteractions,
useSelectionInteractions, useSelectionInteractions,
useSetWorkflowVarsWithValue,
useShortcuts, useShortcuts,
useWorkflow, useWorkflow,
useWorkflowReadOnly, useWorkflowReadOnly,
@ -82,7 +83,6 @@ import Confirm from '@/app/components/base/confirm'
import DatasetsDetailProvider from './datasets-detail-store/provider' import DatasetsDetailProvider from './datasets-detail-store/provider'
import { HooksStoreContextProvider } from './hooks-store' import { HooksStoreContextProvider } from './hooks-store'
import type { Shape as HooksStoreShape } from './hooks-store' import type { Shape as HooksStoreShape } from './hooks-store'
import useSetWorkflowVarsWithValue from '../workflow-app/hooks/use-fetch-workflow-inspect-vars'
const nodeTypes = { const nodeTypes = {
[CUSTOM_NODE]: CustomNode, [CUSTOM_NODE]: CustomNode,

@ -8,7 +8,10 @@ import {
import { useTranslation } from 'react-i18next' import { useTranslation } from 'react-i18next'
import { produce, setAutoFreeze } from 'immer' import { produce, setAutoFreeze } from 'immer'
import { uniqBy } from 'lodash-es' import { uniqBy } from 'lodash-es'
import { useWorkflowRun } from '../../hooks' import {
useSetWorkflowVarsWithValue,
useWorkflowRun,
} from '../../hooks'
import { NodeRunningStatus, WorkflowRunningStatus } from '../../types' import { NodeRunningStatus, WorkflowRunningStatus } from '../../types'
import { useWorkflowStore } from '../../store' import { useWorkflowStore } from '../../store'
import { DEFAULT_ITER_TIMES, DEFAULT_LOOP_TIMES } from '../../constants' import { DEFAULT_ITER_TIMES, DEFAULT_LOOP_TIMES } from '../../constants'
@ -32,7 +35,6 @@ import type { FileEntity } from '@/app/components/base/file-uploader/types'
import { getThreadMessages } from '@/app/components/base/chat/utils' import { getThreadMessages } from '@/app/components/base/chat/utils'
import { useInvalidAllLastRun } from '@/service/use-workflow' import { useInvalidAllLastRun } from '@/service/use-workflow'
import { useParams } from 'next/navigation' import { useParams } from 'next/navigation'
import useSetWorkflowVarsWithValue from '@/app/components/workflow-app/hooks/use-fetch-workflow-inspect-vars'
type GetAbortController = (abortController: AbortController) => void type GetAbortController = (abortController: AbortController) => void
type SendCallback = { type SendCallback = {
@ -499,7 +501,7 @@ export const useChat = (
}, },
}, },
) )
}, [threadMessages, chatTree.length, updateCurrentQAOnTree, handleResponding, formSettings?.inputsForm, handleRun, notify, t, config?.suggested_questions_after_answer?.enabled]) }, [threadMessages, chatTree.length, updateCurrentQAOnTree, handleResponding, formSettings?.inputsForm, handleRun, notify, t, config?.suggested_questions_after_answer?.enabled, fetchInspectVars, invalidAllLastRun])
return { return {
conversationId: conversationId.current, conversationId: conversationId.current,

Loading…
Cancel
Save