Fix merge command being available in exclusion mode (#19546)
Fixes https://twenty-v7.sentry.io/issues/7398810663/?project=4507072563183616 ## Bug description The mergeMultipleRecords command's conditionalAvailabilityExpression used numberOfSelectedRecords >= 2, which evaluates correctly in both selection and exclusion (Select All) modes. However, when the command executes, buildHeadlessCommandContextApi returns an empty selectedRecords array in exclusion mode because it can't synchronously resolve record IDs from an "all minus excluded" set. This caused MergeMultipleRecordsCommand to throw on the empty array guard. ## Fix Prepended not isSelectAll and to the merge command's conditional expression, preventing it from appearing when records are selected via Select All.
This commit is contained in:
+1
-1
@@ -178,7 +178,7 @@ export const STANDARD_COMMAND_MENU_ITEMS = {
|
||||
shortLabel: 'Merge',
|
||||
availabilityType: CommandMenuItemAvailabilityType.RECORD_SELECTION,
|
||||
conditionalAvailabilityExpression:
|
||||
'numberOfSelectedRecords >= 2 and isDefined(objectMetadataItem.duplicateCriteria) and objectPermissions.canUpdateObjectRecords and objectPermissions.canDestroyObjectRecords and numberOfSelectedRecords <= 9',
|
||||
'not isSelectAll and numberOfSelectedRecords >= 2 and isDefined(objectMetadataItem.duplicateCriteria) and objectPermissions.canUpdateObjectRecords and objectPermissions.canDestroyObjectRecords and numberOfSelectedRecords <= 9',
|
||||
availabilityObjectMetadataUniversalIdentifier: null,
|
||||
frontComponentUniversalIdentifier: null,
|
||||
engineComponentKey: EngineComponentKey.MERGE_MULTIPLE_RECORDS,
|
||||
|
||||
Reference in New Issue
Block a user