Refactor Views by cleaning the code, relying on apolloCache and improving performances (#4516)
* Wip refactoring view * Post merge conflicts * Fix review * Add create view capability * Fix create object missing view * Fix tests
This commit is contained in:
@ -21,7 +21,7 @@ describe('useSelectableList', () => {
|
||||
selectableListScopeId,
|
||||
});
|
||||
|
||||
const selectableItemIds = useRecoilValue(selectableItemIdsState());
|
||||
const selectableItemIds = useRecoilValue(selectableItemIdsState);
|
||||
|
||||
return {
|
||||
setSelectableItemIds,
|
||||
@ -51,9 +51,8 @@ describe('useSelectableList', () => {
|
||||
selectableListScopeId,
|
||||
});
|
||||
|
||||
const [selectedItemId, setSelectedItemId] = useRecoilState(
|
||||
selectedItemIdState(),
|
||||
);
|
||||
const [selectedItemId, setSelectedItemId] =
|
||||
useRecoilState(selectedItemIdState);
|
||||
|
||||
return {
|
||||
resetSelectedItem,
|
||||
|
||||
@ -40,13 +40,10 @@ 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);
|
||||
@ -107,7 +104,7 @@ export const useSelectableListHotKeys = (
|
||||
if (selectedItemId !== nextId) {
|
||||
if (isNonEmptyString(nextId)) {
|
||||
set(isSelectedItemIdSelector(nextId), true);
|
||||
set(selectedItemIdState(), nextId);
|
||||
set(selectedItemIdState, nextId);
|
||||
}
|
||||
|
||||
if (isNonEmptyString(selectedItemId)) {
|
||||
@ -138,11 +135,11 @@ export const useSelectableListHotKeys = (
|
||||
() => {
|
||||
const selectedItemId = getSnapshotValue(
|
||||
snapshot,
|
||||
selectedItemIdState(),
|
||||
selectedItemIdState,
|
||||
);
|
||||
const onEnter = getSnapshotValue(
|
||||
snapshot,
|
||||
selectableListOnEnterState(),
|
||||
selectableListOnEnterState,
|
||||
);
|
||||
|
||||
if (isNonEmptyString(selectedItemId)) {
|
||||
|
||||
@ -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();
|
||||
|
||||
Reference in New Issue
Block a user