UNPKG

@nstudio/nativescript-checkbox

Version:
89 lines (85 loc) 4.32 kB
import * as i0 from '@angular/core'; import { forwardRef, ElementRef, Directive, Inject, HostListener, NgModule } from '@angular/core'; import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms'; import { registerElement, BaseValueAccessor } from '@nativescript/angular'; import { CheckBox } from '@nstudio/nativescript-checkbox'; function convertToInt(value) { let normalizedValue; if (value === undefined || value === null) { normalizedValue = 0; } else { if (typeof value === 'number') { normalizedValue = value; } else { const parsedValue = parseInt(value.toString(), 10); normalizedValue = isNaN(parsedValue) ? 0 : parsedValue; } } return Math.round(normalizedValue); } registerElement('CheckBox', () => CheckBox); const CHECKED_VALUE_ACCESSOR = { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => CheckedValueAccessor), multi: true }; /** * The accessor for setting checked property and listening to changes that is used by the * {@link NgModel} directives. * * ### Example * ``` * <CheckBox [(ngModel)]="model.test"> * ``` */ class CheckedValueAccessor extends BaseValueAccessor { constructor(elementRef) { super(elementRef.nativeElement); this.onTouched = () => { }; } checkedChangeListener(event) { this.onChange(event.value); } writeValue(value) { this.view.checked = value; } registerOnTouched(fn) { this.onTouched = fn; } } CheckedValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CheckedValueAccessor, deps: [{ token: ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); CheckedValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: CheckedValueAccessor, selector: "CheckBox[ngModel], CheckBox[formControlName], CheckBox[formControl], checkBox[ngModel], checkBox[formControlName], checkBox[formControl], check-box[ngModel], check-box[formControlName], check-box[formControl]", host: { listeners: { "checkedChange": "checkedChangeListener($event)" } }, providers: [CHECKED_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CheckedValueAccessor, decorators: [{ type: Directive, args: [{ selector: 'CheckBox[ngModel], CheckBox[formControlName], CheckBox[formControl], checkBox[ngModel], checkBox[formControlName], checkBox[formControl], check-box[ngModel], check-box[formControlName], check-box[formControl]', providers: [CHECKED_VALUE_ACCESSOR] }] }], ctorParameters: function () { return [{ type: i0.ElementRef, decorators: [{ type: Inject, args: [ElementRef] }] }]; }, propDecorators: { checkedChangeListener: [{ type: HostListener, args: ['checkedChange', ['$event']] }] } }); class TNSCheckBoxModule { } TNSCheckBoxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: TNSCheckBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); TNSCheckBoxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: TNSCheckBoxModule, declarations: [CheckedValueAccessor], imports: [FormsModule], exports: [FormsModule, CheckedValueAccessor] }); TNSCheckBoxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: TNSCheckBoxModule, providers: [], imports: [[FormsModule], FormsModule] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: TNSCheckBoxModule, decorators: [{ type: NgModule, args: [{ declarations: [CheckedValueAccessor], providers: [], imports: [FormsModule], exports: [FormsModule, CheckedValueAccessor] }] }] }); /** * Generated bundle index. Do not edit. */ export { CheckedValueAccessor, TNSCheckBoxModule }; //# sourceMappingURL=nstudio-nativescript-checkbox-angular.mjs.map