Refactor ObjectDataTable to work with new views system (#2274)
Complete work
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
import { useRecoilValue } from 'recoil';
|
||||
import { useRecoilCallback } from 'recoil';
|
||||
|
||||
import { selectedRowIdsSelector } from '@/ui/data/data-table/states/selectors/selectedRowIdsSelector';
|
||||
import { ActivityType } from '~/generated/graphql';
|
||||
@ -11,27 +11,31 @@ import {
|
||||
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,
|
||||
});
|
||||
};
|
||||
return useRecoilCallback(
|
||||
({ snapshot }) =>
|
||||
(
|
||||
type: ActivityType,
|
||||
entityType: ActivityTargetableEntityType,
|
||||
relatedEntities?: ActivityTargetableEntity[],
|
||||
) => {
|
||||
const selectedRowIds = Object.keys(
|
||||
snapshot.getLoadable(selectedRowIdsSelector).getValue(),
|
||||
);
|
||||
let activityTargetableEntityArray: ActivityTargetableEntity[] =
|
||||
selectedRowIds.map((id) => ({
|
||||
type: entityType,
|
||||
id,
|
||||
}));
|
||||
if (relatedEntities) {
|
||||
activityTargetableEntityArray =
|
||||
activityTargetableEntityArray.concat(relatedEntities);
|
||||
}
|
||||
openCreateActivityDrawer({
|
||||
type,
|
||||
targetableEntities: activityTargetableEntityArray,
|
||||
});
|
||||
},
|
||||
);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user