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