@ni/nimble-angular 16.1.7 → 16.2.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.
- package/directives/table-column/base/nimble-table-column-base.directive.d.ts +8 -2
- package/directives/utilities/template-value-helpers.d.ts +5 -0
- package/esm2020/directives/table-column/base/nimble-table-column-base.directive.mjs +27 -3
- package/esm2020/directives/utilities/template-value-helpers.mjs +11 -1
- package/fesm2015/ni-nimble-angular.mjs +34 -1
- package/fesm2015/ni-nimble-angular.mjs.map +1 -1
- package/fesm2020/ni-nimble-angular.mjs +34 -1
- package/fesm2020/ni-nimble-angular.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { ElementRef, Renderer2 } from '@angular/core';
|
|
2
2
|
import type { TableColumn } from '@ni/nimble-components/dist/esm/table-column/base';
|
|
3
|
-
import {
|
|
3
|
+
import { TableColumnSortDirection } from '@ni/nimble-components/dist/esm/table/types';
|
|
4
|
+
import { BooleanValueOrAttribute, NumberValueOrAttribute } from '../../utilities/template-value-helpers';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
6
|
+
export { TableColumnSortDirection };
|
|
5
7
|
/**
|
|
6
8
|
* Base class for table column directives.
|
|
7
9
|
*/
|
|
@@ -16,7 +18,11 @@ export declare class NimbleTableColumnBaseDirective<T extends TableColumn> {
|
|
|
16
18
|
set actionMenuLabel(value: string | undefined);
|
|
17
19
|
get columnHidden(): boolean;
|
|
18
20
|
set columnHidden(value: BooleanValueOrAttribute);
|
|
21
|
+
get sortDirection(): TableColumnSortDirection;
|
|
22
|
+
set sortDirection(value: TableColumnSortDirection);
|
|
23
|
+
get sortIndex(): number | null | undefined;
|
|
24
|
+
set sortIndex(value: NumberValueOrAttribute | null | undefined);
|
|
19
25
|
constructor(renderer: Renderer2, elementRef: ElementRef<T>);
|
|
20
26
|
static ɵfac: i0.ɵɵFactoryDeclaration<NimbleTableColumnBaseDirective<any>, never>;
|
|
21
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<NimbleTableColumnBaseDirective<any>, never, never, { "columnId": "column-id"; "actionMenuSlot": "action-menu-slot"; "actionMenuLabel": "action-menu-label"; "columnHidden": "column-hidden"; }, {}, never, never, false>;
|
|
27
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NimbleTableColumnBaseDirective<any>, never, never, { "columnId": "column-id"; "actionMenuSlot": "action-menu-slot"; "actionMenuLabel": "action-menu-label"; "columnHidden": "column-hidden"; "sortDirection": "sort-direction"; "sortIndex": "sort-index"; }, {}, never, never, false>;
|
|
22
28
|
}
|
|
@@ -17,4 +17,9 @@ export declare const toBooleanAriaAttribute: (value: BooleanValueOrAttribute) =>
|
|
|
17
17
|
* Converts values from templates (number representation as a string) or number bindings to a number property representation
|
|
18
18
|
*/
|
|
19
19
|
export declare const toNumberProperty: (value: NumberValueOrAttribute) => number;
|
|
20
|
+
/**
|
|
21
|
+
* Converts values from templates (number representation as a string) or number bindings to a number property representation.
|
|
22
|
+
* The values of `null` and `undefined` are also supported, and they are not converted.
|
|
23
|
+
*/
|
|
24
|
+
export declare const toNullableNumberProperty: (value: NumberValueOrAttribute | null | undefined) => number | null | undefined;
|
|
20
25
|
export {};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Directive, Input } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { TableColumnSortDirection } from '@ni/nimble-components/dist/esm/table/types';
|
|
3
|
+
import { toBooleanProperty, toNullableNumberProperty } from '../../utilities/template-value-helpers';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
5
|
+
export { TableColumnSortDirection };
|
|
4
6
|
/**
|
|
5
7
|
* Base class for table column directives.
|
|
6
8
|
*/
|
|
@@ -41,9 +43,25 @@ export class NimbleTableColumnBaseDirective {
|
|
|
41
43
|
set columnHidden(value) {
|
|
42
44
|
this.renderer.setProperty(this.elementRef.nativeElement, 'columnHidden', toBooleanProperty(value));
|
|
43
45
|
}
|
|
46
|
+
get sortDirection() {
|
|
47
|
+
return this.elementRef.nativeElement.sortDirection;
|
|
48
|
+
}
|
|
49
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
50
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
51
|
+
set sortDirection(value) {
|
|
52
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'sortDirection', value);
|
|
53
|
+
}
|
|
54
|
+
get sortIndex() {
|
|
55
|
+
return this.elementRef.nativeElement.sortIndex;
|
|
56
|
+
}
|
|
57
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
58
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
59
|
+
set sortIndex(value) {
|
|
60
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'sortIndex', toNullableNumberProperty(value));
|
|
61
|
+
}
|
|
44
62
|
}
|
|
45
63
|
NimbleTableColumnBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NimbleTableColumnBaseDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
46
|
-
NimbleTableColumnBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: NimbleTableColumnBaseDirective, inputs: { columnId: ["column-id", "columnId"], actionMenuSlot: ["action-menu-slot", "actionMenuSlot"], actionMenuLabel: ["action-menu-label", "actionMenuLabel"], columnHidden: ["column-hidden", "columnHidden"] }, ngImport: i0 });
|
|
64
|
+
NimbleTableColumnBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: NimbleTableColumnBaseDirective, inputs: { columnId: ["column-id", "columnId"], actionMenuSlot: ["action-menu-slot", "actionMenuSlot"], actionMenuLabel: ["action-menu-label", "actionMenuLabel"], columnHidden: ["column-hidden", "columnHidden"], sortDirection: ["sort-direction", "sortDirection"], sortIndex: ["sort-index", "sortIndex"] }, ngImport: i0 });
|
|
47
65
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NimbleTableColumnBaseDirective, decorators: [{
|
|
48
66
|
type: Directive
|
|
49
67
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { columnId: [{
|
|
@@ -58,5 +76,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
58
76
|
}], columnHidden: [{
|
|
59
77
|
type: Input,
|
|
60
78
|
args: ['column-hidden']
|
|
79
|
+
}], sortDirection: [{
|
|
80
|
+
type: Input,
|
|
81
|
+
args: ['sort-direction']
|
|
82
|
+
}], sortIndex: [{
|
|
83
|
+
type: Input,
|
|
84
|
+
args: ['sort-index']
|
|
61
85
|
}] } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLXRhYmxlLWNvbHVtbi1iYXNlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3NyYy9kaXJlY3RpdmVzL3RhYmxlLWNvbHVtbi9iYXNlL25pbWJsZS10YWJsZS1jb2x1bW4tYmFzZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFeEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdEYsT0FBTyxFQUFtRCxpQkFBaUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOztBQUV0SixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQztBQUVwQzs7R0FFRztBQUVILE1BQU0sT0FBTyw4QkFBOEI7SUE2RHZDLFlBQXNDLFFBQW1CLEVBQXFCLFVBQXlCO1FBQWpFLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBcUIsZUFBVSxHQUFWLFVBQVUsQ0FBZTtJQUFHLENBQUM7SUE1RDNHLElBQVcsUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQ2xELENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsMkRBQTJEO0lBQzNELElBQStCLFFBQVEsQ0FBQyxLQUF5QjtRQUM3RCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQVcsY0FBYztRQUNyQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsK0VBQStFO0lBQy9FLDJEQUEyRDtJQUMzRCxJQUFzQyxjQUFjLENBQUMsS0FBeUI7UUFDMUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQztJQUN6RCxDQUFDO0lBRUQsK0VBQStFO0lBQy9FLDJEQUEyRDtJQUMzRCxJQUF1QyxlQUFlLENBQUMsS0FBeUI7UUFDNUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztJQUN0RCxDQUFDO0lBRUQsK0VBQStFO0lBQy9FLDJEQUEyRDtJQUMzRCxJQUFtQyxZQUFZLENBQUMsS0FBOEI7UUFDMUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdkcsQ0FBQztJQUVELElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztJQUN2RCxDQUFDO0lBRUQsK0VBQStFO0lBQy9FLDJEQUEyRDtJQUMzRCxJQUFvQyxhQUFhLENBQUMsS0FBK0I7UUFDN0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7SUFDbkQsQ0FBQztJQUVELCtFQUErRTtJQUMvRSwyREFBMkQ7SUFDM0QsSUFBZ0MsU0FBUyxDQUFDLEtBQWdEO1FBQ3RGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzNHLENBQUM7OzRIQTNEUSw4QkFBOEI7Z0hBQTlCLDhCQUE4Qjs0RkFBOUIsOEJBQThCO2tCQUQxQyxTQUFTO3lIQVF5QixRQUFRO3NCQUF0QyxLQUFLO3VCQUFDLFdBQVc7Z0JBVW9CLGNBQWM7c0JBQW5ELEtBQUs7dUJBQUMsa0JBQWtCO2dCQVVjLGVBQWU7c0JBQXJELEtBQUs7dUJBQUMsbUJBQW1CO2dCQVVTLFlBQVk7c0JBQTlDLEtBQUs7dUJBQUMsZUFBZTtnQkFVYyxhQUFhO3NCQUFoRCxLQUFLO3VCQUFDLGdCQUFnQjtnQkFVUyxTQUFTO3NCQUF4QyxLQUFLO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgVGFibGVDb2x1bW4gfSBmcm9tICdAbmkvbmltYmxlLWNvbXBvbmVudHMvZGlzdC9lc20vdGFibGUtY29sdW1uL2Jhc2UnO1xuaW1wb3J0IHsgVGFibGVDb2x1bW5Tb3J0RGlyZWN0aW9uIH0gZnJvbSAnQG5pL25pbWJsZS1jb21wb25lbnRzL2Rpc3QvZXNtL3RhYmxlL3R5cGVzJztcbmltcG9ydCB7IEJvb2xlYW5WYWx1ZU9yQXR0cmlidXRlLCBOdW1iZXJWYWx1ZU9yQXR0cmlidXRlLCB0b0Jvb2xlYW5Qcm9wZXJ0eSwgdG9OdWxsYWJsZU51bWJlclByb3BlcnR5IH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL3RlbXBsYXRlLXZhbHVlLWhlbHBlcnMnO1xuXG5leHBvcnQgeyBUYWJsZUNvbHVtblNvcnREaXJlY3Rpb24gfTtcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciB0YWJsZSBjb2x1bW4gZGlyZWN0aXZlcy5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgTmltYmxlVGFibGVDb2x1bW5CYXNlRGlyZWN0aXZlPFQgZXh0ZW5kcyBUYWJsZUNvbHVtbj4ge1xuICAgIHB1YmxpYyBnZXQgY29sdW1uSWQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbHVtbklkO1xuICAgIH1cblxuICAgIC8vIFJlbmFtaW5nIGJlY2F1c2UgcHJvcGVydHkgc2hvdWxkIGhhdmUgY2FtZWwgY2FzaW5nLCBidXQgYXR0cmlidXRlIHNob3VsZCBub3RcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICAgIEBJbnB1dCgnY29sdW1uLWlkJykgcHVibGljIHNldCBjb2x1bW5JZCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjb2x1bW5JZCcsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGFjdGlvbk1lbnVTbG90KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5hY3Rpb25NZW51U2xvdDtcbiAgICB9XG5cbiAgICAvLyBSZW5hbWluZyBiZWNhdXNlIHByb3BlcnR5IHNob3VsZCBoYXZlIGNhbWVsIGNhc2luZywgYnV0IGF0dHJpYnV0ZSBzaG91bGQgbm90XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ2FjdGlvbi1tZW51LXNsb3QnKSBwdWJsaWMgc2V0IGFjdGlvbk1lbnVTbG90KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2FjdGlvbk1lbnVTbG90JywgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYWN0aW9uTWVudUxhYmVsKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5hY3Rpb25NZW51TGFiZWw7XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdhY3Rpb24tbWVudS1sYWJlbCcpIHB1YmxpYyBzZXQgYWN0aW9uTWVudUxhYmVsKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2FjdGlvbk1lbnVMYWJlbCcsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbHVtbkhpZGRlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbHVtbkhpZGRlbjtcbiAgICB9XG5cbiAgICAvLyBSZW5hbWluZyBiZWNhdXNlIHByb3BlcnR5IHNob3VsZCBoYXZlIGNhbWVsIGNhc2luZywgYnV0IGF0dHJpYnV0ZSBzaG91bGQgbm90XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ2NvbHVtbi1oaWRkZW4nKSBwdWJsaWMgc2V0IGNvbHVtbkhpZGRlbih2YWx1ZTogQm9vbGVhblZhbHVlT3JBdHRyaWJ1dGUpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2NvbHVtbkhpZGRlbicsIHRvQm9vbGVhblByb3BlcnR5KHZhbHVlKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzb3J0RGlyZWN0aW9uKCk6IFRhYmxlQ29sdW1uU29ydERpcmVjdGlvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zb3J0RGlyZWN0aW9uO1xuICAgIH1cblxuICAgIC8vIFJlbmFtaW5nIGJlY2F1c2UgcHJvcGVydHkgc2hvdWxkIGhhdmUgY2FtZWwgY2FzaW5nLCBidXQgYXR0cmlidXRlIHNob3VsZCBub3RcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICAgIEBJbnB1dCgnc29ydC1kaXJlY3Rpb24nKSBwdWJsaWMgc2V0IHNvcnREaXJlY3Rpb24odmFsdWU6IFRhYmxlQ29sdW1uU29ydERpcmVjdGlvbikge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnc29ydERpcmVjdGlvbicsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNvcnRJbmRleCgpOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNvcnRJbmRleDtcbiAgICB9XG5cbiAgICAvLyBSZW5hbWluZyBiZWNhdXNlIHByb3BlcnR5IHNob3VsZCBoYXZlIGNhbWVsIGNhc2luZywgYnV0IGF0dHJpYnV0ZSBzaG91bGQgbm90XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ3NvcnQtaW5kZXgnKSBwdWJsaWMgc2V0IHNvcnRJbmRleCh2YWx1ZTogTnVtYmVyVmFsdWVPckF0dHJpYnV0ZSB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3NvcnRJbmRleCcsIHRvTnVsbGFibGVOdW1iZXJQcm9wZXJ0eSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJvdGVjdGVkIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8VD4pIHt9XG59Il19
|
|
@@ -34,4 +34,14 @@ export const toNumberProperty = (value) => {
|
|
|
34
34
|
// Are identical (use ToNumeric algorithm), went with Number() for clarity
|
|
35
35
|
return Number(value);
|
|
36
36
|
};
|
|
37
|
-
|
|
37
|
+
/**
|
|
38
|
+
* Converts values from templates (number representation as a string) or number bindings to a number property representation.
|
|
39
|
+
* The values of `null` and `undefined` are also supported, and they are not converted.
|
|
40
|
+
*/
|
|
41
|
+
export const toNullableNumberProperty = (value) => {
|
|
42
|
+
if (value === undefined || value === null) {
|
|
43
|
+
return value;
|
|
44
|
+
}
|
|
45
|
+
return toNumberProperty(value);
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtdmFsdWUtaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3NyYy9kaXJlY3RpdmVzL3V0aWxpdGllcy90ZW1wbGF0ZS12YWx1ZS1oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBWUg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEtBQThCLEVBQVcsRUFBRTtJQUN6RSxJQUFJLEtBQUssS0FBSyxLQUFLLElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtRQUNuQyxPQUFPLEtBQUssQ0FBQztLQUNoQjtJQUNELHdEQUF3RDtJQUN4RCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLEtBQThCLEVBQW9CLEVBQUU7SUFDdkYsSUFBSSxLQUFLLEtBQUssS0FBSyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7UUFDbkMsT0FBTyxPQUFPLENBQUM7S0FDbEI7SUFDRCx3REFBd0Q7SUFDeEQsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQTZCLEVBQVUsRUFBRTtJQUN0RSx1SkFBdUo7SUFDdkosbUtBQW1LO0lBQ25LLHVEQUF1RDtJQUN2RCxpSEFBaUg7SUFDakgsNEhBQTRIO0lBQzVILDBFQUEwRTtJQUMxRSxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN6QixDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLEtBQWdELEVBQTZCLEVBQUU7SUFDcEgsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7UUFDdkMsT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFFRCxPQUFPLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29udmVyc2lvbiBoZWxwZXJzIGZvciB2YWx1ZXMgY29taW5nIGZyb20gdGVtcGxhdGUgYXR0cmlidXRlcyBvciBwcm9wZXJ0eSBiaW5kaW5nc1xuICovXG5cbi8vIFZhbHVlcyBhc3NpZ25lZCB0byBkaXJlY3RpdmVzIGNhbiBjb21lIGZyb20gdGVtcGxhdGUgYXR0cmlidXRlcywgaWUgPG15LWVsZW1lbnQgbXktbnVtYmVyPVwiNFwiPjwvbXktZWxlbWVudD5cbi8vIG9yIGZyb20gcHJvcGVydHkgYmluZGluZ3MsIGllIDxteS1lbGVtZW50IFtteS1udW1iZXJdPVwic29tZU51bWJlclwiPjwvbXktZWxlbWVudD5cbi8vIFNvIHNldHRlcnMgZm9yIG91ciBkaXJlY3RpdmVzIGFjY2VwdCBib3RoIHN0cmluZyB2YWx1ZXMgZnJvbSB0ZW1wbGF0ZSBhdHRyaWJ1dGVzIGFuZFxuLy8gdGhlIGV4cGVjdGVkIHByb3BlcnR5IHR5cGUuIFRoaXMgZmlsZSBoYXMgaGVscGVycyBmb3IgY29tbW9uIHByb3BlcnR5IHR5cGVzLlxuLy8gTW9yZSBjb250ZXh0OiBodHRwczovL3YxMy5hbmd1bGFyLmlvL2d1aWRlL3RlbXBsYXRlLXR5cGVjaGVjayNpbnB1dC1zZXR0ZXItY29lcmNpb25cblxudHlwZSBCb29sZWFuQXR0cmlidXRlID0gJycgfCBudWxsO1xuZXhwb3J0IHR5cGUgQm9vbGVhblZhbHVlT3JBdHRyaWJ1dGUgPSBib29sZWFuIHwgQm9vbGVhbkF0dHJpYnV0ZTtcbmV4cG9ydCB0eXBlIE51bWJlclZhbHVlT3JBdHRyaWJ1dGUgPSBudW1iZXIgfCBzdHJpbmc7XG5cbi8qKlxuICogQ29udmVydHMgdmFsdWVzIGZyb20gdGVtcGxhdGVzIChlbXB0eSBzdHJpbmcgb3IgbnVsbCkgb3IgYm9vbGVhbiBiaW5kaW5ncyB0byBhIGJvb2xlYW4gcHJvcGVydHkgcmVwcmVzZW50YXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IHRvQm9vbGVhblByb3BlcnR5ID0gKHZhbHVlOiBCb29sZWFuVmFsdWVPckF0dHJpYnV0ZSk6IGJvb2xlYW4gPT4ge1xuICAgIGlmICh2YWx1ZSA9PT0gZmFsc2UgfHwgdmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvLyBGb3IgYm9vbGVhbiBhdHRyaWJ1dGVzIHRoZSBlbXB0eSBzdHJpbmcgdmFsdWUgaXMgdHJ1ZVxuICAgIHJldHVybiB0cnVlO1xufTtcblxuLyoqXG4gKiBDb252ZXJ0cyB2YWx1ZXMgZnJvbSB0ZW1wbGF0ZXMgKGVtcHR5IHN0cmluZyBvciBudWxsKSBvciBib29sZWFuIGJpbmRpbmdzIHRvIGFuIEFyaWEgYm9vbGVhblxuICogYXR0cmlidXRlIHJlcHJlc2VudGF0aW9uICh0aGUgc3RyaW5ncyBcInRydWVcIiBvciBcImZhbHNlXCIpXG4gKi9cbmV4cG9ydCBjb25zdCB0b0Jvb2xlYW5BcmlhQXR0cmlidXRlID0gKHZhbHVlOiBCb29sZWFuVmFsdWVPckF0dHJpYnV0ZSk6ICd0cnVlJyB8ICdmYWxzZScgPT4ge1xuICAgIGlmICh2YWx1ZSA9PT0gZmFsc2UgfHwgdmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuICdmYWxzZSc7XG4gICAgfVxuICAgIC8vIEZvciBib29sZWFuIGF0dHJpYnV0ZXMgdGhlIGVtcHR5IHN0cmluZyB2YWx1ZSBpcyB0cnVlXG4gICAgcmV0dXJuICd0cnVlJztcbn07XG5cbi8qKlxuICogQ29udmVydHMgdmFsdWVzIGZyb20gdGVtcGxhdGVzIChudW1iZXIgcmVwcmVzZW50YXRpb24gYXMgYSBzdHJpbmcpIG9yIG51bWJlciBiaW5kaW5ncyB0byBhIG51bWJlciBwcm9wZXJ0eSByZXByZXNlbnRhdGlvblxuICovXG5leHBvcnQgY29uc3QgdG9OdW1iZXJQcm9wZXJ0eSA9ICh2YWx1ZTogTnVtYmVyVmFsdWVPckF0dHJpYnV0ZSk6IG51bWJlciA9PiB7XG4gICAgLy8gQW5ndWxhcjogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9ibG9iLzI2NjRiYzJiM2VmNGVlNWZkNjcxZjkxNTgyOGNmY2MyNzRhMzZjNzcvcGFja2FnZXMvZm9ybXMvc3JjL2RpcmVjdGl2ZXMvbnVtYmVyX3ZhbHVlX2FjY2Vzc29yLnRzI0w2N1xuICAgIC8vIEFuZCBGYXN0OiBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L2Zhc3QvYmxvYi80NmJiNmQ5YWFiMmMzNzEwNWY0NDM0ZGIzNzk1ZTE3NmMyMzU0YTRmL3BhY2thZ2VzL3dlYi1jb21wb25lbnRzL2Zhc3QtZWxlbWVudC9zcmMvY29tcG9uZW50cy9hdHRyaWJ1dGVzLnRzI0wxMDBcbiAgICAvLyBIYW5kbGUgbnVtZXJpYyBjb252ZXJzaW9ucyBmcm9tIHRoZSB2aWV3IGRpZmZlcmVudGx5XG4gICAgLy8gU2luY2UgTnVtYmVyKHZhbCkgaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvbXVsdGlwYWdlL251bWJlcnMtYW5kLWRhdGVzLmh0bWwjc2VjLW51bWJlci1jb25zdHJ1Y3Rvci1udW1iZXItdmFsdWVcbiAgICAvLyBhbmQgdmFsICogMSBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi9tdWx0aXBhZ2UvZWNtYXNjcmlwdC1sYW5ndWFnZS1leHByZXNzaW9ucy5odG1sI3NlYy1hcHBseXN0cmluZ29ybnVtZXJpY2JpbmFyeW9wZXJhdG9yXG4gICAgLy8gQXJlIGlkZW50aWNhbCAodXNlIFRvTnVtZXJpYyBhbGdvcml0aG0pLCB3ZW50IHdpdGggTnVtYmVyKCkgZm9yIGNsYXJpdHlcbiAgICByZXR1cm4gTnVtYmVyKHZhbHVlKTtcbn07XG5cbi8qKlxuICogQ29udmVydHMgdmFsdWVzIGZyb20gdGVtcGxhdGVzIChudW1iZXIgcmVwcmVzZW50YXRpb24gYXMgYSBzdHJpbmcpIG9yIG51bWJlciBiaW5kaW5ncyB0byBhIG51bWJlciBwcm9wZXJ0eSByZXByZXNlbnRhdGlvbi5cbiAqIFRoZSB2YWx1ZXMgb2YgYG51bGxgIGFuZCBgdW5kZWZpbmVkYCBhcmUgYWxzbyBzdXBwb3J0ZWQsIGFuZCB0aGV5IGFyZSBub3QgY29udmVydGVkLlxuICovXG5leHBvcnQgY29uc3QgdG9OdWxsYWJsZU51bWJlclByb3BlcnR5ID0gKHZhbHVlOiBOdW1iZXJWYWx1ZU9yQXR0cmlidXRlIHwgbnVsbCB8IHVuZGVmaW5lZCk6IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQgPT4ge1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdG9OdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG59O1xuIl19
|
|
@@ -190,6 +190,7 @@ import '@ni/nimble-components/dist/esm/switch';
|
|
|
190
190
|
import '@ni/nimble-components/dist/esm/tab';
|
|
191
191
|
import '@ni/nimble-components/dist/esm/tab-panel';
|
|
192
192
|
import '@ni/nimble-components/dist/esm/table';
|
|
193
|
+
import '@ni/nimble-components/dist/esm/table/types';
|
|
193
194
|
import '@ni/nimble-components/dist/esm/table-column/text';
|
|
194
195
|
import '@ni/nimble-components/dist/esm/tabs';
|
|
195
196
|
import '@ni/nimble-components/dist/esm/tabs-toolbar';
|
|
@@ -362,6 +363,16 @@ const toNumberProperty = (value) => {
|
|
|
362
363
|
// Are identical (use ToNumeric algorithm), went with Number() for clarity
|
|
363
364
|
return Number(value);
|
|
364
365
|
};
|
|
366
|
+
/**
|
|
367
|
+
* Converts values from templates (number representation as a string) or number bindings to a number property representation.
|
|
368
|
+
* The values of `null` and `undefined` are also supported, and they are not converted.
|
|
369
|
+
*/
|
|
370
|
+
const toNullableNumberProperty = (value) => {
|
|
371
|
+
if (value === undefined || value === null) {
|
|
372
|
+
return value;
|
|
373
|
+
}
|
|
374
|
+
return toNumberProperty(value);
|
|
375
|
+
};
|
|
365
376
|
|
|
366
377
|
/**
|
|
367
378
|
* Directive to provide Angular integration for the anchor.
|
|
@@ -7422,9 +7433,25 @@ class NimbleTableColumnBaseDirective {
|
|
|
7422
7433
|
set columnHidden(value) {
|
|
7423
7434
|
this.renderer.setProperty(this.elementRef.nativeElement, 'columnHidden', toBooleanProperty(value));
|
|
7424
7435
|
}
|
|
7436
|
+
get sortDirection() {
|
|
7437
|
+
return this.elementRef.nativeElement.sortDirection;
|
|
7438
|
+
}
|
|
7439
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
7440
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
7441
|
+
set sortDirection(value) {
|
|
7442
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'sortDirection', value);
|
|
7443
|
+
}
|
|
7444
|
+
get sortIndex() {
|
|
7445
|
+
return this.elementRef.nativeElement.sortIndex;
|
|
7446
|
+
}
|
|
7447
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
7448
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
7449
|
+
set sortIndex(value) {
|
|
7450
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'sortIndex', toNullableNumberProperty(value));
|
|
7451
|
+
}
|
|
7425
7452
|
}
|
|
7426
7453
|
NimbleTableColumnBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NimbleTableColumnBaseDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
7427
|
-
NimbleTableColumnBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: NimbleTableColumnBaseDirective, inputs: { columnId: ["column-id", "columnId"], actionMenuSlot: ["action-menu-slot", "actionMenuSlot"], actionMenuLabel: ["action-menu-label", "actionMenuLabel"], columnHidden: ["column-hidden", "columnHidden"] }, ngImport: i0 });
|
|
7454
|
+
NimbleTableColumnBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: NimbleTableColumnBaseDirective, inputs: { columnId: ["column-id", "columnId"], actionMenuSlot: ["action-menu-slot", "actionMenuSlot"], actionMenuLabel: ["action-menu-label", "actionMenuLabel"], columnHidden: ["column-hidden", "columnHidden"], sortDirection: ["sort-direction", "sortDirection"], sortIndex: ["sort-index", "sortIndex"] }, ngImport: i0 });
|
|
7428
7455
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NimbleTableColumnBaseDirective, decorators: [{
|
|
7429
7456
|
type: Directive
|
|
7430
7457
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { columnId: [{
|
|
@@ -7439,6 +7466,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
7439
7466
|
}], columnHidden: [{
|
|
7440
7467
|
type: Input,
|
|
7441
7468
|
args: ['column-hidden']
|
|
7469
|
+
}], sortDirection: [{
|
|
7470
|
+
type: Input,
|
|
7471
|
+
args: ['sort-direction']
|
|
7472
|
+
}], sortIndex: [{
|
|
7473
|
+
type: Input,
|
|
7474
|
+
args: ['sort-index']
|
|
7442
7475
|
}] } });
|
|
7443
7476
|
|
|
7444
7477
|
/**
|