Bläddra i källkod

Added hours, days units and tests for all

utkarshcmu 10 år sedan
förälder
incheckning
7f9c8a1935
2 ändrade filer med 54 tillägg och 2 borttagningar
  1. 33 2
      public/app/core/utils/kbn.js
  2. 21 0
      public/test/core/utils/kbn_specs.js

+ 33 - 2
public/app/core/utils/kbn.js

@@ -432,7 +432,7 @@ function($, _) {
   kbn.valueFormats.s = function(size, decimals, scaledDecimals) {
   kbn.valueFormats.s = function(size, decimals, scaledDecimals) {
     if (size === null) { return ""; }
     if (size === null) { return ""; }
 
 
-    if (Math.abs(size) < 600) {
+    if (Math.abs(size) < 60) {
       return kbn.toFixed(size, decimals) + " s";
       return kbn.toFixed(size, decimals) + " s";
     }
     }
     // Less than 1 hour, devide in minutes
     // Less than 1 hour, devide in minutes
@@ -502,13 +502,44 @@ function($, _) {
       return kbn.toFixedScaled(size / 1440, decimals, scaledDecimals, 3, " day");
       return kbn.toFixedScaled(size / 1440, decimals, scaledDecimals, 3, " day");
     }
     }
     else if (Math.abs(size) < 604800) {
     else if (Math.abs(size) < 604800) {
-      return kbn.toFixedScaled(size / 86400, decimals, scaledDecimals, 4, " week");
+      return kbn.toFixedScaled(size / 10080, decimals, scaledDecimals, 4, " week");
     }
     }
     else {
     else {
       return kbn.toFixedScaled(size / 5.25948e5, decimals, scaledDecimals, 5, " year");
       return kbn.toFixedScaled(size / 5.25948e5, decimals, scaledDecimals, 5, " year");
     }
     }
   };
   };
 
 
+  kbn.valueFormats.h = function(size, decimals, scaledDecimals) {
+    if (size === null) { return ""; }
+
+    if (Math.abs(size) < 24) {
+      return kbn.toFixed(size, decimals) + " hour";
+    }
+    else if (Math.abs(size) < 168) {
+      return kbn.toFixedScaled(size / 24, decimals, scaledDecimals, 2, " day");
+    }
+    else if (Math.abs(size) < 8760) {
+      return kbn.toFixedScaled(size / 168, decimals, scaledDecimals, 3, " week");
+    }
+    else {
+      return kbn.toFixedScaled(size / 8760, decimals, scaledDecimals, 4, " year");
+    }
+  };
+
+  kbn.valueFormats.d = function(size, decimals, scaledDecimals) {
+    if (size === null) { return ""; }
+
+    if (Math.abs(size) < 7) {
+      return kbn.toFixed(size, decimals) + " day";
+    }
+    else if (Math.abs(size) < 365) {
+      return kbn.toFixedScaled(size / 7, decimals, scaledDecimals, 2, " week");
+    }
+    else {
+      return kbn.toFixedScaled(size / 365, decimals, scaledDecimals, 3, " year");
+    }
+  };
+
   ///// FORMAT MENU /////
   ///// FORMAT MENU /////
 
 
   kbn.getUnitFormats = function() {
   kbn.getUnitFormats = function() {

+ 21 - 0
public/test/core/utils/kbn_specs.js

@@ -68,6 +68,27 @@ define([
   describeValueFormat('wps', 789000000, 1000000, -1, '789M wps');
   describeValueFormat('wps', 789000000, 1000000, -1, '789M wps');
   describeValueFormat('iops', 11000000000, 1000000000, -1, '11B iops');
   describeValueFormat('iops', 11000000000, 1000000000, -1, '11B iops');
 
 
+  describeValueFormat('s', 24, 1, 0, '24 s');
+  describeValueFormat('s', 246, 1, 0, '4.1 min');
+  describeValueFormat('s', 24567, 100, 0, '6.82 hour');
+  describeValueFormat('s', 24567890, 10000, 0, '40.62 week');
+  describeValueFormat('s', 24567890000, 1000000, 0, '778.53 year');
+
+  describeValueFormat('m', 24, 1, 0, '24 min');
+  describeValueFormat('m', 246, 10, 0, '4.1 hour');
+  describeValueFormat('m', 6545, 10, 0, '4.55 day');
+  describeValueFormat('m', 24567, 100, 0, '2.44 week');
+  describeValueFormat('m', 24567892, 10000, 0, '46.7 year');
+
+  describeValueFormat('h', 21, 1, 0, '21 hour');
+  describeValueFormat('h', 145, 1, 0, '6.04 day');
+  describeValueFormat('h', 1234, 100, 0, '7.3 week');
+  describeValueFormat('h', 9458, 1000, 0, '1.08 year');
+
+  describeValueFormat('d', 3, 1, 0, '3 day');
+  describeValueFormat('d', 245, 100, 0, '35 week');
+  describeValueFormat('d', 2456, 10, 0, '6.73 year');
+
   describe('kbn.toFixed and negative decimals', function() {
   describe('kbn.toFixed and negative decimals', function() {
     it('should treat as zero decimals', function() {
     it('should treat as zero decimals', function() {
       var str = kbn.toFixed(186.123, -2);
       var str = kbn.toFixed(186.123, -2);