@ni/nimble-angular 30.9.0 → 30.9.2
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/checkbox/nimble-checkbox-control-value-accessor.directive.d.ts +3 -0
- package/esm2022/directives/checkbox/nimble-checkbox-control-value-accessor.directive.mjs +29 -5
- package/fesm2022/ni-nimble-angular.mjs +27 -3
- package/fesm2022/ni-nimble-angular.mjs.map +1 -1
- package/package.json +4 -3
|
@@ -6,6 +6,9 @@ import * as i0 from "@angular/core";
|
|
|
6
6
|
* Directive decorator based on CheckboxControlValueAccessor decorator in thirdparty/directives/checkbox_value_accessor
|
|
7
7
|
*/
|
|
8
8
|
export declare class NimbleCheckboxControlValueAccessorDirective extends CheckboxControlValueAccessor {
|
|
9
|
+
private ignoreChangeEvents;
|
|
10
|
+
writeValue(value: unknown): void;
|
|
11
|
+
nimbleOnChange(event: Event): void;
|
|
9
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<NimbleCheckboxControlValueAccessorDirective, never>;
|
|
10
13
|
static ɵdir: i0.ɵɵDirectiveDeclaration<NimbleCheckboxControlValueAccessorDirective, "nimble-checkbox[formControlName],nimble-checkbox[formControl],nimble-checkbox[ngModel]", never, {}, {}, never, never, false, never>;
|
|
11
14
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Directive, forwardRef } from '@angular/core';
|
|
1
|
+
import { Directive, forwardRef, HostListener } from '@angular/core';
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
3
|
import { CheckboxControlValueAccessor } from '../../thirdparty/directives/checkbox_value_accessor';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
@@ -8,8 +8,29 @@ import * as i0 from "@angular/core";
|
|
|
8
8
|
* Directive decorator based on CheckboxControlValueAccessor decorator in thirdparty/directives/checkbox_value_accessor
|
|
9
9
|
*/
|
|
10
10
|
export class NimbleCheckboxControlValueAccessorDirective extends CheckboxControlValueAccessor {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.ignoreChangeEvents = false;
|
|
14
|
+
}
|
|
15
|
+
writeValue(value) {
|
|
16
|
+
// Because the 'change' event is emitted from the checkbox when its value is set programmatically,
|
|
17
|
+
// ignore change events while writing the value. See https://github.com/ni/nimble/issues/2739
|
|
18
|
+
try {
|
|
19
|
+
this.ignoreChangeEvents = true;
|
|
20
|
+
super.writeValue(value);
|
|
21
|
+
}
|
|
22
|
+
finally {
|
|
23
|
+
this.ignoreChangeEvents = false;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
nimbleOnChange(event) {
|
|
27
|
+
if (this.ignoreChangeEvents) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
this.onChange(event.target.checked);
|
|
31
|
+
}
|
|
11
32
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NimbleCheckboxControlValueAccessorDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
12
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: NimbleCheckboxControlValueAccessorDirective, selector: "nimble-checkbox[formControlName],nimble-checkbox[formControl],nimble-checkbox[ngModel]", host: { listeners: { "
|
|
33
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: NimbleCheckboxControlValueAccessorDirective, selector: "nimble-checkbox[formControlName],nimble-checkbox[formControl],nimble-checkbox[ngModel]", host: { listeners: { "blur": "onTouched()", "change": "nimbleOnChange($event)" } }, providers: [{
|
|
13
34
|
provide: NG_VALUE_ACCESSOR,
|
|
14
35
|
useExisting: forwardRef(() => NimbleCheckboxControlValueAccessorDirective),
|
|
15
36
|
multi: true
|
|
@@ -21,12 +42,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
21
42
|
selector: 'nimble-checkbox[formControlName],nimble-checkbox[formControl],nimble-checkbox[ngModel]',
|
|
22
43
|
// The following host metadata is duplicated from CheckboxControlValueAccessor
|
|
23
44
|
// eslint-disable-next-line @angular-eslint/no-host-metadata-property, @typescript-eslint/naming-convention
|
|
24
|
-
host: { '(
|
|
45
|
+
host: { '(blur)': 'onTouched()' },
|
|
25
46
|
providers: [{
|
|
26
47
|
provide: NG_VALUE_ACCESSOR,
|
|
27
48
|
useExisting: forwardRef(() => NimbleCheckboxControlValueAccessorDirective),
|
|
28
49
|
multi: true
|
|
29
50
|
}]
|
|
30
51
|
}]
|
|
31
|
-
}]
|
|
32
|
-
|
|
52
|
+
}], propDecorators: { nimbleOnChange: [{
|
|
53
|
+
type: HostListener,
|
|
54
|
+
args: ['change', ['$event']]
|
|
55
|
+
}] } });
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLWNoZWNrYm94LWNvbnRyb2wtdmFsdWUtYWNjZXNzb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbmltYmxlLWFuZ3VsYXIvc3JjL2RpcmVjdGl2ZXMvY2hlY2tib3gvbmltYmxlLWNoZWNrYm94LWNvbnRyb2wtdmFsdWUtYWNjZXNzb3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQzs7QUFHbkc7Ozs7R0FJRztBQWFILE1BQU0sT0FBTywyQ0FBNEMsU0FBUSw0QkFBNEI7SUFaN0Y7O1FBYVksdUJBQWtCLEdBQUcsS0FBSyxDQUFDO0tBb0J0QztJQWxCbUIsVUFBVSxDQUFDLEtBQWM7UUFDckMsa0dBQWtHO1FBQ2xHLDZGQUE2RjtRQUM3RixJQUFJLENBQUM7WUFDRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1lBQy9CLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQztnQkFBUyxDQUFDO1lBQ1AsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztRQUNwQyxDQUFDO0lBQ0wsQ0FBQztJQUdNLGNBQWMsQ0FBQyxLQUFZO1FBQzlCLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDMUIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFFLEtBQUssQ0FBQyxNQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUM7K0dBcEJRLDJDQUEyQzttR0FBM0MsMkNBQTJDLHFNQU56QyxDQUFDO2dCQUNSLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMkNBQTJDLENBQUM7Z0JBQzFFLEtBQUssRUFBRSxJQUFJO2FBQ2QsQ0FBQzs7NEZBRU8sMkNBQTJDO2tCQVp2RCxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFDTix3RkFBd0Y7b0JBQzFGLDhFQUE4RTtvQkFDOUUsMkdBQTJHO29CQUMzRyxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFO29CQUNqQyxTQUFTLEVBQUUsQ0FBQzs0QkFDUixPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw0Q0FBNEMsQ0FBQzs0QkFDMUUsS0FBSyxFQUFFLElBQUk7eUJBQ2QsQ0FBQztpQkFDTDs4QkFnQlUsY0FBYztzQkFEcEIsWUFBWTt1QkFBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDaGVja2JveENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnLi4vLi4vdGhpcmRwYXJ0eS9kaXJlY3RpdmVzL2NoZWNrYm94X3ZhbHVlX2FjY2Vzc29yJztcbmltcG9ydCB0eXBlIHsgQ2hlY2tib3ggfSBmcm9tICcuL25pbWJsZS1jaGVja2JveC5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIEV4dGVuc2lvbiBvZiBBbmd1bGFyJ3MgQ2hlY2tib3hDb250cm9sVmFsdWVBY2Nlc3NvciB0byB0YXJnZXQgdGhlIE5pbWJsZSBjaGVja2JveCBjb250cm9sLlxuICpcbiAqIERpcmVjdGl2ZSBkZWNvcmF0b3IgYmFzZWQgb24gQ2hlY2tib3hDb250cm9sVmFsdWVBY2Nlc3NvciBkZWNvcmF0b3IgaW4gdGhpcmRwYXJ0eS9kaXJlY3RpdmVzL2NoZWNrYm94X3ZhbHVlX2FjY2Vzc29yXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOlxuICAgICAgJ25pbWJsZS1jaGVja2JveFtmb3JtQ29udHJvbE5hbWVdLG5pbWJsZS1jaGVja2JveFtmb3JtQ29udHJvbF0sbmltYmxlLWNoZWNrYm94W25nTW9kZWxdJyxcbiAgICAvLyBUaGUgZm9sbG93aW5nIGhvc3QgbWV0YWRhdGEgaXMgZHVwbGljYXRlZCBmcm9tIENoZWNrYm94Q29udHJvbFZhbHVlQWNjZXNzb3JcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWhvc3QtbWV0YWRhdGEtcHJvcGVydHksIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgIGhvc3Q6IHsgJyhibHVyKSc6ICdvblRvdWNoZWQoKScgfSxcbiAgICBwcm92aWRlcnM6IFt7XG4gICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOaW1ibGVDaGVja2JveENvbnRyb2xWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlKSxcbiAgICAgICAgbXVsdGk6IHRydWVcbiAgICB9XVxufSlcbmV4cG9ydCBjbGFzcyBOaW1ibGVDaGVja2JveENvbnRyb2xWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlIGV4dGVuZHMgQ2hlY2tib3hDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgcHJpdmF0ZSBpZ25vcmVDaGFuZ2VFdmVudHMgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiB1bmtub3duKTogdm9pZCB7XG4gICAgICAgIC8vIEJlY2F1c2UgdGhlICdjaGFuZ2UnIGV2ZW50IGlzIGVtaXR0ZWQgZnJvbSB0aGUgY2hlY2tib3ggd2hlbiBpdHMgdmFsdWUgaXMgc2V0IHByb2dyYW1tYXRpY2FsbHksXG4gICAgICAgIC8vIGlnbm9yZSBjaGFuZ2UgZXZlbnRzIHdoaWxlIHdyaXRpbmcgdGhlIHZhbHVlLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL25pL25pbWJsZS9pc3N1ZXMvMjczOVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5pZ25vcmVDaGFuZ2VFdmVudHMgPSB0cnVlO1xuICAgICAgICAgICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICB0aGlzLmlnbm9yZUNoYW5nZUV2ZW50cyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2hhbmdlJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgbmltYmxlT25DaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlnbm9yZUNoYW5nZUV2ZW50cykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub25DaGFuZ2UoKGV2ZW50LnRhcmdldCBhcyBDaGVja2JveCkuY2hlY2tlZCk7XG4gICAgfVxufVxuIl19
|
|
@@ -1922,8 +1922,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
1922
1922
|
* Directive decorator based on CheckboxControlValueAccessor decorator in thirdparty/directives/checkbox_value_accessor
|
|
1923
1923
|
*/
|
|
1924
1924
|
class NimbleCheckboxControlValueAccessorDirective extends CheckboxControlValueAccessor {
|
|
1925
|
+
constructor() {
|
|
1926
|
+
super(...arguments);
|
|
1927
|
+
this.ignoreChangeEvents = false;
|
|
1928
|
+
}
|
|
1929
|
+
writeValue(value) {
|
|
1930
|
+
// Because the 'change' event is emitted from the checkbox when its value is set programmatically,
|
|
1931
|
+
// ignore change events while writing the value. See https://github.com/ni/nimble/issues/2739
|
|
1932
|
+
try {
|
|
1933
|
+
this.ignoreChangeEvents = true;
|
|
1934
|
+
super.writeValue(value);
|
|
1935
|
+
}
|
|
1936
|
+
finally {
|
|
1937
|
+
this.ignoreChangeEvents = false;
|
|
1938
|
+
}
|
|
1939
|
+
}
|
|
1940
|
+
nimbleOnChange(event) {
|
|
1941
|
+
if (this.ignoreChangeEvents) {
|
|
1942
|
+
return;
|
|
1943
|
+
}
|
|
1944
|
+
this.onChange(event.target.checked);
|
|
1945
|
+
}
|
|
1925
1946
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NimbleCheckboxControlValueAccessorDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1926
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: NimbleCheckboxControlValueAccessorDirective, selector: "nimble-checkbox[formControlName],nimble-checkbox[formControl],nimble-checkbox[ngModel]", host: { listeners: { "
|
|
1947
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: NimbleCheckboxControlValueAccessorDirective, selector: "nimble-checkbox[formControlName],nimble-checkbox[formControl],nimble-checkbox[ngModel]", host: { listeners: { "blur": "onTouched()", "change": "nimbleOnChange($event)" } }, providers: [{
|
|
1927
1948
|
provide: NG_VALUE_ACCESSOR,
|
|
1928
1949
|
useExisting: forwardRef(() => NimbleCheckboxControlValueAccessorDirective),
|
|
1929
1950
|
multi: true
|
|
@@ -1935,14 +1956,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
1935
1956
|
selector: 'nimble-checkbox[formControlName],nimble-checkbox[formControl],nimble-checkbox[ngModel]',
|
|
1936
1957
|
// The following host metadata is duplicated from CheckboxControlValueAccessor
|
|
1937
1958
|
// eslint-disable-next-line @angular-eslint/no-host-metadata-property, @typescript-eslint/naming-convention
|
|
1938
|
-
host: { '(
|
|
1959
|
+
host: { '(blur)': 'onTouched()' },
|
|
1939
1960
|
providers: [{
|
|
1940
1961
|
provide: NG_VALUE_ACCESSOR,
|
|
1941
1962
|
useExisting: forwardRef(() => NimbleCheckboxControlValueAccessorDirective),
|
|
1942
1963
|
multi: true
|
|
1943
1964
|
}]
|
|
1944
1965
|
}]
|
|
1945
|
-
}]
|
|
1966
|
+
}], propDecorators: { nimbleOnChange: [{
|
|
1967
|
+
type: HostListener,
|
|
1968
|
+
args: ['change', ['$event']]
|
|
1969
|
+
}] } });
|
|
1946
1970
|
|
|
1947
1971
|
/**
|
|
1948
1972
|
* Directive to provide Angular integration for the checkbox.
|