import { getOperationName } from '@apollo/client/utilities'; import { useRecoilValue } from 'recoil'; import { GET_COMPANIES } from '@/companies/queries'; import { GET_PIPELINES } from '@/pipeline/queries'; import { IconTrash } from '@/ui/icon/index'; import { EntityTableActionBarButton } from '@/ui/table/action-bar/components/EntityTableActionBarButton'; import { useResetTableRowSelection } from '@/ui/table/hooks/useResetTableRowSelection'; import { selectedRowIdsSelector } from '@/ui/table/states/selectedRowIdsSelector'; import { useDeleteManyCompaniesMutation } from '~/generated/graphql'; export function TableActionBarButtonDeleteCompanies() { const selectedRowIds = useRecoilValue(selectedRowIdsSelector); const resetRowSelection = useResetTableRowSelection(); const [deleteCompanies] = useDeleteManyCompaniesMutation({ refetchQueries: [ getOperationName(GET_COMPANIES) ?? '', getOperationName(GET_PIPELINES) ?? '', ], }); async function handleDeleteClick() { const rowIdsToDelete = selectedRowIds; resetRowSelection(); await deleteCompanies({ variables: { ids: rowIdsToDelete, }, }); } return ( } type="warning" onClick={handleDeleteClick} /> ); }