From 07f0140d10eefcd499f30b0ce91ae2df9c38b817 Mon Sep 17 00:00:00 2001 From: AkaraChen Date: Fri, 6 Dec 2024 15:20:14 +0800 Subject: [PATCH] feat: preview parent child chunk in create step 2 --- .../datasets/create/step-two/index.tsx | 49 +++++++++++++++---- .../datasets/create/step-two/option-card.tsx | 8 ++- web/models/datasets.ts | 3 +- 3 files changed, 47 insertions(+), 13 deletions(-) diff --git a/web/app/components/datasets/create/step-two/index.tsx b/web/app/components/datasets/create/step-two/index.tsx index de35bb1f54..5dd7af33c9 100644 --- a/web/app/components/datasets/create/step-two/index.tsx +++ b/web/app/components/datasets/create/step-two/index.tsx @@ -20,6 +20,8 @@ import { PreviewContainer } from '../../preview/container' import { ChunkContainer, QAPreview } from '../../chunk' import { PreviewHeader } from '../../preview/header' import DocumentPicker from '../../common/document-picker' +import { FormattedText } from '../../formatted-text/formatted' +import { PreviewSlice } from '../../formatted-text/flavours/preview-slice' import s from './index.module.css' import unescape from './unescape' import escape from './escape' @@ -171,6 +173,11 @@ const StepTwo = ({ const [docForm, setDocForm] = useState( (datasetId && documentDetail) ? documentDetail.doc_form as ChuckingMode : ChuckingMode.text, ) + const handleChangeDocform = (value: ChuckingMode) => { + setDocForm(value) + // eslint-disable-next-line @typescript-eslint/no-use-before-define + currentEstimateMutation.reset() + } const [docLanguage, setDocLanguage] = useState( (datasetId && documentDetail) ? documentDetail.doc_language : (locale !== LanguagesSupported[1] ? 'English' : 'Chinese'), @@ -498,7 +505,8 @@ const StepTwo = ({ const changeToEconomicalType = () => { if (!hasSetIndexType) { setIndexType(IndexingType.ECONOMICAL) - setDocForm(ChuckingMode.text) + if (docForm === ChuckingMode.qa) + handleChangeDocform(ChuckingMode.text) } } @@ -514,11 +522,6 @@ const StepTwo = ({ // eslint-disable-next-line react-hooks/exhaustive-deps }, []) - useEffect(() => { - if (indexingType === IndexingType.ECONOMICAL && docForm === ChuckingMode.qa) - setDocForm(ChuckingMode.text) - }, [indexingType, docForm]) - useEffect(() => { // get indexing type by props if (indexingType) @@ -553,7 +556,7 @@ const StepTwo = ({ activeHeaderClassName='bg-gradient-to-r from-[#EFF0F9] to-[#F9FAFB]' description={t('datasetCreation.stepTwo.generalTip')} isActive={docForm === ChuckingMode.qa || docForm === ChuckingMode.text} - onClick={() => setDocForm(ChuckingMode.text)} + onSelect={() => handleChangeDocform(ChuckingMode.text)} actions={ <>