fixed issue-5779 Add manage tab to soft deleted entity (#5781)

* fixed issue-5779 Added manage tab to soft deleted entity

* miner fix

* addressing comments
This commit is contained in:
Shailesh Parmar 2022-06-30 16:32:07 +05:30 committed by GitHub
parent 9ca7a75e2d
commit 00e25ade91
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 35 additions and 28 deletions

View File

@ -201,7 +201,6 @@ const DashboardDetails = ({
selectedName: 'icon-managecolor',
},
isProtected: true,
isHidden: deleted,
protectedState: !owner || hasEditAccess(),
position: 4,
},
@ -703,11 +702,11 @@ const DashboardDetails = ({
/>
</div>
)}
{activeTab === 4 && !deleted && (
{activeTab === 4 && (
<div>
<ManageTabComponent
allowDelete
allowSoftDelete
allowSoftDelete={!deleted}
currentTier={tier?.tagFQN}
currentUser={owner}
deletEntityMessage={getDeleteEntityMessage()}
@ -715,6 +714,8 @@ const DashboardDetails = ({
entityName={dashboardDetails.name}
entityType={EntityType.DASHBOARD}
hasEditAccess={hasEditAccess()}
hideOwner={deleted}
hideTier={deleted}
manageSectionType={EntityType.DASHBOARD}
onSave={onSettingsUpdate}
/>

View File

@ -313,7 +313,6 @@ const DatasetDetails: React.FC<DatasetDetailsProps> = ({
selectedName: 'icon-managecolor',
},
isProtected: false,
isHidden: deleted,
protectedState: !owner || hasEditAccess(),
position: 10,
},
@ -804,17 +803,19 @@ const DatasetDetails: React.FC<DatasetDetailsProps> = ({
tableDetails={tableDetails}
/>
)}
{activeTab === 10 && !deleted && (
{activeTab === 10 && (
<div>
<ManageTab
allowDelete
allowSoftDelete
allowSoftDelete={!deleted}
currentTier={tier?.tagFQN}
currentUser={owner}
entityId={tableDetails.id}
entityName={tableDetails.name}
entityType={EntityType.TABLE}
hasEditAccess={hasEditAccess()}
hideOwner={deleted}
hideTier={deleted}
manageSectionType={EntityType.TABLE}
onSave={onSettingsUpdate}
/>

View File

@ -193,7 +193,6 @@ const MlModelDetail: FC<MlModelDetailProp> = ({
selectedName: 'icon-managecolor',
},
isProtected: false,
isHidden: mlModelDetail.deleted,
protectedState: !mlModelDetail.owner || hasEditAccess(),
position: 3,
},
@ -452,17 +451,19 @@ const MlModelDetail: FC<MlModelDetailProp> = ({
{getMlModelStore()}
</div>
)}
{activeTab === 3 && !mlModelDetail.deleted && (
{activeTab === 3 && (
<div>
<ManageTabComponent
allowDelete
allowSoftDelete
allowSoftDelete={!mlModelDetail.deleted}
currentTier={mlModelTier?.tagFQN}
currentUser={mlModelDetail.owner}
entityId={mlModelDetail.id}
entityName={mlModelDetail.name}
entityType={EntityType.MLMODEL}
hasEditAccess={hasEditAccess()}
hideOwner={mlModelDetail.deleted}
hideTier={mlModelDetail.deleted}
onSave={onSettingsUpdate}
/>
</div>

View File

@ -194,7 +194,6 @@ const PipelineDetails = ({
selectedName: 'icon-managecolor',
},
isProtected: true,
isHidden: deleted,
protectedState: !owner || hasEditAccess(),
position: 4,
},
@ -485,17 +484,19 @@ const PipelineDetails = ({
/>
</div>
)}
{activeTab === 4 && !deleted && (
{activeTab === 4 && (
<div>
<ManageTabComponent
allowDelete
allowSoftDelete
allowSoftDelete={!deleted}
currentTier={tier?.tagFQN}
currentUser={owner}
entityId={pipelineDetails.id}
entityName={pipelineDetails.name}
entityType={EntityType.PIPELINE}
hasEditAccess={hasEditAccess()}
hideOwner={deleted}
hideTier={deleted}
manageSectionType={EntityType.PIPELINE}
onSave={onSettingsUpdate}
/>

View File

@ -217,7 +217,6 @@ const TopicDetails: React.FC<TopicDetailsProps> = ({
selectedName: 'icon-managecolor',
},
isProtected: true,
isHidden: deleted,
protectedState: !owner || hasEditAccess(),
position: 5,
},
@ -485,17 +484,19 @@ const TopicDetails: React.FC<TopicDetailsProps> = ({
<SchemaEditor value={JSON.stringify(getConfigObject())} />
</div>
)}
{activeTab === 5 && !deleted && (
{activeTab === 5 && (
<div>
<ManageTabComponent
allowDelete
allowSoftDelete
allowSoftDelete={!deleted}
currentTier={tier?.tagFQN}
currentUser={owner}
entityId={topicDetails.id}
entityName={topicDetails.name}
entityType={EntityType.TOPIC}
hasEditAccess={hasEditAccess()}
hideOwner={deleted}
hideTier={deleted}
manageSectionType={EntityType.TOPIC}
onSave={onSettingsUpdate}
/>

View File

@ -42,7 +42,7 @@ 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 softDeleteText = `Delete will deactivate the ${entityType} ${entityName}. This will disable any discovery, read or write operations on ${entityName}`;
const hardDeleteText = getEntityDeleteMessage(getTitleCase(entityType), '');
return softDelete ? softDeleteText : hardDeleteText;
@ -147,10 +147,10 @@ const DeleteWidget = ({
{allowSoftDelete && (
<div className="tw-border-b" data-testid="soft-delete">
<DeleteWidgetBody
buttonText="Soft delete"
buttonText="Delete"
description={prepareDeleteMessage(true)}
hasPermission={hasPermission}
header={`Soft delete ${getTitleCase(entityType)} ${entityName}`}
header={`Delete ${getTitleCase(entityType)} ${entityName}`}
isOwner={isAdminUser}
onClick={() => handleOnEntityDelete(true)}
/>
@ -158,10 +158,12 @@ const DeleteWidget = ({
)}
<div data-testid="hard-delete">
<DeleteWidgetBody
buttonText="Delete"
buttonText="Permanent Delete"
description={prepareDeleteMessage()}
hasPermission={hasPermission}
header={`Delete ${getTitleCase(entityType)} ${entityName}`}
header={`Permanently Delete ${getTitleCase(
entityType
)} ${entityName}`}
isOwner={isAdminUser}
onClick={() => handleOnEntityDelete(false)}
/>

View File

@ -34,7 +34,7 @@ const DeleteWidgetBody = ({
}: DeleteWidgetBodyProps) => {
return (
<div className="tw-flex tw-justify-between tw-px-5 tw-py-3">
<div className="tw-w-10/12" data-testid="danger-zone-text">
<div data-testid="danger-zone-text">
<p
className="tw-text-sm tw-mb-1 tw-font-medium"
data-testid="danger-zone-text-title">

View File

@ -51,12 +51,12 @@ const DeleteWidgetV1 = ({
const DELETE_OPTION = [
{
title: `Soft delete ${entityType}${entityName}`,
title: `Delete ${entityType}${entityName}`,
description: prepareDeleteMessage(true),
type: DeleteType.SOFT_DELETE,
},
{
title: `Delete ${entityType}${entityName}`,
title: `Permanently Delete ${entityType}${entityName}`,
description: prepareDeleteMessage(),
type: DeleteType.HARD_DELETE,
},
@ -208,7 +208,7 @@ const DeleteWidgetV1 = ({
key={option.type}
value={option.type}>
<p className="tw-text-sm tw-mb-1 tw-font-medium">{option.title}</p>
<p className="tw-text-grey-muted tw-text-xs">
<p className="tw-text-grey-muted tw-text-xs tw-mb-2">
{option.description}
</p>
</Radio>

View File

@ -612,13 +612,13 @@ export const getEntityName = (entity?: EntityReference) => {
export const getEntityDeleteMessage = (entity: string, dependents: string) => {
if (dependents) {
return `Deleting this ${getTitleCase(
return `Permanently deleting this ${getTitleCase(
entity
)} will permanently remove its metadata, as well as the metadata of ${dependents} from OpenMetadata.`;
)} will remove its metadata, as well as the metadata of ${dependents} from OpenMetadata permanently.`;
} else {
return `Deleting this ${getTitleCase(
return `Permanently deleting this ${getTitleCase(
entity
)} will permanently remove its metadata from OpenMetadata.`;
)} will remove its metadata from OpenMetadata permanently.`;
}
};