Commit 1ee97457 by Torkel Ödegaard Committed by GitHub

PanelEdit: Need new data after plugin change (#29874)

* PanelEdit: Need new data after plugin change

* Updated
parent 51e3d65f
// Libraries
import React, { PureComponent } from 'react';
import React, { Component } from 'react';
import classNames from 'classnames';
import { Unsubscribable } from 'rxjs';
// Components
......@@ -51,7 +51,7 @@ export interface State {
data: PanelData;
}
export class PanelChrome extends PureComponent<Props, State> {
export class PanelChrome extends Component<Props, State> {
readonly timeSrv: TimeSrv = getTimeSrv();
querySubscription?: Unsubscribable;
......@@ -124,6 +124,19 @@ export class PanelChrome extends PureComponent<Props, State> {
}
}
shouldComponentUpdate(prevProps: Props, prevState: State) {
const { plugin, panel } = this.props;
// If plugin changed we need to process fieldOverrides again
// We do this by asking panel query runner to resend last result
if (prevProps.plugin !== plugin) {
panel.getQueryRunner().resendLastResult();
return false;
}
return true;
}
// Updates the response with information from the stream
// The next is outside a react synthetic event so setState is not batched
// So in this context we can only do a single call to setState
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment