Skip to content

Commit 5cc247b

Browse files
committed
Deployment metrics page not loading fixed
1 parent 89df9a2 commit 5cc247b

File tree

1 file changed

+42
-39
lines changed

1 file changed

+42
-39
lines changed

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

Lines changed: 42 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -134,45 +134,48 @@ export default class DeploymentMetrics extends Component<DeploymentMetricsProps,
134134
}
135135

136136
callGetAppOtherEnv(prevEnvId: string | undefined) {
137-
getAppOtherEnvironmentMin(this.props.match.params.appId)
138-
.then((envResponse) => {
139-
const filteredEnvMap = this.props.filteredEnvIds
140-
?.split(',')
141-
.reduce((agg, curr) => agg.set(+curr, true), new Map())
142-
let allEnv =
143-
envResponse.result
144-
?.filter((env) => env.prod && (!filteredEnvMap || filteredEnvMap.get(env.environmentId)))
145-
.map((env) => {
146-
return {
147-
label: env.environmentName,
148-
value: env.environmentId,
149-
deploymentAppDeleteRequest: env.deploymentAppDeleteRequest,
150-
}
151-
}) || []
152-
this.setState({
153-
environments: allEnv,
154-
filteredEnvironment: allEnv.filter((_env) => !_env.deploymentAppDeleteRequest),
155-
view: (!allEnv.length || (prevEnvId && prevEnvId !== this.props.match.params.envId) || this.props.match.params.envId)!
156-
? ViewType.FORM
157-
: ViewType.LOADING,
158-
})
159-
if (allEnv.length) {
160-
if (prevEnvId && prevEnvId !== this.props.match.params.envId) {
161-
const isEnvExist = allEnv.find((e) => Number(e.value) === Number(prevEnvId))
162-
let url = generatePath(this.props.match.path, {
163-
appId: this.props.match.params.appId,
164-
envId: isEnvExist ? prevEnvId : allEnv[0].value,
165-
})
166-
this.props.history.push(url)
167-
} else if (this.props.match.params.envId) {
168-
this.callGetDeploymentMetricsAPI(this.props.match.params.appId, this.props.match.params.envId)
169-
}
170-
}
171-
})
172-
.catch((error) => {
173-
showError(error)
174-
this.setState({ code: error.code, view: ViewType.ERROR })
175-
})
137+
getAppOtherEnvironmentMin(this.props.match.params.appId)
138+
.then((envResponse) => {
139+
const filteredEnvMap = this.props.filteredEnvIds
140+
?.split(',')
141+
.reduce((agg, curr) => agg.set(+curr, true), new Map())
142+
let allEnv =
143+
envResponse.result
144+
?.filter(
145+
(env) =>
146+
env.prod &&
147+
!env.deploymentAppDeleteRequest &&
148+
(!filteredEnvMap || filteredEnvMap.get(env.environmentId)),
149+
)
150+
.map((env) => {
151+
return {
152+
label: env.environmentName,
153+
value: env.environmentId,
154+
deploymentAppDeleteRequest: env.deploymentAppDeleteRequest,
155+
}
156+
}) || []
157+
let isEnvExist = prevEnvId && allEnv.find((e) => Number(e.value) === Number(prevEnvId))
158+
const redirectToNewUrl =
159+
allEnv.length && prevEnvId && (prevEnvId !== this.props.match.params.envId || !isEnvExist)
160+
this.setState({
161+
environments: allEnv,
162+
filteredEnvironment: allEnv,
163+
view: this.props.match.params.envId || redirectToNewUrl ? ViewType.LOADING : ViewType.FORM,
164+
})
165+
if (redirectToNewUrl) {
166+
let url = generatePath(this.props.match.path, {
167+
appId: this.props.match.params.appId,
168+
envId: isEnvExist ? prevEnvId : allEnv[0].value,
169+
})
170+
this.props.history.push(url)
171+
} else if (this.props.match.params.envId) {
172+
this.callGetDeploymentMetricsAPI(this.props.match.params.appId, this.props.match.params.envId)
173+
}
174+
})
175+
.catch((error) => {
176+
showError(error)
177+
this.setState({ code: error.code, view: ViewType.ERROR })
178+
})
176179
}
177180

178181
closeDeploymentTableModal(): void {

0 commit comments

Comments
 (0)