@ni/nimble-angular 19.2.4 → 19.3.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.
@@ -39,6 +39,12 @@ export class NimbleTableDirective {
39
39
  set idFieldName(value) {
40
40
  this.renderer.setProperty(this.elementRef.nativeElement, 'idFieldName', value);
41
41
  }
42
+ get parentIdFieldName() {
43
+ return this.elementRef.nativeElement.parentIdFieldName;
44
+ }
45
+ set parentIdFieldName(value) {
46
+ this.renderer.setProperty(this.elementRef.nativeElement, 'parentIdFieldName', value);
47
+ }
42
48
  get selectionMode() {
43
49
  return this.elementRef.nativeElement.selectionMode;
44
50
  }
@@ -65,7 +71,7 @@ export class NimbleTableDirective {
65
71
  }
66
72
  }
67
73
  NimbleTableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NimbleTableDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
68
- NimbleTableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: NimbleTableDirective, selector: "nimble-table", inputs: { data$: "data$", idFieldName: ["id-field-name", "idFieldName"], selectionMode: ["selection-mode", "selectionMode"] }, ngImport: i0 });
74
+ NimbleTableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: NimbleTableDirective, selector: "nimble-table", inputs: { data$: "data$", idFieldName: ["id-field-name", "idFieldName"], parentIdFieldName: ["parent-id-field-name", "parentIdFieldName"], selectionMode: ["selection-mode", "selectionMode"] }, ngImport: i0 });
69
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NimbleTableDirective, decorators: [{
70
76
  type: Directive,
71
77
  args: [{
@@ -76,8 +82,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
76
82
  }], idFieldName: [{
77
83
  type: Input,
78
84
  args: ['id-field-name']
85
+ }], parentIdFieldName: [{
86
+ type: Input,
87
+ args: ['parent-id-field-name']
79
88
  }], selectionMode: [{
80
89
  type: Input,
81
90
  args: ['selection-mode']
82
91
  }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLXRhYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3RhYmxlL25pbWJsZS10YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBYyxRQUFRLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUU1RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7QUFJbkYsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDO0FBRXBCLE9BQU8sRUFBK0QscUJBQXFCLEVBQUUsQ0FBQztBQUU5Rjs7R0FFRztBQUlILE1BQU0sT0FBTyxvQkFBb0I7SUFrRDdCLFlBQW9DLFFBQW1CLEVBQW1CLFVBQW9DO1FBQTFFLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBbUIsZUFBVSxHQUFWLFVBQVUsQ0FBMEI7SUFBRyxDQUFDO0lBakRsSCxJQUFXLEtBQUs7UUFDWixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsSUFBb0IsS0FBSyxDQUFDLEtBQXNDO1FBQzVELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUVyQyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUNuQyxJQUFJLENBQUMsRUFBRTtnQkFDSCxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUIsQ0FBQyxDQUNKLENBQUM7U0FDTDtJQUNMLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7SUFDckQsQ0FBQztJQUVELElBQW1DLFdBQVcsQ0FBQyxLQUFnQztRQUMzRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBb0MsYUFBYSxDQUFDLEtBQTRCO1FBQzFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDbEQsQ0FBQztJQU9NLFdBQVc7UUFDZCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVNLGFBQWE7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6RCxDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFzQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU0sS0FBSyxDQUFDLG9CQUFvQjtRQUM3QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDaEUsQ0FBQztJQUVNLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxTQUFtQjtRQUNqRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7O2tIQXRFUSxvQkFBb0I7c0dBQXBCLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO2lCQUMzQjt5SEFldUIsS0FBSztzQkFBeEIsS0FBSztnQkFpQjZCLFdBQVc7c0JBQTdDLEtBQUs7dUJBQUMsZUFBZTtnQkFRYyxhQUFhO3NCQUFoRCxLQUFLO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0eXBlIFRhYmxlLCB0YWJsZVRhZyB9IGZyb20gJ0BuaS9uaW1ibGUtY29tcG9uZW50cy9kaXN0L2VzbS90YWJsZSc7XG5pbXBvcnQgdHlwZSB7IFRhYmxlUmVjb3JkLCBUYWJsZUZpZWxkTmFtZSwgVGFibGVGaWVsZFZhbHVlLCBUYWJsZVZhbGlkaXR5LCBUYWJsZUFjdGlvbk1lbnVUb2dnbGVFdmVudERldGFpbCwgVGFibGVSb3dTZWxlY3Rpb25FdmVudERldGFpbCwgVGFibGVDb2x1bW5Db25maWd1cmF0aW9uQ2hhbmdlRXZlbnREZXRhaWwsIFRhYmxlQ29sdW1uQ29uZmlndXJhdGlvbiB9IGZyb20gJ0BuaS9uaW1ibGUtY29tcG9uZW50cy9kaXN0L2VzbS90YWJsZS90eXBlcyc7XG5pbXBvcnQgeyBUYWJsZVJvd1NlbGVjdGlvbk1vZGUgfSBmcm9tICdAbmkvbmltYmxlLWNvbXBvbmVudHMvZGlzdC9lc20vdGFibGUvdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IHR5cGUgeyBUYWJsZSB9O1xuZXhwb3J0IHsgdGFibGVUYWcgfTtcbmV4cG9ydCB0eXBlIHsgVGFibGVBY3Rpb25NZW51VG9nZ2xlRXZlbnREZXRhaWwsIFRhYmxlUm93U2VsZWN0aW9uRXZlbnREZXRhaWwsIFRhYmxlQ29sdW1uQ29uZmlndXJhdGlvbkNoYW5nZUV2ZW50RGV0YWlsLCBUYWJsZUNvbHVtbkNvbmZpZ3VyYXRpb24gfTtcbmV4cG9ydCB7IFRhYmxlUmVjb3JkLCBUYWJsZUZpZWxkTmFtZSwgVGFibGVGaWVsZFZhbHVlLCBUYWJsZVZhbGlkaXR5LCBUYWJsZVJvd1NlbGVjdGlvbk1vZGUgfTtcblxuLyoqXG4gKiBEaXJlY3RpdmUgdG8gcHJvdmlkZSBBbmd1bGFyIGludGVncmF0aW9uIGZvciB0aGUgdGFibGUgZWxlbWVudC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICduaW1ibGUtdGFibGUnXG59KVxuZXhwb3J0IGNsYXNzIE5pbWJsZVRhYmxlRGlyZWN0aXZlPFREYXRhIGV4dGVuZHMgVGFibGVSZWNvcmQgPSBUYWJsZVJlY29yZD4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHB1YmxpYyBnZXQgZGF0YSQoKTogT2JzZXJ2YWJsZTxURGF0YVtdPiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFPYnNlcnZhYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFuIGBPYnNlcnZhYmxlPFREYXRhW10+YCB0aGF0IGVtaXRzIGRhdGEgdGhhdCBzaG91bGQgYmUgc2V0IG9uIHRoZSB0YWJsZS5cbiAgICAgKlxuICAgICAqIFdoZW4gdXNpbmcgYGRhdGEkYCwgdGhlIHRpbWluZyBvZiB3aGVuIHRoZSB0YWJsZSBoYXMgYmVlbiB1cGRhdGVkIHdpdGggYSBuZXcgY29sbGVjdGlvbiBvZiBkYXRhXG4gICAgICogY2Fubm90IGJlIG9ic2VydmVkIG9yIGF3YWl0IGJ5IGFuIGFwcGxpY2F0aW9uLiBJZiBhbiBhcHBsaWNhdGlvbiBuZWVkcyB0byBrbm93IHdoZW4gdGhlIGRhdGEgaGFzXG4gICAgICogYmVlbiBhcHBsaWVkLCBleHBsaWNpdGx5IGNhbGwgYHNldERhdGEoKWAgcmF0aGVyIHRoYW4gdXNpbmcgdGhlIGBkYXRhJGAgcHJvcGVydHkuIEZvciBleGFtcGxlLFxuICAgICAqIGNhbGxpbmcgYGdldFNlbGVjdGVkUmVjb3JkSWRzKClgIGltbWVkaWF0ZWx5IGFmdGVyIGVtaXR0aW5nIGEgbmV3IHZhbHVlIHRvIHRoZSBgZGF0YSRgIGBPYnNlcnZhYmxlYFxuICAgICAqIG1heSBub3QgdGFrZSB0aGUgbmV3IGRhdGEgaW50byBhY2NvdW50IHdoZW4gZGV0ZXJtaW5pbmcgdGhlIHNlbGVjdGVkIHJlY29yZHMuXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHNldCBkYXRhJCh2YWx1ZTogT2JzZXJ2YWJsZTxURGF0YVtdPiB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLmRhdGFTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICAgICAgdGhpcy5kYXRhT2JzZXJ2YWJsZSA9IHZhbHVlO1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YVN1YnNjcmlwdGlvbiA9IHZhbHVlLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICBuZXh0ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdm9pZCB0aGlzLnNldERhdGEobmV4dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaWRGaWVsZE5hbWUoKTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5pZEZpZWxkTmFtZTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ2lkLWZpZWxkLW5hbWUnKSBwdWJsaWMgc2V0IGlkRmllbGROYW1lKHZhbHVlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdpZEZpZWxkTmFtZScsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNlbGVjdGlvbk1vZGUoKTogVGFibGVSb3dTZWxlY3Rpb25Nb2RlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNlbGVjdGlvbk1vZGU7XG4gICAgfVxuXG4gICAgQElucHV0KCdzZWxlY3Rpb24tbW9kZScpIHB1YmxpYyBzZXQgc2VsZWN0aW9uTW9kZSh2YWx1ZTogVGFibGVSb3dTZWxlY3Rpb25Nb2RlKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdzZWxlY3Rpb25Nb2RlJywgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdmFsaWRpdHkoKTogVGFibGVWYWxpZGl0eSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWxpZGl0eTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRhdGFPYnNlcnZhYmxlPzogT2JzZXJ2YWJsZTxURGF0YVtdPjtcbiAgICBwcml2YXRlIGRhdGFTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8VGFibGU8VERhdGE+Pikge31cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjaGVja1ZhbGlkaXR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hlY2tWYWxpZGl0eSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzZXREYXRhKGRhdGE6IHJlYWRvbmx5IFREYXRhW10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNldERhdGEoZGF0YSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldFNlbGVjdGVkUmVjb3JkSWRzKCk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldFNlbGVjdGVkUmVjb3JkSWRzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHNldFNlbGVjdGVkUmVjb3JkSWRzKHJlY29yZElkczogc3RyaW5nW10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGVkUmVjb3JkSWRzKHJlY29yZElkcyk7XG4gICAgfVxufVxuIl19
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLXRhYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3RhYmxlL25pbWJsZS10YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBYyxRQUFRLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUU1RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7QUFJbkYsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDO0FBRXBCLE9BQU8sRUFBK0QscUJBQXFCLEVBQUUsQ0FBQztBQUU5Rjs7R0FFRztBQUlILE1BQU0sT0FBTyxvQkFBb0I7SUEwRDdCLFlBQW9DLFFBQW1CLEVBQW1CLFVBQW9DO1FBQTFFLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBbUIsZUFBVSxHQUFWLFVBQVUsQ0FBMEI7SUFBRyxDQUFDO0lBekRsSCxJQUFXLEtBQUs7UUFDWixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsSUFBb0IsS0FBSyxDQUFDLEtBQXNDO1FBQzVELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUVyQyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUNuQyxJQUFJLENBQUMsRUFBRTtnQkFDSCxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUIsQ0FBQyxDQUNKLENBQUM7U0FDTDtJQUNMLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7SUFDckQsQ0FBQztJQUVELElBQW1DLFdBQVcsQ0FBQyxLQUFnQztRQUMzRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELElBQVcsaUJBQWlCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQTBDLGlCQUFpQixDQUFDLEtBQWdDO1FBQ3hGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQW9DLGFBQWEsQ0FBQyxLQUE0QjtRQUMxRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQ2xELENBQUM7SUFPTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFTSxhQUFhO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekQsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBc0I7UUFDdkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVNLEtBQUssQ0FBQyxvQkFBb0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ2hFLENBQUM7SUFFTSxLQUFLLENBQUMsb0JBQW9CLENBQUMsU0FBbUI7UUFDakQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6RSxDQUFDOztrSEE5RVEsb0JBQW9CO3NHQUFwQixvQkFBb0I7NEZBQXBCLG9CQUFvQjtrQkFIaEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztpQkFDM0I7eUhBZXVCLEtBQUs7c0JBQXhCLEtBQUs7Z0JBaUI2QixXQUFXO3NCQUE3QyxLQUFLO3VCQUFDLGVBQWU7Z0JBUW9CLGlCQUFpQjtzQkFBMUQsS0FBSzt1QkFBQyxzQkFBc0I7Z0JBUU8sYUFBYTtzQkFBaEQsS0FBSzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdHlwZSBUYWJsZSwgdGFibGVUYWcgfSBmcm9tICdAbmkvbmltYmxlLWNvbXBvbmVudHMvZGlzdC9lc20vdGFibGUnO1xuaW1wb3J0IHR5cGUgeyBUYWJsZVJlY29yZCwgVGFibGVGaWVsZE5hbWUsIFRhYmxlRmllbGRWYWx1ZSwgVGFibGVWYWxpZGl0eSwgVGFibGVBY3Rpb25NZW51VG9nZ2xlRXZlbnREZXRhaWwsIFRhYmxlUm93U2VsZWN0aW9uRXZlbnREZXRhaWwsIFRhYmxlQ29sdW1uQ29uZmlndXJhdGlvbkNoYW5nZUV2ZW50RGV0YWlsLCBUYWJsZUNvbHVtbkNvbmZpZ3VyYXRpb24gfSBmcm9tICdAbmkvbmltYmxlLWNvbXBvbmVudHMvZGlzdC9lc20vdGFibGUvdHlwZXMnO1xuaW1wb3J0IHsgVGFibGVSb3dTZWxlY3Rpb25Nb2RlIH0gZnJvbSAnQG5pL25pbWJsZS1jb21wb25lbnRzL2Rpc3QvZXNtL3RhYmxlL3R5cGVzJztcbmltcG9ydCB0eXBlIHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIHsgVGFibGUgfTtcbmV4cG9ydCB7IHRhYmxlVGFnIH07XG5leHBvcnQgdHlwZSB7IFRhYmxlQWN0aW9uTWVudVRvZ2dsZUV2ZW50RGV0YWlsLCBUYWJsZVJvd1NlbGVjdGlvbkV2ZW50RGV0YWlsLCBUYWJsZUNvbHVtbkNvbmZpZ3VyYXRpb25DaGFuZ2VFdmVudERldGFpbCwgVGFibGVDb2x1bW5Db25maWd1cmF0aW9uIH07XG5leHBvcnQgeyBUYWJsZVJlY29yZCwgVGFibGVGaWVsZE5hbWUsIFRhYmxlRmllbGRWYWx1ZSwgVGFibGVWYWxpZGl0eSwgVGFibGVSb3dTZWxlY3Rpb25Nb2RlIH07XG5cbi8qKlxuICogRGlyZWN0aXZlIHRvIHByb3ZpZGUgQW5ndWxhciBpbnRlZ3JhdGlvbiBmb3IgdGhlIHRhYmxlIGVsZW1lbnQuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnbmltYmxlLXRhYmxlJ1xufSlcbmV4cG9ydCBjbGFzcyBOaW1ibGVUYWJsZURpcmVjdGl2ZTxURGF0YSBleHRlbmRzIFRhYmxlUmVjb3JkID0gVGFibGVSZWNvcmQ+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBwdWJsaWMgZ2V0IGRhdGEkKCk6IE9ic2VydmFibGU8VERhdGFbXT4gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhT2JzZXJ2YWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBbiBgT2JzZXJ2YWJsZTxURGF0YVtdPmAgdGhhdCBlbWl0cyBkYXRhIHRoYXQgc2hvdWxkIGJlIHNldCBvbiB0aGUgdGFibGUuXG4gICAgICpcbiAgICAgKiBXaGVuIHVzaW5nIGBkYXRhJGAsIHRoZSB0aW1pbmcgb2Ygd2hlbiB0aGUgdGFibGUgaGFzIGJlZW4gdXBkYXRlZCB3aXRoIGEgbmV3IGNvbGxlY3Rpb24gb2YgZGF0YVxuICAgICAqIGNhbm5vdCBiZSBvYnNlcnZlZCBvciBhd2FpdCBieSBhbiBhcHBsaWNhdGlvbi4gSWYgYW4gYXBwbGljYXRpb24gbmVlZHMgdG8ga25vdyB3aGVuIHRoZSBkYXRhIGhhc1xuICAgICAqIGJlZW4gYXBwbGllZCwgZXhwbGljaXRseSBjYWxsIGBzZXREYXRhKClgIHJhdGhlciB0aGFuIHVzaW5nIHRoZSBgZGF0YSRgIHByb3BlcnR5LiBGb3IgZXhhbXBsZSxcbiAgICAgKiBjYWxsaW5nIGBnZXRTZWxlY3RlZFJlY29yZElkcygpYCBpbW1lZGlhdGVseSBhZnRlciBlbWl0dGluZyBhIG5ldyB2YWx1ZSB0byB0aGUgYGRhdGEkYCBgT2JzZXJ2YWJsZWBcbiAgICAgKiBtYXkgbm90IHRha2UgdGhlIG5ldyBkYXRhIGludG8gYWNjb3VudCB3aGVuIGRldGVybWluaW5nIHRoZSBzZWxlY3RlZCByZWNvcmRzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzZXQgZGF0YSQodmFsdWU6IE9ic2VydmFibGU8VERhdGFbXT4gfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5kYXRhU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuXG4gICAgICAgIHRoaXMuZGF0YU9ic2VydmFibGUgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGFTdWJzY3JpcHRpb24gPSB2YWx1ZS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgbmV4dCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHZvaWQgdGhpcy5zZXREYXRhKG5leHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlkRmllbGROYW1lKCk6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuaWRGaWVsZE5hbWU7XG4gICAgfVxuXG4gICAgQElucHV0KCdpZC1maWVsZC1uYW1lJykgcHVibGljIHNldCBpZEZpZWxkTmFtZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnaWRGaWVsZE5hbWUnLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwYXJlbnRJZEZpZWxkTmFtZSgpOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudElkRmllbGROYW1lO1xuICAgIH1cblxuICAgIEBJbnB1dCgncGFyZW50LWlkLWZpZWxkLW5hbWUnKSBwdWJsaWMgc2V0IHBhcmVudElkRmllbGROYW1lKHZhbHVlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdwYXJlbnRJZEZpZWxkTmFtZScsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNlbGVjdGlvbk1vZGUoKTogVGFibGVSb3dTZWxlY3Rpb25Nb2RlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNlbGVjdGlvbk1vZGU7XG4gICAgfVxuXG4gICAgQElucHV0KCdzZWxlY3Rpb24tbW9kZScpIHB1YmxpYyBzZXQgc2VsZWN0aW9uTW9kZSh2YWx1ZTogVGFibGVSb3dTZWxlY3Rpb25Nb2RlKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdzZWxlY3Rpb25Nb2RlJywgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdmFsaWRpdHkoKTogVGFibGVWYWxpZGl0eSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWxpZGl0eTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRhdGFPYnNlcnZhYmxlPzogT2JzZXJ2YWJsZTxURGF0YVtdPjtcbiAgICBwcml2YXRlIGRhdGFTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8VGFibGU8VERhdGE+Pikge31cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjaGVja1ZhbGlkaXR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hlY2tWYWxpZGl0eSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzZXREYXRhKGRhdGE6IHJlYWRvbmx5IFREYXRhW10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNldERhdGEoZGF0YSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldFNlbGVjdGVkUmVjb3JkSWRzKCk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldFNlbGVjdGVkUmVjb3JkSWRzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHNldFNlbGVjdGVkUmVjb3JkSWRzKHJlY29yZElkczogc3RyaW5nW10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGVkUmVjb3JkSWRzKHJlY29yZElkcyk7XG4gICAgfVxufVxuIl19
@@ -41,6 +41,12 @@ class NimbleTableDirective {
41
41
  set idFieldName(value) {
42
42
  this.renderer.setProperty(this.elementRef.nativeElement, 'idFieldName', value);
43
43
  }
44
+ get parentIdFieldName() {
45
+ return this.elementRef.nativeElement.parentIdFieldName;
46
+ }
47
+ set parentIdFieldName(value) {
48
+ this.renderer.setProperty(this.elementRef.nativeElement, 'parentIdFieldName', value);
49
+ }
44
50
  get selectionMode() {
45
51
  return this.elementRef.nativeElement.selectionMode;
46
52
  }
@@ -74,7 +80,7 @@ class NimbleTableDirective {
74
80
  }
75
81
  }
76
82
  NimbleTableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NimbleTableDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
77
- NimbleTableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: NimbleTableDirective, selector: "nimble-table", inputs: { data$: "data$", idFieldName: ["id-field-name", "idFieldName"], selectionMode: ["selection-mode", "selectionMode"] }, ngImport: i0 });
83
+ NimbleTableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: NimbleTableDirective, selector: "nimble-table", inputs: { data$: "data$", idFieldName: ["id-field-name", "idFieldName"], parentIdFieldName: ["parent-id-field-name", "parentIdFieldName"], selectionMode: ["selection-mode", "selectionMode"] }, ngImport: i0 });
78
84
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NimbleTableDirective, decorators: [{
79
85
  type: Directive,
80
86
  args: [{
@@ -85,6 +91,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
85
91
  }], idFieldName: [{
86
92
  type: Input,
87
93
  args: ['id-field-name']
94
+ }], parentIdFieldName: [{
95
+ type: Input,
96
+ args: ['parent-id-field-name']
88
97
  }], selectionMode: [{
89
98
  type: Input,
90
99
  args: ['selection-mode']
@@ -1 +1 @@
1
- {"version":3,"file":"ni-nimble-angular-table.mjs","sources":["../../../../projects/ni/nimble-angular/table/nimble-table.directive.ts","../../../../projects/ni/nimble-angular/table/nimble-table.module.ts","../../../../projects/ni/nimble-angular/table/ni-nimble-angular-table.ts"],"sourcesContent":["import { Directive, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core';\nimport { type Table, tableTag } from '@ni/nimble-components/dist/esm/table';\nimport type { TableRecord, TableFieldName, TableFieldValue, TableValidity, TableActionMenuToggleEventDetail, TableRowSelectionEventDetail, TableColumnConfigurationChangeEventDetail, TableColumnConfiguration } from '@ni/nimble-components/dist/esm/table/types';\nimport { TableRowSelectionMode } from '@ni/nimble-components/dist/esm/table/types';\nimport type { Observable, Subscription } from 'rxjs';\n\nexport type { Table };\nexport { tableTag };\nexport type { TableActionMenuToggleEventDetail, TableRowSelectionEventDetail, TableColumnConfigurationChangeEventDetail, TableColumnConfiguration };\nexport { TableRecord, TableFieldName, TableFieldValue, TableValidity, TableRowSelectionMode };\n\n/**\n * Directive to provide Angular integration for the table element.\n */\n@Directive({\n selector: 'nimble-table'\n})\nexport class NimbleTableDirective<TData extends TableRecord = TableRecord> implements OnDestroy {\n public get data$(): Observable<TData[]> | undefined {\n return this.dataObservable;\n }\n\n /**\n * An `Observable<TData[]>` that emits data that should be set on the table.\n *\n * When using `data$`, the timing of when the table has been updated with a new collection of data\n * cannot be observed or await by an application. If an application needs to know when the data has\n * been applied, explicitly call `setData()` rather than using the `data$` property. For example,\n * calling `getSelectedRecordIds()` immediately after emitting a new value to the `data$` `Observable`\n * may not take the new data into account when determining the selected records.\n */\n @Input() public set data$(value: Observable<TData[]> | undefined) {\n this.dataSubscription?.unsubscribe();\n\n this.dataObservable = value;\n if (value) {\n this.dataSubscription = value.subscribe(\n next => {\n void this.setData(next);\n }\n );\n }\n }\n\n public get idFieldName(): string | null | undefined {\n return this.elementRef.nativeElement.idFieldName;\n }\n\n @Input('id-field-name') public set idFieldName(value: string | null | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'idFieldName', value);\n }\n\n public get selectionMode(): TableRowSelectionMode {\n return this.elementRef.nativeElement.selectionMode;\n }\n\n @Input('selection-mode') public set selectionMode(value: TableRowSelectionMode) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'selectionMode', value);\n }\n\n public get validity(): TableValidity {\n return this.elementRef.nativeElement.validity;\n }\n\n private dataObservable?: Observable<TData[]>;\n private dataSubscription?: Subscription;\n\n public constructor(private readonly renderer: Renderer2, private readonly elementRef: ElementRef<Table<TData>>) {}\n\n public ngOnDestroy(): void {\n this.dataSubscription?.unsubscribe();\n }\n\n public checkValidity(): boolean {\n return this.elementRef.nativeElement.checkValidity();\n }\n\n public async setData(data: readonly TData[]): Promise<void> {\n return this.elementRef.nativeElement.setData(data);\n }\n\n public async getSelectedRecordIds(): Promise<string[]> {\n return this.elementRef.nativeElement.getSelectedRecordIds();\n }\n\n public async setSelectedRecordIds(recordIds: string[]): Promise<void> {\n return this.elementRef.nativeElement.setSelectedRecordIds(recordIds);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NimbleTableDirective } from './nimble-table.directive';\n\nimport '@ni/nimble-components/dist/esm/table';\n\n@NgModule({\n declarations: [NimbleTableDirective],\n imports: [CommonModule],\n exports: [NimbleTableDirective]\n})\nexport class NimbleTableModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ni-nimble-angular-table.mjs","sources":["../../../../projects/ni/nimble-angular/table/nimble-table.directive.ts","../../../../projects/ni/nimble-angular/table/nimble-table.module.ts","../../../../projects/ni/nimble-angular/table/ni-nimble-angular-table.ts"],"sourcesContent":["import { Directive, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core';\nimport { type Table, tableTag } from '@ni/nimble-components/dist/esm/table';\nimport type { TableRecord, TableFieldName, TableFieldValue, TableValidity, TableActionMenuToggleEventDetail, TableRowSelectionEventDetail, TableColumnConfigurationChangeEventDetail, TableColumnConfiguration } from '@ni/nimble-components/dist/esm/table/types';\nimport { TableRowSelectionMode } from '@ni/nimble-components/dist/esm/table/types';\nimport type { Observable, Subscription } from 'rxjs';\n\nexport type { Table };\nexport { tableTag };\nexport type { TableActionMenuToggleEventDetail, TableRowSelectionEventDetail, TableColumnConfigurationChangeEventDetail, TableColumnConfiguration };\nexport { TableRecord, TableFieldName, TableFieldValue, TableValidity, TableRowSelectionMode };\n\n/**\n * Directive to provide Angular integration for the table element.\n */\n@Directive({\n selector: 'nimble-table'\n})\nexport class NimbleTableDirective<TData extends TableRecord = TableRecord> implements OnDestroy {\n public get data$(): Observable<TData[]> | undefined {\n return this.dataObservable;\n }\n\n /**\n * An `Observable<TData[]>` that emits data that should be set on the table.\n *\n * When using `data$`, the timing of when the table has been updated with a new collection of data\n * cannot be observed or await by an application. If an application needs to know when the data has\n * been applied, explicitly call `setData()` rather than using the `data$` property. For example,\n * calling `getSelectedRecordIds()` immediately after emitting a new value to the `data$` `Observable`\n * may not take the new data into account when determining the selected records.\n */\n @Input() public set data$(value: Observable<TData[]> | undefined) {\n this.dataSubscription?.unsubscribe();\n\n this.dataObservable = value;\n if (value) {\n this.dataSubscription = value.subscribe(\n next => {\n void this.setData(next);\n }\n );\n }\n }\n\n public get idFieldName(): string | null | undefined {\n return this.elementRef.nativeElement.idFieldName;\n }\n\n @Input('id-field-name') public set idFieldName(value: string | null | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'idFieldName', value);\n }\n\n public get parentIdFieldName(): string | null | undefined {\n return this.elementRef.nativeElement.parentIdFieldName;\n }\n\n @Input('parent-id-field-name') public set parentIdFieldName(value: string | null | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'parentIdFieldName', value);\n }\n\n public get selectionMode(): TableRowSelectionMode {\n return this.elementRef.nativeElement.selectionMode;\n }\n\n @Input('selection-mode') public set selectionMode(value: TableRowSelectionMode) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'selectionMode', value);\n }\n\n public get validity(): TableValidity {\n return this.elementRef.nativeElement.validity;\n }\n\n private dataObservable?: Observable<TData[]>;\n private dataSubscription?: Subscription;\n\n public constructor(private readonly renderer: Renderer2, private readonly elementRef: ElementRef<Table<TData>>) {}\n\n public ngOnDestroy(): void {\n this.dataSubscription?.unsubscribe();\n }\n\n public checkValidity(): boolean {\n return this.elementRef.nativeElement.checkValidity();\n }\n\n public async setData(data: readonly TData[]): Promise<void> {\n return this.elementRef.nativeElement.setData(data);\n }\n\n public async getSelectedRecordIds(): Promise<string[]> {\n return this.elementRef.nativeElement.getSelectedRecordIds();\n }\n\n public async setSelectedRecordIds(recordIds: string[]): Promise<void> {\n return this.elementRef.nativeElement.setSelectedRecordIds(recordIds);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NimbleTableDirective } from './nimble-table.directive';\n\nimport '@ni/nimble-components/dist/esm/table';\n\n@NgModule({\n declarations: [NimbleTableDirective],\n imports: [CommonModule],\n exports: [NimbleTableDirective]\n})\nexport class NimbleTableModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -39,6 +39,12 @@ class NimbleTableDirective {
39
39
  set idFieldName(value) {
40
40
  this.renderer.setProperty(this.elementRef.nativeElement, 'idFieldName', value);
41
41
  }
42
+ get parentIdFieldName() {
43
+ return this.elementRef.nativeElement.parentIdFieldName;
44
+ }
45
+ set parentIdFieldName(value) {
46
+ this.renderer.setProperty(this.elementRef.nativeElement, 'parentIdFieldName', value);
47
+ }
42
48
  get selectionMode() {
43
49
  return this.elementRef.nativeElement.selectionMode;
44
50
  }
@@ -65,7 +71,7 @@ class NimbleTableDirective {
65
71
  }
66
72
  }
67
73
  NimbleTableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NimbleTableDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
68
- NimbleTableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: NimbleTableDirective, selector: "nimble-table", inputs: { data$: "data$", idFieldName: ["id-field-name", "idFieldName"], selectionMode: ["selection-mode", "selectionMode"] }, ngImport: i0 });
74
+ NimbleTableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: NimbleTableDirective, selector: "nimble-table", inputs: { data$: "data$", idFieldName: ["id-field-name", "idFieldName"], parentIdFieldName: ["parent-id-field-name", "parentIdFieldName"], selectionMode: ["selection-mode", "selectionMode"] }, ngImport: i0 });
69
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NimbleTableDirective, decorators: [{
70
76
  type: Directive,
71
77
  args: [{
@@ -76,6 +82,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
76
82
  }], idFieldName: [{
77
83
  type: Input,
78
84
  args: ['id-field-name']
85
+ }], parentIdFieldName: [{
86
+ type: Input,
87
+ args: ['parent-id-field-name']
79
88
  }], selectionMode: [{
80
89
  type: Input,
81
90
  args: ['selection-mode']
@@ -1 +1 @@
1
- {"version":3,"file":"ni-nimble-angular-table.mjs","sources":["../../../../projects/ni/nimble-angular/table/nimble-table.directive.ts","../../../../projects/ni/nimble-angular/table/nimble-table.module.ts","../../../../projects/ni/nimble-angular/table/ni-nimble-angular-table.ts"],"sourcesContent":["import { Directive, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core';\nimport { type Table, tableTag } from '@ni/nimble-components/dist/esm/table';\nimport type { TableRecord, TableFieldName, TableFieldValue, TableValidity, TableActionMenuToggleEventDetail, TableRowSelectionEventDetail, TableColumnConfigurationChangeEventDetail, TableColumnConfiguration } from '@ni/nimble-components/dist/esm/table/types';\nimport { TableRowSelectionMode } from '@ni/nimble-components/dist/esm/table/types';\nimport type { Observable, Subscription } from 'rxjs';\n\nexport type { Table };\nexport { tableTag };\nexport type { TableActionMenuToggleEventDetail, TableRowSelectionEventDetail, TableColumnConfigurationChangeEventDetail, TableColumnConfiguration };\nexport { TableRecord, TableFieldName, TableFieldValue, TableValidity, TableRowSelectionMode };\n\n/**\n * Directive to provide Angular integration for the table element.\n */\n@Directive({\n selector: 'nimble-table'\n})\nexport class NimbleTableDirective<TData extends TableRecord = TableRecord> implements OnDestroy {\n public get data$(): Observable<TData[]> | undefined {\n return this.dataObservable;\n }\n\n /**\n * An `Observable<TData[]>` that emits data that should be set on the table.\n *\n * When using `data$`, the timing of when the table has been updated with a new collection of data\n * cannot be observed or await by an application. If an application needs to know when the data has\n * been applied, explicitly call `setData()` rather than using the `data$` property. For example,\n * calling `getSelectedRecordIds()` immediately after emitting a new value to the `data$` `Observable`\n * may not take the new data into account when determining the selected records.\n */\n @Input() public set data$(value: Observable<TData[]> | undefined) {\n this.dataSubscription?.unsubscribe();\n\n this.dataObservable = value;\n if (value) {\n this.dataSubscription = value.subscribe(\n next => {\n void this.setData(next);\n }\n );\n }\n }\n\n public get idFieldName(): string | null | undefined {\n return this.elementRef.nativeElement.idFieldName;\n }\n\n @Input('id-field-name') public set idFieldName(value: string | null | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'idFieldName', value);\n }\n\n public get selectionMode(): TableRowSelectionMode {\n return this.elementRef.nativeElement.selectionMode;\n }\n\n @Input('selection-mode') public set selectionMode(value: TableRowSelectionMode) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'selectionMode', value);\n }\n\n public get validity(): TableValidity {\n return this.elementRef.nativeElement.validity;\n }\n\n private dataObservable?: Observable<TData[]>;\n private dataSubscription?: Subscription;\n\n public constructor(private readonly renderer: Renderer2, private readonly elementRef: ElementRef<Table<TData>>) {}\n\n public ngOnDestroy(): void {\n this.dataSubscription?.unsubscribe();\n }\n\n public checkValidity(): boolean {\n return this.elementRef.nativeElement.checkValidity();\n }\n\n public async setData(data: readonly TData[]): Promise<void> {\n return this.elementRef.nativeElement.setData(data);\n }\n\n public async getSelectedRecordIds(): Promise<string[]> {\n return this.elementRef.nativeElement.getSelectedRecordIds();\n }\n\n public async setSelectedRecordIds(recordIds: string[]): Promise<void> {\n return this.elementRef.nativeElement.setSelectedRecordIds(recordIds);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NimbleTableDirective } from './nimble-table.directive';\n\nimport '@ni/nimble-components/dist/esm/table';\n\n@NgModule({\n declarations: [NimbleTableDirective],\n imports: [CommonModule],\n exports: [NimbleTableDirective]\n})\nexport class NimbleTableModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ni-nimble-angular-table.mjs","sources":["../../../../projects/ni/nimble-angular/table/nimble-table.directive.ts","../../../../projects/ni/nimble-angular/table/nimble-table.module.ts","../../../../projects/ni/nimble-angular/table/ni-nimble-angular-table.ts"],"sourcesContent":["import { Directive, ElementRef, Input, OnDestroy, Renderer2 } from '@angular/core';\nimport { type Table, tableTag } from '@ni/nimble-components/dist/esm/table';\nimport type { TableRecord, TableFieldName, TableFieldValue, TableValidity, TableActionMenuToggleEventDetail, TableRowSelectionEventDetail, TableColumnConfigurationChangeEventDetail, TableColumnConfiguration } from '@ni/nimble-components/dist/esm/table/types';\nimport { TableRowSelectionMode } from '@ni/nimble-components/dist/esm/table/types';\nimport type { Observable, Subscription } from 'rxjs';\n\nexport type { Table };\nexport { tableTag };\nexport type { TableActionMenuToggleEventDetail, TableRowSelectionEventDetail, TableColumnConfigurationChangeEventDetail, TableColumnConfiguration };\nexport { TableRecord, TableFieldName, TableFieldValue, TableValidity, TableRowSelectionMode };\n\n/**\n * Directive to provide Angular integration for the table element.\n */\n@Directive({\n selector: 'nimble-table'\n})\nexport class NimbleTableDirective<TData extends TableRecord = TableRecord> implements OnDestroy {\n public get data$(): Observable<TData[]> | undefined {\n return this.dataObservable;\n }\n\n /**\n * An `Observable<TData[]>` that emits data that should be set on the table.\n *\n * When using `data$`, the timing of when the table has been updated with a new collection of data\n * cannot be observed or await by an application. If an application needs to know when the data has\n * been applied, explicitly call `setData()` rather than using the `data$` property. For example,\n * calling `getSelectedRecordIds()` immediately after emitting a new value to the `data$` `Observable`\n * may not take the new data into account when determining the selected records.\n */\n @Input() public set data$(value: Observable<TData[]> | undefined) {\n this.dataSubscription?.unsubscribe();\n\n this.dataObservable = value;\n if (value) {\n this.dataSubscription = value.subscribe(\n next => {\n void this.setData(next);\n }\n );\n }\n }\n\n public get idFieldName(): string | null | undefined {\n return this.elementRef.nativeElement.idFieldName;\n }\n\n @Input('id-field-name') public set idFieldName(value: string | null | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'idFieldName', value);\n }\n\n public get parentIdFieldName(): string | null | undefined {\n return this.elementRef.nativeElement.parentIdFieldName;\n }\n\n @Input('parent-id-field-name') public set parentIdFieldName(value: string | null | undefined) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'parentIdFieldName', value);\n }\n\n public get selectionMode(): TableRowSelectionMode {\n return this.elementRef.nativeElement.selectionMode;\n }\n\n @Input('selection-mode') public set selectionMode(value: TableRowSelectionMode) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'selectionMode', value);\n }\n\n public get validity(): TableValidity {\n return this.elementRef.nativeElement.validity;\n }\n\n private dataObservable?: Observable<TData[]>;\n private dataSubscription?: Subscription;\n\n public constructor(private readonly renderer: Renderer2, private readonly elementRef: ElementRef<Table<TData>>) {}\n\n public ngOnDestroy(): void {\n this.dataSubscription?.unsubscribe();\n }\n\n public checkValidity(): boolean {\n return this.elementRef.nativeElement.checkValidity();\n }\n\n public async setData(data: readonly TData[]): Promise<void> {\n return this.elementRef.nativeElement.setData(data);\n }\n\n public async getSelectedRecordIds(): Promise<string[]> {\n return this.elementRef.nativeElement.getSelectedRecordIds();\n }\n\n public async setSelectedRecordIds(recordIds: string[]): Promise<void> {\n return this.elementRef.nativeElement.setSelectedRecordIds(recordIds);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NimbleTableDirective } from './nimble-table.directive';\n\nimport '@ni/nimble-components/dist/esm/table';\n\n@NgModule({\n declarations: [NimbleTableDirective],\n imports: [CommonModule],\n exports: [NimbleTableDirective]\n})\nexport class NimbleTableModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ni/nimble-angular",
3
- "version": "19.2.4",
3
+ "version": "19.3.0",
4
4
  "description": "Angular components for the NI Nimble Design System",
5
5
  "repository": {
6
6
  "type": "git",
@@ -27,6 +27,8 @@ export declare class NimbleTableDirective<TData extends TableRecord = TableRecor
27
27
  set data$(value: Observable<TData[]> | undefined);
28
28
  get idFieldName(): string | null | undefined;
29
29
  set idFieldName(value: string | null | undefined);
30
+ get parentIdFieldName(): string | null | undefined;
31
+ set parentIdFieldName(value: string | null | undefined);
30
32
  get selectionMode(): TableRowSelectionMode;
31
33
  set selectionMode(value: TableRowSelectionMode);
32
34
  get validity(): TableValidity;
@@ -39,5 +41,5 @@ export declare class NimbleTableDirective<TData extends TableRecord = TableRecor
39
41
  getSelectedRecordIds(): Promise<string[]>;
40
42
  setSelectedRecordIds(recordIds: string[]): Promise<void>;
41
43
  static ɵfac: i0.ɵɵFactoryDeclaration<NimbleTableDirective<any>, never>;
42
- static ɵdir: i0.ɵɵDirectiveDeclaration<NimbleTableDirective<any>, "nimble-table", never, { "data$": "data$"; "idFieldName": "id-field-name"; "selectionMode": "selection-mode"; }, {}, never, never, false, never>;
44
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NimbleTableDirective<any>, "nimble-table", never, { "data$": "data$"; "idFieldName": "id-field-name"; "parentIdFieldName": "parent-id-field-name"; "selectionMode": "selection-mode"; }, {}, never, never, false, never>;
43
45
  }