@nstudio/nativescript-checkbox
Version:
NativeScript plugin for checkbox.
89 lines (85 loc) • 4.32 kB
JavaScript
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