Fix fetch more notes (#16442)

fixes : https://github.com/twentyhq/twenty/issues/16320

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Etienne
2025-12-12 14:43:21 +01:00
committed by GitHub
parent 8dbcd506ed
commit 6acdde72ef
13 changed files with 607 additions and 114 deletions
@@ -7,6 +7,7 @@ import { type TaskTarget } from '@/activities/types/TaskTarget';
import { getActivityTargetsFilter } from '@/activities/utils/getActivityTargetsFilter';
import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState';
import { type CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
import { type RecordGqlOperationOrderBy } from '@/object-record/graphql/types/RecordGqlOperationOrderBy';
import { useFindManyRecords } from '@/object-record/hooks/useFindManyRecords';
export const useActivityTargetsForTargetableObjects = ({
@@ -14,14 +15,18 @@ export const useActivityTargetsForTargetableObjects = ({
targetableObjects,
skip,
onCompleted,
activityTargetsOrderByVariables,
limit,
}: {
objectNameSingular: CoreObjectNameSingular;
objectNameSingular: CoreObjectNameSingular.Note | CoreObjectNameSingular.Task;
targetableObjects: Pick<
ActivityTargetableObject,
'id' | 'targetObjectNameSingular'
>[];
skip?: boolean;
onCompleted?: (activityTargets: (TaskTarget | NoteTarget)[]) => void;
activityTargetsOrderByVariables: RecordGqlOperationOrderBy;
limit: number;
}) => {
const activityTargetsFilter = getActivityTargetsFilter({
targetableObjects: targetableObjects,
@@ -38,18 +43,28 @@ export const useActivityTargetsForTargetableObjects = ({
// TODO: We want to optimistically remove from this request
// If we are on a show page and we remove the current show page object corresponding activity target
// See also if we need to update useTimelineActivities
const { records: activityTargets, loading: loadingActivityTargets } =
useFindManyRecords<TaskTarget | NoteTarget>({
skip,
objectNameSingular:
FIND_ACTIVITY_TARGETS_OPERATION_SIGNATURE.objectNameSingular,
filter: activityTargetsFilter,
recordGqlFields: FIND_ACTIVITY_TARGETS_OPERATION_SIGNATURE.fields,
onCompleted,
});
const {
records: activityTargets,
loading: loadingActivityTargets,
totalCount: totalCountActivityTargets,
fetchMoreRecords: fetchMoreActivityTargets,
hasNextPage,
} = useFindManyRecords<TaskTarget | NoteTarget>({
skip,
objectNameSingular:
FIND_ACTIVITY_TARGETS_OPERATION_SIGNATURE.objectNameSingular,
filter: activityTargetsFilter,
recordGqlFields: FIND_ACTIVITY_TARGETS_OPERATION_SIGNATURE.fields,
onCompleted,
orderBy: activityTargetsOrderByVariables,
limit,
});
return {
activityTargets,
loadingActivityTargets,
totalCountActivityTargets: totalCountActivityTargets ?? 0,
fetchMoreActivityTargets,
hasNextPage,
};
};