diff --git a/x-pack/legacy/plugins/monitoring/public/components/chart/chart_target.js b/x-pack/legacy/plugins/monitoring/public/components/chart/chart_target.js index 9d5ebd274ea9e..5443d6cbee6b5 100644 --- a/x-pack/legacy/plugins/monitoring/public/components/chart/chart_target.js +++ b/x-pack/legacy/plugins/monitoring/public/components/chart/chart_target.js @@ -35,6 +35,7 @@ export class ChartTarget extends React.Component { componentWillUnmount() { this.shutdownChart(); window.removeEventListener('resize', this._handleResize); + this.componentUnmounted = true; } filterByShow(seriesToShow) { @@ -62,7 +63,6 @@ export class ChartTarget extends React.Component { componentDidMount() { this.renderChart(); - window.addEventListener('resize', this._handleResize, false); } componentDidUpdate() { @@ -94,6 +94,9 @@ export class ChartTarget extends React.Component { const data = this.filterData(series, this.props.seriesToShow); this.plot = $.plot(target, data, await this.getOptions()); + if (this.componentUnmounted || !this.plot) { + return; + } this._handleResize = () => { if (!this.plot) { return; } @@ -110,6 +113,8 @@ export class ChartTarget extends React.Component { } }; + window.addEventListener('resize', this._handleResize, false); + this.handleMouseLeave = () => { eventBus.trigger('thorPlotLeave', []); };