Refactor Views by cleaning the code, relying on apolloCache and improving performances (#4516)

* Wip refactoring view

* Post merge conflicts

* Fix review

* Add create view capability

* Fix create object missing view

* Fix tests
This commit is contained in:
Charles Bochet
2024-03-20 14:21:58 +01:00
committed by GitHub
parent 20e14cb455
commit cfb0cce9b8
392 changed files with 3474 additions and 4410 deletions

View File

@ -201,7 +201,7 @@ describe('useActivities', () => {
const { result } = renderHook(
() => {
const setCurrentWorkspaceMember = useSetRecoilState(
currentWorkspaceMemberState(),
currentWorkspaceMemberState,
);
const activities = useActivities({

View File

@ -58,7 +58,7 @@ describe('useActivityConnectionUtils', () => {
<RecoilRoot
initializeState={(snapshot) => {
snapshot.set(
objectMetadataItemsState(),
objectMetadataItemsState,
getObjectMetadataItemsMock(),
);
}}
@ -86,7 +86,7 @@ describe('useActivityConnectionUtils', () => {
<RecoilRoot
initializeState={(snapshot) => {
snapshot.set(
objectMetadataItemsState(),
objectMetadataItemsState,
getObjectMetadataItemsMock(),
);
}}

View File

@ -186,10 +186,10 @@ describe('useActivityTargetObjectRecords', () => {
const { result } = renderHook(
() => {
const setCurrentWorkspaceMember = useSetRecoilState(
currentWorkspaceMemberState(),
currentWorkspaceMemberState,
);
const setObjectMetadataItems = useSetRecoilState(
objectMetadataItemsState(),
objectMetadataItemsState,
);
const { activityTargetObjectRecords, loadingActivityTargets } =

View File

@ -102,7 +102,7 @@ describe('useActivityTargetsForTargetableObject', () => {
const { result } = renderHook(
() => {
const setCurrentWorkspaceMember = useSetRecoilState(
currentWorkspaceMemberState(),
currentWorkspaceMemberState,
);
const res = useActivityTargetsForTargetableObject({

View File

@ -29,10 +29,10 @@ describe('useAttachRelationInBothDirections', () => {
const { result } = renderHook(
() => {
const setCurrentWorkspaceMember = useSetRecoilState(
currentWorkspaceMemberState(),
currentWorkspaceMemberState,
);
const setObjectMetadataItems = useSetRecoilState(
objectMetadataItemsState(),
objectMetadataItemsState,
);
const res = useAttachRelationInBothDirections();

View File

@ -59,10 +59,10 @@ describe('useCreateActivityInCache', () => {
const { result } = renderHook(
() => {
const setCurrentWorkspaceMember = useSetRecoilState(
currentWorkspaceMemberState(),
currentWorkspaceMemberState,
);
const setObjectMetadataItems = useSetRecoilState(
objectMetadataItemsState(),
objectMetadataItemsState,
);
const res = useCreateActivityInCache();

View File

@ -18,8 +18,8 @@ describe('useOpenActivityRightDrawer', () => {
const { result } = renderHook(
() => {
const openActivityRightDrawer = useOpenActivityRightDrawer();
const viewableActivityId = useRecoilValue(viewableActivityIdState());
const activityIdInDrawer = useRecoilValue(activityIdInDrawerState());
const viewableActivityId = useRecoilValue(viewableActivityIdState);
const activityIdInDrawer = useRecoilValue(activityIdInDrawerState);
return {
openActivityRightDrawer,
activityIdInDrawer,

View File

@ -28,10 +28,10 @@ describe('useOpenCreateActivityDrawer', () => {
const { result } = renderHook(
() => {
const openActivityRightDrawer = useOpenCreateActivityDrawer();
const viewableActivityId = useRecoilValue(viewableActivityIdState());
const activityIdInDrawer = useRecoilValue(activityIdInDrawerState());
const viewableActivityId = useRecoilValue(viewableActivityIdState);
const activityIdInDrawer = useRecoilValue(activityIdInDrawerState);
const setObjectMetadataItems = useSetRecoilState(
objectMetadataItemsState(),
objectMetadataItemsState,
);
return {
openActivityRightDrawer,

View File

@ -41,10 +41,10 @@ describe('useOpenCreateActivityDrawerForSelectedRowIds', () => {
() => {
const openCreateActivityDrawerForSelectedRowIds =
useOpenCreateActivityDrawerForSelectedRowIds(recordTableId);
const viewableActivityId = useRecoilValue(viewableActivityIdState());
const activityIdInDrawer = useRecoilValue(activityIdInDrawerState());
const viewableActivityId = useRecoilValue(viewableActivityIdState);
const activityIdInDrawer = useRecoilValue(activityIdInDrawerState);
const setObjectMetadataItems = useSetRecoilState(
objectMetadataItemsState(),
objectMetadataItemsState,
);
const scopeId = `${recordTableId}-scope`;
const setTableRowIds = useSetRecoilState(

View File

@ -105,7 +105,7 @@ describe('useUpsertActivity', () => {
() => {
const res = useUpsertActivity();
const setIsActivityInCreateMode = useSetRecoilState(
isActivityInCreateModeState(),
isActivityInCreateModeState,
);
return { ...res, setIsActivityInCreateMode };
@ -134,7 +134,7 @@ describe('useUpsertActivity', () => {
() => {
const res = useUpsertActivity();
const setIsActivityInCreateMode = useSetRecoilState(
isActivityInCreateModeState(),
isActivityInCreateModeState,
);
const setObjectShowPageTargetableObject = useSetRecoilState(
objectShowPageTargetableObjectState,

View File

@ -14,7 +14,7 @@ export const useActivityTargetObjectRecords = ({
}: {
activityId: string;
}) => {
const objectMetadataItems = useRecoilValue(objectMetadataItemsState());
const objectMetadataItems = useRecoilValue(objectMetadataItemsState);
const { records: activityTargets, loading: loadingActivityTargets } =
useFindManyRecords<ActivityTarget>({

View File

@ -27,7 +27,7 @@ export const useCreateActivityInCache = () => {
objectNameSingular: CoreObjectNameSingular.Activity,
});
const currentWorkspaceMember = useRecoilValue(currentWorkspaceMemberState());
const currentWorkspaceMember = useRecoilValue(currentWorkspaceMemberState);
const { record: currentWorkspaceMemberRecord } = useFindOneRecord({
objectNameSingular: CoreObjectNameSingular.WorkspaceMember,

View File

@ -12,9 +12,9 @@ export const useOpenActivityRightDrawer = () => {
const { openRightDrawer, isRightDrawerOpen, rightDrawerPage } =
useRightDrawer();
const [viewableActivityId, setViewableActivityId] = useRecoilState(
viewableActivityIdState(),
viewableActivityIdState,
);
const setActivityIdInDrawer = useSetRecoilState(activityIdInDrawerState());
const setActivityIdInDrawer = useSetRecoilState(activityIdInDrawerState);
const setHotkeyScope = useSetHotkeyScope();
return (activityId: string) => {

View File

@ -24,22 +24,20 @@ export const useOpenCreateActivityDrawer = () => {
const { createActivityInCache } = useCreateActivityInCache();
const setActivityTargetableEntityArray = useSetRecoilState(
activityTargetableEntityArrayState(),
activityTargetableEntityArrayState,
);
const setViewableActivityId = useSetRecoilState(viewableActivityIdState());
const setViewableActivityId = useSetRecoilState(viewableActivityIdState);
const setIsCreatingActivity = useSetRecoilState(
isActivityInCreateModeState(),
);
const setIsCreatingActivity = useSetRecoilState(isActivityInCreateModeState);
const setTemporaryActivityForEditor = useSetRecoilState(
temporaryActivityForEditorState(),
temporaryActivityForEditorState,
);
const setActivityIdInDrawer = useSetRecoilState(activityIdInDrawerState());
const setActivityIdInDrawer = useSetRecoilState(activityIdInDrawerState);
const [, setIsUpsertingActivityInDB] = useRecoilState(
isUpsertingActivityInDBState(),
isUpsertingActivityInDBState,
);
const openCreateActivityDrawer = async ({

View File

@ -14,7 +14,7 @@ export const useOpenCreateActivityDrawerForSelectedRowIds = (
) => {
const openCreateActivityDrawer = useOpenCreateActivityDrawer();
const { getSelectedRowIdsSelector } = useRecordTableStates(recordTableId);
const { selectedRowIdsSelector } = useRecordTableStates(recordTableId);
return useRecoilCallback(
({ snapshot }) =>
@ -25,7 +25,7 @@ export const useOpenCreateActivityDrawerForSelectedRowIds = (
) => {
const selectedRowIds = getSnapshotValue(
snapshot,
getSelectedRowIdsSelector(),
selectedRowIdsSelector(),
);
let activityTargetableObjectArray: ActivityTargetableObject[] =
@ -59,6 +59,6 @@ export const useOpenCreateActivityDrawerForSelectedRowIds = (
targetableObjects: activityTargetableObjectArray,
});
},
[openCreateActivityDrawer, getSelectedRowIdsSelector],
[selectedRowIdsSelector, openCreateActivityDrawer],
);
};

View File

@ -21,7 +21,7 @@ import { isDefined } from '~/utils/isDefined';
// TODO: create a generic way to have records only in cache for create mode and delete them afterwards ?
export const useUpsertActivity = () => {
const [isActivityInCreateMode, setIsActivityInCreateMode] = useRecoilState(
isActivityInCreateModeState(),
isActivityInCreateModeState,
);
const { updateOneRecord: updateOneActivity } = useUpdateOneRecord<Activity>({
@ -31,10 +31,10 @@ export const useUpsertActivity = () => {
const { createActivityInDB } = useCreateActivityInDB();
const [, setIsUpsertingActivityInDB] = useRecoilState(
isUpsertingActivityInDBState(),
isUpsertingActivityInDBState,
);
const setActivityIdInDrawer = useSetRecoilState(activityIdInDrawerState());
const setActivityIdInDrawer = useSetRecoilState(activityIdInDrawerState);
const objectShowPageTargetableObject = useRecoilValue(
objectShowPageTargetableObjectState,