Skip to content

Commit

Permalink
separate out save entity hook
Browse files Browse the repository at this point in the history
  • Loading branch information
austenem committed Feb 11, 2025
1 parent 93c492c commit 29e3a05
Showing 1 changed file with 29 additions and 24 deletions.
53 changes: 29 additions & 24 deletions context/app/static/js/components/savedLists/hooks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -352,37 +352,41 @@ function useSavedEntitiesActions({ savedEntities }: { savedEntities: SavedEntiti
setSuccessAlert(SavedListsSuccessAlertType.DeletedEntity);
}

function useHandleSaveEntity({ entityUUID }: { entityUUID: string }) {
const {
entity: { entity_type },
} = useFlaskDataContext();
const [entityData] = useEntitiesData([entityUUID], ['hubmap_id']);

return useCallback(() => {
handleSaveEntities({ entityUUIDs: new Set([entityUUID]) }).catch((error) => {
console.error(error);
});

if (!entityData?.length) {
return;
}

trackEvent({
category: SavedListsEventCategories.EntityDetailPage(entity_type),
action: 'Save Entity to Items',
label: entityData[0].hubmap_id,
});
}, [entityUUID, entityData, entity_type]);
}

return {
handleSaveEntities,
handleDeleteEntities,
useHandleSaveEntity,
isUpdating,
};
}

function useHandleSaveEntity({ entityUUID }: { entityUUID: string }) {
const { savedEntities } = useListSavedListsAndEntities();
const { handleSaveEntities } = useSavedEntitiesActions({ savedEntities });

const {
entity: { entity_type },
} = useFlaskDataContext();
const [entityData] = useEntitiesData([entityUUID], ['hubmap_id']);

const handleSaveEntity = useEventCallback(() => {
handleSaveEntities({ entityUUIDs: new Set([entityUUID]) }).catch((error) => {
console.error(error);
});

if (!entityData?.length) {
return;
}

trackEvent({
category: SavedListsEventCategories.EntityDetailPage(entity_type),
action: 'Save Entity to Items',
label: entityData[0].hubmap_id,
});
});

return handleSaveEntity;
}

export default function useSavedLists() {
const { isLoading, savedLists, savedEntities, savedListsAndEntities } = useListSavedListsAndEntities();

Expand All @@ -391,6 +395,7 @@ export default function useSavedLists() {
savedLists,
savedEntities,
savedListsAndEntities,
useHandleSaveEntity,
...useSavedListsActions({ savedListsAndEntities }),
...useSavedEntitiesActions({ savedEntities }),
};
Expand Down

0 comments on commit 29e3a05

Please sign in to comment.