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

@ -44,7 +44,7 @@ describe('useSpreadsheetImport', () => {
const { result } = renderHook(
() => ({
useSpreadsheetImport: useSpreadsheetImport<SpreadsheetKey>(),
spreadsheetImportState: useRecoilState(spreadsheetImportState)[0],
spreadsheetImportState: useRecoilState(spreadsheetImportState())[0],
}),
{
wrapper: Wrapper,

View File

@ -4,7 +4,7 @@ import { spreadsheetImportState } from '@/spreadsheet-import/states/spreadsheetI
import { SpreadsheetOptions } from '@/spreadsheet-import/types';
export const useSpreadsheetImport = <T extends string>() => {
const setSpreadSheetImport = useSetRecoilState(spreadsheetImportState);
const setSpreadSheetImport = useSetRecoilState(spreadsheetImportState());
const openSpreadsheetImport = (
options: Omit<SpreadsheetOptions<T>, 'isOpen' | 'onClose'>,

View File

@ -11,7 +11,7 @@ export const SpreadsheetImportProvider = (
props: SpreadsheetImportProviderProps,
) => {
const [spreadsheetImport, setSpreadsheetImport] = useRecoilState(
spreadsheetImportState,
spreadsheetImportState(),
);
const handleClose = () => {

View File

@ -1,4 +1,4 @@
import { atom } from 'recoil';
import { createState } from '@/ui/utilities/state/utils/createState';
import { SpreadsheetOptions } from '../types';
@ -7,9 +7,9 @@ export type SpreadsheetImportState<T extends string> = {
options: Omit<SpreadsheetOptions<T>, 'isOpen' | 'onClose'> | null;
};
export const spreadsheetImportState = atom<SpreadsheetImportState<any>>({
export const spreadsheetImportState = createState<SpreadsheetImportState<any>>({
key: 'spreadsheetImportState',
default: {
defaultValue: {
isOpen: false,
options: null,
},