1
1
import React from 'react' ;
2
- import { Avatar , Tooltip , Typography } from 'antd' ;
3
- import { Link } from 'react-router-dom' ;
4
2
import { useGetDatasetQuery , useUpdateDatasetMutation } from '../../../../graphql/dataset.generated' ;
5
- import defaultAvatar from '../../../../images/default_avatar.png' ;
6
3
import { Ownership as OwnershipView } from './Ownership' ;
7
4
import SchemaView from './schema/Schema' ;
8
5
import { EntityProfile } from '../../../shared/EntityProfile' ;
9
- import { Dataset , EntityType } from '../../../../types.generated' ;
10
- import { useEntityRegistry } from '../../../useEntityRegistry' ;
6
+ import { Dataset } from '../../../../types.generated' ;
11
7
import LineageView from './Lineage' ;
12
8
import PropertiesView from './Properties' ;
13
9
import DocumentsView from './Documentation' ;
14
10
import { sampleDownstreamEntities , sampleUpstreamEntities } from './stories/lineageEntities' ;
11
+ import DatasetHeader from './DatasetHeader' ;
15
12
16
13
export enum TabType {
17
14
Ownership = 'Ownership' ,
@@ -28,37 +25,10 @@ const EMPTY_ARR: never[] = [];
28
25
* Responsible for display the Dataset Page
29
26
*/
30
27
export const Profile = ( { urn } : { urn : string } ) : JSX . Element => {
31
- const entityRegistry = useEntityRegistry ( ) ;
32
-
33
28
const { loading, error, data } = useGetDatasetQuery ( { variables : { urn } } ) ;
34
-
35
29
const [ updateDataset ] = useUpdateDatasetMutation ( ) ;
36
30
37
- const getBody = ( description : string , ownership : any ) => (
38
- < >
39
- < Typography . Paragraph > { description } </ Typography . Paragraph >
40
- < Avatar . Group maxCount = { 6 } size = "large" >
41
- { ownership &&
42
- ownership . owners &&
43
- ownership . owners . map ( ( owner : any ) => (
44
- < Tooltip title = { owner . owner . info ?. fullName } >
45
- < Link to = { `/${ entityRegistry . getPathName ( EntityType . CorpUser ) } /${ owner . owner . urn } ` } >
46
- < Avatar
47
- style = { {
48
- color : '#f56a00' ,
49
- backgroundColor : '#fde3cf' ,
50
- } }
51
- src = {
52
- ( owner . owner . editableInfo && owner . owner . editableInfo . pictureLink ) ||
53
- defaultAvatar
54
- }
55
- />
56
- </ Link >
57
- </ Tooltip >
58
- ) ) }
59
- </ Avatar . Group >
60
- </ >
61
- ) ;
31
+ const getHeader = ( dataset : Dataset ) => < DatasetHeader dataset = { dataset } /> ;
62
32
63
33
const getTabs = ( { ownership, properties, institutionalMemory, schema } : Dataset ) => {
64
34
return [
@@ -118,8 +88,8 @@ export const Profile = ({ urn }: { urn: string }): JSX.Element => {
118
88
< EntityProfile
119
89
title = { data . dataset . name }
120
90
tags = { data . dataset . tags }
121
- body = { getBody ( data . dataset ?. description || '' , data . dataset ?. ownership ) }
122
91
tabs = { getTabs ( data . dataset as Dataset ) }
92
+ header = { getHeader ( data . dataset as Dataset ) }
123
93
/>
124
94
) }
125
95
{ error && < p > Failed to load dataset with urn { urn } </ p > }
0 commit comments