diff --git a/packages/twenty-front/src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx b/packages/twenty-front/src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx index 459a0216e..3bd5433fd 100644 --- a/packages/twenty-front/src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx +++ b/packages/twenty-front/src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx @@ -1,5 +1,6 @@ import { CommandMenuContextRecordsChip } from '@/command-menu/components/CommandMenuContextRecordsChip'; import { CommandMenuItem } from '@/command-menu/components/CommandMenuItem'; +import { COMMAND_MENU_PREVIOUS_COMPONENT_INSTANCE_ID } from '@/command-menu/constants/CommandMenuPreviousComponentInstanceId'; import { RESET_CONTEXT_TO_SELECTION } from '@/command-menu/constants/ResetContextToSelection'; import { useResetPreviousCommandMenuContext } from '@/command-menu/hooks/useResetPreviousCommandMenuContext'; import { contextStoreCurrentObjectMetadataItemIdComponentState } from '@/context-store/states/contextStoreCurrentObjectMetadataItemIdComponentState'; @@ -48,7 +49,7 @@ export const ResetContextToSelectionCommandButton = () => { RightComponent={ } onClick={resetPreviousCommandMenuContext} diff --git a/packages/twenty-front/src/modules/context-store/hooks/useFindManyRecordsSelectedInContextStore.ts b/packages/twenty-front/src/modules/context-store/hooks/useFindManyRecordsSelectedInContextStore.ts index 02a84b96c..4730f463e 100644 --- a/packages/twenty-front/src/modules/context-store/hooks/useFindManyRecordsSelectedInContextStore.ts +++ b/packages/twenty-front/src/modules/context-store/hooks/useFindManyRecordsSelectedInContextStore.ts @@ -3,9 +3,12 @@ import { contextStoreFiltersComponentState } from '@/context-store/states/contex import { contextStoreTargetedRecordsRuleComponentState } from '@/context-store/states/contextStoreTargetedRecordsRuleComponentState'; import { computeContextStoreFilters } from '@/context-store/utils/computeContextStoreFilters'; import { useObjectMetadataItemById } from '@/object-metadata/hooks/useObjectMetadataItemById'; +import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState'; import { useFindManyRecords } from '@/object-record/hooks/useFindManyRecords'; import { useFilterValueDependencies } from '@/object-record/record-filter/hooks/useFilterValueDependencies'; +import { RecordFilterOperand } from '@/object-record/record-filter/types/RecordFilterOperand'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; +import { useRecoilValue } from 'recoil'; export const useFindManyRecordsSelectedInContextStore = ({ instanceId, @@ -35,6 +38,23 @@ export const useFindManyRecordsSelectedInContextStore = ({ const { filterValueDependencies } = useFilterValueDependencies(); + const objectMetadataItems = useRecoilValue(objectMetadataItemsState); + + const allFieldMetadataItems = objectMetadataItems.flatMap( + (objectMetadataItem) => objectMetadataItem.fields, + ); + + const isSoftDeleteFilterActive = contextStoreFilters.some((filter) => { + const foundFieldMetadataItem = allFieldMetadataItems.find( + (fieldMetadataItem) => fieldMetadataItem.id === filter.fieldMetadataId, + ); + + return ( + foundFieldMetadataItem?.name === 'deletedAt' && + filter.operand === RecordFilterOperand.IsNotEmpty + ); + }); + const queryFilter = computeContextStoreFilters( contextStoreTargetedRecordsRule, contextStoreFilters, @@ -46,7 +66,7 @@ export const useFindManyRecordsSelectedInContextStore = ({ const { records, loading, totalCount } = useFindManyRecords({ objectNameSingular: objectMetadataItem?.nameSingular ?? '', filter: queryFilter, - withSoftDeleted: true, + withSoftDeleted: isSoftDeleteFilterActive, orderBy: [ { position: 'AscNullsFirst', diff --git a/packages/twenty-front/src/modules/object-record/hooks/useFindManyRecords.ts b/packages/twenty-front/src/modules/object-record/hooks/useFindManyRecords.ts index 3d8e2329f..c24945b72 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useFindManyRecords.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useFindManyRecords.ts @@ -72,14 +72,14 @@ export const useFindManyRecords = ({ useQuery(findManyRecordsQuery, { skip: skip || !objectMetadataItem, variables: { - ...(filter || withSoftDeleted + filter: withSoftDeleted ? { - filter: { - ...filter, - ...(withSoftDeleted ? withSoftDeleterFilter : {}), - }, + and: [ + ...(filter ? [filter] : []), + ...(withSoftDeleted ? [withSoftDeleterFilter] : []), + ], } - : {}), + : filter, orderBy, lastCursor: cursorFilter?.cursor ?? undefined, limit,