diff --git a/catalog-rest-service/src/main/resources/ui/src/components/common/non-admin-action/NonAdminAction.tsx b/catalog-rest-service/src/main/resources/ui/src/components/common/non-admin-action/NonAdminAction.tsx index 1865678eec5..5fa8a9b65bb 100644 --- a/catalog-rest-service/src/main/resources/ui/src/components/common/non-admin-action/NonAdminAction.tsx +++ b/catalog-rest-service/src/main/resources/ui/src/components/common/non-admin-action/NonAdminAction.tsx @@ -4,9 +4,10 @@ import PopOver from '../popover/PopOver'; type Props = { children: React.ReactNode; - title: string; + title?: string; position?: 'top' | 'right' | 'bottom' | 'left'; isOwner?: boolean; + html?: React.ReactElement; }; const NonAdminAction = ({ @@ -14,6 +15,7 @@ const NonAdminAction = ({ position = 'top', title, isOwner = false, + html, }: Props) => { const { isAuthDisabled, isAdminUser } = useAuth(); @@ -29,7 +31,11 @@ const NonAdminAction = ({ {isAdminUser || isOwner || isAuthDisabled ? ( {children} ) : ( - + { ul: ({ node, children, ...props }) => { const { ordered: _ordered, ...rest } = props; return ( -
    +
      {children}
    ); diff --git a/catalog-rest-service/src/main/resources/ui/src/components/my-data-details/ManageTab.tsx b/catalog-rest-service/src/main/resources/ui/src/components/my-data-details/ManageTab.tsx index 1292f5b0ef9..2d89ebd62b1 100644 --- a/catalog-rest-service/src/main/resources/ui/src/components/my-data-details/ManageTab.tsx +++ b/catalog-rest-service/src/main/resources/ui/src/components/my-data-details/ManageTab.tsx @@ -24,6 +24,7 @@ import { getUserTeams } from '../../utils/CommonUtils'; import SVGIcons from '../../utils/SvgUtils'; import { Button } from '../buttons/Button/Button'; import CardListItem from '../card-list/CardListItem/CardWithListItems'; +import NonAdminAction from '../common/non-admin-action/NonAdminAction'; import DropDownList from '../dropdown/DropDownList'; import Loader from '../Loader/Loader'; @@ -34,12 +35,14 @@ type Props = { owner: TableDetail['owner'], tier: TableDetail['tier'] ) => Promise; + hasEditAccess: boolean; }; const ManageTab: FunctionComponent = ({ currentTier = '', currentUser = '', onSave, + hasEditAccess, }: Props) => { const { data } = cardData; const [loading, setLoading] = useState(false); @@ -162,12 +165,22 @@ const ManageTab: FunctionComponent = ({
    {data.map((card, i) => ( - +

    You need ownership to perform this action

    +

    Claim ownership from above

    + + } + isOwner={hasEditAccess || Boolean(owner)} key={i} - onSelect={handleCardSelection} - /> + position="left"> + + ))}
    diff --git a/catalog-rest-service/src/main/resources/ui/src/pages/my-data-details/index.tsx b/catalog-rest-service/src/main/resources/ui/src/pages/my-data-details/index.tsx index 29cbabcf457..f4229226658 100644 --- a/catalog-rest-service/src/main/resources/ui/src/pages/my-data-details/index.tsx +++ b/catalog-rest-service/src/main/resources/ui/src/pages/my-data-details/index.tsx @@ -449,8 +449,8 @@ const MyDataDetailsPage = () => { {'Schema '} + isOwner={!owner || hasEditAccess()} + title="You need ownership to perform this action">