Introduce ComponentState (#4386)

* Proof of concept ComponentState

* Migrate to createState and createFamilyState

* Refactor

* Fix

* Fix tests

* Fix lint

* Fix tests

* Re-enable coverage
This commit is contained in:
Charles Bochet
2024-03-09 11:31:00 +01:00
committed by GitHub
parent 17511be0cf
commit 86c0f311f5
451 changed files with 1718 additions and 2557 deletions

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

@ -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

@ -1,4 +1,4 @@
import { useRecoilState } from 'recoil';
import { useRecoilState, useSetRecoilState } from 'recoil';
import { activityIdInDrawerState } from '@/activities/states/activityIdInDrawerState';
import { useRightDrawer } from '@/ui/layout/right-drawer/hooks/useRightDrawer';
@ -12,9 +12,9 @@ export const useOpenActivityRightDrawer = () => {
const { openRightDrawer, isRightDrawerOpen, rightDrawerPage } =
useRightDrawer();
const [viewableActivityId, setViewableActivityId] = useRecoilState(
viewableActivityIdState,
viewableActivityIdState(),
);
const [, setActivityIdInDrawer] = useRecoilState(activityIdInDrawerState);
const setActivityIdInDrawer = useSetRecoilState(activityIdInDrawerState());
const setHotkeyScope = useSetHotkeyScope();
return (activityId: string) => {

View File

@ -23,21 +23,23 @@ export const useOpenCreateActivityDrawer = () => {
const { createActivityInCache } = useCreateActivityInCache();
const [, setActivityTargetableEntityArray] = useRecoilState(
activityTargetableEntityArrayState,
const setActivityTargetableEntityArray = useSetRecoilState(
activityTargetableEntityArrayState(),
);
const [, setViewableActivityId] = useRecoilState(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

@ -21,7 +21,7 @@ import { isNonNullable } from '~/utils/isNonNullable';
// 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,