Kaynağa Gözat

moved binding expression in panels to directive and watchGroup

Torkel Ödegaard 11 yıl önce
ebeveyn
işleme
dc3cd430c8

+ 5 - 2
src/app/controllers/grafanaCtrl.js

@@ -95,9 +95,12 @@ function (angular, config, _, $) {
           var timeTaken = $rootScope.performance.allPanelsInitialized - $rootScope.performance.dashboardLoadStart;
           var timeTaken = $rootScope.performance.allPanelsInitialized - $rootScope.performance.dashboardLoadStart;
           console.log("Dashboard::Performance - All panels initialized in " + timeTaken + " ms");
           console.log("Dashboard::Performance - All panels initialized in " + timeTaken + " ms");
 
 
+          // measure digest performance
           var rootDigestStart = window.performance.now();
           var rootDigestStart = window.performance.now();
-          $rootScope.$apply();
-          console.log("Dashboard::Performance Root Digest " + (window.performance.now() - rootDigestStart));
+          for (var i = 0; i < 30; i++) {
+            $rootScope.$apply();
+          }
+          console.log("Dashboard::Performance Root Digest " + ((window.performance.now() - rootDigestStart) / 30));
 
 
         }, 3000);
         }, 3000);
 
 

+ 8 - 0
src/app/directives/grafanaPanel.js

@@ -69,6 +69,14 @@ function (angular, $) {
             /* jshint indent:false */
             /* jshint indent:false */
             $compile(elem.contents())(newScope);
             $compile(elem.contents())(newScope);
             elem.removeClass("ng-cloak");
             elem.removeClass("ng-cloak");
+
+            var panelCtrlElem = $(elem.children()[0]);
+            var panelCtrlScope = panelCtrlElem.data().$scope;
+
+            panelCtrlScope.$watchGroup(['fullscreen', 'panel.height', 'row.height'], function() {
+              panelCtrlElem.css({ minHeight: panelCtrlScope.panel.height || panelCtrlScope.row.height });
+              panelCtrlElem.toggleClass('panel-fullscreen', panelCtrlScope.fullscreen ? true : false);
+            });
           }
           }
 
 
           newScope.$on('$destroy',function() {
           newScope.$on('$destroy',function() {

+ 1 - 2
src/app/panels/graph/module.html

@@ -1,6 +1,5 @@
 <div  ng-controller='GraphCtrl'
 <div  ng-controller='GraphCtrl'
-      style="min-height:{{panel.height || row.height}}"
-      ng-class="{'panel-fullscreen': fullscreen}">
+      >
 
 
   <div class="graph-wrapper" ng-class="{'graph-legend-rightside': panel.legend.rightSide}">
   <div class="graph-wrapper" ng-class="{'graph-legend-rightside': panel.legend.rightSide}">
       <div class="graph-canvas-wrapper">
       <div class="graph-canvas-wrapper">

+ 1 - 1
src/app/panels/text/module.html

@@ -1,4 +1,4 @@
-<div ng-controller='text' style="min-height:{{panel.height || row.height}}">
+<div ng-controller='text'>
   <p ng-bind-html="content">
   <p ng-bind-html="content">
   </p>
   </p>
 </div>
 </div>