* Change to using arrow functions Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: Matheus <matheus_benini@hotmail.com> * Add lint rule --------- Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: Matheus <matheus_benini@hotmail.com> Co-authored-by: Charles Bochet <charles@twenty.com>
45 lines
1.5 KiB
TypeScript
45 lines
1.5 KiB
TypeScript
import { useSetRecoilState } from 'recoil';
|
|
|
|
import { useOpenCreateActivityDrawerForSelectedRowIds } from '@/activities/hooks/useOpenCreateActivityDrawerForSelectedRowIds';
|
|
import { ActivityTargetableEntityType } from '@/activities/types/ActivityTargetableEntity';
|
|
import { contextMenuEntriesState } from '@/ui/context-menu/states/contextMenuEntriesState';
|
|
import { IconCheckbox, IconNotes, IconTrash } from '@/ui/icon';
|
|
import { ActivityType } from '~/generated/graphql';
|
|
|
|
import { useDeleteSelectedComapnies } from './useDeleteCompanies';
|
|
|
|
export const useCompanyTableContextMenuEntries = () => {
|
|
const setContextMenuEntries = useSetRecoilState(contextMenuEntriesState);
|
|
|
|
const openCreateActivityRightDrawer =
|
|
useOpenCreateActivityDrawerForSelectedRowIds();
|
|
|
|
const handleButtonClick = async (type: ActivityType) => {
|
|
openCreateActivityRightDrawer(type, ActivityTargetableEntityType.Company);
|
|
};
|
|
|
|
const deleteSelectedCompanies = useDeleteSelectedComapnies();
|
|
|
|
return {
|
|
setContextMenuEntries: () =>
|
|
setContextMenuEntries([
|
|
{
|
|
label: 'Note',
|
|
Icon: IconNotes,
|
|
onClick: () => handleButtonClick(ActivityType.Note),
|
|
},
|
|
{
|
|
label: 'Task',
|
|
Icon: IconCheckbox,
|
|
onClick: () => handleButtonClick(ActivityType.Task),
|
|
},
|
|
{
|
|
label: 'Delete',
|
|
Icon: IconTrash,
|
|
accent: 'danger',
|
|
onClick: () => deleteSelectedCompanies(),
|
|
},
|
|
]),
|
|
};
|
|
};
|