@@ -5,6 +5,7 @@ import { connect } from "react-redux";
55import { userActions } from "../_actions/user.actions.js" ;
66import "./HomePage.css" ;
77import ServiceTable from "./ServiceTable" ;
8+ import { Loader } from "semantic-ui-react" ;
89
910class HomePage extends React . Component {
1011 constructor ( props ) {
@@ -21,8 +22,11 @@ class HomePage extends React.Component {
2122 this . props . dispatch ( userActions . getAll ( this . state . selectedService ) ) ;
2223 }
2324
24- handleDeleteUser ( id ) {
25- return e => this . props . dispatch ( userActions . delete ( id ) ) ;
25+ handleServiceChange ( serviceName ) {
26+ this . setState ( {
27+ selectedService : serviceName
28+ } ) ;
29+ this . props . dispatch ( userActions . getAll ( serviceName ) ) ;
2630 }
2731
2832 render ( ) {
@@ -54,7 +58,7 @@ class HomePage extends React.Component {
5458 < div class = "ui center aligned page grid" style = { { marginTop : 50 } } >
5559 < div
5660 class = "three wide left floated column"
57- onClick = { ( ) => this . setState ( { selectedService : "azure" } ) }
61+ onClick = { ( ) => this . handleServiceChange ( "azure" ) }
5862 >
5963 < div
6064 className = "serviceChooser"
@@ -76,7 +80,7 @@ class HomePage extends React.Component {
7680 </ div >
7781 < div
7882 class = "three wide column"
79- onClick = { ( ) => this . setState ( { selectedService : "aws" } ) }
83+ onClick = { ( ) => this . handleServiceChange ( "aws" ) }
8084 >
8185 < div
8286 className = "serviceChooser"
@@ -98,7 +102,7 @@ class HomePage extends React.Component {
98102 </ div >
99103 < div
100104 class = "three wide right floated column"
101- onClick = { ( ) => this . setState ( { selectedService : "gcp" } ) }
105+ onClick = { ( ) => this . handleServiceChange ( "gcp" ) }
102106 >
103107 < div
104108 className = "serviceChooser"
@@ -120,7 +124,11 @@ class HomePage extends React.Component {
120124 </ div >
121125 </ div >
122126 < div style = { { margin : 50 } } >
123- { this . props . users . loading && < p > Data is loading</ p > }
127+ { this . props . users . loading && (
128+ < Loader active inline = "centered" >
129+ Loading { selectedService } services...
130+ </ Loader >
131+ ) }
124132 { ! this . props . users . loading && (
125133 < ServiceTable service = { this . props . users . items } />
126134 ) }
0 commit comments