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:
darth-coder00 2022-01-25 20:12:36 +05:30 committed by GitHub
parent e7e5a4dd2c
commit 04d23acf93
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 39 additions and 17 deletions

View File

@ -44,6 +44,7 @@ const DashboardVersion: FC<DashboardVersionProp> = ({
tier,
slashedDashboardName,
versionList,
deleted = false,
backHandler,
versionHandler,
}: DashboardVersionProp) => {
@ -219,6 +220,7 @@ const DashboardVersion: FC<DashboardVersionProp> = ({
<div className={classNames('version-data')}>
<EntityPageInfo
isVersionSelected
deleted={deleted}
entityName={currentVersionData.name ?? ''}
extraInfo={getExtraInfo()}
followersList={[]}

View File

@ -26,6 +26,7 @@ export interface DashboardVersionProp {
slashedDashboardName: TitleBreadcrumbProps['titleLinks'];
topicFQN: string;
versionList: EntityHistory;
deleted?: boolean;
backHandler: () => void;
versionHandler: (v: string) => void;
}

View File

@ -44,6 +44,7 @@ const PipelineVersion: FC<PipelineVersionProp> = ({
tier,
slashedPipelineName,
versionList,
deleted = false,
backHandler,
versionHandler,
}: PipelineVersionProp) => {
@ -219,6 +220,7 @@ const PipelineVersion: FC<PipelineVersionProp> = ({
<div className={classNames('version-data')}>
<EntityPageInfo
isVersionSelected
deleted={deleted}
entityName={currentVersionData.name ?? ''}
extraInfo={getExtraInfo()}
followersList={[]}

View File

@ -26,6 +26,7 @@ export interface PipelineVersionProp {
slashedPipelineName: TitleBreadcrumbProps['titleLinks'];
topicFQN: string;
versionList: EntityHistory;
deleted?: boolean;
backHandler: () => void;
versionHandler: (v: string) => void;
}

View File

@ -42,6 +42,7 @@ const TopicVersion: FC<TopicVersionProp> = ({
tier,
slashedTopicName,
versionList,
deleted = false,
backHandler,
versionHandler,
}: TopicVersionProp) => {
@ -264,6 +265,7 @@ const TopicVersion: FC<TopicVersionProp> = ({
<div className={classNames('version-data')}>
<EntityPageInfo
isVersionSelected
deleted={deleted}
entityName={currentVersionData.name ?? ''}
extraInfo={getExtraInfo()}
followersList={[]}

View File

@ -26,6 +26,7 @@ export interface TopicVersionProp {
slashedTopicName: TitleBreadcrumbProps['titleLinks'];
topicFQN: string;
versionList: EntityHistory;
deleted?: boolean;
backHandler: () => void;
versionHandler: (v: string) => void;
}

View File

@ -142,9 +142,7 @@ const EntityPageInfo = ({
const getVersionButton = (version: string) => {
return (
<div
className="tw-flex tw-h-6 tw-ml-2 tw-mt-2"
onClick={() => !deleted && versionHandler?.()}>
<div className="tw-flex tw-h-6 tw-ml-2 tw-mt-2" onClick={versionHandler}>
<span
className={classNames(
'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',
!isUndefined(isVersionSelected)
? 'tw-border-white'
: 'tw-border-primary',
{
'tw-cursor-not-allowed': deleted,
}
: 'tw-border-primary'
)}
data-testid="version-button">
<SVGIcons
@ -171,12 +166,7 @@ const EntityPageInfo = ({
</button>
<span
className={classNames(
'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,
}
)}
className="tw-text-xs tw-border-l-0 tw-font-medium tw-py-1 tw-px-2 tw-rounded-r tw-cursor-pointer"
data-testid="getversions">
{parseFloat(version).toFixed(1)}
</span>

View File

@ -598,6 +598,7 @@ const EntityVersionPage: FunctionComponent = () => {
<TopicVersion
backHandler={backHandler}
currentVersionData={currentVersionData}
deleted={currentVersionData.deleted}
isVersionLoading={isVersionLoading}
owner={owner}
slashedTopicName={slashedEntityName}
@ -615,6 +616,7 @@ const EntityVersionPage: FunctionComponent = () => {
<DashboardVersion
backHandler={backHandler}
currentVersionData={currentVersionData}
deleted={currentVersionData.deleted}
isVersionLoading={isVersionLoading}
owner={owner}
slashedDashboardName={slashedEntityName}
@ -632,6 +634,7 @@ const EntityVersionPage: FunctionComponent = () => {
<PipelineVersion
backHandler={backHandler}
currentVersionData={currentVersionData}
deleted={currentVersionData.deleted}
isVersionLoading={isVersionLoading}
owner={owner}
slashedPipelineName={slashedEntityName}

View File

@ -527,28 +527,48 @@ export const getSummary = (
) => {
const fieldsAdded = [...(changeDescription?.fieldsAdded || [])];
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 (
<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 ? (
<p className="tw-mb-2">
{`${isPrefix ? '+ Added' : ''} ${fieldsAdded
?.map(summaryFormatter)
.map(summaryFormatter)
.join(', ')} ${!isPrefix ? `has been added` : ''}`}{' '}
</p>
) : null}
{fieldsUpdated?.length ? (
<p className="tw-mb-2">
{`${isPrefix ? 'Edited' : ''} ${fieldsUpdated
?.map(summaryFormatter)
.map(summaryFormatter)
.join(', ')} ${!isPrefix ? `has been updated` : ''}`}{' '}
</p>
) : null}
{fieldsDeleted?.length ? (
<p className="tw-mb-2">
{`${isPrefix ? '- Removed' : ''} ${fieldsDeleted
?.map(summaryFormatter)
.map(summaryFormatter)
.join(', ')} ${!isPrefix ? `has been Deleted` : ''}`}{' '}
</p>
) : null}