mirror of
https://github.com/datahub-project/datahub.git
synced 2025-12-14 03:26:47 +00:00
53 lines
2.1 KiB
TypeScript
53 lines
2.1 KiB
TypeScript
import { GenericEntityProperties } from '@app/entity/shared/types';
|
|
import React from 'react';
|
|
import { EntityPath, EntityType, MlModelGroup } from '../../../../types.generated';
|
|
import DefaultPreviewCard from '../../../previewV2/DefaultPreviewCard';
|
|
import { capitalizeFirstLetterOnly } from '../../../shared/textUtil';
|
|
import { useEntityRegistry } from '../../../useEntityRegistry';
|
|
import { getDataProduct } from '../../shared/utils';
|
|
import { EntityMenuItems } from '../../shared/EntityDropdown/EntityMenuActions';
|
|
import { PreviewType } from '../../Entity';
|
|
|
|
export const Preview = ({
|
|
data,
|
|
group,
|
|
degree,
|
|
paths,
|
|
isOutputPort,
|
|
headerDropdownItems,
|
|
previewType,
|
|
}: {
|
|
data: GenericEntityProperties | null;
|
|
group: MlModelGroup;
|
|
degree?: number;
|
|
paths?: EntityPath[];
|
|
isOutputPort?: boolean;
|
|
headerDropdownItems?: Set<EntityMenuItems>;
|
|
previewType?: PreviewType;
|
|
}): JSX.Element => {
|
|
const entityRegistry = useEntityRegistry();
|
|
const genericProperties = entityRegistry.getGenericEntityProperties(EntityType.MlmodelGroup, group);
|
|
return (
|
|
<DefaultPreviewCard
|
|
url={entityRegistry.getEntityUrl(EntityType.MlmodelGroup, group.urn)}
|
|
// eslint-disable-next-line @typescript-eslint/dot-notation
|
|
name={group?.properties?.['propertiesName'] || group?.name || ''}
|
|
urn={group.urn}
|
|
data={data}
|
|
platformInstanceId={group.dataPlatformInstance?.instanceId}
|
|
description={group?.description || ''}
|
|
entityType={EntityType.MlmodelGroup}
|
|
logoUrl={group?.platform?.properties?.logoUrl || ''}
|
|
platform={group?.platform?.properties?.displayName || capitalizeFirstLetterOnly(group?.platform?.name)}
|
|
qualifier={group?.origin}
|
|
owners={group?.ownership?.owners}
|
|
dataProduct={getDataProduct(genericProperties?.dataProduct)}
|
|
degree={degree}
|
|
paths={paths}
|
|
isOutputPort={isOutputPort}
|
|
headerDropdownItems={headerDropdownItems}
|
|
previewType={previewType}
|
|
/>
|
|
);
|
|
};
|