Fix the "Delete" action on the Kaban view (#5646)

# This PR

- Fixes #5520 
- Created a shared confirmation modal component for the `ContextMenu`
and the `ActionBar` components to avoid code repetition - with its
storybook file

Looking forward to getting feedback @charlesBochet
This commit is contained in:
Pacifique LINJANJA
2024-06-07 17:23:32 +02:00
committed by GitHub
parent e9cf449706
commit 520a883c73
5 changed files with 102 additions and 31 deletions

View File

@ -1,14 +1,17 @@
import { useRecoilCallback } from 'recoil';
import { useRecoilCallback, useSetRecoilState } from 'recoil';
import { useRecordBoardStates } from '@/object-record/record-board/hooks/internal/useRecordBoardStates';
import { contextMenuIsOpenState } from '@/ui/navigation/context-menu/states/contextMenuIsOpenState';
export const useRecordBoardSelection = (recordBoardId?: string) => {
const setContextMenuOpenState = useSetRecoilState(contextMenuIsOpenState);
const { selectedRecordIdsSelector, isRecordBoardCardSelectedFamilyState } =
useRecordBoardStates(recordBoardId);
const resetRecordSelection = useRecoilCallback(
({ snapshot, set }) =>
() => {
setContextMenuOpenState(false);
const recordIds = snapshot
.getLoadable(selectedRecordIdsSelector())
.getValue();
@ -17,7 +20,11 @@ export const useRecordBoardSelection = (recordBoardId?: string) => {
set(isRecordBoardCardSelectedFamilyState(recordId), false);
}
},
[selectedRecordIdsSelector, isRecordBoardCardSelectedFamilyState],
[
selectedRecordIdsSelector,
isRecordBoardCardSelectedFamilyState,
setContextMenuOpenState,
],
);
const setRecordAsSelected = useRecoilCallback(