diff --git a/libs/shared/lib/querybuilder/pills/customFlowPills/entitypill/QueryEntityPill.tsx b/libs/shared/lib/querybuilder/pills/customFlowPills/entitypill/QueryEntityPill.tsx index 84be53b8d9b4742eee037d845d5fd54d404cbd1a..5fd9ea36d925ff9a721c8ae965fcd53245bde2cf 100644 --- a/libs/shared/lib/querybuilder/pills/customFlowPills/entitypill/QueryEntityPill.tsx +++ b/libs/shared/lib/querybuilder/pills/customFlowPills/entitypill/QueryEntityPill.tsx @@ -19,11 +19,7 @@ import { EntityPill } from '@graphpolaris/shared/lib/components/pills'; import { Handle, Position, useUpdateNodeInternals } from 'reactflow'; import { NodeAttribute, SchemaReactflowEntityNode, toHandleId } from '../../../model'; import { PillAttributes } from '../../pillattributes/PillAttributes'; -import { DropdownTrigger, DropdownContainer, DropdownItemContainer, DropdownItem } from '@graphpolaris/shared/lib/components/dropdowns'; -import { PopoverContext } from '@graphpolaris/shared/lib/components/layout/Popover'; -import { useDispatch } from 'react-redux'; -import { isEqual } from 'lodash-es'; -import { getDataTypeIcon } from '@graphpolaris/shared/lib/components/DataTypeIcon'; +import { uniqBy } from 'lodash-es'; /** * Component to render an entity flow element @@ -43,6 +39,7 @@ export const QueryEntityPill = React.memo((node: SchemaReactflowEntityNode) => { [graph], ); + const uniqueAttributes = useMemo(() => uniqBy(data.attributes, (attr) => attr.handleData.attributeName), [data.attributes]); const unionType = useQuerybuilderUnionTypes()[node.id]; return ( @@ -75,7 +72,7 @@ export const QueryEntityPill = React.memo((node: SchemaReactflowEntityNode) => { {data?.attributes && ( <PillAttributes node={node} - attributes={data.attributes} + attributes={uniqueAttributes} attributeEdges={attributeEdges.map((edge) => edge?.attributes)} unionType={unionType} />