mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-08-18 14:06:59 +00:00
Fix: Added UI support for deleted entity versions (#2424)
* Added UI version support for deleted entities * Added deleted entity UI changes for versions page
This commit is contained in:
parent
e7e5a4dd2c
commit
04d23acf93
@ -44,6 +44,7 @@ const DashboardVersion: FC<DashboardVersionProp> = ({
|
|||||||
tier,
|
tier,
|
||||||
slashedDashboardName,
|
slashedDashboardName,
|
||||||
versionList,
|
versionList,
|
||||||
|
deleted = false,
|
||||||
backHandler,
|
backHandler,
|
||||||
versionHandler,
|
versionHandler,
|
||||||
}: DashboardVersionProp) => {
|
}: DashboardVersionProp) => {
|
||||||
@ -219,6 +220,7 @@ const DashboardVersion: FC<DashboardVersionProp> = ({
|
|||||||
<div className={classNames('version-data')}>
|
<div className={classNames('version-data')}>
|
||||||
<EntityPageInfo
|
<EntityPageInfo
|
||||||
isVersionSelected
|
isVersionSelected
|
||||||
|
deleted={deleted}
|
||||||
entityName={currentVersionData.name ?? ''}
|
entityName={currentVersionData.name ?? ''}
|
||||||
extraInfo={getExtraInfo()}
|
extraInfo={getExtraInfo()}
|
||||||
followersList={[]}
|
followersList={[]}
|
||||||
|
@ -26,6 +26,7 @@ export interface DashboardVersionProp {
|
|||||||
slashedDashboardName: TitleBreadcrumbProps['titleLinks'];
|
slashedDashboardName: TitleBreadcrumbProps['titleLinks'];
|
||||||
topicFQN: string;
|
topicFQN: string;
|
||||||
versionList: EntityHistory;
|
versionList: EntityHistory;
|
||||||
|
deleted?: boolean;
|
||||||
backHandler: () => void;
|
backHandler: () => void;
|
||||||
versionHandler: (v: string) => void;
|
versionHandler: (v: string) => void;
|
||||||
}
|
}
|
||||||
|
@ -44,6 +44,7 @@ const PipelineVersion: FC<PipelineVersionProp> = ({
|
|||||||
tier,
|
tier,
|
||||||
slashedPipelineName,
|
slashedPipelineName,
|
||||||
versionList,
|
versionList,
|
||||||
|
deleted = false,
|
||||||
backHandler,
|
backHandler,
|
||||||
versionHandler,
|
versionHandler,
|
||||||
}: PipelineVersionProp) => {
|
}: PipelineVersionProp) => {
|
||||||
@ -219,6 +220,7 @@ const PipelineVersion: FC<PipelineVersionProp> = ({
|
|||||||
<div className={classNames('version-data')}>
|
<div className={classNames('version-data')}>
|
||||||
<EntityPageInfo
|
<EntityPageInfo
|
||||||
isVersionSelected
|
isVersionSelected
|
||||||
|
deleted={deleted}
|
||||||
entityName={currentVersionData.name ?? ''}
|
entityName={currentVersionData.name ?? ''}
|
||||||
extraInfo={getExtraInfo()}
|
extraInfo={getExtraInfo()}
|
||||||
followersList={[]}
|
followersList={[]}
|
||||||
|
@ -26,6 +26,7 @@ export interface PipelineVersionProp {
|
|||||||
slashedPipelineName: TitleBreadcrumbProps['titleLinks'];
|
slashedPipelineName: TitleBreadcrumbProps['titleLinks'];
|
||||||
topicFQN: string;
|
topicFQN: string;
|
||||||
versionList: EntityHistory;
|
versionList: EntityHistory;
|
||||||
|
deleted?: boolean;
|
||||||
backHandler: () => void;
|
backHandler: () => void;
|
||||||
versionHandler: (v: string) => void;
|
versionHandler: (v: string) => void;
|
||||||
}
|
}
|
||||||
|
@ -42,6 +42,7 @@ const TopicVersion: FC<TopicVersionProp> = ({
|
|||||||
tier,
|
tier,
|
||||||
slashedTopicName,
|
slashedTopicName,
|
||||||
versionList,
|
versionList,
|
||||||
|
deleted = false,
|
||||||
backHandler,
|
backHandler,
|
||||||
versionHandler,
|
versionHandler,
|
||||||
}: TopicVersionProp) => {
|
}: TopicVersionProp) => {
|
||||||
@ -264,6 +265,7 @@ const TopicVersion: FC<TopicVersionProp> = ({
|
|||||||
<div className={classNames('version-data')}>
|
<div className={classNames('version-data')}>
|
||||||
<EntityPageInfo
|
<EntityPageInfo
|
||||||
isVersionSelected
|
isVersionSelected
|
||||||
|
deleted={deleted}
|
||||||
entityName={currentVersionData.name ?? ''}
|
entityName={currentVersionData.name ?? ''}
|
||||||
extraInfo={getExtraInfo()}
|
extraInfo={getExtraInfo()}
|
||||||
followersList={[]}
|
followersList={[]}
|
||||||
|
@ -26,6 +26,7 @@ export interface TopicVersionProp {
|
|||||||
slashedTopicName: TitleBreadcrumbProps['titleLinks'];
|
slashedTopicName: TitleBreadcrumbProps['titleLinks'];
|
||||||
topicFQN: string;
|
topicFQN: string;
|
||||||
versionList: EntityHistory;
|
versionList: EntityHistory;
|
||||||
|
deleted?: boolean;
|
||||||
backHandler: () => void;
|
backHandler: () => void;
|
||||||
versionHandler: (v: string) => void;
|
versionHandler: (v: string) => void;
|
||||||
}
|
}
|
||||||
|
@ -142,9 +142,7 @@ const EntityPageInfo = ({
|
|||||||
|
|
||||||
const getVersionButton = (version: string) => {
|
const getVersionButton = (version: string) => {
|
||||||
return (
|
return (
|
||||||
<div
|
<div className="tw-flex tw-h-6 tw-ml-2 tw-mt-2" onClick={versionHandler}>
|
||||||
className="tw-flex tw-h-6 tw-ml-2 tw-mt-2"
|
|
||||||
onClick={() => !deleted && versionHandler?.()}>
|
|
||||||
<span
|
<span
|
||||||
className={classNames(
|
className={classNames(
|
||||||
'tw-flex tw-border tw-border-primary tw-rounded',
|
'tw-flex tw-border tw-border-primary tw-rounded',
|
||||||
@ -157,10 +155,7 @@ const EntityPageInfo = ({
|
|||||||
'tw-text-xs tw-border-r tw-font-medium tw-py-1 tw-px-2 tw-rounded-l focus:tw-outline-none',
|
'tw-text-xs tw-border-r tw-font-medium tw-py-1 tw-px-2 tw-rounded-l focus:tw-outline-none',
|
||||||
!isUndefined(isVersionSelected)
|
!isUndefined(isVersionSelected)
|
||||||
? 'tw-border-white'
|
? 'tw-border-white'
|
||||||
: 'tw-border-primary',
|
: 'tw-border-primary'
|
||||||
{
|
|
||||||
'tw-cursor-not-allowed': deleted,
|
|
||||||
}
|
|
||||||
)}
|
)}
|
||||||
data-testid="version-button">
|
data-testid="version-button">
|
||||||
<SVGIcons
|
<SVGIcons
|
||||||
@ -171,12 +166,7 @@ const EntityPageInfo = ({
|
|||||||
</button>
|
</button>
|
||||||
|
|
||||||
<span
|
<span
|
||||||
className={classNames(
|
className="tw-text-xs tw-border-l-0 tw-font-medium tw-py-1 tw-px-2 tw-rounded-r tw-cursor-pointer"
|
||||||
'tw-text-xs tw-border-l-0 tw-font-medium tw-py-1 tw-px-2 tw-rounded-r tw-cursor-pointer',
|
|
||||||
{
|
|
||||||
'tw-cursor-not-allowed': deleted,
|
|
||||||
}
|
|
||||||
)}
|
|
||||||
data-testid="getversions">
|
data-testid="getversions">
|
||||||
{parseFloat(version).toFixed(1)}
|
{parseFloat(version).toFixed(1)}
|
||||||
</span>
|
</span>
|
||||||
|
@ -598,6 +598,7 @@ const EntityVersionPage: FunctionComponent = () => {
|
|||||||
<TopicVersion
|
<TopicVersion
|
||||||
backHandler={backHandler}
|
backHandler={backHandler}
|
||||||
currentVersionData={currentVersionData}
|
currentVersionData={currentVersionData}
|
||||||
|
deleted={currentVersionData.deleted}
|
||||||
isVersionLoading={isVersionLoading}
|
isVersionLoading={isVersionLoading}
|
||||||
owner={owner}
|
owner={owner}
|
||||||
slashedTopicName={slashedEntityName}
|
slashedTopicName={slashedEntityName}
|
||||||
@ -615,6 +616,7 @@ const EntityVersionPage: FunctionComponent = () => {
|
|||||||
<DashboardVersion
|
<DashboardVersion
|
||||||
backHandler={backHandler}
|
backHandler={backHandler}
|
||||||
currentVersionData={currentVersionData}
|
currentVersionData={currentVersionData}
|
||||||
|
deleted={currentVersionData.deleted}
|
||||||
isVersionLoading={isVersionLoading}
|
isVersionLoading={isVersionLoading}
|
||||||
owner={owner}
|
owner={owner}
|
||||||
slashedDashboardName={slashedEntityName}
|
slashedDashboardName={slashedEntityName}
|
||||||
@ -632,6 +634,7 @@ const EntityVersionPage: FunctionComponent = () => {
|
|||||||
<PipelineVersion
|
<PipelineVersion
|
||||||
backHandler={backHandler}
|
backHandler={backHandler}
|
||||||
currentVersionData={currentVersionData}
|
currentVersionData={currentVersionData}
|
||||||
|
deleted={currentVersionData.deleted}
|
||||||
isVersionLoading={isVersionLoading}
|
isVersionLoading={isVersionLoading}
|
||||||
owner={owner}
|
owner={owner}
|
||||||
slashedPipelineName={slashedEntityName}
|
slashedPipelineName={slashedEntityName}
|
||||||
|
@ -527,28 +527,48 @@ export const getSummary = (
|
|||||||
) => {
|
) => {
|
||||||
const fieldsAdded = [...(changeDescription?.fieldsAdded || [])];
|
const fieldsAdded = [...(changeDescription?.fieldsAdded || [])];
|
||||||
const fieldsDeleted = [...(changeDescription?.fieldsDeleted || [])];
|
const fieldsDeleted = [...(changeDescription?.fieldsDeleted || [])];
|
||||||
const fieldsUpdated = [...(changeDescription?.fieldsUpdated || [])];
|
const fieldsUpdated = [
|
||||||
|
...(changeDescription?.fieldsUpdated?.filter(
|
||||||
|
(field) => field.name !== 'deleted'
|
||||||
|
) || []),
|
||||||
|
];
|
||||||
|
const isDeleteUpdated = [
|
||||||
|
...(changeDescription?.fieldsUpdated?.filter(
|
||||||
|
(field) => field.name === 'deleted'
|
||||||
|
) || []),
|
||||||
|
];
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Fragment>
|
<Fragment>
|
||||||
|
{isDeleteUpdated?.length > 0 ? (
|
||||||
|
<p className="tw-mb-2">
|
||||||
|
{isDeleteUpdated
|
||||||
|
.map((field) => {
|
||||||
|
return field.newValue
|
||||||
|
? 'Entity has been deleted'
|
||||||
|
: 'Entity has been restored';
|
||||||
|
})
|
||||||
|
.join(', ')}
|
||||||
|
</p>
|
||||||
|
) : null}
|
||||||
{fieldsAdded?.length > 0 ? (
|
{fieldsAdded?.length > 0 ? (
|
||||||
<p className="tw-mb-2">
|
<p className="tw-mb-2">
|
||||||
{`${isPrefix ? '+ Added' : ''} ${fieldsAdded
|
{`${isPrefix ? '+ Added' : ''} ${fieldsAdded
|
||||||
?.map(summaryFormatter)
|
.map(summaryFormatter)
|
||||||
.join(', ')} ${!isPrefix ? `has been added` : ''}`}{' '}
|
.join(', ')} ${!isPrefix ? `has been added` : ''}`}{' '}
|
||||||
</p>
|
</p>
|
||||||
) : null}
|
) : null}
|
||||||
{fieldsUpdated?.length ? (
|
{fieldsUpdated?.length ? (
|
||||||
<p className="tw-mb-2">
|
<p className="tw-mb-2">
|
||||||
{`${isPrefix ? 'Edited' : ''} ${fieldsUpdated
|
{`${isPrefix ? 'Edited' : ''} ${fieldsUpdated
|
||||||
?.map(summaryFormatter)
|
.map(summaryFormatter)
|
||||||
.join(', ')} ${!isPrefix ? `has been updated` : ''}`}{' '}
|
.join(', ')} ${!isPrefix ? `has been updated` : ''}`}{' '}
|
||||||
</p>
|
</p>
|
||||||
) : null}
|
) : null}
|
||||||
{fieldsDeleted?.length ? (
|
{fieldsDeleted?.length ? (
|
||||||
<p className="tw-mb-2">
|
<p className="tw-mb-2">
|
||||||
{`${isPrefix ? '- Removed' : ''} ${fieldsDeleted
|
{`${isPrefix ? '- Removed' : ''} ${fieldsDeleted
|
||||||
?.map(summaryFormatter)
|
.map(summaryFormatter)
|
||||||
.join(', ')} ${!isPrefix ? `has been Deleted` : ''}`}{' '}
|
.join(', ')} ${!isPrefix ? `has been Deleted` : ''}`}{' '}
|
||||||
</p>
|
</p>
|
||||||
) : null}
|
) : null}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user