@memberjunction/ng-trees 5.40.2 → 5.41.0

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.
@@ -75,7 +75,7 @@ describe('createDefaultLeafConfig', () => {
75
75
  EntityName: 'MJ: Queries',
76
76
  ParentField: 'CategoryID'
77
77
  });
78
- expect(config.EntityName).toBe('Queries');
78
+ expect(config.EntityName).toBe('MJ: Queries');
79
79
  expect(config.ParentField).toBe('CategoryID');
80
80
  });
81
81
  });
@@ -1 +1 @@
1
- {"version":3,"file":"tree-types.test.js","sourceRoot":"","sources":["../../src/__tests__/tree-types.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe, it, expect } from 'vitest';\nimport {\n createDefaultTreeNode,\n createDefaultBranchConfig,\n createDefaultLeafConfig\n} from '../lib/models/tree-types';\nimport type { TreeNode, TreeBranchConfig, TreeLeafConfig } from '../lib/models/tree-types';\n\ndescribe('createDefaultTreeNode', () => {\n it('should create node with all default values', () => {\n const node = createDefaultTreeNode();\n expect(node.ID).toBe('');\n expect(node.Label).toBe('');\n expect(node.Type).toBe('branch');\n expect(node.ParentID).toBeNull();\n expect(node.Icon).toBe('fa-solid fa-folder');\n expect(node.Data).toEqual({});\n expect(node.Children).toEqual([]);\n expect(node.Expanded).toBe(false);\n expect(node.Selected).toBe(false);\n expect(node.Level).toBe(0);\n expect(node.Loading).toBe(false);\n expect(node.Visible).toBe(true);\n expect(node.MatchesSearch).toBe(false);\n expect(node.EntityName).toBe('');\n });\n\n it('should allow partial overrides', () => {\n const node = createDefaultTreeNode({\n ID: 'node-1',\n Label: 'Test Node',\n Type: 'leaf',\n Level: 2\n });\n expect(node.ID).toBe('node-1');\n expect(node.Label).toBe('Test Node');\n expect(node.Type).toBe('leaf');\n expect(node.Level).toBe(2);\n // Defaults preserved\n expect(node.Icon).toBe('fa-solid fa-folder');\n expect(node.Expanded).toBe(false);\n });\n\n it('should create independent instances', () => {\n const node1 = createDefaultTreeNode({ ID: 'a' });\n const node2 = createDefaultTreeNode({ ID: 'b' });\n node1.Children.push(createDefaultTreeNode({ ID: 'child' }));\n expect(node2.Children).toHaveLength(0);\n });\n});\n\ndescribe('createDefaultBranchConfig', () => {\n it('should create config with defaults', () => {\n const config = createDefaultBranchConfig();\n expect(config.EntityName).toBe('');\n expect(config.DisplayField).toBe('Name');\n expect(config.IDField).toBe('ID');\n expect(config.ParentIDField).toBe('ParentID');\n expect(config.DefaultIcon).toBe('fa-solid fa-folder');\n expect(config.OrderBy).toBe('Name ASC');\n });\n\n it('should allow overrides', () => {\n const config = createDefaultBranchConfig({\n EntityName: 'MJ: Query Categories',\n DefaultIcon: 'fa-solid fa-database'\n });\n expect(config.EntityName).toBe('MJ: Query Categories');\n expect(config.DefaultIcon).toBe('fa-solid fa-database');\n expect(config.DisplayField).toBe('Name'); // default preserved\n });\n});\n\ndescribe('createDefaultLeafConfig', () => {\n it('should create config with defaults', () => {\n const config = createDefaultLeafConfig();\n expect(config.EntityName).toBe('');\n expect(config.ParentField).toBe('');\n expect(config.DisplayField).toBe('Name');\n expect(config.IDField).toBe('ID');\n expect(config.DefaultIcon).toBe('fa-solid fa-file');\n expect(config.OrderBy).toBe('Name ASC');\n });\n\n it('should allow overrides', () => {\n const config = createDefaultLeafConfig({\n EntityName: 'MJ: Queries',\n ParentField: 'CategoryID'\n });\n expect(config.EntityName).toBe('Queries');\n expect(config.ParentField).toBe('CategoryID');\n });\n});\n"]}
1
+ {"version":3,"file":"tree-types.test.js","sourceRoot":"","sources":["../../src/__tests__/tree-types.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe, it, expect } from 'vitest';\nimport {\n createDefaultTreeNode,\n createDefaultBranchConfig,\n createDefaultLeafConfig\n} from '../lib/models/tree-types';\nimport type { TreeNode, TreeBranchConfig, TreeLeafConfig } from '../lib/models/tree-types';\n\ndescribe('createDefaultTreeNode', () => {\n it('should create node with all default values', () => {\n const node = createDefaultTreeNode();\n expect(node.ID).toBe('');\n expect(node.Label).toBe('');\n expect(node.Type).toBe('branch');\n expect(node.ParentID).toBeNull();\n expect(node.Icon).toBe('fa-solid fa-folder');\n expect(node.Data).toEqual({});\n expect(node.Children).toEqual([]);\n expect(node.Expanded).toBe(false);\n expect(node.Selected).toBe(false);\n expect(node.Level).toBe(0);\n expect(node.Loading).toBe(false);\n expect(node.Visible).toBe(true);\n expect(node.MatchesSearch).toBe(false);\n expect(node.EntityName).toBe('');\n });\n\n it('should allow partial overrides', () => {\n const node = createDefaultTreeNode({\n ID: 'node-1',\n Label: 'Test Node',\n Type: 'leaf',\n Level: 2\n });\n expect(node.ID).toBe('node-1');\n expect(node.Label).toBe('Test Node');\n expect(node.Type).toBe('leaf');\n expect(node.Level).toBe(2);\n // Defaults preserved\n expect(node.Icon).toBe('fa-solid fa-folder');\n expect(node.Expanded).toBe(false);\n });\n\n it('should create independent instances', () => {\n const node1 = createDefaultTreeNode({ ID: 'a' });\n const node2 = createDefaultTreeNode({ ID: 'b' });\n node1.Children.push(createDefaultTreeNode({ ID: 'child' }));\n expect(node2.Children).toHaveLength(0);\n });\n});\n\ndescribe('createDefaultBranchConfig', () => {\n it('should create config with defaults', () => {\n const config = createDefaultBranchConfig();\n expect(config.EntityName).toBe('');\n expect(config.DisplayField).toBe('Name');\n expect(config.IDField).toBe('ID');\n expect(config.ParentIDField).toBe('ParentID');\n expect(config.DefaultIcon).toBe('fa-solid fa-folder');\n expect(config.OrderBy).toBe('Name ASC');\n });\n\n it('should allow overrides', () => {\n const config = createDefaultBranchConfig({\n EntityName: 'MJ: Query Categories',\n DefaultIcon: 'fa-solid fa-database'\n });\n expect(config.EntityName).toBe('MJ: Query Categories');\n expect(config.DefaultIcon).toBe('fa-solid fa-database');\n expect(config.DisplayField).toBe('Name'); // default preserved\n });\n});\n\ndescribe('createDefaultLeafConfig', () => {\n it('should create config with defaults', () => {\n const config = createDefaultLeafConfig();\n expect(config.EntityName).toBe('');\n expect(config.ParentField).toBe('');\n expect(config.DisplayField).toBe('Name');\n expect(config.IDField).toBe('ID');\n expect(config.DefaultIcon).toBe('fa-solid fa-file');\n expect(config.OrderBy).toBe('Name ASC');\n });\n\n it('should allow overrides', () => {\n const config = createDefaultLeafConfig({\n EntityName: 'MJ: Queries',\n ParentField: 'CategoryID'\n });\n expect(config.EntityName).toBe('MJ: Queries');\n expect(config.ParentField).toBe('CategoryID');\n });\n});\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/ng-trees",
3
- "version": "5.40.2",
3
+ "version": "5.41.0",
4
4
  "description": "MemberJunction: Angular tree and tree dropdown components for hierarchical entity selection",
5
5
  "main": "./dist/public-api.js",
6
6
  "typings": "./dist/public-api.d.ts",
@@ -8,7 +8,7 @@
8
8
  "/dist"
9
9
  ],
10
10
  "scripts": {
11
- "test": "echo \"No tests configured yet\"",
11
+ "test": "vitest run",
12
12
  "build": "ngc",
13
13
  "test:watch": "vitest"
14
14
  },
@@ -32,10 +32,10 @@
32
32
  "@angular/forms": "21.1.3"
33
33
  },
34
34
  "dependencies": {
35
- "@memberjunction/core": "5.40.2",
36
- "@memberjunction/ng-base-types": "5.40.2",
37
- "@memberjunction/core-entities": "5.40.2",
38
- "@memberjunction/global": "5.40.2",
35
+ "@memberjunction/core": "5.41.0",
36
+ "@memberjunction/ng-base-types": "5.41.0",
37
+ "@memberjunction/core-entities": "5.41.0",
38
+ "@memberjunction/global": "5.41.0",
39
39
  "tslib": "^2.8.1",
40
40
  "rxjs": "^7.8.2"
41
41
  },