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

@ -37,10 +37,10 @@ const StyledContainerContextMenu = styled.div<StyledContainerProps>`
`;
export const ContextMenu = () => {
const contextMenuPosition = useRecoilValue(contextMenuPositionState);
const contextMenuIsOpen = useRecoilValue(contextMenuIsOpenState);
const contextMenuEntries = useRecoilValue(contextMenuEntriesState);
const setContextMenuOpenState = useSetRecoilState(contextMenuIsOpenState);
const contextMenuPosition = useRecoilValue(contextMenuPositionState());
const contextMenuIsOpen = useRecoilValue(contextMenuIsOpenState());
const contextMenuEntries = useRecoilValue(contextMenuEntriesState());
const setContextMenuOpenState = useSetRecoilState(contextMenuIsOpenState());
const wrapperRef = useRef<HTMLDivElement>(null);
useListenClickOutside({

View File

@ -10,12 +10,12 @@ import { contextMenuPositionState } from '../../states/contextMenuPositionState'
import { ContextMenu } from '../ContextMenu';
const FilledContextMenu = () => {
const setContextMenuPosition = useSetRecoilState(contextMenuPositionState);
const setContextMenuPosition = useSetRecoilState(contextMenuPositionState());
setContextMenuPosition({
x: 100,
y: 10,
});
const setContextMenuOpenState = useSetRecoilState(contextMenuIsOpenState);
const setContextMenuOpenState = useSetRecoilState(contextMenuIsOpenState());
setContextMenuOpenState(true);
return <ContextMenu />;
};

View File

@ -1,8 +1,8 @@
import { atom } from 'recoil';
import { createState } from '@/ui/utilities/state/utils/createState';
import { ContextMenuEntry } from '../types/ContextMenuEntry';
export const contextMenuEntriesState = atom<ContextMenuEntry[]>({
export const contextMenuEntriesState = createState<ContextMenuEntry[]>({
key: 'contextMenuEntriesState',
default: [],
defaultValue: [],
});

View File

@ -1,6 +1,6 @@
import { atom } from 'recoil';
import { createState } from '@/ui/utilities/state/utils/createState';
export const contextMenuIsOpenState = atom<boolean>({
export const contextMenuIsOpenState = createState<boolean>({
key: 'contextMenuIsOpenState',
default: false,
defaultValue: false,
});

View File

@ -1,10 +1,9 @@
import { atom } from 'recoil';
import { PositionType } from '@/ui/navigation/context-menu/types/PositionType';
import { createState } from '@/ui/utilities/state/utils/createState';
export const contextMenuPositionState = atom<PositionType>({
export const contextMenuPositionState = createState<PositionType>({
key: 'contextMenuPositionState',
default: {
defaultValue: {
x: null,
y: null,
},