diff --git a/web/app/components/app/configuration/dataset-config/index.tsx b/web/app/components/app/configuration/dataset-config/index.tsx index 8a919f1d12..b1de2cabd9 100644 --- a/web/app/components/app/configuration/dataset-config/index.tsx +++ b/web/app/components/app/configuration/dataset-config/index.tsx @@ -2,6 +2,7 @@ import type { FC } from 'react' import React, { useCallback, useMemo } from 'react' import { useTranslation } from 'react-i18next' +import { intersectionBy } from 'lodash-es' import { useContext } from 'use-context-selector' import produce from 'immer' import { v4 as uuid4 } from 'uuid' @@ -131,11 +132,11 @@ const DatasetConfig: FC = () => { }, [dataSet, userProfile?.id]) const metadataList = useMemo(() => { - return formattedDataset.filter((dataset) => { + return intersectionBy(...formattedDataset.filter((dataset) => { return !!dataset.doc_metadata }).map((dataset) => { return dataset.doc_metadata! - }).flat() + }), 'name') }, [formattedDataset]) const handleMetadataFilterModeChange = useCallback((newMode: MetadataFilteringModeEnum) => { diff --git a/web/app/components/datasets/metadata/edit-metadata-batch/modal.tsx b/web/app/components/datasets/metadata/edit-metadata-batch/modal.tsx index 25bf24a045..c88bb97249 100644 --- a/web/app/components/datasets/metadata/edit-metadata-batch/modal.tsx +++ b/web/app/components/datasets/metadata/edit-metadata-batch/modal.tsx @@ -38,7 +38,6 @@ const EditMetadataBatchModal: FC = ({ onHide, onShowManage, }) => { - console.log(list) const { t } = useTranslation() const [templeList, setTempleList] = useState(list) const handleTemplesChange = useCallback((payload: MetadataItemWithEdit) => { diff --git a/web/app/components/workflow/nodes/knowledge-retrieval/components/metadata/metadata-trigger.tsx b/web/app/components/workflow/nodes/knowledge-retrieval/components/metadata/metadata-trigger.tsx index 8cdc506923..4ad14aed89 100644 --- a/web/app/components/workflow/nodes/knowledge-retrieval/components/metadata/metadata-trigger.tsx +++ b/web/app/components/workflow/nodes/knowledge-retrieval/components/metadata/metadata-trigger.tsx @@ -2,7 +2,6 @@ import { useEffect, useState, } from 'react' -import { unionBy } from 'lodash-es' import { useTranslation } from 'react-i18next' import { RiFilter3Line } from '@remixicon/react' import MetadataPanel from './metadata-panel' @@ -16,7 +15,7 @@ import type { MetadataShape } from '@/app/components/workflow/nodes/knowledge-re const MetadataTrigger = ({ metadataFilteringConditions, - metadataList: originalMetadataList = [], + metadataList = [], handleRemoveCondition, selectedDatasetsLoaded, ...restProps @@ -25,7 +24,6 @@ const MetadataTrigger = ({ const [open, setOpen] = useState(false) const conditions = metadataFilteringConditions?.conditions || [] - const metadataList = unionBy(originalMetadataList, 'name').sort(a => a.id === 'built-in' ? 1 : -1) useEffect(() => { if (selectedDatasetsLoaded) { conditions.forEach((condition) => { diff --git a/web/app/components/workflow/nodes/knowledge-retrieval/panel.tsx b/web/app/components/workflow/nodes/knowledge-retrieval/panel.tsx index 09d3cdc3f6..09159a67e3 100644 --- a/web/app/components/workflow/nodes/knowledge-retrieval/panel.tsx +++ b/web/app/components/workflow/nodes/knowledge-retrieval/panel.tsx @@ -4,6 +4,7 @@ import { useCallback, useMemo, } from 'react' +import { intersectionBy } from 'lodash-es' import { useTranslation } from 'react-i18next' import VarReferencePicker from '../_base/components/variable/var-reference-picker' import useConfig from './use-config' @@ -67,11 +68,11 @@ const Panel: FC> = ({ }, [setRerankModelOpen]) const metadataList = useMemo(() => { - return selectedDatasets.filter((dataset) => { + return intersectionBy(...selectedDatasets.filter((dataset) => { return !!dataset.doc_metadata }).map((dataset) => { return dataset.doc_metadata! - }).flat() + }), 'name') }, [selectedDatasets]) return (