dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #30872
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 15701: DV, empty value dash removed + legend config improved.
Merge authors:
Jan Henrik Øverland (janhenrik-overland)
------------------------------------------------------------
revno: 15701 [merge]
committer: Jan Henrik Overland <janhenrik.overland@xxxxxxxxx>
branch nick: dhis2
timestamp: Mon 2014-06-16 15:23:25 +0200
message:
DV, empty value dash removed + legend config improved.
modified:
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/plugin.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-06-03 09:42:46 +0000
+++ dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/scripts/core.js 2014-06-16 13:20:22 +0000
@@ -574,6 +574,8 @@
layout.parentGraphMap = Ext.isObject(config.parentGraphMap) ? config.parentGraphMap : null;
+ layout.legend = Ext.isObject(config.legend) ? config.legend : null;
+
if (!validateSpecialCases()) {
return;
}
@@ -2005,13 +2007,28 @@
getDefaultSeriesTitle = function(store) {
var a = [];
- for (var i = 0, id, ids; i < store.rangeFields.length; i++) {
- id = store.rangeFields[i];
- a.push(xResponse.metaData.names[id]);
+ if (Ext.isObject(xLayout.legend) && Ext.isArray(xLayout.legend.seriesNames)) {
+ return xLayout.legend.seriesNames;
+ }
+ else {
+ for (var i = 0, id, name, mxl, ids; i < store.rangeFields.length; i++) {
+ id = store.rangeFields[i];
+ name = xResponse.metaData.names[id];
+
+ if (Ext.isObject(xLayout.legend) && xLayout.legend.maxLength) {
+ var mxl = parseInt(xLayout.legend.maxLength);
+
+ if (Ext.isNumber(mxl)) {
+ name = name.substr(0, mxl) + '..';
+ }
+ }
+
+ a.push(name);
+ }
}
return a;
- };
+ };
getDefaultSeries = function(store) {
var main = {
@@ -2038,7 +2055,7 @@
field: store.rangeFields,
font: conf.chart.style.fontFamily,
renderer: function(n) {
- return n === '0.0' ? '-' : n;
+ return n === '0.0' ? '' : n;
}
};
}
@@ -2150,7 +2167,9 @@
width,
isVertical = false,
position = 'top',
- padding = 0;
+ fontSize = 12,
+ padding = 0,
+ positions = ['top', 'right', 'bottom', 'left'];
if (xLayout.type === conf.finals.chart.pie) {
numberOfItems = store.getCount();
@@ -2187,10 +2206,20 @@
padding = 5;
}
+ // legend
+ if (xLayout.legend) {
+ if (Ext.Array.contains(positions, xLayout.legend.position)) {
+ position = xLayout.legend.position;
+ }
+
+ fontSize = parseInt(xLayout.legend.fontSize) || fontSize;
+ fontSize = fontSize + 'px';
+ }
+
return Ext.create('Ext.chart.Legend', {
position: position,
isVertical: isVertical,
- labelFont: '13px ' + conf.chart.style.fontFamily,
+ labelFont: fontSize + ' ' + conf.chart.style.fontFamily,
boxStroke: '#ffffff',
boxStrokeWidth: 0,
padding: padding
=== modified file 'dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/scripts/plugin.js'
--- dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/scripts/plugin.js 2014-06-12 11:37:11 +0000
+++ dhis-2/dhis-web/dhis-web-visualizer/src/main/webapp/dhis-web-visualizer/app/scripts/plugin.js 2014-06-16 13:20:22 +0000
@@ -633,7 +633,7 @@
layout.parentGraphMap = Ext.isObject(config.parentGraphMap) ? config.parentGraphMap : null;
- layout.legendPosition = config.legendPosition && Ext.isString(config.legendPosition) ? config.legendPosition : null;
+ layout.legend = Ext.isObject(config.legend) ? config.legend : null;
if (!validateSpecialCases()) {
return;
@@ -2036,9 +2036,24 @@
getDefaultSeriesTitle = function(store) {
var a = [];
- for (var i = 0, id, ids; i < store.rangeFields.length; i++) {
- id = store.rangeFields[i];
- a.push(xResponse.metaData.names[id]);
+ if (Ext.isObject(xLayout.legend) && Ext.isArray(xLayout.legend.seriesNames)) {
+ return xLayout.legend.seriesNames;
+ }
+ else {
+ for (var i = 0, id, name, mxl, ids; i < store.rangeFields.length; i++) {
+ id = store.rangeFields[i];
+ name = xResponse.metaData.names[id];
+
+ if (Ext.isObject(xLayout.legend) && xLayout.legend.maxLength) {
+ var mxl = parseInt(xLayout.legend.maxLength);
+
+ if (Ext.isNumber(mxl)) {
+ name = name.substr(0, mxl) + '..';
+ }
+ }
+
+ a.push(name);
+ }
}
return a;
@@ -2069,7 +2084,7 @@
field: store.rangeFields,
font: conf.chart.style.fontFamily,
renderer: function(n) {
- return n === '0.0' ? '-' : n;
+ return n === '0.0' ? '' : n;
}
};
}
@@ -2181,6 +2196,7 @@
width,
isVertical = false,
position = 'top',
+ fontSize = 12,
padding = 0,
positions = ['top', 'right', 'bottom', 'left'];
@@ -2219,15 +2235,20 @@
padding = 5;
}
- // position
- if (Ext.Array.contains(positions, xLayout.legendPosition)) {
- position = xLayout.legendPosition;
+ // legend
+ if (xLayout.legend) {
+ if (Ext.Array.contains(positions, xLayout.legend.position)) {
+ position = xLayout.legend.position;
+ }
+
+ fontSize = parseInt(xLayout.legend.fontSize) || fontSize;
+ fontSize = fontSize + 'px';
}
return Ext.create('Ext.chart.Legend', {
position: position,
isVertical: isVertical,
- labelFont: '13px ' + conf.chart.style.fontFamily,
+ labelFont: fontSize + ' ' + conf.chart.style.fontFamily,
boxStroke: '#ffffff',
boxStrokeWidth: 0,
padding: padding
@@ -2882,7 +2903,7 @@
web.chart = web.chart || {};
- web.chart.loadChart = function(id) {
+ web.chart.loadChart = function(id, config) {
if (!Ext.isString(id)) {
alert('Invalid chart id');
return;
@@ -2894,6 +2915,8 @@
window.open(init.contextPath + '/api/charts/' + id + '.json?viewClass=dimensional&links=false', '_blank');
},
success: function(r) {
+ Ext.apply(r, config);
+
var layout = api.layout.Layout(r);
if (layout) {
@@ -3034,7 +3057,7 @@
ns.app.centerRegion = ns.app.viewport.centerRegion;
if (config.id) {
- ns.core.web.chart.loadChart(config.id);
+ ns.core.web.chart.loadChart(config.id, config);
}
else {
layout = ns.core.api.layout.Layout(config);