@ni/nimble-angular 16.0.1 → 16.0.3

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.
@@ -1,22 +1,27 @@
1
- import { ElementRef, Renderer2 } from '@angular/core';
1
+ import { ElementRef, OnDestroy, Renderer2 } from '@angular/core';
2
2
  import type { Table } from '@ni/nimble-components/dist/esm/table';
3
3
  import type { TableRecord, TableFieldName, TableFieldValue, TableValidity } from '@ni/nimble-components/dist/esm/table/types';
4
+ import type { Observable } from 'rxjs';
4
5
  import * as i0 from "@angular/core";
5
6
  export type { Table };
6
7
  export { TableRecord, TableFieldName, TableFieldValue, TableValidity };
7
8
  /**
8
9
  * Directive to provide Angular integration for the table element.
9
10
  */
10
- export declare class NimbleTableDirective<TData extends TableRecord = TableRecord> {
11
+ export declare class NimbleTableDirective<TData extends TableRecord = TableRecord> implements OnDestroy {
11
12
  private readonly renderer;
12
13
  private readonly elementRef;
13
- get data(): TData[];
14
- set data(value: TData[]);
14
+ get data$(): Observable<TData[]> | undefined;
15
+ set data$(value: Observable<TData[]> | undefined);
15
16
  get idFieldName(): string | null | undefined;
16
17
  set idFieldName(value: string | null | undefined);
17
18
  get validity(): TableValidity;
19
+ private dataObservable?;
20
+ private dataSubscription?;
18
21
  constructor(renderer: Renderer2, elementRef: ElementRef<Table<TData>>);
22
+ ngOnDestroy(): void;
19
23
  checkValidity(): boolean;
24
+ setData(data: readonly TData[]): void;
20
25
  static ɵfac: i0.ɵɵFactoryDeclaration<NimbleTableDirective<any>, never>;
21
- static ɵdir: i0.ɵɵDirectiveDeclaration<NimbleTableDirective<any>, "nimble-table", never, { "data": "data"; "idFieldName": "id-field-name"; }, {}, never, never, false>;
26
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NimbleTableDirective<any>, "nimble-table", never, { "data$": "data$"; "idFieldName": "id-field-name"; }, {}, never, never, false>;
22
27
  }
@@ -8,11 +8,15 @@ export class NimbleTableDirective {
8
8
  this.renderer = renderer;
9
9
  this.elementRef = elementRef;
10
10
  }
11
- get data() {
12
- return this.elementRef.nativeElement.data;
11
+ get data$() {
12
+ return this.dataObservable;
13
13
  }
14
- set data(value) {
15
- this.renderer.setProperty(this.elementRef.nativeElement, 'data', value);
14
+ set data$(value) {
15
+ this.dataSubscription?.unsubscribe();
16
+ this.dataObservable = value;
17
+ if (value) {
18
+ this.dataSubscription = value.subscribe(next => this.elementRef.nativeElement.setData(next));
19
+ }
16
20
  }
17
21
  get idFieldName() {
18
22
  return this.elementRef.nativeElement.idFieldName;
@@ -25,21 +29,27 @@ export class NimbleTableDirective {
25
29
  get validity() {
26
30
  return this.elementRef.nativeElement.validity;
27
31
  }
32
+ ngOnDestroy() {
33
+ this.dataSubscription?.unsubscribe();
34
+ }
28
35
  checkValidity() {
29
36
  return this.elementRef.nativeElement.checkValidity();
30
37
  }
38
+ setData(data) {
39
+ this.elementRef.nativeElement.setData(data);
40
+ }
31
41
  }
32
42
  NimbleTableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: NimbleTableDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
33
- NimbleTableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.10", type: NimbleTableDirective, selector: "nimble-table", inputs: { data: "data", idFieldName: ["id-field-name", "idFieldName"] }, ngImport: i0 });
43
+ NimbleTableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.10", type: NimbleTableDirective, selector: "nimble-table", inputs: { data$: "data$", idFieldName: ["id-field-name", "idFieldName"] }, ngImport: i0 });
34
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: NimbleTableDirective, decorators: [{
35
45
  type: Directive,
36
46
  args: [{
37
47
  selector: 'nimble-table'
38
48
  }]
39
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { data: [{
49
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { data$: [{
40
50
  type: Input
41
51
  }], idFieldName: [{
42
52
  type: Input,
43
53
  args: ['id-field-name']
44
54
  }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLXRhYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3NyYy9kaXJlY3RpdmVzL3RhYmxlL25pbWJsZS10YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7O0FBT3hFOztHQUVHO0FBSUgsTUFBTSxPQUFPLG9CQUFvQjtJQXVCN0IsWUFBb0MsUUFBbUIsRUFBbUIsVUFBb0M7UUFBMUUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFtQixlQUFVLEdBQVYsVUFBVSxDQUEwQjtJQUFHLENBQUM7SUF0QmxILElBQVcsSUFBSTtRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFvQixJQUFJLENBQUMsS0FBYztRQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUNyRCxDQUFDO0lBRUQsK0VBQStFO0lBQy9FLDJEQUEyRDtJQUMzRCxJQUFtQyxXQUFXLENBQUMsS0FBZ0M7UUFDM0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztJQUNsRCxDQUFDO0lBSU0sYUFBYTtRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pELENBQUM7O2tIQTNCUSxvQkFBb0I7c0dBQXBCLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO2lCQUMzQjt5SEFNdUIsSUFBSTtzQkFBdkIsS0FBSztnQkFVNkIsV0FBVztzQkFBN0MsS0FBSzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IFRhYmxlIH0gZnJvbSAnQG5pL25pbWJsZS1jb21wb25lbnRzL2Rpc3QvZXNtL3RhYmxlJztcbmltcG9ydCB0eXBlIHsgVGFibGVSZWNvcmQsIFRhYmxlRmllbGROYW1lLCBUYWJsZUZpZWxkVmFsdWUsIFRhYmxlVmFsaWRpdHkgfSBmcm9tICdAbmkvbmltYmxlLWNvbXBvbmVudHMvZGlzdC9lc20vdGFibGUvdHlwZXMnO1xuXG5leHBvcnQgdHlwZSB7IFRhYmxlIH07XG5leHBvcnQgeyBUYWJsZVJlY29yZCwgVGFibGVGaWVsZE5hbWUsIFRhYmxlRmllbGRWYWx1ZSwgVGFibGVWYWxpZGl0eSB9O1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0byBwcm92aWRlIEFuZ3VsYXIgaW50ZWdyYXRpb24gZm9yIHRoZSB0YWJsZSBlbGVtZW50LlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ25pbWJsZS10YWJsZSdcbn0pXG5leHBvcnQgY2xhc3MgTmltYmxlVGFibGVEaXJlY3RpdmU8VERhdGEgZXh0ZW5kcyBUYWJsZVJlY29yZCA9IFRhYmxlUmVjb3JkPiB7XG4gICAgcHVibGljIGdldCBkYXRhKCk6IFREYXRhW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZGF0YTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgc2V0IGRhdGEodmFsdWU6IFREYXRhW10pIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2RhdGEnLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpZEZpZWxkTmFtZSgpOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmlkRmllbGROYW1lO1xuICAgIH1cblxuICAgIC8vIFJlbmFtaW5nIGJlY2F1c2UgcHJvcGVydHkgc2hvdWxkIGhhdmUgY2FtZWwgY2FzaW5nLCBidXQgYXR0cmlidXRlIHNob3VsZCBub3RcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICAgIEBJbnB1dCgnaWQtZmllbGQtbmFtZScpIHB1YmxpYyBzZXQgaWRGaWVsZE5hbWUodmFsdWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2lkRmllbGROYW1lJywgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdmFsaWRpdHkoKTogVGFibGVWYWxpZGl0eSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWxpZGl0eTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8VGFibGU8VERhdGE+Pikge31cblxuICAgIHB1YmxpYyBjaGVja1ZhbGlkaXR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hlY2tWYWxpZGl0eSgpO1xuICAgIH1cbn1cbiJdfQ==
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLXRhYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3NyYy9kaXJlY3RpdmVzL3RhYmxlL25pbWJsZS10YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXdCLE1BQU0sZUFBZSxDQUFDOztBQVFuRjs7R0FFRztBQUlILE1BQU0sT0FBTyxvQkFBb0I7SUFpQzdCLFlBQW9DLFFBQW1CLEVBQW1CLFVBQW9DO1FBQTFFLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBbUIsZUFBVSxHQUFWLFVBQVUsQ0FBMEI7SUFBRyxDQUFDO0lBaENsSCxJQUFXLEtBQUs7UUFDWixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQW9CLEtBQUssQ0FBQyxLQUFzQztRQUM1RCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFFckMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxLQUFLLEVBQUU7WUFDUCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FDbkMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQ3RELENBQUM7U0FDTDtJQUNMLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7SUFDckQsQ0FBQztJQUVELCtFQUErRTtJQUMvRSwyREFBMkQ7SUFDM0QsSUFBbUMsV0FBVyxDQUFDLEtBQWdDO1FBQzNFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDbEQsQ0FBQztJQU9NLFdBQVc7UUFDZCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVNLGFBQWE7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6RCxDQUFDO0lBRU0sT0FBTyxDQUFDLElBQXNCO1FBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoRCxDQUFDOztrSEE3Q1Esb0JBQW9CO3NHQUFwQixvQkFBb0I7NEZBQXBCLG9CQUFvQjtrQkFIaEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztpQkFDM0I7eUhBTXVCLEtBQUs7c0JBQXhCLEtBQUs7Z0JBaUI2QixXQUFXO3NCQUE3QyxLQUFLO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBUYWJsZSB9IGZyb20gJ0BuaS9uaW1ibGUtY29tcG9uZW50cy9kaXN0L2VzbS90YWJsZSc7XG5pbXBvcnQgdHlwZSB7IFRhYmxlUmVjb3JkLCBUYWJsZUZpZWxkTmFtZSwgVGFibGVGaWVsZFZhbHVlLCBUYWJsZVZhbGlkaXR5IH0gZnJvbSAnQG5pL25pbWJsZS1jb21wb25lbnRzL2Rpc3QvZXNtL3RhYmxlL3R5cGVzJztcbmltcG9ydCB0eXBlIHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIHsgVGFibGUgfTtcbmV4cG9ydCB7IFRhYmxlUmVjb3JkLCBUYWJsZUZpZWxkTmFtZSwgVGFibGVGaWVsZFZhbHVlLCBUYWJsZVZhbGlkaXR5IH07XG5cbi8qKlxuICogRGlyZWN0aXZlIHRvIHByb3ZpZGUgQW5ndWxhciBpbnRlZ3JhdGlvbiBmb3IgdGhlIHRhYmxlIGVsZW1lbnQuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnbmltYmxlLXRhYmxlJ1xufSlcbmV4cG9ydCBjbGFzcyBOaW1ibGVUYWJsZURpcmVjdGl2ZTxURGF0YSBleHRlbmRzIFRhYmxlUmVjb3JkID0gVGFibGVSZWNvcmQ+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBwdWJsaWMgZ2V0IGRhdGEkKCk6IE9ic2VydmFibGU8VERhdGFbXT4gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhT2JzZXJ2YWJsZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgc2V0IGRhdGEkKHZhbHVlOiBPYnNlcnZhYmxlPFREYXRhW10+IHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuZGF0YVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcblxuICAgICAgICB0aGlzLmRhdGFPYnNlcnZhYmxlID0gdmFsdWU7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhU3Vic2NyaXB0aW9uID0gdmFsdWUuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIG5leHQgPT4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0RGF0YShuZXh0KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaWRGaWVsZE5hbWUoKTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5pZEZpZWxkTmFtZTtcbiAgICB9XG5cbiAgICAvLyBSZW5hbWluZyBiZWNhdXNlIHByb3BlcnR5IHNob3VsZCBoYXZlIGNhbWVsIGNhc2luZywgYnV0IGF0dHJpYnV0ZSBzaG91bGQgbm90XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ2lkLWZpZWxkLW5hbWUnKSBwdWJsaWMgc2V0IGlkRmllbGROYW1lKHZhbHVlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdpZEZpZWxkTmFtZScsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHZhbGlkaXR5KCk6IFRhYmxlVmFsaWRpdHkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsaWRpdHk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkYXRhT2JzZXJ2YWJsZT86IE9ic2VydmFibGU8VERhdGFbXT47XG4gICAgcHJpdmF0ZSBkYXRhU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPFRhYmxlPFREYXRhPj4pIHt9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGF0YVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2hlY2tWYWxpZGl0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoZWNrVmFsaWRpdHkoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0RGF0YShkYXRhOiByZWFkb25seSBURGF0YVtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNldERhdGEoZGF0YSk7XG4gICAgfVxufVxuIl19
@@ -7113,11 +7113,16 @@ class NimbleTableDirective {
7113
7113
  this.renderer = renderer;
7114
7114
  this.elementRef = elementRef;
7115
7115
  }
7116
- get data() {
7117
- return this.elementRef.nativeElement.data;
7116
+ get data$() {
7117
+ return this.dataObservable;
7118
7118
  }
7119
- set data(value) {
7120
- this.renderer.setProperty(this.elementRef.nativeElement, 'data', value);
7119
+ set data$(value) {
7120
+ var _a;
7121
+ (_a = this.dataSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
7122
+ this.dataObservable = value;
7123
+ if (value) {
7124
+ this.dataSubscription = value.subscribe(next => this.elementRef.nativeElement.setData(next));
7125
+ }
7121
7126
  }
7122
7127
  get idFieldName() {
7123
7128
  return this.elementRef.nativeElement.idFieldName;
@@ -7130,18 +7135,25 @@ class NimbleTableDirective {
7130
7135
  get validity() {
7131
7136
  return this.elementRef.nativeElement.validity;
7132
7137
  }
7138
+ ngOnDestroy() {
7139
+ var _a;
7140
+ (_a = this.dataSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
7141
+ }
7133
7142
  checkValidity() {
7134
7143
  return this.elementRef.nativeElement.checkValidity();
7135
7144
  }
7145
+ setData(data) {
7146
+ this.elementRef.nativeElement.setData(data);
7147
+ }
7136
7148
  }
7137
7149
  NimbleTableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: NimbleTableDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
7138
- NimbleTableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.10", type: NimbleTableDirective, selector: "nimble-table", inputs: { data: "data", idFieldName: ["id-field-name", "idFieldName"] }, ngImport: i0 });
7150
+ NimbleTableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.10", type: NimbleTableDirective, selector: "nimble-table", inputs: { data$: "data$", idFieldName: ["id-field-name", "idFieldName"] }, ngImport: i0 });
7139
7151
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: NimbleTableDirective, decorators: [{
7140
7152
  type: Directive,
7141
7153
  args: [{
7142
7154
  selector: 'nimble-table'
7143
7155
  }]
7144
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { data: [{
7156
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { data$: [{
7145
7157
  type: Input
7146
7158
  }], idFieldName: [{
7147
7159
  type: Input,