Feat/improve editable cell (#959)
* Removed isSomeInputInEditMode * Removed console.log * Added a first version of generic cell text * Removed metadata from entity table V1 * Fix * Fix * Fix
This commit is contained in:
@ -0,0 +1,6 @@
|
||||
import { createContext } from 'react';
|
||||
|
||||
import { EntityFieldMetadata } from '../types/EntityFieldMetadata';
|
||||
|
||||
export const EntityFieldMetadataContext =
|
||||
createContext<EntityFieldMetadata | null>(null);
|
||||
@ -0,0 +1,6 @@
|
||||
import { createContext } from 'react';
|
||||
|
||||
import { EntityUpdateFieldHook } from '../types/CellUpdateFieldHook';
|
||||
|
||||
export const EntityUpdateFieldHookContext =
|
||||
createContext<EntityUpdateFieldHook | null>(null);
|
||||
@ -0,0 +1,8 @@
|
||||
import { atom } from 'recoil';
|
||||
|
||||
import { EntityFieldMetadata } from '../types/EntityFieldMetadata';
|
||||
|
||||
export const entityFieldMetadataArrayState = atom<EntityFieldMetadata[]>({
|
||||
key: 'entityFieldMetadataArrayState',
|
||||
default: [],
|
||||
});
|
||||
@ -1,6 +0,0 @@
|
||||
import { atom } from 'recoil';
|
||||
|
||||
export const isSomeInputInEditModeState = atom<boolean>({
|
||||
key: 'isSomeInputInEditModeState',
|
||||
default: false,
|
||||
});
|
||||
@ -0,0 +1,9 @@
|
||||
import { atomFamily } from 'recoil';
|
||||
|
||||
export const tableEntitiesFamilyState = atomFamily<
|
||||
Record<string, unknown> | null,
|
||||
string
|
||||
>({
|
||||
key: 'tableEntitiesFamilyState',
|
||||
default: null,
|
||||
});
|
||||
@ -0,0 +1,18 @@
|
||||
import { selectorFamily } from 'recoil';
|
||||
|
||||
import { tableEntitiesFamilyState } from './tableEntitiesFamilyState';
|
||||
|
||||
export const tableEntityFieldFamilySelector = selectorFamily({
|
||||
key: 'tableEntityFieldFamilySelector',
|
||||
get:
|
||||
<T>({ fieldName, entityId }: { fieldName: string; entityId: string }) =>
|
||||
({ get }) =>
|
||||
get(tableEntitiesFamilyState(entityId))?.[fieldName] as T,
|
||||
set:
|
||||
<T>({ fieldName, entityId }: { fieldName: string; entityId: string }) =>
|
||||
({ set }, newValue: T) =>
|
||||
set(tableEntitiesFamilyState(entityId), (prevState) => ({
|
||||
...prevState,
|
||||
[fieldName]: newValue,
|
||||
})),
|
||||
});
|
||||
Reference in New Issue
Block a user