@nstudio/nativescript-checkbox
Version:
NativeScript plugin for checkbox.
81 lines • 9.84 kB
JavaScript
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=