@one-paragon/angular-utilities 2.6.1 → 2.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -4549,9 +4549,9 @@ const supportsGroupBy = typeof Object.groupBy === 'function';
|
|
|
4549
4549
|
function getGroupedData(data, groupByDatas, metaData) {
|
|
4550
4550
|
return tbGroupBy(data, groupByDatas, 1, metaData);
|
|
4551
4551
|
}
|
|
4552
|
-
let tbGroupBy = (data, groupByDatas, level = 1, metaData,
|
|
4552
|
+
let tbGroupBy = (data, groupByDatas, level = 1, metaData, parent) => {
|
|
4553
4553
|
const currentGroupData = groupByDatas[0];
|
|
4554
|
-
const groupedDataArr = groupData(currentGroupData, data, level, metaData,
|
|
4554
|
+
const groupedDataArr = groupData(currentGroupData, data, level, metaData, parent);
|
|
4555
4555
|
const remainingGroupByDatas = groupByDatas.slice(1);
|
|
4556
4556
|
const hasChildrenGroups = !!remainingGroupByDatas.length;
|
|
4557
4557
|
if (hasChildrenGroups) {
|
|
@@ -4559,8 +4559,7 @@ let tbGroupBy = (data, groupByDatas, level = 1, metaData, parentGroupName) => {
|
|
|
4559
4559
|
//group the children by iterating over each group and grouping it by the next keys
|
|
4560
4560
|
const groupOfGroups = groupedDataArr.map((group) => {
|
|
4561
4561
|
const children = group.children;
|
|
4562
|
-
const groups = tbGroupBy(children, remainingGroupByDatas, level + 1, metaData, group
|
|
4563
|
-
groups.forEach(g => g.parent = group);
|
|
4562
|
+
const groups = tbGroupBy(children, remainingGroupByDatas, level + 1, metaData, group);
|
|
4564
4563
|
const groupGroup = {
|
|
4565
4564
|
groupName: group.groupName,
|
|
4566
4565
|
groupHeaderDisplay: group.groupHeaderDisplay,
|
|
@@ -4571,7 +4570,8 @@ let tbGroupBy = (data, groupByDatas, level = 1, metaData, parentGroupName) => {
|
|
|
4571
4570
|
padding: group.padding,
|
|
4572
4571
|
level: group.level,
|
|
4573
4572
|
length: group.length,
|
|
4574
|
-
groups
|
|
4573
|
+
groups,
|
|
4574
|
+
parent: group.parent,
|
|
4575
4575
|
[initIndexSymbol]: group[initIndexSymbol],
|
|
4576
4576
|
custom: false
|
|
4577
4577
|
};
|
|
@@ -4581,14 +4581,14 @@ let tbGroupBy = (data, groupByDatas, level = 1, metaData, parentGroupName) => {
|
|
|
4581
4581
|
}
|
|
4582
4582
|
return groupedDataArr;
|
|
4583
4583
|
};
|
|
4584
|
-
function groupData(groupByData, groupData, level = 1, metaData,
|
|
4584
|
+
function groupData(groupByData, groupData, level = 1, metaData, parent) {
|
|
4585
4585
|
const groupByKey = groupByData.key;
|
|
4586
4586
|
const meta = metaData[groupByKey];
|
|
4587
4587
|
const metaGroupGroupBy = meta && (meta.groupByLogic?.groupBy === 'use map' ? meta.map : meta.groupByLogic?.groupBy);
|
|
4588
4588
|
const getter = metaGroupGroupBy || getFactory(groupByKey);
|
|
4589
4589
|
const groupedDataDict = supportsGroupBy ? Object.groupBy(groupData, d => getter(d) ?? null) : groupBy(groupData, groupByKey);
|
|
4590
4590
|
let groupedDataArr = Object.entries(groupedDataDict).map(([name, groupData], index) => {
|
|
4591
|
-
const uniqueName =
|
|
4591
|
+
const uniqueName = parent?.groupName ? `${parent.groupName}-${name}` : name;
|
|
4592
4592
|
return {
|
|
4593
4593
|
isGroupHeader: true,
|
|
4594
4594
|
groupHeaderDisplay: name,
|
|
@@ -4601,6 +4601,7 @@ function groupData(groupByData, groupData, level = 1, metaData, parentGroupName)
|
|
|
4601
4601
|
uniqueName,
|
|
4602
4602
|
level,
|
|
4603
4603
|
custom: false,
|
|
4604
|
+
parent,
|
|
4604
4605
|
[initIndexSymbol]: index,
|
|
4605
4606
|
};
|
|
4606
4607
|
});
|