mirror of https://github.com/grafana/grafana
ErrorHandling: Error boundary for every container (#18845)
* ErrorHandling: Error boundary for every container * Remvoe custom query editor errorspull/18893/head
parent
b0237c6b7e
commit
490a1d6fc9
@ -1,34 +0,0 @@ |
|||||||
import React, { Component } from 'react'; |
|
||||||
|
|
||||||
export class ErrorBoundary extends Component<{}, any> { |
|
||||||
constructor(props: {}) { |
|
||||||
super(props); |
|
||||||
this.state = { error: null, errorInfo: null }; |
|
||||||
} |
|
||||||
|
|
||||||
componentDidCatch(error: any, errorInfo: any) { |
|
||||||
// Catch errors in any components below and re-render with error message
|
|
||||||
this.setState({ |
|
||||||
error, |
|
||||||
errorInfo, |
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
render() { |
|
||||||
if (this.state.errorInfo) { |
|
||||||
// Error path
|
|
||||||
return ( |
|
||||||
<div className="explore-container"> |
|
||||||
<h3>An unexpected error happened.</h3> |
|
||||||
<details style={{ whiteSpace: 'pre-wrap' }}> |
|
||||||
{this.state.error && this.state.error.toString()} |
|
||||||
<br /> |
|
||||||
{this.state.errorInfo.componentStack} |
|
||||||
</details> |
|
||||||
</div> |
|
||||||
); |
|
||||||
} |
|
||||||
// Normally, just render children
|
|
||||||
return this.props.children; |
|
||||||
} |
|
||||||
} |
|
||||||
Loading…
Reference in new issue