Skip to content

Commit 8004ce8

Browse files
authored
fix: update statuses after promise resolves (#4518)
* fix: update statuses state inside componentdidupdate * fix: prettier * chore: remove prevState from if statement * fix: prettier
1 parent 7fa3c5e commit 8004ce8

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

src/checks/components/CheckHistoryVisualization.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,14 @@ const CheckHistoryVisualization: FC = () => {
2323
}
2424

2525
return (
26-
<TimeSeries submitToken={0} queries={[query]} key={0} check={{id: id}}>
27-
{({giraffeResult, loading, errorMessage, isInitialFetch, statuses}) => {
28-
updateStatuses(statuses)
29-
26+
<TimeSeries
27+
submitToken={0}
28+
queries={[query]}
29+
key={0}
30+
check={{id: id}}
31+
updateStatuses={updateStatuses}
32+
>
33+
{({giraffeResult, loading, errorMessage, isInitialFetch}) => {
3034
// handle edge case where deadman check has non-numeric value
3135
if (
3236
giraffeResult &&

src/shared/components/TimeSeries.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ interface OwnProps {
6767
implicitSubmit?: boolean
6868
children: (r: QueriesState) => JSX.Element
6969
check?: Partial<Check>
70+
updateStatuses?: (statuses: StatusRow[][]) => void
7071
}
7172

7273
type ReduxProps = ConnectedProps<typeof connector>
@@ -114,9 +115,9 @@ class TimeSeries extends Component<Props, State> {
114115

115116
private pendingResults: Array<CancelBox<RunQueryResult>> = []
116117
private pendingCheckStatuses: CancelBox<StatusRow[][]> = null
117-
118118
public componentDidMount() {
119119
const {cellID, setCellMount} = this.props
120+
120121
this.observer = new IntersectionObserver(entries => {
121122
entries.forEach(entry => {
122123
const {isIntersecting} = entry
@@ -156,6 +157,10 @@ class TimeSeries extends Component<Props, State> {
156157
if (shouldReloadWhenVisible) {
157158
this.pendingReload = true
158159
}
160+
161+
if (this.props.updateStatuses) {
162+
this.props.updateStatuses(this.state.statuses)
163+
}
159164
}
160165

161166
public componentWillUnmount() {
@@ -297,7 +302,6 @@ class TimeSeries extends Component<Props, State> {
297302
const giraffeResult = fromFlux(files.join('\n\n'))
298303

299304
this.pendingReload = false
300-
301305
// this check prevents a memory leak https://github.com/influxdata/ui/issues/2137
302306
if (!this.isUnmounting) {
303307
this.setState({

0 commit comments

Comments
 (0)