diff --git a/opencti-platform/opencti-front/src/private/components/common/containers/ContainerStixCyberObservablesLines.tsx b/opencti-platform/opencti-front/src/private/components/common/containers/ContainerStixCyberObservablesLines.tsx index 7c19628fe3cf..1a4aed9b76f4 100644 --- a/opencti-platform/opencti-front/src/private/components/common/containers/ContainerStixCyberObservablesLines.tsx +++ b/opencti-platform/opencti-front/src/private/components/common/containers/ContainerStixCyberObservablesLines.tsx @@ -87,6 +87,7 @@ const ContainerStixCyberObservablesLinesFragment = graphql` ... on StixCyberObservable { id observable_value + entity_type } ...ContainerStixCyberObservableLine_node } diff --git a/opencti-platform/opencti-front/src/private/components/common/containers/ContainerStixDomainObjectsLines.tsx b/opencti-platform/opencti-front/src/private/components/common/containers/ContainerStixDomainObjectsLines.tsx index 036c890b46fc..b5515e529db8 100644 --- a/opencti-platform/opencti-front/src/private/components/common/containers/ContainerStixDomainObjectsLines.tsx +++ b/opencti-platform/opencti-front/src/private/components/common/containers/ContainerStixDomainObjectsLines.tsx @@ -106,6 +106,7 @@ export const containerStixDomainObjectsLinesFragment = graphql` node { ... on BasicObject { id + entity_type } ...ContainerStixDomainObjectLine_node } diff --git a/opencti-platform/opencti-front/src/private/components/data/ToolBar.jsx b/opencti-platform/opencti-front/src/private/components/data/ToolBar.jsx index 50b1790394af..f10a98d81dfb 100644 --- a/opencti-platform/opencti-front/src/private/components/data/ToolBar.jsx +++ b/opencti-platform/opencti-front/src/private/components/data/ToolBar.jsx @@ -1242,9 +1242,9 @@ class ToolBar extends Component { } = this.props; const { actions, keptEntityId, mergingElement, actionsInputs, navOpen } = this.state; const isOpen = numberOfSelectedElements > 0; - const selectedTypes = R.uniq( - R.map((o) => o.entity_type, R.values(selectedElements || {})), - ); + const selectedTypes = [...new Set(Object.values(selectedElements || {}) + .map((o) => o.entity_type) + .filter((entity_type) => entity_type !== undefined))]; const typesAreDifferent = selectedTypes.length > 1; const preventMerge = selectedTypes.at(0) === 'Vocabulary' && Object.values(selectedElements).some(({ builtIn }) => Boolean(builtIn)); @@ -1276,13 +1276,13 @@ class ToolBar extends Component { const notEnrichableTypes = ['Label', 'Vocabulary', 'Case-Template', 'Task', 'DeleteOperation']; const isManualEnrichSelect = !selectAll && selectedTypes.length === 1; const isAllEnrichSelect = selectAll - && entityTypeFilterValues.length === 1 - && R.head(entityTypeFilterValues) !== 'Stix-Cyber-Observable' - && R.head(entityTypeFilterValues) !== 'Stix-Domain-Object'; - const enrichDisable = notEnrichableTypes.includes(R.head(selectedTypes)) - || (entityTypeFilterValues.length === 1 - && notEnrichableTypes.includes(entityTypeFilterValues[0])) - || (!isManualEnrichSelect && !isAllEnrichSelect); + && entityTypeFilterValues.length === 1 + && entityTypeFilterValues[0] !== 'Stix-Cyber-Observable' + && entityTypeFilterValues[0] !== 'Stix-Domain-Object'; + const enrichDisable = notEnrichableTypes.includes(selectedTypes[0]) + || (entityTypeFilterValues.length === 1 + && notEnrichableTypes.includes(entityTypeFilterValues[0])) + || (!isManualEnrichSelect && !isAllEnrichSelect); // endregion const typesAreNotMergable = R.includes( R.uniq(R.map((o) => o.entity_type, R.values(selectedElements || {})))[0],