1 |
dpavlin |
869 |
/* from example at http://people.iola.dk/olau/flot/examples/turning-series.html */ |
2 |
|
|
|
3 |
|
|
// hard-code color indices to prevent them from shifting as |
4 |
|
|
// countries are turned on/off |
5 |
|
|
var i = 0; |
6 |
|
|
$.each(datasets, function(key, val) { |
7 |
|
|
val.color = i; |
8 |
|
|
++i; |
9 |
|
|
}); |
10 |
|
|
|
11 |
|
|
// insert checkboxes |
12 |
|
|
var choiceContainer = $("#choices"); |
13 |
|
|
$.each(datasets, function(key, val) { |
14 |
|
|
choiceContainer.append('<br/><input type="checkbox" name="' + key + |
15 |
|
|
'" checked="checked" >' + val.label + '</input>'); |
16 |
|
|
}); |
17 |
|
|
choiceContainer.find("input").click(plotAccordingToChoices); |
18 |
|
|
|
19 |
|
|
|
20 |
|
|
function plotAccordingToChoices() { |
21 |
|
|
var data = []; |
22 |
|
|
|
23 |
|
|
choiceContainer.find("input:checked").each(function () { |
24 |
|
|
var key = $(this).attr("name"); |
25 |
|
|
if (key && datasets[key]) |
26 |
|
|
data.push(datasets[key]); |
27 |
|
|
}); |
28 |
|
|
|
29 |
dpavlin |
878 |
var placeholder = $('#placeholder'); |
30 |
|
|
if ( ! placeholder ) alert("can't find #placeholder"); |
31 |
|
|
|
32 |
dpavlin |
869 |
if (data.length > 0) |
33 |
dpavlin |
878 |
$.plot( placeholder, data, options); |
34 |
|
|
|
35 |
|
|
placeholder.bind("plotselected", function (event,ranges) { |
36 |
|
|
|
37 |
|
|
function DateTimeStr(t) { |
38 |
|
|
var d = new Date( parseInt(t) ); |
39 |
|
|
|
40 |
|
|
function pad2(n) { |
41 |
|
|
var s = new String(n); |
42 |
|
|
if ( s.length == 1 ) { |
43 |
|
|
return '0' + s; |
44 |
|
|
} else { |
45 |
|
|
return s; |
46 |
|
|
} |
47 |
|
|
} |
48 |
|
|
|
49 |
|
|
var str = |
50 |
|
|
pad2( d.getUTCFullYear() ) + '-' + |
51 |
|
|
pad2( d.getUTCMonth() + 1 ) + '-' + |
52 |
dpavlin |
890 |
pad2( d.getUTCDate() ) + ' ' + |
53 |
dpavlin |
878 |
pad2( d.getUTCHours() ) + ':' + |
54 |
|
|
pad2( d.getUTCMinutes() ) + ':' + |
55 |
|
|
pad2( d.getUTCSeconds() ) ; |
56 |
|
|
|
57 |
|
|
return str; |
58 |
|
|
} |
59 |
|
|
|
60 |
dpavlin |
897 |
var from = DateTimeStr( ranges.xaxis.from.toFixed(1) ); |
61 |
|
|
var to = DateTimeStr( ranges.xaxis.to.toFixed(1) ); |
62 |
|
|
|
63 |
|
|
$('#selection').html( |
64 |
|
|
from + ' → ' + to + ' ' + |
65 |
|
|
'<a target="Frey::Shell::Log" href="/Frey::Shell::Log/as_sponge?from_datetime='+from+'&to_datetime='+to+'">see log</a>' |
66 |
|
|
); |
67 |
dpavlin |
878 |
}); |
68 |
|
|
|
69 |
dpavlin |
869 |
} |
70 |
|
|
|
71 |
|
|
plotAccordingToChoices(); |
72 |
|
|
|