@memberjunction/ng-trees 0.0.1 → 3.1.1

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.
@@ -0,0 +1,254 @@
1
+ /**
2
+ * Tree Types and Interfaces for @memberjunction/ng-trees
3
+ */
4
+ /**
5
+ * Configuration for the tree's branch (category/folder) entity.
6
+ * Branches can contain other branches and/or leaf nodes.
7
+ */
8
+ export interface TreeBranchConfig {
9
+ /** Entity name for branch nodes (e.g., 'Query Categories') */
10
+ EntityName: string;
11
+ /** Field to display as node label (default: 'Name') */
12
+ DisplayField?: string;
13
+ /** Primary key field (default: 'ID') */
14
+ IDField?: string;
15
+ /** Parent ID field for hierarchy (default: 'ParentID') */
16
+ ParentIDField?: string;
17
+ /** Field name for node icon (dynamic per-node) */
18
+ IconField?: string;
19
+ /** Static icon if IconField not provided (default: 'fa-solid fa-folder') */
20
+ DefaultIcon?: string;
21
+ /** Field name for icon/folder color */
22
+ ColorField?: string;
23
+ /** Default color if ColorField not provided */
24
+ DefaultColor?: string;
25
+ /** Optional extra filter for RunView */
26
+ ExtraFilter?: string;
27
+ /** Optional order by clause (default: 'Name ASC') */
28
+ OrderBy?: string;
29
+ /** Optional field to show as secondary text/description */
30
+ DescriptionField?: string;
31
+ /** Optional field for badge/count display */
32
+ BadgeField?: string;
33
+ /** Whether to cache results locally (default: true) */
34
+ CacheLocal?: boolean;
35
+ }
36
+ /**
37
+ * Configuration for M2M junction table relationships.
38
+ * Used when leaves relate to branches through an intermediate junction table.
39
+ */
40
+ export interface TreeJunctionConfig {
41
+ /** Junction entity name (e.g., 'MJ: Collection Artifacts') */
42
+ EntityName: string;
43
+ /** Field in junction that references the leaf entity (e.g., 'ArtifactVersionID') */
44
+ LeafForeignKey: string;
45
+ /** Field in junction that references the branch entity (e.g., 'CollectionID') */
46
+ BranchForeignKey: string;
47
+ /** Optional extra filter for the junction query */
48
+ ExtraFilter?: string;
49
+ /** Whether to cache junction results locally (default: true) */
50
+ CacheLocal?: boolean;
51
+ /**
52
+ * Optional indirect mapping when junction references an intermediate entity.
53
+ * Example: CollectionArtifact.ArtifactVersionID -> ArtifactVersion.ArtifactID -> Artifact.ID
54
+ */
55
+ IndirectLeafMapping?: {
56
+ /** Intermediate entity name (e.g., 'MJ: Artifact Versions') */
57
+ IntermediateEntity: string;
58
+ /** ID field in intermediate entity that junction references (e.g., 'ID') */
59
+ IntermediateIDField: string;
60
+ /** Field in intermediate entity that points to the actual leaf (e.g., 'ArtifactID') */
61
+ LeafIDField: string;
62
+ /** Optional extra filter for the intermediate entity query */
63
+ ExtraFilter?: string;
64
+ /** Whether to cache intermediate results locally (default: true) */
65
+ CacheLocal?: boolean;
66
+ };
67
+ }
68
+ /**
69
+ * Configuration for the tree's leaf entity (optional).
70
+ * Leaf nodes are the selectable items within branch nodes.
71
+ */
72
+ export interface TreeLeafConfig {
73
+ /** Entity name for leaf nodes (e.g., 'Queries') */
74
+ EntityName: string;
75
+ /**
76
+ * Field that links to parent branch (e.g., 'CategoryID').
77
+ * Leave empty string if using JunctionConfig for M2M relationships.
78
+ */
79
+ ParentField: string;
80
+ /** Field to display as node label (default: 'Name') */
81
+ DisplayField?: string;
82
+ /** Primary key field (default: 'ID') */
83
+ IDField?: string;
84
+ /** Field name for node icon (dynamic per-node) */
85
+ IconField?: string;
86
+ /** Static icon for all leaves (default: 'fa-solid fa-file') */
87
+ DefaultIcon?: string;
88
+ /** Optional extra filter for RunView */
89
+ ExtraFilter?: string;
90
+ /** Optional order by clause (default: 'Name ASC') */
91
+ OrderBy?: string;
92
+ /** Optional field to show as secondary text/description */
93
+ DescriptionField?: string;
94
+ /** Optional field for badge/count display */
95
+ BadgeField?: string;
96
+ /**
97
+ * Optional M2M junction configuration for indirect parent relationships.
98
+ * When specified, leaves are parented to branches based on junction table lookups
99
+ * instead of using the direct ParentField.
100
+ */
101
+ JunctionConfig?: TreeJunctionConfig;
102
+ /** Whether to cache results locally (default: true) */
103
+ CacheLocal?: boolean;
104
+ }
105
+ /**
106
+ * Node type identifier
107
+ */
108
+ export type TreeNodeType = 'branch' | 'leaf';
109
+ /**
110
+ * Internal tree node representation
111
+ */
112
+ export interface TreeNode {
113
+ /** Unique identifier */
114
+ ID: string;
115
+ /** Display text (from DisplayField) */
116
+ Label: string;
117
+ /** Node type: branch (folder) or leaf (item) */
118
+ Type: TreeNodeType;
119
+ /** Parent node ID (null for root nodes) */
120
+ ParentID: string | null;
121
+ /** Icon class (Font Awesome or similar) */
122
+ Icon: string;
123
+ /** Icon color (CSS color value) */
124
+ Color?: string;
125
+ /** Original entity data for custom access */
126
+ Data: Record<string, unknown>;
127
+ /** Child nodes (branches and/or leaves) */
128
+ Children: TreeNode[];
129
+ /** UI state: is node expanded */
130
+ Expanded: boolean;
131
+ /** UI state: is node selected */
132
+ Selected: boolean;
133
+ /** Depth level (0 = root) */
134
+ Level: number;
135
+ /** Is this node currently loading children */
136
+ Loading: boolean;
137
+ /** Secondary description text */
138
+ Description?: string;
139
+ /** Badge text (e.g., count) */
140
+ Badge?: string;
141
+ /** Is this node visible (for filtering) */
142
+ Visible: boolean;
143
+ /** Does this node match the current search */
144
+ MatchesSearch: boolean;
145
+ /** Entity name this node came from */
146
+ EntityName: string;
147
+ }
148
+ /**
149
+ * Selection mode for the tree
150
+ */
151
+ export type TreeSelectionMode = 'single' | 'multiple' | 'none';
152
+ /**
153
+ * What node types can be selected
154
+ */
155
+ export type TreeSelectableTypes = 'branch' | 'leaf' | 'both';
156
+ /**
157
+ * CSS class overrides for tree styling
158
+ */
159
+ export interface TreeStyleConfig {
160
+ /** Class for the tree container */
161
+ ContainerClass?: string;
162
+ /** Class for tree nodes */
163
+ NodeClass?: string;
164
+ /** Class for selected nodes */
165
+ SelectedClass?: string;
166
+ /** Class for hovered nodes */
167
+ HoverClass?: string;
168
+ /** Class for branch nodes */
169
+ BranchClass?: string;
170
+ /** Class for leaf nodes */
171
+ LeafClass?: string;
172
+ /** Class for expanded branches */
173
+ ExpandedClass?: string;
174
+ /** Class for the dropdown container */
175
+ DropdownClass?: string;
176
+ /** Class for the search input */
177
+ SearchInputClass?: string;
178
+ }
179
+ /**
180
+ * Keyboard navigation configuration
181
+ */
182
+ export interface TreeKeyboardConfig {
183
+ /** Enable keyboard navigation (default: true) */
184
+ Enabled?: boolean;
185
+ /** Enable type-ahead search (default: true) */
186
+ TypeAhead?: boolean;
187
+ /** Key to expand node (default: 'ArrowRight') */
188
+ ExpandKey?: string;
189
+ /** Key to collapse node (default: 'ArrowLeft') */
190
+ CollapseKey?: string;
191
+ /** Key to select node (default: 'Enter' or 'Space') */
192
+ SelectKey?: string;
193
+ }
194
+ /**
195
+ * Dropdown positioning preference
196
+ */
197
+ export type DropdownPosition = 'auto' | 'below' | 'above';
198
+ /**
199
+ * Configuration for dropdown behavior
200
+ */
201
+ export interface TreeDropdownConfig {
202
+ /** Preferred position (default: 'auto') */
203
+ Position?: DropdownPosition;
204
+ /** Max height of dropdown (default: '300px') */
205
+ MaxHeight?: string;
206
+ /** Min width of dropdown (default: match input) */
207
+ MinWidth?: string;
208
+ /** Close on outside click (default: true) */
209
+ CloseOnOutsideClick?: boolean;
210
+ /** Close on selection (single mode only, default: true) */
211
+ CloseOnSelect?: boolean;
212
+ /** Close on escape key (default: true) */
213
+ CloseOnEscape?: boolean;
214
+ /** Animation duration in ms (default: 150) */
215
+ AnimationDuration?: number;
216
+ }
217
+ /**
218
+ * Configuration for search behavior
219
+ */
220
+ export interface TreeSearchConfig {
221
+ /** Enable search (default: true for dropdown) */
222
+ Enabled?: boolean;
223
+ /** Placeholder text */
224
+ Placeholder?: string;
225
+ /** Minimum characters to trigger search (default: 1) */
226
+ MinLength?: number;
227
+ /** Debounce time in ms (default: 200) */
228
+ DebounceMs?: number;
229
+ /** Search branches (default: true) */
230
+ SearchBranches?: boolean;
231
+ /** Search leaves (default: true) */
232
+ SearchLeaves?: boolean;
233
+ /** Case sensitive search (default: false) */
234
+ CaseSensitive?: boolean;
235
+ /** Search in description field too (default: false) */
236
+ SearchDescription?: boolean;
237
+ /** Highlight matching text (default: true) */
238
+ HighlightMatches?: boolean;
239
+ /** Auto-expand to show matches (default: true) */
240
+ AutoExpandMatches?: boolean;
241
+ }
242
+ /**
243
+ * Create a default TreeNode
244
+ */
245
+ export declare function createDefaultTreeNode(partial?: Partial<TreeNode>): TreeNode;
246
+ /**
247
+ * Create default branch config with sensible defaults
248
+ */
249
+ export declare function createDefaultBranchConfig(partial?: Partial<TreeBranchConfig>): TreeBranchConfig;
250
+ /**
251
+ * Create default leaf config with sensible defaults
252
+ */
253
+ export declare function createDefaultLeafConfig(partial?: Partial<TreeLeafConfig>): TreeLeafConfig;
254
+ //# sourceMappingURL=tree-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-types.d.ts","sourceRoot":"","sources":["../../../src/lib/models/tree-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Tree Types and Interfaces for @memberjunction/ng-trees
3
+ */
4
+ // ========================================
5
+ // Helper Functions
6
+ // ========================================
7
+ /**
8
+ * Create a default TreeNode
9
+ */
10
+ export function createDefaultTreeNode(partial = {}) {
11
+ return {
12
+ ID: '',
13
+ Label: '',
14
+ Type: 'branch',
15
+ ParentID: null,
16
+ Icon: 'fa-solid fa-folder',
17
+ Data: {},
18
+ Children: [],
19
+ Expanded: false,
20
+ Selected: false,
21
+ Level: 0,
22
+ Loading: false,
23
+ Visible: true,
24
+ MatchesSearch: false,
25
+ EntityName: '',
26
+ ...partial
27
+ };
28
+ }
29
+ /**
30
+ * Create default branch config with sensible defaults
31
+ */
32
+ export function createDefaultBranchConfig(partial = {}) {
33
+ return {
34
+ EntityName: '',
35
+ DisplayField: 'Name',
36
+ IDField: 'ID',
37
+ ParentIDField: 'ParentID',
38
+ DefaultIcon: 'fa-solid fa-folder',
39
+ OrderBy: 'Name ASC',
40
+ ...partial
41
+ };
42
+ }
43
+ /**
44
+ * Create default leaf config with sensible defaults
45
+ */
46
+ export function createDefaultLeafConfig(partial = {}) {
47
+ return {
48
+ EntityName: '',
49
+ ParentField: '',
50
+ DisplayField: 'Name',
51
+ IDField: 'ID',
52
+ DefaultIcon: 'fa-solid fa-file',
53
+ OrderBy: 'Name ASC',
54
+ ...partial
55
+ };
56
+ }
57
+ //# sourceMappingURL=tree-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-types.js","sourceRoot":"","sources":["../../../src/lib/models/tree-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA+VH,2CAA2C;AAC3C,mBAAmB;AACnB,2CAA2C;AAE3C;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAA6B,EAAE;IACjE,OAAO;QACH,EAAE,EAAE,EAAE;QACN,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,EAAE;QACd,GAAG,OAAO;KACb,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,UAAqC,EAAE;IAC7E,OAAO;QACH,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,MAAM;QACpB,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,UAAU;QACzB,WAAW,EAAE,oBAAoB;QACjC,OAAO,EAAE,UAAU;QACnB,GAAG,OAAO;KACb,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAAmC,EAAE;IACzE,OAAO;QACH,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,MAAM;QACpB,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,UAAU;QACnB,GAAG,OAAO;KACb,CAAC;AACN,CAAC"}
@@ -0,0 +1,16 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./tree/tree.component";
3
+ import * as i2 from "./tree-dropdown/tree-dropdown.component";
4
+ import * as i3 from "@angular/common";
5
+ import * as i4 from "@angular/forms";
6
+ /**
7
+ * Prevents tree-shaking of the NgTrees module.
8
+ * Import this in your application's module to ensure components are available.
9
+ */
10
+ export declare function LoadNgTreesModule(): void;
11
+ export declare class NgTreesModule {
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgTreesModule, never>;
13
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NgTreesModule, [typeof i1.TreeComponent, typeof i2.TreeDropdownComponent], [typeof i3.CommonModule, typeof i4.FormsModule], [typeof i1.TreeComponent, typeof i2.TreeDropdownComponent]>;
14
+ static ɵinj: i0.ɵɵInjectorDeclaration<NgTreesModule>;
15
+ }
16
+ //# sourceMappingURL=ng-trees.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-trees.module.d.ts","sourceRoot":"","sources":["../../src/lib/ng-trees.module.ts"],"names":[],"mappings":";;;;;AAcA;;;GAGG;AACH,wBAAgB,iBAAiB,SAEhC;AAED,qBAca,aAAa;yCAAb,aAAa;0CAAb,aAAa;0CAAb,aAAa;CAAI"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * NgTrees Module for @memberjunction/ng-trees
3
+ *
4
+ * Provides tree and tree dropdown components for hierarchical entity selection.
5
+ */
6
+ import { NgModule } from '@angular/core';
7
+ import { CommonModule } from '@angular/common';
8
+ import { FormsModule } from '@angular/forms';
9
+ // Components
10
+ import { TreeComponent } from './tree/tree.component';
11
+ import { TreeDropdownComponent } from './tree-dropdown/tree-dropdown.component';
12
+ import * as i0 from "@angular/core";
13
+ /**
14
+ * Prevents tree-shaking of the NgTrees module.
15
+ * Import this in your application's module to ensure components are available.
16
+ */
17
+ export function LoadNgTreesModule() {
18
+ // This function exists to prevent tree-shaking
19
+ }
20
+ export class NgTreesModule {
21
+ static ɵfac = function NgTreesModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || NgTreesModule)(); };
22
+ static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: NgTreesModule });
23
+ static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
24
+ FormsModule] });
25
+ }
26
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NgTreesModule, [{
27
+ type: NgModule,
28
+ args: [{
29
+ declarations: [
30
+ TreeComponent,
31
+ TreeDropdownComponent
32
+ ],
33
+ imports: [
34
+ CommonModule,
35
+ FormsModule
36
+ ],
37
+ exports: [
38
+ TreeComponent,
39
+ TreeDropdownComponent
40
+ ]
41
+ }]
42
+ }], null, null); })();
43
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(NgTreesModule, { declarations: [TreeComponent,
44
+ TreeDropdownComponent], imports: [CommonModule,
45
+ FormsModule], exports: [TreeComponent,
46
+ TreeDropdownComponent] }); })();
47
+ //# sourceMappingURL=ng-trees.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-trees.module.js","sourceRoot":"","sources":["../../src/lib/ng-trees.module.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,aAAa;AACb,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;;AAEhF;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC7B,+CAA+C;AACnD,CAAC;AAgBD,MAAM,OAAO,aAAa;uGAAb,aAAa;4DAAb,aAAa;gEARlB,YAAY;YACZ,WAAW;;iFAON,aAAa;cAdzB,QAAQ;eAAC;gBACN,YAAY,EAAE;oBACV,aAAa;oBACb,qBAAqB;iBACxB;gBACD,OAAO,EAAE;oBACL,YAAY;oBACZ,WAAW;iBACd;gBACD,OAAO,EAAE;oBACL,aAAa;oBACb,qBAAqB;iBACxB;aACJ;;wFACY,aAAa,mBAZlB,aAAa;QACb,qBAAqB,aAGrB,YAAY;QACZ,WAAW,aAGX,aAAa;QACb,qBAAqB"}