Fixed kanban filter on kanban field metadata item (#12367)

This PR fixes an edge case where we couldn't apply a filter on the field
metadata item that is used by a kanban.

As this has already been fixed for tables with groups, this PR just uses
the same technique.

Fixes https://github.com/twentyhq/twenty/issues/12311

Co-authored-by: Félix Malfait <felix.malfait@gmail.com>
This commit is contained in:
Lucas Bordeau
2025-05-29 14:40:02 +02:00
committed by GitHub
parent 4485e8e3db
commit dc0401edb5

View File

@ -15,6 +15,7 @@ import { useRecordBoardRecordGqlFields } from '@/object-record/record-index/hook
import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem';
import { currentRecordSortsComponentState } from '@/object-record/record-sort/states/currentRecordSortsComponentState';
import { combineFilters } from '@/object-record/record-filter/utils/combineFilters';
import { useUpsertRecordsInStore } from '@/object-record/record-store/hooks/useUpsertRecordsInStore';
import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2';
import { isDefined } from 'twenty-shared/utils';
@ -70,16 +71,18 @@ export const useLoadRecordIndexBoardColumn = ({
recordBoardId,
});
const recordIndexKanbanFieldMetadataFilter = {
[kanbanFieldMetadataItem.name]: isDefined(recordGroupDefinition?.value)
? { in: [recordGroupDefinition.value] }
: { is: 'NULL' },
};
const recordIndexKanbanFieldMetadataFilterValue = isDefined(
recordGroupDefinition?.value,
)
? { in: [recordGroupDefinition?.value] }
: { is: 'NULL' };
const filter = {
...requestFilters,
...recordIndexKanbanFieldMetadataFilter,
};
const combinedFilters = combineFilters([
requestFilters,
{
[kanbanFieldMetadataItem.name]: recordIndexKanbanFieldMetadataFilterValue,
},
]);
const {
records,
@ -89,7 +92,7 @@ export const useLoadRecordIndexBoardColumn = ({
hasNextPage,
} = useFindManyRecords({
objectNameSingular,
filter,
filter: combinedFilters,
orderBy,
recordGqlFields,
limit: 10,