UNPKG

@nstudio/nativescript-checkbox

Version:
81 lines 9.84 kB
import { Directive, ElementRef, forwardRef, HostListener, Inject, NgModule } from '@angular/core'; import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms'; import { registerElement, BaseValueAccessor } from '@nativescript/angular'; import { CheckBox } from '@nstudio/nativescript-checkbox'; import * as i0 from "@angular/core"; 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"> * ``` */ export 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']] }] } }); export 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] }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uYXRpdmVzY3JpcHQtY2hlY2tib3gvYW5ndWxhci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUzRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBRTFELFNBQVMsWUFBWSxDQUFDLEtBQUs7SUFDekIsSUFBSSxlQUFlLENBQUM7SUFDcEIsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7UUFDekMsZUFBZSxHQUFHLENBQUMsQ0FBQztLQUNyQjtTQUFNO1FBQ0wsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsZUFBZSxHQUFHLEtBQUssQ0FBQztTQUN6QjthQUFNO1lBQ0wsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNuRCxlQUFlLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztTQUN4RDtLQUNGO0lBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ3JDLENBQUM7QUFFRCxlQUFlLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRTVDLE1BQU0sc0JBQXNCLEdBQUc7SUFDN0IsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO0lBQ25ELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUlGOzs7Ozs7OztHQVFHO0FBTUgsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGlCQUFnQztJQUN4RSxZQUFnQyxVQUFzQjtRQUNwRCxLQUFLLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBUTNCLGNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFQNUIsQ0FBQztJQUdNLHFCQUFxQixDQUFDLEtBQVU7UUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUlNLFVBQVUsQ0FBQyxLQUFVO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRU0saUJBQWlCLENBQUMsRUFBYztRQUNyQyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDOztpSEFsQlUsb0JBQW9CLGtCQUNYLFVBQVU7cUdBRG5CLG9CQUFvQixzVEFGcEIsQ0FBQyxzQkFBc0IsQ0FBQzsyRkFFeEIsb0JBQW9CO2tCQUxoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFDTixrTkFBa047b0JBQ3BOLFNBQVMsRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNwQzs7MEJBRWMsTUFBTTsyQkFBQyxVQUFVOzRDQUt2QixxQkFBcUI7c0JBRDNCLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDOztBQXNCM0MsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQTNCakIsb0JBQW9CLGFBd0JyQixXQUFXLGFBQ1gsV0FBVyxFQXpCVixvQkFBb0I7K0dBMkJwQixpQkFBaUIsYUFKakIsRUFBRSxZQUNKLENBQUMsV0FBVyxDQUFDLEVBQ1osV0FBVzsyRkFFVixpQkFBaUI7a0JBTjdCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQ3BDLFNBQVMsRUFBRSxFQUFFO29CQUNiLE9BQU8sRUFBRSxDQUFDLFdBQVcsQ0FBQztvQkFDdEIsT0FBTyxFQUFFLENBQUMsV0FBVyxFQUFFLG9CQUFvQixDQUFDO2lCQUM3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3QsXG4gIE5nTW9kdWxlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgcmVnaXN0ZXJFbGVtZW50LCBCYXNlVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0BuYXRpdmVzY3JpcHQvYW5ndWxhcic7XG5pbXBvcnQgeyBWaWV3IH0gZnJvbSAnQG5hdGl2ZXNjcmlwdC9jb3JlJztcbmltcG9ydCB7IENoZWNrQm94IH0gZnJvbSAnQG5zdHVkaW8vbmF0aXZlc2NyaXB0LWNoZWNrYm94JztcblxuZnVuY3Rpb24gY29udmVydFRvSW50KHZhbHVlKTogbnVtYmVyIHtcbiAgbGV0IG5vcm1hbGl6ZWRWYWx1ZTtcbiAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwpIHtcbiAgICBub3JtYWxpemVkVmFsdWUgPSAwO1xuICB9IGVsc2Uge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICBub3JtYWxpemVkVmFsdWUgPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcGFyc2VkVmFsdWUgPSBwYXJzZUludCh2YWx1ZS50b1N0cmluZygpLCAxMCk7XG4gICAgICBub3JtYWxpemVkVmFsdWUgPSBpc05hTihwYXJzZWRWYWx1ZSkgPyAwIDogcGFyc2VkVmFsdWU7XG4gICAgfVxuICB9XG4gIHJldHVybiBNYXRoLnJvdW5kKG5vcm1hbGl6ZWRWYWx1ZSk7XG59XG5cbnJlZ2lzdGVyRWxlbWVudCgnQ2hlY2tCb3gnLCAoKSA9PiBDaGVja0JveCk7XG5cbmNvbnN0IENIRUNLRURfVkFMVUVfQUNDRVNTT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDaGVja2VkVmFsdWVBY2Nlc3NvciksXG4gIG11bHRpOiB0cnVlXG59O1xuXG5leHBvcnQgdHlwZSBDaGVja2FibGVWaWV3ID0geyBjaGVja2VkOiBib29sZWFuIH0gJiBWaWV3O1xuXG4vKipcbiAqIFRoZSBhY2Nlc3NvciBmb3Igc2V0dGluZyBjaGVja2VkIHByb3BlcnR5IGFuZCBsaXN0ZW5pbmcgdG8gY2hhbmdlcyB0aGF0IGlzIHVzZWQgYnkgdGhlXG4gKiB7QGxpbmsgTmdNb2RlbH0gZGlyZWN0aXZlcy5cbiAqXG4gKiAgIyMjIEV4YW1wbGVcbiAqICBgYGBcbiAqICA8Q2hlY2tCb3ggWyhuZ01vZGVsKV09XCJtb2RlbC50ZXN0XCI+XG4gKiAgYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjpcbiAgICAnQ2hlY2tCb3hbbmdNb2RlbF0sIENoZWNrQm94W2Zvcm1Db250cm9sTmFtZV0sIENoZWNrQm94W2Zvcm1Db250cm9sXSwgY2hlY2tCb3hbbmdNb2RlbF0sIGNoZWNrQm94W2Zvcm1Db250cm9sTmFtZV0sIGNoZWNrQm94W2Zvcm1Db250cm9sXSwgY2hlY2stYm94W25nTW9kZWxdLCBjaGVjay1ib3hbZm9ybUNvbnRyb2xOYW1lXSwgY2hlY2stYm94W2Zvcm1Db250cm9sXScsXG4gIHByb3ZpZGVyczogW0NIRUNLRURfVkFMVUVfQUNDRVNTT1JdXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrZWRWYWx1ZUFjY2Vzc29yIGV4dGVuZHMgQmFzZVZhbHVlQWNjZXNzb3I8Q2hlY2thYmxlVmlldz4ge1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KEVsZW1lbnRSZWYpIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICBzdXBlcihlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2hlY2tlZENoYW5nZScsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBjaGVja2VkQ2hhbmdlTGlzdGVuZXIoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMub25DaGFuZ2UoZXZlbnQudmFsdWUpO1xuICB9XG5cbiAgcHVibGljIG9uVG91Y2hlZCA9ICgpID0+IHt9O1xuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXcuY2hlY2tlZCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtDaGVja2VkVmFsdWVBY2Nlc3Nvcl0sXG4gIHByb3ZpZGVyczogW10sXG4gIGltcG9ydHM6IFtGb3Jtc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtGb3Jtc01vZHVsZSwgQ2hlY2tlZFZhbHVlQWNjZXNzb3JdXG59KVxuZXhwb3J0IGNsYXNzIFROU0NoZWNrQm94TW9kdWxlIHt9XG4iXX0=