{"version":3,"file":"ngx-redi-core-RediForms.mjs","sources":["../../../projects/ngx-redi-core/RediForms/src/helpers/form-bind.service.ts","../../../projects/ngx-redi-core/RediForms/src/models/validators/input-validator.ts","../../../projects/ngx-redi-core/RediForms/src/directives/auto-focus.directive.ts","../../../projects/ngx-redi-core/RediForms/src/directives/place-holder.directive.ts","../../../projects/ngx-redi-core/RediForms/ngx-redi-core-RediForms.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class FormBindService {\r\n\r\n  constructor() { }\r\n\r\n  public setValues<T extends {}>(entity: T, formGroup: unknown) {\r\n    if (!entity || !formGroup) {\r\n      return;\r\n    }\r\n    let internalForm = formGroup as FormGroup;\r\n    Object.keys(entity).map(k => internalForm.get(k)?.setValue(Reflect.get(entity, k)));\r\n  }\r\n\r\n  public updateValues<T extends {}>(entity: T, formGroup: unknown) {\r\n    if (!entity || !formGroup) {\r\n      return;\r\n    }\r\n    let internalForm = formGroup as FormGroup;\r\n    Object.keys(entity).map(k => {\r\n      if (internalForm.controls.hasOwnProperty(k)) {\r\n        Reflect.set(entity, k, internalForm.get(k)?.value);\r\n      }\r\n    });\r\n  }\r\n}\r\n","import { AbstractControl, ValidationErrors, ValidatorFn } from \"@angular/forms\";\r\n\r\nexport class InputValidator {\r\n    static upperCase(control: AbstractControl): ValidationErrors | null {\r\n        let valueString = (control?.value ?? '') as string;\r\n        let uppercase = valueString.toUpperCase();\r\n        if (valueString !== uppercase) {\r\n            control?.setValue(uppercase);\r\n        }\r\n        return null;\r\n    }\r\n\r\n    static maxLength(size: number): ValidatorFn {\r\n        return (control: AbstractControl) => {\r\n            let valueString = (control?.value ?? '') as string;\r\n            if (valueString.length > size) {\r\n                control.setValue(valueString.substring(0, size));\r\n            }\r\n            return null;\r\n        }\r\n    }\r\n\r\n    static avoidPattern(pattern: string | RegExp): ValidatorFn {\r\n        return (control: AbstractControl) => {\r\n            let valueString = (control?.value ?? '') as string;\r\n            let regExp = pattern instanceof RegExp ? pattern : new RegExp(pattern, 'gi');\r\n            if (regExp.test(valueString)) {\r\n                control.setValue(valueString.replace(regExp, ''));\r\n            }\r\n            return null;\r\n        }\r\n    }\r\n\r\n    static onlyNumber(): ValidationErrors | null {\r\n        return this.avoidPattern('[^0-9]');\r\n    }\r\n\r\n    static decimals(): ValidationErrors | null {\r\n        return this.avoidPattern('^[0-9\\.]');\r\n    }\r\n\r\n    static onlyLetters(): ValidationErrors | null {\r\n        return this.avoidPattern('[^a-zA-ZñÑ]');\r\n    }\r\n\r\n    static lettersAndSimbols(): ValidationErrors | null {\r\n        return this.avoidPattern('[0-9]');\r\n    }\r\n\r\n    static lettersAndSpace(): ValidationErrors | null {\r\n        return this.avoidPattern('[^a-zA-ZñÑ ]');\r\n    }\r\n\r\n    static lettersAndNumbers(): ValidationErrors | null {\r\n        return this.avoidPattern('[^a-zA-ZñÑ0-9]');\r\n    }\r\n\r\n    static lettersNumbersAndWhitespace(): ValidationErrors | null {\r\n        return this.avoidPattern('[^a-zA-ZñÑ0-9 ]');\r\n    }\r\n}\r\n","import { Directive, ElementRef, OnInit } from '@angular/core';\r\n\r\n@Directive({\r\n  selector: '[autofocus]',\r\n  standalone: true\r\n})\r\nexport class AutoFocusDirective implements OnInit {\r\n\r\n  constructor(private readonly element: ElementRef,) {\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    if (this.element) {\r\n      setTimeout(() => {\r\n        this.element.nativeElement.focus();\r\n      });\r\n    }\r\n  }\r\n}\r\n","import { Directive, ElementRef } from '@angular/core';\r\n\r\n@Directive({\r\n  selector: 'select[placeholder]',\r\n  standalone: true\r\n})\r\nexport class PlaceHolderDirective {\r\n\r\n  constructor(private element: ElementRef) {\r\n    if (this.element) {\r\n      let placeHolder = this.element.nativeElement.attributes.getNamedItem('placeholder')?.value;\r\n      (this.element.nativeElement as HTMLSelectElement)\r\n        .appendChild(this.createOption(placeHolder));\r\n    }\r\n  }\r\n\r\n  private createOption(placeHolder: string): HTMLOptionElement {\r\n    let placeHolderOption = document.createElement('option');\r\n    placeHolderOption.setAttribute('selected', '');\r\n    placeHolderOption.disabled = true;\r\n    placeHolderOption.hidden = true;\r\n    placeHolderOption.value = '';\r\n    placeHolderOption.text = placeHolder || '';\r\n    return placeHolderOption\r\n  }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}