Skip to content

Commit 3c2aba5

Browse files
committed
fix: selectedEnvironment state
1 parent 62e937f commit 3c2aba5

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

src/components/app/details/metrics/DeploymentMetrics.tsx

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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}

src/components/app/details/metrics/deploymentMetrics.types.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,6 @@ export interface BenchmarkType {
5555
export interface DeploymentMetricsState {
5656
code: number
5757
view: string
58-
// used by ReactSelect Menu
59-
selectedEnvironment: undefined | { label: string; value: number }
6058
environments: Array<Environment>
6159
frequencyAndLeadTimeGraph: {
6260
startTime: number

0 commit comments

Comments
 (0)