- graph.raphael.clear ();
- if (def.title)
- graph.raphael.g.text (250, 15, def.title);
- if (def.vertical_label)
- graph.raphael.g.text (5, 100, def.vertical_label).rotate (270);
- graph.raphael.g.linechart(50, 25, 500, 150, x_data, y_data, {axis: "0 0 1 1"});
+ if (def.vertical_label)
+ chart_opts.yAxis.title = { text: def.vertical_label };
+
+ return (chart_opts);
+} /* }}} function chart_opts_get */
+
+function inst_draw (inst, def, data_list) /* {{{ */
+{
+ var chart_opts;
+ var i;
+
+ if (!inst || !def || !data_list)
+ return;
+
+ chart_opts = inst_get_chart_opts (inst, def);
+
+ for (i = def.defs.length - 1; i >= 0; i--)
+ def_draw (def.defs[i], data_list, chart_opts.series);
+
+ inst.chart = new Highcharts.Chart (chart_opts);
+} /* }}} function inst_draw */
+
+function inst_redraw (inst, def, data_list) /* {{{ */
+{
+ var series_array;
+ var i;
+
+ if (!inst.chart)
+ return (inst_draw (inst, def, data_list));
+
+ series_array = new Array ();
+ for (i = def.defs.length - 1; i >= 0; i--)
+ def_draw (def.defs[i], data_list, series_array);
+
+ if (inst.chart.series.length != series_array.length)
+ {
+ alert ("inst.chart.series.length != series_array.length");
+ return;
+ }
+
+ for (i = inst.chart.series.length - 1; i >= 0; i--)
+ {
+ series_array[i].visible = inst.chart.series[i].visible;
+ inst.chart.series[i].remove (/* redraw = */ false);
+ }
+
+ for (i = 0; i < series_array.length; i++)
+ inst.chart.addSeries (series_array[i], /* redraw = */ false);
+
+ inst.chart.redraw ();
+} /* }}} function inst_redraw */
+
+function inst_fetch_data (inst, begin, end) /* {{{ */
+{
+ var def;
+ var params;
+
+ def = inst_get_defs (inst);
+ if (!def)
+ return;
+
+ params = instance_get_params (inst);
+ params.action = "instance_data_json";
+ params.begin = begin || inst.begin;
+ params.end = end || inst.end;
+ params.resolution = Math.round ((params.end - params.begin) / c4.config.width);
+
+ $.getJSON ("collection.fcgi", params,
+ function (data)
+ {
+ inst_redraw (inst, def, data);