From 3a53b631097b2ca2c3968657faf5bc6a9b2422f2 Mon Sep 17 00:00:00 2001 From: Radoslav Karaivanov Date: Fri, 12 Nov 2021 11:52:30 +0200 Subject: [PATCH] fix(grid): Groupby stack error on a single group --- .../src/lib/data-operations/sorting-strategy.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/projects/igniteui-angular/src/lib/data-operations/sorting-strategy.ts b/projects/igniteui-angular/src/lib/data-operations/sorting-strategy.ts index 0720177ab05..0b1ae67d280 100644 --- a/projects/igniteui-angular/src/lib/data-operations/sorting-strategy.ts +++ b/projects/igniteui-angular/src/lib/data-operations/sorting-strategy.ts @@ -150,8 +150,20 @@ export class IgxSorting implements IGridSortingStrategy { fullResult.data.push(groupItem); } if (expanded) { - metadata.push(...fullResult.metadata.slice(fullResult.metadata.length - group.length)); - result.push(...fullResult.data.slice(fullResult.data.length - group.length)); + // Replaced object destructing as in a single big group scenario + // it hits the max number of arguments for a function the underlying JS engine + // supports. + let j = fullResult.metadata.length - group.length; + + for (; j < fullResult.metadata.length; j++) { + metadata.push(fullResult.metadata[j]); + } + + j = fullResult.data.length - group.length; + + for (; j < fullResult.data.length; j++) { + result.push(fullResult.data[j]); + } } } i += group.length;