@one-paragon/angular-utilities 2.6.0 → 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,15 +4549,17 @@ 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, parentGroupName) => {
4552
+ let tbGroupBy = (data, groupByDatas, level = 1, metaData, parent) => {
4553
4553
  const currentGroupData = groupByDatas[0];
4554
- const groupedDataArr = groupData(currentGroupData, data, level, metaData, parentGroupName);
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) {
4558
+ //update the group with children groups and related data
4558
4559
  //group the children by iterating over each group and grouping it by the next keys
4559
4560
  const groupOfGroups = groupedDataArr.map((group) => {
4560
4561
  const children = group.children;
4562
+ const groups = tbGroupBy(children, remainingGroupByDatas, level + 1, metaData, group);
4561
4563
  const groupGroup = {
4562
4564
  groupName: group.groupName,
4563
4565
  groupHeaderDisplay: group.groupHeaderDisplay,
@@ -4568,7 +4570,8 @@ let tbGroupBy = (data, groupByDatas, level = 1, metaData, parentGroupName) => {
4568
4570
  padding: group.padding,
4569
4571
  level: group.level,
4570
4572
  length: group.length,
4571
- groups: tbGroupBy(children, remainingGroupByDatas, level + 1, metaData, group.groupName),
4573
+ groups,
4574
+ parent: group.parent,
4572
4575
  [initIndexSymbol]: group[initIndexSymbol],
4573
4576
  custom: false
4574
4577
  };
@@ -4578,14 +4581,14 @@ let tbGroupBy = (data, groupByDatas, level = 1, metaData, parentGroupName) => {
4578
4581
  }
4579
4582
  return groupedDataArr;
4580
4583
  };
4581
- function groupData(groupByData, groupData, level = 1, metaData, parentGroupName) {
4584
+ function groupData(groupByData, groupData, level = 1, metaData, parent) {
4582
4585
  const groupByKey = groupByData.key;
4583
4586
  const meta = metaData[groupByKey];
4584
4587
  const metaGroupGroupBy = meta && (meta.groupByLogic?.groupBy === 'use map' ? meta.map : meta.groupByLogic?.groupBy);
4585
4588
  const getter = metaGroupGroupBy || getFactory(groupByKey);
4586
4589
  const groupedDataDict = supportsGroupBy ? Object.groupBy(groupData, d => getter(d) ?? null) : groupBy(groupData, groupByKey);
4587
4590
  let groupedDataArr = Object.entries(groupedDataDict).map(([name, groupData], index) => {
4588
- const uniqueName = parentGroupName ? `${parentGroupName}-${name}` : name;
4591
+ const uniqueName = parent?.groupName ? `${parent.groupName}-${name}` : name;
4589
4592
  return {
4590
4593
  isGroupHeader: true,
4591
4594
  groupHeaderDisplay: name,
@@ -4598,6 +4601,7 @@ function groupData(groupByData, groupData, level = 1, metaData, parentGroupName)
4598
4601
  uniqueName,
4599
4602
  level,
4600
4603
  custom: false,
4604
+ parent,
4601
4605
  [initIndexSymbol]: index,
4602
4606
  };
4603
4607
  });