lib/fnordmetric/timeline_widget.rb in fnordmetric-0.3.2 vs lib/fnordmetric/timeline_widget.rb in fnordmetric-0.5.0
- old
+ new
@@ -1,17 +1,37 @@
class FnordMetric::TimelineWidget < FnordMetric::Widget
+ def data_labels
+ ticks.map do |t|
+ Time.at(t).strftime('%d.%m.%y %H:%M')
+ end
+ end
+
+ def data_series
+ gauges.map do |gauge|
+ {
+ :color => next_series_colour,
+ :data => ticks.map{ |t| gauge.value_at(t)||0 }
+ }
+ end
+ end
+
+ def next_series_colour
+ @series_colors.pop.tap do |color|
+ @series_colors.unshift(color)
+ end
+ end
+
def data
+ @series_colors = ["#FACE4F", "#42436B", "#CD645A", "#2F635E"]
+
super.merge(
- :start_timestamp => range_to_i.first,
- :end_timestamp => range_to_i.last,
- :tick => tick.to_i,
- :delta => !!@options[:delta],
- :autoupdate => !!@options[:autoupdate],
- :metrics => metrics.map{ |m| m.token },
- :widget_url => "/fnordmetric/widget_timeline.js?#{(rand*999).to_i}",
- :chart_type => (@options[:chart] || "line"),
- :widget_height => 320
+ :labels => data_labels,
+ :series => data_series
)
+ end
+
+ def has_tick?
+ true
end
end
\ No newline at end of file