summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--slick.dataview.js10
1 files changed, 6 insertions, 4 deletions
diff --git a/slick.dataview.js b/slick.dataview.js
index ffdba82..85f2339 100644
--- a/slick.dataview.js
+++ b/slick.dataview.js
@@ -508,21 +508,23 @@
group.totals = totals;
}
- function calculateTotals(groups) {
+ function calculateTotals(groups, level) {
+ level = level || 0;
+ var gi = groupingInfos[level];
var idx = groups.length, g;
while (idx--) {
g = groups[idx];
- if (g.collapsed && !groupingInfos[g.level].aggregateCollapsed) {
+ if (g.collapsed && !gi.aggregateCollapsed) {
continue;
}
// Do a depth-first aggregation so that parent setGrouping aggregators can access subgroup totals.
if (g.groups) {
- calculateTotals(g.groups);
+ calculateTotals(g.groups, level + 1);
}
- if (groupingInfos[g.level].aggregators.length) {
+ if (gi.aggregators.length) {
calculateGroupTotals(g);
}
}