diff --git a/web/app/components/rag-pipeline/components/rag-pipeline-header/publisher/index.tsx b/web/app/components/rag-pipeline/components/rag-pipeline-header/publisher/index.tsx index 26b7766fd8..cbf719ec93 100644 --- a/web/app/components/rag-pipeline/components/rag-pipeline-header/publisher/index.tsx +++ b/web/app/components/rag-pipeline/components/rag-pipeline-header/publisher/index.tsx @@ -1,4 +1,8 @@ -import { memo } from 'react' +import { + memo, + useCallback, + useState, +} from 'react' import { useTranslation } from 'react-i18next' import { RiArrowDownSLine } from '@remixicon/react' import Button from '@/app/components/base/button' @@ -7,20 +11,31 @@ import { PortalToFollowElemContent, PortalToFollowElemTrigger, } from '@/app/components/base/portal-to-follow-elem' +import { useNodesSyncDraft } from '@/app/components/workflow/hooks' import Popup from './popup' const Publisher = () => { const { t } = useTranslation() + const [open, setOpen] = useState(false) + const { handleSyncWorkflowDraft } = useNodesSyncDraft() + + const handleOpenChange = useCallback((newOpen: boolean) => { + if (newOpen) + handleSyncWorkflowDraft() + setOpen(newOpen) + }, [handleSyncWorkflowDraft]) return ( - + handleOpenChange(!open)}>