From 62f0aca3e65d03b8070def7c234e286305d7a948 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Thu, 5 Dec 2019 08:59:07 +0100 Subject: [PATCH] AngularPanels: Fixed loading spinner being stuck in some rare cases (#20878) --- public/app/features/panel/metrics_panel_ctrl.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/public/app/features/panel/metrics_panel_ctrl.ts b/public/app/features/panel/metrics_panel_ctrl.ts index ab9289431f4..e6f534054ae 100644 --- a/public/app/features/panel/metrics_panel_ctrl.ts +++ b/public/app/features/panel/metrics_panel_ctrl.ts @@ -115,6 +115,14 @@ class MetricsPanelCtrl extends PanelCtrl { this.error = err.data.error; } } + + this.angularDirtyCheck(); + } + + angularDirtyCheck() { + if (!this.$scope.$$phase) { + this.$scope.$digest(); + } } // Updates the response with information from the stream @@ -128,6 +136,7 @@ class MetricsPanelCtrl extends PanelCtrl { // Ignore data in loading state if (data.state === LoadingState.Loading) { this.loading = true; + this.angularDirtyCheck(); return; } @@ -149,6 +158,8 @@ class MetricsPanelCtrl extends PanelCtrl { const legacy = data.series.map(v => toLegacyResponseData(v)); this.handleQueryResult({ data: legacy }); } + + this.angularDirtyCheck(); }, };