{"version":3,"file":"ngx-validation-handling.mjs","sources":["../../../projects/ngx-validation-handling/src/lib/services/ngx-validation-handling.service.ts","../../../projects/ngx-validation-handling/src/lib/services/ngx-validation-handling-maintain.service.ts","../../../projects/ngx-validation-handling/src/lib/components/ngx-validation-handling/ngx-validation-handling.component.ts","../../../projects/ngx-validation-handling/src/lib/ngx-validation-handling.module.ts","../../../projects/ngx-validation-handling/src/public-api.ts","../../../projects/ngx-validation-handling/src/ngx-validation-handling.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { FormGroup, NgForm } from '@angular/forms';\r\nimport { ValidationMessages } from '../interfaces/Validation-messages.interface';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class NgxValidationHandlingService {\r\n  private form!: FormGroup | NgForm;\r\n  private ValidationMessages!: ValidationMessages;\r\n\r\n  setValidationHandling(form: FormGroup | NgForm, ValidationMessages?: ValidationMessages): void {\r\n    this.form = form;\r\n    this.ValidationMessages = ValidationMessages || {};\r\n  }\r\n  getValidationMessages(): ValidationMessages {\r\n    return this.ValidationMessages;\r\n  }\r\n  getForm(): FormGroup | NgForm {\r\n    return this.form;\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AbstractControl, FormGroup, NgForm, NgModel, ValidationErrors } from '@angular/forms';\r\nimport { NgxValidationHandlingService } from './ngx-validation-handling.service';\r\nimport { ValidationErrorHandler } from '../interfaces/Validation-error-handler.interface';\r\n\r\n@Injectable({\r\n    providedIn: 'root'\r\n})\r\nexport class NgxValidationHandlingMaintainService {\r\n    constructor(private ngxValidationHandlingService: NgxValidationHandlingService) { }\r\n    getErrorMessage(controlName: string,customErrorHandler:ValidationErrorHandler): string {\r\n        const form = this.ngxValidationHandlingService.getForm();\r\n        const validationMessages = this.ngxValidationHandlingService.getValidationMessages();\r\n    \r\n        if (!form) {\r\n            return 'Invalid field';\r\n        }\r\n    \r\n        let control: AbstractControl | NgModel | null = null;\r\n    \r\n        if (form instanceof FormGroup) {\r\n            control = form.get(controlName);\r\n        } else if (form instanceof NgForm) {\r\n            control = form.controls[controlName] as unknown  as NgModel;\r\n        }\r\n    \r\n        if (control) {\r\n            if (control instanceof AbstractControl) {\r\n                // Handling for reactive forms\r\n                if (control.errors && control.touched) {\r\n                    for (const errorKey in control.errors) {\r\n                        if (control.errors.hasOwnProperty(errorKey)) {\r\n                            if (customErrorHandler) {\r\n                                return customErrorHandler(controlName, errorKey, control.errors[errorKey]);\r\n                              }\r\n                            return validationMessages[errorKey] || 'Invalid field';\r\n                        }\r\n                    }\r\n                }\r\n            } else if (control instanceof NgModel) {\r\n                // Handling for template-driven forms\r\n                if (control.invalid && (control.dirty || control.touched)) {\r\n                    for (const errorKey in control.errors) {\r\n                        if (control.errors.hasOwnProperty(errorKey)) {\r\n                            if (customErrorHandler) {\r\n                                return customErrorHandler(controlName, errorKey, control.errors[errorKey]);\r\n                              }\r\n                            return validationMessages[errorKey] || 'Invalid field';\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        }\r\n        \r\n        return '';\r\n    }\r\n    \r\n    \r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { NgxValidationHandlingMaintainService } from '../../services/ngx-validation-handling-maintain.service';\r\nimport { ValidationErrorHandler } from '../../interfaces/Validation-error-handler.interface';\r\n@Component({\r\n  selector: 'ngx-validation-handling',\r\n  template: `\r\n    <ng-container *ngIf=\"controlName\">\r\n      <label [ngStyle]=\"style\"  *ngIf=\"errorMessage !== ''\" class=\"error-message\">{{ fieldName?fieldName+' '+errorMessage: errorMessage }}</label>\r\n    </ng-container>\r\n  `,\r\n  styles: [\r\n    `\r\n    .error-message {\r\n      color: red;\r\n      font-size: 12px;\r\n    }\r\n  `\r\n  ],\r\n})\r\nexport class NgxValidationHandlingComponent {\r\n  @Input({ required: true }) controlName!: string;\r\n  @Input() fieldName: string = '';\r\n  @Input() style: { [key: string]: string } = {};\r\n  @Input() customErrorHandler!: ValidationErrorHandler;\r\n\r\n  constructor(private ngValidationMessagesMaintainService: NgxValidationHandlingMaintainService) { }\r\n\r\n  get errorMessage(): string {\r\n    return this.ngValidationMessagesMaintainService.getErrorMessage(this.controlName,this.customErrorHandler);\r\n  }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { NgxValidationHandlingComponent } from './components/ngx-validation-handling/ngx-validation-handling.component';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    NgxValidationHandlingComponent\r\n  ],\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  exports: [\r\n    NgxValidationHandlingComponent\r\n  ]\r\n})\r\nexport class NgxValidationHandlingModule { }\r\n","/*\r\n * Public API Surface of ngx-validation-handling\r\n */\r\n\r\nexport * from './lib/services/ngx-validation-handling.service';\r\nexport * from './lib/components/ngx-validation-handling/ngx-validation-handling.component';\r\nexport * from './lib/ngx-validation-handling.module';\r\nexport * from './lib/interfaces/Validation-error-handler.interface';\r\nexport * from './lib/interfaces/Validation-messages.interface';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NgxValidationHandlingService","i1.NgxValidationHandlingMaintainService"],"mappings":"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"}