|
|
|
|
@ -8,8 +8,6 @@ import { contextStoreFiltersComponentState } from '@/context-store/states/contex
|
|
|
|
|
import { contextStoreNumberOfSelectedRecordsComponentState } from '@/context-store/states/contextStoreNumberOfSelectedRecordsComponentState';
|
|
|
|
|
import { contextStoreTargetedRecordsRuleComponentState } from '@/context-store/states/contextStoreTargetedRecordsRuleComponentState';
|
|
|
|
|
import { computeContextStoreFilters } from '@/context-store/utils/computeContextStoreFilters';
|
|
|
|
|
import { useDeleteFavorite } from '@/favorites/hooks/useDeleteFavorite';
|
|
|
|
|
import { useFavorites } from '@/favorites/hooks/useFavorites';
|
|
|
|
|
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
|
|
|
|
|
import { DEFAULT_QUERY_PAGE_SIZE } from '@/object-record/constants/DefaultQueryPageSize';
|
|
|
|
|
import { DELETE_MAX_COUNT } from '@/object-record/constants/DeleteMaxCount';
|
|
|
|
|
@ -40,9 +38,6 @@ export const useDeleteMultipleRecordsAction = ({
|
|
|
|
|
objectNameSingular: objectMetadataItem.nameSingular,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const { sortedFavorites: favorites } = useFavorites();
|
|
|
|
|
const { deleteFavorite } = useDeleteFavorite();
|
|
|
|
|
|
|
|
|
|
const contextStoreNumberOfSelectedRecords = useRecoilComponentValueV2(
|
|
|
|
|
contextStoreNumberOfSelectedRecordsComponentState,
|
|
|
|
|
);
|
|
|
|
|
@ -76,26 +71,8 @@ export const useDeleteMultipleRecordsAction = ({
|
|
|
|
|
|
|
|
|
|
resetTableRowSelection();
|
|
|
|
|
|
|
|
|
|
for (const recordIdToDelete of recordIdsToDelete) {
|
|
|
|
|
const foundFavorite = favorites?.find(
|
|
|
|
|
(favorite) => favorite.recordId === recordIdToDelete,
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
if (foundFavorite !== undefined) {
|
|
|
|
|
deleteFavorite(foundFavorite.id);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
await deleteManyRecords(recordIdsToDelete, {
|
|
|
|
|
delayInMsBetweenRequests: 50,
|
|
|
|
|
});
|
|
|
|
|
}, [
|
|
|
|
|
deleteFavorite,
|
|
|
|
|
deleteManyRecords,
|
|
|
|
|
favorites,
|
|
|
|
|
fetchAllRecordIds,
|
|
|
|
|
resetTableRowSelection,
|
|
|
|
|
]);
|
|
|
|
|
await deleteManyRecords(recordIdsToDelete);
|
|
|
|
|
}, [deleteManyRecords, fetchAllRecordIds, resetTableRowSelection]);
|
|
|
|
|
|
|
|
|
|
const isRemoteObject = objectMetadataItem.isRemote;
|
|
|
|
|
|
|
|
|
|
@ -105,7 +82,7 @@ export const useDeleteMultipleRecordsAction = ({
|
|
|
|
|
contextStoreNumberOfSelectedRecords < DELETE_MAX_COUNT &&
|
|
|
|
|
contextStoreNumberOfSelectedRecords > 0;
|
|
|
|
|
|
|
|
|
|
const { isInRightDrawer, onActionExecutedCallback } =
|
|
|
|
|
const { isInRightDrawer, onActionStartedCallback, onActionExecutedCallback } =
|
|
|
|
|
useContext(ActionMenuContext);
|
|
|
|
|
|
|
|
|
|
const registerDeleteMultipleRecordsAction = ({
|
|
|
|
|
@ -133,9 +110,14 @@ export const useDeleteMultipleRecordsAction = ({
|
|
|
|
|
setIsOpen={setIsDeleteRecordsModalOpen}
|
|
|
|
|
title={'Delete Records'}
|
|
|
|
|
subtitle={`Are you sure you want to delete these records? They can be recovered from the Options menu.`}
|
|
|
|
|
onConfirmClick={() => {
|
|
|
|
|
handleDeleteClick();
|
|
|
|
|
onActionExecutedCallback?.();
|
|
|
|
|
onConfirmClick={async () => {
|
|
|
|
|
onActionStartedCallback?.({
|
|
|
|
|
key: 'delete-multiple-records',
|
|
|
|
|
});
|
|
|
|
|
await handleDeleteClick();
|
|
|
|
|
onActionExecutedCallback?.({
|
|
|
|
|
key: 'delete-multiple-records',
|
|
|
|
|
});
|
|
|
|
|
if (isInRightDrawer) {
|
|
|
|
|
closeRightDrawer();
|
|
|
|
|
}
|
|
|
|
|
|