handleToggle(index)}
- >
- {
- current.expand
- ?
- :
- }
-
- )
- }
- if (current.parent_id === 'root' || !pagesMap[current.parent_id]) {
- return (
-
-
{
- if (disabled)
- return
- handleCheck(index)
- }}
- />
- {!searchValue && renderArrow()}
-
-
- {current.page_name}
-
- {
- canPreview && (
- handlePreview(index)}>
- {t('common.dataSource.notion.selector.preview')}
-
- )
- }
- {
- searchValue && (
-
- {breadCrumbs.join(' / ')}
-
- )
- }
-
- )
-}
-const Item = memo(ItemComponent, areEqual)
-
const PageSelector = ({
value,
disabledValue,
diff --git a/web/app/components/rag-pipeline/components/panel/test-run/data-source/online-documents/page-selector/item.tsx b/web/app/components/rag-pipeline/components/panel/test-run/data-source/online-documents/page-selector/item.tsx
new file mode 100644
index 0000000000..3c82c3890e
--- /dev/null
+++ b/web/app/components/rag-pipeline/components/panel/test-run/data-source/online-documents/page-selector/item.tsx
@@ -0,0 +1,138 @@
+import React from 'react'
+import { useTranslation } from 'react-i18next'
+import { areEqual } from 'react-window'
+import type { ListChildComponentProps } from 'react-window'
+import { RiArrowDownSLine, RiArrowRightSLine } from '@remixicon/react'
+import Checkbox from '@/app/components/base/checkbox'
+import NotionIcon from '@/app/components/base/notion-icon'
+import cn from '@/utils/classnames'
+import type { DataSourceNotionPage, DataSourceNotionPageMap } from '@/models/common'
+
+type NotionPageTreeItem = {
+ children: Set