fix(knowledge-base): regenerate child chunks not working completely (#27934)

This commit is contained in:
breath57 2025-11-13 15:36:27 +08:00 committed by GitHub
parent 667b1c37a3
commit 45e816a9f6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 17 additions and 4 deletions

View File

@ -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} />}

View File

@ -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 */}

View File

@ -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}
/> />
) )
} }