NETDATA.peity_js = NETDATA.serverDefault + 'lib/jquery.peity-3.2.0.min.js';
NETDATA.sparkline_js = NETDATA.serverDefault + 'lib/jquery.sparkline-2.1.2.min.js';
NETDATA.easypiechart_js = NETDATA.serverDefault + 'lib/jquery.easypiechart-97b5824.min.js';
- NETDATA.gauge_js = NETDATA.serverDefault + 'lib/gauge-1.3.1.min.js';
+ NETDATA.gauge_js = NETDATA.serverDefault + 'lib/gauge-1.3.2.min.js';
NETDATA.dygraph_js = NETDATA.serverDefault + 'lib/dygraph-combined-dd74404.js';
NETDATA.dygraph_smooth_js = NETDATA.serverDefault + 'lib/dygraph-smooth-plotter-dd74404.js';
NETDATA.raphael_js = NETDATA.serverDefault + 'lib/raphael-2.2.4-min.js';
this.value_decimal_detail = -1;
var d = self.data('decimal-digits');
if(typeof d === 'number') {
- this.value_decimal_detail = 1;
- while(d-- > 0)
- this.value_decimal_detail *= 10;
+ this.value_decimal_detail = d;
}
this.auto = {
return ret;
};
- this.legendFormatValueChartDecimals = -1;
+ var __legendFormatValueChartDecimalsLastMin = undefined;
+ var __legendFormatValueChartDecimalsLastMax = undefined;
+ var __legendFormatValueChartDecimals = -1;
this.legendFormatValueDecimalsFromMinMax = function(min, max) {
- var delta;
+ if(min === __legendFormatValueChartDecimalsLastMin && max === __legendFormatValueChartDecimalsLastMax)
+ return;
- if(min === max)
- delta = Math.abs(min);
- else
- delta = Math.abs(max - min);
+ __legendFormatValueChartDecimalsLastMin = min;
+ __legendFormatValueChartDecimalsLastMax = max;
+
+ if(this.data !== null && this.data.min === this.data.max)
+ __legendFormatValueChartDecimals = -1;
+
+ else if(this.value_decimal_detail !== -1)
+ __legendFormatValueChartDecimals = this.value_decimal_detail;
+
+ else {
+ var delta;
+
+ if (min === max)
+ delta = Math.abs(min);
+ else
+ delta = Math.abs(max - min);
- if(delta > 1000) this.legendFormatValueChartDecimals = 0;
- else if(delta > 10 ) this.legendFormatValueChartDecimals = 1;
- else if(delta > 1 ) this.legendFormatValueChartDecimals = 2;
- else if(delta > 0.1 ) this.legendFormatValueChartDecimals = 3;
- else this.legendFormatValueChartDecimals = 4;
+ if (delta > 1000) __legendFormatValueChartDecimals = 0;
+ else if (delta > 10) __legendFormatValueChartDecimals = 1;
+ else if (delta > 1) __legendFormatValueChartDecimals = 2;
+ else if (delta > 0.1) __legendFormatValueChartDecimals = 2;
+ else __legendFormatValueChartDecimals = 4;
+ }
};
this.legendFormatValue = function(value) {
var dmin, dmax;
- if(this.value_decimal_detail !== -1) {
- dmin = dmax = this.value_decimal_detail;
- }
-
- if(this.legendFormatValueChartDecimals < 0) {
+ if(__legendFormatValueChartDecimals < 0) {
dmin = 0;
var abs = value;
if(abs > 1000) dmax = 0;
else if(abs > 10 ) dmax = 1;
else if(abs > 1) dmax = 2;
- else if(abs > 0.1) dmax = 3;
+ else if(abs > 0.1) dmax = 2;
else dmax = 4;
}
else {
- dmin = dmax = this.legendFormatValueChartDecimals;
+ dmin = dmax = __legendFormatValueChartDecimals;
+ }
+
+ if(this.value_decimal_detail !== -1) {
+ dmin = dmax = this.value_decimal_detail;
}
return value.toLocaleString(undefined, {
if(this.debug === true)
this.log('max updates of ' + this.updates_since_last_creation.toString() + ' reached. Forcing re-generation.');
- this.chart_created = false;
+ init();
+ return;
}
// check and update the legend
dygraph.updateOptions(options);
}
- // decide the decimal points on the legend of the chart
- state.legendFormatValueDecimalsFromMinMax(
- state.dygraph_instance.axes_[0].extremeRange[0],
- state.dygraph_instance.axes_[0].extremeRange[1]
- );
-
state.dygraph_last_rendered = Date.now();
return true;
};
|| 2,
valueFormatter: self.data('dygraph-valueformatter')
- || function(x){ return x.toFixed(2); },
+ || undefined,
highlightCircleSize: self.data('dygraph-highlightcirclesize')
|| highlightCircleSize,
|| undefined,
visibility: state.dimensions_visibility.selected2BooleanArray(state.data.dimension_names),
+
axes: {
x: {
pixelsPerLabel: 50,
axisLabelFormatter: function (d, gran) {
void(gran);
return NETDATA.zeropad(d.getHours()) + ":" + NETDATA.zeropad(d.getMinutes()) + ":" + NETDATA.zeropad(d.getSeconds());
- },
- valueFormatter: function (ms) {
- void(ms);
- //var d = new Date(ms);
- //return d.toLocaleDateString() + ' ' + d.toLocaleTimeString();
-
- // no need to return anything here
- return ' ';
-
}
},
y: {
pixelsPerLabel: 15,
- valueFormatter: function (x) {
- // we format legends with the state object
- // no need to do anything here
- // return (Math.round(x*100) / 100).toLocaleString();
- // return state.legendFormatValue(x);
- return x;
+ axisLabelFormatter: function (y) {
+
+ // unfortunately, we have to call this every single time
+ state.legendFormatValueDecimalsFromMinMax(
+ this.axes_[0].extremeRange[0],
+ this.axes_[0].extremeRange[1]
+ );
+
+ return state.legendFormatValue(y);
}
}
},
state.__commonMax = null;
}
- // decide the decimal points on the legend of the chart
- state.legendFormatValueDecimalsFromMinMax(
- state.dygraph_instance.axes_[0].extremeRange[0],
- state.dygraph_instance.axes_[0].extremeRange[1]
- );
-
return true;
};
var len = generateGradient.length;
while(len--) {
var pcent = generateGradient[len];
- var color = self.data('gauge-gradient-percent-color-' + pcent.toString()) || false;
+ var color = self.attr('data-gauge-gradient-percent-color-' + pcent.toString()) || false;
if(color !== false) {
var a = [];
a[0] = pcent / 100;