Przeglądaj źródła

Fix graph legend scroll (#10169)

* graph panel: fix legend scroll

* graph panel: enable scroll for table legend

* graph panel: fix legend right side toggle
Alexander Zobnin 8 lat temu
rodzic
commit
10fbfcb1d3
1 zmienionych plików z 25 dodań i 5 usunięć
  1. 25 5
      public/app/plugins/panel/graph/legend.ts

+ 25 - 5
public/app/plugins/panel/graph/legend.ts

@@ -220,12 +220,32 @@ module.directive('graphLegend', function(popoverSrv, $timeout) {
           elem.append(tbodyElem);
           elem.append(tbodyElem);
         } else {
         } else {
           elem.append(seriesElements);
           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();
         }
         }
       }
       }
     }
     }