From 58b6d860d34653be8b968c3f60825d520e28f659 Mon Sep 17 00:00:00 2001 From: Vincenzo Scamporlino Date: Thu, 25 May 2023 12:00:59 +0200 Subject: [PATCH] catalog-react: add useIsOwnedEntity hook Signed-off-by: Vincenzo Scamporlino --- .../catalog-react/src/hooks/useEntityOwnership.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/plugins/catalog-react/src/hooks/useEntityOwnership.ts b/plugins/catalog-react/src/hooks/useEntityOwnership.ts index f8a37a2c83..1f1e200634 100644 --- a/plugins/catalog-react/src/hooks/useEntityOwnership.ts +++ b/plugins/catalog-react/src/hooks/useEntityOwnership.ts @@ -46,9 +46,15 @@ export function useEntityOwnership(): { return ownershipEntityRefs; }, []); - const isOwnedEntity = useMemo(() => { + const isOwnedEntity = useIsOwnedEntity(refs); + + return useMemo(() => ({ loading, isOwnedEntity }), [loading, isOwnedEntity]); +} + +export function useIsOwnedEntity(refs?: string[]) { + return useMemo(() => { const myOwnerRefs = new Set(refs ?? []); - return (entity: Entity) => { + const isOwnedEntity = (entity: Entity) => { const entityOwnerRefs = getEntityRelations(entity, RELATION_OWNED_BY).map( stringifyEntityRef, ); @@ -59,7 +65,6 @@ export function useEntityOwnership(): { } return false; }; + return isOwnedEntity; }, [refs]); - - return useMemo(() => ({ loading, isOwnedEntity }), [loading, isOwnedEntity]); }