numeric-value-accessor.mjs 5.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import { Directive, HostListener } from '@angular/core';
  2. import { NG_VALUE_ACCESSOR } from '@angular/forms';
  3. import { ValueAccessor } from '@ionic/angular/common';
  4. import * as i0 from "@angular/core";
  5. export class NumericValueAccessorDirective extends ValueAccessor {
  6. el;
  7. constructor(injector, el) {
  8. super(injector, el);
  9. this.el = el;
  10. }
  11. handleInputEvent(el) {
  12. this.handleValueChange(el, el.value);
  13. }
  14. registerOnChange(fn) {
  15. if (this.el.nativeElement.tagName === 'ION-INPUT') {
  16. super.registerOnChange((value) => {
  17. fn(value === '' ? null : parseFloat(value));
  18. });
  19. }
  20. else {
  21. super.registerOnChange(fn);
  22. }
  23. }
  24. /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NumericValueAccessorDirective, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
  25. /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NumericValueAccessorDirective, selector: "ion-input[type=number],ion-range", host: { listeners: { "ionInput": "handleInputEvent($event.target)" } }, providers: [
  26. {
  27. provide: NG_VALUE_ACCESSOR,
  28. useExisting: NumericValueAccessorDirective,
  29. multi: true,
  30. },
  31. ], usesInheritance: true, ngImport: i0 });
  32. }
  33. i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NumericValueAccessorDirective, decorators: [{
  34. type: Directive,
  35. args: [{
  36. selector: 'ion-input[type=number],ion-range',
  37. providers: [
  38. {
  39. provide: NG_VALUE_ACCESSOR,
  40. useExisting: NumericValueAccessorDirective,
  41. multi: true,
  42. },
  43. ],
  44. }]
  45. }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { handleInputEvent: [{
  46. type: HostListener,
  47. args: ['ionInput', ['$event.target']]
  48. }] } });
  49. //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy12YWx1ZS1hY2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kaXJlY3RpdmVzL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3JzL251bWVyaWMtdmFsdWUtYWNjZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFZdEQsTUFBTSxPQUFPLDZCQUE4QixTQUFRLGFBQWE7SUFDdEI7SUFBeEMsWUFBWSxRQUFrQixFQUFVLEVBQXNEO1FBQzVGLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFEa0IsT0FBRSxHQUFGLEVBQUUsQ0FBb0Q7SUFFOUYsQ0FBQztJQUdELGdCQUFnQixDQUFDLEVBQTZDO1FBQzVELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUE4QjtRQUM3QyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLE9BQU8sS0FBSyxXQUFXLEVBQUU7WUFDakQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsS0FBYSxFQUFFLEVBQUU7Z0JBQ3ZDLEVBQUUsQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzlDLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUM1QjtJQUNILENBQUM7MkhBbEJVLDZCQUE2QjsrR0FBN0IsNkJBQTZCLG1JQVI3QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSw2QkFBNkI7Z0JBQzFDLEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRjs7NEZBRVUsNkJBQTZCO2tCQVZ6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQ0FBa0M7b0JBQzVDLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLCtCQUErQjs0QkFDMUMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0Y7d0hBT0MsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIEVsZW1lbnRSZWYsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9jb21tb24nO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdpb24taW5wdXRbdHlwZT1udW1iZXJdLGlvbi1yYW5nZScsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IE51bWVyaWNWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTnVtZXJpY1ZhbHVlQWNjZXNzb3JEaXJlY3RpdmUgZXh0ZW5kcyBWYWx1ZUFjY2Vzc29yIHtcbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yLCBwcml2YXRlIGVsOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MSW9uUmFuZ2VFbGVtZW50Pikge1xuICAgIHN1cGVyKGluamVjdG9yLCBlbCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdpb25JbnB1dCcsIFsnJGV2ZW50LnRhcmdldCddKVxuICBoYW5kbGVJbnB1dEV2ZW50KGVsOiBIVE1MSW9uSW5wdXRFbGVtZW50IHwgSFRNTElvblJhbmdlRWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMuaGFuZGxlVmFsdWVDaGFuZ2UoZWwsIGVsLnZhbHVlKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChfOiBudW1iZXIgfCBudWxsKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudC50YWdOYW1lID09PSAnSU9OLUlOUFVUJykge1xuICAgICAgc3VwZXIucmVnaXN0ZXJPbkNoYW5nZSgodmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgICBmbih2YWx1ZSA9PT0gJycgPyBudWxsIDogcGFyc2VGbG9hdCh2YWx1ZSkpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN1cGVyLnJlZ2lzdGVyT25DaGFuZ2UoZm4pO1xuICAgIH1cbiAgfVxufVxuIl19