Commit 42f4aedb authored by Paul Asmuth's avatar Paul Asmuth
Browse files

implemented data-scale-by for counters

parent 11793093
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -62,6 +62,13 @@ These are the valid html attributes for counters:
      <p>The Default is "now".</p>
    </td>
  </tr>
  <tr>
    <th>data-scale-by</th>
    <td>
      multiply the value with a constant before displaying it (e.g. if you are reporting data
      as cents, but want to display them as dollar/euro, use `data-scale-by="0.01"`
    </td>
  </tr>
  <tr>
    <th>data-autoupdate</th>
    <td>
+7 −2
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@ if (typeof FnordMetric.widgets == 'undefined')
  FnordMetric.widgets = {};

FnordMetric.widgets.counter = function(elem){
  var gauge, at, refresh_timer, refresh_interval;
  var gauge, at, scale_by, refresh_timer, refresh_interval;
  var widget_key = elem.attr("data-widget-key");

  function init() {
@@ -17,6 +17,11 @@ FnordMetric.widgets.counter = function(elem){
    at = elem.attr('data-at');
    if (!at) at = "now";

    if (scale_by = elem.attr('data-scale-by'))
      scale_by = parseFloat(elem.attr('data-scale-by'));
    else
      scale_by = 1;

    requestDataAsync();

    if (refresh_interval = elem.attr('data-autoupdate'))
@@ -66,7 +71,7 @@ FnordMetric.widgets.counter = function(elem){
      if((diff > 0) && (new_val > target_val)){ new_val = target_val; }
      if((diff < 0) && (new_val < target_val)){ new_val = target_val; }

      var val_txt = FnordMetric.util.formatValue(new_val);
      var val_txt = FnordMetric.util.formatValue(new_val * scale_by);

      if (elem.attr('data-unit'))
        val_txt += elem.attr('data-unit');
+3 −0
Original line number Diff line number Diff line
@@ -20,6 +20,9 @@
  </head>
  <body class="dark">


        <div class="value large" data-fnordmetric="counter" data-gauge="orders_sum" data-at="sum(-1hour)" data-autopudate="1" data-unit="&euro;" data-scale-by="0.01" style="color:#fff; font-size:48px;">0</div>

    <span
      data-fnordmetric="counter"
      data-gauge="useronline_total"