diff --git a/web/app/components/datasets/create/step-two/index.tsx b/web/app/components/datasets/create/step-two/index.tsx index 0a695c9a60..dbccc33f67 100644 --- a/web/app/components/datasets/create/step-two/index.tsx +++ b/web/app/components/datasets/create/step-two/index.tsx @@ -17,7 +17,7 @@ import FamilyMod from '../assets/family-mod.svg' import Note from '../assets/note-mod.svg' import FileList from '../assets/file-list-3-fill.svg' import { indexMethodIcon } from '../icons' -import { PreviewContainer } from '../../preview/container' +import PreviewContainer from '../../preview/container' import { ChunkContainer, QAPreview } from '../../chunk' import { PreviewHeader } from '../../preview/header' import { FormattedText } from '../../formatted-text/formatted' diff --git a/web/app/components/datasets/documents/create-from-pipeline/index.tsx b/web/app/components/datasets/documents/create-from-pipeline/index.tsx index 995893ca01..41b83a5169 100644 --- a/web/app/components/datasets/documents/create-from-pipeline/index.tsx +++ b/web/app/components/datasets/documents/create-from-pipeline/index.tsx @@ -18,7 +18,7 @@ import Loading from '@/app/components/base/loading' import type { Node } from '@/app/components/workflow/types' import type { DataSourceNodeType } from '@/app/components/workflow/nodes/data-source/types' import FilePreview from './preview/file-preview' -import NotionPagePreview from './preview/notion-page-preview' +import OnlineDocumentPreview from './preview/online-document-preview' import WebsitePreview from './preview/web-preview' import ProcessDocuments from './process-documents' import ChunkPreview from './preview/chunk-preview' @@ -223,9 +223,9 @@ const CreateFormPipeline = () => { return (
-
+
{ {/* Preview */} { currentStep === 1 && ( -
+
{currentFile && } - {currentDocuments && } + {currentDocuments && } {currentWebsite && }
) } { currentStep === 2 && ( -
+
file.file)} diff --git a/web/app/components/datasets/documents/create-from-pipeline/preview/chunk-preview.tsx b/web/app/components/datasets/documents/create-from-pipeline/preview/chunk-preview.tsx index cdfcb361e9..2459b4d18d 100644 --- a/web/app/components/datasets/documents/create-from-pipeline/preview/chunk-preview.tsx +++ b/web/app/components/datasets/documents/create-from-pipeline/preview/chunk-preview.tsx @@ -1,6 +1,6 @@ import React, { useState } from 'react' import { useTranslation } from 'react-i18next' -import { PreviewContainer } from '../../../preview/container' +import PreviewContainer from '../../../preview/container' import { PreviewHeader } from '../../../preview/header' import type { CrawlResultItem, CustomFile, DocumentItem, FileIndexingEstimateResponse } from '@/models/datasets' import { ChunkingMode } from '@/models/datasets' @@ -189,7 +189,7 @@ const ChunkPreview = ({
)} {isPending && ( -
+
{Array.from({ length: 10 }, (_, i) => ( diff --git a/web/app/components/datasets/documents/create-from-pipeline/preview/file-preview.tsx b/web/app/components/datasets/documents/create-from-pipeline/preview/file-preview.tsx index 24e2ad58be..02c230344e 100644 --- a/web/app/components/datasets/documents/create-from-pipeline/preview/file-preview.tsx +++ b/web/app/components/datasets/documents/create-from-pipeline/preview/file-preview.tsx @@ -40,7 +40,7 @@ const FilePreview = ({ } return ( -
+
{t('datasetPipeline.addDocuments.stepOne.preview')}
@@ -70,9 +70,15 @@ const FilePreview = ({
- {isFetching && } + {isFetching && ( +
+ +
+ )} {!isFetching && fileData && ( -
{fileData.content}
+
+ {fileData.content} +
)}
) diff --git a/web/app/components/datasets/documents/create-from-pipeline/preview/notion-page-preview.tsx b/web/app/components/datasets/documents/create-from-pipeline/preview/online-document-preview.tsx similarity index 69% rename from web/app/components/datasets/documents/create-from-pipeline/preview/notion-page-preview.tsx rename to web/app/components/datasets/documents/create-from-pipeline/preview/online-document-preview.tsx index 711057a295..147267974c 100644 --- a/web/app/components/datasets/documents/create-from-pipeline/preview/notion-page-preview.tsx +++ b/web/app/components/datasets/documents/create-from-pipeline/preview/online-document-preview.tsx @@ -8,17 +8,18 @@ import { formatNumberAbbreviated } from '@/utils/format' import Loading from './loading' import { Notion } from '@/app/components/base/icons/src/public/common' -type NotionPagePreviewProps = { +type OnlineDocumentPreviewProps = { currentPage: NotionPage hidePreview: () => void } -const NotionPagePreview = ({ +const OnlineDocumentPreview = ({ currentPage, hidePreview, -}: NotionPagePreviewProps) => { +}: OnlineDocumentPreviewProps) => { const { t } = useTranslation() + // todo: replace with a generic hook for previewing online documents const { data: notionPageData, isFetching } = usePreviewNotionPage({ workspaceID: currentPage.workspace_id, pageID: currentPage.page_id, @@ -26,8 +27,8 @@ const NotionPagePreview = ({ }) return ( -
-
+
+
{t('datasetPipeline.addDocuments.stepOne.preview')}
{currentPage?.page_name}
@@ -52,14 +53,18 @@ const NotionPagePreview = ({
-
- {isFetching && } - {!isFetching && notionPageData && ( -
{notionPageData.content}
- )} -
+ {isFetching && ( +
+ +
+ )} + {!isFetching && notionPageData && ( +
+ {notionPageData.content} +
+ )}
) } -export default NotionPagePreview +export default OnlineDocumentPreview diff --git a/web/app/components/datasets/documents/create-from-pipeline/preview/web-preview.tsx b/web/app/components/datasets/documents/create-from-pipeline/preview/web-preview.tsx index 0b9ee6a5a0..fa04f15fcb 100644 --- a/web/app/components/datasets/documents/create-from-pipeline/preview/web-preview.tsx +++ b/web/app/components/datasets/documents/create-from-pipeline/preview/web-preview.tsx @@ -17,8 +17,8 @@ const WebsitePreview = ({ const { t } = useTranslation() return ( -
-
+
+
{t('datasetPipeline.addDocuments.stepOne.preview')}
{payload.title}
@@ -38,8 +38,8 @@ const WebsitePreview = ({
-
-
{payload.markdown}
+
+ {payload.markdown}
) diff --git a/web/app/components/datasets/documents/detail/settings/pipeline-settings/index.tsx b/web/app/components/datasets/documents/detail/settings/pipeline-settings/index.tsx index 6c3e1e23e0..7d919ef1de 100644 --- a/web/app/components/datasets/documents/detail/settings/pipeline-settings/index.tsx +++ b/web/app/components/datasets/documents/detail/settings/pipeline-settings/index.tsx @@ -78,7 +78,7 @@ const PipelineSettings = ({ return (
diff --git a/web/app/components/datasets/preview/container.tsx b/web/app/components/datasets/preview/container.tsx index f6c1f7dc38..fbce75f2c2 100644 --- a/web/app/components/datasets/preview/container.tsx +++ b/web/app/components/datasets/preview/container.tsx @@ -1,20 +1,20 @@ import type { ComponentProps, FC, ReactNode } from 'react' -import { forwardRef } from 'react' import classNames from '@/utils/classnames' export type PreviewContainerProps = ComponentProps<'div'> & { header: ReactNode mainClassName?: string + ref?: React.Ref } -export const PreviewContainer: FC = forwardRef((props, ref) => { - const { children, className, header, mainClassName, ...rest } = props +const PreviewContainer: FC = (props) => { + const { children, className, header, mainClassName, ref, ...rest } = props return
@@ -25,5 +25,8 @@ export const PreviewContainer: FC = forwardRef((props, re
-}) +} + PreviewContainer.displayName = 'PreviewContainer' + +export default PreviewContainer