Просмотр исходного кода

Merge branch 'master' of github.com:elasticsearch/kibana

Torkel Ödegaard 12 лет назад
Родитель
Сommit
95860be9bc

+ 10 - 8
src/app/directives/kibanaSimplePanel.js

@@ -60,14 +60,16 @@ function (angular, _) {
             loadController(name);
             loadController(name);
           });
           });
 
 
-          $scope.$watch(attr.panel, function (panel) {
-            // If the panel attribute is specified, create a new scope. This ruins configuration
-            // so don't do it with anything that needs to use editor.html
-            if(!_.isUndefined(panel)) {
-              $scope = $scope.$new();
-              $scope.panel = angular.fromJson(panel);
-            }
-          });
+          if(attr.panel) {
+            $scope.$watch(attr.panel, function (panel) {
+              // If the panel attribute is specified, create a new scope. This ruins configuration
+              // so don't do it with anything that needs to use editor.html
+              if(!_.isUndefined(panel)) {
+                $scope = $scope.$new();
+                $scope.panel = angular.fromJson(panel);
+              }
+            });
+          }
         }
         }
       };
       };
     });
     });

+ 3 - 3
src/app/panels/histogram/module.html

@@ -44,10 +44,10 @@
       <a class='small' ng-click='zoom(2)'><i class='icon-zoom-out'></i> Zoom Out</a> |&nbsp
       <a class='small' ng-click='zoom(2)'><i class='icon-zoom-out'></i> Zoom Out</a> |&nbsp
     </span>
     </span>
     <span ng-show="panel.legend" ng-repeat='series in legend' class="histogram-legend">
     <span ng-show="panel.legend" ng-repeat='series in legend' class="histogram-legend">
-      <i class='icon-circle' ng-style="{color: series.color}"></i>
+      <i class='icon-circle' ng-style="{color: series.query.color}"></i>
       <span class='small histogram-legend-item'>
       <span class='small histogram-legend-item'>
-        <span ng-if="panel.show_query">{{series.alias || series.query}}</span>
-        <span ng-if="!panel.show_query">{{series.alias}}</span>
+        <span ng-if="panel.show_query">{{series.query.alias || series.query.query}}</span>
+        <span ng-if="!panel.show_query">{{series.query.alias}}</span>
         <span ng-show="panel.legend_counts"> ({{series.hits}})</span>
         <span ng-show="panel.legend_counts"> ({{series.hits}})</span>
       </span>
       </span>
     </span>
     </span>

+ 1 - 1
src/app/panels/histogram/module.js

@@ -425,7 +425,7 @@ function (angular, app, $, _, kbn, moment, timeSeries) {
               $scope.hits += entry.count; // Entire dataset level hits counter
               $scope.hits += entry.count; // Entire dataset level hits counter
             });
             });
 
 
-            $scope.legend[i] = q;
+            $scope.legend[i] = {query:q,hits:hits};
 
 
             data[i] = {
             data[i] = {
               info: q,
               info: q,

+ 16 - 0
src/app/panels/histogram/timeSeries.js

@@ -101,6 +101,8 @@ function (_, Interval) {
       strategy = this._getAllFlotPairs;
       strategy = this._getAllFlotPairs;
     } else if(this.opts.fill_style === 'null') {
     } else if(this.opts.fill_style === 'null') {
       strategy = this._getNullFlotPairs;
       strategy = this._getNullFlotPairs;
+    } else if(this.opts.fill_style === 'no') {
+      strategy = this._getNoZeroFlotPairs;
     } else {
     } else {
       strategy = this._getMinFlotPairs;
       strategy = this._getMinFlotPairs;
     }
     }
@@ -211,6 +213,20 @@ function (_, Interval) {
     return result;
     return result;
   };
   };
 
 
+  /**
+   * ** called as a reduce stragegy in getFlotPairs() **
+   * Not fill zero's on either side of the current time, only the current time
+   * @return {array}  An array of points to plot with flot
+   */
+  ts.ZeroFilled.prototype._getNoZeroFlotPairs = function (result, time) {
+
+    // add the current time
+    if(this._data[time]){
+      result.push([ time, this._data[time]]);
+    }
+
+    return result;
+  };
 
 
   return ts;
   return ts;
 });
 });