UNPKG

@experteam-mx/ngx-input-number

Version:

Angular input number for Experteam apps

1 lines 21.4 kB
{"version":3,"file":"experteam-mx-ngx-input-number.mjs","sources":["../../../../projects/experteam-mx/ngx-input-number/src/lib/typesProvider.ts","../../../../projects/experteam-mx/ngx-input-number/src/lib/di.ts","../../../../projects/experteam-mx/ngx-input-number/src/lib/types.ts","../../../../projects/experteam-mx/ngx-input-number/src/lib/ngx-input-number.service.ts","../../../../projects/experteam-mx/ngx-input-number/src/lib/ngx-input-number.component.ts","../../../../projects/experteam-mx/ngx-input-number/src/lib/ngx-input-number.component.html","../../../../projects/experteam-mx/ngx-input-number/src/lib/ngx-input-number.module.ts","../../../../projects/experteam-mx/ngx-input-number/src/public-api.ts","../../../../projects/experteam-mx/ngx-input-number/src/experteam-mx-ngx-input-number.ts"],"sourcesContent":["import { Injectable, Provider } from '@angular/core'\r\n\r\nexport class inputConfigs {\r\n groupSeparator?: string\r\n radixPoint?: string\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport abstract class typesProvider {\r\n abstract get config (): inputConfigs;\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class defaultTypesProvider extends typesProvider {\r\n get config (): inputConfigs {\r\n // return default config\r\n return {\r\n groupSeparator: ',',\r\n radixPoint: '.'\r\n }\r\n }\r\n}\r\n\r\nexport class inputConfigsHelp {\r\n config?: Provider\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { inputConfigs } from './types';\r\n\r\nexport const INPUT_CONFIG_TOKEN = new InjectionToken<inputConfigs>('INPUT_CONFIG');\r\n","import { Provider } from '@angular/core'\r\n\r\nexport class inputConfigs {\r\n groupSeparator?: string\r\n radixPoint?: string\r\n lblKeyInvalid?: string\r\n max?: number\r\n decimals?: number\r\n negative?: boolean\r\n}\r\n\r\nexport class inputConfigsHelp {\r\n config?: Provider\r\n}\r\n","import { Inject, Injectable, Optional } from '@angular/core'\r\nimport { INPUT_CONFIG_TOKEN } from './di'\r\nimport { inputConfigs } from './types'\r\nimport { BehaviorSubject } from 'rxjs'\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NgxInputNumberService {\r\n\r\n changeEvent = new BehaviorSubject<boolean>(false)\r\n groupSeparator = ','\r\n radixPoint = '.'\r\n lblKeyInvalid = 'Please enter a valid amount'\r\n negative: any = true\r\n max: number = 999999999999999999999999999999999\r\n decimals = 2\r\n\r\n constructor (\r\n @Optional() @Inject(INPUT_CONFIG_TOKEN)\r\n private readonly config: inputConfigs | null,\r\n ) {\r\n if (config != null) {\r\n this.groupSeparator = config.groupSeparator!\r\n this.radixPoint = config.radixPoint!\r\n this.lblKeyInvalid = config.lblKeyInvalid!\r\n this.negative = config.negative!\r\n this.max = config.max!\r\n this.decimals = config.decimals!\r\n }\r\n }\r\n\r\n onChangeParams (config: inputConfigs) {\r\n if (config.groupSeparator) {\r\n this.groupSeparator = config.groupSeparator\r\n }\r\n if (config.radixPoint) {\r\n this.radixPoint = config.radixPoint\r\n }\r\n if (config.lblKeyInvalid) {\r\n this.lblKeyInvalid = config.lblKeyInvalid\r\n }\r\n if (config.negative !== undefined) {\r\n this.negative = config.negative\r\n }\r\n if (config.max) {\r\n this.max = config.max!\r\n }\r\n if (config.decimals) {\r\n this.decimals = config.decimals\r\n }\r\n\r\n this.changeEvent.next(true)\r\n }\r\n\r\n getChangeEvent () {\r\n return this.changeEvent\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n ViewChild\r\n} from '@angular/core'\r\nimport { FormControl } from '@angular/forms'\r\nimport { NgxInputNumberService } from './ngx-input-number.service'\r\nimport { IMaskDirective } from 'angular-imask'\r\nimport { MaskedNumber } from 'imask'\r\n\r\n@Component({\r\n selector: 'app-input-number',\r\n templateUrl: './ngx-input-number.component.html',\r\n styleUrls: ['./ngx-input-number.component.sass']\r\n})\r\nexport class NgxInputNumberComponent implements OnInit, OnChanges, AfterViewInit {\r\n\r\n @ViewChild('inputElement') inputElement!: ElementRef\r\n @ViewChild(IMaskDirective, { static: false }) iMaskDir!: IMaskDirective<MaskedNumber>\r\n @Input() control!: FormControl\r\n @Input() negative!: any\r\n @Input() autofocus: any = false\r\n @Input() decimals: any\r\n @Input() max: any\r\n @Input() idForLabel: any = ''\r\n @Input() tabIndex: any\r\n @Input() addClass: any = 'form-control-sm'\r\n @Input() groupSeparator: any\r\n @Input() radixPoint: any\r\n @Input() lblKeyInvalid: any\r\n lblKeyInvalidRender: any\r\n imask: any\r\n placeholder = '0'\r\n resetControl = false\r\n prevValue: any = ''\r\n validateError: boolean = false\r\n\r\n constructor (\r\n private _ChangeDetectorRef: ChangeDetectorRef,\r\n private _NgxInputNumberService: NgxInputNumberService,\r\n ) { }\r\n\r\n ngAfterViewInit (): void {\r\n this.iMaskDir.maskRef?.updateValue()\r\n\r\n if (this.autofocus) {\r\n setTimeout(() => {\r\n this.inputElement.nativeElement.focus()\r\n })\r\n }\r\n }\r\n\r\n render () {\r\n this.control.setValue(String(this.control.value).replace('.', this._NgxInputNumberService.radixPoint))\r\n\r\n this._ChangeDetectorRef.detectChanges()\r\n\r\n this.lblKeyInvalidRender = this._NgxInputNumberService.lblKeyInvalid\r\n\r\n this.imask = {\r\n mask: Number,\r\n scale: this._NgxInputNumberService.decimals,\r\n thousandsSeparator: this._NgxInputNumberService.groupSeparator,\r\n padFractionalZeros: true,\r\n normalizeZeros: true,\r\n radix: this._NgxInputNumberService.radixPoint,\r\n max: this._NgxInputNumberService.max,\r\n min: this._NgxInputNumberService.negative ? -999999999999999999999999999999999 : 0,\r\n format: (x: any) => {\r\n if (typeof x !== 'string' && x === null && !this.resetControl) {\r\n this.resetControl = true\r\n this.inputElement.nativeElement.value = null\r\n this.iMaskDir.maskRef?.updateValue()\r\n setTimeout(\r\n () => {\r\n this.iMaskDir.maskRef?.updateControl()\r\n this.control.setValue(null)\r\n this.resetControl = false\r\n }\r\n )\r\n\r\n return null\r\n }\r\n\r\n return Number(x).toFixed(this._NgxInputNumberService.decimals)\r\n }\r\n }\r\n\r\n if (this.lblKeyInvalid !== undefined) {\r\n this.lblKeyInvalidRender = this.lblKeyInvalid\r\n }\r\n\r\n if (this.negative !== undefined) {\r\n this.imask.min = this.negative ? -999999999999999999999999999999999 : 0\r\n }\r\n\r\n if (this.max !== undefined) {\r\n this.imask.max = this.max\r\n }\r\n\r\n if (this.groupSeparator !== undefined) {\r\n this.imask.thousandsSeparator = this.groupSeparator\r\n }\r\n if (this.radixPoint !== undefined) {\r\n this.imask.radix = this.radixPoint\r\n }\r\n\r\n if (this.decimals !== undefined) {\r\n this.imask.scale = this.decimals\r\n }\r\n\r\n setTimeout(\r\n () => {\r\n if (this.inputElement.nativeElement.value == '' && (this.control.value === null || this.control.value === '' || this.control.value === 0)) {\r\n this.control.setValue('')\r\n }\r\n }\r\n )\r\n }\r\n\r\n ngOnInit (): void {\r\n this._NgxInputNumberService.getChangeEvent().subscribe(\r\n (configs) => {\r\n if (configs) {\r\n this.render()\r\n }\r\n }\r\n )\r\n }\r\n\r\n ngOnChanges (): void {\r\n this.render()\r\n }\r\n\r\n onKeydown (e: any) {\r\n this.prevValue = e.target.value\r\n }\r\n\r\n onBlur () {\r\n this.validateError = false\r\n }\r\n\r\n onFocus () {\r\n setTimeout(\r\n () => {\r\n this.validateError = true\r\n },\r\n 1000\r\n )\r\n }\r\n\r\n onKeyup (e: any) {\r\n if (!this.validateError) return\r\n\r\n let scapeKeys: any[] = [\r\n 'ArrowLeft',\r\n 'ArrowRight',\r\n 'ArrowUp',\r\n 'ArrowDown',\r\n 'Escape',\r\n 'Backspace',\r\n 'Delete',\r\n '.',\r\n ',',\r\n '-',\r\n 'Tab',\r\n ]\r\n\r\n if(\r\n e.target.value == ''\r\n &&\r\n !scapeKeys.includes(e.key)\r\n ){\r\n this.control.setValue('')\r\n }\r\n\r\n if(\r\n !scapeKeys.includes(e.key)\r\n &&\r\n this.prevValue === e.target.value\r\n &&\r\n e.key != this.prevValue\r\n ){\r\n this.inputElement.nativeElement.classList.add('key-invalid')\r\n setTimeout(\r\n () => {\r\n this.inputElement.nativeElement.classList.remove('key-invalid')\r\n },\r\n 1000\r\n )\r\n }\r\n }\r\n}\r\n","<div class=\"position-relative\">\r\n <input\r\n #inputElement\r\n type=\"text\"\r\n class=\"text-end form-control {{ addClass }}\"\r\n [class.is-invalid]=\"control.touched && control.invalid\"\r\n [formControl]=\"control\"\r\n [tabindex]=\"tabIndex\"\r\n [id]=\"idForLabel\"\r\n [imask]=\"imask\"\r\n [unmask]=\"'typed'\"\r\n (keyup)=\"onKeyup($event)\"\r\n (keydown)=\"onKeydown($event)\"\r\n (blur)=\"onBlur()\"\r\n (focus)=\"onFocus()\"\r\n >\r\n <label class=\"lbl-key-invalid position-absolute top-100 end-0 p-2 d-none\" [innerHTML]=\"lblKeyInvalidRender\"></label>\r\n</div>\r\n","import { ModuleWithProviders, NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms'\r\nimport { NgxInputNumberComponent } from './ngx-input-number.component'\r\nimport { defaultTypesProvider, inputConfigsHelp, typesProvider } from './typesProvider'\r\nimport { IMaskModule } from 'angular-imask'\r\n\r\n@NgModule({\r\n declarations: [\r\n NgxInputNumberComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n IMaskModule\r\n ],\r\n exports: [\r\n NgxInputNumberComponent\r\n ],\r\n providers: []\r\n})\r\nexport class NgxInputNumberModule {\r\n static forRoot (config: inputConfigsHelp = {}): ModuleWithProviders<NgxInputNumberModule> {\r\n return {\r\n ngModule: NgxInputNumberModule,\r\n providers: [\r\n config.config || {\r\n provide: typesProvider,\r\n useClass: defaultTypesProvider\r\n }\r\n ],\r\n }\r\n }\r\n}\r\n","/*\r\n * Public API Surface of ngx-input-number\r\n */\r\n\r\nexport * from './lib/typesProvider';\r\nexport * from './lib/ngx-input-number.service';\r\nexport * from './lib/ngx-input-number.component';\r\nexport * from './lib/ngx-input-number.module';\r\n// export * from 'ngx-mask';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NgxInputNumberService"],"mappings":"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"}