import { ValidatorFields } from '../utils/validatorFields'; import { isNullOrUndefined } from 'util'; export class CommunComponentArchitecture { public validatorFields: ValidatorFields = new ValidatorFields(); public regexPattern: any; public messagePattern: string; public callFunctions(eventEmitter: any, invokFunction: string | Function, filters?: any): void { if (invokFunction) { let nameFn: string = (typeof invokFunction === 'function') ? invokFunction.name : invokFunction; eventEmitter.emit({ nameFunction: nameFn, filters: filters }); } } public getFormGroupControlsErrors(formgroup: any, name: string, value: string) { if (formgroup.get(name).touched && formgroup.get(name).errors) { return formgroup.get(name).errors[value]; } } public setUpPattern(pattern: any) { if (pattern) { this.regexPattern = this.validatorFields.regex[pattern]; this.messagePattern = this.validatorFields.message[pattern]; } } public isFieldString(fieldValue: any): boolean { return typeof fieldValue === 'string'; } public getValueField(fieldValue: string, item: any) { if (fieldValue.includes('#')) { return fieldValue.replace('#', ''); } else { return item[fieldValue]; } // let regexIsArray: RegExp = /_;/gi; // if (regexIsArray.test(fieldValue)) { // let newValue: string = ''; // let arrayFields = fieldValue.split('_;'); // arrayFields.forEach(element => { // let regex: RegExp = /#/gi; // if (regex.test(element)) { // newValue = newValue.concat(element.replace('#', '')); // } else if (!isNullOrUndefined(item[element])) { // newValue = newValue.concat(item[element]); // } // }); // return newValue; // } else { // return item[fieldValue]; // } } }