Explorar o código

fix(legend): only add overflow scroll when needed

In firefox the scrollbar is always show when setting
overflow: scroll. This commit makes sure the overflow
setting is only applied when needed.

closes #4049
bergquist %!s(int64=9) %!d(string=hai) anos
pai
achega
63ca9f6f5a
Modificáronse 1 ficheiros con 13 adicións e 8 borrados
  1. 13 8
      public/app/plugins/panel/graph/legend.js

+ 13 - 8
public/app/plugins/panel/graph/legend.js

@@ -90,14 +90,6 @@ function (angular, _, $) {
         }
 
         function render() {
-          if (panel.legend.rightSide) {
-            var panelheight = scope.ctrl.height || scope.ctrl.panel.height || scope.ctrl.row.height;
-            $container.css("height", panelheight);
-            $container.toggleClass('graph-legend-fixed-height', true);
-          } else {
-            $container.css("height", "");
-          }
-
           if (firstRender) {
             elem.append($container);
             $container.on('click', '.graph-legend-icon', openColorSelector);
@@ -184,6 +176,19 @@ function (angular, _, $) {
             html += '</div>';
             $container.append($(html));
           }
+
+          var legendContainerHeight = $container.parent().height();
+          var legendHeight = $container.height();
+
+          if (panel.legend.rightSide && legendHeight >= legendContainerHeight) {
+            $container.toggleClass('graph-legend-fixed-height', true);
+          }
+
+          if (panel.legend.rightSide) {
+            $container.css("height", scope.ctrl.height || scope.ctrl.panel.height || scope.ctrl.row.height);
+          } else {
+            $container.css("height", "");
+          }
         }
       }
     };