1- import React from 'react' ;
1+ import React , { useEffect , useState } from 'react' ;
22import { useService } from './useService' ;
33import { LayoutFlow } from '../lineage' ;
44import { FullWidthSpinner } from '../spinners' ;
5+ import { useSelector } from '../../hooks' ;
6+ import { sessionSelectors } from '../../../redux/selectors' ;
7+ import axios from 'axios' ;
58
69const styles = {
710 container : { width : '100%' , height : '100%' } ,
@@ -12,16 +15,38 @@ export const DAG: React.FC<{ runId: TId; fetching?: boolean }> = ({
1215 runId,
1316 fetching,
1417} ) => {
18+ const [ metadata , setMetaData ] = useState ( [ ] as any ) ;
19+
20+ const authToken = useSelector ( sessionSelectors . authenticationToken ) ;
21+
1522 const { graph } = useService ( { runId } ) ;
1623
24+ useEffect ( ( ) => {
25+ fetchMetaData ( ) ;
26+ // eslint-disable-next-line react-hooks/exhaustive-deps
27+ } , [ runId ] ) ;
28+
29+ const fetchMetaData = async ( ) => {
30+ const response = await axios . get (
31+ `${ process . env . REACT_APP_BASE_API_URL } /run-metadata?pipeline_run_id=${ runId } &key=orchestrator_url` ,
32+ {
33+ headers : {
34+ Authorization : `bearer ${ authToken } ` ,
35+ } ,
36+ } ,
37+ ) ;
38+
39+ setMetaData ( response ?. data ?. items ) ; //Setting the response into state
40+ } ;
41+
1742 if ( fetching ) {
1843 return < FullWidthSpinner color = "black" size = "md" /> ;
1944 }
20-
45+ // console.log(metadata, 'metadatametadata');
2146 return (
2247 < div style = { styles . container } >
2348 < div style = { styles . dag } >
24- < LayoutFlow runId = { runId } graph = { graph } />
49+ < LayoutFlow graph = { graph } metadata = { metadata } />
2550 </ div >
2651 </ div >
2752 ) ;
0 commit comments