form-aurora-stefanini 0.1.13 → 0.1.16

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"form-aurora-stefanini.js","sources":["ng://form-aurora-stefanini/lib/utils/regex.ts","ng://form-aurora-stefanini/lib/utils/Offusqued.ts","ng://form-aurora-stefanini/lib/services/data.service.ts","ng://form-aurora-stefanini/lib/Components/from-aurora/form-aurora.component.ts","ng://form-aurora-stefanini/lib/services/TemplateService.ts","ng://form-aurora-stefanini/lib/Models/fill.ts","ng://form-aurora-stefanini/lib/form-aurora.module.ts","ng://form-aurora-stefanini/public-api.ts","ng://form-aurora-stefanini/form-aurora-stefanini.ts"],"sourcesContent":["export const regexType = {\n default: {\n exp: '^[a-zA-Z0-9ñÑáéíóúüÁÉÍÓÚÜ,.\\\\-_\\\\s]*$',\n message: 'Formato inválido, no use caracteres especiales'\n },\n word: {\n exp: '^[a-zA-Z0-9ñÑáéíóúüÁÉÍÓÚÜ,.\\\\-_]*$',\n message: 'Formato inválido, no use caracteres especiales ni espacios'\n },\n name: {\n exp: '^[a-zA-ZñÑáéíóúüÁÉÍÓÚÜ\\\\s]*$',\n message: 'Formato inválido, no use caracteres especiales ni números'\n },\n alphanumberWord: {\n exp: '^[a-zA-Z0-9]*$',\n message: 'Formato alfanúmerico inválido'\n },\n charWord: {\n exp: '^[a-zA-Z]*$',\n message: 'Formato de caracteres inválido'\n },\n anyWord: {\n exp: '^\\\\S*$',\n message: 'Formato inválido'\n },\n percent: {\n exp: '^100$|^[0-9]{1,2}$|^[0-9]{1,2}\\\\.[0-9]{1,2}$',\n message: 'Formato de porcentaje inválido, use el punto decimal (.)'\n },\n email: {\n exp: /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n message: 'Formato de e-mail inválido'\n },\n number: {\n exp: '^[0-9]*$',\n message: 'Formato de número inválido'\n },\n time24: {\n exp: '^([01]?[0-9]|2[0-3]):[0-5][0-9]$',\n message: 'Formato de hora militar inválido, use 23:45'\n },\n date: {\n exp: '^[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}$',\n message: 'Formato de fecha inválido',\n internal: 'dd/mm/yyyy'\n },\n password: {\n exp: '^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$',\n message: 'La contraseña debe incluir una longitud mínima de 8 caracteres, una letra mayúscula, una letra minúscula, un número, un carácter especial (@#$%^&+=/.) y no debe tener espacios.'\n }\n};\n","import {Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class Offusqued {\n private dataMap = new Map<string, string>();\n\n constructor() {\n this.dataMap.set('A', '2,');\n this.dataMap.set('J', '29,');\n this.dataMap.set('S', '67,');\n this.dataMap.set('B', '3,');\n this.dataMap.set('K', '31,');\n this.dataMap.set('T', '71,');\n this.dataMap.set('C', '5,');\n this.dataMap.set('L', '37,');\n this.dataMap.set('U', '73,');\n this.dataMap.set('D', '7,');\n this.dataMap.set('M', '41,');\n this.dataMap.set('V', '79,');\n this.dataMap.set('E', '11,');\n this.dataMap.set('N', '43,');\n this.dataMap.set('W', '83,');\n this.dataMap.set('F', '13,');\n this.dataMap.set('O', '47,');\n this.dataMap.set('X', '89,');\n this.dataMap.set('G', '17,');\n this.dataMap.set('P', '53,');\n this.dataMap.set('Y', '97,');\n this.dataMap.set('H', '19,');\n this.dataMap.set('Q', '59,');\n this.dataMap.set('Z', '101,');\n this.dataMap.set('I', '23,');\n this.dataMap.set('R', '61,');\n\n this.dataMap.set('a', '103,');\n this.dataMap.set('j', '151,');\n this.dataMap.set('s', '157,');\n this.dataMap.set('b', '107,');\n this.dataMap.set('k', '163,');\n this.dataMap.set('t', '167,');\n this.dataMap.set('c', '109,');\n this.dataMap.set('l', '173,');\n this.dataMap.set('u', '179,');\n this.dataMap.set('d', '113,');\n this.dataMap.set('m', '181,');\n this.dataMap.set('v', '191,');\n this.dataMap.set('e', '127,');\n this.dataMap.set('n', '193,');\n this.dataMap.set('w', '227,');\n this.dataMap.set('f', '132,');\n this.dataMap.set('o', '197,');\n this.dataMap.set('x', '229,');\n this.dataMap.set('g', '137,');\n this.dataMap.set('p', '199,');\n this.dataMap.set('y', '233,');\n this.dataMap.set('h', '139,');\n this.dataMap.set('q', '211,');\n this.dataMap.set('z', '239,');\n this.dataMap.set('i', '149,');\n this.dataMap.set('r', '223,');\n\n this.dataMap.set('0', 'Z,');\n this.dataMap.set('1', 'Y,');\n this.dataMap.set('2', 'X,');\n this.dataMap.set('3', 'W,');\n this.dataMap.set('4', 'V,');\n this.dataMap.set('5', 'U,');\n this.dataMap.set('6', 'T,');\n this.dataMap.set('7', 'S,');\n this.dataMap.set('8', 'R,');\n this.dataMap.set('9', 'Q,');\n this.dataMap.set(',', '&');\n this.dataMap.set('{', '1000,');\n this.dataMap.set('}', '0000,');\n }\n\n public ofusquedData(data: string): string {\n let responce = '';\n const ofusquedData = data.toString().split('');\n // tslint:disable-next-line:prefer-for-of\n for (let i = 0; i < ofusquedData.length; i++) {\n const letter = ofusquedData[i].toString();\n if (this.dataMap.has(letter)) {\n responce += this.dataMap.get(letter).toString();\n } else {\n responce += letter + ',';\n }\n }\n return responce;\n }\n\n public decodeOfusquedData(data: string): string {\n let respoce = '';\n const arrayData = data.split(',');\n // tslint:disable-next-line:prefer-for-of\n for (let i = 0; i < arrayData.length; i++ ) {\n respoce += this.readValueInMap(arrayData[i]);\n }\n // @ts-ignore\n return respoce.replaceAll('&', ',');\n }\n\n private readValueInMap(data: string ): string {\n let respoce = '';\n let status = true;\n this.dataMap.forEach((value, key) => {\n if ( data + ',' === value) {\n respoce = key;\n status = false;\n }\n });\n if (status) {\n respoce = data;\n }\n return respoce;\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport {Offusqued} from '../utils/Offusqued';\n@Injectable({\n providedIn: \"root\",\n})\nexport class CommonDataService {\n public static COMPANY_KEY: string = \"company\";\n public static DOC_NUMBER_KEY: string = \"docNumber\";\n public static DOC_TYPE_KEY: string = \"docType\";\n public static PHONE_KEY: string = \"phone\";\n public static TYPE_ATTENTION_KEY: string = \"typeAttention\";\n public static OFFICE_KEY: string = \"office\";\n public static TYPE_TURN_KEY: string = \"typeTurn\";\n public static SERVICE_KEY: string = \"service\";\n public static TURN_KEY: string = \"turn\";\n public static PROGRAMED_TURN_KEY: string = \"programedTurn\";\n public static REQUEST_CALL: string = \"requestCall\";\n public static FORM_DATA: string = \"formdata\";\n public static TEMPLATE: string = \"template\";\n public static TURN_RESCHEDULE: string = \"turnReschedule\";\n public static USER_GENDER: string = \"genderUser\";\n public static AUTO_REDIRECT: string = \"autoRedirect\";\n public static SCHEDULE_GENERAL: string = \"scheduleGeneral\"\n public static AGENDAMIENTO_TTP: string = \"potencialCustomer\"\n public static SINGLE_PAGE_ONE: string = \"singlePageOne\"\n public static AVAILABLE_SCHEDULE_GRAL: string = \"availableScheduleGral\"\n public static PROFILE: string = \"profile\"\n public static PAGE_NEXT: string = \"pageNext\"\n public static STEPS: string = \"steps\"\n public static TYPE_TURN_ID: string = \"typeTurnId\"\n\n\n constructor() { }\n\n private getData(): Map<string, any> {\n const dataOffuscade = new Offusqued();\n if (localStorage.getItem(\"data\") != null) {\n var data: Map<string, any> = new Map(JSON.parse(localStorage.getItem(\"data\")));\n return data;\n } else {\n /** Error get cookie */\n }\n }\n\n private setData(data: Map<string, any>) {\n const dataOffuscade = new Offusqued();\n const datatem = JSON.stringify(Array.from(data.entries()));\n const inf = dataOffuscade.ofusquedData(datatem);\n console.log('OFUSCADO');\n console.log(inf);\n localStorage.setItem('data', inf);\n //localStorage.setItem('data', JSON.stringify(Array.from(data.entries())));\n }\n\n initData(): void {\n this.setData(new Map());\n }\n\n putValue(key: string, value: any): void {\n var data: Map<string, any> = this.getData();\n data = data.set(key, value);\n this.setData(data);\n }\n\n addValue(keyPrimary: string, keySecond: string, value): void {\n var data: Map<string, any> = this.getValue(keyPrimary);\n var dataReturn: Map<string, any> = this.getData();\n data[keySecond] = value;\n dataReturn = dataReturn.set(keyPrimary, data);\n this.setData(dataReturn);\n }\n\n getValue(key: string): any {\n return !this.getData() || !this.getData().has(key) ? undefined : this.getData().get(key);\n }\n\n hasValue(key: string): any {\n return this.getData() != undefined ? this.getData().has(key) : null;\n }\n\n clearMap(): void {\n if (this.hasValue(CommonDataService.COMPANY_KEY)) {\n let company = this.getValue(CommonDataService.COMPANY_KEY);\n this.initData();\n this.putValue(CommonDataService.COMPANY_KEY, company);\n } else {\n this.initData();\n }\n }\n}\n","import {\n Component,\n Injectable,\n Input,\n ElementRef,\n OnInit,\n Renderer2,\n ViewChild,\n OnChanges,\n SimpleChanges,\n Output,\n EventEmitter\n} from '@angular/core';\nimport { FormGroup, FormControl, NgForm, Form, Validators } from '@angular/forms';\nimport { HttpClient } from '@angular/common/http';\n\n// import moment from 'moment';\nimport { NgbDateAdapter, NgbDateParserFormatter, NgbDateStruct, NgbDatepickerI18n } from '@ng-bootstrap/ng-bootstrap';\nimport * as moment_ from 'moment';\nimport { Fill } from '../../Models/fill';\nimport { regexType } from '../../utils/regex';\nimport { Company } from '../../Models/company';\nimport { Step } from '../../Models/step';\nimport { CommonDataService } from '../../services/data.service';\nconst moment = moment_;\n\n/**\n * This Service handles how the date is represented in scripts i.e. ngModel.\n */\n@Injectable()\nexport class CustomAdapter extends NgbDateAdapter<string> {\n\n readonly DELIMITER = '/';\n\n fromModel(value: string | null): NgbDateStruct | null {\n if (value) {\n const date = value.split(this.DELIMITER);\n return {\n day: parseInt(date[0], 10),\n month: parseInt(date[1], 10),\n year: parseInt(date[2], 10)\n };\n }\n return null;\n }\n\n toModel(date: NgbDateStruct | null): string | null {\n return date ? (date.day < 10 ? 0 + date.day : date.day) + this.DELIMITER + (date.month < 10 ? 0 + date.month : date.month) + this.DELIMITER + date.year : '';\n }\n}\n\n/**\n * This Service handles how the date is rendered and parsed from keyboard i.e. in the bound input field.\n */\n@Injectable()\nexport class CustomDateParserFormatter extends NgbDateParserFormatter {\n\n readonly DELIMITER = '/';\n\n parse(value: string): NgbDateStruct | null {\n if (value) {\n const date = value.split(this.DELIMITER);\n return {\n day: parseInt(date[0], 10),\n month: parseInt(date[1], 10),\n year: parseInt(date[2], 10)\n };\n }\n return null;\n }\n\n format(date: NgbDateStruct | null): string {\n return date ? (date.day < 10 ? '0' + date.day : date.day) + this.DELIMITER + (date.month < 10 ? '0' + date.month : date.month) + this.DELIMITER + date.year : '';\n }\n}\n\nconst I18N_VALUES = {\n 'es': {\n weekdays: ['Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa', 'Do'],\n months: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],\n weekLabel: 'sem'\n }\n // other languages you would support\n};\n\n@Injectable()\nexport class I18n {\n language = 'es';\n}\n\n// Define custom service providing the months and weekdays translations\n@Injectable()\nexport class CustomDatepickerI18n extends NgbDatepickerI18n {\n constructor(private _i18n: I18n) {\n super();\n }\n\n getWeekdayLabel(weekday: number): string {\n return I18N_VALUES[this._i18n.language].weekdays[weekday - 1];\n }\n\n getWeekLabel(): string {\n return I18N_VALUES[this._i18n.language].weekLabel;\n }\n\n getMonthShortName(month: number): string {\n return I18N_VALUES[this._i18n.language].months[month - 1];\n }\n\n getMonthFullName(month: number): string {\n return this.getMonthShortName(month);\n }\n\n getDayAriaLabel(date: NgbDateStruct): string {\n return `${date.day}-${date.month}-${date.year}`;\n }\n\n getWeekdayShortName(weekday: number): string {\n return I18N_VALUES[this._i18n.language].weekdays[weekday - 1];\n };\n}\n\n\n@Component({\n selector: 'lib-FormAurora',\n templateUrl: './form-aurora.component.html',\n styleUrls: ['./form-aurora.component.css'],\n providers: [\n { provide: NgbDateAdapter, useClass: CustomAdapter },\n { provide: NgbDateParserFormatter, useClass: CustomDateParserFormatter },\n { provide: NgbDatepickerI18n, useClass: CustomDatepickerI18n },\n I18n\n ]\n})\nexport class FormAuroraComponent implements OnInit, OnChanges {\n\n @Input() dataClassCss: any;\n @Input() dataForm: any;\n @Input() clickSubmit: any;\n @Input() dataReloadForm: any;\n @Input() welcomeTitle: any;\n @Input() welcomeDescription: any;\n @Input() urlPdf: string;\n @Input() nameCompany: string;\n @Input() schedule: string;\n @Input() isSimpleFlow: boolean;\n @Input() steps: Step[];\n @ViewChild('formDynamic', { static: true }) formDynamic: NgForm;\n @Output() response = new EventEmitter<any>();\n @Output() summit = new EventEmitter<any>();\n @Output() viewAuthData = new EventEmitter<any>();\n tipodocNumDoc: boolean = false;\n countSubmit = 0;\n watchValid = false;\n watchRequired = false;\n captchaValid: boolean = false;\n today = moment(new Date());\n maxYear = this.today.year();\n minYear = this.today.year() - 82;\n minDate = this.minYear.toString() + '-' + this.today.month().toString().padStart(2, '0') + '-' + this.today.date().toString().padStart(2, '0');// {year: this.minYear, month: this.today.month(), day: this.today.date()};\n maxDate = this.maxYear.toString() + '-' + (this.today.month() + 1).toString().padStart(2, '0') + '-' + this.today.date().toString().padStart(2, '0');// {year: this.maxYear, month: this.today.month() + 1, day: this.today.date()};\n recharge: boolean = false;\n indicativo: string = \"57\";\n filldata: Fill;\n defaultDocType: string = \"Cédula de ciudadanía\";\n patternNotValidDcto: boolean = false;\n patternNotValidCel: boolean = false;\n\n\n constructor(private data: CommonDataService, private http: HttpClient) { }\n\n ngOnInit(): void {\n this.minDate = new Date(this.minDate).toISOString().split('T')[0]\n setTimeout(() => {\n this.startComponent();\n }, 2000);\n }\n\n\n startComponent() {\n //ordena los campos\n if (this.dataForm != null && this.dataForm.formQuestions != undefined) {\n //Same row fields\n this.tipodocNumDoc = (this.dataForm.formQuestions.some(question => question.question.value === \"tipoDoc\") && this.dataForm.formQuestions.some(question => question.question.value === \"numeroDoc\")) ? true : false;\n\n this.dataForm.formQuestions = this.dataForm.formQuestions.sort(function (a, b) {\n return a.order - b.order;\n });\n let existcaptcha = this.dataForm.formQuestions.filter((item) => item.question.questionType.id == 6);\n\n if (existcaptcha.length == 0) {\n this.captchaValid = true;\n }\n\n for (const item of this.dataForm.formQuestions) {\n if (item.question.maxlength == null || item.question.maxlength == undefined || item.question.maxlength == 0) {\n item.question.maxlength = 524288; //defaultvalue\n }\n\n if (item.question.minLength == null || item.question.minLength == undefined) {\n item.question.minLength = 0;\n }\n\n this.dataReloadForm.forEach(element => {\n this.filldata = element;\n\n if ((item.question.questionType.id === 2 || item.question.questionType.id === 1 ||\n item.question.questionType.id === 3) && (this.filldata.data !== null &&\n this.filldata.data !== undefined) && item.question.id === this.filldata.id) {\n item.question.registred = this.filldata.data;\n }\n });\n\n if (item.question.registred == null || item.question.minLength == undefined) {\n item.question.registred = '';\n }\n }\n }\n }\n\n range = new FormGroup({\n start: new FormControl(),\n end: new FormControl(),\n });\n\n resolvedCaptcha(captchaResponse: string) {\n this.captchaValid = true\n if (!this.formDynamic.form.value.captcha) {\n this.formDynamic.controls.captcha.setValue(captchaResponse)\n this.formDynamic.form.value.captcha = captchaResponse\n document.getElementById(\"btnIng\").style.opacity = !this.formDynamic.valid ? \"0.65\" : \"1\";\n }\n }\n\n //Forms\n //Metodo para evitar el render de los items del for\n public trackByIndex(index: number, obj: any): any {\n return index;\n }\n\n onChangeValidPatter(event, question) {\n if (question.pattern != undefined) {\n let valid = true;\n let keyvalid = [8, 32, 37, 38, 39, 40, 46, 9];\n //diferente de Backpsace\n //se deja catch por error no controlable en otro tiempo de ejecucion\n try {\n if (!keyvalid.includes(event.keyCode)) {\n const regex = new RegExp(question.pattern);\n valid = regex.test(event.key);\n }\n } catch (error) { }\n\n return valid;\n }\n if (question.questionType !== undefined) {\n if (question.questionType.description === 'Number') {\n if (question.value === 'numeroDoc') {\n this.validateNumeroDocumento(this.formDynamic.controls[\"numeroDoc\"].value.toString());\n } else if (question.value === 'celular') {\n this.validateCelular(this.formDynamic.controls[\"celular\"].value.toString());\n }\n\n }\n }\n document.getElementById(\"char\" + question.value).setAttribute(\"hidden\", \"true\");\n\n //if temporal mientras se migran todos los tipos de campos al foreach\n if (question.questionType.id != 11 && question.questionType.id != 7) {\n if (this.validMinLength(this.formDynamic, question)) {\n document.getElementById(question.value).style.borderColor = \"#FF0000\";\n document.getElementById(\"ml\" + question.value).removeAttribute(\"hidden\");\n }\n else {\n document.getElementById(question.value).style.borderColor = \"#E4E4E4\";\n document.getElementById(\"ml\" + question.value).setAttribute(\"hidden\", \"true\");\n }\n if (this.validMaxLength(this.formDynamic, question)) {\n document.getElementById(question.value).style.borderColor = \"#FF0000\";\n document.getElementById(\"mxl\" + question.value).removeAttribute(\"hidden\");\n }\n else {\n document.getElementById(question.value).style.borderColor = \"#E4E4E4\";\n document.getElementById(\"mxl\" + question.value).setAttribute(\"hidden\", \"true\");\n }\n }\n\n\n this.dataForm.formQuestions.forEach(formQuestion => {\n switch (formQuestion.question.questionType.id) {\n //se valida campo de tipo calendario\n case 7:\n if (question.questionType.id == 7)\n this.calendarRulesValidate(formQuestion);\n break;\n //se valida campo de tipo email\n case 11:\n if (question.questionType.id == 11)\n this.emailRulesValidate(formQuestion);\n break;\n }\n });\n\n document.getElementById(\"btnIng\").style.opacity = !this.formDynamic.valid ? \"0.65\" : \"1\";\n }\n\n validOnlyText(event) {\n let regex = /^[a-zA-Z\\u00C0-\\u017F]+$/g;\n if (event.charCode == 32) {\n return true;\n }\n let valid = regex.test(event.key);\n\n return valid;\n }\n\n validDate(event) {\n /*let pattern = /(?:0[1-9]|[12][0-9]|3[01])\\/(?:0[1-9]|1[0-2])\\/(?:19|20)[0-9]{2}/;\n const regex = new RegExp(pattern);\n valid = regex.test(event.key);\n */\n const matches = String(event.key).match(regexType.date.exp);\n let valid = true\n if (matches === null)\n valid = false;\n\n // alert(valid);\n\n return valid;\n\n }\n\n onChangeValidDate(event) {\n\n //let pattern = /(?:0[1-9]|1[0-2])\\/(?:0[1-9]|[12][0-9]|3[01])\\/(?:19|20)[0-9]{2}/;\n let dateN = /[0-9]|\\//\n let valid = true\n const regex = new RegExp(dateN);\n valid = regex.test(event.key);\n return valid;\n\n }\n\n rediretoutside(event, question) {\n //se deja catch por error no controlable en otro tiempo de ejecucion\n try {\n event.preventDefault();\n window.open(question.value, \"_blank\");\n } catch (error) { }\n }\n\n /**\n * Dispatch submit event for validations exists\n * @param change \n */\n ngOnChanges(change: SimpleChanges) {\n this.countSubmit++\n }\n //onSubmit(form: NgForm) {\n onSubmit() {\n let form = this.formDynamic;\n this.watchValid = true;\n this.watchRequired = true;\n\n if (form.valid) {\n if (!this.validRulesFields(form.controls[\"numeroDoc\"].value.toString(), form.controls[\"celular\"].value.toString(), form.controls[\"email\"].value))\n return false;\n }\n\n if (this.validMinlenghtAllQuestions(form.value) && this.validMaxLengthAllQuestions(form.value) && form.valid) {\n if (this.dataForm.urlSend != \"\" && this.captchaValid) {\n this.http.post<any>(this.dataForm.urlSend, form.value).subscribe((resp) => this.response.emit(resp));\n } else if (form.valid && this.captchaValid) {\n this.summit.emit(form.value);\n }\n }\n }\n\n private findParamBoolean(params: any, idParam: number) {\n let showDescriptionParam = params.find((x) => x.id == idParam);\n return showDescriptionParam != null && showDescriptionParam.value == \"true\";\n }\n\n validRulesFields(numeroDoc: String, numeroCel: String, email: String): boolean {\n // Validaciones para celular en caso de indicativo en Colombia\n let cel = document.getElementById(\"charcelular\");\n let doc = document.getElementById(\"charnumeroDoc\");\n let valOk = true;\n if (this.indicativo == \"+57\" || this.indicativo == \"57\") {\n let stringOrdenado = this.orderString(numeroDoc);\n if (this.nameCompany.toUpperCase() !== 'CLARO') {//claro acepta nro consecutivos\n if (numeroDoc == stringOrdenado) {\n doc.style.borderColor = \"#FF0000\";\n doc.removeAttribute(\"hidden\");\n doc.textContent = \"El numero documento No debe contener caracteres consecutivos\";\n valOk = false;\n\n //this.msgErrorCampo = \"El numero documento No debe contener caracteres consecutivos\";\n //return false;\n }\n }\n if (numeroCel.substring(0, 1) != \"3\") {\n cel.style.borderColor = \"#FF0000\";\n cel.removeAttribute(\"hidden\");\n cel.textContent = \"El primer carácter del celular debe ser 3\";\n valOk = false;\n\n //this.msgErrorCampo = \"El primer carácter del celular debe ser 3\";\n //return false;\n }\n /*\n if (parseInt(numeroCel.substring(0, 3)) > 350) {\n cel.style.borderColor = \"#FF0000\";\n cel.removeAttribute(\"hidden\");\n cel.textContent = \"El prefijo del celular no debe ser mayor a 350\";\n valOk = false;\n //this.msgErrorCampo = \"El prefijo del celular no debe ser mayor a 350\";\n //return false;\n }\n */\n //En caso de que el número se repita, ejemplo 33333333\n let listnumber = numeroDoc.substring(0, 1);\n for (let index = 1; index < numeroDoc.length; index++) {\n listnumber = listnumber + numeroDoc.substring(0, 1);\n }\n\n if (numeroDoc == listnumber) {\n doc.style.borderColor = \"#FF0000\";\n doc.removeAttribute(\"hidden\");\n doc.textContent = \"Caracteres numéricos no se pueden repetirse de manera continua \";\n valOk = false;\n\n //this.msgErrorCampo = \"Caracteres numéricos no se pueden repetirse de manera continua \";\n //return false;\n }\n if (!this.validateNumeroDocumento(numeroDoc)) {\n return false;\n }\n if (!this.validateCelular(numeroCel)) {\n return false;\n }\n\n\n // En caso de que el número se repita, ejemplo 33333333\n let arrayPhoneRepeat = Array.from(String(numeroCel), Number);\n let arrayPhoneOutRepeat = [...new Set(arrayPhoneRepeat)];\n if (arrayPhoneOutRepeat.length == 1) {\n cel.style.borderColor = \"#FF0000\";\n cel.removeAttribute(\"hidden\");\n cel.textContent = \"El número que ingresa no es valido\";\n valOk = false;\n //this.msgErrorCampo = \"El número que ingresa no es valido\";\n //return false;\n }\n } else if (this.indicativo == \"+593\" || this.indicativo == \"593\") {\n if (numeroCel.substring(0, 1) != \"9\") {\n cel.style.borderColor = \"#FF0000\";\n cel.removeAttribute(\"hidden\");\n cel.textContent = \"El primer carácter del celular debe ser 9\";\n valOk = false;\n //this.msgErrorCampo = \"El primer carácter del celular debe ser 9\";\n //return false;\n }\n }\n //se validan los campos por tipo de campo y no por value\n this.dataForm.formQuestions.forEach(formQuestion => {\n switch (formQuestion.question.questionType.id) {\n //se valida campo de tipo email\n case 11:\n valOk = this.emailRulesValidate(formQuestion);\n break;\n }\n });\n\n return valOk;\n }\n\n orderString(value: String) {\n let arrayNumber = [];\n for (let index = 0; index < value.length; index++) {\n arrayNumber.push(parseInt(value.substring(index, index + 1)));\n }\n //ordena el array\n arrayNumber.sort(function (a, b) {\n return a - b;\n });\n let numberOrder = \"\";\n numberOrder = arrayNumber[0];\n for (let index = 1; index < arrayNumber.length; index++) {\n numberOrder = numberOrder + (arrayNumber[0] + index).toString();\n }\n return numberOrder;\n }\n\n validMinlenghtAllQuestions(form: any): boolean {\n for (const item of this.dataForm.formQuestions) {\n if (item.question.questionType.id == 1 || item.question.questionType.id == 2) {\n let minLength = parseInt(item.question.minLength);\n let formValueLength = parseInt(form[item.question.value].toString().length);\n if (minLength > 0 && formValueLength != minLength && formValueLength < minLength) return false;\n }\n }\n return true;\n }\n\n validMaxLengthAllQuestions(form: any): boolean {\n for (const item of this.dataForm.formQuestions) {\n if (item.question.questionType.id == 1 || item.question.questionType.id == 2) {\n let maxLength = parseInt(item.question.maxLength);\n let formValueLength = parseInt(form[item.question.value].toString().length);\n if (maxLength > 0 && formValueLength != maxLength && formValueLength > maxLength) return false;\n }\n }\n return true;\n }\n\n validRequired(form: NgForm, question): Boolean {\n //se deja catch por error no controlable en otro tiempo de ejecucion\n try {\n if (question != undefined && question.value != undefined) {\n if (\n form.controls[question.value] != undefined &&\n form.controls[question.value].errors != null &&\n form.controls[question.value].errors.required\n ) {\n return true;\n }\n }\n } catch (error) { }\n return false;\n }\n\n validMinLength(form: NgForm, question): Boolean {\n //se deja catch por error no controlable en otro tiempo de ejecucion\n try {\n if (question != undefined && question.value != undefined) {\n if (question.minLength > form.controls[question.value].value.toLocaleString().length && question.minLength > 0) {\n return true;\n }\n }\n } catch (error) { }\n return false;\n }\n\n validMaxLength(form: NgForm, question): Boolean {\n //se deja catch por error no controlable en otro tiempo de ejecucion\n try {\n if (question != undefined && question.value != undefined) {\n if (question.maxLength > 0) {\n if (question.maxLength + 1 <= form.controls[question.value].value.toString().replace(/\\./g, '').length) {\n if (!this.formDynamic.controls[question.value].hasError('errorMaxLength')) {\n this.formDynamic.controls[question.value].setErrors({ 'errorMaxLength': true })\n }\n return true;\n }\n }\n }\n } catch (error) { }\n return false;\n }\n\n tycSelection(event) {\n this.viewAuthData.emit(event);\n }\n\n openLabelUrl(event, question) {\n event.preventDefault()\n let tyc = <HTMLInputElement>document.getElementById(\"check\" + question.id);\n tyc.style.color = \"#A3AD32\";\n window.open(question.urllabel, \"_blank\");\n }\n\n cancellKeypress() {\n return false;\n }\n emailRulesValidate(formQuestion) {\n let valOk = true;\n try {\n let hasError = false;\n document.getElementById(formQuestion.question.id).setAttribute(\"hidden\", \"true\");\n let eml = document.getElementById(formQuestion.question.id);\n let email = formQuestion.question.registred;\n if (!hasError) {\n if (formQuestion.question.required && (email == \"\" || email == undefined || email == null)) {\n eml.style.borderColor = \"#FF0000\";\n eml.textContent = \"El correco eléctronico es requerido\";\n eml.removeAttribute(\"hidden\");\n valOk = false;\n hasError = true;\n }\n }\n if (!hasError) {\n if (this.validMinLength(undefined, formQuestion.question)) {\n eml.style.borderColor = \"#FF0000\";\n eml.textContent = \"Debe ser mínimo de \" + formQuestion.question.minLength + \" caracteres\";\n document.getElementById(formQuestion.question.id).removeAttribute(\"hidden\");\n valOk = false;\n hasError = true;\n }\n }\n if (!hasError) {\n if (this.validMaxLength(undefined, formQuestion.question)) {\n eml.style.borderColor = \"#FF0000\";\n eml.textContent = \"Debe ser maximo de \" + formQuestion.question.maxLength + \" caracteres\";\n document.getElementById(formQuestion.question.id).removeAttribute(\"hidden\");\n valOk = false;\n hasError = true;\n }\n }\n if (!hasError) {\n\n const matches = String(email).match(regexType.email.exp);\n if (matches == null) {\n eml.style.borderColor = \"#FF0000\";\n eml.textContent = \"Tu email es invalido\";\n eml.removeAttribute(\"hidden\");\n valOk = false;\n hasError = true;\n }\n }\n\n } catch (error) {\n\n }\n return valOk;\n }\n\n calendarRulesValidate(formQuestion) {\n let hasError = false;\n try {\n document.getElementById(formQuestion.question.id).setAttribute(\"hidden\", \"true\");\n let ecalendar = document.getElementById(formQuestion.question.id);\n //se valida que no sea null si es requerido\n let date = formQuestion.question.registred;\n if (formQuestion.question.required && (date == \"\" || date == undefined || date == null)) {\n ecalendar.style.borderColor = \"#FF0000\";\n ecalendar.textContent = \"La fecha es requerida\";\n ecalendar.removeAttribute(\"hidden\");\n }\n } catch (error) {\n\n }\n }\n\n validateNotSpace(event) {\n if (event.charCode == 32) {\n return false;\n } else {\n return true;\n }\n }\n validateNumeroDocumento(numeroDoc: String) {\n if (!numeroDoc.match(\"^[0-9]*$\")) {\n this.formDynamic.controls[\"numeroDoc\"].setValidators([Validators.pattern('^[0-9]*$')]);\n this.formDynamic.controls[\"numeroDoc\"].markAsDirty();\n this.formDynamic.controls[\"numeroDoc\"].updateValueAndValidity();\n this.formDynamic.controls[\"numeroDoc\"].markAsTouched();\n this.patternNotValidDcto = true;\n return false;\n }\n this.patternNotValidDcto = false;\n return true;\n }\n validateCelular(numeroCel: String) {\n if (!numeroCel.match(\"^[0-9]*$\")) {\n this.formDynamic.controls[\"celular\"].setValidators([Validators.pattern('^[0-9]*$')]);\n this.formDynamic.controls[\"celular\"].markAsDirty();\n this.formDynamic.controls[\"celular\"].updateValueAndValidity();\n this.formDynamic.controls[\"celular\"].markAsTouched();\n this.patternNotValidCel = true;\n return false;\n }\n this.patternNotValidCel = false;\n return true;\n }\n\n onkeypress(event) {\n return (event.charCode == 0) ? null : event.charCode >= 48 && event.charCode <= 57\n }\n\n onChangeStep(step: Step, nextStep: Step, value) {\n if (nextStep && nextStep.stepOrder != 1) {\n this.resetField(step);\n nextStep.viewData = [];\n nextStep.viewData = nextStep.stepData.filter(x => x.relationalIds.includes(Number(value)));\n\n }\n }\n resetField(stepIn: Step) {\n this.steps.forEach(step => {\n if (step.stepOrder > stepIn.stepOrder) {\n step.viewData = undefined;\n step.value = undefined;\n }\n });\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from \"rxjs\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class CommonTemplateService {\n constructor(private http: HttpClient) { }\n getTemplate(idCompany,url): Observable<any> {\n return this.http.get<any>(`${url}/template/findByCompany/` + idCompany)\n }\n reloadStylePage(currentDocument: Document, templateCompany) {\n let objects = (<HTMLCollection>currentDocument.getElementsByClassName(\"template\"));\n // debugger\n for (let index = 0; index < objects.length; index++) {\n const item = objects[index];\n let itemClassName = typeof (item.className) == \"object\" ? item.className['baseVal'] : item.className\n let indexStart = itemClassName.indexOf(\"template\")\n // let keyString = itemClassName.substring(indexStart, itemClassName.length).split(' ')[1]\n const keysString = itemClassName.substring(indexStart, itemClassName.length).split(' ').filter(a => a.indexOf('tmp_') !== -1);\n\n for (let keyString of keysString) {\n if (templateCompany[keyString] != undefined) {\n if (keyString.includes(\"tmp_type_text_\")) {\n\n if (keyString.includes('tmp_type_text_6')) {\n item['style'].setProperty('--' + keyString, templateCompany[keyString].color)\n } else {\n item[\"style\"].color = templateCompany[keyString].color\n\n if(itemClassName.includes(\"ratting-faces-v2\"))\n {\n item[\"style\"].backgroundColor = templateCompany[keyString].color;\n item[\"style\"].borderColor = templateCompany[keyString].color;\n item[\"style\"].color = \"white\"\n }\n }\n }\n\n if (keyString.includes(\"title1\")) {\n /*item[\"style\"].color = templateCompany[keyString].color*/\n item[\"style\"].color = \"#EE7E0E\";\n }\n\n if (keyString.includes(\"tmp_type_svg_\")) {\n item[\"style\"].fill = templateCompany[keyString].fill\n }\n\n if (keyString.includes(\"tmp_type_img_\")) {\n if (item.nodeName == \"IMG\") {\n item[\"src\"] = templateCompany[keyString].src;\n }\n else {\n item[\"style\"].background = templateCompany[keyString].background;\n item[\"style\"].backgroundSize = templateCompany[keyString].backgroundSize;\n }\n }\n\n if (keyString.includes(\"tmp_type_head_\")) {\n item[\"style\"].setProperty('--' + keyString, templateCompany[keyString].color)\n }\n\n if (keyString.includes(\"tmp_type_footer_\")) {\n // debugger\n item[\"style\"].setProperty('--' + keyString, templateCompany[keyString].color)\n }\n\n if (itemClassName.includes(\"tmp_type_cnt_\")) {\n indexStart = itemClassName.indexOf(\"tmp_type_cnt_\")\n keyString = itemClassName.substring(indexStart, itemClassName.length).split(' ')[0]\n if (!!templateCompany[keyString]) {\n item[\"style\"].backgroundColor = templateCompany[keyString].backgroundColor\n }\n }\n\n if (keyString.includes('tmp_type_font_')) {\n item['style'].setProperty('font-family', templateCompany[keyString]['font-family'], 'important');\n }\n }\n }\n }\n }\n}\n","export class Fill {\n id: number\n value: string\n type: number\n data: string\n}\n","import { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { RecaptchaModule, RecaptchaFormsModule } from 'ng-recaptcha';\nimport { FormAuroraComponent } from '../public-api';\n\n\n@NgModule({\n declarations: [FormAuroraComponent],\n imports: [\n CommonModule,\n FormsModule, \n RecaptchaModule,\n RecaptchaFormsModule \n ],\n exports: [FormAuroraComponent]\n})\nexport class FormAuroraModule { }","/*\n * Public API Surface of form-aurora\n */\nexport * from './lib/Components/from-aurora/form-aurora.component'\nexport * from './lib/services/TemplateService';\nexport * from './lib/services/data.service';\nexport * from './lib/utils/regex';\nexport * from './lib/Models/fill';\nexport * from './lib/form-aurora.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["tslib_1.__extends","tslib_1.__values","tslib_1.__decorate"],"mappings":"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"}
1
+ {"version":3,"file":"form-aurora-stefanini.js","sources":["ng://form-aurora-stefanini/lib/utils/regex.ts","ng://form-aurora-stefanini/lib/services/data.service.ts","ng://form-aurora-stefanini/lib/Components/from-aurora/form-aurora.component.ts","ng://form-aurora-stefanini/lib/services/TemplateService.ts","ng://form-aurora-stefanini/lib/Models/fill.ts","ng://form-aurora-stefanini/lib/form-aurora.module.ts","ng://form-aurora-stefanini/public-api.ts","ng://form-aurora-stefanini/form-aurora-stefanini.ts"],"sourcesContent":["export const regexType = {\n default: {\n exp: '^[a-zA-Z0-9ñÑáéíóúüÁÉÍÓÚÜ,.\\\\-_\\\\s]*$',\n message: 'Formato inválido, no use caracteres especiales'\n },\n word: {\n exp: '^[a-zA-Z0-9ñÑáéíóúüÁÉÍÓÚÜ,.\\\\-_]*$',\n message: 'Formato inválido, no use caracteres especiales ni espacios'\n },\n name: {\n exp: '^[a-zA-ZñÑáéíóúüÁÉÍÓÚÜ\\\\s]*$',\n message: 'Formato inválido, no use caracteres especiales ni números'\n },\n alphanumberWord: {\n exp: '^[a-zA-Z0-9]*$',\n message: 'Formato alfanúmerico inválido'\n },\n charWord: {\n exp: '^[a-zA-Z]*$',\n message: 'Formato de caracteres inválido'\n },\n anyWord: {\n exp: '^\\\\S*$',\n message: 'Formato inválido'\n },\n percent: {\n exp: '^100$|^[0-9]{1,2}$|^[0-9]{1,2}\\\\.[0-9]{1,2}$',\n message: 'Formato de porcentaje inválido, use el punto decimal (.)'\n },\n email: {\n exp: /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n message: 'Formato de e-mail inválido'\n },\n number: {\n exp: '^[0-9]*$',\n message: 'Formato de número inválido'\n },\n time24: {\n exp: '^([01]?[0-9]|2[0-3]):[0-5][0-9]$',\n message: 'Formato de hora militar inválido, use 23:45'\n },\n date: {\n exp: '^[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}$',\n message: 'Formato de fecha inválido',\n internal: 'dd/mm/yyyy'\n },\n password: {\n exp: '^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$',\n message: 'La contraseña debe incluir una longitud mínima de 8 caracteres, una letra mayúscula, una letra minúscula, un número, un carácter especial (@#$%^&+=/.) y no debe tener espacios.'\n }\n};\n","import { Injectable } from \"@angular/core\";\nimport {Offusqued} from './Offusqued'\n@Injectable({\n providedIn: \"root\",\n})\nexport class CommonDataService {\n public static COMPANY_KEY: string = \"company\";\n public static DOC_NUMBER_KEY: string = \"docNumber\";\n public static DOC_TYPE_KEY: string = \"docType\";\n public static PHONE_KEY: string = \"phone\";\n public static TYPE_ATTENTION_KEY: string = \"typeAttention\";\n public static OFFICE_KEY: string = \"office\";\n public static TYPE_TURN_KEY: string = \"typeTurn\";\n public static SERVICE_KEY: string = \"service\";\n public static TURN_KEY: string = \"turn\";\n public static PROGRAMED_TURN_KEY: string = \"programedTurn\";\n public static REQUEST_CALL: string = \"requestCall\";\n public static FORM_DATA: string = \"formdata\";\n public static TEMPLATE: string = \"template\";\n public static TURN_RESCHEDULE: string = \"turnReschedule\";\n public static USER_GENDER: string = \"genderUser\";\n public static AUTO_REDIRECT: string = \"autoRedirect\";\n public static SCHEDULE_GENERAL: string = \"scheduleGeneral\"\n public static AGENDAMIENTO_TTP: string = \"potencialCustomer\"\n public static SINGLE_PAGE_ONE: string = \"singlePageOne\"\n public static AVAILABLE_SCHEDULE_GRAL: string = \"availableScheduleGral\"\n public static PROFILE: string = \"profile\"\n public static PAGE_NEXT: string = \"pageNext\"\n public static STEPS: string = \"steps\"\n public static TYPE_TURN_ID: string = \"typeTurnId\"\n\n\n constructor() { }\n\n private getData(): Map<string, any> {\n console.log('UNO');\n if (localStorage.getItem('data') != null) {\n const data: Map<string, any> = new Map(JSON.parse(localStorage.getItem('data')));\n return data;\n } else {\n /** Error get cookie */\n console.log('ERROR');\n }\n }\n\n private setData(data: Map<string, any>) {\n console.log('ENTRO');\n console.log(JSON.stringify(Array.from(data.entries())));\n localStorage.setItem('data', JSON.stringify(Array.from(data.entries())));\n }\n\n initData(): void {\n this.setData(new Map());\n }\n\n putValue(key: string, value: any): void {\n var data: Map<string, any> = this.getData();\n data = data.set(key, value);\n this.setData(data);\n }\n\n addValue(keyPrimary: string, keySecond: string, value): void {\n var data: Map<string, any> = this.getValue(keyPrimary);\n var dataReturn: Map<string, any> = this.getData();\n data[keySecond] = value;\n dataReturn = dataReturn.set(keyPrimary, data);\n this.setData(dataReturn);\n }\n\n getValue(key: string): any {\n return !this.getData() || !this.getData().has(key) ? undefined : this.getData().get(key);\n }\n\n hasValue(key: string): any {\n return this.getData() != undefined ? this.getData().has(key) : null;\n }\n\n clearMap(): void {\n if (this.hasValue(CommonDataService.COMPANY_KEY)) {\n let company = this.getValue(CommonDataService.COMPANY_KEY);\n this.initData();\n this.putValue(CommonDataService.COMPANY_KEY, company);\n } else {\n this.initData();\n }\n }\n}\n","import {\n Component,\n Injectable,\n Input,\n ElementRef,\n OnInit,\n Renderer2,\n ViewChild,\n OnChanges,\n SimpleChanges,\n Output,\n EventEmitter\n} from '@angular/core';\nimport { FormGroup, FormControl, NgForm, Form, Validators } from '@angular/forms';\nimport { HttpClient } from '@angular/common/http';\n\n// import moment from 'moment';\nimport { NgbDateAdapter, NgbDateParserFormatter, NgbDateStruct, NgbDatepickerI18n } from '@ng-bootstrap/ng-bootstrap';\nimport * as moment_ from 'moment';\nimport { Fill } from '../../Models/fill';\nimport { regexType } from '../../utils/regex';\nimport { Company } from '../../Models/company';\nimport { Step } from '../../Models/step';\nimport { CommonDataService } from '../../services/data.service';\nconst moment = moment_;\n\n/**\n * This Service handles how the date is represented in scripts i.e. ngModel.\n */\n@Injectable()\nexport class CustomAdapter extends NgbDateAdapter<string> {\n\n readonly DELIMITER = '/';\n\n fromModel(value: string | null): NgbDateStruct | null {\n if (value) {\n const date = value.split(this.DELIMITER);\n return {\n day: parseInt(date[0], 10),\n month: parseInt(date[1], 10),\n year: parseInt(date[2], 10)\n };\n }\n return null;\n }\n\n toModel(date: NgbDateStruct | null): string | null {\n return date ? (date.day < 10 ? 0 + date.day : date.day) + this.DELIMITER + (date.month < 10 ? 0 + date.month : date.month) + this.DELIMITER + date.year : '';\n }\n}\n\n/**\n * This Service handles how the date is rendered and parsed from keyboard i.e. in the bound input field.\n */\n@Injectable()\nexport class CustomDateParserFormatter extends NgbDateParserFormatter {\n\n readonly DELIMITER = '/';\n\n parse(value: string): NgbDateStruct | null {\n if (value) {\n const date = value.split(this.DELIMITER);\n return {\n day: parseInt(date[0], 10),\n month: parseInt(date[1], 10),\n year: parseInt(date[2], 10)\n };\n }\n return null;\n }\n\n format(date: NgbDateStruct | null): string {\n return date ? (date.day < 10 ? '0' + date.day : date.day) + this.DELIMITER + (date.month < 10 ? '0' + date.month : date.month) + this.DELIMITER + date.year : '';\n }\n}\n\nconst I18N_VALUES = {\n 'es': {\n weekdays: ['Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa', 'Do'],\n months: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],\n weekLabel: 'sem'\n }\n // other languages you would support\n};\n\n@Injectable()\nexport class I18n {\n language = 'es';\n}\n\n// Define custom service providing the months and weekdays translations\n@Injectable()\nexport class CustomDatepickerI18n extends NgbDatepickerI18n {\n constructor(private _i18n: I18n) {\n super();\n }\n\n getWeekdayLabel(weekday: number): string {\n return I18N_VALUES[this._i18n.language].weekdays[weekday - 1];\n }\n\n getWeekLabel(): string {\n return I18N_VALUES[this._i18n.language].weekLabel;\n }\n\n getMonthShortName(month: number): string {\n return I18N_VALUES[this._i18n.language].months[month - 1];\n }\n\n getMonthFullName(month: number): string {\n return this.getMonthShortName(month);\n }\n\n getDayAriaLabel(date: NgbDateStruct): string {\n return `${date.day}-${date.month}-${date.year}`;\n }\n\n getWeekdayShortName(weekday: number): string {\n return I18N_VALUES[this._i18n.language].weekdays[weekday - 1];\n };\n}\n\n\n@Component({\n selector: 'lib-FormAurora',\n templateUrl: './form-aurora.component.html',\n styleUrls: ['./form-aurora.component.css'],\n providers: [\n { provide: NgbDateAdapter, useClass: CustomAdapter },\n { provide: NgbDateParserFormatter, useClass: CustomDateParserFormatter },\n { provide: NgbDatepickerI18n, useClass: CustomDatepickerI18n },\n I18n\n ]\n})\nexport class FormAuroraComponent implements OnInit, OnChanges {\n\n @Input() dataClassCss: any;\n @Input() dataForm: any;\n @Input() clickSubmit: any;\n @Input() dataReloadForm: any;\n @Input() welcomeTitle: any;\n @Input() welcomeDescription: any;\n @Input() urlPdf: string;\n @Input() nameCompany: string;\n @Input() schedule: string;\n @Input() isSimpleFlow: boolean;\n @Input() steps: Step[];\n @ViewChild('formDynamic', { static: true }) formDynamic: NgForm;\n @Output() response = new EventEmitter<any>();\n @Output() summit = new EventEmitter<any>();\n @Output() viewAuthData = new EventEmitter<any>();\n tipodocNumDoc: boolean = false;\n countSubmit = 0;\n watchValid = false;\n watchRequired = false;\n captchaValid: boolean = false;\n today = moment(new Date());\n maxYear = this.today.year();\n minYear = this.today.year() - 82;\n minDate = this.minYear.toString() + '-' + this.today.month().toString().padStart(2, '0') + '-' + this.today.date().toString().padStart(2, '0');// {year: this.minYear, month: this.today.month(), day: this.today.date()};\n maxDate = this.maxYear.toString() + '-' + (this.today.month() + 1).toString().padStart(2, '0') + '-' + this.today.date().toString().padStart(2, '0');// {year: this.maxYear, month: this.today.month() + 1, day: this.today.date()};\n recharge: boolean = false;\n indicativo: string = \"57\";\n filldata: Fill;\n defaultDocType: string = \"Cédula de ciudadanía\";\n patternNotValidDcto: boolean = false;\n patternNotValidCel: boolean = false;\n\n\n constructor(private data: CommonDataService, private http: HttpClient) { }\n\n ngOnInit(): void {\n this.minDate = new Date(this.minDate).toISOString().split('T')[0]\n setTimeout(() => {\n this.startComponent();\n }, 2000);\n }\n\n\n startComponent() {\n //ordena los campos\n if (this.dataForm != null && this.dataForm.formQuestions != undefined) {\n //Same row fields\n this.tipodocNumDoc = (this.dataForm.formQuestions.some(question => question.question.value === \"tipoDoc\") && this.dataForm.formQuestions.some(question => question.question.value === \"numeroDoc\")) ? true : false;\n\n this.dataForm.formQuestions = this.dataForm.formQuestions.sort(function (a, b) {\n return a.order - b.order;\n });\n let existcaptcha = this.dataForm.formQuestions.filter((item) => item.question.questionType.id == 6);\n\n if (existcaptcha.length == 0) {\n this.captchaValid = true;\n }\n\n for (const item of this.dataForm.formQuestions) {\n if (item.question.maxlength == null || item.question.maxlength == undefined || item.question.maxlength == 0) {\n item.question.maxlength = 524288; //defaultvalue\n }\n\n if (item.question.minLength == null || item.question.minLength == undefined) {\n item.question.minLength = 0;\n }\n\n this.dataReloadForm.forEach(element => {\n this.filldata = element;\n\n if ((item.question.questionType.id === 2 || item.question.questionType.id === 1 ||\n item.question.questionType.id === 3) && (this.filldata.data !== null &&\n this.filldata.data !== undefined) && item.question.id === this.filldata.id) {\n item.question.registred = this.filldata.data;\n }\n });\n\n if (item.question.registred == null || item.question.minLength == undefined) {\n item.question.registred = '';\n }\n }\n }\n }\n\n range = new FormGroup({\n start: new FormControl(),\n end: new FormControl(),\n });\n\n resolvedCaptcha(captchaResponse: string) {\n this.captchaValid = true\n if (!this.formDynamic.form.value.captcha) {\n this.formDynamic.controls.captcha.setValue(captchaResponse)\n this.formDynamic.form.value.captcha = captchaResponse\n document.getElementById(\"btnIng\").style.opacity = !this.formDynamic.valid ? \"0.65\" : \"1\";\n }\n }\n\n //Forms\n //Metodo para evitar el render de los items del for\n public trackByIndex(index: number, obj: any): any {\n return index;\n }\n\n onChangeValidPatter(event, question) {\n if (question.pattern != undefined) {\n let valid = true;\n let keyvalid = [8, 32, 37, 38, 39, 40, 46, 9];\n //diferente de Backpsace\n //se deja catch por error no controlable en otro tiempo de ejecucion\n try {\n if (!keyvalid.includes(event.keyCode)) {\n const regex = new RegExp(question.pattern);\n valid = regex.test(event.key);\n }\n } catch (error) { }\n\n return valid;\n }\n if (question.questionType !== undefined) {\n if (question.questionType.description === 'Number') {\n if (question.value === 'numeroDoc') {\n this.validateNumeroDocumento(this.formDynamic.controls[\"numeroDoc\"].value.toString());\n } else if (question.value === 'celular') {\n this.validateCelular(this.formDynamic.controls[\"celular\"].value.toString());\n }\n\n }\n }\n document.getElementById(\"char\" + question.value).setAttribute(\"hidden\", \"true\");\n\n //if temporal mientras se migran todos los tipos de campos al foreach\n if (question.questionType.id != 11 && question.questionType.id != 7) {\n if (this.validMinLength(this.formDynamic, question)) {\n document.getElementById(question.value).style.borderColor = \"#FF0000\";\n document.getElementById(\"ml\" + question.value).removeAttribute(\"hidden\");\n }\n else {\n document.getElementById(question.value).style.borderColor = \"#E4E4E4\";\n document.getElementById(\"ml\" + question.value).setAttribute(\"hidden\", \"true\");\n }\n if (this.validMaxLength(this.formDynamic, question)) {\n document.getElementById(question.value).style.borderColor = \"#FF0000\";\n document.getElementById(\"mxl\" + question.value).removeAttribute(\"hidden\");\n }\n else {\n document.getElementById(question.value).style.borderColor = \"#E4E4E4\";\n document.getElementById(\"mxl\" + question.value).setAttribute(\"hidden\", \"true\");\n }\n }\n\n\n this.dataForm.formQuestions.forEach(formQuestion => {\n switch (formQuestion.question.questionType.id) {\n //se valida campo de tipo calendario\n case 7:\n if (question.questionType.id == 7)\n this.calendarRulesValidate(formQuestion);\n break;\n //se valida campo de tipo email\n case 11:\n if (question.questionType.id == 11)\n this.emailRulesValidate(formQuestion);\n break;\n }\n });\n\n document.getElementById(\"btnIng\").style.opacity = !this.formDynamic.valid ? \"0.65\" : \"1\";\n }\n\n validOnlyText(event) {\n let regex = /^[a-zA-Z\\u00C0-\\u017F]+$/g;\n if (event.charCode == 32) {\n return true;\n }\n let valid = regex.test(event.key);\n\n return valid;\n }\n\n validDate(event) {\n /*let pattern = /(?:0[1-9]|[12][0-9]|3[01])\\/(?:0[1-9]|1[0-2])\\/(?:19|20)[0-9]{2}/;\n const regex = new RegExp(pattern);\n valid = regex.test(event.key);\n */\n const matches = String(event.key).match(regexType.date.exp);\n let valid = true\n if (matches === null)\n valid = false;\n\n // alert(valid);\n\n return valid;\n\n }\n\n onChangeValidDate(event) {\n\n //let pattern = /(?:0[1-9]|1[0-2])\\/(?:0[1-9]|[12][0-9]|3[01])\\/(?:19|20)[0-9]{2}/;\n let dateN = /[0-9]|\\//\n let valid = true\n const regex = new RegExp(dateN);\n valid = regex.test(event.key);\n return valid;\n\n }\n\n rediretoutside(event, question) {\n //se deja catch por error no controlable en otro tiempo de ejecucion\n try {\n event.preventDefault();\n window.open(question.value, \"_blank\");\n } catch (error) { }\n }\n\n /**\n * Dispatch submit event for validations exists\n * @param change \n */\n ngOnChanges(change: SimpleChanges) {\n this.countSubmit++\n }\n //onSubmit(form: NgForm) {\n onSubmit() {\n let form = this.formDynamic;\n this.watchValid = true;\n this.watchRequired = true;\n\n if (form.valid) {\n if (!this.validRulesFields(form.controls[\"numeroDoc\"].value.toString(), form.controls[\"celular\"].value.toString(), form.controls[\"email\"].value))\n return false;\n }\n\n if (this.validMinlenghtAllQuestions(form.value) && this.validMaxLengthAllQuestions(form.value) && form.valid) {\n if (this.dataForm.urlSend != \"\" && this.captchaValid) {\n this.http.post<any>(this.dataForm.urlSend, form.value).subscribe((resp) => this.response.emit(resp));\n } else if (form.valid && this.captchaValid) {\n this.summit.emit(form.value);\n }\n }\n }\n\n private findParamBoolean(params: any, idParam: number) {\n let showDescriptionParam = params.find((x) => x.id == idParam);\n return showDescriptionParam != null && showDescriptionParam.value == \"true\";\n }\n\n validRulesFields(numeroDoc: String, numeroCel: String, email: String): boolean {\n // Validaciones para celular en caso de indicativo en Colombia\n let cel = document.getElementById(\"charcelular\");\n let doc = document.getElementById(\"charnumeroDoc\");\n let valOk = true;\n if (this.indicativo == \"+57\" || this.indicativo == \"57\") {\n let stringOrdenado = this.orderString(numeroDoc);\n if (this.nameCompany.toUpperCase() !== 'CLARO') {//claro acepta nro consecutivos\n if (numeroDoc == stringOrdenado) {\n doc.style.borderColor = \"#FF0000\";\n doc.removeAttribute(\"hidden\");\n doc.textContent = \"El numero documento No debe contener caracteres consecutivos\";\n valOk = false;\n\n //this.msgErrorCampo = \"El numero documento No debe contener caracteres consecutivos\";\n //return false;\n }\n }\n if (numeroCel.substring(0, 1) != \"3\") {\n cel.style.borderColor = \"#FF0000\";\n cel.removeAttribute(\"hidden\");\n cel.textContent = \"El primer carácter del celular debe ser 3\";\n valOk = false;\n\n //this.msgErrorCampo = \"El primer carácter del celular debe ser 3\";\n //return false;\n }\n /*\n if (parseInt(numeroCel.substring(0, 3)) > 350) {\n cel.style.borderColor = \"#FF0000\";\n cel.removeAttribute(\"hidden\");\n cel.textContent = \"El prefijo del celular no debe ser mayor a 350\";\n valOk = false;\n //this.msgErrorCampo = \"El prefijo del celular no debe ser mayor a 350\";\n //return false;\n }\n */\n //En caso de que el número se repita, ejemplo 33333333\n let listnumber = numeroDoc.substring(0, 1);\n for (let index = 1; index < numeroDoc.length; index++) {\n listnumber = listnumber + numeroDoc.substring(0, 1);\n }\n\n if (numeroDoc == listnumber) {\n doc.style.borderColor = \"#FF0000\";\n doc.removeAttribute(\"hidden\");\n doc.textContent = \"Caracteres numéricos no se pueden repetirse de manera continua \";\n valOk = false;\n\n //this.msgErrorCampo = \"Caracteres numéricos no se pueden repetirse de manera continua \";\n //return false;\n }\n if (!this.validateNumeroDocumento(numeroDoc)) {\n return false;\n }\n if (!this.validateCelular(numeroCel)) {\n return false;\n }\n\n\n // En caso de que el número se repita, ejemplo 33333333\n let arrayPhoneRepeat = Array.from(String(numeroCel), Number);\n let arrayPhoneOutRepeat = [...new Set(arrayPhoneRepeat)];\n if (arrayPhoneOutRepeat.length == 1) {\n cel.style.borderColor = \"#FF0000\";\n cel.removeAttribute(\"hidden\");\n cel.textContent = \"El número que ingresa no es valido\";\n valOk = false;\n //this.msgErrorCampo = \"El número que ingresa no es valido\";\n //return false;\n }\n } else if (this.indicativo == \"+593\" || this.indicativo == \"593\") {\n if (numeroCel.substring(0, 1) != \"9\") {\n cel.style.borderColor = \"#FF0000\";\n cel.removeAttribute(\"hidden\");\n cel.textContent = \"El primer carácter del celular debe ser 9\";\n valOk = false;\n //this.msgErrorCampo = \"El primer carácter del celular debe ser 9\";\n //return false;\n }\n }\n //se validan los campos por tipo de campo y no por value\n this.dataForm.formQuestions.forEach(formQuestion => {\n switch (formQuestion.question.questionType.id) {\n //se valida campo de tipo email\n case 11:\n valOk = this.emailRulesValidate(formQuestion);\n break;\n }\n });\n\n return valOk;\n }\n\n orderString(value: String) {\n let arrayNumber = [];\n for (let index = 0; index < value.length; index++) {\n arrayNumber.push(parseInt(value.substring(index, index + 1)));\n }\n //ordena el array\n arrayNumber.sort(function (a, b) {\n return a - b;\n });\n let numberOrder = \"\";\n numberOrder = arrayNumber[0];\n for (let index = 1; index < arrayNumber.length; index++) {\n numberOrder = numberOrder + (arrayNumber[0] + index).toString();\n }\n return numberOrder;\n }\n\n validMinlenghtAllQuestions(form: any): boolean {\n for (const item of this.dataForm.formQuestions) {\n if (item.question.questionType.id == 1 || item.question.questionType.id == 2) {\n let minLength = parseInt(item.question.minLength);\n let formValueLength = parseInt(form[item.question.value].toString().length);\n if (minLength > 0 && formValueLength != minLength && formValueLength < minLength) return false;\n }\n }\n return true;\n }\n\n validMaxLengthAllQuestions(form: any): boolean {\n for (const item of this.dataForm.formQuestions) {\n if (item.question.questionType.id == 1 || item.question.questionType.id == 2) {\n let maxLength = parseInt(item.question.maxLength);\n let formValueLength = parseInt(form[item.question.value].toString().length);\n if (maxLength > 0 && formValueLength != maxLength && formValueLength > maxLength) return false;\n }\n }\n return true;\n }\n\n validRequired(form: NgForm, question): Boolean {\n //se deja catch por error no controlable en otro tiempo de ejecucion\n try {\n if (question != undefined && question.value != undefined) {\n if (\n form.controls[question.value] != undefined &&\n form.controls[question.value].errors != null &&\n form.controls[question.value].errors.required\n ) {\n return true;\n }\n }\n } catch (error) { }\n return false;\n }\n\n validMinLength(form: NgForm, question): Boolean {\n //se deja catch por error no controlable en otro tiempo de ejecucion\n try {\n if (question != undefined && question.value != undefined) {\n if (question.minLength > form.controls[question.value].value.toLocaleString().length && question.minLength > 0) {\n return true;\n }\n }\n } catch (error) { }\n return false;\n }\n\n validMaxLength(form: NgForm, question): Boolean {\n //se deja catch por error no controlable en otro tiempo de ejecucion\n try {\n if (question != undefined && question.value != undefined) {\n if (question.maxLength > 0) {\n if (question.maxLength + 1 <= form.controls[question.value].value.toString().replace(/\\./g, '').length) {\n if (!this.formDynamic.controls[question.value].hasError('errorMaxLength')) {\n this.formDynamic.controls[question.value].setErrors({ 'errorMaxLength': true })\n }\n return true;\n }\n }\n }\n } catch (error) { }\n return false;\n }\n\n tycSelection(event) {\n this.viewAuthData.emit(event);\n }\n\n openLabelUrl(event, question) {\n event.preventDefault()\n let tyc = <HTMLInputElement>document.getElementById(\"check\" + question.id);\n tyc.style.color = \"#A3AD32\";\n window.open(question.urllabel, \"_blank\");\n }\n\n cancellKeypress() {\n return false;\n }\n emailRulesValidate(formQuestion) {\n let valOk = true;\n try {\n let hasError = false;\n document.getElementById(formQuestion.question.id).setAttribute(\"hidden\", \"true\");\n let eml = document.getElementById(formQuestion.question.id);\n let email = formQuestion.question.registred;\n if (!hasError) {\n if (formQuestion.question.required && (email == \"\" || email == undefined || email == null)) {\n eml.style.borderColor = \"#FF0000\";\n eml.textContent = \"El correco eléctronico es requerido\";\n eml.removeAttribute(\"hidden\");\n valOk = false;\n hasError = true;\n }\n }\n if (!hasError) {\n if (this.validMinLength(undefined, formQuestion.question)) {\n eml.style.borderColor = \"#FF0000\";\n eml.textContent = \"Debe ser mínimo de \" + formQuestion.question.minLength + \" caracteres\";\n document.getElementById(formQuestion.question.id).removeAttribute(\"hidden\");\n valOk = false;\n hasError = true;\n }\n }\n if (!hasError) {\n if (this.validMaxLength(undefined, formQuestion.question)) {\n eml.style.borderColor = \"#FF0000\";\n eml.textContent = \"Debe ser maximo de \" + formQuestion.question.maxLength + \" caracteres\";\n document.getElementById(formQuestion.question.id).removeAttribute(\"hidden\");\n valOk = false;\n hasError = true;\n }\n }\n if (!hasError) {\n\n const matches = String(email).match(regexType.email.exp);\n if (matches == null) {\n eml.style.borderColor = \"#FF0000\";\n eml.textContent = \"Tu email es invalido\";\n eml.removeAttribute(\"hidden\");\n valOk = false;\n hasError = true;\n }\n }\n\n } catch (error) {\n\n }\n return valOk;\n }\n\n calendarRulesValidate(formQuestion) {\n let hasError = false;\n try {\n document.getElementById(formQuestion.question.id).setAttribute(\"hidden\", \"true\");\n let ecalendar = document.getElementById(formQuestion.question.id);\n //se valida que no sea null si es requerido\n let date = formQuestion.question.registred;\n if (formQuestion.question.required && (date == \"\" || date == undefined || date == null)) {\n ecalendar.style.borderColor = \"#FF0000\";\n ecalendar.textContent = \"La fecha es requerida\";\n ecalendar.removeAttribute(\"hidden\");\n }\n } catch (error) {\n\n }\n }\n\n validateNotSpace(event) {\n if (event.charCode == 32) {\n return false;\n } else {\n return true;\n }\n }\n validateNumeroDocumento(numeroDoc: String) {\n if (!numeroDoc.match(\"^[0-9]*$\")) {\n this.formDynamic.controls[\"numeroDoc\"].setValidators([Validators.pattern('^[0-9]*$')]);\n this.formDynamic.controls[\"numeroDoc\"].markAsDirty();\n this.formDynamic.controls[\"numeroDoc\"].updateValueAndValidity();\n this.formDynamic.controls[\"numeroDoc\"].markAsTouched();\n this.patternNotValidDcto = true;\n return false;\n }\n this.patternNotValidDcto = false;\n return true;\n }\n validateCelular(numeroCel: String) {\n if (!numeroCel.match(\"^[0-9]*$\")) {\n this.formDynamic.controls[\"celular\"].setValidators([Validators.pattern('^[0-9]*$')]);\n this.formDynamic.controls[\"celular\"].markAsDirty();\n this.formDynamic.controls[\"celular\"].updateValueAndValidity();\n this.formDynamic.controls[\"celular\"].markAsTouched();\n this.patternNotValidCel = true;\n return false;\n }\n this.patternNotValidCel = false;\n return true;\n }\n\n onkeypress(event) {\n return (event.charCode == 0) ? null : event.charCode >= 48 && event.charCode <= 57\n }\n\n onChangeStep(step: Step, nextStep: Step, value) {\n if (nextStep && nextStep.stepOrder != 1) {\n this.resetField(step);\n nextStep.viewData = [];\n nextStep.viewData = nextStep.stepData.filter(x => x.relationalIds.includes(Number(value)));\n\n }\n }\n resetField(stepIn: Step) {\n this.steps.forEach(step => {\n if (step.stepOrder > stepIn.stepOrder) {\n step.viewData = undefined;\n step.value = undefined;\n }\n });\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from \"rxjs\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class CommonTemplateService {\n constructor(private http: HttpClient) { }\n getTemplate(idCompany,url): Observable<any> {\n return this.http.get<any>(`${url}/template/findByCompany/` + idCompany)\n }\n reloadStylePage(currentDocument: Document, templateCompany) {\n let objects = (<HTMLCollection>currentDocument.getElementsByClassName(\"template\"));\n // debugger\n for (let index = 0; index < objects.length; index++) {\n const item = objects[index];\n let itemClassName = typeof (item.className) == \"object\" ? item.className['baseVal'] : item.className\n let indexStart = itemClassName.indexOf(\"template\")\n // let keyString = itemClassName.substring(indexStart, itemClassName.length).split(' ')[1]\n const keysString = itemClassName.substring(indexStart, itemClassName.length).split(' ').filter(a => a.indexOf('tmp_') !== -1);\n\n for (let keyString of keysString) {\n if (templateCompany[keyString] != undefined) {\n if (keyString.includes(\"tmp_type_text_\")) {\n\n if (keyString.includes('tmp_type_text_6')) {\n item['style'].setProperty('--' + keyString, templateCompany[keyString].color)\n } else {\n item[\"style\"].color = templateCompany[keyString].color\n\n if(itemClassName.includes(\"ratting-faces-v2\"))\n {\n item[\"style\"].backgroundColor = templateCompany[keyString].color;\n item[\"style\"].borderColor = templateCompany[keyString].color;\n item[\"style\"].color = \"white\"\n }\n }\n }\n\n if (keyString.includes(\"title1\")) {\n /*item[\"style\"].color = templateCompany[keyString].color*/\n item[\"style\"].color = \"#EE7E0E\";\n }\n\n if (keyString.includes(\"tmp_type_svg_\")) {\n item[\"style\"].fill = templateCompany[keyString].fill\n }\n\n if (keyString.includes(\"tmp_type_img_\")) {\n if (item.nodeName == \"IMG\") {\n item[\"src\"] = templateCompany[keyString].src;\n }\n else {\n item[\"style\"].background = templateCompany[keyString].background;\n item[\"style\"].backgroundSize = templateCompany[keyString].backgroundSize;\n }\n }\n\n if (keyString.includes(\"tmp_type_head_\")) {\n item[\"style\"].setProperty('--' + keyString, templateCompany[keyString].color)\n }\n\n if (keyString.includes(\"tmp_type_footer_\")) {\n // debugger\n item[\"style\"].setProperty('--' + keyString, templateCompany[keyString].color)\n }\n\n if (itemClassName.includes(\"tmp_type_cnt_\")) {\n indexStart = itemClassName.indexOf(\"tmp_type_cnt_\")\n keyString = itemClassName.substring(indexStart, itemClassName.length).split(' ')[0]\n if (!!templateCompany[keyString]) {\n item[\"style\"].backgroundColor = templateCompany[keyString].backgroundColor\n }\n }\n\n if (keyString.includes('tmp_type_font_')) {\n item['style'].setProperty('font-family', templateCompany[keyString]['font-family'], 'important');\n }\n }\n }\n }\n }\n}\n","export class Fill {\n id: number\n value: string\n type: number\n data: string\n}\n","import { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { RecaptchaModule, RecaptchaFormsModule } from 'ng-recaptcha';\nimport { FormAuroraComponent } from '../public-api';\n\n\n@NgModule({\n declarations: [FormAuroraComponent],\n imports: [\n CommonModule,\n FormsModule, \n RecaptchaModule,\n RecaptchaFormsModule \n ],\n exports: [FormAuroraComponent]\n})\nexport class FormAuroraModule { }","/*\n * Public API Surface of form-aurora\n */\nexport * from './lib/Components/from-aurora/form-aurora.component'\nexport * from './lib/services/TemplateService';\nexport * from './lib/services/data.service';\nexport * from './lib/utils/regex';\nexport * from './lib/Models/fill';\nexport * from './lib/form-aurora.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["tslib_1.__extends","tslib_1.__values","tslib_1.__decorate"],"mappings":"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"}
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "form-aurora-stefanini",
3
- "version": "0.1.13",
3
+ "version": "0.1.16",
4
4
  "license": "Stefanini Colombia",
5
5
  "author": {
6
6
  "name": "Stefanini Colombia",
@@ -1,120 +0,0 @@
1
- import * as tslib_1 from "tslib";
2
- import { Injectable } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- let Offusqued = class Offusqued {
5
- constructor() {
6
- this.dataMap = new Map();
7
- this.dataMap.set('A', '2,');
8
- this.dataMap.set('J', '29,');
9
- this.dataMap.set('S', '67,');
10
- this.dataMap.set('B', '3,');
11
- this.dataMap.set('K', '31,');
12
- this.dataMap.set('T', '71,');
13
- this.dataMap.set('C', '5,');
14
- this.dataMap.set('L', '37,');
15
- this.dataMap.set('U', '73,');
16
- this.dataMap.set('D', '7,');
17
- this.dataMap.set('M', '41,');
18
- this.dataMap.set('V', '79,');
19
- this.dataMap.set('E', '11,');
20
- this.dataMap.set('N', '43,');
21
- this.dataMap.set('W', '83,');
22
- this.dataMap.set('F', '13,');
23
- this.dataMap.set('O', '47,');
24
- this.dataMap.set('X', '89,');
25
- this.dataMap.set('G', '17,');
26
- this.dataMap.set('P', '53,');
27
- this.dataMap.set('Y', '97,');
28
- this.dataMap.set('H', '19,');
29
- this.dataMap.set('Q', '59,');
30
- this.dataMap.set('Z', '101,');
31
- this.dataMap.set('I', '23,');
32
- this.dataMap.set('R', '61,');
33
- this.dataMap.set('a', '103,');
34
- this.dataMap.set('j', '151,');
35
- this.dataMap.set('s', '157,');
36
- this.dataMap.set('b', '107,');
37
- this.dataMap.set('k', '163,');
38
- this.dataMap.set('t', '167,');
39
- this.dataMap.set('c', '109,');
40
- this.dataMap.set('l', '173,');
41
- this.dataMap.set('u', '179,');
42
- this.dataMap.set('d', '113,');
43
- this.dataMap.set('m', '181,');
44
- this.dataMap.set('v', '191,');
45
- this.dataMap.set('e', '127,');
46
- this.dataMap.set('n', '193,');
47
- this.dataMap.set('w', '227,');
48
- this.dataMap.set('f', '132,');
49
- this.dataMap.set('o', '197,');
50
- this.dataMap.set('x', '229,');
51
- this.dataMap.set('g', '137,');
52
- this.dataMap.set('p', '199,');
53
- this.dataMap.set('y', '233,');
54
- this.dataMap.set('h', '139,');
55
- this.dataMap.set('q', '211,');
56
- this.dataMap.set('z', '239,');
57
- this.dataMap.set('i', '149,');
58
- this.dataMap.set('r', '223,');
59
- this.dataMap.set('0', 'Z,');
60
- this.dataMap.set('1', 'Y,');
61
- this.dataMap.set('2', 'X,');
62
- this.dataMap.set('3', 'W,');
63
- this.dataMap.set('4', 'V,');
64
- this.dataMap.set('5', 'U,');
65
- this.dataMap.set('6', 'T,');
66
- this.dataMap.set('7', 'S,');
67
- this.dataMap.set('8', 'R,');
68
- this.dataMap.set('9', 'Q,');
69
- this.dataMap.set(',', '&');
70
- this.dataMap.set('{', '1000,');
71
- this.dataMap.set('}', '0000,');
72
- }
73
- ofusquedData(data) {
74
- let responce = '';
75
- const ofusquedData = data.toString().split('');
76
- // tslint:disable-next-line:prefer-for-of
77
- for (let i = 0; i < ofusquedData.length; i++) {
78
- const letter = ofusquedData[i].toString();
79
- if (this.dataMap.has(letter)) {
80
- responce += this.dataMap.get(letter).toString();
81
- }
82
- else {
83
- responce += letter + ',';
84
- }
85
- }
86
- return responce;
87
- }
88
- decodeOfusquedData(data) {
89
- let respoce = '';
90
- const arrayData = data.split(',');
91
- // tslint:disable-next-line:prefer-for-of
92
- for (let i = 0; i < arrayData.length; i++) {
93
- respoce += this.readValueInMap(arrayData[i]);
94
- }
95
- // @ts-ignore
96
- return respoce.replaceAll('&', ',');
97
- }
98
- readValueInMap(data) {
99
- let respoce = '';
100
- let status = true;
101
- this.dataMap.forEach((value, key) => {
102
- if (data + ',' === value) {
103
- respoce = key;
104
- status = false;
105
- }
106
- });
107
- if (status) {
108
- respoce = data;
109
- }
110
- return respoce;
111
- }
112
- };
113
- Offusqued.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function Offusqued_Factory() { return new Offusqued(); }, token: Offusqued, providedIn: "root" });
114
- Offusqued = tslib_1.__decorate([
115
- Injectable({
116
- providedIn: 'root',
117
- })
118
- ], Offusqued);
119
- export { Offusqued };
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmdXNxdWVkLmpzIiwic291cmNlUm9vdCI6Im5nOi8vZm9ybS1hdXJvcmEtc3RlZmFuaW5pLyIsInNvdXJjZXMiOlsibGliL3V0aWxzL09mZnVzcXVlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFLekMsSUFBYSxTQUFTLEdBQXRCLE1BQWEsU0FBUztJQUdsQjtRQUZRLFlBQU8sR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztRQUd4QyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTdCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxD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UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0osQ0FBQTs7QUFqSFksU0FBUztJQUhyQixVQUFVLENBQUM7UUFDUixVQUFVLEVBQUUsTUFBTTtLQUNyQixDQUFDO0dBQ1csU0FBUyxDQWlIckI7U0FqSFksU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE9mZnVzcXVlZCB7XG4gICAgcHJpdmF0ZSBkYXRhTWFwID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmRhdGFNYXAuc2V0KCdBJywgJzIsJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ0onLCAnMjksJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ1MnLCAnNjcsJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ0InLCAnMywnKTtcbiAgICAgICAgdGhpcy5kYXRhTWFwLnNldCgnSycsICczMSwnKTtcbiAgICAgICAgdGhpcy5kYXRhTWFwLnNldCgnVCcsICc3MSwnKTtcbiAgICAgICAgdGhpcy5kYXRhTWFwLnNldCgnQycsICc1LCcpO1xuICAgICAgICB0aGlzLmRhdGFNYXAuc2V0KCdMJywgJzM3LCcpO1xuICAgICAgICB0aGlzLmRhdGFNYXAuc2V0KCdVJywgJzczLCcpO1xuICAgICAgICB0aGlzLmRhdGFNYXAuc2V0KCdEJywgJzcsJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ00nLCAnNDEsJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ1YnLCAnNzksJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ0UnLCAnMTEsJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ04nLCAnNDMsJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ1cnLCAnODMsJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ0YnLCAnMTMsJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ08nLCAnNDcsJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ1gnLCAnODksJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ0cnLCAnMTcsJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ1AnLCAnNTMsJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ1knLCAnOTcsJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ0gnLCAnMTksJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ1EnLCAnNTksJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ1onLCAnMTAxLCcpO1xuICAgICAgICB0aGlzLmRhdGFNYXAuc2V0KCdJJywgJzIzLCcpO1xuICAgICAgICB0aGlzLmRhdGFNYXAuc2V0KCdSJywgJzYxLCcpO1xuXG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ2EnLCAnMTAzLCcpO1xuICAgICAgICB0aGlzLmRhdGFNYXAuc2V0KCdqJywgJzE1MSwnKTtcbiAgICAgICAgdGhpcy5kYXRhTWFwLnNldCgncycsICcxNTcsJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ2InLCAnMTA3LCcpO1xuICAgICAgICB0aGlzLmRhdGFNYXAuc2V0KCdrJywgJzE2MywnKTtcbiAgICAgICAgdGhpcy5kYXRhTWFwLnNldCgndCcsICcxNjcsJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ2MnLCAnMTA5LCcpO1xuICAgICAgICB0aGlzLmRhdGFNYXAuc2V0KCdsJywgJzE3MywnKTtcbiAgICAgICAgdGhpcy5kYXRhTWFwLnNldCgndScsICcxNzksJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ2QnLCAnMTEzLCcpO1xuICAgICAgICB0aGlzLmRhdGFNYXAuc2V0KCdtJywgJzE4MSwnKTtcbiAgICAgICAgdGhpcy5kYXRhTWFwLnNldCgndicsICcxOTEsJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ2UnLCAnMTI3LCcpO1xuICAgICAgICB0aGlzLmRhdGFNYXAuc2V0KCduJywgJzE5MywnKTtcbiAgICAgICAgdGhpcy5kYXRhTWFwLnNldCgndycsICcyMjcsJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ2YnLCAnMTMyLCcpO1xuICAgICAgICB0aGlzLmRhdGFNYXAuc2V0KCdvJywgJzE5NywnKTtcbiAgICAgICAgdGhpcy5kYXRhTWFwLnNldCgneCcsICcyMjksJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ2cnLCAnMTM3LCcpO1xuICAgICAgICB0aGlzLmRhdGFNYXAuc2V0KCdwJywgJzE5OSwnKTtcbiAgICAgICAgdGhpcy5kYXRhTWFwLnNldCgneScsICcyMzMsJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ2gnLCAnMTM5LCcpO1xuICAgICAgICB0aGlzLmRhdGFNYXAuc2V0KCdxJywgJzIxMSwnKTtcbiAgICAgICAgdGhpcy5kYXRhTWFwLnNldCgneicsICcyMzksJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ2knLCAnMTQ5LCcpO1xuICAgICAgICB0aGlzLmRhdGFNYXAuc2V0KCdyJywgJzIyMywnKTtcblxuICAgICAgICB0aGlzLmRhdGFNYXAuc2V0KCcwJywgJ1osJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJzEnLCAnWSwnKTtcbiAgICAgICAgdGhpcy5kYXRhTWFwLnNldCgnMicsICdYLCcpO1xuICAgICAgICB0aGlzLmRhdGFNYXAuc2V0KCczJywgJ1csJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJzQnLCAnViwnKTtcbiAgICAgICAgdGhpcy5kYXRhTWFwLnNldCgnNScsICdVLCcpO1xuICAgICAgICB0aGlzLmRhdGFNYXAuc2V0KCc2JywgJ1QsJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJzcnLCAnUywnKTtcbiAgICAgICAgdGhpcy5kYXRhTWFwLnNldCgnOCcsICdSLCcpO1xuICAgICAgICB0aGlzLmRhdGFNYXAuc2V0KCc5JywgJ1EsJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJywnLCAnJicpO1xuICAgICAgICB0aGlzLmRhdGFNYXAuc2V0KCd7JywgJzEwMDAsJyk7XG4gICAgICAgIHRoaXMuZGF0YU1hcC5zZXQoJ30nLCAnMDAwMCwnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb2Z1c3F1ZWREYXRhKGRhdGE6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGxldCByZXNwb25jZSA9ICcnO1xuICAgICAgICBjb25zdCBvZnVzcXVlZERhdGEgPSBkYXRhLnRvU3RyaW5nKCkuc3BsaXQoJycpO1xuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6cHJlZmVyLWZvci1vZlxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG9mdXNxdWVkRGF0YS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgbGV0dGVyID0gb2Z1c3F1ZWREYXRhW2ldLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICBpZiAodGhpcy5kYXRhTWFwLmhhcyhsZXR0ZXIpKSB7XG4gICAgICAgICAgICAgICAgcmVzcG9uY2UgKz0gdGhpcy5kYXRhTWFwLmdldChsZXR0ZXIpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc3BvbmNlICs9IGxldHRlciArICcsJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uY2U7XG4gICAgfVxuXG4gICAgcHVibGljICBkZWNvZGVPZnVzcXVlZERhdGEoZGF0YTogc3RyaW5nKTogc3RyaW5nICB7XG4gICAgICAgIGxldCByZXNwb2NlID0gJyc7XG4gICAgICAgIGNvbnN0IGFycmF5RGF0YSA9IGRhdGEuc3BsaXQoJywnKTtcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnByZWZlci1mb3Itb2ZcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJheURhdGEubGVuZ3RoOyBpKysgKSB7XG4gICAgICAgICAgIHJlc3BvY2UgKz0gIHRoaXMucmVhZFZhbHVlSW5NYXAoYXJyYXlEYXRhW2ldKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHJldHVybiByZXNwb2NlLnJlcGxhY2VBbGwoJyYnLCAnLCcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVhZFZhbHVlSW5NYXAoZGF0YTogc3RyaW5nICk6IHN0cmluZyB7XG4gICAgICBsZXQgcmVzcG9jZSA9ICcnO1xuICAgICAgbGV0IHN0YXR1cyA9IHRydWU7XG4gICAgICB0aGlzLmRhdGFNYXAuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgICAgIGlmICggZGF0YSArICcsJyA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgICAgcmVzcG9jZSA9IGtleTtcbiAgICAgICAgICAgICAgc3RhdHVzID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpZiAoc3RhdHVzKSB7XG4gICAgICAgICAgcmVzcG9jZSA9IGRhdGE7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzcG9jZTtcbiAgICB9XG59XG4iXX0=