* - add company relation for person table * - also for context menu * - fix yarn.lock * - fix newline missing * - fixed tab * fix
38 lines
1.1 KiB
TypeScript
38 lines
1.1 KiB
TypeScript
import { useRecoilValue } from 'recoil';
|
|
|
|
import { selectedRowIdsSelector } from '@/ui/table/states/selectors/selectedRowIdsSelector';
|
|
import { ActivityType } from '~/generated/graphql';
|
|
|
|
import {
|
|
ActivityTargetableEntity,
|
|
ActivityTargetableEntityType,
|
|
} from '../types/ActivityTargetableEntity';
|
|
|
|
import { useOpenCreateActivityDrawer } from './useOpenCreateActivityDrawer';
|
|
|
|
export const useOpenCreateActivityDrawerForSelectedRowIds = () => {
|
|
const selectedRowIds = useRecoilValue(selectedRowIdsSelector);
|
|
|
|
const openCreateActivityDrawer = useOpenCreateActivityDrawer();
|
|
|
|
return (
|
|
type: ActivityType,
|
|
entityType: ActivityTargetableEntityType,
|
|
relatedEntities?: ActivityTargetableEntity[],
|
|
) => {
|
|
let activityTargetableEntityArray: ActivityTargetableEntity[] =
|
|
selectedRowIds.map((id) => ({
|
|
type: entityType,
|
|
id,
|
|
}));
|
|
if (relatedEntities) {
|
|
activityTargetableEntityArray =
|
|
activityTargetableEntityArray.concat(relatedEntities);
|
|
}
|
|
openCreateActivityDrawer({
|
|
type,
|
|
targetableEntities: activityTargetableEntityArray,
|
|
});
|
|
};
|
|
};
|