aa612b5fc9
* wip * wip * - Added scopes on useHotkeys - Use new EditableCellV2 - Implemented Recoil Scoped State with specific context - Implemented soft focus position - Factorized open/close editable cell - Removed editable relation old components - Broke down entity table into multiple components - Added Recoil Scope by CellContext - Added Recoil Scope by RowContext * First working version * Use a new EditableCellSoftFocusMode * Fixed initialize soft focus * Fixed enter mode * Added TODO * Fix * Fixes * Fix tests * Fix lint * Fixes --------- Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
18 lines
496 B
TypeScript
18 lines
496 B
TypeScript
import { useContext } from 'react';
|
|
import { RecoilState, useRecoilValue } from 'recoil';
|
|
|
|
import { RecoilScopeContext } from '../states/RecoilScopeContext';
|
|
|
|
export function useRecoilScopedValue<T>(
|
|
recoilState: (param: string) => RecoilState<T>,
|
|
) {
|
|
const recoilScopeId = useContext(RecoilScopeContext);
|
|
|
|
if (!recoilScopeId)
|
|
throw new Error(
|
|
`Using a scoped atom without a RecoilScope : ${recoilState('').key}`,
|
|
);
|
|
|
|
return useRecoilValue<T>(recoilState(recoilScopeId));
|
|
}
|