Migrate record table to scope map (#3363)

* Migrate record table to scope map

* Update record scope id to record id

* Remove todos and fix edit mode

* Fix perf

* Fix tests

* Fix tests

---------

Co-authored-by: Thomas Trompette <thomast@twenty.com>
Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Thomas Trompette
2024-01-11 17:44:40 +01:00
committed by GitHub
parent 5f0c9f67c9
commit 6bae6fcdce
84 changed files with 713 additions and 1121 deletions

View File

@ -21,7 +21,7 @@ describe('useSelectableList', () => {
selectableListScopeId,
});
const selectableItemIds = useRecoilValue(selectableItemIdsState);
const selectableItemIds = useRecoilValue(selectableItemIdsState());
return {
setSelectableItemIds,
@ -51,8 +51,9 @@ describe('useSelectableList', () => {
selectableListScopeId,
});
const [selectedItemId, setSelectedItemId] =
useRecoilState(selectedItemIdState);
const [selectedItemId, setSelectedItemId] = useRecoilState(
selectedItemIdState(),
);
return {
resetSelectedItem,

View File

@ -39,10 +39,13 @@ export const useSelectableListHotKeys = (
const handleSelect = useRecoilCallback(
({ snapshot, set }) =>
(direction: Direction) => {
const selectedItemId = getSnapshotValue(snapshot, selectedItemIdState);
const selectedItemId = getSnapshotValue(
snapshot,
selectedItemIdState(),
);
const selectableItemIds = getSnapshotValue(
snapshot,
selectableItemIdsState,
selectableItemIdsState(),
);
const currentPosition = findPosition(selectableItemIds, selectedItemId);
@ -103,7 +106,7 @@ export const useSelectableListHotKeys = (
if (selectedItemId !== nextId) {
if (nextId) {
set(isSelectedItemIdSelector(nextId), true);
set(selectedItemIdState, nextId);
set(selectedItemIdState(), nextId);
}
if (selectedItemId) {
@ -134,11 +137,11 @@ export const useSelectableListHotKeys = (
() => {
const selectedItemId = getSnapshotValue(
snapshot,
selectedItemIdState,
selectedItemIdState(),
);
const onEnter = getSnapshotValue(
snapshot,
selectableListOnEnterState,
selectableListOnEnterState(),
);
if (selectedItemId) {

View File

@ -13,12 +13,12 @@ export const useSelectableList = (selectableListId?: string) => {
selectableListScopeId: selectableListId,
});
const setSelectableItemIds = useSetRecoilState(selectableItemIdsState);
const setSelectableItemIds = useSetRecoilState(selectableItemIdsState());
const setSelectableListOnEnter = useSetRecoilState(
selectableListOnEnterState,
selectableListOnEnterState(),
);
const resetSelectedItemIdState = useResetRecoilState(selectedItemIdState);
const resetSelectedItemIdState = useResetRecoilState(selectedItemIdState());
const resetSelectedItem = () => {
resetSelectedItemIdState();