@ni/nimble-angular 16.6.10 → 16.6.12

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.
@@ -13,6 +13,15 @@ export class NimbleTableDirective {
13
13
  get data$() {
14
14
  return this.dataObservable;
15
15
  }
16
+ /**
17
+ * An `Observable<TData[]>` that emits data that should be set on the table.
18
+ *
19
+ * When using `data$`, the timing of when the table has been updated with a new collection of data
20
+ * cannot be observed or await by an application. If an application needs to know when the data has
21
+ * been applied, explicitly call `setData()` rather than using the `data$` property. For example,
22
+ * calling `getSelectedRecordIds()` immediately after emitting a new value to the `data$` `Observable`
23
+ * may not take the new data into account when determining the selected records.
24
+ */
16
25
  set data$(value) {
17
26
  this.dataSubscription?.unsubscribe();
18
27
  this.dataObservable = value;
@@ -73,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
73
82
  type: Input,
74
83
  args: ['selection-mode']
75
84
  }] } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLXRhYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3RhYmxlL25pbWJsZS10YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBR25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOztBQUtuRixPQUFPLEVBQStELHFCQUFxQixFQUFFLENBQUM7QUFFOUY7O0dBRUc7QUFJSCxNQUFNLE9BQU8sb0JBQW9CO0lBNkM3QixZQUFvQyxRQUFtQixFQUFtQixVQUFvQztRQUExRSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQW1CLGVBQVUsR0FBVixVQUFVLENBQTBCO0lBQUcsQ0FBQztJQTVDbEgsSUFBVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFvQixLQUFLLENBQUMsS0FBc0M7UUFDNUQsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBRXJDLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQzVCLElBQUksS0FBSyxFQUFFO1lBQ1AsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxTQUFTLENBQ25DLElBQUksQ0FBQyxFQUFFO2dCQUNILEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1QixDQUFDLENBQ0osQ0FBQztTQUNMO0lBQ0wsQ0FBQztJQUVELElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUNyRCxDQUFDO0lBRUQsK0VBQStFO0lBQy9FLDJEQUEyRDtJQUMzRCxJQUFtQyxXQUFXLENBQUMsS0FBZ0M7UUFDM0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7SUFDdkQsQ0FBQztJQUVELCtFQUErRTtJQUMvRSwyREFBMkQ7SUFDM0QsSUFBb0MsYUFBYSxDQUFDLEtBQTRCO1FBQzFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDbEQsQ0FBQztJQU9NLFdBQVc7UUFDZCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVNLGFBQWE7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6RCxDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFzQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU0sS0FBSyxDQUFDLG9CQUFvQjtRQUM3QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDaEUsQ0FBQztJQUVNLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxTQUFtQjtRQUNqRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7O2tIQWpFUSxvQkFBb0I7c0dBQXBCLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO2lCQUMzQjt5SEFNdUIsS0FBSztzQkFBeEIsS0FBSztnQkFtQjZCLFdBQVc7c0JBQTdDLEtBQUs7dUJBQUMsZUFBZTtnQkFVYyxhQUFhO3NCQUFoRCxLQUFLO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IFRhYmxlIH0gZnJvbSAnQG5pL25pbWJsZS1jb21wb25lbnRzL2Rpc3QvZXNtL3RhYmxlJztcbmltcG9ydCB0eXBlIHsgVGFibGVSZWNvcmQsIFRhYmxlRmllbGROYW1lLCBUYWJsZUZpZWxkVmFsdWUsIFRhYmxlVmFsaWRpdHksIFRhYmxlQWN0aW9uTWVudVRvZ2dsZUV2ZW50RGV0YWlsLCBUYWJsZVJvd1NlbGVjdGlvbkV2ZW50RGV0YWlsLCBUYWJsZUNvbHVtbkNvbmZpZ3VyYXRpb25DaGFuZ2VFdmVudERldGFpbCwgVGFibGVDb2x1bW5Db25maWd1cmF0aW9uIH0gZnJvbSAnQG5pL25pbWJsZS1jb21wb25lbnRzL2Rpc3QvZXNtL3RhYmxlL3R5cGVzJztcbmltcG9ydCB7IFRhYmxlUm93U2VsZWN0aW9uTW9kZSB9IGZyb20gJ0BuaS9uaW1ibGUtY29tcG9uZW50cy9kaXN0L2VzbS90YWJsZS90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgdHlwZSB7IFRhYmxlIH07XG5leHBvcnQgdHlwZSB7IFRhYmxlQWN0aW9uTWVudVRvZ2dsZUV2ZW50RGV0YWlsLCBUYWJsZVJvd1NlbGVjdGlvbkV2ZW50RGV0YWlsLCBUYWJsZUNvbHVtbkNvbmZpZ3VyYXRpb25DaGFuZ2VFdmVudERldGFpbCwgVGFibGVDb2x1bW5Db25maWd1cmF0aW9uIH07XG5leHBvcnQgeyBUYWJsZVJlY29yZCwgVGFibGVGaWVsZE5hbWUsIFRhYmxlRmllbGRWYWx1ZSwgVGFibGVWYWxpZGl0eSwgVGFibGVSb3dTZWxlY3Rpb25Nb2RlIH07XG5cbi8qKlxuICogRGlyZWN0aXZlIHRvIHByb3ZpZGUgQW5ndWxhciBpbnRlZ3JhdGlvbiBmb3IgdGhlIHRhYmxlIGVsZW1lbnQuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnbmltYmxlLXRhYmxlJ1xufSlcbmV4cG9ydCBjbGFzcyBOaW1ibGVUYWJsZURpcmVjdGl2ZTxURGF0YSBleHRlbmRzIFRhYmxlUmVjb3JkID0gVGFibGVSZWNvcmQ+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBwdWJsaWMgZ2V0IGRhdGEkKCk6IE9ic2VydmFibGU8VERhdGFbXT4gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhT2JzZXJ2YWJsZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgc2V0IGRhdGEkKHZhbHVlOiBPYnNlcnZhYmxlPFREYXRhW10+IHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuZGF0YVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcblxuICAgICAgICB0aGlzLmRhdGFPYnNlcnZhYmxlID0gdmFsdWU7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhU3Vic2NyaXB0aW9uID0gdmFsdWUuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIG5leHQgPT4ge1xuICAgICAgICAgICAgICAgICAgICB2b2lkIHRoaXMuc2V0RGF0YShuZXh0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpZEZpZWxkTmFtZSgpOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmlkRmllbGROYW1lO1xuICAgIH1cblxuICAgIC8vIFJlbmFtaW5nIGJlY2F1c2UgcHJvcGVydHkgc2hvdWxkIGhhdmUgY2FtZWwgY2FzaW5nLCBidXQgYXR0cmlidXRlIHNob3VsZCBub3RcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICAgIEBJbnB1dCgnaWQtZmllbGQtbmFtZScpIHB1YmxpYyBzZXQgaWRGaWVsZE5hbWUodmFsdWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2lkRmllbGROYW1lJywgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2VsZWN0aW9uTW9kZSgpOiBUYWJsZVJvd1NlbGVjdGlvbk1vZGUge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2VsZWN0aW9uTW9kZTtcbiAgICB9XG5cbiAgICAvLyBSZW5hbWluZyBiZWNhdXNlIHByb3BlcnR5IHNob3VsZCBoYXZlIGNhbWVsIGNhc2luZywgYnV0IGF0dHJpYnV0ZSBzaG91bGQgbm90XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ3NlbGVjdGlvbi1tb2RlJykgcHVibGljIHNldCBzZWxlY3Rpb25Nb2RlKHZhbHVlOiBUYWJsZVJvd1NlbGVjdGlvbk1vZGUpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3NlbGVjdGlvbk1vZGUnLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB2YWxpZGl0eSgpOiBUYWJsZVZhbGlkaXR5IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbGlkaXR5O1xuICAgIH1cblxuICAgIHByaXZhdGUgZGF0YU9ic2VydmFibGU/OiBPYnNlcnZhYmxlPFREYXRhW10+O1xuICAgIHByaXZhdGUgZGF0YVN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxUYWJsZTxURGF0YT4+KSB7fVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGFTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNoZWNrVmFsaWRpdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGVja1ZhbGlkaXR5KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHNldERhdGEoZGF0YTogcmVhZG9ubHkgVERhdGFbXSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0RGF0YShkYXRhKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0U2VsZWN0ZWRSZWNvcmRJZHMoKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0U2VsZWN0ZWRSZWNvcmRJZHMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgc2V0U2VsZWN0ZWRSZWNvcmRJZHMocmVjb3JkSWRzOiBzdHJpbmdbXSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0ZWRSZWNvcmRJZHMocmVjb3JkSWRzKTtcbiAgICB9XG59XG4iXX0=
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLXRhYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3RhYmxlL25pbWJsZS10YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBR25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOztBQUtuRixPQUFPLEVBQStELHFCQUFxQixFQUFFLENBQUM7QUFFOUY7O0dBRUc7QUFJSCxNQUFNLE9BQU8sb0JBQW9CO0lBc0Q3QixZQUFvQyxRQUFtQixFQUFtQixVQUFvQztRQUExRSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQW1CLGVBQVUsR0FBVixVQUFVLENBQTBCO0lBQUcsQ0FBQztJQXJEbEgsSUFBVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILElBQW9CLEtBQUssQ0FBQyxLQUFzQztRQUM1RCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFFckMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxLQUFLLEVBQUU7WUFDUCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FDbkMsSUFBSSxDQUFDLEVBQUU7Z0JBQ0gsS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVCLENBQUMsQ0FDSixDQUFDO1NBQ0w7SUFDTCxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQ3JELENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsMkRBQTJEO0lBQzNELElBQW1DLFdBQVcsQ0FBQyxLQUFnQztRQUMzRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztJQUN2RCxDQUFDO0lBRUQsK0VBQStFO0lBQy9FLDJEQUEyRDtJQUMzRCxJQUFvQyxhQUFhLENBQUMsS0FBNEI7UUFDMUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztJQUNsRCxDQUFDO0lBT00sV0FBVztRQUNkLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sYUFBYTtRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFFTSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQXNCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFTSxLQUFLLENBQUMsb0JBQW9CO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUNoRSxDQUFDO0lBRU0sS0FBSyxDQUFDLG9CQUFvQixDQUFDLFNBQW1CO1FBQ2pELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekUsQ0FBQzs7a0hBMUVRLG9CQUFvQjtzR0FBcEIsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7aUJBQzNCO3lIQWV1QixLQUFLO3NCQUF4QixLQUFLO2dCQW1CNkIsV0FBVztzQkFBN0MsS0FBSzt1QkFBQyxlQUFlO2dCQVVjLGFBQWE7c0JBQWhELEtBQUs7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgVGFibGUgfSBmcm9tICdAbmkvbmltYmxlLWNvbXBvbmVudHMvZGlzdC9lc20vdGFibGUnO1xuaW1wb3J0IHR5cGUgeyBUYWJsZVJlY29yZCwgVGFibGVGaWVsZE5hbWUsIFRhYmxlRmllbGRWYWx1ZSwgVGFibGVWYWxpZGl0eSwgVGFibGVBY3Rpb25NZW51VG9nZ2xlRXZlbnREZXRhaWwsIFRhYmxlUm93U2VsZWN0aW9uRXZlbnREZXRhaWwsIFRhYmxlQ29sdW1uQ29uZmlndXJhdGlvbkNoYW5nZUV2ZW50RGV0YWlsLCBUYWJsZUNvbHVtbkNvbmZpZ3VyYXRpb24gfSBmcm9tICdAbmkvbmltYmxlLWNvbXBvbmVudHMvZGlzdC9lc20vdGFibGUvdHlwZXMnO1xuaW1wb3J0IHsgVGFibGVSb3dTZWxlY3Rpb25Nb2RlIH0gZnJvbSAnQG5pL25pbWJsZS1jb21wb25lbnRzL2Rpc3QvZXNtL3RhYmxlL3R5cGVzJztcbmltcG9ydCB0eXBlIHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIHsgVGFibGUgfTtcbmV4cG9ydCB0eXBlIHsgVGFibGVBY3Rpb25NZW51VG9nZ2xlRXZlbnREZXRhaWwsIFRhYmxlUm93U2VsZWN0aW9uRXZlbnREZXRhaWwsIFRhYmxlQ29sdW1uQ29uZmlndXJhdGlvbkNoYW5nZUV2ZW50RGV0YWlsLCBUYWJsZUNvbHVtbkNvbmZpZ3VyYXRpb24gfTtcbmV4cG9ydCB7IFRhYmxlUmVjb3JkLCBUYWJsZUZpZWxkTmFtZSwgVGFibGVGaWVsZFZhbHVlLCBUYWJsZVZhbGlkaXR5LCBUYWJsZVJvd1NlbGVjdGlvbk1vZGUgfTtcblxuLyoqXG4gKiBEaXJlY3RpdmUgdG8gcHJvdmlkZSBBbmd1bGFyIGludGVncmF0aW9uIGZvciB0aGUgdGFibGUgZWxlbWVudC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICduaW1ibGUtdGFibGUnXG59KVxuZXhwb3J0IGNsYXNzIE5pbWJsZVRhYmxlRGlyZWN0aXZlPFREYXRhIGV4dGVuZHMgVGFibGVSZWNvcmQgPSBUYWJsZVJlY29yZD4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHB1YmxpYyBnZXQgZGF0YSQoKTogT2JzZXJ2YWJsZTxURGF0YVtdPiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFPYnNlcnZhYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFuIGBPYnNlcnZhYmxlPFREYXRhW10+YCB0aGF0IGVtaXRzIGRhdGEgdGhhdCBzaG91bGQgYmUgc2V0IG9uIHRoZSB0YWJsZS5cbiAgICAgKlxuICAgICAqIFdoZW4gdXNpbmcgYGRhdGEkYCwgdGhlIHRpbWluZyBvZiB3aGVuIHRoZSB0YWJsZSBoYXMgYmVlbiB1cGRhdGVkIHdpdGggYSBuZXcgY29sbGVjdGlvbiBvZiBkYXRhXG4gICAgICogY2Fubm90IGJlIG9ic2VydmVkIG9yIGF3YWl0IGJ5IGFuIGFwcGxpY2F0aW9uLiBJZiBhbiBhcHBsaWNhdGlvbiBuZWVkcyB0byBrbm93IHdoZW4gdGhlIGRhdGEgaGFzXG4gICAgICogYmVlbiBhcHBsaWVkLCBleHBsaWNpdGx5IGNhbGwgYHNldERhdGEoKWAgcmF0aGVyIHRoYW4gdXNpbmcgdGhlIGBkYXRhJGAgcHJvcGVydHkuIEZvciBleGFtcGxlLFxuICAgICAqIGNhbGxpbmcgYGdldFNlbGVjdGVkUmVjb3JkSWRzKClgIGltbWVkaWF0ZWx5IGFmdGVyIGVtaXR0aW5nIGEgbmV3IHZhbHVlIHRvIHRoZSBgZGF0YSRgIGBPYnNlcnZhYmxlYFxuICAgICAqIG1heSBub3QgdGFrZSB0aGUgbmV3IGRhdGEgaW50byBhY2NvdW50IHdoZW4gZGV0ZXJtaW5pbmcgdGhlIHNlbGVjdGVkIHJlY29yZHMuXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHNldCBkYXRhJCh2YWx1ZTogT2JzZXJ2YWJsZTxURGF0YVtdPiB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLmRhdGFTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICAgICAgdGhpcy5kYXRhT2JzZXJ2YWJsZSA9IHZhbHVlO1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YVN1YnNjcmlwdGlvbiA9IHZhbHVlLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICBuZXh0ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdm9pZCB0aGlzLnNldERhdGEobmV4dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaWRGaWVsZE5hbWUoKTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5pZEZpZWxkTmFtZTtcbiAgICB9XG5cbiAgICAvLyBSZW5hbWluZyBiZWNhdXNlIHByb3BlcnR5IHNob3VsZCBoYXZlIGNhbWVsIGNhc2luZywgYnV0IGF0dHJpYnV0ZSBzaG91bGQgbm90XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ2lkLWZpZWxkLW5hbWUnKSBwdWJsaWMgc2V0IGlkRmllbGROYW1lKHZhbHVlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdpZEZpZWxkTmFtZScsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNlbGVjdGlvbk1vZGUoKTogVGFibGVSb3dTZWxlY3Rpb25Nb2RlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNlbGVjdGlvbk1vZGU7XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdzZWxlY3Rpb24tbW9kZScpIHB1YmxpYyBzZXQgc2VsZWN0aW9uTW9kZSh2YWx1ZTogVGFibGVSb3dTZWxlY3Rpb25Nb2RlKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdzZWxlY3Rpb25Nb2RlJywgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdmFsaWRpdHkoKTogVGFibGVWYWxpZGl0eSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWxpZGl0eTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRhdGFPYnNlcnZhYmxlPzogT2JzZXJ2YWJsZTxURGF0YVtdPjtcbiAgICBwcml2YXRlIGRhdGFTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8VGFibGU8VERhdGE+Pikge31cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjaGVja1ZhbGlkaXR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hlY2tWYWxpZGl0eSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzZXREYXRhKGRhdGE6IHJlYWRvbmx5IFREYXRhW10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNldERhdGEoZGF0YSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldFNlbGVjdGVkUmVjb3JkSWRzKCk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldFNlbGVjdGVkUmVjb3JkSWRzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHNldFNlbGVjdGVkUmVjb3JkSWRzKHJlY29yZElkczogc3RyaW5nW10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGVkUmVjb3JkSWRzKHJlY29yZElkcyk7XG4gICAgfVxufVxuIl19
@@ -16,6 +16,15 @@ class NimbleTableDirective {
16
16
  get data$() {
17
17
  return this.dataObservable;
18
18
  }
19
+ /**
20
+ * An `Observable<TData[]>` that emits data that should be set on the table.
21
+ *
22
+ * When using `data$`, the timing of when the table has been updated with a new collection of data
23
+ * cannot be observed or await by an application. If an application needs to know when the data has
24
+ * been applied, explicitly call `setData()` rather than using the `data$` property. For example,
25
+ * calling `getSelectedRecordIds()` immediately after emitting a new value to the `data$` `Observable`
26
+ * may not take the new data into account when determining the selected records.
27
+ */
19
28
  set data$(value) {
20
29
  var _a;
21
30
  (_a = this.dataSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
@@ -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 } 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 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 @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 // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\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 // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\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 } 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 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 // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\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 // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\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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"}
@@ -15,6 +15,15 @@ class NimbleTableDirective {
15
15
  get data$() {
16
16
  return this.dataObservable;
17
17
  }
18
+ /**
19
+ * An `Observable<TData[]>` that emits data that should be set on the table.
20
+ *
21
+ * When using `data$`, the timing of when the table has been updated with a new collection of data
22
+ * cannot be observed or await by an application. If an application needs to know when the data has
23
+ * been applied, explicitly call `setData()` rather than using the `data$` property. For example,
24
+ * calling `getSelectedRecordIds()` immediately after emitting a new value to the `data$` `Observable`
25
+ * may not take the new data into account when determining the selected records.
26
+ */
18
27
  set data$(value) {
19
28
  this.dataSubscription?.unsubscribe();
20
29
  this.dataObservable = value;
@@ -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 } 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 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 @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 // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\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 // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\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 } 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 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 // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\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 // Renaming because property should have camel casing, but attribute should not\n // eslint-disable-next-line @angular-eslint/no-input-rename\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": "16.6.10",
3
+ "version": "16.6.12",
4
4
  "description": "Angular components for the NI Nimble Design System",
5
5
  "repository": {
6
6
  "type": "git",
@@ -83,7 +83,7 @@
83
83
  "@angular/core": "^14.2.0",
84
84
  "@angular/forms": "^14.2.0",
85
85
  "@angular/router": "^14.2.0",
86
- "@ni/nimble-components": "^19.4.2"
86
+ "@ni/nimble-components": "^19.4.3"
87
87
  },
88
88
  "dependencies": {
89
89
  "tslib": "^2.2.0"
@@ -14,6 +14,15 @@ export declare class NimbleTableDirective<TData extends TableRecord = TableRecor
14
14
  private readonly renderer;
15
15
  private readonly elementRef;
16
16
  get data$(): Observable<TData[]> | undefined;
17
+ /**
18
+ * An `Observable<TData[]>` that emits data that should be set on the table.
19
+ *
20
+ * When using `data$`, the timing of when the table has been updated with a new collection of data
21
+ * cannot be observed or await by an application. If an application needs to know when the data has
22
+ * been applied, explicitly call `setData()` rather than using the `data$` property. For example,
23
+ * calling `getSelectedRecordIds()` immediately after emitting a new value to the `data$` `Observable`
24
+ * may not take the new data into account when determining the selected records.
25
+ */
17
26
  set data$(value: Observable<TData[]> | undefined);
18
27
  get idFieldName(): string | null | undefined;
19
28
  set idFieldName(value: string | null | undefined);