form-aurora-stefanini 0.1.7 → 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/form-aurora-stefanini.umd.js +1 -20
 - package/bundles/form-aurora-stefanini.umd.js.map +1 -1
 - package/bundles/form-aurora-stefanini.umd.min.js +1 -1
 - package/bundles/form-aurora-stefanini.umd.min.js.map +1 -1
 - package/esm2015/lib/Components/from-aurora/form-aurora.component.js +2 -24
 - package/esm5/lib/Components/from-aurora/form-aurora.component.js +2 -21
 - package/fesm2015/form-aurora-stefanini.js +1 -23
 - package/fesm2015/form-aurora-stefanini.js.map +1 -1
 - package/fesm5/form-aurora-stefanini.js +1 -20
 - package/fesm5/form-aurora-stefanini.js.map +1 -1
 - package/form-aurora-stefanini.metadata.json +1 -1
 - package/lib/Components/from-aurora/form-aurora.component.d.ts +1 -11
 - package/package.json +2 -5
 
| 
         @@ -141,9 +141,6 @@ var CommonDataService = /** @class */ (function () { 
     | 
|
| 
       141 
141 
     | 
    
         
             
            }());
         
     | 
| 
       142 
142 
     | 
    
         | 
| 
       143 
143 
     | 
    
         
             
            var moment = moment_;
         
     | 
| 
       144 
     | 
    
         
            -
            // import { regexType } from "@app/_shared/_util/regex";
         
     | 
| 
       145 
     | 
    
         
            -
            // import { ExternalService } from '@app/_shared/_services/external.service';
         
     | 
| 
       146 
     | 
    
         
            -
            // import { AuroraService } from '@app/_shared/_services/aurora.service';
         
     | 
| 
       147 
144 
     | 
    
         
             
            /**
         
     | 
| 
       148 
145 
     | 
    
         
             
             * This Service handles how the date is represented in scripts i.e. ngModel.
         
     | 
| 
       149 
146 
     | 
    
         
             
             */
         
     | 
| 
         @@ -166,7 +163,6 @@ var CustomAdapter = /** @class */ (function (_super) { 
     | 
|
| 
       166 
163 
     | 
    
         
             
                    return null;
         
     | 
| 
       167 
164 
     | 
    
         
             
                };
         
     | 
| 
       168 
165 
     | 
    
         
             
                CustomAdapter.prototype.toModel = function (date) {
         
     | 
| 
       169 
     | 
    
         
            -
                    //return date ? date.day + this.DELIMITER + date.month + this.DELIMITER + date.year : null;
         
     | 
| 
       170 
166 
     | 
    
         
             
                    return date ? (date.day < 10 ? 0 + date.day : date.day) + this.DELIMITER + (date.month < 10 ? 0 + date.month : date.month) + this.DELIMITER + date.year : '';
         
     | 
| 
       171 
167 
     | 
    
         
             
                };
         
     | 
| 
       172 
168 
     | 
    
         
             
                CustomAdapter = __decorate([
         
     | 
| 
         @@ -263,24 +259,15 @@ var FormAuroraComponent = /** @class */ (function () { 
     | 
|
| 
       263 
259 
     | 
    
         
             
                    this.summit = new EventEmitter();
         
     | 
| 
       264 
260 
     | 
    
         
             
                    this.viewAuthData = new EventEmitter();
         
     | 
| 
       265 
261 
     | 
    
         
             
                    this.tipodocNumDoc = false;
         
     | 
| 
       266 
     | 
    
         
            -
                    this.onSubmitEvent = false;
         
     | 
| 
       267 
262 
     | 
    
         
             
                    this.countSubmit = 0;
         
     | 
| 
       268 
263 
     | 
    
         
             
                    this.watchValid = false;
         
     | 
| 
       269 
264 
     | 
    
         
             
                    this.watchRequired = false;
         
     | 
| 
       270 
265 
     | 
    
         
             
                    this.captchaValid = false;
         
     | 
| 
       271 
     | 
    
         
            -
                    this.displayMonths = 2;
         
     | 
| 
       272 
     | 
    
         
            -
                    this.navigation = 'select';
         
     | 
| 
       273 
     | 
    
         
            -
                    this.showWeekNumbers = false;
         
     | 
| 
       274 
     | 
    
         
            -
                    this.outsideDays = 'visible';
         
     | 
| 
       275 
     | 
    
         
            -
                    this.respServiceSegmentation = null;
         
     | 
| 
       276 
     | 
    
         
            -
                    this.base64CheckAuthData = undefined;
         
     | 
| 
       277 
     | 
    
         
            -
                    //emailPattern = "^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$";
         
     | 
| 
       278 
266 
     | 
    
         
             
                    this.today = moment(new Date());
         
     | 
| 
       279 
267 
     | 
    
         
             
                    this.maxYear = this.today.year();
         
     | 
| 
       280 
268 
     | 
    
         
             
                    this.minYear = this.today.year() - 82;
         
     | 
| 
       281 
269 
     | 
    
         
             
                    this.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()};
         
     | 
| 
       282 
270 
     | 
    
         
             
                    this.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()};
         
     | 
| 
       283 
     | 
    
         
            -
                    //Revisar variables
         
     | 
| 
       284 
271 
     | 
    
         
             
                    this.recharge = false;
         
     | 
| 
       285 
272 
     | 
    
         
             
                    this.indicativo = "57";
         
     | 
| 
       286 
273 
     | 
    
         
             
                    this.defaultDocType = "Cédula de ciudadanía";
         
     | 
| 
         @@ -840,9 +827,6 @@ var FormAuroraComponent = /** @class */ (function () { 
     | 
|
| 
       840 
827 
     | 
    
         
             
                __decorate([
         
     | 
| 
       841 
828 
     | 
    
         
             
                    Input()
         
     | 
| 
       842 
829 
     | 
    
         
             
                ], FormAuroraComponent.prototype, "isSimpleFlow", void 0);
         
     | 
| 
       843 
     | 
    
         
            -
                __decorate([
         
     | 
| 
       844 
     | 
    
         
            -
                    Input()
         
     | 
| 
       845 
     | 
    
         
            -
                ], FormAuroraComponent.prototype, "company", void 0);
         
     | 
| 
       846 
830 
     | 
    
         
             
                __decorate([
         
     | 
| 
       847 
831 
     | 
    
         
             
                    Input()
         
     | 
| 
       848 
832 
     | 
    
         
             
                ], FormAuroraComponent.prototype, "steps", void 0);
         
     | 
| 
         @@ -858,13 +842,10 @@ var FormAuroraComponent = /** @class */ (function () { 
     | 
|
| 
       858 
842 
     | 
    
         
             
                __decorate([
         
     | 
| 
       859 
843 
     | 
    
         
             
                    Output()
         
     | 
| 
       860 
844 
     | 
    
         
             
                ], FormAuroraComponent.prototype, "viewAuthData", void 0);
         
     | 
| 
       861 
     | 
    
         
            -
                __decorate([
         
     | 
| 
       862 
     | 
    
         
            -
                    ViewChild("modalTurns", { static: false })
         
     | 
| 
       863 
     | 
    
         
            -
                ], FormAuroraComponent.prototype, "myModal", void 0);
         
     | 
| 
       864 
845 
     | 
    
         
             
                FormAuroraComponent = __decorate([
         
     | 
| 
       865 
846 
     | 
    
         
             
                    Component({
         
     | 
| 
       866 
847 
     | 
    
         
             
                        selector: 'lib-FormAurora',
         
     | 
| 
       867 
     | 
    
         
            -
                        template: "<div class=\"card\">\r\n    <span class=\"text-center mt-2 d-none d-sm-block\" *ngIf=\"!isSimpleFlow\">\r\n        <img style=\"width: 115px; height:96px;\" [class]=\"dataClassCss.logo\" id=\"logo\">\r\n      </span>\r\n      <div class=\"text-center mt-2 d-none d-sm-block\" *ngIf=\"isSimpleFlow\" style=\"margin-top: 4%!important;\">\r\n      </div>\r\n  <div class=\"card-body pt-0\">\r\n      <ng-container *ngIf=\"schedule\">\r\n          <h4 class=\"card-title text-center mb-0\" [class]=\"dataClassCss.bienvenida2\" style=\"color: #EE7E0E;\">\r\n              Horarios de atenci\u00F3n\r\n          </h4>\r\n          <small class=\"text-center d-block\">{{schedule}}</small>\r\n      </ng-container>\r\n      <form #formDynamic=\"ngForm\">\r\n          <div *ngFor=\"let control of dataForm?.formQuestions; let index = index; trackBy: trackByIndex\">\r\n              <div\r\n                  *ngIf=\"(index > 0 && (dataForm.formQuestions[index - 1].question.questionType.id == 3 && dataForm.formQuestions[index].question.questionType.id == 2)) || (index < dataForm.formQuestions.length && dataForm.formQuestions[index].question.questionType.id == 3 && dataForm.formQuestions[index + 1].question.questionType.id == 2); else switchTemp\">\r\n                  <div class=\"row\"\r\n                      *ngIf=\"(index > 0 && (dataForm.formQuestions[index - 1].question.questionType.id == 3 && dataForm.formQuestions[index].question.questionType.id == 2))\">\r\n                      <div class=\"col-lg-6 col-xs-12\">\r\n                          <div [class]=\"dataClassCss.cl12\">\r\n                              <label for=\"{{dataForm.formQuestions[index - 1].question.value}}\" class=\"col-sm-12\"\r\n                                  style=\"display: block; text-align: left;\">\r\n                                  <span class=\"h6 small bg-white text-muted\">{{dataForm.formQuestions[index -\r\n                                      1].question.label}}</span>\r\n                              </label>\r\n                              <div class=\"selectContainer\">\r\n                                  <select [name]=\"dataForm.formQuestions[index - 1].question.value\"\r\n                                      [required]=\"dataForm.formQuestions[index - 1].question.required\"\r\n                                      [class]=\"dataClassCss.formcontrol\"\r\n                                      id=\"{{dataForm.formQuestions[index - 1].question.value}}\"\r\n                                      style=\"margin-top: -1rem !important;\"\r\n                                      [(ngModel)]=\"defaultDocType !== '' ? defaultDocType : dataForm.formQuestions[index - 1].question.registred\">\r\n                                      <option value=\"\" selected disabled hidden>Selecciona</option>\r\n                                      <ng-container\r\n                                          *ngFor=\"let item of dataForm.formQuestions[index - 1].question.questionAnswers\">\r\n                                          <option *ngIf=\"item.answer.state.id == 1\" [value]=\"item.answer.value\">\r\n                                              {{ item.answer.field }}\r\n                                          </option>\r\n                                      </ng-container>\r\n                                  </select>\r\n                              </div>\r\n                          </div>\r\n                          <div style=\"margin-left: 15px;\"\r\n                              *ngIf=\"dataForm.formQuestions[index].question.questionType.id != 5 && dataForm.formQuestions[index].question.questionType.id != 6\">\r\n                              <span class=\"error\" [id]=\"'char'+dataForm.formQuestions[index-1].question.value\"\r\n                                  hidden></span>\r\n                          </div>\r\n                      </div>\r\n                      <div class=\"col-lg-6 col-xs-12\">\r\n                          <div [class]=\"dataClassCss.cl12\">\r\n                              <label for=\"{{dataForm.formQuestions[index].question.value}}\"\r\n                                  class=\"col-sm-12 p-sm-0 px-sm-1\" style=\"display: block; text-align: left;\">\r\n                                  <span\r\n                                      class=\"h6 small bg-white text-muted pt-1 pl-2 pr-2\">{{dataForm.formQuestions[index].question.label}}</span>\r\n                              </label>\r\n                              <input type=\"text\" pattern=\"\\d*\" inputmode=\"numeric\"\r\n                                  id=\"{{dataForm.formQuestions[index].question.value}}\"\r\n                                  style=\"margin-top: -1rem !important;\"\r\n                                  [name]=\"dataForm.formQuestions[index].question.value\" placeholder=\"Escribe\"\r\n                                  [required]=\"dataForm.formQuestions[index].question.required\"\r\n                                  (change)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                  (blur)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                  (keyup)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                  onkeypress=\"onkeypress($event)\"\r\n                                  onkeyup=\"(this.value=(value.replace(/[.]*/g,'')))\"\r\n                                  maxlength=\"dataForm.formQuestions[index].question.maxLength\"\r\n                                  [minLength]=\"dataForm.formQuestions[index].question.minLength\"\r\n                                  [(ngModel)]=\"dataForm.formQuestions[index].question.registred\"\r\n                                  [class]=\"dataClassCss.formcontrol\" />\r\n\r\n                          </div>\r\n\r\n                          <div style=\"margin-left: 15px;\"\r\n                              *ngIf=\"dataForm.formQuestions[index].question.questionType.id != 5 && dataForm.formQuestions[index].question.questionType.id != 6\">\r\n                              <span class=\"error\" [id]=\"'rq'+dataForm.formQuestions[index].question.value\"\r\n                                  *ngIf=\"validRequired(formDynamic,dataForm.formQuestions[index].question) && watchValid\">\r\n                                  Este campo es obligatorio</span>\r\n                              <span class=\"error\" [id]=\"'ml'+dataForm.formQuestions[index].question.value\" hidden>\r\n                                  Debe ser m\u00EDnimo de\r\n                                  {{ dataForm.formQuestions[index].question.minLength }} caracteres</span>\r\n                              <span class=\"error\" [id]=\"'mxl'+dataForm.formQuestions[index].question.value\" hidden>\r\n                                  Debe ser maximo de\r\n                                  {{ dataForm.formQuestions[index].question.maxLength }} caracteres</span>\r\n                              <span class=\"error\" [id]=\"'char'+dataForm.formQuestions[index].question.value\"\r\n                                  hidden></span>\r\n                              <span *ngIf=\"patternNotValidDcto === true\" class=\"error\">Formato no valido</span>\r\n                          </div>\r\n                      </div>\r\n                  </div>\r\n              </div>\r\n\r\n              <ng-template #switchTemp>\r\n                  <div [ngSwitch]=\"dataForm.formQuestions[index].question.questionType.id\">\r\n                      <div *ngSwitchCase=\"1\">\r\n                          <div [class]=\"dataClassCss.cl12\">\r\n                              <label for=\"{{dataForm.formQuestions[index].question.value}}\" class=\"col-sm-12\"\r\n                                  style=\"display: block; text-align: left; \">\r\n                                  <span\r\n                                      class=\"h6 small bg-white text-muted pt-1 pl-2 pr-2\">{{dataForm.formQuestions[index].question.label}}</span>\r\n                              </label>\r\n                              <input type=\"text\" id=\"{{dataForm.formQuestions[index].question.value}}\"\r\n                                  [class]=\"dataClassCss.formcontrol\" placeholder=\"Escribe\"\r\n                                  [required]=\"dataForm.formQuestions[index].question.required\"\r\n                                  [maxlength]=\"dataForm.formQuestions[index].question.maxLength\"\r\n                                  [name]=\"dataForm.formQuestions[index].question.value\"\r\n                                  (keydown)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                  (change)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                  (blur)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                  [(ngModel)]=\"dataForm.formQuestions[index].question.registred\"\r\n                                  style=\"margin-top: -1rem !important;\" />\r\n                          </div>\r\n                      </div>\r\n                      <div *ngSwitchCase=\"2\">\r\n\r\n                          <div [class]=\"dataClassCss.cl12\">\r\n                              <label for=\"{{dataForm.formQuestions[index].question.value}}\" class=\"col-sm-12\"\r\n                                  style=\"display: block; text-align: left;\">\r\n                                  <span\r\n                                      class=\"h6 small bg-white text-muted pt-1 pl-2 pr-2\">{{dataForm.formQuestions[index].question.label}}</span>\r\n                              </label>\r\n                              <input type=\"text\" pattern=\"\\d*\" inputmode=\"numeric\"\r\n                                  id=\"{{dataForm.formQuestions[index].question.value}}\"\r\n                                  style=\"margin-top: -1rem !important;\"\r\n                                  [name]=\"dataForm.formQuestions[index].question.value\" placeholder=\"Escribe\"\r\n                                  [required]=\"dataForm.formQuestions[index].question.required\"\r\n                                  (keydown)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                  (change)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                  (blur)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                  onkeypress=\"onkeypress($event)\"\r\n                                  onkeyup=\"(this.value=(value.replace(/[.]*/g,'')))\"\r\n                                  maxlength=\"dataForm.formQuestions[index].question.maxLength\"\r\n                                  [minLength]=\"dataForm.formQuestions[index].question.minLength\"\r\n                                  [(ngModel)]=\"dataForm.formQuestions[index].question.registred\"\r\n                                  [class]=\"dataClassCss.formcontrol\" />\r\n                                  <span *ngIf=\"patternNotValidCel === true\" class=\"error\">Formato no valido</span>\r\n                          </div>\r\n                          \r\n                      </div>\r\n                      <div *ngSwitchCase=\"3\">\r\n                          <div [class]=\"dataClassCss.cl12\">\r\n                              <label for=\"{{dataForm.formQuestions[index].question.value}}\" class=\"col-sm-12\"\r\n                                  style=\"display: block; text-align: left;\">\r\n                                  <span\r\n                                      class=\"h6 small bg-white text-muted\">{{dataForm.formQuestions[index].question.label}}</span>\r\n                              </label>\r\n                              <select [name]=\"dataForm.formQuestions[index].question.value\"\r\n                                  [required]=\"dataForm.formQuestions[index].question.required\"\r\n                                  [class]=\"dataClassCss.formcontrol\"\r\n                                  id=\"{{dataForm.formQuestions[index].question.value}}\"\r\n                                  style=\"margin-top: -1rem !important;\"\r\n                                  [(ngModel)]=\"defaultDocType !== '' ? defaultDocType : dataForm.formQuestions[index].question.registred\">\r\n                                  <option value=\"\" selected disabled hidden>Selecciona</option>\r\n                                  <ng-container\r\n                                      *ngFor=\"let item of dataForm.formQuestions[index].question.questionAnswers\">\r\n                                      <option *ngIf=\"item.answer.state.id == 1\" [value]=\"item.answer.value\">\r\n                                          {{ item.answer.field }}\r\n                                      </option>\r\n                                  </ng-container>\r\n                              </select>\r\n                          </div>\r\n                      </div>\r\n                      <div *ngSwitchCase=\"4\">\r\n                          <select class=\"{{ dataClassCss.formcontrol }} select-checkbox\"\r\n                              style=\"overflow: hidden; border-style: hidden;\"\r\n                              [style.height.px]=\"dataForm.formQuestions[index].question.questionAnswers.length * 24\"\r\n                              [name]=\"dataForm.formQuestions[index].question.value\"\r\n                              [required]=\"dataForm.formQuestions[index].question.required\" ngModel multiple>\r\n                              <option                                  \r\n                                  (mousemove)=\"$event.preventDefault()\"\r\n                                  *ngFor=\"let item of dataForm.formQuestions[index].question.questionAnswers\"\r\n                                  [value]=\"item.answer.value\">\r\n                                  {{ item.answer.field }}\r\n                              </option>\r\n                          </select>\r\n                      </div>\r\n                      <div *ngSwitchCase=\"5\">\r\n                          <a (click)=\"rediretoutside($event,dataForm.formQuestions[index].question)\" href=\"\">\r\n                              <span>{{ dataForm.formQuestions[index].question.label }}</span>\r\n                          </a>\r\n                      </div>\r\n                      <div *ngSwitchCase=\"6\">\r\n                          <div [class]=\"dataClassCss.cl12\" [id]=\"'reCaptcha'\">\r\n                              <div class=\"cnt-captcha\">\r\n                                  <re-captcha (resolved)=\"resolvedCaptcha($event)\"\r\n                                      siteKey=\"6LfQisEZAAAAAARuuKFEAgS-x4qJse5uBA_QCA7v\"></re-captcha>\r\n                                  <input hidden type=\"text\" [name]=\"dataForm.formQuestions[index].question.value\"\r\n                                      [required]=\"dataForm.formQuestions[index].question.required\"\r\n                                      [(ngModel)]=\"dataForm.formQuestions[index].question.registred\">\r\n                              </div>\r\n                              <span class=\"error\" *ngIf=\"watchValid && !captchaValid\" style=\"margin-top: 0;\">\r\n                                  Debe resolver la captcha para continuar\r\n                              </span>\r\n                          </div>\r\n                      </div>\r\n                      <div *ngSwitchCase=\"7\">\r\n                          <div [class]=\"dataClassCss.cl12\">\r\n                              <label for=\"{{dataForm.formQuestions[index].question.value}}\" class=\"col-sm-12\"\r\n                                  style=\"display: block; text-align: left; margin-bottom: 0 ;\">\r\n                                  <span\r\n                                      class=\"h6 small bg-white text-muted pt-1 pl-2 pr-2\">{{dataForm.formQuestions[index].question.label}}</span>\r\n                              </label>\r\n                              <input placeholder=\"dd/mm/aaaa\" style=\"margin-top: -0.4rem !important;\"\r\n                                  [required]=\"dataForm.formQuestions[index].question.required\"\r\n                                  [name]=\"dataForm.formQuestions[index].question.value\" type=\"date\" min=\"{{minDate}}\"\r\n                                  max=\"{{maxDate}}\" [maxlength]=\"10\" (paste)=\"false\"\r\n                                  id=\"{{dataForm.formQuestions[index].question.value}}\"\r\n                                  [class]=\"dataClassCss.txtCalendar\"\r\n                                  [(ngModel)]=\"dataForm.formQuestions[index].question.registred\"\r\n                                  (keydown)=\"cancellKeypress()\"\r\n                                  (change)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                  (blur)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\">\r\n\r\n                              <button class=\"btn\" id=\"{{dataForm.formQuestions[index].question.value}}\" type=\"button\"\r\n                                  style=\"width: 46px;\r\n                                  top: 12px;\r\n                                  color: white;\r\n                                  right: 15px;\r\n                                  position: absolute;\r\n                                  background: #D25D42;\r\n                                  pointer-events: none;\">\r\n                                  <i class=\"fa fa-calendar\"></i>\r\n                              </button>\r\n\r\n                          </div>\r\n                      </div>\r\n                      <div *ngSwitchCase=\"8\">\r\n                          <div [class]=\"dataClassCss.cl12\" style=\"text-align: left; margin-bottom: 10px;\">\r\n                              <input style=\"width: 4% !important; height: auto !important; display: inline !important;\" type=\"checkbox\"\r\n                                  [name]=\"dataForm.formQuestions[index].question.value\"\r\n                                  [required]=\"dataForm.formQuestions[index].question.required\"\r\n                                  [(ngModel)]=\"dataForm.formQuestions[index].question.registred\"\r\n                                  [class]=\"dataClassCss.formcontrol\">\r\n                                  <!-- (change)=\"checkTermsAndConditions(dataForm.formQuestions[index].question.registred)\" -->\r\n                                 \r\n                              <!-- <a href=\"{{urlPdf}}\" target=\"_blank\" style=\"text-decoration: underline;\"\r\n                                  id=\"txtPoliticas\" (click)=\"tycSelection()\">\r\n                                  {{dataForm.formQuestions[index].question.label}}\r\n                              </a> -->\r\n                              <a target=\"_blank\" style=\"text-decoration: underline;color:blue;cursor: pointer;\"\r\n                                  id=\"txtPoliticas\" (click)=\"tycSelection($event)\">\r\n                                  {{dataForm.formQuestions[index].question.label}}\r\n                              </a>\r\n                          </div>\r\n                      </div>\r\n                      <div *ngSwitchCase=\"9\">\r\n                          <div [class]=\"dataClassCss.cl12\">\r\n                              <label for=\"{{dataForm.formQuestions[index].question.value}}\" class=\"col-sm-12\"\r\n                                  style=\"display: block; text-align: left; \">\r\n                                  <span\r\n                                      class=\"h6 small bg-white text-muted pt-1 pl-2 pr-2\">{{dataForm.formQuestions[index].question.label}}</span>\r\n                              </label>\r\n                              <input type=\"text\" id=\"{{dataForm.formQuestions[index].question.value}}\"\r\n                                  [class]=\"dataClassCss.formcontrol\" placeholder=\"Escribe\"\r\n                                  [required]=\"dataForm.formQuestions[index].question.required\"\r\n                                  [maxlength]=\"dataForm.formQuestions[index].question.maxLength\"\r\n                                  [name]=\"dataForm.formQuestions[index].question.value\"\r\n                                  (keydown)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                  (change)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                  (blur)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                  (keypress)=\"validOnlyText($event)\"\r\n                                  [(ngModel)]=\"dataForm.formQuestions[index].question.registred\"\r\n                                  style=\"margin-top: -1rem !important;\" />\r\n                          </div>\r\n                      </div>\r\n                      <div *ngSwitchCase=\"10\">\r\n                        <div [class]=\"dataClassCss.cl12\" style=\"text-align: left; margin-bottom: 10px;\">\r\n                          <input style=\"width: 4% !important; height: auto !important; display: inline !important;\"\r\n                            type=\"checkbox\" [name]=\"dataForm.formQuestions[index].question.value\"\r\n                            [required]=\"dataForm.formQuestions[index].question.required\"\r\n                            [(ngModel)]=\"dataForm.formQuestions[index].question.registred\">\r\n                          <a target=\"_blank\" style=\"text-decoration: underline;color:blue;cursor: pointer;\"\r\n                            id=\"check{{dataForm.formQuestions[index].question.id}}\"\r\n                            (click)=\"openLabelUrl($event,dataForm.formQuestions[index].question)\">\r\n                            {{dataForm.formQuestions[index].question.label}}\r\n                          </a>\r\n                        </div>\r\n                      </div>\r\n                      <div *ngSwitchCase=\"11\">\r\n                          <div [class]=\"dataClassCss.cl12\">\r\n                              <label for=\"{{dataForm.formQuestions[index].question.value}}\" class=\"col-sm-12\"\r\n                                  style=\"display: block; text-align: left; \">\r\n                                  <span\r\n                                      class=\"h6 small bg-white text-muted pt-1 pl-2 pr-2\">{{dataForm.formQuestions[index].question.label}}</span>\r\n                              </label>\r\n                              <input type=\"text\" id=\"{{dataForm.formQuestions[index].question.value}}\"\r\n                                  [class]=\"dataClassCss.formcontrol\" placeholder=\"Escribe\"\r\n                                  [required]=\"dataForm.formQuestions[index].question.required\"\r\n                                  [maxlength]=\"dataForm.formQuestions[index].question.maxLength\"\r\n                                  [name]=\"dataForm.formQuestions[index].question.value\"\r\n                                  (keydown)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                  (change)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                  (blur)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                  (keypress)=\"validateNotSpace($event)\"\r\n                                  [(ngModel)]=\"dataForm.formQuestions[index].question.registred\"\r\n                                  style=\"margin-top: -1rem !important;\" />\r\n                          </div>\r\n                      </div>\r\n                      <div *ngSwitchDefault>Tipo de control no detectado</div>\r\n                      <div style=\"margin-left: 15px;\"\r\n                          *ngIf=\"dataForm.formQuestions[index].question.questionType.id != 5 && dataForm.formQuestions[index].question.questionType.id != 6\">\r\n                          <span class=\"error\" [id]=\"'rq'+dataForm.formQuestions[index].question.value\"\r\n                              *ngIf=\"validRequired(formDynamic,dataForm.formQuestions[index].question) && watchValid\">\r\n                              Este campo es obligatorio</span>\r\n                          <span class=\"error\" [id]=\"'ml'+dataForm.formQuestions[index].question.value\" hidden>\r\n                              Debe ser m\u00EDnimo de\r\n                              {{ dataForm.formQuestions[index].question.minLength }} caracteres</span>\r\n                          <span class=\"error\" [id]=\"'mxl'+dataForm.formQuestions[index].question.value\" hidden>\r\n                              Debe ser maximo de\r\n                              {{ dataForm.formQuestions[index].question.maxLength }} caracteres</span>\r\n                          <span class=\"error\" [id]=\"'char'+dataForm.formQuestions[index].question.value\"\r\n                              hidden></span>\r\n                          <span class=\"error\" [id]=\"dataForm.formQuestions[index].question.id\" hidden></span>\r\n                      </div>\r\n                  </div>\r\n              </ng-template>\r\n          </div>\r\n          <section *ngIf=\"isSimpleFlow\">\r\n            <div *ngFor=\"let step of steps let index = index; trackBy: trackByIndex\">\r\n              <div [class]=\"dataClassCss.cl12\" *ngIf=\"step.viewData\">\r\n                <label for=\"{{step.id}}\" class=\"col-sm-12\" style=\"display: block; text-align: left;\">\r\n                  <span class=\"h6 small bg-white text-muted\">{{step.step}}</span>\r\n                </label>\r\n                <select [name]=\"step.step\" [required]=\"true\" [class]=\"dataClassCss.formcontrol\" id=\"{{step.step}}\"\r\n                  style=\"margin-top: -1rem !important;\" [(ngModel)]=\"step.value\"\r\n                  (ngModelChange)=\"onChangeStep(step,steps[index+1],$event)\">\r\n                  <option value=\"\" selected disabled hidden>Selecciona</option>\r\n                  <ng-container *ngFor=\"let subitem of step.viewData\">\r\n                    <option [value]=\"subitem.id\">\r\n                      {{ subitem.description }}\r\n                    </option>\r\n                  </ng-container>\r\n                </select>\r\n              </div>\r\n            </div>\r\n          </section>\r\n          <div class=\"mt-3 text-center\">\r\n              <button type=\"button\" [class]=\"dataClassCss.btn\" (click)=\"onSubmit()\" [disabled]=\"!formDynamic.valid\"\r\n                  id=\"btnIng\">Ingresar</button>\r\n          </div>\r\n      </form>\r\n  </div>\r\n</div>\r\n",
         
     | 
| 
      
 848 
     | 
    
         
            +
                        template: "<div class=\"card\">\r\n    <span class=\"text-center mt-2 d-none d-sm-block\" *ngIf=\"!isSimpleFlow\">\r\n        <img style=\"width: 115px; height:96px;\" [class]=\"dataClassCss.logo\" id=\"logo\">\r\n    </span>\r\n    <div class=\"text-center mt-2 d-none d-sm-block\" *ngIf=\"isSimpleFlow\" style=\"margin-top: 4%!important;\">\r\n    </div>\r\n    <div class=\"card-body pt-0\">\r\n        <ng-container *ngIf=\"schedule\">\r\n            <h4 class=\"card-title text-center mb-0\" [class]=\"dataClassCss.bienvenida2\" style=\"color: #EE7E0E;\">\r\n                Horarios de atenci\u00F3n\r\n            </h4>\r\n            <small class=\"text-center d-block\">{{schedule}}</small>\r\n        </ng-container>\r\n        <form #formDynamic=\"ngForm\">\r\n            <div *ngFor=\"let control of dataForm?.formQuestions; let index = index; trackBy: trackByIndex\">\r\n                <div\r\n                    *ngIf=\"(index > 0 && (dataForm.formQuestions[index - 1].question.questionType.id == 3 && dataForm.formQuestions[index].question.questionType.id == 2)) || (index < dataForm.formQuestions.length && dataForm.formQuestions[index].question.questionType.id == 3 && dataForm.formQuestions[index + 1].question.questionType.id == 2); else switchTemp\">\r\n                    <div class=\"row\"\r\n                        *ngIf=\"(index > 0 && (dataForm.formQuestions[index - 1].question.questionType.id == 3 && dataForm.formQuestions[index].question.questionType.id == 2))\">\r\n                        <div class=\"col-lg-6 col-xs-12\">\r\n                            <div [class]=\"dataClassCss.cl12\">\r\n                                <label for=\"{{dataForm.formQuestions[index - 1].question.value}}\" class=\"col-sm-12\"\r\n                                    style=\"display: block; text-align: left;\">\r\n                                    <span class=\"h6 small bg-white text-muted\">{{dataForm.formQuestions[index -\r\n                                        1].question.label}}</span>\r\n                                </label>\r\n                                <div class=\"selectContainer\">\r\n                                    <select [name]=\"dataForm.formQuestions[index - 1].question.value\"\r\n                                        [required]=\"dataForm.formQuestions[index - 1].question.required\"\r\n                                        [class]=\"dataClassCss.formcontrol\"\r\n                                        id=\"{{dataForm.formQuestions[index - 1].question.value}}\"\r\n                                        style=\"margin-top: -1rem !important;\"\r\n                                        [(ngModel)]=\"defaultDocType !== '' ? defaultDocType : dataForm.formQuestions[index - 1].question.registred\">\r\n                                        <option value=\"\" selected disabled hidden>Selecciona</option>\r\n                                        <ng-container\r\n                                            *ngFor=\"let item of dataForm.formQuestions[index - 1].question.questionAnswers\">\r\n                                            <option *ngIf=\"item.answer.state.id == 1\" [value]=\"item.answer.value\">\r\n                                                {{ item.answer.field }}\r\n                                            </option>\r\n                                        </ng-container>\r\n                                    </select>\r\n                                </div>\r\n                            </div>\r\n                            <div style=\"margin-left: 15px;\"\r\n                                *ngIf=\"dataForm.formQuestions[index].question.questionType.id != 5 && dataForm.formQuestions[index].question.questionType.id != 6\">\r\n                                <span class=\"error\" [id]=\"'char'+dataForm.formQuestions[index-1].question.value\"\r\n                                    hidden></span>\r\n                            </div>\r\n                        </div>\r\n                        <div class=\"col-lg-6 col-xs-12\">\r\n                            <div [class]=\"dataClassCss.cl12\">\r\n                                <label for=\"{{dataForm.formQuestions[index].question.value}}\"\r\n                                    class=\"col-sm-12 p-sm-0 px-sm-1\" style=\"display: block; text-align: left;\">\r\n                                    <span\r\n                                        class=\"h6 small bg-white text-muted pt-1 pl-2 pr-2\">{{dataForm.formQuestions[index].question.label}}</span>\r\n                                </label>\r\n                                <input type=\"text\" pattern=\"\\d*\" inputmode=\"numeric\"\r\n                                    id=\"{{dataForm.formQuestions[index].question.value}}\"\r\n                                    style=\"margin-top: -1rem !important;\"\r\n                                    [name]=\"dataForm.formQuestions[index].question.value\" placeholder=\"Escribe\"\r\n                                    [required]=\"dataForm.formQuestions[index].question.required\"\r\n                                    (change)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                    (blur)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                    (keyup)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                    onkeypress=\"onkeypress($event)\" onkeyup=\"(this.value=(value.replace(/[.]*/g,'')))\"\r\n                                    maxlength=\"dataForm.formQuestions[index].question.maxLength\"\r\n                                    [minLength]=\"dataForm.formQuestions[index].question.minLength\"\r\n                                    [(ngModel)]=\"dataForm.formQuestions[index].question.registred\"\r\n                                    [class]=\"dataClassCss.formcontrol\" />\r\n\r\n                            </div>\r\n\r\n                            <div style=\"margin-left: 15px;\"\r\n                                *ngIf=\"dataForm.formQuestions[index].question.questionType.id != 5 && dataForm.formQuestions[index].question.questionType.id != 6\">\r\n                                <span class=\"error\" [id]=\"'rq'+dataForm.formQuestions[index].question.value\"\r\n                                    *ngIf=\"validRequired(formDynamic,dataForm.formQuestions[index].question) && watchValid\">\r\n                                    Este campo es obligatorio</span>\r\n                                <span class=\"error\" [id]=\"'ml'+dataForm.formQuestions[index].question.value\" hidden>\r\n                                    Debe ser m\u00EDnimo de\r\n                                    {{ dataForm.formQuestions[index].question.minLength }} caracteres</span>\r\n                                <span class=\"error\" [id]=\"'mxl'+dataForm.formQuestions[index].question.value\" hidden>\r\n                                    Debe ser maximo de\r\n                                    {{ dataForm.formQuestions[index].question.maxLength }} caracteres</span>\r\n                                <span class=\"error\" [id]=\"'char'+dataForm.formQuestions[index].question.value\"\r\n                                    hidden></span>\r\n                                <span *ngIf=\"patternNotValidDcto === true\" class=\"error\">Formato no valido</span>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n\r\n                <ng-template #switchTemp>\r\n                    <div [ngSwitch]=\"dataForm.formQuestions[index].question.questionType.id\">\r\n                        <div *ngSwitchCase=\"1\">\r\n                            <div [class]=\"dataClassCss.cl12\">\r\n                                <label for=\"{{dataForm.formQuestions[index].question.value}}\" class=\"col-sm-12\"\r\n                                    style=\"display: block; text-align: left; \">\r\n                                    <span\r\n                                        class=\"h6 small bg-white text-muted pt-1 pl-2 pr-2\">{{dataForm.formQuestions[index].question.label}}</span>\r\n                                </label>\r\n                                <input type=\"text\" id=\"{{dataForm.formQuestions[index].question.value}}\"\r\n                                    [class]=\"dataClassCss.formcontrol\" placeholder=\"Escribe\"\r\n                                    [required]=\"dataForm.formQuestions[index].question.required\"\r\n                                    [maxlength]=\"dataForm.formQuestions[index].question.maxLength\"\r\n                                    [name]=\"dataForm.formQuestions[index].question.value\"\r\n                                    (keydown)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                    (change)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                    (blur)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                    [(ngModel)]=\"dataForm.formQuestions[index].question.registred\"\r\n                                    style=\"margin-top: -1rem !important;\" />\r\n                            </div>\r\n                        </div>\r\n                        <div *ngSwitchCase=\"2\">\r\n\r\n                            <div [class]=\"dataClassCss.cl12\">\r\n                                <label for=\"{{dataForm.formQuestions[index].question.value}}\" class=\"col-sm-12\"\r\n                                    style=\"display: block; text-align: left;\">\r\n                                    <span\r\n                                        class=\"h6 small bg-white text-muted pt-1 pl-2 pr-2\">{{dataForm.formQuestions[index].question.label}}</span>\r\n                                </label>\r\n                                <input type=\"text\" pattern=\"\\d*\" inputmode=\"numeric\"\r\n                                    id=\"{{dataForm.formQuestions[index].question.value}}\"\r\n                                    style=\"margin-top: -1rem !important;\"\r\n                                    [name]=\"dataForm.formQuestions[index].question.value\" placeholder=\"Escribe\"\r\n                                    [required]=\"dataForm.formQuestions[index].question.required\"\r\n                                    (keydown)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                    (change)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                    (blur)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                    onkeypress=\"onkeypress($event)\" onkeyup=\"(this.value=(value.replace(/[.]*/g,'')))\"\r\n                                    maxlength=\"dataForm.formQuestions[index].question.maxLength\"\r\n                                    [minLength]=\"dataForm.formQuestions[index].question.minLength\"\r\n                                    [(ngModel)]=\"dataForm.formQuestions[index].question.registred\"\r\n                                    [class]=\"dataClassCss.formcontrol\" />\r\n                                <span *ngIf=\"patternNotValidCel === true\" class=\"error\">Formato no valido</span>\r\n                            </div>\r\n\r\n                        </div>\r\n                        <div *ngSwitchCase=\"3\">\r\n                            <div [class]=\"dataClassCss.cl12\">\r\n                                <label for=\"{{dataForm.formQuestions[index].question.value}}\" class=\"col-sm-12\"\r\n                                    style=\"display: block; text-align: left;\">\r\n                                    <span\r\n                                        class=\"h6 small bg-white text-muted\">{{dataForm.formQuestions[index].question.label}}</span>\r\n                                </label>\r\n                                <select [name]=\"dataForm.formQuestions[index].question.value\"\r\n                                    [required]=\"dataForm.formQuestions[index].question.required\"\r\n                                    [class]=\"dataClassCss.formcontrol\"\r\n                                    id=\"{{dataForm.formQuestions[index].question.value}}\"\r\n                                    style=\"margin-top: -1rem !important;\"\r\n                                    [(ngModel)]=\"defaultDocType !== '' ? defaultDocType : dataForm.formQuestions[index].question.registred\">\r\n                                    <option value=\"\" selected disabled hidden>Selecciona</option>\r\n                                    <ng-container\r\n                                        *ngFor=\"let item of dataForm.formQuestions[index].question.questionAnswers\">\r\n                                        <option *ngIf=\"item.answer.state.id == 1\" [value]=\"item.answer.value\">\r\n                                            {{ item.answer.field }}\r\n                                        </option>\r\n                                    </ng-container>\r\n                                </select>\r\n                            </div>\r\n                        </div>\r\n                        <div *ngSwitchCase=\"4\">\r\n                            <select class=\"{{ dataClassCss.formcontrol }} select-checkbox\"\r\n                                style=\"overflow: hidden; border-style: hidden;\"\r\n                                [style.height.px]=\"dataForm.formQuestions[index].question.questionAnswers.length * 24\"\r\n                                [name]=\"dataForm.formQuestions[index].question.value\"\r\n                                [required]=\"dataForm.formQuestions[index].question.required\" ngModel multiple>\r\n                                <option (mousemove)=\"$event.preventDefault()\"\r\n                                    *ngFor=\"let item of dataForm.formQuestions[index].question.questionAnswers\"\r\n                                    [value]=\"item.answer.value\">\r\n                                    {{ item.answer.field }}\r\n                                </option>\r\n                            </select>\r\n                        </div>\r\n                        <div *ngSwitchCase=\"5\">\r\n                            <a (click)=\"rediretoutside($event,dataForm.formQuestions[index].question)\" href=\"\">\r\n                                <span>{{ dataForm.formQuestions[index].question.label }}</span>\r\n                            </a>\r\n                        </div>\r\n                        <div *ngSwitchCase=\"6\">\r\n                            <div [class]=\"dataClassCss.cl12\" [id]=\"'reCaptcha'\">\r\n                                <div class=\"cnt-captcha\">\r\n                                    <re-captcha (resolved)=\"resolvedCaptcha($event)\"\r\n                                        siteKey=\"6Lf9DcQfAAAAAI6HCNB5OyKUpOPpfl5ocoBJcigZ\"></re-captcha>\r\n                                    <input hidden type=\"text\" [name]=\"dataForm.formQuestions[index].question.value\"\r\n                                        [required]=\"dataForm.formQuestions[index].question.required\"\r\n                                        [(ngModel)]=\"dataForm.formQuestions[index].question.registred\">\r\n                                </div>\r\n                                <span class=\"error\" *ngIf=\"watchValid && !captchaValid\" style=\"margin-top: 0;\">\r\n                                    Debe resolver la captcha para continuar\r\n                                </span>\r\n                            </div>\r\n                        </div>\r\n                        <div *ngSwitchCase=\"7\">\r\n                            <div [class]=\"dataClassCss.cl12\">\r\n                                <label for=\"{{dataForm.formQuestions[index].question.value}}\" class=\"col-sm-12\"\r\n                                    style=\"display: block; text-align: left; margin-bottom: 0 ;\">\r\n                                    <span\r\n                                        class=\"h6 small bg-white text-muted pt-1 pl-2 pr-2\">{{dataForm.formQuestions[index].question.label}}</span>\r\n                                </label>\r\n                                <input placeholder=\"dd/mm/aaaa\" style=\"margin-top: -0.4rem !important;\"\r\n                                    [required]=\"dataForm.formQuestions[index].question.required\"\r\n                                    [name]=\"dataForm.formQuestions[index].question.value\" type=\"date\" min=\"{{minDate}}\"\r\n                                    max=\"{{maxDate}}\" [maxlength]=\"10\" (paste)=\"false\"\r\n                                    id=\"{{dataForm.formQuestions[index].question.value}}\"\r\n                                    [class]=\"dataClassCss.txtCalendar\"\r\n                                    [(ngModel)]=\"dataForm.formQuestions[index].question.registred\"\r\n                                    (keydown)=\"cancellKeypress()\"\r\n                                    (change)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                    (blur)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\">\r\n\r\n                                <button class=\"btn\" id=\"{{dataForm.formQuestions[index].question.value}}\" type=\"button\"\r\n                                    style=\"width: 46px;\r\n                                  top: 12px;\r\n                                  color: white;\r\n                                  right: 15px;\r\n                                  position: absolute;\r\n                                  background: #D25D42;\r\n                                  pointer-events: none;\">\r\n                                    <i class=\"fa fa-calendar\"></i>\r\n                                </button>\r\n\r\n                            </div>\r\n                        </div>\r\n                        <div *ngSwitchCase=\"8\">\r\n                            <div [class]=\"dataClassCss.cl12\" style=\"text-align: left; margin-bottom: 10px;\">\r\n                                <input\r\n                                    style=\"width: 4% !important; height: auto !important; display: inline !important;\"\r\n                                    type=\"checkbox\" [name]=\"dataForm.formQuestions[index].question.value\"\r\n                                    [required]=\"dataForm.formQuestions[index].question.required\"\r\n                                    [(ngModel)]=\"dataForm.formQuestions[index].question.registred\"\r\n                                    [class]=\"dataClassCss.formcontrol\">\r\n                                <a target=\"_blank\" style=\"text-decoration: underline;color:blue;cursor: pointer;\"\r\n                                    id=\"txtPoliticas\" (click)=\"tycSelection($event)\">\r\n                                    {{dataForm.formQuestions[index].question.label}}\r\n                                </a>\r\n                            </div>\r\n                        </div>\r\n                        <div *ngSwitchCase=\"9\">\r\n                            <div [class]=\"dataClassCss.cl12\">\r\n                                <label for=\"{{dataForm.formQuestions[index].question.value}}\" class=\"col-sm-12\"\r\n                                    style=\"display: block; text-align: left; \">\r\n                                    <span\r\n                                        class=\"h6 small bg-white text-muted pt-1 pl-2 pr-2\">{{dataForm.formQuestions[index].question.label}}</span>\r\n                                </label>\r\n                                <input type=\"text\" id=\"{{dataForm.formQuestions[index].question.value}}\"\r\n                                    [class]=\"dataClassCss.formcontrol\" placeholder=\"Escribe\"\r\n                                    [required]=\"dataForm.formQuestions[index].question.required\"\r\n                                    [maxlength]=\"dataForm.formQuestions[index].question.maxLength\"\r\n                                    [name]=\"dataForm.formQuestions[index].question.value\"\r\n                                    (keydown)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                    (change)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                    (blur)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                    (keypress)=\"validOnlyText($event)\"\r\n                                    [(ngModel)]=\"dataForm.formQuestions[index].question.registred\"\r\n                                    style=\"margin-top: -1rem !important;\" />\r\n                            </div>\r\n                        </div>\r\n                        <div *ngSwitchCase=\"10\">\r\n                            <div [class]=\"dataClassCss.cl12\" style=\"text-align: left; margin-bottom: 10px;\">\r\n                                <input\r\n                                    style=\"width: 4% !important; height: auto !important; display: inline !important;\"\r\n                                    type=\"checkbox\" [name]=\"dataForm.formQuestions[index].question.value\"\r\n                                    [required]=\"dataForm.formQuestions[index].question.required\"\r\n                                    [(ngModel)]=\"dataForm.formQuestions[index].question.registred\">\r\n                                <a target=\"_blank\" style=\"text-decoration: underline;color:blue;cursor: pointer;\"\r\n                                    id=\"check{{dataForm.formQuestions[index].question.id}}\"\r\n                                    (click)=\"openLabelUrl($event,dataForm.formQuestions[index].question)\">\r\n                                    {{dataForm.formQuestions[index].question.label}}\r\n                                </a>\r\n                            </div>\r\n                        </div>\r\n                        <div *ngSwitchCase=\"11\">\r\n                            <div [class]=\"dataClassCss.cl12\">\r\n                                <label for=\"{{dataForm.formQuestions[index].question.value}}\" class=\"col-sm-12\"\r\n                                    style=\"display: block; text-align: left; \">\r\n                                    <span\r\n                                        class=\"h6 small bg-white text-muted pt-1 pl-2 pr-2\">{{dataForm.formQuestions[index].question.label}}</span>\r\n                                </label>\r\n                                <input type=\"text\" id=\"{{dataForm.formQuestions[index].question.value}}\"\r\n                                    [class]=\"dataClassCss.formcontrol\" placeholder=\"Escribe\"\r\n                                    [required]=\"dataForm.formQuestions[index].question.required\"\r\n                                    [maxlength]=\"dataForm.formQuestions[index].question.maxLength\"\r\n                                    [name]=\"dataForm.formQuestions[index].question.value\"\r\n                                    (keydown)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                    (change)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                    (blur)=\"onChangeValidPatter($event, dataForm.formQuestions[index].question)\"\r\n                                    (keypress)=\"validateNotSpace($event)\"\r\n                                    [(ngModel)]=\"dataForm.formQuestions[index].question.registred\"\r\n                                    style=\"margin-top: -1rem !important;\" />\r\n                            </div>\r\n                        </div>\r\n                        <div *ngSwitchDefault>Tipo de control no detectado</div>\r\n                        <div style=\"margin-left: 15px;\"\r\n                            *ngIf=\"dataForm.formQuestions[index].question.questionType.id != 5 && dataForm.formQuestions[index].question.questionType.id != 6\">\r\n                            <span class=\"error\" [id]=\"'rq'+dataForm.formQuestions[index].question.value\"\r\n                                *ngIf=\"validRequired(formDynamic,dataForm.formQuestions[index].question) && watchValid\">\r\n                                Este campo es obligatorio</span>\r\n                            <span class=\"error\" [id]=\"'ml'+dataForm.formQuestions[index].question.value\" hidden>\r\n                                Debe ser m\u00EDnimo de\r\n                                {{ dataForm.formQuestions[index].question.minLength }} caracteres</span>\r\n                            <span class=\"error\" [id]=\"'mxl'+dataForm.formQuestions[index].question.value\" hidden>\r\n                                Debe ser maximo de\r\n                                {{ dataForm.formQuestions[index].question.maxLength }} caracteres</span>\r\n                            <span class=\"error\" [id]=\"'char'+dataForm.formQuestions[index].question.value\"\r\n                                hidden></span>\r\n                            <span class=\"error\" [id]=\"dataForm.formQuestions[index].question.id\" hidden></span>\r\n                        </div>\r\n                    </div>\r\n                </ng-template>\r\n            </div>\r\n            <section *ngIf=\"isSimpleFlow\">\r\n                <div *ngFor=\"let step of steps let index = index;\">\r\n                    <div [class]=\"dataClassCss.cl12\" *ngIf=\"step.viewData\">\r\n                        <label for=\"{{step.id}}\" class=\"col-sm-12\" style=\"display: block; text-align: left;\">\r\n                            <span class=\"h6 small bg-white text-muted\">{{step.step}}</span>\r\n                        </label>\r\n                        <select [name]=\"step.step\" [required]=\"true\" [class]=\"dataClassCss.formcontrol\"\r\n                            id=\"{{step.step}}\" style=\"margin-top: -1rem !important;\" [(ngModel)]=\"step.value\"\r\n                            (ngModelChange)=\"onChangeStep(step,steps[index+1],$event)\">\r\n                            <option value=\"\" selected disabled hidden>Selecciona</option>\r\n                            <ng-container *ngFor=\"let subitem of step.viewData\">\r\n                                <option [value]=\"subitem.id\">\r\n                                    {{ subitem.description }}\r\n                                </option>\r\n                            </ng-container>\r\n                        </select>\r\n                    </div>\r\n                </div>\r\n            </section>\r\n            <div class=\"mt-3 text-center\">\r\n                <button type=\"button\" [class]=\"dataClassCss.btn\" (click)=\"onSubmit()\" [disabled]=\"!formDynamic.valid\"\r\n                    id=\"btnIng\">Ingresar</button>\r\n            </div>\r\n        </form>\r\n    </div>\r\n</div>",
         
     | 
| 
       868 
849 
     | 
    
         
             
                        providers: [
         
     | 
| 
       869 
850 
     | 
    
         
             
                            { provide: NgbDateAdapter, useClass: CustomAdapter },
         
     | 
| 
       870 
851 
     | 
    
         
             
                            { provide: NgbDateParserFormatter, useClass: CustomDateParserFormatter },
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       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 = {\r\n    default: {\r\n        exp: '^[a-zA-Z0-9ñÑáéíóúüÁÉÍÓÚÜ,.\\\\-_\\\\s]*$',\r\n        message: 'Formato inválido, no use caracteres especiales'\r\n    },\r\n    word: {\r\n        exp: '^[a-zA-Z0-9ñÑáéíóúüÁÉÍÓÚÜ,.\\\\-_]*$',\r\n        message: 'Formato inválido, no use caracteres especiales ni espacios'\r\n    },\r\n    name: {\r\n        exp: '^[a-zA-ZñÑáéíóúüÁÉÍÓÚÜ\\\\s]*$',\r\n        message: 'Formato inválido, no use caracteres especiales ni números'\r\n    },\r\n    alphanumberWord: {\r\n        exp: '^[a-zA-Z0-9]*$',\r\n        message: 'Formato alfanúmerico inválido'\r\n    },\r\n    charWord: {\r\n        exp: '^[a-zA-Z]*$',\r\n        message: 'Formato de caracteres inválido'\r\n    },\r\n    anyWord: {\r\n        exp: '^\\\\S*$',\r\n        message: 'Formato inválido'\r\n    },\r\n    percent: {\r\n        exp: '^100$|^[0-9]{1,2}$|^[0-9]{1,2}\\\\.[0-9]{1,2}$',\r\n        message: 'Formato de porcentaje inválido, use el punto decimal (.)'\r\n    },\r\n    email: {\r\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,}))$/,\r\n        message: 'Formato de e-mail inválido'\r\n    },\r\n    number: {\r\n        exp: '^[0-9]*$',\r\n        message: 'Formato de número inválido'\r\n    },\r\n    time24: {\r\n        exp: '^([01]?[0-9]|2[0-3]):[0-5][0-9]$',\r\n        message: 'Formato de hora militar inválido, use 23:45'\r\n    },\r\n    date: {\r\n        exp: '^[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}$',\r\n        message: 'Formato de fecha inválido',\r\n        internal: 'dd/mm/yyyy'\r\n    },\r\n    password: {\r\n        exp: '^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$',\r\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.'\r\n    }\r\n};\r\n","import { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n  providedIn: \"root\",\r\n})\r\nexport class CommonDataService {\r\n  public static COMPANY_KEY: string = \"company\";\r\n  public static DOC_NUMBER_KEY: string = \"docNumber\";\r\n  public static DOC_TYPE_KEY: string = \"docType\";\r\n  public static PHONE_KEY: string = \"phone\";\r\n  public static TYPE_ATTENTION_KEY: string = \"typeAttention\";\r\n  public static OFFICE_KEY: string = \"office\";\r\n  public static TYPE_TURN_KEY: string = \"typeTurn\";\r\n  public static SERVICE_KEY: string = \"service\";\r\n  public static TURN_KEY: string = \"turn\";\r\n  public static PROGRAMED_TURN_KEY: string = \"programedTurn\";\r\n  public static REQUEST_CALL: string = \"requestCall\";\r\n  public static FORM_DATA: string = \"formdata\";\r\n  public static TEMPLATE: string = \"template\";\r\n  public static TURN_RESCHEDULE: string = \"turnReschedule\";\r\n  public static USER_GENDER: string = \"genderUser\";\r\n  public static AUTO_REDIRECT: string = \"autoRedirect\";\r\n  public static SCHEDULE_GENERAL: string = \"scheduleGeneral\"\r\n  public static AGENDAMIENTO_TTP: string = \"potencialCustomer\"\r\n  public static SINGLE_PAGE_ONE: string = \"singlePageOne\"\r\n  public static AVAILABLE_SCHEDULE_GRAL: string = \"availableScheduleGral\"\r\n  public static PROFILE: string = \"profile\"\r\n  public static PAGE_NEXT: string = \"pageNext\"\r\n  public static STEPS: string = \"steps\"\r\n  public static TYPE_TURN_ID: string = \"typeTurnId\"\r\n\r\n\r\n  constructor() { }\r\n\r\n  private getData(): Map<string, any> {\r\n    if (localStorage.getItem(\"data\") != null) {\r\n      var data: Map<string, any> = new Map(JSON.parse(localStorage.getItem(\"data\")));\r\n      return data;\r\n    } else {\r\n      /** Error get cookie */\r\n    }\r\n  }\r\n\r\n  private setData(data: Map<string, any>) {\r\n    localStorage.setItem(\"data\", JSON.stringify(Array.from(data.entries())));\r\n  }\r\n\r\n  initData(): void {\r\n    this.setData(new Map());\r\n  }\r\n\r\n  putValue(key: string, value: any): void {\r\n    var data: Map<string, any> = this.getData();\r\n    data = data.set(key, value);\r\n    this.setData(data);\r\n  }\r\n\r\n  addValue(keyPrimary: string, keySecond: string, value): void {\r\n    var data: Map<string, any> = this.getValue(keyPrimary);\r\n    var dataReturn: Map<string, any> = this.getData();\r\n    data[keySecond] = value;\r\n    dataReturn = dataReturn.set(keyPrimary, data);\r\n    this.setData(dataReturn);\r\n  }\r\n\r\n  getValue(key: string): any {\r\n    return !this.getData() || !this.getData().has(key) ? undefined : this.getData().get(key);\r\n  }\r\n\r\n  hasValue(key: string): any {\r\n    return this.getData() != undefined ? this.getData().has(key) : null;\r\n  }\r\n\r\n  clearMap(): void {\r\n    if (this.hasValue(CommonDataService.COMPANY_KEY)) {\r\n      let company = this.getValue(CommonDataService.COMPANY_KEY);\r\n      this.initData();\r\n      this.putValue(CommonDataService.COMPANY_KEY, company);\r\n    } else {\r\n      this.initData();\r\n    }\r\n  }\r\n}\r\n","import {\r\n  Component,\r\n  Injectable,\r\n  Input,\r\n  ElementRef,\r\n  OnInit,\r\n  Renderer2,\r\n  ViewChild,\r\n  OnChanges,\r\n  SimpleChanges,\r\n  Output,\r\n  EventEmitter\r\n} from '@angular/core';\r\nimport {FormGroup, FormControl, NgForm, Form, Validators} from '@angular/forms';\r\nimport {HttpClient} from '@angular/common/http';\r\n\r\n// import moment from 'moment';\r\nimport {NgbDateAdapter, NgbDateParserFormatter, NgbDateStruct, NgbDatepickerI18n} from '@ng-bootstrap/ng-bootstrap';\r\nimport * as moment_ from 'moment';\r\nimport { Fill } from '../../Models/fill';\r\nimport { regexType } from '../../utils/regex';\r\nimport { Company } from '../../Models/company';\r\nimport { Step } from '../../Models/step';\r\nimport { CommonDataService } from '../../services/data.service';\r\n\r\n\r\n\r\n\r\n\r\nconst moment = moment_;\r\n// import { regexType } from \"@app/_shared/_util/regex\";\r\n// import { ExternalService } from '@app/_shared/_services/external.service';\r\n// import { AuroraService } from '@app/_shared/_services/aurora.service';\r\n\r\n/**\r\n * This Service handles how the date is represented in scripts i.e. ngModel.\r\n */\r\n@Injectable()\r\nexport class CustomAdapter extends NgbDateAdapter<string> {\r\n\r\n  readonly DELIMITER = '/';\r\n\r\n  fromModel(value: string | null): NgbDateStruct | null {\r\n    if (value) {\r\n      const date = value.split(this.DELIMITER);\r\n      return {\r\n        day: parseInt(date[0], 10),\r\n        month: parseInt(date[1], 10),\r\n        year: parseInt(date[2], 10)\r\n      };\r\n    }\r\n    return null;\r\n  }\r\n\r\n  toModel(date: NgbDateStruct | null): string | null {\r\n    //return date ? date.day + this.DELIMITER + date.month + this.DELIMITER + date.year : null;\r\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 : '';\r\n  }\r\n}\r\n\r\n/**\r\n * This Service handles how the date is rendered and parsed from keyboard i.e. in the bound input field.\r\n */\r\n@Injectable()\r\nexport class CustomDateParserFormatter extends NgbDateParserFormatter {\r\n\r\n  readonly DELIMITER = '/';\r\n\r\n  parse(value: string): NgbDateStruct | null {\r\n    if (value) {\r\n      const date = value.split(this.DELIMITER);\r\n      return {\r\n        day: parseInt(date[0], 10),\r\n        month: parseInt(date[1], 10),\r\n        year: parseInt(date[2], 10)\r\n      };\r\n    }\r\n    return null;\r\n  }\r\n\r\n  format(date: NgbDateStruct | null): string {\r\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 : '';\r\n  }\r\n}\r\n\r\nconst I18N_VALUES = {\r\n  'es': {\r\n    weekdays: ['Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa', 'Do'],\r\n    months: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],\r\n    weekLabel: 'sem'\r\n  }\r\n  // other languages you would support\r\n};\r\n\r\n@Injectable()\r\nexport class I18n {\r\n  language = 'es';\r\n}\r\n\r\n// Define custom service providing the months and weekdays translations\r\n@Injectable()\r\nexport class CustomDatepickerI18n extends NgbDatepickerI18n {\r\n  constructor(private _i18n: I18n) {\r\n    super();\r\n  }\r\n\r\n  getWeekdayLabel(weekday: number): string {\r\n    return I18N_VALUES[this._i18n.language].weekdays[weekday - 1];\r\n  }\r\n\r\n  getWeekLabel(): string {\r\n    return I18N_VALUES[this._i18n.language].weekLabel;\r\n  }\r\n\r\n  getMonthShortName(month: number): string {\r\n    return I18N_VALUES[this._i18n.language].months[month - 1];\r\n  }\r\n\r\n  getMonthFullName(month: number): string {\r\n    return this.getMonthShortName(month);\r\n  }\r\n\r\n  getDayAriaLabel(date: NgbDateStruct): string {\r\n    return `${date.day}-${date.month}-${date.year}`;\r\n  }\r\n\r\n  getWeekdayShortName(weekday: number): string {\r\n    return I18N_VALUES[this._i18n.language].weekdays[weekday - 1];\r\n  };\r\n}\r\n\r\n\r\n@Component({\r\n  selector: 'lib-FormAurora',\r\n  templateUrl: './form-aurora.component.html',\r\n  styleUrls: ['./form-aurora.component.css'],\r\n  providers: [\r\n    {provide: NgbDateAdapter, useClass: CustomAdapter},\r\n    {provide: NgbDateParserFormatter, useClass: CustomDateParserFormatter},\r\n    {provide: NgbDatepickerI18n, useClass: CustomDatepickerI18n},\r\n    I18n\r\n  ]\r\n})\r\nexport class FormAuroraComponent implements OnInit, OnChanges {\r\n   \r\n  @Input() dataClassCss: any;\r\n  @Input() dataForm: any;\r\n  @Input() clickSubmit: any;\r\n  @Input() dataReloadForm: any;\r\n  @Input() welcomeTitle: any;\r\n  @Input() welcomeDescription: any;\r\n  @Input() urlPdf: string;\r\n  @Input() nameCompany: string;\r\n  @Input() schedule: string;\r\n  @Input() isSimpleFlow: boolean;  \r\n  @Input() company: Company;  \r\n  @Input() steps: Step[];    \r\n  @ViewChild('formDynamic', { static: true }) formDynamic: NgForm;\r\n  @Output() response = new EventEmitter<any>();\r\n  @Output() summit = new EventEmitter<any>();\r\n  @Output() viewAuthData = new EventEmitter<any>();\r\n\r\n  tipodocNumDoc: boolean = false;\r\n  onSubmitEvent: any = false;\r\n  countSubmit = 0;\r\n  watchValid = false;\r\n  watchRequired = false;\r\n  captchaValid: boolean = false;\r\n  displayMonths = 2;\r\n  navigation = 'select';\r\n  showWeekNumbers = false;\r\n  outsideDays = 'visible';\r\n  respServiceSegmentation: any = null;\r\n  base64CheckAuthData : any = undefined;\r\n\r\n\r\n\r\n\r\n  //emailPattern = \"^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$\";\r\n\r\n  today = moment(new Date());\r\n  maxYear = this.today.year();\r\n  minYear = this.today.year() - 82;\r\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()};\r\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()};\r\n\r\n  //Revisar variables\r\n  recharge: boolean = false;\r\n  indicativo: string = \"57\";\r\n  @ViewChild(\"modalTurns\", { static: false }) myModal: ElementRef;\r\n  filldata: Fill;\r\n  defaultDocType: string = \"Cédula de ciudadanía\";\r\n\r\n  patternNotValidDcto: boolean = false;\r\n  patternNotValidCel: boolean = false;\r\n\r\n  constructor(private data: CommonDataService, private http: HttpClient) { }\r\n\r\n  ngOnInit(): void {\r\n    this.minDate = new Date(this.minDate).toISOString().split('T')[0]\r\n    setTimeout(() => {\r\n      this.startComponent();\r\n    }, 2000);\r\n  }\r\n\r\n\r\n  startComponent() {\r\n    //ordena los campos\r\n    if (this.dataForm != null && this.dataForm.formQuestions != undefined) {\r\n      //Same row fields\r\n      this.tipodocNumDoc = (this.dataForm.formQuestions.some(question => question.question.value === \"tipoDoc\") && this.dataForm.formQuestions.some(question => question.question.value === \"numeroDoc\")) ? true : false;\r\n\r\n      this.dataForm.formQuestions = this.dataForm.formQuestions.sort(function (a, b) {\r\n        return a.order - b.order;\r\n      });\r\n      let existcaptcha = this.dataForm.formQuestions.filter((item) => item.question.questionType.id == 6);\r\n\r\n      if (existcaptcha.length == 0) {\r\n        this.captchaValid = true;\r\n      }\r\n\r\n      for (const item of this.dataForm.formQuestions) {\r\n        if (item.question.maxlength == null || item.question.maxlength == undefined || item.question.maxlength == 0) {\r\n          item.question.maxlength = 524288; //defaultvalue\r\n        }\r\n\r\n        if (item.question.minLength == null || item.question.minLength == undefined) {\r\n          item.question.minLength = 0;\r\n        }\r\n\r\n        this.dataReloadForm.forEach(element => {\r\n          this.filldata = element;\r\n\r\n          if ((item.question.questionType.id === 2 || item.question.questionType.id === 1 ||\r\n            item.question.questionType.id === 3) && (this.filldata.data !== null &&\r\n              this.filldata.data !== undefined) && item.question.id === this.filldata.id) {\r\n            item.question.registred = this.filldata.data;\r\n          }\r\n        });\r\n\r\n        if (item.question.registred == null || item.question.minLength == undefined) {\r\n          item.question.registred = '';\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  range = new FormGroup({\r\n    start: new FormControl(),\r\n    end: new FormControl(),\r\n  });\r\n\r\n  resolvedCaptcha(captchaResponse: string) {\r\n    this.captchaValid = true\r\n    if (!this.formDynamic.form.value.captcha) {\r\n      this.formDynamic.controls.captcha.setValue(captchaResponse)\r\n      this.formDynamic.form.value.captcha = captchaResponse\r\n      document.getElementById(\"btnIng\").style.opacity = !this.formDynamic.valid ? \"0.65\" : \"1\";\r\n    }\r\n  }\r\n\r\n  //Forms\r\n  //Metodo para evitar el render de los items del for\r\n  public trackByIndex(index: number, obj: any): any {\r\n    return index;\r\n  }\r\n\r\n  onChangeValidPatter(event, question) {\r\n    if (question.pattern != undefined) {\r\n      let valid = true;\r\n      let keyvalid = [8, 32, 37, 38, 39, 40, 46, 9];\r\n      //diferente de Backpsace\r\n      //se deja catch por error no controlable en otro tiempo de ejecucion\r\n      try {\r\n        if (!keyvalid.includes(event.keyCode)) {\r\n          const regex = new RegExp(question.pattern);\r\n          valid = regex.test(event.key);\r\n        }\r\n      } catch (error) { }\r\n\r\n      return valid;\r\n    }\r\n    if (question.questionType !== undefined) {\r\n      if (question.questionType.description === 'Number') {\r\n        if (question.value === 'numeroDoc') {\r\n          this.validateNumeroDocumento(this.formDynamic.controls[\"numeroDoc\"].value.toString());\r\n        }else if (question.value === 'celular'){\r\n          this.validateCelular(this.formDynamic.controls[\"celular\"].value.toString());\r\n        }\r\n\r\n      }\r\n    }\r\n    document.getElementById(\"char\" + question.value).setAttribute(\"hidden\", \"true\");\r\n\r\n    //if temporal mientras se migran todos los tipos de campos al foreach\r\n    if (question.questionType.id != 11 && question.questionType.id != 7) {\r\n      if (this.validMinLength(this.formDynamic, question)) {\r\n        document.getElementById(question.value).style.borderColor = \"#FF0000\";\r\n        document.getElementById(\"ml\" + question.value).removeAttribute(\"hidden\");\r\n      }\r\n      else {\r\n        document.getElementById(question.value).style.borderColor = \"#E4E4E4\";\r\n        document.getElementById(\"ml\" + question.value).setAttribute(\"hidden\", \"true\");\r\n      }\r\n      if (this.validMaxLength(this.formDynamic, question)) {\r\n        document.getElementById(question.value).style.borderColor = \"#FF0000\";\r\n        document.getElementById(\"mxl\" + question.value).removeAttribute(\"hidden\");\r\n      }\r\n      else {\r\n        document.getElementById(question.value).style.borderColor = \"#E4E4E4\";\r\n        document.getElementById(\"mxl\" + question.value).setAttribute(\"hidden\", \"true\");\r\n      }\r\n    }\r\n\r\n\r\n    this.dataForm.formQuestions.forEach(formQuestion => {\r\n      switch (formQuestion.question.questionType.id) {\r\n        //se valida  campo de tipo calendario\r\n        case 7:\r\n          if (question.questionType.id == 7)\r\n            this.calendarRulesValidate(formQuestion);\r\n          break;\r\n        //se valida  campo de tipo email\r\n        case 11:\r\n          if (question.questionType.id == 11)\r\n            this.emailRulesValidate(formQuestion);\r\n          break;\r\n      }\r\n    });\r\n\r\n    document.getElementById(\"btnIng\").style.opacity = !this.formDynamic.valid ? \"0.65\" : \"1\";\r\n  }\r\n\r\n  validOnlyText(event) {\r\n    let regex = /^[a-zA-Z\\u00C0-\\u017F]+$/g;\r\n    if (event.charCode == 32) {\r\n      return true;\r\n    }\r\n    let valid = regex.test(event.key);\r\n\r\n    return valid;\r\n  }\r\n\r\n  validDate(event) {\r\n    /*let pattern = /(?:0[1-9]|[12][0-9]|3[01])\\/(?:0[1-9]|1[0-2])\\/(?:19|20)[0-9]{2}/;\r\n    const regex = new RegExp(pattern);\r\n    valid = regex.test(event.key);\r\n    */\r\n    const matches = String(event.key).match(regexType.date.exp);\r\n    let valid = true\r\n    if (matches === null)\r\n      valid = false;\r\n\r\n    // alert(valid);\r\n\r\n    return valid;\r\n\r\n  }\r\n\r\n  onChangeValidDate(event) {\r\n\r\n    //let pattern = /(?:0[1-9]|1[0-2])\\/(?:0[1-9]|[12][0-9]|3[01])\\/(?:19|20)[0-9]{2}/;\r\n    let dateN = /[0-9]|\\//\r\n    let valid = true\r\n    const regex = new RegExp(dateN);\r\n    valid = regex.test(event.key);\r\n    return valid;\r\n\r\n  }\r\n\r\n  rediretoutside(event, question) {\r\n    //se deja catch por error no controlable en otro tiempo de ejecucion\r\n    try {\r\n      event.preventDefault();\r\n      window.open(question.value, \"_blank\");\r\n    } catch (error) { }\r\n  }\r\n\r\n  /**\r\n   * Dispatch submit event for validations exists\r\n   * @param change \r\n   */\r\n  ngOnChanges(change: SimpleChanges) {\r\n    this.countSubmit++\r\n  }\r\n  //onSubmit(form: NgForm) {\r\n  onSubmit() {\r\n    let form = this.formDynamic;\r\n    this.watchValid = true;\r\n    this.watchRequired = true;\r\n\r\n    if (form.valid) {\r\n      if (!this.validRulesFields(form.controls[\"numeroDoc\"].value.toString(), form.controls[\"celular\"].value.toString(), form.controls[\"email\"].value))\r\n        return false;\r\n    }\r\n\r\n    if (this.validMinlenghtAllQuestions(form.value) && this.validMaxLengthAllQuestions(form.value) && form.valid) {\r\n      if (this.dataForm.urlSend != \"\" && this.captchaValid) {\r\n        this.http.post<any>(this.dataForm.urlSend, form.value).subscribe((resp) => this.response.emit(resp));\r\n      } else if (form.valid && this.captchaValid) {\r\n        this.summit.emit(form.value);\r\n      }\r\n    }\r\n  }\r\n\r\n  private findParamBoolean(params: any, idParam: number) {\r\n    let showDescriptionParam = params.find((x) => x.id == idParam);\r\n    return showDescriptionParam != null && showDescriptionParam.value == \"true\";\r\n  }\r\n\r\n  validRulesFields(numeroDoc: String, numeroCel: String, email: String): boolean {\r\n    // Validaciones para celular en caso de indicativo en Colombia\r\n    let cel = document.getElementById(\"charcelular\");\r\n    let doc = document.getElementById(\"charnumeroDoc\");\r\n    let valOk = true;\r\n    if (this.indicativo == \"+57\" || this.indicativo == \"57\") {\r\n      let stringOrdenado = this.orderString(numeroDoc);\r\n      if (this.nameCompany.toUpperCase() !== 'CLARO') {//claro acepta nro consecutivos\r\n        if (numeroDoc == stringOrdenado) {\r\n          doc.style.borderColor = \"#FF0000\";\r\n          doc.removeAttribute(\"hidden\");\r\n          doc.textContent = \"El numero documento No debe contener caracteres consecutivos\";\r\n          valOk = false;\r\n\r\n          //this.msgErrorCampo = \"El numero documento No debe contener caracteres consecutivos\";\r\n          //return false;\r\n        }\r\n      }\r\n      if (numeroCel.substring(0, 1) != \"3\") {\r\n        cel.style.borderColor = \"#FF0000\";\r\n        cel.removeAttribute(\"hidden\");\r\n        cel.textContent = \"El primer carácter del celular debe ser 3\";\r\n        valOk = false;\r\n\r\n        //this.msgErrorCampo = \"El primer carácter del celular debe ser 3\";\r\n        //return false;\r\n      }\r\n      /*\r\n      if (parseInt(numeroCel.substring(0, 3)) > 350) {\r\n        cel.style.borderColor = \"#FF0000\";\r\n        cel.removeAttribute(\"hidden\");\r\n        cel.textContent = \"El prefijo del celular no debe ser mayor a 350\";\r\n        valOk = false;\r\n        //this.msgErrorCampo = \"El prefijo del celular no debe ser mayor a 350\";\r\n        //return false;\r\n      }\r\n      */\r\n      //En caso de que el número se repita, ejemplo 33333333\r\n      let listnumber = numeroDoc.substring(0, 1);\r\n      for (let index = 1; index < numeroDoc.length; index++) {\r\n        listnumber = listnumber + numeroDoc.substring(0, 1);\r\n      }\r\n\r\n      if (numeroDoc == listnumber) {\r\n        doc.style.borderColor = \"#FF0000\";\r\n        doc.removeAttribute(\"hidden\");\r\n        doc.textContent = \"Caracteres numéricos no se pueden repetirse de manera continua \";\r\n        valOk = false;\r\n\r\n        //this.msgErrorCampo = \"Caracteres numéricos no se pueden repetirse de manera continua \";\r\n        //return false;\r\n      }\r\n      if (!this.validateNumeroDocumento(numeroDoc)) {\r\n        return false;\r\n      }\r\n      if (!this.validateCelular(numeroCel)) {\r\n        return false;\r\n      }\r\n\r\n\r\n      // En caso de que el número se repita, ejemplo 33333333\r\n      let arrayPhoneRepeat = Array.from(String(numeroCel), Number);\r\n      let arrayPhoneOutRepeat = [...new Set(arrayPhoneRepeat)];\r\n      if (arrayPhoneOutRepeat.length == 1) {\r\n        cel.style.borderColor = \"#FF0000\";\r\n        cel.removeAttribute(\"hidden\");\r\n        cel.textContent = \"El número que ingresa no es valido\";\r\n        valOk = false;\r\n        //this.msgErrorCampo = \"El número que ingresa no es valido\";\r\n        //return false;\r\n      }\r\n    } else if (this.indicativo == \"+593\" || this.indicativo == \"593\") {\r\n      if (numeroCel.substring(0, 1) != \"9\") {\r\n        cel.style.borderColor = \"#FF0000\";\r\n        cel.removeAttribute(\"hidden\");\r\n        cel.textContent = \"El primer carácter del celular debe ser 9\";\r\n        valOk = false;\r\n        //this.msgErrorCampo = \"El primer carácter del celular debe ser 9\";\r\n        //return false;\r\n      }\r\n    }\r\n    //se validan los campos por tipo de campo y no por value\r\n    this.dataForm.formQuestions.forEach(formQuestion => {\r\n      switch (formQuestion.question.questionType.id) {\r\n        //se valida  campo de tipo email\r\n        case 11:\r\n          valOk = this.emailRulesValidate(formQuestion);\r\n          break;\r\n      }\r\n    });\r\n\r\n    return valOk;\r\n  }\r\n\r\n  orderString(value: String) {\r\n    let arrayNumber = [];\r\n    for (let index = 0; index < value.length; index++) {\r\n      arrayNumber.push(parseInt(value.substring(index, index + 1)));\r\n    }\r\n    //ordena el array\r\n    arrayNumber.sort(function (a, b) {\r\n      return a - b;\r\n    });\r\n    let numberOrder = \"\";\r\n    numberOrder = arrayNumber[0];\r\n    for (let index = 1; index < arrayNumber.length; index++) {\r\n      numberOrder = numberOrder + (arrayNumber[0] + index).toString();\r\n    }\r\n    return numberOrder;\r\n  }\r\n\r\n  validMinlenghtAllQuestions(form: any): boolean {\r\n    for (const item of this.dataForm.formQuestions) {\r\n      if (item.question.questionType.id == 1 || item.question.questionType.id == 2) {\r\n        let minLength = parseInt(item.question.minLength);\r\n        let formValueLength = parseInt(form[item.question.value].toString().length);\r\n        if (minLength > 0 && formValueLength != minLength && formValueLength < minLength) return false;\r\n      }\r\n    }\r\n    return true;\r\n  }\r\n\r\n  validMaxLengthAllQuestions(form: any): boolean {\r\n    for (const item of this.dataForm.formQuestions) {\r\n      if (item.question.questionType.id == 1 || item.question.questionType.id == 2) {\r\n        let maxLength = parseInt(item.question.maxLength);\r\n        let formValueLength = parseInt(form[item.question.value].toString().length);\r\n        if (maxLength > 0 && formValueLength != maxLength && formValueLength > maxLength) return false;\r\n      }\r\n    }\r\n    return true;\r\n  }\r\n\r\n  validRequired(form: NgForm, question): Boolean {\r\n    //se deja catch por error no controlable en otro tiempo de ejecucion\r\n    try {\r\n      if (question != undefined && question.value != undefined) {\r\n        if (\r\n          form.controls[question.value] != undefined &&\r\n          form.controls[question.value].errors != null &&\r\n          form.controls[question.value].errors.required\r\n        ) {\r\n          return true;\r\n        }\r\n      }\r\n    } catch (error) { }\r\n    return false;\r\n  }\r\n\r\n  validMinLength(form: NgForm, question): Boolean {\r\n    //se deja catch por error no controlable en otro tiempo de ejecucion\r\n    try {\r\n      if (question != undefined && question.value != undefined) {\r\n        if (question.minLength > form.controls[question.value].value.toLocaleString().length && question.minLength > 0) {\r\n          return true;\r\n        }\r\n      }\r\n    } catch (error) { }\r\n    return false;\r\n  }\r\n\r\n  validMaxLength(form: NgForm, question): Boolean {\r\n    //se deja catch por error no controlable en otro tiempo de ejecucion\r\n    try {\r\n      if (question != undefined && question.value != undefined) {\r\n        if (question.maxLength > 0) {\r\n          if (question.maxLength + 1 <= form.controls[question.value].value.toString().replace(/\\./g, '').length) {\r\n            if (!this.formDynamic.controls[question.value].hasError('errorMaxLength')) {\r\n              this.formDynamic.controls[question.value].setErrors({ 'errorMaxLength': true })\r\n            }\r\n            return true;\r\n          }\r\n        }\r\n      }\r\n    } catch (error) { }\r\n    return false;\r\n  }\r\n\r\n  tycSelection(event) {\r\n     this.viewAuthData.emit(event);\r\n  }\r\n\r\n  openLabelUrl(event, question) {\r\n    event.preventDefault()\r\n    let tyc = <HTMLInputElement>document.getElementById(\"check\" + question.id);\r\n    tyc.style.color = \"#A3AD32\";\r\n    window.open(question.urllabel, \"_blank\");\r\n  }\r\n\r\n  cancellKeypress() {\r\n    return false;\r\n  }\r\n  emailRulesValidate(formQuestion) {\r\n    let valOk = true;\r\n    try {\r\n      let hasError = false;\r\n      document.getElementById(formQuestion.question.id).setAttribute(\"hidden\", \"true\");\r\n      let eml = document.getElementById(formQuestion.question.id);\r\n      let email = formQuestion.question.registred;\r\n      if (!hasError) {\r\n        if (formQuestion.question.required && (email == \"\" || email == undefined || email == null)) {\r\n          eml.style.borderColor = \"#FF0000\";\r\n          eml.textContent = \"El correco eléctronico es requerido\";\r\n          eml.removeAttribute(\"hidden\");\r\n          valOk = false;\r\n          hasError = true;\r\n        }\r\n      }\r\n      if (!hasError) {\r\n        if (this.validMinLength(undefined, formQuestion.question)) {\r\n          eml.style.borderColor = \"#FF0000\";\r\n          eml.textContent = \"Debe ser mínimo de \" + formQuestion.question.minLength + \" caracteres\";\r\n          document.getElementById(formQuestion.question.id).removeAttribute(\"hidden\");\r\n          valOk = false;\r\n          hasError = true;\r\n        }\r\n      }\r\n      if (!hasError) {\r\n        if (this.validMaxLength(undefined, formQuestion.question)) {\r\n          eml.style.borderColor = \"#FF0000\";\r\n          eml.textContent = \"Debe ser maximo de \" + formQuestion.question.maxLength + \" caracteres\";\r\n          document.getElementById(formQuestion.question.id).removeAttribute(\"hidden\");\r\n          valOk = false;\r\n          hasError = true;\r\n        }\r\n      }\r\n      if (!hasError) {\r\n\r\n        const matches = String(email).match(regexType.email.exp);\r\n        if (matches == null) {\r\n          eml.style.borderColor = \"#FF0000\";\r\n          eml.textContent = \"Tu email es invalido\";\r\n          eml.removeAttribute(\"hidden\");\r\n          valOk = false;\r\n          hasError = true;\r\n        }\r\n      }\r\n\r\n    } catch (error) {\r\n\r\n    }\r\n    return valOk;\r\n  }\r\n\r\n  calendarRulesValidate(formQuestion) {\r\n    let hasError = false;\r\n    try {\r\n      document.getElementById(formQuestion.question.id).setAttribute(\"hidden\", \"true\");\r\n      let ecalendar = document.getElementById(formQuestion.question.id);\r\n      //se valida que no sea null si es requerido\r\n      let date = formQuestion.question.registred;\r\n      if (formQuestion.question.required && (date == \"\" || date == undefined || date == null)) {\r\n        ecalendar.style.borderColor = \"#FF0000\";\r\n        ecalendar.textContent = \"La fecha es requerida\";\r\n        ecalendar.removeAttribute(\"hidden\");\r\n      }\r\n    } catch (error) {\r\n\r\n    }\r\n  }\r\n\r\n  validateNotSpace(event) {\r\n    if (event.charCode == 32) {\r\n      return false;\r\n    } else {\r\n      return true;\r\n    }\r\n  }\r\n  validateNumeroDocumento(numeroDoc: String) {\r\n    if (!numeroDoc.match(\"^[0-9]*$\")) {\r\n      this.formDynamic.controls[\"numeroDoc\"].setValidators([Validators.pattern('^[0-9]*$')]);\r\n      this.formDynamic.controls[\"numeroDoc\"].markAsDirty();\r\n      this.formDynamic.controls[\"numeroDoc\"].updateValueAndValidity();\r\n      this.formDynamic.controls[\"numeroDoc\"].markAsTouched();\r\n      this.patternNotValidDcto = true;\r\n      return false;\r\n    }\r\n    this.patternNotValidDcto = false;\r\n    return true;\r\n  }\r\n  validateCelular(numeroCel: String) {\r\n    if (!numeroCel.match(\"^[0-9]*$\")) {\r\n      this.formDynamic.controls[\"celular\"].setValidators([Validators.pattern('^[0-9]*$')]);\r\n      this.formDynamic.controls[\"celular\"].markAsDirty();\r\n      this.formDynamic.controls[\"celular\"].updateValueAndValidity();\r\n      this.formDynamic.controls[\"celular\"].markAsTouched();\r\n      this.patternNotValidCel = true;\r\n      return false;\r\n    }\r\n    this.patternNotValidCel = false;\r\n    return true;\r\n  } \r\n\r\n  onkeypress(event)\r\n  {\r\n    return (event.charCode == 0) ? null : event.charCode >= 48 && event.charCode <= 57\r\n  }\r\n\r\n  onChangeStep(step: Step, nextStep: Step, value) {\r\n    if (nextStep && nextStep.stepOrder != 1) {\r\n      this.resetField(step);\r\n      nextStep.viewData = [];\r\n      nextStep.viewData = nextStep.stepData.filter(x => x.relationalIds.includes(Number(value)));\r\n      \r\n    }\r\n  }  \r\n  resetField(stepIn : Step) {\r\n    this.steps.forEach(step => {\r\n      if (step.stepOrder > stepIn.stepOrder) {\r\n        step.viewData = undefined;\r\n        step.value = undefined;\r\n      }\r\n    });\r\n  }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable({\r\n    providedIn: \"root\",\r\n})\r\nexport class CommonTemplateService {\r\n    constructor(private http: HttpClient) { }\r\n    getTemplate(idCompany,url): Observable<any> {\r\n        return this.http.get<any>(`${url}/template/findByCompany/` + idCompany)\r\n    }\r\n    reloadStylePage(currentDocument: Document, templateCompany) {\r\n        let objects = (<HTMLCollection>currentDocument.getElementsByClassName(\"template\"));\r\n        // debugger\r\n        for (let index = 0; index < objects.length; index++) {\r\n            const item = objects[index];\r\n            let itemClassName = typeof (item.className) == \"object\" ? item.className['baseVal'] : item.className\r\n            let indexStart = itemClassName.indexOf(\"template\")\r\n            // let keyString = itemClassName.substring(indexStart, itemClassName.length).split(' ')[1]\r\n            const keysString = itemClassName.substring(indexStart, itemClassName.length).split(' ').filter(a => a.indexOf('tmp_') !== -1);\r\n\r\n            for (let keyString of keysString) {\r\n                if (templateCompany[keyString] != undefined) {\r\n                    if (keyString.includes(\"tmp_type_text_\")) {\r\n\r\n                        if (keyString.includes('tmp_type_text_6')) {\r\n                            item['style'].setProperty('--' + keyString, templateCompany[keyString].color)\r\n                        } else {\r\n                            item[\"style\"].color = templateCompany[keyString].color\r\n\r\n                            if(itemClassName.includes(\"ratting-faces-v2\"))\r\n                            {\r\n                                item[\"style\"].backgroundColor = templateCompany[keyString].color;\r\n                                item[\"style\"].borderColor = templateCompany[keyString].color;\r\n                                item[\"style\"].color = \"white\"\r\n                            }\r\n                        }\r\n                    }\r\n\r\n                    if (keyString.includes(\"title1\")) {\r\n                        /*item[\"style\"].color = templateCompany[keyString].color*/\r\n                        item[\"style\"].color = \"#EE7E0E\";\r\n                    }\r\n\r\n                    if (keyString.includes(\"tmp_type_svg_\")) {\r\n                        item[\"style\"].fill = templateCompany[keyString].fill\r\n                    }\r\n\r\n                    if (keyString.includes(\"tmp_type_img_\")) {\r\n                        if (item.nodeName == \"IMG\") {\r\n                            item[\"src\"] = templateCompany[keyString].src;\r\n                        }\r\n                        else {\r\n                            item[\"style\"].background = templateCompany[keyString].background;\r\n                            item[\"style\"].backgroundSize = templateCompany[keyString].backgroundSize;\r\n                        }\r\n                    }\r\n\r\n                    if (keyString.includes(\"tmp_type_head_\")) {\r\n                        item[\"style\"].setProperty('--' + keyString, templateCompany[keyString].color)\r\n                    }\r\n\r\n                    if (keyString.includes(\"tmp_type_footer_\")) {\r\n                        // debugger\r\n                        item[\"style\"].setProperty('--' + keyString, templateCompany[keyString].color)\r\n                    }\r\n\r\n                    if (itemClassName.includes(\"tmp_type_cnt_\")) {\r\n                        indexStart = itemClassName.indexOf(\"tmp_type_cnt_\")\r\n                        keyString = itemClassName.substring(indexStart, itemClassName.length).split(' ')[0]\r\n                        if (!!templateCompany[keyString]) {\r\n                            item[\"style\"].backgroundColor = templateCompany[keyString].backgroundColor\r\n                        }\r\n                    }\r\n\r\n                    if (keyString.includes('tmp_type_font_')) {\r\n                        item['style'].setProperty('font-family', templateCompany[keyString]['font-family'], 'important');\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\n","export class Fill {\r\n  id: number\r\n  value: string\r\n  type: number\r\n  data: string\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { RecaptchaModule, RecaptchaFormsModule } from 'ng-recaptcha';\r\nimport { FormAuroraComponent } from '../public-api';\r\n\r\n\r\n@NgModule({\r\n    declarations: [FormAuroraComponent],\r\n    imports: [\r\n        CommonModule,\r\n        FormsModule,        \r\n        RecaptchaModule,\r\n        RecaptchaFormsModule       \r\n    ],\r\n    exports: [FormAuroraComponent]\r\n})\r\nexport class FormAuroraModule { }","/*\r\n * Public API Surface of form-aurora\r\n */\r\nexport * from './lib/Components/from-aurora/form-aurora.component'\r\nexport * from './lib/services/TemplateService';\r\nexport * from './lib/services/data.service';\r\nexport * from './lib/utils/regex';\r\nexport * from './lib/Models/fill';\r\nexport * from './lib/form-aurora.module';\r\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 = {\r\n    default: {\r\n        exp: '^[a-zA-Z0-9ñÑáéíóúüÁÉÍÓÚÜ,.\\\\-_\\\\s]*$',\r\n        message: 'Formato inválido, no use caracteres especiales'\r\n    },\r\n    word: {\r\n        exp: '^[a-zA-Z0-9ñÑáéíóúüÁÉÍÓÚÜ,.\\\\-_]*$',\r\n        message: 'Formato inválido, no use caracteres especiales ni espacios'\r\n    },\r\n    name: {\r\n        exp: '^[a-zA-ZñÑáéíóúüÁÉÍÓÚÜ\\\\s]*$',\r\n        message: 'Formato inválido, no use caracteres especiales ni números'\r\n    },\r\n    alphanumberWord: {\r\n        exp: '^[a-zA-Z0-9]*$',\r\n        message: 'Formato alfanúmerico inválido'\r\n    },\r\n    charWord: {\r\n        exp: '^[a-zA-Z]*$',\r\n        message: 'Formato de caracteres inválido'\r\n    },\r\n    anyWord: {\r\n        exp: '^\\\\S*$',\r\n        message: 'Formato inválido'\r\n    },\r\n    percent: {\r\n        exp: '^100$|^[0-9]{1,2}$|^[0-9]{1,2}\\\\.[0-9]{1,2}$',\r\n        message: 'Formato de porcentaje inválido, use el punto decimal (.)'\r\n    },\r\n    email: {\r\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,}))$/,\r\n        message: 'Formato de e-mail inválido'\r\n    },\r\n    number: {\r\n        exp: '^[0-9]*$',\r\n        message: 'Formato de número inválido'\r\n    },\r\n    time24: {\r\n        exp: '^([01]?[0-9]|2[0-3]):[0-5][0-9]$',\r\n        message: 'Formato de hora militar inválido, use 23:45'\r\n    },\r\n    date: {\r\n        exp: '^[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}$',\r\n        message: 'Formato de fecha inválido',\r\n        internal: 'dd/mm/yyyy'\r\n    },\r\n    password: {\r\n        exp: '^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$',\r\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.'\r\n    }\r\n};\r\n","import { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n  providedIn: \"root\",\r\n})\r\nexport class CommonDataService {\r\n  public static COMPANY_KEY: string = \"company\";\r\n  public static DOC_NUMBER_KEY: string = \"docNumber\";\r\n  public static DOC_TYPE_KEY: string = \"docType\";\r\n  public static PHONE_KEY: string = \"phone\";\r\n  public static TYPE_ATTENTION_KEY: string = \"typeAttention\";\r\n  public static OFFICE_KEY: string = \"office\";\r\n  public static TYPE_TURN_KEY: string = \"typeTurn\";\r\n  public static SERVICE_KEY: string = \"service\";\r\n  public static TURN_KEY: string = \"turn\";\r\n  public static PROGRAMED_TURN_KEY: string = \"programedTurn\";\r\n  public static REQUEST_CALL: string = \"requestCall\";\r\n  public static FORM_DATA: string = \"formdata\";\r\n  public static TEMPLATE: string = \"template\";\r\n  public static TURN_RESCHEDULE: string = \"turnReschedule\";\r\n  public static USER_GENDER: string = \"genderUser\";\r\n  public static AUTO_REDIRECT: string = \"autoRedirect\";\r\n  public static SCHEDULE_GENERAL: string = \"scheduleGeneral\"\r\n  public static AGENDAMIENTO_TTP: string = \"potencialCustomer\"\r\n  public static SINGLE_PAGE_ONE: string = \"singlePageOne\"\r\n  public static AVAILABLE_SCHEDULE_GRAL: string = \"availableScheduleGral\"\r\n  public static PROFILE: string = \"profile\"\r\n  public static PAGE_NEXT: string = \"pageNext\"\r\n  public static STEPS: string = \"steps\"\r\n  public static TYPE_TURN_ID: string = \"typeTurnId\"\r\n\r\n\r\n  constructor() { }\r\n\r\n  private getData(): Map<string, any> {\r\n    if (localStorage.getItem(\"data\") != null) {\r\n      var data: Map<string, any> = new Map(JSON.parse(localStorage.getItem(\"data\")));\r\n      return data;\r\n    } else {\r\n      /** Error get cookie */\r\n    }\r\n  }\r\n\r\n  private setData(data: Map<string, any>) {\r\n    localStorage.setItem(\"data\", JSON.stringify(Array.from(data.entries())));\r\n  }\r\n\r\n  initData(): void {\r\n    this.setData(new Map());\r\n  }\r\n\r\n  putValue(key: string, value: any): void {\r\n    var data: Map<string, any> = this.getData();\r\n    data = data.set(key, value);\r\n    this.setData(data);\r\n  }\r\n\r\n  addValue(keyPrimary: string, keySecond: string, value): void {\r\n    var data: Map<string, any> = this.getValue(keyPrimary);\r\n    var dataReturn: Map<string, any> = this.getData();\r\n    data[keySecond] = value;\r\n    dataReturn = dataReturn.set(keyPrimary, data);\r\n    this.setData(dataReturn);\r\n  }\r\n\r\n  getValue(key: string): any {\r\n    return !this.getData() || !this.getData().has(key) ? undefined : this.getData().get(key);\r\n  }\r\n\r\n  hasValue(key: string): any {\r\n    return this.getData() != undefined ? this.getData().has(key) : null;\r\n  }\r\n\r\n  clearMap(): void {\r\n    if (this.hasValue(CommonDataService.COMPANY_KEY)) {\r\n      let company = this.getValue(CommonDataService.COMPANY_KEY);\r\n      this.initData();\r\n      this.putValue(CommonDataService.COMPANY_KEY, company);\r\n    } else {\r\n      this.initData();\r\n    }\r\n  }\r\n}\r\n","import {\r\n  Component,\r\n  Injectable,\r\n  Input,\r\n  ElementRef,\r\n  OnInit,\r\n  Renderer2,\r\n  ViewChild,\r\n  OnChanges,\r\n  SimpleChanges,\r\n  Output,\r\n  EventEmitter\r\n} from '@angular/core';\r\nimport { FormGroup, FormControl, NgForm, Form, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// import moment from 'moment';\r\nimport { NgbDateAdapter, NgbDateParserFormatter, NgbDateStruct, NgbDatepickerI18n } from '@ng-bootstrap/ng-bootstrap';\r\nimport * as moment_ from 'moment';\r\nimport { Fill } from '../../Models/fill';\r\nimport { regexType } from '../../utils/regex';\r\nimport { Company } from '../../Models/company';\r\nimport { Step } from '../../Models/step';\r\nimport { CommonDataService } from '../../services/data.service';\r\nconst moment = moment_;\r\n\r\n/**\r\n * This Service handles how the date is represented in scripts i.e. ngModel.\r\n */\r\n@Injectable()\r\nexport class CustomAdapter extends NgbDateAdapter<string> {\r\n\r\n  readonly DELIMITER = '/';\r\n\r\n  fromModel(value: string | null): NgbDateStruct | null {\r\n    if (value) {\r\n      const date = value.split(this.DELIMITER);\r\n      return {\r\n        day: parseInt(date[0], 10),\r\n        month: parseInt(date[1], 10),\r\n        year: parseInt(date[2], 10)\r\n      };\r\n    }\r\n    return null;\r\n  }\r\n\r\n  toModel(date: NgbDateStruct | null): string | null {\r\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 : '';\r\n  }\r\n}\r\n\r\n/**\r\n * This Service handles how the date is rendered and parsed from keyboard i.e. in the bound input field.\r\n */\r\n@Injectable()\r\nexport class CustomDateParserFormatter extends NgbDateParserFormatter {\r\n\r\n  readonly DELIMITER = '/';\r\n\r\n  parse(value: string): NgbDateStruct | null {\r\n    if (value) {\r\n      const date = value.split(this.DELIMITER);\r\n      return {\r\n        day: parseInt(date[0], 10),\r\n        month: parseInt(date[1], 10),\r\n        year: parseInt(date[2], 10)\r\n      };\r\n    }\r\n    return null;\r\n  }\r\n\r\n  format(date: NgbDateStruct | null): string {\r\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 : '';\r\n  }\r\n}\r\n\r\nconst I18N_VALUES = {\r\n  'es': {\r\n    weekdays: ['Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa', 'Do'],\r\n    months: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],\r\n    weekLabel: 'sem'\r\n  }\r\n  // other languages you would support\r\n};\r\n\r\n@Injectable()\r\nexport class I18n {\r\n  language = 'es';\r\n}\r\n\r\n// Define custom service providing the months and weekdays translations\r\n@Injectable()\r\nexport class CustomDatepickerI18n extends NgbDatepickerI18n {\r\n  constructor(private _i18n: I18n) {\r\n    super();\r\n  }\r\n\r\n  getWeekdayLabel(weekday: number): string {\r\n    return I18N_VALUES[this._i18n.language].weekdays[weekday - 1];\r\n  }\r\n\r\n  getWeekLabel(): string {\r\n    return I18N_VALUES[this._i18n.language].weekLabel;\r\n  }\r\n\r\n  getMonthShortName(month: number): string {\r\n    return I18N_VALUES[this._i18n.language].months[month - 1];\r\n  }\r\n\r\n  getMonthFullName(month: number): string {\r\n    return this.getMonthShortName(month);\r\n  }\r\n\r\n  getDayAriaLabel(date: NgbDateStruct): string {\r\n    return `${date.day}-${date.month}-${date.year}`;\r\n  }\r\n\r\n  getWeekdayShortName(weekday: number): string {\r\n    return I18N_VALUES[this._i18n.language].weekdays[weekday - 1];\r\n  };\r\n}\r\n\r\n\r\n@Component({\r\n  selector: 'lib-FormAurora',\r\n  templateUrl: './form-aurora.component.html',\r\n  styleUrls: ['./form-aurora.component.css'],\r\n  providers: [\r\n    { provide: NgbDateAdapter, useClass: CustomAdapter },\r\n    { provide: NgbDateParserFormatter, useClass: CustomDateParserFormatter },\r\n    { provide: NgbDatepickerI18n, useClass: CustomDatepickerI18n },\r\n    I18n\r\n  ]\r\n})\r\nexport class FormAuroraComponent implements OnInit, OnChanges {\r\n\r\n  @Input() dataClassCss: any;\r\n  @Input() dataForm: any;\r\n  @Input() clickSubmit: any;\r\n  @Input() dataReloadForm: any;\r\n  @Input() welcomeTitle: any;\r\n  @Input() welcomeDescription: any;\r\n  @Input() urlPdf: string;\r\n  @Input() nameCompany: string;\r\n  @Input() schedule: string;\r\n  @Input() isSimpleFlow: boolean;\r\n  @Input() steps: Step[];\r\n  @ViewChild('formDynamic', { static: true }) formDynamic: NgForm;\r\n  @Output() response = new EventEmitter<any>();\r\n  @Output() summit = new EventEmitter<any>();\r\n  @Output() viewAuthData = new EventEmitter<any>();\r\n  tipodocNumDoc: boolean = false;\r\n  countSubmit = 0;\r\n  watchValid = false;\r\n  watchRequired = false;\r\n  captchaValid: boolean = false;\r\n  today = moment(new Date());\r\n  maxYear = this.today.year();\r\n  minYear = this.today.year() - 82;\r\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()};\r\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()};\r\n  recharge: boolean = false;\r\n  indicativo: string = \"57\";\r\n  filldata: Fill;\r\n  defaultDocType: string = \"Cédula de ciudadanía\";\r\n  patternNotValidDcto: boolean = false;\r\n  patternNotValidCel: boolean = false;\r\n\r\n\r\n  constructor(private data: CommonDataService, private http: HttpClient) { }\r\n\r\n  ngOnInit(): void {\r\n    this.minDate = new Date(this.minDate).toISOString().split('T')[0]\r\n    setTimeout(() => {\r\n      this.startComponent();\r\n    }, 2000);\r\n  }\r\n\r\n\r\n  startComponent() {\r\n    //ordena los campos\r\n    if (this.dataForm != null && this.dataForm.formQuestions != undefined) {\r\n      //Same row fields\r\n      this.tipodocNumDoc = (this.dataForm.formQuestions.some(question => question.question.value === \"tipoDoc\") && this.dataForm.formQuestions.some(question => question.question.value === \"numeroDoc\")) ? true : false;\r\n\r\n      this.dataForm.formQuestions = this.dataForm.formQuestions.sort(function (a, b) {\r\n        return a.order - b.order;\r\n      });\r\n      let existcaptcha = this.dataForm.formQuestions.filter((item) => item.question.questionType.id == 6);\r\n\r\n      if (existcaptcha.length == 0) {\r\n        this.captchaValid = true;\r\n      }\r\n\r\n      for (const item of this.dataForm.formQuestions) {\r\n        if (item.question.maxlength == null || item.question.maxlength == undefined || item.question.maxlength == 0) {\r\n          item.question.maxlength = 524288; //defaultvalue\r\n        }\r\n\r\n        if (item.question.minLength == null || item.question.minLength == undefined) {\r\n          item.question.minLength = 0;\r\n        }\r\n\r\n        this.dataReloadForm.forEach(element => {\r\n          this.filldata = element;\r\n\r\n          if ((item.question.questionType.id === 2 || item.question.questionType.id === 1 ||\r\n            item.question.questionType.id === 3) && (this.filldata.data !== null &&\r\n              this.filldata.data !== undefined) && item.question.id === this.filldata.id) {\r\n            item.question.registred = this.filldata.data;\r\n          }\r\n        });\r\n\r\n        if (item.question.registred == null || item.question.minLength == undefined) {\r\n          item.question.registred = '';\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  range = new FormGroup({\r\n    start: new FormControl(),\r\n    end: new FormControl(),\r\n  });\r\n\r\n  resolvedCaptcha(captchaResponse: string) {\r\n    this.captchaValid = true\r\n    if (!this.formDynamic.form.value.captcha) {\r\n      this.formDynamic.controls.captcha.setValue(captchaResponse)\r\n      this.formDynamic.form.value.captcha = captchaResponse\r\n      document.getElementById(\"btnIng\").style.opacity = !this.formDynamic.valid ? \"0.65\" : \"1\";\r\n    }\r\n  }\r\n\r\n  //Forms\r\n  //Metodo para evitar el render de los items del for\r\n  public trackByIndex(index: number, obj: any): any {\r\n    return index;\r\n  }\r\n\r\n  onChangeValidPatter(event, question) {\r\n    if (question.pattern != undefined) {\r\n      let valid = true;\r\n      let keyvalid = [8, 32, 37, 38, 39, 40, 46, 9];\r\n      //diferente de Backpsace\r\n      //se deja catch por error no controlable en otro tiempo de ejecucion\r\n      try {\r\n        if (!keyvalid.includes(event.keyCode)) {\r\n          const regex = new RegExp(question.pattern);\r\n          valid = regex.test(event.key);\r\n        }\r\n      } catch (error) { }\r\n\r\n      return valid;\r\n    }\r\n    if (question.questionType !== undefined) {\r\n      if (question.questionType.description === 'Number') {\r\n        if (question.value === 'numeroDoc') {\r\n          this.validateNumeroDocumento(this.formDynamic.controls[\"numeroDoc\"].value.toString());\r\n        } else if (question.value === 'celular') {\r\n          this.validateCelular(this.formDynamic.controls[\"celular\"].value.toString());\r\n        }\r\n\r\n      }\r\n    }\r\n    document.getElementById(\"char\" + question.value).setAttribute(\"hidden\", \"true\");\r\n\r\n    //if temporal mientras se migran todos los tipos de campos al foreach\r\n    if (question.questionType.id != 11 && question.questionType.id != 7) {\r\n      if (this.validMinLength(this.formDynamic, question)) {\r\n        document.getElementById(question.value).style.borderColor = \"#FF0000\";\r\n        document.getElementById(\"ml\" + question.value).removeAttribute(\"hidden\");\r\n      }\r\n      else {\r\n        document.getElementById(question.value).style.borderColor = \"#E4E4E4\";\r\n        document.getElementById(\"ml\" + question.value).setAttribute(\"hidden\", \"true\");\r\n      }\r\n      if (this.validMaxLength(this.formDynamic, question)) {\r\n        document.getElementById(question.value).style.borderColor = \"#FF0000\";\r\n        document.getElementById(\"mxl\" + question.value).removeAttribute(\"hidden\");\r\n      }\r\n      else {\r\n        document.getElementById(question.value).style.borderColor = \"#E4E4E4\";\r\n        document.getElementById(\"mxl\" + question.value).setAttribute(\"hidden\", \"true\");\r\n      }\r\n    }\r\n\r\n\r\n    this.dataForm.formQuestions.forEach(formQuestion => {\r\n      switch (formQuestion.question.questionType.id) {\r\n        //se valida  campo de tipo calendario\r\n        case 7:\r\n          if (question.questionType.id == 7)\r\n            this.calendarRulesValidate(formQuestion);\r\n          break;\r\n        //se valida  campo de tipo email\r\n        case 11:\r\n          if (question.questionType.id == 11)\r\n            this.emailRulesValidate(formQuestion);\r\n          break;\r\n      }\r\n    });\r\n\r\n    document.getElementById(\"btnIng\").style.opacity = !this.formDynamic.valid ? \"0.65\" : \"1\";\r\n  }\r\n\r\n  validOnlyText(event) {\r\n    let regex = /^[a-zA-Z\\u00C0-\\u017F]+$/g;\r\n    if (event.charCode == 32) {\r\n      return true;\r\n    }\r\n    let valid = regex.test(event.key);\r\n\r\n    return valid;\r\n  }\r\n\r\n  validDate(event) {\r\n    /*let pattern = /(?:0[1-9]|[12][0-9]|3[01])\\/(?:0[1-9]|1[0-2])\\/(?:19|20)[0-9]{2}/;\r\n    const regex = new RegExp(pattern);\r\n    valid = regex.test(event.key);\r\n    */\r\n    const matches = String(event.key).match(regexType.date.exp);\r\n    let valid = true\r\n    if (matches === null)\r\n      valid = false;\r\n\r\n    // alert(valid);\r\n\r\n    return valid;\r\n\r\n  }\r\n\r\n  onChangeValidDate(event) {\r\n\r\n    //let pattern = /(?:0[1-9]|1[0-2])\\/(?:0[1-9]|[12][0-9]|3[01])\\/(?:19|20)[0-9]{2}/;\r\n    let dateN = /[0-9]|\\//\r\n    let valid = true\r\n    const regex = new RegExp(dateN);\r\n    valid = regex.test(event.key);\r\n    return valid;\r\n\r\n  }\r\n\r\n  rediretoutside(event, question) {\r\n    //se deja catch por error no controlable en otro tiempo de ejecucion\r\n    try {\r\n      event.preventDefault();\r\n      window.open(question.value, \"_blank\");\r\n    } catch (error) { }\r\n  }\r\n\r\n  /**\r\n   * Dispatch submit event for validations exists\r\n   * @param change \r\n   */\r\n  ngOnChanges(change: SimpleChanges) {\r\n    this.countSubmit++\r\n  }\r\n  //onSubmit(form: NgForm) {\r\n  onSubmit() {\r\n    let form = this.formDynamic;\r\n    this.watchValid = true;\r\n    this.watchRequired = true;\r\n\r\n    if (form.valid) {\r\n      if (!this.validRulesFields(form.controls[\"numeroDoc\"].value.toString(), form.controls[\"celular\"].value.toString(), form.controls[\"email\"].value))\r\n        return false;\r\n    }\r\n\r\n    if (this.validMinlenghtAllQuestions(form.value) && this.validMaxLengthAllQuestions(form.value) && form.valid) {\r\n      if (this.dataForm.urlSend != \"\" && this.captchaValid) {\r\n        this.http.post<any>(this.dataForm.urlSend, form.value).subscribe((resp) => this.response.emit(resp));\r\n      } else if (form.valid && this.captchaValid) {\r\n        this.summit.emit(form.value);\r\n      }\r\n    }\r\n  }\r\n\r\n  private findParamBoolean(params: any, idParam: number) {\r\n    let showDescriptionParam = params.find((x) => x.id == idParam);\r\n    return showDescriptionParam != null && showDescriptionParam.value == \"true\";\r\n  }\r\n\r\n  validRulesFields(numeroDoc: String, numeroCel: String, email: String): boolean {\r\n    // Validaciones para celular en caso de indicativo en Colombia\r\n    let cel = document.getElementById(\"charcelular\");\r\n    let doc = document.getElementById(\"charnumeroDoc\");\r\n    let valOk = true;\r\n    if (this.indicativo == \"+57\" || this.indicativo == \"57\") {\r\n      let stringOrdenado = this.orderString(numeroDoc);\r\n      if (this.nameCompany.toUpperCase() !== 'CLARO') {//claro acepta nro consecutivos\r\n        if (numeroDoc == stringOrdenado) {\r\n          doc.style.borderColor = \"#FF0000\";\r\n          doc.removeAttribute(\"hidden\");\r\n          doc.textContent = \"El numero documento No debe contener caracteres consecutivos\";\r\n          valOk = false;\r\n\r\n          //this.msgErrorCampo = \"El numero documento No debe contener caracteres consecutivos\";\r\n          //return false;\r\n        }\r\n      }\r\n      if (numeroCel.substring(0, 1) != \"3\") {\r\n        cel.style.borderColor = \"#FF0000\";\r\n        cel.removeAttribute(\"hidden\");\r\n        cel.textContent = \"El primer carácter del celular debe ser 3\";\r\n        valOk = false;\r\n\r\n        //this.msgErrorCampo = \"El primer carácter del celular debe ser 3\";\r\n        //return false;\r\n      }\r\n      /*\r\n      if (parseInt(numeroCel.substring(0, 3)) > 350) {\r\n        cel.style.borderColor = \"#FF0000\";\r\n        cel.removeAttribute(\"hidden\");\r\n        cel.textContent = \"El prefijo del celular no debe ser mayor a 350\";\r\n        valOk = false;\r\n        //this.msgErrorCampo = \"El prefijo del celular no debe ser mayor a 350\";\r\n        //return false;\r\n      }\r\n      */\r\n      //En caso de que el número se repita, ejemplo 33333333\r\n      let listnumber = numeroDoc.substring(0, 1);\r\n      for (let index = 1; index < numeroDoc.length; index++) {\r\n        listnumber = listnumber + numeroDoc.substring(0, 1);\r\n      }\r\n\r\n      if (numeroDoc == listnumber) {\r\n        doc.style.borderColor = \"#FF0000\";\r\n        doc.removeAttribute(\"hidden\");\r\n        doc.textContent = \"Caracteres numéricos no se pueden repetirse de manera continua \";\r\n        valOk = false;\r\n\r\n        //this.msgErrorCampo = \"Caracteres numéricos no se pueden repetirse de manera continua \";\r\n        //return false;\r\n      }\r\n      if (!this.validateNumeroDocumento(numeroDoc)) {\r\n        return false;\r\n      }\r\n      if (!this.validateCelular(numeroCel)) {\r\n        return false;\r\n      }\r\n\r\n\r\n      // En caso de que el número se repita, ejemplo 33333333\r\n      let arrayPhoneRepeat = Array.from(String(numeroCel), Number);\r\n      let arrayPhoneOutRepeat = [...new Set(arrayPhoneRepeat)];\r\n      if (arrayPhoneOutRepeat.length == 1) {\r\n        cel.style.borderColor = \"#FF0000\";\r\n        cel.removeAttribute(\"hidden\");\r\n        cel.textContent = \"El número que ingresa no es valido\";\r\n        valOk = false;\r\n        //this.msgErrorCampo = \"El número que ingresa no es valido\";\r\n        //return false;\r\n      }\r\n    } else if (this.indicativo == \"+593\" || this.indicativo == \"593\") {\r\n      if (numeroCel.substring(0, 1) != \"9\") {\r\n        cel.style.borderColor = \"#FF0000\";\r\n        cel.removeAttribute(\"hidden\");\r\n        cel.textContent = \"El primer carácter del celular debe ser 9\";\r\n        valOk = false;\r\n        //this.msgErrorCampo = \"El primer carácter del celular debe ser 9\";\r\n        //return false;\r\n      }\r\n    }\r\n    //se validan los campos por tipo de campo y no por value\r\n    this.dataForm.formQuestions.forEach(formQuestion => {\r\n      switch (formQuestion.question.questionType.id) {\r\n        //se valida  campo de tipo email\r\n        case 11:\r\n          valOk = this.emailRulesValidate(formQuestion);\r\n          break;\r\n      }\r\n    });\r\n\r\n    return valOk;\r\n  }\r\n\r\n  orderString(value: String) {\r\n    let arrayNumber = [];\r\n    for (let index = 0; index < value.length; index++) {\r\n      arrayNumber.push(parseInt(value.substring(index, index + 1)));\r\n    }\r\n    //ordena el array\r\n    arrayNumber.sort(function (a, b) {\r\n      return a - b;\r\n    });\r\n    let numberOrder = \"\";\r\n    numberOrder = arrayNumber[0];\r\n    for (let index = 1; index < arrayNumber.length; index++) {\r\n      numberOrder = numberOrder + (arrayNumber[0] + index).toString();\r\n    }\r\n    return numberOrder;\r\n  }\r\n\r\n  validMinlenghtAllQuestions(form: any): boolean {\r\n    for (const item of this.dataForm.formQuestions) {\r\n      if (item.question.questionType.id == 1 || item.question.questionType.id == 2) {\r\n        let minLength = parseInt(item.question.minLength);\r\n        let formValueLength = parseInt(form[item.question.value].toString().length);\r\n        if (minLength > 0 && formValueLength != minLength && formValueLength < minLength) return false;\r\n      }\r\n    }\r\n    return true;\r\n  }\r\n\r\n  validMaxLengthAllQuestions(form: any): boolean {\r\n    for (const item of this.dataForm.formQuestions) {\r\n      if (item.question.questionType.id == 1 || item.question.questionType.id == 2) {\r\n        let maxLength = parseInt(item.question.maxLength);\r\n        let formValueLength = parseInt(form[item.question.value].toString().length);\r\n        if (maxLength > 0 && formValueLength != maxLength && formValueLength > maxLength) return false;\r\n      }\r\n    }\r\n    return true;\r\n  }\r\n\r\n  validRequired(form: NgForm, question): Boolean {\r\n    //se deja catch por error no controlable en otro tiempo de ejecucion\r\n    try {\r\n      if (question != undefined && question.value != undefined) {\r\n        if (\r\n          form.controls[question.value] != undefined &&\r\n          form.controls[question.value].errors != null &&\r\n          form.controls[question.value].errors.required\r\n        ) {\r\n          return true;\r\n        }\r\n      }\r\n    } catch (error) { }\r\n    return false;\r\n  }\r\n\r\n  validMinLength(form: NgForm, question): Boolean {\r\n    //se deja catch por error no controlable en otro tiempo de ejecucion\r\n    try {\r\n      if (question != undefined && question.value != undefined) {\r\n        if (question.minLength > form.controls[question.value].value.toLocaleString().length && question.minLength > 0) {\r\n          return true;\r\n        }\r\n      }\r\n    } catch (error) { }\r\n    return false;\r\n  }\r\n\r\n  validMaxLength(form: NgForm, question): Boolean {\r\n    //se deja catch por error no controlable en otro tiempo de ejecucion\r\n    try {\r\n      if (question != undefined && question.value != undefined) {\r\n        if (question.maxLength > 0) {\r\n          if (question.maxLength + 1 <= form.controls[question.value].value.toString().replace(/\\./g, '').length) {\r\n            if (!this.formDynamic.controls[question.value].hasError('errorMaxLength')) {\r\n              this.formDynamic.controls[question.value].setErrors({ 'errorMaxLength': true })\r\n            }\r\n            return true;\r\n          }\r\n        }\r\n      }\r\n    } catch (error) { }\r\n    return false;\r\n  }\r\n\r\n  tycSelection(event) {\r\n    this.viewAuthData.emit(event);\r\n  }\r\n\r\n  openLabelUrl(event, question) {\r\n    event.preventDefault()\r\n    let tyc = <HTMLInputElement>document.getElementById(\"check\" + question.id);\r\n    tyc.style.color = \"#A3AD32\";\r\n    window.open(question.urllabel, \"_blank\");\r\n  }\r\n\r\n  cancellKeypress() {\r\n    return false;\r\n  }\r\n  emailRulesValidate(formQuestion) {\r\n    let valOk = true;\r\n    try {\r\n      let hasError = false;\r\n      document.getElementById(formQuestion.question.id).setAttribute(\"hidden\", \"true\");\r\n      let eml = document.getElementById(formQuestion.question.id);\r\n      let email = formQuestion.question.registred;\r\n      if (!hasError) {\r\n        if (formQuestion.question.required && (email == \"\" || email == undefined || email == null)) {\r\n          eml.style.borderColor = \"#FF0000\";\r\n          eml.textContent = \"El correco eléctronico es requerido\";\r\n          eml.removeAttribute(\"hidden\");\r\n          valOk = false;\r\n          hasError = true;\r\n        }\r\n      }\r\n      if (!hasError) {\r\n        if (this.validMinLength(undefined, formQuestion.question)) {\r\n          eml.style.borderColor = \"#FF0000\";\r\n          eml.textContent = \"Debe ser mínimo de \" + formQuestion.question.minLength + \" caracteres\";\r\n          document.getElementById(formQuestion.question.id).removeAttribute(\"hidden\");\r\n          valOk = false;\r\n          hasError = true;\r\n        }\r\n      }\r\n      if (!hasError) {\r\n        if (this.validMaxLength(undefined, formQuestion.question)) {\r\n          eml.style.borderColor = \"#FF0000\";\r\n          eml.textContent = \"Debe ser maximo de \" + formQuestion.question.maxLength + \" caracteres\";\r\n          document.getElementById(formQuestion.question.id).removeAttribute(\"hidden\");\r\n          valOk = false;\r\n          hasError = true;\r\n        }\r\n      }\r\n      if (!hasError) {\r\n\r\n        const matches = String(email).match(regexType.email.exp);\r\n        if (matches == null) {\r\n          eml.style.borderColor = \"#FF0000\";\r\n          eml.textContent = \"Tu email es invalido\";\r\n          eml.removeAttribute(\"hidden\");\r\n          valOk = false;\r\n          hasError = true;\r\n        }\r\n      }\r\n\r\n    } catch (error) {\r\n\r\n    }\r\n    return valOk;\r\n  }\r\n\r\n  calendarRulesValidate(formQuestion) {\r\n    let hasError = false;\r\n    try {\r\n      document.getElementById(formQuestion.question.id).setAttribute(\"hidden\", \"true\");\r\n      let ecalendar = document.getElementById(formQuestion.question.id);\r\n      //se valida que no sea null si es requerido\r\n      let date = formQuestion.question.registred;\r\n      if (formQuestion.question.required && (date == \"\" || date == undefined || date == null)) {\r\n        ecalendar.style.borderColor = \"#FF0000\";\r\n        ecalendar.textContent = \"La fecha es requerida\";\r\n        ecalendar.removeAttribute(\"hidden\");\r\n      }\r\n    } catch (error) {\r\n\r\n    }\r\n  }\r\n\r\n  validateNotSpace(event) {\r\n    if (event.charCode == 32) {\r\n      return false;\r\n    } else {\r\n      return true;\r\n    }\r\n  }\r\n  validateNumeroDocumento(numeroDoc: String) {\r\n    if (!numeroDoc.match(\"^[0-9]*$\")) {\r\n      this.formDynamic.controls[\"numeroDoc\"].setValidators([Validators.pattern('^[0-9]*$')]);\r\n      this.formDynamic.controls[\"numeroDoc\"].markAsDirty();\r\n      this.formDynamic.controls[\"numeroDoc\"].updateValueAndValidity();\r\n      this.formDynamic.controls[\"numeroDoc\"].markAsTouched();\r\n      this.patternNotValidDcto = true;\r\n      return false;\r\n    }\r\n    this.patternNotValidDcto = false;\r\n    return true;\r\n  }\r\n  validateCelular(numeroCel: String) {\r\n    if (!numeroCel.match(\"^[0-9]*$\")) {\r\n      this.formDynamic.controls[\"celular\"].setValidators([Validators.pattern('^[0-9]*$')]);\r\n      this.formDynamic.controls[\"celular\"].markAsDirty();\r\n      this.formDynamic.controls[\"celular\"].updateValueAndValidity();\r\n      this.formDynamic.controls[\"celular\"].markAsTouched();\r\n      this.patternNotValidCel = true;\r\n      return false;\r\n    }\r\n    this.patternNotValidCel = false;\r\n    return true;\r\n  }\r\n\r\n  onkeypress(event) {\r\n    return (event.charCode == 0) ? null : event.charCode >= 48 && event.charCode <= 57\r\n  }\r\n\r\n  onChangeStep(step: Step, nextStep: Step, value) {\r\n    if (nextStep && nextStep.stepOrder != 1) {\r\n      this.resetField(step);\r\n      nextStep.viewData = [];\r\n      nextStep.viewData = nextStep.stepData.filter(x => x.relationalIds.includes(Number(value)));\r\n\r\n    }\r\n  }\r\n  resetField(stepIn: Step) {\r\n    this.steps.forEach(step => {\r\n      if (step.stepOrder > stepIn.stepOrder) {\r\n        step.viewData = undefined;\r\n        step.value = undefined;\r\n      }\r\n    });\r\n  }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable({\r\n    providedIn: \"root\",\r\n})\r\nexport class CommonTemplateService {\r\n    constructor(private http: HttpClient) { }\r\n    getTemplate(idCompany,url): Observable<any> {\r\n        return this.http.get<any>(`${url}/template/findByCompany/` + idCompany)\r\n    }\r\n    reloadStylePage(currentDocument: Document, templateCompany) {\r\n        let objects = (<HTMLCollection>currentDocument.getElementsByClassName(\"template\"));\r\n        // debugger\r\n        for (let index = 0; index < objects.length; index++) {\r\n            const item = objects[index];\r\n            let itemClassName = typeof (item.className) == \"object\" ? item.className['baseVal'] : item.className\r\n            let indexStart = itemClassName.indexOf(\"template\")\r\n            // let keyString = itemClassName.substring(indexStart, itemClassName.length).split(' ')[1]\r\n            const keysString = itemClassName.substring(indexStart, itemClassName.length).split(' ').filter(a => a.indexOf('tmp_') !== -1);\r\n\r\n            for (let keyString of keysString) {\r\n                if (templateCompany[keyString] != undefined) {\r\n                    if (keyString.includes(\"tmp_type_text_\")) {\r\n\r\n                        if (keyString.includes('tmp_type_text_6')) {\r\n                            item['style'].setProperty('--' + keyString, templateCompany[keyString].color)\r\n                        } else {\r\n                            item[\"style\"].color = templateCompany[keyString].color\r\n\r\n                            if(itemClassName.includes(\"ratting-faces-v2\"))\r\n                            {\r\n                                item[\"style\"].backgroundColor = templateCompany[keyString].color;\r\n                                item[\"style\"].borderColor = templateCompany[keyString].color;\r\n                                item[\"style\"].color = \"white\"\r\n                            }\r\n                        }\r\n                    }\r\n\r\n                    if (keyString.includes(\"title1\")) {\r\n                        /*item[\"style\"].color = templateCompany[keyString].color*/\r\n                        item[\"style\"].color = \"#EE7E0E\";\r\n                    }\r\n\r\n                    if (keyString.includes(\"tmp_type_svg_\")) {\r\n                        item[\"style\"].fill = templateCompany[keyString].fill\r\n                    }\r\n\r\n                    if (keyString.includes(\"tmp_type_img_\")) {\r\n                        if (item.nodeName == \"IMG\") {\r\n                            item[\"src\"] = templateCompany[keyString].src;\r\n                        }\r\n                        else {\r\n                            item[\"style\"].background = templateCompany[keyString].background;\r\n                            item[\"style\"].backgroundSize = templateCompany[keyString].backgroundSize;\r\n                        }\r\n                    }\r\n\r\n                    if (keyString.includes(\"tmp_type_head_\")) {\r\n                        item[\"style\"].setProperty('--' + keyString, templateCompany[keyString].color)\r\n                    }\r\n\r\n                    if (keyString.includes(\"tmp_type_footer_\")) {\r\n                        // debugger\r\n                        item[\"style\"].setProperty('--' + keyString, templateCompany[keyString].color)\r\n                    }\r\n\r\n                    if (itemClassName.includes(\"tmp_type_cnt_\")) {\r\n                        indexStart = itemClassName.indexOf(\"tmp_type_cnt_\")\r\n                        keyString = itemClassName.substring(indexStart, itemClassName.length).split(' ')[0]\r\n                        if (!!templateCompany[keyString]) {\r\n                            item[\"style\"].backgroundColor = templateCompany[keyString].backgroundColor\r\n                        }\r\n                    }\r\n\r\n                    if (keyString.includes('tmp_type_font_')) {\r\n                        item['style'].setProperty('font-family', templateCompany[keyString]['font-family'], 'important');\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\n","export class Fill {\r\n  id: number\r\n  value: string\r\n  type: number\r\n  data: string\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { RecaptchaModule, RecaptchaFormsModule } from 'ng-recaptcha';\r\nimport { FormAuroraComponent } from '../public-api';\r\n\r\n\r\n@NgModule({\r\n    declarations: [FormAuroraComponent],\r\n    imports: [\r\n        CommonModule,\r\n        FormsModule,        \r\n        RecaptchaModule,\r\n        RecaptchaFormsModule       \r\n    ],\r\n    exports: [FormAuroraComponent]\r\n})\r\nexport class FormAuroraModule { }","/*\r\n * Public API Surface of form-aurora\r\n */\r\nexport * from './lib/Components/from-aurora/form-aurora.component'\r\nexport * from './lib/services/TemplateService';\r\nexport * from './lib/services/data.service';\r\nexport * from './lib/utils/regex';\r\nexport * from './lib/Models/fill';\r\nexport * from './lib/form-aurora.module';\r\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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"}
         
     |