Преглед изворни кода

Made histogram x-axis labels dynamic

Rashid Khan пре 13 година
родитељ
комит
87c0a0e2e1
2 измењених фајлова са 14 додато и 6 уклоњено
  1. 0 4
      config.js
  2. 14 2
      panels/histogram/module.js

+ 0 - 4
config.js

@@ -3,13 +3,10 @@
 elasticsearch:  URL to your elasticsearch server
 elasticsearch:  URL to your elasticsearch server
 kibana_index:   The default ES index to use for storing Kibana specific object
 kibana_index:   The default ES index to use for storing Kibana specific object
                 such as stored dashboards 
                 such as stored dashboards 
-timeformat:     Format for time in histograms (might go away)
 modules:        Panel modules to load. In the future these will be inferred 
 modules:        Panel modules to load. In the future these will be inferred 
                 from your initial dashboard, though if you share dashboards you
                 from your initial dashboard, though if you share dashboards you
                 will probably need to list them all here 
                 will probably need to list them all here 
 
 
-NOTE:   No timezone support yet, everything is in UTC at the moment.
-
 If you need to configure the default dashboard, please see default.json
 If you need to configure the default dashboard, please see default.json
 
 
 */
 */
@@ -17,7 +14,6 @@ var config = new Settings(
 {
 {
   elasticsearch:  'http://localhost:9200',
   elasticsearch:  'http://localhost:9200',
   kibana_index:   "kibana-int", 
   kibana_index:   "kibana-int", 
-  timeformat:     'mm/dd HH:MM:ss',
   modules:        ['histogram','map','pie','table','stringquery','sort',
   modules:        ['histogram','map','pie','table','stringquery','sort',
                   'timepicker','text','fields','hits','dashcontrol',
                   'timepicker','text','fields','hits','dashcontrol',
                   'column'], 
                   'column'], 

+ 14 - 2
panels/histogram/module.js

@@ -209,7 +209,7 @@ angular.module('kibana.histogram', [])
               timezone: scope.panel.timezone,
               timezone: scope.panel.timezone,
               show: show['x-axis'],
               show: show['x-axis'],
               mode: "time",
               mode: "time",
-              timeformat: "%H:%M:%S<br>%m-%d",
+              timeformat: time_format(scope.panel.interval),
               label: "Datetime",
               label: "Datetime",
               color: "#000",
               color: "#000",
             },
             },
@@ -231,6 +231,18 @@ angular.module('kibana.histogram', [])
         })
         })
       }
       }
 
 
+      function time_format(interval) {
+        var _int = interval_to_seconds(interval)
+        if(_int >= 2628000)
+          return "%m/%y"
+        if(_int >= 86400)
+          return "%m/%d/%y"
+        if(_int >= 60)
+          return "%H:%M<br>%m/%d"
+        else
+          return "%H:%M:%S"
+      }
+
       function tt(x, y, contents) {
       function tt(x, y, contents) {
         var tooltip = $('#pie-tooltip').length ? 
         var tooltip = $('#pie-tooltip').length ? 
           $('#pie-tooltip') : $('<div id="pie-tooltip"></div>');
           $('#pie-tooltip') : $('<div id="pie-tooltip"></div>');
@@ -252,7 +264,7 @@ angular.module('kibana.histogram', [])
           var percent = parseFloat(item.series.percent).toFixed(1) + "%";
           var percent = parseFloat(item.series.percent).toFixed(1) + "%";
           tt(pos.pageX, pos.pageY,
           tt(pos.pageX, pos.pageY,
             item.datapoint[1].toFixed(1) + " @ " + 
             item.datapoint[1].toFixed(1) + " @ " + 
-            new Date(item.datapoint[0]).format(config.timeformat));
+            new Date(item.datapoint[0]).format('mm/dd HH:MM:ss'));
         } else {
         } else {
           $("#pie-tooltip").remove();
           $("#pie-tooltip").remove();
         }
         }