mirror of https://github.com/langgenius/dify.git
fix(knowledge-base): regenerate child chunks not working completely (#27934)
This commit is contained in:
parent
667b1c37a3
commit
45e816a9f6
|
|
@ -121,7 +121,7 @@ const RegenerationModal: FC<IRegenerationModalProps> = ({
|
||||||
})
|
})
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Modal isShow={isShow} onClose={noop} className='!max-w-[480px] !rounded-2xl'>
|
<Modal isShow={isShow} onClose={noop} className='!max-w-[480px] !rounded-2xl' wrapperClassName='!z-[10000]'>
|
||||||
{!loading && !updateSucceeded && <DefaultContent onCancel={onCancel} onConfirm={onConfirm} />}
|
{!loading && !updateSucceeded && <DefaultContent onCancel={onCancel} onConfirm={onConfirm} />}
|
||||||
{loading && !updateSucceeded && <RegeneratingContent />}
|
{loading && !updateSucceeded && <RegeneratingContent />}
|
||||||
{!loading && updateSucceeded && <RegenerationCompletedContent onClose={onClose} />}
|
{!loading && updateSucceeded && <RegenerationCompletedContent onClose={onClose} />}
|
||||||
|
|
|
||||||
|
|
@ -124,6 +124,7 @@ const Completed: FC<ICompletedProps> = ({
|
||||||
const [limit, setLimit] = useState(DEFAULT_LIMIT)
|
const [limit, setLimit] = useState(DEFAULT_LIMIT)
|
||||||
const [fullScreen, setFullScreen] = useState(false)
|
const [fullScreen, setFullScreen] = useState(false)
|
||||||
const [showNewChildSegmentModal, setShowNewChildSegmentModal] = useState(false)
|
const [showNewChildSegmentModal, setShowNewChildSegmentModal] = useState(false)
|
||||||
|
const [isRegenerationModalOpen, setIsRegenerationModalOpen] = useState(false)
|
||||||
|
|
||||||
const segmentListRef = useRef<HTMLDivElement>(null)
|
const segmentListRef = useRef<HTMLDivElement>(null)
|
||||||
const childSegmentListRef = useRef<HTMLDivElement>(null)
|
const childSegmentListRef = useRef<HTMLDivElement>(null)
|
||||||
|
|
@ -669,6 +670,7 @@ const Completed: FC<ICompletedProps> = ({
|
||||||
onClose={onCloseSegmentDetail}
|
onClose={onCloseSegmentDetail}
|
||||||
showOverlay={false}
|
showOverlay={false}
|
||||||
needCheckChunks
|
needCheckChunks
|
||||||
|
modal={isRegenerationModalOpen}
|
||||||
>
|
>
|
||||||
<SegmentDetail
|
<SegmentDetail
|
||||||
key={currSegment.segInfo?.id}
|
key={currSegment.segInfo?.id}
|
||||||
|
|
@ -677,6 +679,7 @@ const Completed: FC<ICompletedProps> = ({
|
||||||
isEditMode={currSegment.isEditMode}
|
isEditMode={currSegment.isEditMode}
|
||||||
onUpdate={handleUpdateSegment}
|
onUpdate={handleUpdateSegment}
|
||||||
onCancel={onCloseSegmentDetail}
|
onCancel={onCloseSegmentDetail}
|
||||||
|
onModalStateChange={setIsRegenerationModalOpen}
|
||||||
/>
|
/>
|
||||||
</FullScreenDrawer>
|
</FullScreenDrawer>
|
||||||
{/* Create New Segment */}
|
{/* Create New Segment */}
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ type ISegmentDetailProps = {
|
||||||
onCancel: () => void
|
onCancel: () => void
|
||||||
isEditMode?: boolean
|
isEditMode?: boolean
|
||||||
docForm: ChunkingMode
|
docForm: ChunkingMode
|
||||||
|
onModalStateChange?: (isOpen: boolean) => void
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -38,6 +39,7 @@ const SegmentDetail: FC<ISegmentDetailProps> = ({
|
||||||
onCancel,
|
onCancel,
|
||||||
isEditMode,
|
isEditMode,
|
||||||
docForm,
|
docForm,
|
||||||
|
onModalStateChange,
|
||||||
}) => {
|
}) => {
|
||||||
const { t } = useTranslation()
|
const { t } = useTranslation()
|
||||||
const [question, setQuestion] = useState(isEditMode ? segInfo?.content || '' : segInfo?.sign_content || '')
|
const [question, setQuestion] = useState(isEditMode ? segInfo?.content || '' : segInfo?.sign_content || '')
|
||||||
|
|
@ -68,11 +70,19 @@ const SegmentDetail: FC<ISegmentDetailProps> = ({
|
||||||
|
|
||||||
const handleRegeneration = useCallback(() => {
|
const handleRegeneration = useCallback(() => {
|
||||||
setShowRegenerationModal(true)
|
setShowRegenerationModal(true)
|
||||||
}, [])
|
onModalStateChange?.(true)
|
||||||
|
}, [onModalStateChange])
|
||||||
|
|
||||||
const onCancelRegeneration = useCallback(() => {
|
const onCancelRegeneration = useCallback(() => {
|
||||||
setShowRegenerationModal(false)
|
setShowRegenerationModal(false)
|
||||||
}, [])
|
onModalStateChange?.(false)
|
||||||
|
}, [onModalStateChange])
|
||||||
|
|
||||||
|
const onCloseAfterRegeneration = useCallback(() => {
|
||||||
|
setShowRegenerationModal(false)
|
||||||
|
onModalStateChange?.(false)
|
||||||
|
onCancel() // Close the edit drawer
|
||||||
|
}, [onCancel, onModalStateChange])
|
||||||
|
|
||||||
const onConfirmRegeneration = useCallback(() => {
|
const onConfirmRegeneration = useCallback(() => {
|
||||||
onUpdate(segInfo?.id || '', question, answer, keywords, true)
|
onUpdate(segInfo?.id || '', question, answer, keywords, true)
|
||||||
|
|
@ -161,7 +171,7 @@ const SegmentDetail: FC<ISegmentDetailProps> = ({
|
||||||
isShow={showRegenerationModal}
|
isShow={showRegenerationModal}
|
||||||
onConfirm={onConfirmRegeneration}
|
onConfirm={onConfirmRegeneration}
|
||||||
onCancel={onCancelRegeneration}
|
onCancel={onCancelRegeneration}
|
||||||
onClose={onCancelRegeneration}
|
onClose={onCloseAfterRegeneration}
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue