@@ -2,13 +2,14 @@ import { Select, Space } from 'antd';
22import Graph from 'components/Graph' ;
33import React , { useEffect , useState } from 'react' ;
44import { connect , useSelector } from 'react-redux' ;
5- import { getServicesList , getUsageData , usageDataItem } from 'store/actions' ;
5+ import { GetService , getUsageData , usageDataItem } from 'store/actions' ;
66import { servicesListItem } from 'store/actions/MetricsActions' ;
77import { AppState } from 'store/reducers' ;
88import { isOnboardingSkipped } from 'utils/app' ;
99const { Option } = Select ;
1010import { GlobalTime } from 'types/actions/globalTime' ;
1111import { GlobalReducer } from 'types/reducer/globalTime' ;
12+ import MetricReducer from 'types/reducer/metrics' ;
1213
1314import { Card } from './styles' ;
1415
@@ -20,7 +21,11 @@ interface UsageExplorerProps {
2021 selectedInterval : any ,
2122 selectedService : string ,
2223 ) => void ;
23- getServicesList : ( time : GlobalTime ) => void ;
24+ getServicesList : ( {
25+ selectedTimeInterval,
26+ } : {
27+ selectedTimeInterval : GlobalReducer [ 'selectedTime' ] ;
28+ } ) => void ;
2429 globalTime : GlobalTime ;
2530 servicesList : servicesListItem [ ] ;
2631 totalCount : number ;
@@ -56,17 +61,20 @@ const _UsageExplorer = (props: UsageExplorerProps): JSX.Element => {
5661 const [ selectedTime , setSelectedTime ] = useState ( timeDaysOptions [ 1 ] ) ;
5762 const [ selectedInterval , setSelectedInterval ] = useState ( interval [ 2 ] ) ;
5863 const [ selectedService , setSelectedService ] = useState < string > ( '' ) ;
59- const { loading } = useSelector < AppState , GlobalReducer > (
60- ( state ) => state . globalTime ,
61- ) ;
64+ const { selectedTime : globalSelectedTime } = useSelector <
65+ AppState ,
66+ GlobalReducer
67+ > ( ( state ) => state . globalTime ) ;
6268 const {
6369 getServicesList,
6470 getUsageData,
6571 globalTime,
66- servicesList,
6772 totalCount,
6873 usageData,
6974 } = props ;
75+ const { services } = useSelector < AppState , MetricReducer > (
76+ ( state ) => state . metrics ,
77+ ) ;
7078
7179 useEffect ( ( ) => {
7280 if ( selectedTime && selectedInterval ) {
@@ -78,14 +86,10 @@ const _UsageExplorer = (props: UsageExplorerProps): JSX.Element => {
7886 } , [ selectedTime , selectedInterval , selectedService , getUsageData ] ) ;
7987
8088 useEffect ( ( ) => {
81- /*
82- Call the apis only when the route is loaded.
83- Check this issue: https://github.com/SigNoz/signoz/issues/110
84- */
85- if ( loading ) {
86- getServicesList ( globalTime ) ;
87- }
88- } , [ loading , globalTime , getServicesList ] ) ;
89+ getServicesList ( {
90+ selectedTimeInterval : globalSelectedTime ,
91+ } ) ;
92+ } , [ globalTime , getServicesList , globalSelectedTime ] ) ;
8993
9094 const data = {
9195 labels : usageData . map ( ( s ) => new Date ( s . timestamp / 1000000 ) ) ,
@@ -146,7 +150,7 @@ const _UsageExplorer = (props: UsageExplorerProps): JSX.Element => {
146150 value = { selectedService || 'All Services' }
147151 >
148152 < Option value = { '' } > All Services</ Option >
149- { servicesList . map ( ( service ) => (
153+ { services ? .map ( ( service ) => (
150154 < Option key = { service . serviceName } value = { service . serviceName } >
151155 { service . serviceName }
152156 </ Option >
@@ -193,7 +197,6 @@ const mapStateToProps = (
193197) : {
194198 totalCount : number ;
195199 globalTime : GlobalTime ;
196- servicesList : servicesListItem [ ] ;
197200 usageData : usageDataItem [ ] ;
198201} => {
199202 let totalCount = 0 ;
@@ -204,11 +207,10 @@ const mapStateToProps = (
204207 totalCount : totalCount ,
205208 usageData : state . usageDate ,
206209 globalTime : state . globalTime ,
207- servicesList : state . metricsData . serviceList || [ ] ,
208210 } ;
209211} ;
210212
211213export const UsageExplorer = connect ( mapStateToProps , {
212214 getUsageData : getUsageData ,
213- getServicesList : getServicesList ,
215+ getServicesList : GetService ,
214216} ) ( _UsageExplorer ) ;
0 commit comments