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