mirror of https://github.com/langgenius/dify.git
fix: sync draft
This commit is contained in:
parent
3ac37e802a
commit
f06554a11e
|
|
@ -1,11 +1,11 @@
|
|||
'use client'
|
||||
|
||||
import Workflow from '@/app/components/workflow'
|
||||
|
||||
const Page = async ({
|
||||
params: { appId },
|
||||
}: any) => {
|
||||
const Page = () => {
|
||||
return (
|
||||
<div className='w-full h-full overflow-x-auto'>
|
||||
<Workflow appId={appId} />
|
||||
<Workflow />
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,14 +8,13 @@ type WorkflowStore = ReturnType<typeof createWorkflowStore>
|
|||
export const WorkflowContext = createContext<WorkflowStore | null>(null)
|
||||
|
||||
type WorkflowProviderProps = {
|
||||
appId: string
|
||||
children: React.ReactNode
|
||||
}
|
||||
export const WorkflowContextProvider = ({ appId, children }: WorkflowProviderProps) => {
|
||||
export const WorkflowContextProvider = ({ children }: WorkflowProviderProps) => {
|
||||
const storeRef = useRef<WorkflowStore>()
|
||||
|
||||
if (!storeRef.current)
|
||||
storeRef.current = createWorkflowStore(appId)
|
||||
storeRef.current = createWorkflowStore()
|
||||
|
||||
return (
|
||||
<WorkflowContext.Provider value={storeRef.current}>
|
||||
|
|
|
|||
|
|
@ -351,6 +351,7 @@ export const useWorkflowInit = () => {
|
|||
const { handleFetchAllTools } = useFetchToolsData()
|
||||
const appDetail = useAppStore(state => state.appDetail)!
|
||||
const { data, isLoading, error, mutate } = useSWR(`/apps/${appDetail.id}/workflows/draft`, fetchWorkflowDraft)
|
||||
workflowStore.setState({ appId: appDetail.id })
|
||||
|
||||
const handleFetchPreloadData = useCallback(async () => {
|
||||
try {
|
||||
|
|
|
|||
|
|
@ -84,11 +84,11 @@ const Workflow: FC<WorkflowProps> = memo(({
|
|||
}
|
||||
}, [])
|
||||
|
||||
// useEffect(() => {
|
||||
// return () => {
|
||||
// handleSyncWorkflowDraft(true)
|
||||
// }
|
||||
// }, [])
|
||||
useEffect(() => {
|
||||
return () => {
|
||||
handleSyncWorkflowDraft(true)
|
||||
}
|
||||
}, [])
|
||||
|
||||
const handleSyncWorkflowDraftWhenPageClose = useCallback(() => {
|
||||
if (document.visibilityState === 'hidden')
|
||||
|
|
@ -250,9 +250,9 @@ const WorkflowWrap = memo(() => {
|
|||
})
|
||||
WorkflowWrap.displayName = 'WorkflowWrap'
|
||||
|
||||
const WorkflowContainer = ({ appId }: any) => {
|
||||
const WorkflowContainer = () => {
|
||||
return (
|
||||
<WorkflowContextProvider appId={appId}>
|
||||
<WorkflowContextProvider>
|
||||
<WorkflowWrap />
|
||||
</WorkflowContextProvider>
|
||||
)
|
||||
|
|
|
|||
|
|
@ -64,9 +64,9 @@ type Shape = {
|
|||
setCustomTools: (tools: ToolWithProvider[]) => void
|
||||
}
|
||||
|
||||
export const createWorkflowStore = (appId: string) => {
|
||||
export const createWorkflowStore = () => {
|
||||
return create<Shape>(set => ({
|
||||
appId,
|
||||
appId: '',
|
||||
workflowData: undefined,
|
||||
setWorkflowRunningData: workflowRunningData => set(() => ({ workflowRunningData })),
|
||||
historyWorkflowData: undefined,
|
||||
|
|
|
|||
Loading…
Reference in New Issue