Skip to content

Commit

Permalink
PanelChrome: Fix issue with empty panel after adding a non data panel…
Browse files Browse the repository at this point in the history
… and coming back from panel edit (#34765)

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

* Removed the console.log
  • Loading branch information
torkelo committed May 27, 2021
1 parent 67028af commit ca79d08
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 2 deletions.
Expand Up @@ -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();
Expand Down
13 changes: 11 additions & 2 deletions public/app/features/dashboard/dashgrid/PanelChrome.tsx
Expand Up @@ -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;
}

Expand Down

0 comments on commit ca79d08

Please sign in to comment.