1- import React , { useContext } from 'react' ;
1+ import React , { useContext , useState , useEffect } from 'react' ;
2+ import OverviewContext from '../context/OverviewContext' ;
23import HealthInformationContext from '../context/DetailsContext' ;
34import ServiceDetails from '../components/ServiceDetails.jsx' ;
45
6+
57const { ipcRenderer } = window . require ( 'electron' ) ;
68
79const Microservices = ( props ) => {
8- const { overviewState, setDetails, index } = props ;
10+ const { index, setDetails } = props ;
11+ // Overview state used to create service buttons
12+ const [ overviewState , setOverviewState ] = useState ( [ ] ) ;
13+ // const [detailsSelected, setDetails] = useState();
14+ // Contexts have data added to them following successful IPC return. Data is later used to create charts.
15+ const serviceComponents = useContext ( OverviewContext ) ;
16+
17+ useEffect ( ( ) => {
18+ // IPC communication used to initiate query for information on microservices.
19+ ipcRenderer . send ( 'overviewRequest' , index ) ;
20+ // IPC listener responsible for retrieving infomation from asynchronous main process message.
21+ ipcRenderer . on ( 'overviewResponse' , ( event , data ) => {
22+ // Adds to state and context.
23+ // console.log(JSON.parse(data));
24+ setOverviewState ( Object . values ( JSON . parse ( data ) ) ) ;
25+ serviceComponents . overviewData = JSON . parse ( data ) ;
26+ } ) ;
27+ } , [ ] ) ;
28+
929 // Holds the buttons generated for unique services.
1030 const componentButtons = [ ] ;
1131
@@ -26,6 +46,7 @@ const Microservices = (props) => {
2646 type = "button"
2747 key = { `serviceItem${ index } ${ i } ` }
2848 onClick = { ( ) => {
49+ console . log ( element . currentmicroservice ) ;
2950 // IPC communication used to initiate query for information on microservice health information.
3051 ipcRenderer . send ( 'detailsRequest' , index ) ;
3152
@@ -35,12 +56,10 @@ const Microservices = (props) => {
3556 healthdata . detailData = Object . values ( JSON . parse ( data ) ) ;
3657 // Updates state. Triggers rerender.
3758 setDetails (
38- < ServiceDetails
39- service = { element . currentmicroservice }
40- setDetails = { setDetails }
41- />
59+ < ServiceDetails service = { element . currentmicroservice } />
4260 ) ;
4361 } ) ;
62+ // setSelection(<Monitoring detailsSelected={detailsSelected} />);
4463 } }
4564 >
4665 { element . currentmicroservice }
@@ -59,18 +78,17 @@ const Microservices = (props) => {
5978 type = "button"
6079 key = { `serviceItem${ index } ${ i } ` }
6180 onClick = { ( ) => {
62- ipcRenderer . send ( 'detailsRequest' , props . index ) ;
63-
81+ ipcRenderer . send ( 'detailsRequest' , index ) ;
82+
6483 // IPC listener responsible for retrieving infomation from asynchronous main process message.
6584 ipcRenderer . on ( 'detailsResponse' , ( event , data ) => {
6685 // Adds returned data to context.
86+ console . log ( element . currentmicroservice ) ;
6787 healthdata . detailData = Object . values ( JSON . parse ( data ) ) ;
6888 // Updates state. Triggers rerender.
6989 setDetails (
70- < ServiceDetails
71- service = { element . currentMicroservice }
72- setDetails = { setDetails }
73- />
90+ < ServiceDetails service = { element . currentmicroservice } />
91+
7492 ) ;
7593 } ) ;
7694 } }
0 commit comments