dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #28760
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 14405: DV, numeric axis decimals.
Merge authors:
Jan Henrik Øverland (janhenrik-overland)
------------------------------------------------------------
revno: 14405 [merge]
committer: Jan Henrik Overland <janhenrik.overland@xxxxxxxxx>
branch nick: dhis2
timestamp: Tue 2014-03-25 16:07:17 +0100
message:
DV, numeric axis decimals.
modified:
dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/scripts/core.js
--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk
Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/scripts/core.js'
--- dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/scripts/core.js 2014-03-25 14:13:37 +0000
+++ dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/scripts/core.js 2014-03-25 15:06:12 +0000
@@ -1833,6 +1833,25 @@
return false;
};
+ store.getNumberOfDecimals = function() {
+ var records = store.getRange(),
+ values = [];
+
+ for (var i = 0; i < records.length; i++) {
+ for (var j = 0, value; j < store.rangeFields.length; j++) {
+ value = records[i].data[store.rangeFields[j]];
+
+ if (Ext.isNumber(value) && (value % 1)) {
+ value = value.toString();
+
+ values.push(value.length - value.indexOf('.') - 1);
+ }
+ }
+ }
+
+ return Ext.Array.max(values);
+ };
+
if (DV.isDebug) {
console.log("data", data);
console.log("rangeFields", store.rangeFields);
@@ -1849,9 +1868,19 @@
var typeConf = conf.finals.chart,
minimum = store.getMinimum(),
maximum,
- renderer,
+ numberOfDecimals,
axis;
+ getRenderer = function(numberOfDecimals) {
+ var renderer = '0.';
+
+ for (var i = 0; i < numberOfDecimals; i++) {
+ renderer += '0';
+ }
+
+ return renderer;
+ };
+
// set maximum if stacked + extra line
if ((xLayout.type === typeConf.stackedcolumn || xLayout.type === typeConf.stackedbar) &&
(xLayout.showTrendLine || xLayout.targetLineValue || xLayout.baseLineValue)) {
@@ -1861,7 +1890,8 @@
}
// renderer
- renderer = store.hasDecimals() && (store.getMaximum() < 20) ? '0.0' : '0,0';
+ numberOfDecimals = store.getNumberOfDecimals();
+ renderer = !!numberOfDecimals && (store.getMaximum() < 20) ? getRenderer(numberOfDecimals) : '0,0';
axis = {
type: 'Numeric',