@contrail/data-grouping 1.0.25 → 1.0.26

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,6 @@
1
1
  import { DataGroup, DataGroupStructure, DataGroupingProperty } from '../interfaces';
2
2
  export declare class DataGroupGenerator {
3
- static getDistinctValues(data: any, indexRootSlug: any, indexSlug?: any, altIndexRootSlug?: any, altIndexSlug?: any, groupMultiSelectInSeparateFrame?: boolean): any[];
3
+ static getDistinctValues(data: any, index: any, altIndex?: any, groupMultiSelectInSeparateFrame?: boolean): any[];
4
4
  static buildChildDataGroups(data: any, parentGroup: DataGroup, groupingProperties: Array<DataGroupingProperty>, leafNodeDataCount: any, currentDepth: any, groupMultiSelectInSeparateFrame?: boolean): void;
5
5
  static buildDataGroupStructure(data: Array<any>, groupingProperties: Array<DataGroupingProperty>, leafNodeDataCount: number, groupMultiSelectInSeparateFrame?: boolean): DataGroupStructure;
6
6
  static createPartitionedGroupsFromData(parentGroup: DataGroup, data: Array<any>, leafNodeDataCount: number): Array<DataGroup>;
@@ -4,17 +4,17 @@ exports.DataGroupGenerator = void 0;
4
4
  const util_1 = require("@contrail/util");
5
5
  const types_1 = require("@contrail/types");
6
6
  class DataGroupGenerator {
7
- static getDistinctValues(data, indexRootSlug, indexSlug = null, altIndexRootSlug = null, altIndexSlug = null, groupMultiSelectInSeparateFrame = false) {
7
+ static getDistinctValues(data, index, altIndex = null, groupMultiSelectInSeparateFrame = false) {
8
8
  const map = new Map();
9
9
  const sortingArray = [];
10
10
  data.forEach(obj => {
11
11
  if (!obj) {
12
12
  return;
13
13
  }
14
- let key = util_1.ObjectUtil.getBySlugs(obj, indexRootSlug, indexSlug);
14
+ let key = util_1.ObjectUtil.getByPath(obj, index);
15
15
  let altKey = null;
16
- if (altIndexRootSlug) {
17
- altKey = util_1.ObjectUtil.getBySlugs(obj, altIndexRootSlug, altIndexSlug);
16
+ if (altIndex) {
17
+ altKey = util_1.ObjectUtil.getByPath(obj, altIndex);
18
18
  if (!key) {
19
19
  key = altKey;
20
20
  }
@@ -50,15 +50,12 @@ class DataGroupGenerator {
50
50
  }
51
51
  static buildChildDataGroups(data, parentGroup, groupingProperties, leafNodeDataCount, currentDepth, groupMultiSelectInSeparateFrame = false) {
52
52
  const groupingProperty = groupingProperties[currentDepth];
53
- const indexRootSlug = groupingProperty.typeRootSlug;
54
- const indexSlug = groupingProperty.propertyDefinition.slug;
55
- const altIndexRootSlug = util_1.StringUtil.convertToCamelCase(groupingProperty.typeRootSlug);
56
- const altIndexSlug = groupingProperty.propertyDefinition.slug;
57
- let distinctValues = this.getDistinctValues(data, indexRootSlug, indexSlug, altIndexRootSlug, altIndexSlug, groupMultiSelectInSeparateFrame);
53
+ const index = groupingProperty.typeRootSlug + '.' + groupingProperty.propertyDefinition.slug;
54
+ const altIndex = util_1.StringUtil.convertToCamelCase(groupingProperty.typeRootSlug) + '.' + groupingProperty.propertyDefinition.slug;
55
+ let distinctValues = this.getDistinctValues(data, index, altIndex, groupMultiSelectInSeparateFrame);
58
56
  for (let val of distinctValues) {
59
57
  const groupData = data.filter(obj => {
60
- const objVal = util_1.ObjectUtil.getBySlugs(obj, indexRootSlug, indexSlug) ||
61
- util_1.ObjectUtil.getBySlugs(obj, altIndexRootSlug, altIndexSlug);
58
+ const objVal = util_1.ObjectUtil.getByPath(obj, index) || util_1.ObjectUtil.getByPath(obj, altIndex);
62
59
  if (Array.isArray(val) && Array.isArray(objVal)) {
63
60
  return val.sort().join() === objVal.sort().join();
64
61
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contrail/data-grouping",
3
- "version": "1.0.25",
3
+ "version": "1.0.26",
4
4
  "description": "Utilities and interfaces for grouping data into hierarchial data structures based on properties.",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -14,7 +14,7 @@
14
14
  "author": "",
15
15
  "license": "ISC",
16
16
  "devDependencies": {
17
- "@contrail/util": "^1.0.62",
17
+ "@contrail/util": "^1.0.63",
18
18
  "@types/jest": "^29.5.2",
19
19
  "jest": "^29.5.0",
20
20
  "prettier": "^1.19.1",