=== modified file 'dhis-2/dhis-web/dhis-web-event-reports/src/main/webapp/dhis-web-event-reports/app/scripts/core.js' --- dhis-2/dhis-web/dhis-web-event-reports/src/main/webapp/dhis-web-event-reports/app/scripts/core.js 2014-05-10 12:35:19 +0000 +++ dhis-2/dhis-web/dhis-web-event-reports/src/main/webapp/dhis-web-event-reports/app/scripts/core.js 2014-05-10 16:06:42 +0000 @@ -1313,10 +1313,13 @@ } // add span and children - for (var i = 0; i < aaAllFloorObjects.length; i++) { + for (var i = 0, aAboveFloorObjects, doorIds, uniqueDoorIds; i < aaAllFloorObjects.length; i++) { + doorIds = []; + for (var j = 0, obj, doorCount = 0, oldestObj; j < aaAllFloorObjects[i].length; j++) { obj = aaAllFloorObjects[i][j]; + doorIds.push(obj.id); if (doorCount === 0) { @@ -1324,8 +1327,9 @@ obj[spanType] = aFloorSpan[i]; // children - //obj.children = Ext.isDefined(aFloorSpan[i + 1]) ? aFloorSpan[i] / aFloorSpan[i + 1] : 0; - obj.children = obj.leaf ? 0 : aFloorSpan[i]; + if (obj.leaf) { + obj.children = 0; + } // first sibling obj.oldest = true; @@ -1345,6 +1349,16 @@ doorCount = 0; } } + + // set above floor door children to number of unique door ids on this floor + if (i > 0) { + aAboveFloorObjects = aaAllFloorObjects[i-1]; + uniqueDoorIds = Ext.Array.unique(doorIds); + + for (var j = 0; j < aAboveFloorObjects.length; j++) { + aAboveFloorObjects[j].children = uniqueDoorIds.length; + } + } } // add parents if more than 1 floor === modified file 'dhis-2/dhis-web/dhis-web-pivot/src/main/webapp/dhis-web-pivot/app/scripts/core.js' --- dhis-2/dhis-web/dhis-web-pivot/src/main/webapp/dhis-web-pivot/app/scripts/core.js 2014-05-10 12:35:19 +0000 +++ dhis-2/dhis-web/dhis-web-pivot/src/main/webapp/dhis-web-pivot/app/scripts/core.js 2014-05-10 16:06:42 +0000 @@ -1445,10 +1445,13 @@ } // add span and children - for (var i = 0; i < aaAllFloorObjects.length; i++) { + for (var i = 0, aAboveFloorObjects, doorIds, uniqueDoorIds; i < aaAllFloorObjects.length; i++) { + doorIds = []; + for (var j = 0, obj, doorCount = 0, oldestObj; j < aaAllFloorObjects[i].length; j++) { obj = aaAllFloorObjects[i][j]; + doorIds.push(obj.id); if (doorCount === 0) { @@ -1456,7 +1459,9 @@ obj[spanType] = aFloorSpan[i]; // children - obj.children = obj.leaf ? 0 : aFloorSpan[i]; + if (obj.leaf) { + obj.children = 0; + } // first sibling obj.oldest = true; @@ -1476,6 +1481,16 @@ doorCount = 0; } } + + // set above floor door children to number of unique door ids on this floor + if (i > 0) { + aAboveFloorObjects = aaAllFloorObjects[i-1]; + uniqueDoorIds = Ext.Array.unique(doorIds); + + for (var j = 0; j < aAboveFloorObjects.length; j++) { + aAboveFloorObjects[j].children = uniqueDoorIds.length; + } + } } // add parents if more than 1 floor