diff --git a/public/app/plugins/panel/graph/legend.ts b/public/app/plugins/panel/graph/legend.ts index 1a445068b97..791ebf761ae 100644 --- a/public/app/plugins/panel/graph/legend.ts +++ b/public/app/plugins/panel/graph/legend.ts @@ -220,12 +220,32 @@ module.directive('graphLegend', function(popoverSrv, $timeout) { elem.append(tbodyElem); } else { elem.append(seriesElements); + } - if (!legendScrollbar) { - legendScrollbar = new PerfectScrollbar(elem[0]); - } else { - legendScrollbar.update(); - } + if (!panel.legend.rightSide) { + addScrollbar(); + } else { + destroyScrollbar(); + } + } + + function addScrollbar() { + const scrollbarOptions = { + // Number of pixels the content height can surpass the container height without enabling the scroll bar. + scrollYMarginOffset: 2, + suppressScrollX: true + }; + + if (!legendScrollbar) { + legendScrollbar = new PerfectScrollbar(elem[0], scrollbarOptions); + } else { + legendScrollbar.update(); + } + } + + function destroyScrollbar() { + if (legendScrollbar) { + legendScrollbar.destroy(); } } }