@@ -27,94 +27,85 @@ const TransferColumns = React.memo(() => {
2727 const { service } = useParams < keyof Params > ( ) as Params ;
2828 const { mode } = useContext ( DashboardContext . DashboardContext ) ;
2929
30- const eventDataList = eventData . eventDataList ;
31- const healthDataObject = healthData ;
32-
3330 const currentMode = mode === 'light' ? lightAndDark . lightModeText : lightAndDark . darkModeText ;
3431
35- // console.log('healthMetrics: ', healthMetrics);
36- // console.log('metricsPool: ', metricsPool);
37- // console.log('targetKeys: ', targetKeys);
38- // console.log('eventData: ', eventData);
39- // console.log('eventDataList: ', eventDataList);
40-
4132 useEffect ( ( ) => {
42- if ( healthDataObject ) {
33+ if ( healthData ) {
4334 setHealthMetricsReady ( true ) ;
4435 }
45- } , [ healthDataObject ] ) ;
36+ } , [ healthData ] ) ;
4637
4738 useEffect ( ( ) => {
48- if ( eventDataList && eventDataList . length > 0 ) {
39+ if ( eventData ) {
4940 setEventMetricsReady ( true ) ;
5041 }
51- } , [ eventDataList ] ) ;
42+ } , [ eventData ] ) ;
5243
5344 useEffect ( ( ) => {
54- setHealthMetrics ( getMetrics ( 'health' , healthDataObject ) ) ;
45+ setHealthMetrics ( getMetrics ( 'health' , healthData ) ) ;
5546 } , [ healthMetricsReady ] ) ;
5647
5748 useEffect ( ( ) => {
58- setEventMetrics ( getMetrics ( 'event' , eventDataList ) ) ;
49+ setEventMetrics ( getMetrics ( 'event' , eventData ) ) ;
5950 } , [ eventMetricsReady ] ) ;
6051
6152 useEffect ( ( ) => {
6253 if ( service === '' ) {
6354 return ;
6455 }
6556 if ( service === 'kafkametrics' ) {
66- if ( eventDataList && eventDataList . length > 0 ) {
67- setMetricsPool ( getMetrics ( 'event' , eventDataList ) ) ;
57+ if ( eventData ) {
58+ setMetricsPool ( getMetrics ( 'event' , eventData ) ) ;
6859 } else if ( eventMetricsReady ) {
6960 setMetricsPool ( eventMetrics ) ;
7061 }
7162 }
7263 // JJ-ADDITION (CAN ALSO JUST ADD OR OPERATOR TO ABOVE CONDITIONAL)
7364 else if ( service === 'kubernetesmetrics' ) {
74- if ( healthDataObject ) {
75- setMetricsPool ( getMetrics ( 'health ' , healthDataObject ) ) ;
76- } else if ( healthMetricsReady ) {
77- setMetricsPool ( healthMetrics ) ;
65+ if ( eventData ) {
66+ setMetricsPool ( getMetrics ( 'event ' , eventData ) ) ;
67+ } else if ( eventMetricsReady ) {
68+ setMetricsPool ( eventMetrics ) ;
7869 }
7970 } else if ( ! service . includes ( 'kafkametrics' ) ) {
80- if ( healthDataObject ) {
81- setMetricsPool ( getMetrics ( 'health' , healthDataObject ) ) ;
71+ if ( healthData ) {
72+ setMetricsPool ( getMetrics ( 'health' , healthData ) ) ;
8273 } else if ( healthMetricsReady ) {
8374 setMetricsPool ( healthMetrics ) ;
8475 }
8576 } else {
86- if ( healthDataObject && eventDataList && eventDataList . length > 0 ) {
87- setMetricsPool (
88- getMetrics ( 'event' , eventDataList ) . concat ( getMetrics ( 'health' , healthDataObject ) )
89- ) ;
77+ if ( healthData && eventData ) {
78+ setMetricsPool ( getMetrics ( 'event' , eventData ) . concat ( getMetrics ( 'health' , healthData ) ) ) ;
9079 } else if ( healthMetricsReady && eventMetricsReady ) {
9180 setMetricsPool ( eventMetrics . concat ( healthMetrics ) ) ;
9281 }
9382 }
9483 } , [ service , eventData , healthData ] ) ;
9584
9685 // responsible for parsing data and updating state via setMetricsPool
97- const getMetrics = ( type , datalist ) => {
86+ const getMetrics = ( type , dataObject ) => {
9887 let pool : any [ ] = [ ] ;
9988 if ( type === 'event' ) {
100- datalist . forEach ( metric => {
101- const temp = { } ;
102- const metricName : string = Object . keys ( metric ) [ 0 ] ;
103- const key = 'Event | ' + metricName ;
104- temp [ 'key' ] = key ;
105- temp [ 'title' ] = key ;
106- temp [ 'tag' ] = 'Event' ;
107- pool . push ( temp ) ;
108- } ) ;
89+ for ( const category in dataObject ) {
90+ const metricsObjects = dataObject [ category ] ;
91+ for ( const metricName in metricsObjects ) {
92+ const key = category + ' | ' + metricName ;
93+ pool . push ( {
94+ key : key ,
95+ title : key ,
96+ tag : category ,
97+ } ) ;
98+ }
99+ }
109100 } else {
110101 // iterate throught the healthData object to populate the `Metrics Query` tab with metrics options
111102 // The pool array wants an object with a specific format in order to populate the selection table
112- for ( const service in healthData ) {
113- const categoryObjects = healthData [ service ] ;
103+ for ( const service in dataObject ) {
104+ const categoryObjects = dataObject [ service ] ;
114105 for ( const category in categoryObjects ) {
115106 const metricsObjects = categoryObjects [ category ] ;
116- for ( const metric in metricsObjects ) {
117- const key = category + ' | ' + metric ;
107+ for ( const metricName in metricsObjects ) {
108+ const key = category + ' | ' + metricName ;
118109 pool . push ( {
119110 key : key ,
120111 title : key ,
@@ -127,17 +118,9 @@ const TransferColumns = React.memo(() => {
127118 return pool ;
128119 } ;
129120
130- // Justin's alternative to getCharts (b/c getCharts is just saving the user-selected metrics into QueryContext)
131- // getCharts takes data that already exists in state as an array of strings, and makes it into an array of objects, just to save it to QueryContext state
132- // the selectedMetrics from QueryContext is used in TransferColumns, EventContainer, GraphsContainer, and HealthContainer
133- // const saveSelectedMetrics = () => {
134- // // iterate over the targetKeys array
135- // }
136-
137- const getCharts = ( ) => {
121+ const createSelectedMetricsList = ( ) => {
138122 const temp : any [ ] = [ ] ;
139123 const categorySet = new Set ( ) ;
140- console . log ( 'targetKeys is: ' , targetKeys ) ;
141124 for ( let i = 0 ; i < targetKeys . length ; i ++ ) {
142125 const str : string = targetKeys [ i ] ;
143126 const strArr : string [ ] = str . split ( ' | ' ) ;
@@ -157,7 +140,6 @@ const TransferColumns = React.memo(() => {
157140 temp . push ( newCategory ) ;
158141 }
159142 }
160- console . log ( 'temp array with requested graphs is: ' , temp ) ;
161143 setSelectedMetrics ( temp ) ;
162144 } ;
163145
@@ -181,10 +163,11 @@ const TransferColumns = React.memo(() => {
181163 // makes the rows needed for the selection grid
182164 const rows : any [ ] = [ ] ;
183165 metricsPool . forEach ( ( el , index ) => {
184- const row = { } ;
185- row [ 'id' ] = index ;
186- row [ 'tag' ] = el . tag ;
187- row [ 'title' ] = el . title . split ( ' | ' ) [ 1 ] . replace ( 'kubernetes-cadvisor/docker-desktop/' , '' ) ; // gets rid of the full path
166+ const row = {
167+ id : index ,
168+ tag : el . tag ,
169+ title : el . title . split ( ' | ' ) [ 1 ] . replace ( 'kubernetes-cadvisor/docker-desktop/' , '' ) ,
170+ } ; // gets rid of the full path
188171 rows . push ( row ) ;
189172 } ) ;
190173
@@ -201,7 +184,12 @@ const TransferColumns = React.memo(() => {
201184 return (
202185 < >
203186 < div id = "getChartsContainer" >
204- < Button id = "getCharts" onClick = { getCharts } variant = "contained" color = "primary" >
187+ < Button
188+ id = "getCharts"
189+ onClick = { createSelectedMetricsList }
190+ variant = "contained"
191+ color = "primary"
192+ >
205193 Get Charts
206194 </ Button >
207195 </ div >
0 commit comments