## Query depth deprecation

I'm deprecating depth parameter in our graphql query / cache tooling.
They were obsolete since we introduce the possibility to provide
RecordGqlFields

## Refactor combinedFindManyRecordHook

The hook can now take an array of operationSignatures

## Fix tasks issues

Fix optimistic rendering issue. Note that we still haven't handle
optimisticEffect on creation properly
This commit is contained in:
Charles Bochet
2024-04-29 23:33:23 +02:00
committed by GitHub
parent c946572fde
commit 6a14b1c6d6
187 changed files with 958 additions and 1482 deletions

View File

@ -18,7 +18,6 @@ export const CurrentUserDueTaskCountEffect = () => {
const { records: tasks } = useFindManyRecords<Activity>({
objectNameSingular: CoreObjectNameSingular.Activity,
depth: 0,
filter: {
type: { eq: 'Task' },
completedAt: { is: 'NULL' },

View File

@ -40,7 +40,6 @@ export const TaskGroups = ({
upcomingTasks,
unscheduledTasks,
completedTasks,
initialized,
} = useTasks({
filterDropdownId: filterDropdownId,
targetableObjects: targetableObjects ?? [],
@ -51,10 +50,6 @@ export const TaskGroups = ({
const { activeTabIdState } = useTabList(TASKS_TAB_LIST_COMPONENT_ID);
const activeTabId = useRecoilValue(activeTabIdState);
if (!initialized) {
return <></>;
}
if (
(activeTabId !== 'done' &&
todayOrPreviousTasks?.length === 0 &&

View File

@ -49,7 +49,6 @@ const useActivitiesMock = jest.fn(
activities: isCompletedFilter
? completedTasks
: [...todayOrPreviousTasks, ...unscheduledTasks],
initialized: true,
};
},
);
@ -79,7 +78,6 @@ describe('useTasks', () => {
upcomingTasks: [],
unscheduledTasks,
completedTasks,
initialized: true,
});
});
});

View File

@ -1,5 +1,4 @@
import { useEffect, useMemo } from 'react';
import { isNonEmptyArray } from '@sniptt/guards';
import { DateTime } from 'luxon';
import { useRecoilState, useRecoilValue } from 'recoil';
@ -9,8 +8,8 @@ import { currentIncompleteTaskQueryVariablesState } from '@/activities/tasks/sta
import { FIND_MANY_TIMELINE_ACTIVITIES_ORDER_BY } from '@/activities/timeline/constants/FindManyTimelineActivitiesOrderBy';
import { Activity } from '@/activities/types/Activity';
import { ActivityTargetableObject } from '@/activities/types/ActivityTargetableEntity';
import { RecordGqlOperationVariables } from '@/object-record/graphql/types/RecordGqlOperationVariables';
import { useFilterDropdown } from '@/object-record/object-filter-dropdown/hooks/useFilterDropdown';
import { ObjectRecordQueryVariables } from '@/object-record/types/ObjectRecordQueryVariables';
import { parseDate } from '~/utils/date-utils';
import { isDeeplyEqual } from '~/utils/isDeeplyEqual';
@ -41,8 +40,6 @@ export const useTasks = ({
[selectedFilter],
);
const skipActivityTargets = !isNonEmptyArray(targetableObjects);
const completedQueryVariables = useMemo(
() =>
({
@ -52,7 +49,7 @@ export const useTasks = ({
...assigneeIdFilter,
},
orderBy: FIND_MANY_TIMELINE_ACTIVITIES_ORDER_BY,
}) as ObjectRecordQueryVariables,
}) as RecordGqlOperationVariables,
[assigneeIdFilter],
);
@ -65,7 +62,7 @@ export const useTasks = ({
...assigneeIdFilter,
},
orderBy: FIND_MANY_TIMELINE_ACTIVITIES_ORDER_BY,
}) as ObjectRecordQueryVariables,
}) as RecordGqlOperationVariables,
[assigneeIdFilter],
);
@ -110,24 +107,16 @@ export const useTasks = ({
setCurrentIncompleteTaskQueryVariables,
]);
const {
activities: completeTasksData,
initialized: initializedCompleteTasks,
} = useActivities({
const { activities: completeTasksData } = useActivities({
targetableObjects,
activitiesFilters: completedQueryVariables.filter ?? {},
activitiesOrderByVariables: completedQueryVariables.orderBy ?? {},
skipActivityTargets,
});
const {
activities: incompleteTaskData,
initialized: initializedIncompleteTasks,
} = useActivities({
const { activities: incompleteTaskData } = useActivities({
targetableObjects,
activitiesFilters: incompleteQueryVariables.filter ?? {},
activitiesOrderByVariables: incompleteQueryVariables.orderBy ?? {},
skipActivityTargets,
});
const todayOrPreviousTasks = incompleteTaskData?.filter((task) => {
@ -159,6 +148,5 @@ export const useTasks = ({
upcomingTasks: (upcomingTasks ?? []) as Activity[],
unscheduledTasks: (unscheduledTasks ?? []) as Activity[],
completedTasks: (completedTasks ?? []) as Activity[],
initialized: initializedCompleteTasks && initializedIncompleteTasks,
};
};

View File

@ -1,9 +1,9 @@
import { atom } from 'recoil';
import { ObjectRecordQueryVariables } from '@/object-record/types/ObjectRecordQueryVariables';
import { RecordGqlOperationVariables } from '@/object-record/graphql/types/RecordGqlOperationVariables';
export const currentCompletedTaskQueryVariablesState =
atom<ObjectRecordQueryVariables | null>({
atom<RecordGqlOperationVariables | null>({
default: null,
key: 'currentCompletedTaskQueryVariablesState',
});

View File

@ -1,9 +1,9 @@
import { atom } from 'recoil';
import { ObjectRecordQueryVariables } from '@/object-record/types/ObjectRecordQueryVariables';
import { RecordGqlOperationVariables } from '@/object-record/graphql/types/RecordGqlOperationVariables';
export const currentIncompleteTaskQueryVariablesState =
atom<ObjectRecordQueryVariables | null>({
atom<RecordGqlOperationVariables | null>({
default: null,
key: 'currentIncompleteTaskQueryVariablesState',
});