diff options
author | Michael Leibman <michael.leibman@gmail.com> | 2013-02-27 17:08:04 -0800 |
---|---|---|
committer | Michael Leibman <michael.leibman@gmail.com> | 2013-02-27 17:08:04 -0800 |
commit | 4c48e038c6b50c1fda9bd11bc0a13ff6f3f4749d (patch) | |
tree | 901bb7e4f7167918b3e5711db50f37b026f7b9e2 /slick.dataview.js | |
parent | 90964ce5541bc2f381b6c60893f60029f24f907b (diff) | |
download | SlickGrid-4c48e038c6b50c1fda9bd11bc0a13ff6f3f4749d.zip SlickGrid-4c48e038c6b50c1fda9bd11bc0a13ff6f3f4749d.tar.gz SlickGrid-4c48e038c6b50c1fda9bd11bc0a13ff6f3f4749d.tar.bz2 |
Optimize up DataView aggregation.
Diffstat (limited to 'slick.dataview.js')
-rw-r--r-- | slick.dataview.js | 10 |
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); } } |