@@ -8,7 +8,7 @@ import type { MessageDescriptor } from 'react-intl';
8
8
import { useIntl } from 'react-intl' ;
9
9
import { useSelector } from 'react-redux' ;
10
10
import { formatDate } from 'routes/details/components/providerStatus/utils/format' ;
11
- import { getOverallStatusIcon , getWarningStatusIcon } from 'routes/details/components/providerStatus/utils/icon' ;
11
+ import { getOverallStatusIcon } from 'routes/details/components/providerStatus/utils/icon' ;
12
12
import {
13
13
getProviderAvailability ,
14
14
getProviderStatus ,
@@ -27,7 +27,6 @@ interface OverallStatusOwnProps {
27
27
isStatusMsg ?: boolean ;
28
28
providerId ?: string ;
29
29
providerType : ProviderType ;
30
- showUnavailableStatus ?: boolean ; // Show warning icon for no status
31
30
uuId ?: string ;
32
31
}
33
32
@@ -46,15 +45,14 @@ const OverallStatus: React.FC<OverallStatusProps> = ({
46
45
isStatusMsg,
47
46
providerId,
48
47
providerType,
49
- showUnavailableStatus,
50
48
uuId,
51
49
} : OverallStatusProps ) => {
52
50
const { providers, providersError } = useMapToProps ( ) ;
53
51
const intl = useIntl ( ) ;
54
52
55
53
// Filter providers to skip an extra API request
56
54
const getFilteredProviders = ( ) => {
57
- return filterProviders ( providers , providerType ) ?. data ?. filter ( data => data . status !== null ) ;
55
+ return filterProviders ( providers , providerType ) ?. data ;
58
56
} ;
59
57
60
58
const getOverallStatus = (
@@ -74,18 +72,17 @@ const OverallStatus: React.FC<OverallStatusProps> = ({
74
72
if ( msg && status ) {
75
73
return ;
76
74
}
77
- if ( statusType === StatusType . complete ) {
78
- // A cluster may not have an integration, so cloudProvider could be undefined
79
- if (
80
- ( state1 === undefined || state1 ?. status === statusType ) &&
81
- ( state2 === undefined || state2 ?. status === statusType ) &&
82
- ( state3 === undefined || state3 ?. status === statusType ) &&
83
- ( state4 === undefined || state4 ?. status === statusType )
84
- ) {
85
- lastUpdated = state1 ?. lastUpdated ;
86
- msg = state1 ?. msg ;
87
- status = statusType ;
88
- }
75
+ // A cluster may not have an integration, so cloudProvider could be undefined
76
+ if (
77
+ statusType === StatusType . complete &&
78
+ ( state1 === undefined || state1 ?. status === statusType ) &&
79
+ ( state2 === undefined || state2 ?. status === statusType ) &&
80
+ ( state3 === undefined || state3 ?. status === statusType ) &&
81
+ ( state4 === undefined || state4 ?. status === statusType )
82
+ ) {
83
+ lastUpdated = state1 ?. lastUpdated ;
84
+ msg = state1 ?. msg ;
85
+ status = statusType ;
89
86
} else {
90
87
if ( state1 ?. status === statusType ) {
91
88
lastUpdated = state1 ?. lastUpdated ;
@@ -113,6 +110,7 @@ const OverallStatus: React.FC<OverallStatusProps> = ({
113
110
initializeState ( StatusType . paused , cloudAvailability , providerAvailability , cloudStatus , providerStatus ) ;
114
111
initializeState ( StatusType . inProgress , cloudAvailability , providerAvailability , cloudStatus , providerStatus ) ; // Availability won't likely have in-progress and pending states
115
112
initializeState ( StatusType . pending , cloudAvailability , providerAvailability , cloudStatus , providerStatus ) ;
113
+ initializeState ( StatusType . none , providerStatus , cloudStatus , providerAvailability , cloudAvailability ) ; // Cannot show complete with an undefined status
116
114
initializeState ( StatusType . complete , providerStatus , cloudStatus , providerAvailability , cloudAvailability ) ; // Must display the cluster status msg here
117
115
118
116
return { lastUpdated, msg, status } ;
@@ -122,6 +120,7 @@ const OverallStatus: React.FC<OverallStatusProps> = ({
122
120
let completeCount = 0 ;
123
121
let failedCount = 0 ;
124
122
let inProgressCount = 0 ;
123
+ let noneCount = 0 ;
125
124
let pausedCount = 0 ;
126
125
let pendingCount = 0 ;
127
126
@@ -149,6 +148,9 @@ const OverallStatus: React.FC<OverallStatusProps> = ({
149
148
if ( overallStatus . status === StatusType . complete ) {
150
149
completeCount ++ ;
151
150
}
151
+ if ( overallStatus . status === StatusType . none ) {
152
+ noneCount ++ ;
153
+ }
152
154
} ) ;
153
155
return (
154
156
< >
@@ -182,6 +184,12 @@ const OverallStatus: React.FC<OverallStatusProps> = ({
182
184
< span style = { styles . statusIcon } > { getOverallStatusIcon ( StatusType . pending ) } </ span >
183
185
</ >
184
186
) }
187
+ { noneCount > 0 && (
188
+ < >
189
+ < span style = { styles . count } > { noneCount } </ span >
190
+ < span style = { styles . statusIcon } > { getOverallStatusIcon ( StatusType . none ) } </ span >
191
+ </ >
192
+ ) }
185
193
</ >
186
194
) ;
187
195
} ;
@@ -212,12 +220,7 @@ const OverallStatus: React.FC<OverallStatusProps> = ({
212
220
</ >
213
221
) ;
214
222
}
215
- return showUnavailableStatus ? (
216
- < >
217
- < span style = { styles . statusIcon } > { getWarningStatusIcon ( ) } </ span >
218
- < span style = { styles . description } > { intl . formatMessage ( messages . statusUnavailable ) } </ span >
219
- </ >
220
- ) : null ;
223
+ return null ;
221
224
} ;
222
225
223
226
if ( ! providers || providersError ) {
0 commit comments