@abgov/angular-components
Version:
Government of Alberta - UI components for Angular
61 lines • 6.87 kB
JavaScript
import { forwardRef, Directive, ElementRef, HostListener, Renderer2, } from "@angular/core";
import { CheckboxControlValueAccessor, NG_VALUE_ACCESSOR, } from "@angular/forms";
import * as i0 from "@angular/core";
// @deprecated: Use the new <goab-checkbox .. /> component
export class CheckedDirective extends CheckboxControlValueAccessor {
constructor(renderer, elementRef) {
super(renderer, elementRef);
this.renderer = renderer;
this.elementRef = elementRef;
this._checked = false;
/* eslint-disable @typescript-eslint/no-explicit-any */
this.onChange = () => { };
this.onTouched = () => { };
}
get value() {
return this._checked ? "checked" : "";
}
set value(checked) {
this._checked = !!checked;
this.onChange(this._checked);
this.onTouched();
this.elementRef.nativeElement.checked = checked;
}
writeValue(checked) {
this.value = checked;
}
registerOnChange(fn) {
this.onChange = fn;
}
registerOnTouched(fn) {
this.onTouched = fn;
}
listenForValueChange(checked) {
this.value = checked;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: CheckedDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.3", type: CheckedDirective, selector: "[goaChecked]", host: { listeners: { "_change": "listenForValueChange($event.detail.checked)" } }, providers: [
{
useExisting: forwardRef(() => CheckedDirective),
provide: NG_VALUE_ACCESSOR,
multi: true,
},
], usesInheritance: true, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: CheckedDirective, decorators: [{
type: Directive,
args: [{
selector: "[goaChecked]",
providers: [
{
useExisting: forwardRef(() => CheckedDirective),
provide: NG_VALUE_ACCESSOR,
multi: true,
},
],
}]
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { listenForValueChange: [{
type: HostListener,
args: ["_change", ["$event.detail.checked"]]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tlZC1kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NoZWNrZWQtZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEVBQ1YsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsaUJBQWlCLEdBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7O0FBRXhCLDBEQUEwRDtBQVcxRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsNEJBQTRCO0lBT2hFLFlBQXNCLFFBQW1CLEVBQVksVUFBc0I7UUFDekUsS0FBSyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQURSLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBWSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBTm5FLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFekIsdURBQXVEO1FBQzlDLGFBQVEsR0FBUSxHQUFHLEVBQUUsR0FBNEIsQ0FBQyxDQUFDO1FBQ25ELGNBQVMsR0FBUSxHQUFHLEVBQUUsR0FBNEIsQ0FBQyxDQUFDO0lBSTdELENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFZO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUNsRCxDQUFDO0lBRVEsVUFBVSxDQUFDLE9BQVk7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUM7SUFDdkIsQ0FBQztJQUVRLGdCQUFnQixDQUFDLEVBQW9CO1FBQzVDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFUSxpQkFBaUIsQ0FBQyxFQUFjO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFHRCxvQkFBb0IsQ0FBQyxPQUFZO1FBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDO0lBQ3ZCLENBQUM7OEdBckNVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLDBIQVJoQjtZQUNUO2dCQUNFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7Z0JBQy9DLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRjs7MkZBRVUsZ0JBQWdCO2tCQVY1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUM7NEJBQy9DLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGO3VHQW9DQyxvQkFBb0I7c0JBRG5CLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBmb3J3YXJkUmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgUmVuZGVyZXIyLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgQ2hlY2tib3hDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG59IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG4vLyBAZGVwcmVjYXRlZDogVXNlIHRoZSBuZXcgPGdvYWItY2hlY2tib3ggLi4gLz4gY29tcG9uZW50XG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiW2dvYUNoZWNrZWRdXCIsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENoZWNrZWREaXJlY3RpdmUpLFxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDaGVja2VkRGlyZWN0aXZlIGV4dGVuZHMgQ2hlY2tib3hDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHByaXZhdGUgX2NoZWNrZWQgPSBmYWxzZTtcblxuICAvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4gIG92ZXJyaWRlIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7LyoqIE5vIGltcGxlbWVudGF0aW9uICoqLyB9O1xuICBvdmVycmlkZSBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHsvKiogTm8gaW1wbGVtZW50YXRpb24gKiovIH07XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByb3RlY3RlZCBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgc3VwZXIocmVuZGVyZXIsIGVsZW1lbnRSZWYpO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NoZWNrZWQgPyBcImNoZWNrZWRcIiA6IFwiXCI7XG4gIH1cblxuICBzZXQgdmFsdWUoY2hlY2tlZDogYW55KSB7XG4gICAgdGhpcy5fY2hlY2tlZCA9ICEhY2hlY2tlZDtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuX2NoZWNrZWQpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hlY2tlZCA9IGNoZWNrZWQ7XG4gIH1cblxuICBvdmVycmlkZSB3cml0ZVZhbHVlKGNoZWNrZWQ6IGFueSkge1xuICAgIHRoaXMudmFsdWUgPSBjaGVja2VkO1xuICB9XG5cbiAgb3ZlcnJpZGUgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCkge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIG92ZXJyaWRlIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoXCJfY2hhbmdlXCIsIFtcIiRldmVudC5kZXRhaWwuY2hlY2tlZFwiXSlcbiAgbGlzdGVuRm9yVmFsdWVDaGFuZ2UoY2hlY2tlZDogYW55KSB7XG4gICAgdGhpcy52YWx1ZSA9IGNoZWNrZWQ7XG4gIH1cbn1cbiJdfQ==