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:
@ -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,
|
||||
|
||||
Reference in New Issue
Block a user