PanelChrome: Fix issue with empty panel after adding a non data panel and coming back from panel edit (#34765) (#34804)

* PanelChrome: Fix issue with empty panel after adding a non data panel and coming back from panel edit

* Removed the console.log

(cherry picked from commit ca79d08dd8)

Co-authored-by: Torkel Ödegaard <torkel@grafana.org>
This commit is contained in:
Grot (@grafanabot)
2021-05-27 12:43:52 +02:00
committed by GitHub
co-authored by Torkel Ödegaard
parent dc27360a89
commit c0d87c9779
2 changed files with 12 additions and 2 deletions
@@ -49,6 +49,7 @@ export function discardPanelChanges(): ThunkResult<void> {
dispatch(setDiscardChanges(true));
};
}
export function exitPanelEditor(): ThunkResult<void> {
return async (dispatch, getStore) => {
const dashboard = getStore().dashboard.getModel();
@@ -302,14 +302,23 @@ export class PanelChrome extends Component<Props, State> {
return loadingState === LoadingState.Done || pluginMeta.skipDataQuery;
}
skipFirstRender(loadingState: LoadingState) {
const { isFirstLoad } = this.state;
return (
this.wantsQueryExecution &&
isFirstLoad &&
(loadingState === LoadingState.Loading || loadingState === LoadingState.NotStarted)
);
}
renderPanel(width: number, height: number) {
const { panel, plugin, dashboard } = this.props;
const { renderCounter, data, isFirstLoad } = this.state;
const { renderCounter, data } = this.state;
const { theme } = config;
const { state: loadingState } = data;
// do not render component until we have first data
if (isFirstLoad && (loadingState === LoadingState.Loading || loadingState === LoadingState.NotStarted)) {
if (this.skipFirstRender(loadingState)) {
return null;
}