@@ -204,7 +204,6 @@ const DeploymentMetricsComponent = ({ filteredEnvIds }: DeploymentMetricsProps)
204204 const [ state , setState ] = useState < DeploymentMetricsState > ( {
205205 code : 0 ,
206206 view : ViewType . LOADING ,
207- selectedEnvironment : undefined ,
208207 environments : [ ] ,
209208 frequencyAndLeadTimeGraph : [ ] ,
210209 recoveryTimeGraph : [ ] ,
@@ -240,12 +239,12 @@ const DeploymentMetricsComponent = ({ filteredEnvIds }: DeploymentMetricsProps)
240239 }
241240 const startTime = state . startDate . format ( 'YYYY-MM-DDTHH:mm:ss.SSS' )
242241 const endTime = state . endDate . format ( 'YYYY-MM-DDTHH:mm:ss.SSS' )
242+ setState ( ( prev ) => ( { ...prev , view : ViewType . LOADING } ) )
243243 getDeploymentMetrics ( startTime , endTime , appId , envId )
244244 . then ( ( metricsResponse ) => {
245245 setState ( ( prev ) => ( {
246246 ...prev ,
247247 view : ViewType . FORM ,
248- selectedEnvironment : prev . environments . find ( ( env ) => String ( env . value ) === envId ) ,
249248 ...metricsResponse . result ,
250249 } ) )
251250 } )
@@ -256,6 +255,7 @@ const DeploymentMetricsComponent = ({ filteredEnvIds }: DeploymentMetricsProps)
256255 }
257256
258257 const callGetAppOtherEnv = ( ) => {
258+ setState ( ( prev ) => ( { ...prev , view : ViewType . LOADING , selectedEnvironment : undefined } ) )
259259 getAppOtherEnvironmentMin ( appId , false )
260260 . then ( ( envResponse ) => {
261261 const filteredEnvMap = filteredEnvIds ?. split ( ',' ) . reduce ( ( agg , curr ) => agg . set ( + curr , true ) , new Map ( ) )
@@ -275,6 +275,7 @@ const DeploymentMetricsComponent = ({ filteredEnvIds }: DeploymentMetricsProps)
275275 setState ( ( prev ) => ( {
276276 ...prev ,
277277 view : ViewType . FORM ,
278+ selectedEnvironment : allEnv . find ( ( env ) => String ( env . value ) === envId ) ,
278279 environments : allEnv ,
279280 } ) )
280281 } )
@@ -293,17 +294,20 @@ const DeploymentMetricsComponent = ({ filteredEnvIds }: DeploymentMetricsProps)
293294 } , [ ] )
294295
295296 useEffect ( ( ) => {
296- setState ( ( prev ) => ( { ...prev , view : ViewType . LOADING , selectedEnvironment : undefined } ) )
297297 callGetAppOtherEnv ( )
298298 } , [ appId , filteredEnvIds ] )
299299
300300 useEffect ( ( ) => {
301301 if ( envId ) {
302- setState ( ( prev ) => ( { ...prev , view : ViewType . LOADING } ) )
303302 callGetDeploymentMetricsAPI ( )
304303 }
305304 } , [ envId , appId , state . startDate , state . endDate ] )
306305
306+ const selectedEnvironment = useMemo (
307+ ( ) => state . environments ?. find ( ( env ) => String ( env . value ) === envId ) ?? null ,
308+ [ envId , state . environments ] ,
309+ )
310+
307311 const closeDeploymentTableModal = ( ) : void => {
308312 setState ( ( prev ) => ( {
309313 ...prev ,
@@ -464,14 +468,14 @@ const DeploymentMetricsComponent = ({ filteredEnvIds }: DeploymentMetricsProps)
464468 inputId = "deployment-metrics-select-environment"
465469 name = "deployment-metrics-select-environment"
466470 classNamePrefix = "deployment-metrics-select-environment"
467- value = { state . selectedEnvironment }
471+ value = { selectedEnvironment }
468472 placeholder = "Select Environment"
469473 onChange = { onEnvironmentChange }
470474 options = { state . environments }
471475 />
472476 </ div >
473477 < div className = "dc__align-right " >
474- { state . selectedEnvironment ? (
478+ { selectedEnvironment ? (
475479 < DatePicker
476480 startDate = { state . startDate }
477481 endDate = { state . endDate }
0 commit comments