diff --git a/public/app/features/dashboard/state/DashboardModel.ts b/public/app/features/dashboard/state/DashboardModel.ts index 416155ce2e6..cde4227d3ec 100644 --- a/public/app/features/dashboard/state/DashboardModel.ts +++ b/public/app/features/dashboard/state/DashboardModel.ts @@ -919,16 +919,18 @@ export class DashboardModel { } toggleLegendsForAll() { - const panels = this.panels.filter(panel => { + const panelsWithLegends = this.panels.filter(panel => { return panel.legend !== undefined && panel.legend !== null; }); + // determine if more panels are displaying legends or not - const onCount = panels.filter(panel => panel.legend.show).length; - const offCount = panels.length - onCount; + const onCount = panelsWithLegends.filter(panel => panel.legend.show).length; + const offCount = panelsWithLegends.length - onCount; const panelLegendsOn = onCount >= offCount; - panels.forEach(panel => { + + for (const panel of panelsWithLegends) { panel.legend.show = !panelLegendsOn; panel.render(); - }); + } } }