■ ■ ■ ■ ■ ■
opencti-platform/opencti-front/src/private/components/workspaces/investigations/InvestigationGraphBar.js
| skipped 283 lines |
284 | 284 | | const viewEnabled = (numberOfSelectedNodes === 1 && numberOfSelectedLinks === 0) |
285 | 285 | | || (numberOfSelectedNodes === 0 && numberOfSelectedLinks === 1); |
286 | 286 | | let viewLink = null; |
| 287 | + | const isInferred = R.filter((n) => n.inferred, selectedNodes).length > 0 |
| 288 | + | || R.filter((n) => n.inferred, selectedLinks).length > 0; |
287 | 289 | | if (viewEnabled) { |
288 | | - | if (numberOfSelectedNodes === 1) { |
| 290 | + | if (numberOfSelectedNodes === 1 && selectedNodes.length === 1) { |
289 | 291 | | if (selectedNodes[0].relationship_type) { |
290 | 292 | | viewLink = `${resolveLink(selectedNodes[0].fromType)}/${ |
291 | 293 | | selectedNodes[0].fromId |
| skipped 3 lines |
295 | 297 | | selectedNodes[0].id |
296 | 298 | | }`; |
297 | 299 | | } |
298 | | - | } else if (numberOfSelectedLinks === 1) { |
| 300 | + | } else if (numberOfSelectedLinks === 1 && selectedLinks.length === 1) { |
299 | 301 | | const remoteRelevant = selectedLinks[0].source.relationship_type |
300 | 302 | | ? selectedLinks[0].target |
301 | 303 | | : selectedLinks[0].source; |
| skipped 2 lines |
304 | 306 | | }/knowledge/relations/${selectedLinks[0].id}`; |
305 | 307 | | } |
306 | 308 | | } |
307 | | - | const editionEnabled = (numberOfSelectedNodes === 1 |
| 309 | + | const editionEnabled = (!isInferred |
| 310 | + | && numberOfSelectedNodes === 1 |
308 | 311 | | && numberOfSelectedLinks === 0 |
| 312 | + | && selectedNodes.length === 1 |
309 | 313 | | && !selectedNodes[0].isObservable) |
310 | | - | || (numberOfSelectedNodes === 0 |
| 314 | + | || (!isInferred |
| 315 | + | && numberOfSelectedNodes === 0 |
311 | 316 | | && numberOfSelectedLinks === 1 |
| 317 | + | && selectedLinks.length === 1 |
312 | 318 | | && !selectedLinks[0].parent_types.includes('stix-meta-relationship')); |
313 | 319 | | const expandEnabled = numberOfSelectedNodes > 0 || numberOfSelectedLinks > 0; |
314 | | - | const fromSelectedTypes = numberOfSelectedNodes >= 2 |
| 320 | + | const fromSelectedTypes = numberOfSelectedNodes >= 2 && selectedNodes.length >= 2 |
315 | 321 | | ? R.uniq(R.map((n) => n.entity_type, R.init(selectedNodes))) |
316 | 322 | | : []; |
317 | | - | const toSelectedTypes = numberOfSelectedNodes >= 2 |
| 323 | + | const toSelectedTypes = numberOfSelectedNodes >= 2 && selectedNodes.length >= 2 |
318 | 324 | | ? R.uniq(R.map((n) => n.entity_type, R.tail(selectedNodes))) |
319 | 325 | | : []; |
320 | 326 | | const relationEnabled = (fromSelectedTypes.length === 1 && numberOfSelectedLinks === 0) |
| skipped 524 lines |
845 | 851 | | this.handleCloseRemove(); |
846 | 852 | | handleDeleteSelected(); |
847 | 853 | | }} |
848 | | - | color="primary" |
| 854 | + | color="secondary" |
849 | 855 | | > |
850 | 856 | | {t('Remove')} |
851 | 857 | | </Button> |
| skipped 105 lines |
957 | 963 | | {t('Cancel')} |
958 | 964 | | </Button> |
959 | 965 | | <Button |
960 | | - | color="primary" |
| 966 | + | color="secondary" |
961 | 967 | | onClick={submitForm} |
962 | 968 | | disabled={isSubmitting} |
963 | 969 | | > |
| skipped 123 lines |