mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-11-02 03:29:03 +00:00
parent
8291a09b0d
commit
64f6ec4e65
@ -93,7 +93,7 @@ export const AuthProvider = ({
|
||||
const oidcUserToken = localStorage.getItem(oidcTokenKey);
|
||||
|
||||
const [isUserAuthenticated, setIsUserAuthenticated] = useState(
|
||||
Boolean(oidcUserToken || localStorage.getItem('okta-token-storage'))
|
||||
Boolean(oidcUserToken)
|
||||
);
|
||||
const [isAuthDisabled, setIsAuthDisabled] = useState(false);
|
||||
const [loading, setLoading] = useState(true);
|
||||
|
||||
@ -309,6 +309,7 @@ const ManageTab: FunctionComponent<ManageProps> = ({
|
||||
{!hideOwner && (
|
||||
<OwnerWidget
|
||||
allowTeamOwner={allowTeamOwner}
|
||||
entityType={entityType}
|
||||
handleIsJoinable={handleIsJoinable}
|
||||
handleOwnerSelection={handleOwnerSelection}
|
||||
handleSelectOwnerDropdown={() =>
|
||||
|
||||
@ -19,6 +19,7 @@ import React, {
|
||||
useCallback,
|
||||
useState,
|
||||
} from 'react';
|
||||
import { getTitleCase } from '../../../utils/EntityUtils';
|
||||
import { Button } from '../../buttons/Button/Button';
|
||||
import Loader from '../../Loader/Loader';
|
||||
|
||||
@ -74,7 +75,9 @@ const EntityDeleteModal: FC<Prop> = ({
|
||||
<div className={classNames('tw-modal-body')} data-testid="body-text">
|
||||
<p className="tw-mb-2">
|
||||
{bodyText ||
|
||||
`Once you delete this ${entityType}, it will be removed permanently`}
|
||||
`Once you delete this ${getTitleCase(
|
||||
entityType
|
||||
)}, it will be removed permanently`}
|
||||
</p>
|
||||
<p className="tw-mb-2">
|
||||
Type <strong>DELETE</strong> to confirm
|
||||
|
||||
@ -18,6 +18,7 @@ import { deleteEntity } from '../../../axiosAPIs/miscAPI';
|
||||
import { ENTITY_DELETE_STATE } from '../../../constants/entity.constants';
|
||||
import { EntityType } from '../../../enums/entity.enum';
|
||||
import jsonData from '../../../jsons/en';
|
||||
import { getTitleCase } from '../../../utils/EntityUtils';
|
||||
import { showErrorToast, showSuccessToast } from '../../../utils/ToastUtils';
|
||||
import EntityDeleteModal from '../../Modals/EntityDeleteModal/EntityDeleteModal';
|
||||
import DeleteWidgetBody from './DeleteWidgetBody';
|
||||
@ -48,8 +49,12 @@ const DeleteWidget = ({
|
||||
useState<typeof ENTITY_DELETE_STATE>(ENTITY_DELETE_STATE);
|
||||
|
||||
const prepareDeleteMessage = (softDelete = false) => {
|
||||
const softDeleteText = `Soft deleting will deactivate the ${entityName}. This will disable any discovery, read or write operations on ${entityName}`;
|
||||
const hardDeleteText = `Once you delete this ${entityType}, it will be removed permanently`;
|
||||
const softDeleteText = `Soft deleting will deactivate the ${getTitleCase(
|
||||
entityName
|
||||
)}. This will disable any discovery, read or write operations on ${entityName}`;
|
||||
const hardDeleteText = `Once you delete this ${getTitleCase(
|
||||
entityType
|
||||
)}, it will be removed permanently`;
|
||||
|
||||
return softDelete ? softDeleteText : hardDeleteText;
|
||||
};
|
||||
@ -146,7 +151,7 @@ const DeleteWidget = ({
|
||||
buttonText="Soft delete"
|
||||
description={prepareDeleteMessage(true)}
|
||||
hasPermission={hasPermission}
|
||||
header={`Soft delete ${entityType} ${entityName}`}
|
||||
header={`Soft delete ${getTitleCase(entityType)} ${entityName}`}
|
||||
isOwner={isAdminUser}
|
||||
onClick={() => handleOnEntityDelete(true)}
|
||||
/>
|
||||
@ -157,7 +162,7 @@ const DeleteWidget = ({
|
||||
buttonText="Delete"
|
||||
description={prepareDeleteMessage()}
|
||||
hasPermission={hasPermission}
|
||||
header={`Delete ${entityType} ${entityName}`}
|
||||
header={`Delete ${getTitleCase(entityType)} ${entityName}`}
|
||||
isOwner={isAdminUser}
|
||||
onClick={() => handleOnEntityDelete(false)}
|
||||
/>
|
||||
|
||||
@ -17,6 +17,7 @@ import { isUndefined } from 'lodash';
|
||||
import React, { Fragment } from 'react';
|
||||
import { Operation } from '../../../generated/entity/policies/policy';
|
||||
import { useAuth } from '../../../hooks/authHooks';
|
||||
import { getTitleCase } from '../../../utils/EntityUtils';
|
||||
import { Button } from '../../buttons/Button/Button';
|
||||
import DropDownList from '../../dropdown/DropDownList';
|
||||
import Loader from '../../Loader/Loader';
|
||||
@ -32,6 +33,7 @@ interface OwnerWidgetProps {
|
||||
teamJoinable?: boolean;
|
||||
allowTeamOwner?: boolean;
|
||||
ownerName: string;
|
||||
entityType?: string;
|
||||
statusOwner: Status;
|
||||
owner: string;
|
||||
listOwners: {
|
||||
@ -54,6 +56,7 @@ const OwnerWidget = ({
|
||||
isAuthDisabled,
|
||||
hasEditAccess,
|
||||
ownerName,
|
||||
entityType,
|
||||
listVisible,
|
||||
owner,
|
||||
allowTeamOwner,
|
||||
@ -89,6 +92,11 @@ const OwnerWidget = ({
|
||||
}
|
||||
};
|
||||
|
||||
const ownerDescription =
|
||||
entityType === 'team'
|
||||
? 'The owner of the team can manage the team by adding or removing users. Add or update Team ownership here'
|
||||
: `Add or update ${getTitleCase(entityType)} ownership here`;
|
||||
|
||||
return (
|
||||
<Fragment>
|
||||
<div className="tw-mt-1 tw-bg-white">
|
||||
@ -97,8 +105,7 @@ const OwnerWidget = ({
|
||||
<div className="tw-w-10/12">
|
||||
<p className="tw-text-sm tw-mb-1 tw-font-medium">Owner</p>
|
||||
<p className="tw-text-grey-muted tw-text-xs">
|
||||
The Team owner details are found here. Team ownership can be
|
||||
changed
|
||||
{ownerDescription}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
@ -154,11 +154,11 @@ const jsonData = {
|
||||
},
|
||||
label: {
|
||||
'delete-entity-text':
|
||||
'Once you delete this entity, it would be removed permanently.',
|
||||
'Once you delete this entity, it will be removed permanently.',
|
||||
},
|
||||
message: {
|
||||
'no-services': 'No services',
|
||||
'fail-to-deploy-pipeline': 'Failed to deploy Ingestion Pipeline',
|
||||
'fail-to-deploy-pipeline': 'Failed to deploy Ingestion Pipeline!',
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@ -12,7 +12,14 @@
|
||||
*/
|
||||
|
||||
import classNames from 'classnames';
|
||||
import { isEmpty, isNil, isString, isUndefined } from 'lodash';
|
||||
import {
|
||||
camelCase,
|
||||
isEmpty,
|
||||
isNil,
|
||||
isString,
|
||||
isUndefined,
|
||||
startCase,
|
||||
} from 'lodash';
|
||||
import { Bucket, ExtraInfo, LeafNodes, LineagePos } from 'Models';
|
||||
import React from 'react';
|
||||
import Avatar from '../components/common/avatar/Avatar';
|
||||
@ -128,11 +135,7 @@ export const getEntityOverview = (
|
||||
name: 'Owner',
|
||||
value: ownerValue?.displayName || ownerValue?.name || '--',
|
||||
url: getTeamAndUserDetailsPath(owner?.name || ''),
|
||||
isLink: ownerValue
|
||||
? ownerValue.type === 'team'
|
||||
? true
|
||||
: false
|
||||
: false,
|
||||
isLink: ownerValue ? ownerValue.type === 'team' : false,
|
||||
},
|
||||
{
|
||||
name: 'Tier',
|
||||
@ -206,11 +209,7 @@ export const getEntityOverview = (
|
||||
name: 'Owner',
|
||||
value: ownerValue?.displayName || ownerValue?.name || '--',
|
||||
url: getTeamAndUserDetailsPath(owner?.name || ''),
|
||||
isLink: ownerValue
|
||||
? ownerValue.type === 'team'
|
||||
? true
|
||||
: false
|
||||
: false,
|
||||
isLink: ownerValue ? ownerValue.type === 'team' : false,
|
||||
},
|
||||
{
|
||||
name: 'Tier',
|
||||
@ -254,11 +253,7 @@ export const getEntityOverview = (
|
||||
name: 'Owner',
|
||||
value: ownerValue?.displayName || ownerValue?.name || '--',
|
||||
url: getTeamAndUserDetailsPath(owner?.name || ''),
|
||||
isLink: ownerValue
|
||||
? ownerValue.type === 'team'
|
||||
? true
|
||||
: false
|
||||
: false,
|
||||
isLink: ownerValue ? ownerValue.type === 'team' : false,
|
||||
},
|
||||
{
|
||||
name: 'Tier',
|
||||
@ -543,3 +538,7 @@ export const isColumnTestSupported = (dataType: string) => {
|
||||
getDataTypeString(dataType) as PrimaryTableDataTypes
|
||||
);
|
||||
};
|
||||
|
||||
export const getTitleCase = (text?: string) => {
|
||||
return text ? startCase(camelCase(text)) : '';
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user