Skip to content

Commit c60b251

Browse files
committed
Toggle Services
1 parent bcf891b commit c60b251

6 files changed

Lines changed: 42 additions & 32 deletions

File tree

app/AComp/Microservices.jsx

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
import React, {useContext} from 'react';
1+
import React, { useContext } from 'react';
22
import HealthInformationContext from '../context/DetailsContext';
33

44
const { ipcRenderer } = window.require('electron');
55

66
const Microservices = (props) => {
7-
const { overview, details, index } = props;
7+
const { overviewState, setDetails, index } = props;
88
// Holds the buttons generated for unique services.
99
const componentButtons = [];
1010

@@ -13,8 +13,8 @@ const Microservices = (props) => {
1313
// Contexts have data added to them following successful IPC return. Data is later used to create charts.
1414
const healthdata = useContext(HealthInformationContext);
1515

16-
for (let i = 0; i < overview.length; i += 1) {
17-
const element = overview[i];
16+
for (let i = 0; i < overviewState.length; i += 1) {
17+
const element = overviewState[i];
1818
// If SQL
1919
if (element.currentmicroservice) {
2020
if (!(element.currentmicroservice in serviceCache)) {
@@ -33,13 +33,12 @@ const Microservices = (props) => {
3333
// Adds returned data to context
3434
healthdata.detailData = Object.values(JSON.parse(data));
3535
// Updates state. Triggers rerender.
36-
details(
36+
setDetails(
3737
<ServiceDetails
3838
service={element.currentmicroservice}
39-
details={details}
39+
setDetails={setDetails}
4040
/>
4141
);
42-
console.log('details selected is: ', detailsSelected);
4342
});
4443
}}
4544
>
@@ -66,10 +65,10 @@ const Microservices = (props) => {
6665
// Adds returned data to context.
6766
healthdata.detailData = Object.values(JSON.parse(data));
6867
// Updates state. Triggers rerender.
69-
details(
68+
setDetails(
7069
<ServiceDetails
7170
service={element.currentMicroservice}
72-
setDetails={details}
71+
setDetails={setDetails}
7372
/>
7473
);
7574
});
@@ -88,12 +87,7 @@ const Microservices = (props) => {
8887
if (componentButtons.length === 0) {
8988
return <p>No data present</p>;
9089
}
91-
console.log(componentButtons);
92-
return (
93-
<div>
94-
{componentButtons}
95-
</div>
96-
);
90+
return componentButtons;
9791
};
9892

9993
export default Microservices;

app/AComp/ServicesList.jsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React from 'react';
22

33
const ServicesList = (props) => {
4-
const { context, Click } = props;
4+
const { context, Click, isClicked } = props;
55
const buttonStore = [];
66
for (let i = 0; i < context.length; i += 1) {
77
buttonStore.push(
@@ -11,6 +11,7 @@ const ServicesList = (props) => {
1111
type="button"
1212
key={`${i}${context[i]}`}
1313
onClick={Click}
14+
isClicked={isClicked}
1415
>
1516
{context[i]}
1617
</button>

app/containers/DashboardContainer.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ const DashboardContainer = () => {
1616

1717
return (
1818
<div className="servicesDashboardContainer">
19-
<SidebarContainer selection={setSelection} details={setDetails}/>
19+
<SidebarContainer setSelection={setSelection} setDetails={setDetails}/>
2020
<div className="databsaseList">
21-
<Monitoring service={serviceSelected} detail={detailsSelected}/>
21+
<Monitoring serviceSelected={serviceSelected} detailsSelected={detailsSelected}/>
2222
</div>
2323
</div>
2424
);

app/containers/MonitoringContainer.jsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import routeChart from '../assets/routeChart.png';
77
import ServiceDetails from '../components/ServiceDetails.jsx';
88

99
const MonitoringContainer = (props) => {
10-
const { service } = props;
11-
const { detail } = props;
10+
const { serviceSelected } = props;
11+
const { detailsSelected } = props;
1212

1313
// Contexts have data added to them following successful IPC return. Data is later used to create charts.
1414
const serviceComponents = useContext(OverviewContext);
@@ -98,7 +98,7 @@ const MonitoringContainer = (props) => {
9898
{routes}
9999
{traffic}
100100
</div>
101-
{detail || null}
101+
{detailsSelected || null}
102102
</div>
103103
);
104104
};

app/containers/SideBarContainer.jsx

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import ServicesList from '../AComp/ServicesList.jsx';
1010
const { ipcRenderer } = window.require('electron');
1111

1212
const SidebarContainer = (props) => {
13-
const { selection, details } = props;
13+
const { setSelection, setDetails } = props;
1414
// Used to toggle setup required if user wants to add a new database.
1515
const setup = useContext(SetupContext);
1616

@@ -22,12 +22,19 @@ const SidebarContainer = (props) => {
2222

2323
// Contexts have data added to them following successful IPC return. Data is later used to create charts.
2424
const serviceComponents = useContext(OverviewContext);
25+
const [index, setIndex] = useState();
26+
const [isClicked, setClicked] = useState(false);
2527

28+
// Helper function to check if Clicked toggles
29+
const clickToggle = () => {
30+
if (isClicked) setClicked(false);
31+
else setClicked(true);
32+
};
2633
// Click function for Services
2734
const ServicesClick = (e) => {
28-
const event = e.target.id;
29-
console.log(event);
30-
console.log(e.target);
35+
clickToggle(e);
36+
setIndex(e.target.id);
37+
// const event = e.target.id;
3138
ipcRenderer.send('overviewRequest', e.target.id);
3239
// IPC listener responsible for retrieving infomation from asynchronous main process message.
3340
ipcRenderer.on('overviewResponse', (event, data) => {
@@ -40,10 +47,10 @@ const SidebarContainer = (props) => {
4047
// Click function for AddService
4148
const AddClick = () => {
4249
setup.setupRequired = setup.toggleSetup(false);
43-
selection(<AddService />);
50+
setSelection(<AddService />);
4451
};
4552
const DeleteClick = () => {
46-
selection(<DeleteService />);
53+
setSelection(<DeleteService />);
4754
};
4855
const RefreshClick = () => {
4956
location.reload();
@@ -53,10 +60,18 @@ const SidebarContainer = (props) => {
5360
<div className="left">
5461
<div className="leftTopContainer">
5562
<Header />
56-
<ServicesList context={serviceList} Click={ServicesClick} />
57-
<Microservices overview={overviewState}
58-
details={details}
59-
index={0} />
63+
<ServicesList
64+
context={serviceList}
65+
Click={ServicesClick}
66+
isClicked={isClicked}
67+
/>
68+
{isClicked ? (
69+
<Microservices
70+
overviewState={overviewState}
71+
setDetails={setDetails}
72+
index={index}
73+
/>
74+
) : null}
6075
<Extras
6176
AddClick={AddClick}
6277
DeleteClick={DeleteClick}

user/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"setupRequired":false,"services":[["test","MongoDB","mongodb+srv://alon:testing123@cluster0-phsei.mongodb.net/test?retryWrites=true&w=majority"]],"splash":true}
1+
{"setupRequired":false,"services":[["test","MongoDB","mongodb+srv://alon:testing123@cluster0-phsei.mongodb.net/test?retryWrites=true&w=majority"]],"splash":false}

0 commit comments

Comments
 (0)