{"version":3,"sources":["./src/app/shared/firmar-pdf-nuevo/firmar-pdf-nuevo.service.ts","./src/app/shared/modal/modal.component.ts","./src/app/shared/modal/modal.component.html","webpack:///crypto (ignored)?d2ff","./src/app/shared/firmar-pdf-nuevo/firmar-pdf-nuevo.component.ts","./src/app/shared/firmar-pdf-nuevo/firmar-pdf-nuevo.component.html","./src/app/core/sidebar/sidebar.component.ts","./src/app/core/sidebar/sidebar.component.html","crypto (ignored)","./src/app/core/topbar/topbar.constants.ts","node-fetch (ignored)","./src/app/shared/liveness-detection/store/liveness-detection.reducer.ts","util (ignored)","./src/app/shared/table-scroll/table-scroll.component.ts","./src/app/shared/table-scroll/table-scroll.component.html","./src/app/shared/liveness-detection/liveness-detection.constants.ts","./src/app/directives/control-value-accessor/value-accessor-base.ts","./src/app/shared/liveness-detection/liveness-detection.component.ts","./src/app/shared/liveness-detection/liveness-detection.component.html","./src/app/shared/material.module.ts","./src/app/shared/terminos-y-condiciones/terminos-y-condiciones.component.ts","./src/app/shared/terminos-y-condiciones/terminos-y-condiciones.component.html","./src/app/shared/loader-img/loader-img.component.ts","./src/app/shared/loader-img/loader-img.component.html","./src/app/directives/menu-dropdown/menu-dropdown.directive.ts","./src/app/shared/table/table.component.ts","./src/app/shared/table/table.component.html","./src/app/shared/firmar-pdf-free/firmar-pdf-free.service.ts","./src/app/core/topbar-modal/topbar-modal.constants.ts","./src/app/shared/liveness-detection/store/liveness-detection.actions.ts","./src/app/services/receptor.service.ts","./src/app/pipes/capitalize-name.pipe.ts","./src/app/shared/search/search.component.ts","./src/app/shared/search/search.component.html","./src/app/shared/input/input.component.ts","./src/app/shared/input/input.component.html","./src/app/shared/s3-image-destinatario/s3-image-destinatario.component.ts","./src/app/shared/s3-image-destinatario/s3-image-destinatario.component.html","./src/app/services/firma-rapida.service.ts","./src/app/shared/megafilter-select/megafilter-select.component.ts","./src/app/shared/megafilter-select/megafilter-select.component.html","./src/environments/environment.ts","./src/app/shared/wizard/wizard.component.ts","./src/app/shared/wizard/wizard.component.html","./src/app/core/topbar-modal/topbar-modal.component.ts","./src/app/core/topbar-modal/topbar-modal.component.html","./src/app/shared/multiselect/multiselect.component.ts","./src/app/shared/multiselect/multiselect.component.html","./src/app/shared/modal-visor/modal-visor.component.ts","./src/app/shared/modal-visor/modal-visor.component.html","./src/app/services/usuarios.service.ts","./src/app/shared/countdown-terceros/countdown-terceros.component.ts","./src/app/shared/countdown-terceros/countdown-terceros.component.html","./src/app/core/footer/footer.component.ts","./src/app/core/footer/footer.component.html","./src/app/shared/s3-image-preview/s3-image-preview.component.ts","./src/app/shared/s3-image-preview/s3-image-preview.component.html","./src/app/pipes/capitalize-first.pipe.ts","./src/app/services/dasboard.service.ts","./src/app/shared/switch/switch.component.ts","./src/app/shared/switch/switch.component.html","./src/app/shared/autocomplete/autocomplete.component.ts","./src/app/shared/autocomplete/autocomplete.component.html","./src/app/services/sharedCerrarVisorPdf.service.ts","./src/app/shared/daterangepicker/daterangepicker.component.ts","./src/app/shared/daterangepicker/daterangepicker.component.html","./src/app/services/title.service.ts","./src/app/interceptors/no-authorized.interceptor.ts","./src/app/services/notifications.service.ts","./src/app/shared/dropzone/dropzone.component.ts","./src/app/shared/dropzone/dropzone.component.html","./src/app/shared/dot-new/dot-new.component.ts","./src/app/shared/dot-new/dot-new.component.html","./src/app/auth/auth.component.ts","./src/app/auth/auth.component.html","./src/app/shared/datepicker/datepicker.component.ts","./src/app/shared/datepicker/datepicker.component.html","./src/app/shared/modal-terceros/modal-terceros.component.ts","./src/app/shared/modal-terceros/modal-terceros.component.html","./src/app/services/servicios-proceso.service.ts","./src/app/guards/logged-in.guard.ts","./src/app/shared/shared.module.ts","./src/app/directives/custom-color.directive.ts","./src/app/services/sharedActivarCargaDocumento.service.ts","./src/app/shared/dropzone-subir/dropzone-subir.component.ts","./src/app/shared/dropzone-subir/dropzone-subir.component.html","./src/app/shared/firmar-pdf/firmar-pdf.component.ts","./src/app/shared/firmar-pdf/firmar-pdf.component.html","./src/app/shared/dropzone-subir-free/dropzone-subir-free.component.ts","./src/app/shared/dropzone-subir-free/dropzone-subir-free.component.html","./src/app/store/app.reducer.ts","./src/app/directives/input-password/input-password.directive.ts","./src/app/shared/tooltip/tooltip.component.ts","./src/app/shared/tooltip/tooltip.component.html","./src/app/app.component.ts","./src/app/app.component.html","./src/app/services/form-validation.service.ts","./src/app/pages/error/unauthorized/unauthorized.component.ts","./src/app/pages/error/unauthorized/unauthorized.component.html","./src/app/auth/auth.validators.ts","./src/app/services/password-validators.service.ts","./src/app/shared/loader-firmar/loader-firmar.component.ts","./src/app/shared/loader-firmar/loader-firmar.component.html","./src/app/services/oficina.service.ts","./src/app/shared/modal-documentos/modal-documentos.component.ts","./src/app/shared/modal-documentos/modal-documentos.component.html","./src/app/shared/dropzone-documentos/dropzone-documentos.component.ts","./src/app/shared/dropzone-documentos/dropzone-documentos.component.html","./src/app/shared/alert/alert.component.ts","./src/app/shared/alert/alert.component.html","./src/app/services/documento.service.ts","./src/app/services/compartirDatos.service.ts","./src/app/shared/modal-free/modal-free.component.ts","./src/app/shared/modal-free/modal-free.component.html","./src/app/pages/error/not-found/not-found.component.ts","./src/app/pages/error/not-found/not-found.component.html","./src/app/shared/pdf-overlay/pdf-overlay.component.ts","./src/app/shared/pdf-overlay/pdf-overlay.component.html","./src/app/services/sharedPlan.service.ts","./src/app/shared/modal-lectura/modal-lectura.component.ts","./src/app/shared/modal-lectura/modal-lectura.component.html","./src/app/core/notifications/notifications.component.ts","./src/app/core/notifications/notifications.component.html","./src/app/services/sharedCerrarVisor.service.ts","./src/app/shared/firmar-pdf-masivo/firmar-pdf-masivo.component.ts","./src/app/shared/firmar-pdf-masivo/firmar-pdf-masivo.component.html","./src/app/auth/auth.module.ts","./src/app/util/custom-validators.ts","./src/app/app.module.ts","./src/app/services/sharedAvatar.service.ts","./src/app/shared/liveness-detection/liveness-detection.util.ts","./src/app/services/firma-holografica.service.ts","./src/app/shared/wizard-step/wizard-step.component.ts","./src/app/shared/wizard-step/wizard-step.component.html","./src/app/shared/box-area/box-area.component.ts","./src/app/shared/box-area/box-area.component.html","./src/app/guards/not-logged-in.guard.ts","./src/app/shared/table-pagination-usuarios/table-pagination-usuarios.component.ts","./src/app/shared/table-pagination-usuarios/table-pagination-usuarios.component.html","./src/app/services/sharedActivarTitle.service.ts","./src/app/shared/password-validators/password-validators.component.ts","./src/app/shared/password-validators/password-validators.component.html","./src/app/services/api/challenge.service.ts","./src/app/shared/loader-scroll-preview/loader-scroll-preview.component.ts","./src/app/shared/loader-scroll-preview/loader-scroll-preview.component.html","./src/app/shared/loader-full-screen/loader-full-screen.component.ts","./src/app/shared/loader-full-screen/loader-full-screen.component.html","./src/app/shared/table-pagination-color/table-pagination-color.component.ts","./src/app/shared/table-pagination-color/table-pagination-color.component.html","./src/app/interceptors/token.interceptor.ts","./src/app/services/proceso.service.ts","./src/app/services/upload.service.ts","./src/app/shared/s3-image-main/s3-image-main.component.ts","./src/app/shared/s3-image-main/s3-image-main.component.html","./src/app/shared/table-pagination/table-pagination.component.ts","./src/app/shared/table-pagination/table-pagination.component.html","./src/app/services/personalizacion.service.ts","./src/app/shared/picker-calendar/picker-calendar.component.ts","./src/app/shared/picker-calendar/picker-calendar.component.html","./src/app/shared/mega-filter/mega-filter.component.ts","./src/app/shared/mega-filter/mega-filter.component.html","./src/app/services/opciones.service.ts","./src/app/services/auth.service.ts","./src/app/services/sharedCargarDocumentos.service.ts","./src/app/util/base-unsubscribe.ts","./src/app/services/alert-global-logout.service.ts","./src/app/directives/placeholder/placeholder.directive.ts","./src/app/shared/loader/loader.component.ts","./src/app/shared/loader/loader.component.html","./src/app/services/permisos.service.ts","./src/app/core/core.module.ts","./src/app/shared/liveness-detection/liveness-detection.service.ts","./src/app/shared/s3-image/s3-image.component.ts","./src/app/shared/s3-image/s3-image.component.html","./src/app/shared/modal-felicitaciones/modal-felicitaciones.component.ts","./src/app/shared/modal-felicitaciones/modal-felicitaciones.component.html","./src/app/shared/s3-image-bloqueo/s3-image-bloqueo.component.ts","./src/app/shared/s3-image-bloqueo/s3-image-bloqueo.component.html","./src/app/shared/terminos-y-condiciones-plan/terminos-y-condiciones-plan.component.ts","./src/app/shared/terminos-y-condiciones-plan/terminos-y-condiciones-plan.component.html","./src/app/core/topbar/topbar.component.ts","./src/app/core/topbar/topbar.component.html","./src/app/shared/firmar-pdf-free/firmar-pdf-free.component.ts","./src/app/shared/firmar-pdf-free/firmar-pdf-free.component.html","./src/app/shared/firmar-pdf/fimar-pdf.service.ts","./src/app/shared/dropzone-avatar/dropzone-avatar.component.ts","./src/app/shared/dropzone-avatar/dropzone-avatar.component.html","./src/app/services/empresa.service.ts","./src/app/directives/menu-dropdown/menu-expanded.service.ts","./src/app/shared/firma-facial/firma-facial.component.ts","./src/app/shared/firma-facial/firma-facial.component.html","./src/app/services/marketplace.service.ts","./src/app/services/sidebar.service.ts","./src/app/services/api/base/api.service.ts","./src/app/services/seguimiento.service.ts","./src/app/shared/notifications/notifications.component.ts","./src/app/shared/notifications/notifications.component.html","./src/app/shared/countdown/countdown.component.ts","./src/app/shared/countdown/countdown.component.html","./src/app/shared/modal-inicio/modal-inicio.component.ts","./src/app/shared/modal-inicio/modal-inicio.component.html","./src/app/directives/control-value-accessor/text-value-accessor.directive.ts","./src/app/shared/megafilter-pagination/megafilter-pagination.component.ts","./src/app/shared/megafilter-pagination/megafilter-pagination.component.html","./src/app/shared/loader-scroll/loader-scroll.component.ts","./src/app/shared/loader-scroll/loader-scroll.component.html","./src/app/services/apiniubiz.service.ts","./src/app/shared/mega-filter-color/mega-filter-color.component.ts","./src/app/shared/mega-filter-color/mega-filter-color.component.html","./src/app/util/countries.ts","./src/main.ts","./$_lazy_route_resource lazy namespace object","./src/app/services/shared.service.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["import { Injectable } from \"@angular/core\";\n\n@Injectable()\nexport class FirmarPdfNuevoService {\n /**\n * To save the checkboxes status, only for massive signature\n */\n checkStatusList: boolean[];\n /**\n * To save the signatures status, only for massive signature\n */\n signStatusList: boolean[];\n\n /**\n * Build the initial checkboxes status.\n */\n buildCheckboxesStatus(length: number): void {\n this.checkStatusList = Array.from({ length }, () => false);\n }\n\n /**\n * Build the initial signatures status.\n */\n buildSignaturesStatus(length: number): void {\n this.signStatusList = Array.from({ length }, () => false);\n }\n}","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { CompartirDatosService } from '@noe/services/compartirDatos.service';\n\n\n@Component({\n selector: 'app-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss']\n})\nexport class ModalComponent implements OnInit {\n\n @Input('titleModal') title:string\n @Input('subtitle') subtitle:string\n @Input('loading') loading:boolean\n @Input('confirmText') confirmText:string = 'Confirmar'\n @Input('cancelText') cancelText:string = 'Cancelar'\n @Input('closeOnConfirm') closeOnConfirm:boolean = true\n @Input('disableConfirm') disableConfirm:boolean\n @Input('hide-footer') hideFooter:boolean\n @Input('big') big:boolean\n @Input('fullScreen') fullScreen:boolean\n @Input('auto-width') autoWidth:boolean\n @Input('scroller') scroller:boolean\n\n @Output() \n onclose: EventEmitter = new EventEmitter();\n @Output()\n onconfirm: EventEmitter = new EventEmitter();\n\n isOpen:boolean\n\n constructor(\n public compartirDatosService: CompartirDatosService\n ) { }\n\n ngOnInit(): void {\n }\n\n open() {\n const body = document.getElementsByTagName('body')[0];\n body.classList.add('modal-open');\n this.isOpen = true\n }\n\n close() {\n const body = document.getElementsByTagName('body')[0];\n body.classList.remove('modal-open');\n this.isOpen = false;\n this.onclose.emit();\n this.compartirDatosService.changeMessage(false);\n }\n\n confirm() {\n this.onconfirm.emit()\n if (this.closeOnConfirm) this.isOpen = false\n }\n\n}\n","
\n
\n\n
\n

{{title}}

\n \n
\n\n
\n \n
\n\n
\n \n \n
\n\n
\n
\n","/* (ignored) */","import { \n Component, \n OnInit, \n Input, \n Output, \n ViewChild, \n ElementRef, \n HostListener, \n EventEmitter, \n OnChanges, \n SimpleChanges\n} from '@angular/core';\n\nimport { SignaturePadComponent } from '@almothafar/angular-signature-pad';\nimport { Storage } from 'aws-amplify';\n\nimport { FirmaHolograficaService } from 'src/app/services/firma-holografica.service';\nimport { firma } from 'src/app/util/types';\nimport { ModalComponent } from '../modal/modal.component';\nimport { FirmaHolografica } from 'src/app/models/FirmaHolografica.model';\nimport { NotificationsService } from 'src/app/services/notifications.service';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { FirmarPdfNuevoService } from './firmar-pdf-nuevo.service';\nimport { ServiciosProcesoService } from '../../services/servicios-proceso.service';\nimport { S3ImagePreviewComponent } from '../s3-image-preview/s3-image-preview.component';\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport { ProcesoFirma } from '@noe/models/ProcesoFirma.model';\nimport { Subject, Subscription } from 'rxjs';\nimport { NgxCopilotService } from 'ngx-copilot';\nimport { ModalFelicitacionesComponent } from '../modal-felicitaciones/modal-felicitaciones.component';\nimport { Router } from '@angular/router';\nimport { delay } from 'rxjs/operators';\nimport { FormControl } from '@angular/forms';\nimport { ReceptorService } from '@noe/services/receptor.service';\nimport { UsuariosService } from '@noe/services/usuarios.service';\n\n@Component({\n selector: 'app-firmar-pdf-nuevo',\n templateUrl: './firmar-pdf-nuevo.component.html',\n styleUrls: ['./firmar-pdf-nuevo.component.scss'],\n providers: [FirmarPdfNuevoService]\n})\nexport class FirmarPdfNuevoComponent implements OnChanges, OnInit {\n\n @ViewChild('signature') pad:SignaturePadComponent\n @ViewChild('viewer') viewer: ElementRef\n @ViewChild('current') current: S3ImagePreviewComponent\n //@ViewChild('main') main: S3ImageMainComponent\n @ViewChild('modalDibujar') modalDibujar:ModalComponent\n @ViewChild('modalFelicitaciones') modalFelicitaciones:ModalFelicitacionesComponent\n @ViewChild('modalCargar') modalCargar:ModalComponent\n @ViewChild('modalTerminos') modalTerminos:ModalComponent\n @ViewChild('modalCambiarmeCuentaPago') modalCambiarmeCuentaPago:ModalComponent\n @ViewChild('overlayCanvas') canvasElement: ElementRef;\n @ViewChild('modalCerrarDocumento') modalCerrarDocumento:ModalComponent;\n\n @ViewChild('currentPage') inputSearch;\n @ViewChild('tabGroup') tabGroup;\n @ViewChild(CdkVirtualScrollViewport) viewport: CdkVirtualScrollViewport;\n subscriptions = new Subscription();\n scrollToIndex$: Subject = new Subject();\n\n @Input('masivo') set masivo (valor: boolean) {\n this._masivo = valor\n }\n pdfList:any[] = []\n @Input('pdfList') set getPdfList (lista: any) {\n this.pdfList = [...lista];\n\n if (this._masivo) {\n this.initFirmasMasivo();\n }\n }\n @Input('files') files:string[] = [];\n @Input('filesThumbs') filesThumbs:string[] = [];\n @Input('loading') loading:boolean;\n @Input('currentDoc') currentDoc: any;\n @Output() \n onconfirm: EventEmitter = new EventEmitter()\n @Output() onCheckTodosPaginas: EventEmitter = new EventEmitter()\n @Input() childMessage: any;\n\n masivoCurrent: number = 0;\n _masivo:boolean;\n // only for single doument.\n isSignedDoc: boolean = false;\n esGratis:boolean\n @Input('loading') loadingScroll:boolean = false;\n @Input('loading') loadingScrollThumb:boolean = false;\n\n public albumdetails = [];\n currentFirmar:any\n proceso:ProcesoFirma | any\n cargaId:string\n currentServ:any\n imagenesPdf = [];\n items = [];\n itemsThumbs = [];\n selectFirma: boolean = false;\n selectFirmaSize: boolean = false;\n posicionFirma: boolean = false;\n textoFirmar: boolean = false;\n firma: boolean = false;\n fondoPosicionFirmar: boolean = false;\n selected: any;\n selectedTabs = new FormControl(0);\n\n numberPage:number = 0\n pageActive:number = 1\n cantidadPaginas: number = 0;\n nombreDocumento: string;\n loaderFirmar: boolean = false;\n verUbicarFirma: boolean = false;\n verFirmaIndividual: boolean = false;\n flagOnboarding: number;\n rotateLoader: boolean\n agregarLoader: boolean\n\n constructor(\n public firmaHolograficaService: FirmaHolograficaService,\n public notify: NotificationsService,\n public authService: AuthService,\n private signService: FirmarPdfNuevoService,\n public serviciosProcesoService: ServiciosProcesoService,\n private copilot: NgxCopilotService,\n public router: Router,\n public service: ReceptorService,\n private userService: UsuariosService\n ) { \n\n }\n\n draggingCorner: boolean\n draggingWindow: boolean\n\n ngOnChanges(change: SimpleChanges): void { \n const { masivo, currentDoc } = change;\n if (masivo) {\n this.masivo = masivo.currentValue;\n this.signService.buildCheckboxesStatus(this.pdfList.length);\n this.signService.buildSignaturesStatus(this.pdfList.length);\n \n console.log('ngOnChanges : pdfList',this.pdfList)\n console.log('ngOnChanges : pdfList',this.pdfList[0])\n }\n\n if (!!currentDoc && currentDoc?.currentValue) {\n const { signedStatusDocument, statusSignatureExternal } = currentDoc.currentValue;\n this.isSignedDoc = !!signedStatusDocument && !!this.authService.obtenerEstadoActivarTimbrado() && !statusSignatureExternal;\n }\n\n }\n\n ngOnInit(): void {\n this.listarFirmasHolograficas();\n this.esGratis = this.authService.obtenerTipoCuenta() === 'GRATUITA'\n console.log('pdfList', this.pdfList)\n //this.esGratis = true\n //this.cargarImagenesInit();\n }\n\n modificarOnboarding() {\n this.service.ModificarOnboarding(this.authService.obtenerUsername(), this.authService.obtenerSubdominio()).subscribe(data => {\n console.log(data,'modificarOnboarding');\n }, error => {\n console.log(error)\n })\n }\n \n estadoOnboarding() {\n this.userService.obtenerUsuario(\n this.authService.obtenerUsername(), \n this.authService.obtenerSubdominio())\n .subscribe(data => {\n this.flagOnboarding = data.flagOnboarding\n if (this.firmasUsuario.length > 0) {\n if (this.flagOnboarding == 0) {\n this.init();\n }\n }\n console.log(data.flagOnboarding, 'estadoOnboarding') \n }, error => {\n console.log(error)\n }); \n }\n\n verBloqueoFirma() {\n this.verUbicarFirma = true;\n console.log(this.verUbicarFirma, 'verBloqueoFirma');\n }\n\n removeTabSelected:number\n modalremoveTab(i){\n if(this.pdfList.length > 1){\n this.removeTabSelected = i\n this.modalCerrarDocumento.open();\n console.log('removeTabSelected modalremoveTab',this.removeTabSelected)\n console.log('i',i)\n //this.pdfList.splice(i, 1);\n }\n }\n removeTab(){\n this.pdfList.splice(this.removeTabSelected, 1);\n this.firmasMasivo.splice(this.removeTabSelected, 1);\n //this.firmasMasivo[this.removeTabSelected] = [] //FALTA ELIMINAR LA FIRMA SI SE INCRUSTO\n this.masivoCurrent = this.removeTabSelected\n if(this.masivoCurrent == 0 ){\n this.navegarMasivo('next')\n }else{\n this.navegarMasivo('prev')\n }\n console.log('removeTabSelected removeTab',this.removeTabSelected)\n console.log('masivoCurrent removeTab',this.masivoCurrent)\n console.log('firmasMasivo removeTab',this.firmasMasivo)\n this.modalCerrarDocumento.close();\n \n }\n\n scrollEnd() {\n this.subscriptions.add(\n this.scrollToIndex$\n .pipe(delay(0))\n .subscribe(() =>\n this.viewport.scrollTo({ bottom: 0, behavior: 'smooth' })\n )\n );\n this.scrollToIndex$.next();\n }\n\n scrollStart() {\n this.subscriptions.add(\n this.scrollToIndex$\n .pipe(delay(0))\n .subscribe(() =>\n this.viewport.scrollTo({ top: 0, behavior: 'smooth' })\n )\n );\n this.scrollToIndex$.next();\n }\n\n select(item, $event) {\n this.selected = (this.selected === item ? null : item);\n $event ? $event.stopPropagation() : null;\n }\n\n isActive(item) {\n return this.selected === item;\n }\n\n selectMasivo(item, $event) {\n this.selected = (this.selected === item ? null : item);\n $event ? $event.stopPropagation() : null;\n }\n \n isActiveMasivo(item) {\n return this.selected === item;\n }\n\n selectMasivoMenu(item, $event) {\n this.selected = (this.selected === item ? null : item);\n $event ? $event.stopPropagation() : null;\n }\n\n isActiveMasivoMenu(item) {\n return this.selected === item;\n }\n\n selectIndividualMenu(item, $event) {\n this.selected = (this.selected === item ? null : item);\n $event ? $event.stopPropagation() : null;\n }\n \n isActiveIndividualMenu(item) {\n return this.selected === item;\n }\n\n selectBoton(item, $event) {\n this.selected = (this.selected === item ? null : item);\n $event ? $event.stopPropagation() : null;\n }\n\n isActiveBoton(item) {\n return this.selected === item;\n }\n\n verSelectFirma() {\n this.selectFirma = true;\n }\n\n sinSelectFirma() {\n this.selectFirma = false;\n }\n\n verSelectFirmaSize() {\n this.selectFirmaSize = true;\n }\n\n sinSelectFirmaSize() {\n this.selectFirmaSize = false;\n }\n\n verTextoFirma() {\n this.textoFirmar = true;\n }\n\n sinTextoFirma() {\n this.textoFirmar = false;\n }\n\n verFondoPosicionFirmar() {\n this.fondoPosicionFirmar = true;\n }\n\n sinFondoPosicionFirmar() {\n this.fondoPosicionFirmar = false;\n }\n\n verPosicionFirma() {\n this.posicionFirma = true;\n }\n\n sinPosicionFirma() {\n this.posicionFirma = false;\n }\n\n verFirma() {\n this.firma = true;\n }\n\n sinFirma() {\n this.firma = false;\n }\n\n\n /*Re initialize in specify step*/\n initPosition(stepNumber: any) { \n this.copilot.checkInit(stepNumber);\n } \n\n /*Initialize*/\n init() {\n this.viewport.scrollToIndex(100, 'smooth');\n setTimeout(() => {\n this.copilot.checkInit();\n this.selectFirma = true;\n }, 1500)\n this.textoFirmar = false;\n this.fondoPosicionFirmar = true;\n this.selectFirmaSize = false;\n this.posicionFirma = false;\n this.firma = false;\n } \n\n /*Next Step*/\n siguiente(stepNumber: any) { \n this.copilot.next(stepNumber);\n } \n \n /*Finish*/\n omitir() {\n this.copilot.removeWrapper();\n this.textoFirmar = false;\n this.fondoPosicionFirmar = false;\n this.selectFirma = false;\n this.selectFirmaSize = false;\n this.posicionFirma = false;\n this.firma = false;\n //this.modificarOnboarding();\n } \n\n handlerPrev(){\n console.log(\"this.pdfList\",this.pdfList, this.notEmptyPost)\n if (this.notEmptyPost && !this._masivo) {\n this.loadingScrollThumb = true;\n this.getImages(this.items.length);\n }\n\n if(this.pdfList.length > 0){\n if (this.pdfList[this.masivoCurrent].notEmptyPost && this._masivo) {\n console.log(\"handlerPrev MASIVO\")\n this.loadingScrollThumb = true;\n this.getImages(this.pdfList[this.masivoCurrent].imagenes.length);\n }\n }\n }\n\n cargarImagenesMasiveInit(){\n this.loaderFirmar = false;\n this.checkPaginas = false;\n this.estadoOnboarding();\n this.verUbicarFirma = false;\n this.verFirmaIndividual = false;\n console.log(\"%%%%%%%%%%%%%\",this.pdfList)\n this.loadingScroll = true;\n this.loadingScrollThumb = true;\n this.items = []\n if (this._masivo) {\n this.items = []\n this.pdfList[0].imagenes = []\n }\n this.getImages(0); \n\n for (let index = 1; index < this.pdfList.length; index++) {\n const element = this.pdfList[index];\n this.nextLoadDocuments(element,index)\n }\n }\n\n nextLoadDocuments(doc:any,index:number){\n const bodyPages:any = {\n idProcess: doc.idProcess,\n filePath: doc.filePath,\n idDocumentSigningProcess: doc.id,\n idCompany: this.authService.obtenerIdEmpresaActiva(),\n count_page: 0\n }\n this.serviciosProcesoService.convertirPDFImagePagination(bodyPages).subscribe((data) => {\n this.pdfList[index].imagenes = data['paginas'];\n this.pdfList[index].cantidadPaginas = data['cantidadPaginas'];\n this.pdfList[index].nombreDocumento = data['nombreDocumento'];\n this.firmasMasivo[index] = []\n }, error => {\n console.log(error)\n })\n }\n\n cargarImagenesInit(){ \n this.checkPaginas = false;\n this.loaderFirmar = false;\n this.estadoOnboarding();\n this.verUbicarFirma = false;\n this.verFirmaIndividual = false;\n console.log(\"##############\",this.items)\n console.log(\"%%%%%%%%%%%%%\",this.pdfList)\n this.loadingScroll = true;\n this.loadingScrollThumb = true;\n this.items = []\n this.pdfList = []\n this.getImages(0); \n }\n\n handler(){\n console.log(\"this.pdfList\",this.pdfList, this.notEmptyPost)\n if (this.notEmptyPost && !this._masivo) {\n this.loadingScroll = true;\n this.getImages(this.items.length);\n }\n\n if (this.pdfList.length > 0){\n if (this.pdfList[this.masivoCurrent].notEmptyPost && this._masivo) {\n console.log(\"handler MASIVO\")\n this.loadingScroll = true;\n this.getImages(this.pdfList[this.masivoCurrent].imagenes.length);\n }\n }\n }\n\n notEmptyPost:boolean = true;\n getImages(total:number){\n console.log('childMessage getImages',this.childMessage)\n const bodyPages:any = {\n idProcess: this.childMessage.idProcess,\n filePath: this.childMessage.filePath,\n idDocumentSigningProcess: this.pdfList.length>0 ? this.pdfList[this.masivoCurrent].id : this.childMessage.idDocumentSigningProcess,\n idCompany: this.childMessage.idCompany,\n count_page: total\n }\n console.log(bodyPages, 'ENVIO PAGINAS SCROLL getImages')\n this.serviciosProcesoService.convertirPDFImagePagination(bodyPages).subscribe((data) => {\n console.log(\"&&&&&&&&&&&&&&&&&&&&&&&&&\",data)\n this.notEmptyPost = data['paginas'].length === 0 ? false : true;\n this.cantidadPaginas = data['cantidadPaginas']\n this.nombreDocumento = data['nombreDocumento']\n \n this.items = [\n ...this.items,\n ...data['paginas'].map((value, i) => {\n return value\n })\n ];\n console.log(this.masivoCurrent,this.pdfList)\n //console.log(this.pdfList[this.masivoCurrent])\n if(this.pdfList.length > 0){\n this.pdfList[this.masivoCurrent].cantidadPaginas = data['cantidadPaginas'];\n this.pdfList[this.masivoCurrent].imagenes = [\n ...this.pdfList[this.masivoCurrent].imagenes, \n ...data['paginas'].map((value, i) => {\n return value\n })\n ]\n this.pdfList[this.masivoCurrent].notEmptyPost = data['paginas'].length === 0 ? false : true;\n }\n \n this.loadingScroll = false;\n this.loadingScrollThumb = false;\n //console.log(this.items,'CARGANDO DATA NUEVA');\n if (this.numberPage == 0) {\n this.getMasiveImagens()\n }\n }, error => {\n console.log(error)\n })\n }\n\n countPage() {\n for (let i = 3; i <= 20; i += 4) {\n console.log(i, 'Valor');\n }\n }\n\n checkFirmarTodas:boolean\n\n mensaje: string = \"Firmar\";\n saludo(value) {\n this.mensaje = value;\n }\n\n mensajeDocumentos: string = \"Documentos\";\n saludoDocumentos(value) {\n this.mensajeDocumentos = value;\n }\n\n mensajeCheck: string = \"Check\";\n saludoCheck(value) {\n this.mensajeCheck = value;\n }\n\n initFirmasMasivo() {\n this.firmasMasivo.length = this.pdfList.length;\n this.firmasMasivo.forEach(f => {\n f = []; \n f.forEach(p => {\n p = [];\n });\n });\n }\n\n \n //christian anchivilca\n comboPersonalizacionSelect:any \n idNameCombo:string\n idKeyCombo:string\n verNumeroPaginas :boolean=false\n txtNumeroPaginas:string\n tipos:any[] = [\n 'Todos',\n //'Personalizado'\n ]\n\n options = [\n \n { name: \"Todos\", value: 1 },\n //{ name: \"Personalizado\", value: 2 }\n ]\n\n getPersonalizar(){\n //this.comboPersonalizacionSelect = this.tipos[this.tipos.length - 1]\n if(this.comboPersonalizacionSelect === 'Personalizado'){\n this.verNumeroPaginas = true\n }else{\n this.verNumeroPaginas = false\n }\n }\n\n firmaSeleccionada:any\n \n firmasUsuario:any[] = []\n loadingFirmas:boolean\n listarFirmasHolograficas() {\n \n this.loadingFirmas = true\n this.firmaHolograficaService.listarFirmas(\n this.authService.obtenerIdEmpresaActiva(),\n this.authService.obtenerUsername()\n ).subscribe(data => {\n this.firmasUsuario = [...data]\n this.firmaSeleccionada = this.firmasUsuario[this.firmasUsuario.length - 1]?.route\n this.loadingFirmas = false;\n }, error => {\n console.log(error)\n this.loadingFirmas = false\n })\n }\n\n\n iterar:number[] = [0,1]\n\n hayFirmas: boolean = false;\n firmas:firma[][] = []\n firmasMasivo:firma[][][] = [[]]\n indexMasivo:number \n\n accept:boolean\n recibeAccept(e) {\n this.accept = e;\n }\n\n addFirma(e: MouseEvent, index: number, masivoIndex: number = null) {\n //console.log('hayFirmas',this.hayFirmas)\n //console.log('index addFirma',index)\n //console.log('masivoIndex addFirma',masivoIndex)\n const target: HTMLImageElement = e.target as HTMLImageElement;\n\n this.recibeAccept(e);\n if (!this._masivo && this.isStamped(index)) {\n return;\n }\n if (this.draggingWindow || this.draggingCorner || !this.firmaSeleccionada) {\n return;\n }\n if (this._masivo) {\n if (this.pdfList[index].signed) {\n return;\n }\n }\n if (this.hayFirmas) {\n return;\n }\n\n const firma = {\n key: this.current.key,\n keyOrigen: this.current.key,\n src: this.current.el.nativeElement.src,\n x: e.offsetX,\n y: e.offsetY,\n height: this.current.el.nativeElement.height,\n width: this.current.el.nativeElement.width,\n minArea: e.offsetY * e.offsetX,\n docClientHeight: target.clientHeight,\n docClientWidth: target.clientWidth,\n docNaturalHeight: target.naturalHeight,\n docNaturalWidth: target.naturalWidth,\n page: (masivoIndex != null && masivoIndex >=0 ? masivoIndex + 1 : index + 1).toString()\n }\n //console.log('index ', index)\n //console.log('masivoIndex ', masivoIndex)\n console.log('FIRMA ADD ', firma)\n\n if (this._masivo) {\n if (!this.firmasMasivo[index][masivoIndex]) this.firmasMasivo[index][masivoIndex] = []\n this.firmasMasivo[index][masivoIndex].push(firma);\n this.pdfList[index].signed = true\n\n this.signService.signStatusList[this.masivoCurrent] = true;\n } else {\n if (!this.firmas[index]) this.firmas[index] = []\n this.firmas[index].push(firma);\n }\n\n this.hayFirmas = true;\n console.log('firmasMasivo', this.firmasMasivo)\n this.validarFirmasCompletas()\n }\n\n firmasCompletas: boolean = false\n documentosFirmados:number = 0\n validarFirmasCompletas(){\n //Validando firmasCompletas\n var lstSigned = []\n for(let item of this.pdfList){\n if(item.signed == true){\n lstSigned.push(item)\n }\n }\n\n if (lstSigned.length === this.pdfList.length){\n this.firmasCompletas = true;\n }else{\n this.firmasCompletas = false;\n }\n this.documentosFirmados = lstSigned.length; // actualizando contados de doc firmados\n //console.log('lstSigned',lstSigned)\n //console.log('pdfList',this.pdfList)\n console.log('Firmas Completas', this.firmasCompletas)\n }\n\n remove(doc: number, firma: number, masivoFirma: number = null) {\n if (this._masivo) {\n this.firmasMasivo[doc][firma].splice(masivoFirma, 1);\n this.signService.signStatusList[this.masivoCurrent] = false;\n\n this.pdfList[doc].signed = false\n } else {\n this.firmas[doc].splice(firma, 1);\n }\n this.hayFirmas = false;\n console.log('pdfList',this.pdfList)\n this.validarFirmasCompletas();\n this.verUbicarFirma = false;\n this.verFirmaIndividual = false;\n }\n\n async obtenerFirmaRotadaAndIncrustarla(key:any,doc:number,firma:number){\n const src:any = await Storage.get(key, {customPrefix: {public: ''}})\n console.log(this.firmasMasivo)\n try {\n if(this._masivo){\n this.firmasMasivo[doc][firma][0].key = key;\n this.firmasMasivo[doc][firma][0].src = src;\n \n var width = this.firmasMasivo[doc][firma][0].width;\n var height = this.firmasMasivo[doc][firma][0].height;\n this.firmasMasivo[doc][firma][0].width = height;\n this.firmasMasivo[doc][firma][0].height = width;\n }else{\n this.firmas[doc][0].key = key;\n this.firmas[doc][0].src = src;\n\n var width = this.firmas[doc][0].width;\n var height = this.firmas[doc][0].height;\n this.firmas[doc][0].width = height;\n this.firmas[doc][0].height = width;\n }\n \n } catch (error) {\n console.log(error)\n this.notify.info('Hubo un problema al rotar su imagen')\n }\n }\n\n dataFirmaRotate: FirmaHolografica\n async rotate(doc: number, firma: number, side: string, masivoFirma: number = null) {\n //Validando angulo\n var addAngle = side == 'right' ? 0 - 90 : 0 + 90;\n //Ruta para firma\n var firmaRotate = this._masivo ? this.firmasMasivo[doc][firma][0] : firmaRotate = this.firmas[doc][0]\n\n var routeArray = firmaRotate.key.split('/')\n var routeRotate = routeArray[0] + '/' + routeArray[1] + '/' + routeArray[2] + '/' + routeArray[3] + '/' + routeArray[4] + '/'\n\n this.dataFirmaRotate = {\n route: firmaRotate.key,\n routeRotate: routeRotate,\n angle: addAngle\n }\n\n this.rotateLoader = true;\n\n this.firmaHolograficaService.rotateFirma(this.dataFirmaRotate).subscribe( \n data => {\n this.obtenerFirmaRotadaAndIncrustarla(data['routeRotate'],doc,firma)\n this.rotateLoader = false;\n }\n )\n console.log('firmaRotate', this.dataFirmaRotate)\n console.log('this.firmasMasivo', this.firmasMasivo)\n }\n\n isMassiveStamped(document: any, indexImage: number) {\n const { imagenes, signedStatusDocument } = document;\n\n return !!signedStatusDocument && indexImage === imagenes.length - 1;\n }\n\n isStamped(indexPage: number): boolean {\n const isLastPage = indexPage === this.items.length - 1;\n return isLastPage && this.isSignedDoc;\n }\n\n /*accept:boolean\n handleAccept() {\n if (this.accept) {\n this.accept = false\n } else {\n this.modalTerminos.open()\n }\n }*/\n\n checkPaginas : boolean = false\n handleCheck() {\n\n\n if(this.esGratis){\n\n this.modalCambiarmeCuentaPago.open()\n\n }else{\n\n if (this.checkPaginas) {\n this.checkPaginas = false\n this.verNumeroPaginas = false\n } else {\n \n \n this.checkPaginas = true\n if(this.comboPersonalizacionSelect === 'Personalizado'){\n this.verNumeroPaginas = true\n \n }else{\n this.verNumeroPaginas = false\n }\n }\n \n if (this._masivo) {\n this.signService.checkStatusList[this.masivoCurrent] = this.checkPaginas;\n }\n \n this.onCheckTodosPaginas.emit(this.checkPaginas);\n\n }\n \n }\n\n checkPaginasDetalle : boolean = false\n handleCheckDetalle() {\n\n\n if(this.esGratis){\n\n this.modalCambiarmeCuentaPago.open()\n\n }else{\n\n if (this.checkPaginasDetalle) {\n this.checkPaginasDetalle = false\n this.verNumeroPaginas = false\n } else {\n \n \n this.checkPaginasDetalle = true\n if(this.comboPersonalizacionSelect === 'Personalizado'){\n this.verNumeroPaginas = true\n \n }else{\n this.verNumeroPaginas = false\n }\n }\n \n if (this._masivo) {\n this.signService.checkStatusList[this.masivoCurrent] = this.checkPaginasDetalle;\n }\n \n this.onCheckTodosPaginas.emit(this.checkPaginasDetalle);\n\n }\n \n }\n\n modalCambiarmeCuentaPagoLoading:boolean\n aceptarCambiarmeCuentaPago(){\n this.modalCambiarmeCuentaPagoLoading = true\n const data:any={\n idCompany:this.authService.obtenerIdEmpresaActiva(),\n user:this.authService.obtenerUsername(),\n subdomain:this.authService.obtenerSubdominio()\n \n \n }\n this.serviciosProcesoService.enviarCorreoContactarme(data).subscribe(data => {\n // console.log(\"\"data)\n this.notify.success(\"Se envió la solicitud correctamente.\")\n this.modalCambiarmeCuentaPagoLoading = false\n this.modalCambiarmeCuentaPago.close()\n //this.modalContactarCuentaFreeLoading = false\n }, error => {\n this.notify.error('Ocurrio un error inesperado')\n this.modalCambiarmeCuentaPagoLoading = false\n this.modalCambiarmeCuentaPago.close()\n //this.modalContactarCuentaFreeLoading = false\n })\n\n }\n\n enviar() {\n if (this._masivo) {\n this.setSignMassiveWithChecks();\n this.obtenerPaginasDocumento(this.docActive,this.masivoCurrent) //Manteniendo documento actual al firmar\n }\n console.log('######### ENVIANDO FIRMAS MASIVO')\n console.log(this.firmasMasivo)\n console.log(this.pdfList)\n console.log(this.firmasCompletas)\n this.firmasCompletas = false;\n this.hayFirmas = false;\n this.onconfirm.emit(this._masivo ? this.firmasMasivo : this.firmas);\n }\n\n /**\n * Set massive signature with checkAllPages property.\n */\n setSignMassiveWithChecks(): void {\n const checkList = this.signService.checkStatusList;\n\n this.firmasMasivo = this.firmasMasivo.map((pdfs: firma[][], index) => {\n return pdfs.map((pdfArr) => {\n return pdfArr.map((pdf) => {\n return {\n ...pdf,\n checkAllPages: checkList[index]\n };\n });\n });\n });\n }\n\n // DRAG & RESIZE\n\n /*tooltipMove(event: MouseEvent) {\n var x = event.clientX;\n var y = event.clientY;\n document.getElementById(\"tooltip\").style.left = (x - 630) + \"px\";\n document.getElementById(\"tooltip\").style.top = (y - 280) + \"px\";\n }*/\n\n /*tooltipMoveMasivo(event: MouseEvent) {\n var x = event.clientX;\n var y = event.clientY;\n document.getElementById(\"tooltip\").style.left = (x - 630) + \"px\";\n document.getElementById(\"tooltip\").style.top = (y - 330) + \"px\";\n }*/\n\n area(f:firma) {\n return f.width * f.height;\n }\n\n currentFirma:firma = {}\n onWindowPress(event: MouseEvent, f:firma) {\n this.currentFirma = f\n this.draggingWindow = true;\n this.currentFirma.px = event.clientX;\n this.currentFirma.py = event.clientY;\n }\n\n onWindowDrag(event: MouseEvent) {\n if (!this.draggingWindow) {\n return;\n }\n let offsetX = event.clientX - this.currentFirma.px;\n let offsetY = event.clientY - this.currentFirma.py;\n\n this.currentFirma.x += offsetX;\n this.currentFirma.y += offsetY;\n this.currentFirma.px = event.clientX;\n this.currentFirma.py = event.clientY;\n }\n\n topLeftResize(offsetX: number, offsetY: number) {\n this.currentFirma.x += offsetX;\n this.currentFirma.y += offsetY;\n this.currentFirma.width -= offsetX;\n this.currentFirma.height -= offsetY;\n }\n\n topRightResize(offsetX: number, offsetY: number) {\n this.currentFirma.y += offsetY;\n this.currentFirma.width += offsetX;\n this.currentFirma.height -= offsetY;\n }\n\n bottomLeftResize(offsetX: number, offsetY: number) {\n this.currentFirma.x += offsetX;\n this.currentFirma.width -= offsetX;\n this.currentFirma.height += offsetY;\n }\n\n bottomRightResize(offsetX: number, offsetY: number) {\n this.currentFirma.width += offsetX;\n this.currentFirma.height += offsetY;\n }\n\n onCornerClick(event: MouseEvent, f:firma, resizer?:string) {\n this.currentFirma = f\n this.draggingCorner = true;\n this.currentFirma.px = event.clientX;\n this.currentFirma.py = event.clientY;\n this.currentFirma.resizer = resizer;\n event.preventDefault();\n event.stopPropagation();\n }\n\n @HostListener('document:mousemove', ['$event'])\n\n onCornerMove(event: MouseEvent) {\n if (!this.draggingCorner) {\n return;\n }\n\n let offsetX = event.clientX - this.currentFirma.px;\n let offsetY = event.clientY - this.currentFirma.py;\n\n let lastX = this.currentFirma.x;\n let lastY = this.currentFirma.y;\n let pWidth = this.currentFirma.width;\n let pHeight = this.currentFirma.height;\n\n this[this.currentFirma.resizer](offsetX, offsetY);\n if (this.area(this.currentFirma) < 2000) {\n this.currentFirma.x = lastX;\n this.currentFirma.y = lastY;\n this.currentFirma.width = pWidth;\n this.currentFirma.height = pHeight;\n }\n this.currentFirma.px = event.clientX;\n this.currentFirma.py = event.clientY;\n }\n\n @HostListener('document:mouseup', ['$event'])\n onCornerRelease(event: MouseEvent) {\n this.draggingWindow = false;\n this.draggingCorner = false;\n }\n\n\n\n\n preview:string\n setPreview(base:string) {\n this.preview = base\n }\n\n title:string\n titleDraw:string\n titleUpload:string\n titleWrite:string\n descriptionDraw:string\n descriptionWrite:string\n descriptionUpload:string\n signWrite:string\n\n description:string\n baseFirma:any\n blob:any\n currentFirmaNueva:any\n\n tab:number\n\n\n tabs(id:number){\n this.tab = id\n console.log('pintame el tabs',this.tab)\n }\n\n save() {\n console.log(\"pintame imagen\",this.blob)\n this.pad.getCanvas().toBlob((blob) => {this.blob = blob}, 'image/jpg', 0.95)\n this.baseFirma = this.pad.toDataURL()\n console.log(\"pintame imagen 2\",this.baseFirma)\n }\n\n clear() {\n if (this.tab == 1) {\n this.pad.clear()\n this.blob = null\n this.baseFirma = false\n console.log('pintame el tabs',this.tab)\n }else if (this.tab == 2) {\n this.signWrite = null\n console.log('pintame el tabs',this.tab)\n }else if (this.tab == 3) {\n this.preview = null\n this.blob = null\n console.log('pintame el tabs',this.tab)\n }\n }\n\n cargarLoadingFirma:boolean\n async cargarFirma() {\n\n //Validacion de campos para carga de firma\n let validation = this.validarCargarFirma()\n if (!validation){\n this.notify.info('Completar los datos para cargar la firma.')\n return;\n }\n\n this.cargarLoadingFirma = true\n const timestamp:number = new Date().getTime()\n const key:string = `${this.authService.obtenerRucEmpresaActiva()}/usuarios/${this.authService.obtenerDocumento()}/firmas_holografas/${timestamp}.jpg`\n const ruta:string = `public/${key}`\n\n if (this.tab != 2){\n if (this.blob.size > 50000){\n this.notify.info('Por favor ingrese otra imagen de menor peso. Verificar la indicaciones dadas.')\n this.cargarLoadingFirma = false\n return\n }\n \n try {\n await Storage.put(key, this.blob)\n } catch (error) {\n this.notify.error('Hubo un problema al cargar la imagen')\n }\n }\n\n if (this.tab == 1) {\n this.title = this.titleDraw\n this.description = this.descriptionDraw\n //console.log('title', this.title)\n //console.log('description', this.description)\n } else if (this.tab == 2) {\n this.title = this.titleWrite\n this.description = this.descriptionWrite\n //console.log('title', this.title)\n //console.log('description', this.description)\n } else if (this.tab == 3) {\n this.title = this.titleUpload\n this.description = this.descriptionUpload\n //console.log('title', this.title)\n //console.log('description', this.description)\n }\n\n const firma:FirmaHolografica = {\n title: this.title,\n description: this.description,\n route: ruta,\n user: this.authService.obtenerUsername(),\n idCompany: this.authService.obtenerIdEmpresaActiva(),\n textoFirma: this.signWrite //Añadido para convertir texto en imagen\n }\n console.log('Firma enviada', firma)\n\n this.agregarLoader = true;\n \n this.firmaHolograficaService.crearFirma(firma).subscribe(data => {\n this.listarFirmasHolograficas()\n setTimeout(() => {\n console.log('this.masivoCurrent cargarFirma', this.masivoCurrent)\n this.agregarLoader = false;\n this.modalCargar.close()\n this.modalDibujar.close()\n this.notify.success('Operación exitosa')\n this.reset()\n //this.obtenerPaginasDocumento(this.pdfList[this.masivoCurrent],this.masivoCurrent)\n }, 800)\n }, error => {\n this.cargarLoadingFirma = false\n this.notify.error('Hubo un problema al crear su firma')\n })\n }\n\n validarCargarFirma():boolean{\n if(this.tab == 1 && this.blob != undefined && this.titleDraw != undefined && this.blob != null\n && this.titleDraw != null && this.titleDraw != ''){\n return true;\n }else if(this.tab == 2 && this.signWrite != undefined && this.titleWrite != undefined \n && this.signWrite != null && this.titleWrite != null && this.titleWrite != ''){\n return true;\n }else if(this.tab == 3 && this.preview != undefined && this.titleUpload != undefined \n && this.preview != null && this.titleUpload != null && this.titleUpload != ''){\n return true;\n }else{\n return false;\n }\n }\n\n reset() {\n this.preview = null\n this.blob = null\n this.baseFirma = null\n this.cargarLoadingFirma = false\n this.title = null\n this.description = null\n this.currentFirmaNueva = null\n \n this.titleDraw = null\n this.titleWrite = null\n this.titleUpload = null\n\n this.descriptionDraw = null\n this.descriptionWrite = null\n this.descriptionUpload = null\n\n this.signWrite = null\n this.numberPage = 0\n this.pageActive = 1\n this.pad.clear()\n }\n\n documentListShown:boolean = false\n\n navegarMasivo(action:string) {\n \n if (action === 'prev') {\n if (this.masivoCurrent > 0) {\n if (!this.firmasMasivo[this.masivoCurrent - 1]) this.firmasMasivo[this.masivoCurrent - 1] = [[]]\n this.masivoCurrent--;\n }\n\n } else {\n if (this.masivoCurrent < this.pdfList.length - 1) {\n if (!this.firmasMasivo[this.masivoCurrent + 1]) this.firmasMasivo[this.masivoCurrent + 1] = [[]]\n this.masivoCurrent++;\n }\n }\n this.tabGroup.selectedIndex = this.masivoCurrent\n this.checkPaginas = this.signService.checkStatusList[this.masivoCurrent];\n this.hayFirmas = this.signService.signStatusList[this.masivoCurrent];\n this.obtenerPaginasDocumento(this.pdfList[this.masivoCurrent],this.masivoCurrent)\n }\n\n /*numPag: number = 0;\n navegarMasivo(action:string) {\n this.inputSearch.nativeElement.value = ' ';\n //console.log(this.inputSearch.nativeElement.value);\n\n if (action === 'prev') {\n if (this.masivoCurrent > 0) {\n if (!this.firmasMasivo[this.masivoCurrent - 1]) this.firmasMasivo[this.masivoCurrent - 1] = [[]]\n this.masivoCurrent--;\n }\n this.numPaginas();\n } else {\n if (this.masivoCurrent < this.pdfList.length - 1) {\n if (!this.firmasMasivo[this.masivoCurrent + 1]) this.firmasMasivo[this.masivoCurrent + 1] = [[]]\n this.masivoCurrent++;\n }\n console.log(this.masivoCurrent++);\n this.numPaginas();\n }\n\n this.checkPaginas = this.signService.checkStatusList[this.masivoCurrent];\n this.hayFirmas = this.signService.signStatusList[this.masivoCurrent];\n }\n\n vnumPag: number\n sendValue(inputValue) {\n this.vnumPag = inputValue\n console.log(this.vnumPag);\n\n const data:any={\n idCompany:this.authService.obtenerIdEmpresaActiva(),\n user:this.authService.obtenerUsername(),\n subdomain:this.authService.obtenerSubdominio(),\n numPag: this.vnumPag\n }\n\n this.envioNumPag(data);\n }\n \n numPaginas(){\n const data:any={\n idCompany:this.authService.obtenerIdEmpresaActiva(),\n user:this.authService.obtenerUsername(),\n subdomain:this.authService.obtenerSubdominio(),\n numPag: this.masivoCurrent + 1\n }\n \n this.envioNumPag(data);\n }\n\n envioNumPag(data){\n this.serviciosProcesoService.enviarCorreoContactarme(data).subscribe(data => {\n //this.notify.success(\"Se envió la solicitud correctamente.\")\n if (this.vnumPag == 0 || this.vnumPag > 4) {\n this.notify.error(\"No hay ninguna página con el número \" + \"'\" + this.vnumPag + \"'\" + \" en este documento.\")\n } \n }, error => {\n //this.notify.error('Ocurrio un error inesperado')\n })\n\n console.log(\"DATA\",data)\n }*/\n\n restart() {\n setTimeout(() => {\n this.accept = false\n this.hayFirmas = false\n //this.checkPaginas=false\n this.firmas = []\n this.firmasMasivo = [[]]\n this.masivoCurrent = 0\n }, 800)\n this.reset()\n }\n\n scaleZoom = 1\n zoomPorcentaje = 100\n zoomPlus(){\n if (this.zoomPorcentaje >= 200)\n return;\n //console.log('EVENTO ZOOM PLUS ')\n this.scaleZoom += 0.1;\n this.zoomPorcentaje += 10;\n let zoom = document.getElementById(\"document-container-signature\");\n zoom.style.transform = \"scale(\" + this.scaleZoom + \")\";\n zoom.style.transformOrigin = \"top\"\n }\n\n zoomMinus(){\n if (this.zoomPorcentaje == 10)\n return;\n //console.log('EVENTO ZOOM Minus ')\n this.scaleZoom -= 0.1;\n this.zoomPorcentaje -= 10;\n let zoom = document.getElementById(\"document-container-signature\");\n zoom.style.transform = \"scale(\" + this.scaleZoom + \")\";\n zoom.style.transformOrigin = \"top\"\n }\n\n docActive:any\n obtenerPaginasDocumento(doc:any,index:number){\n console.log(\"CLICK\",doc)\n if (this.pdfList.length > 1) {\n if(doc.signed == true){\n this.verUbicarFirma = true;\n } else {\n this.verUbicarFirma = false;\n }\n }\n this.loadingScroll = true;\n this.items = []\n this.documentListShown = false; //ocultando select\n this.tabGroup.selectedIndex = index;\n this.masivoCurrent = index;\n this.docActive = doc //Documento para mantener activo al firmar\n\n this.checkPaginas = this.signService.checkStatusList[index];\n this.hayFirmas = this.signService.signStatusList[index];\n\n this.numberPage = 0\n this.pageActive = 1\n //this.autoAjustarPage()\n\n this.scaleZoom = 1\n this.zoomPorcentaje = 100\n let zoom = document.getElementById(\"document-container-signature\");\n zoom.style.transform = \"scale(\" + this.scaleZoom + \")\";\n\n this.loadingScroll = false;\n this.loadingScrollThumb = false; \n\n if(this._masivo){\n this.cantidadPaginas = this.pdfList[index].cantidadPaginas;\n this.nombreDocumento = this.pdfList[index].nombreDocumento;\n if(this.pdfList[index].imagenes == undefined){\n console.log(\"ENTRO AQUI\")\n const bodyPages:any = {\n idProcess: doc.idProcess,\n filePath: doc.filePath,\n idDocumentSigningProcess: doc.id,\n idCompany: this.authService.obtenerIdEmpresaActiva(),\n count_page: 0\n }\n \n this.loadingScroll = true;\n this.loadingScrollThumb = true;\n \n this.serviciosProcesoService.convertirPDFImagePagination(bodyPages).subscribe((data) => {\n this.cantidadPaginas = data['cantidadPaginas'];\n this.nombreDocumento = data['nombreDocumento'];\n this.pdfList[index].imagenes = data['paginas'];\n this.pdfList[index].cantidadPaginas = data['cantidadPaginas'];\n this.pdfList[index].nombreDocumento = data['nombreDocumento'];\n this.firmasMasivo[index] = []\n \n this.loadingScroll = false;\n this.loadingScrollThumb = false; \n }, error => {\n console.log(error)\n })\n }else{\n this.loadingScroll = false;\n }\n }else{\n this.getImages(0)\n this.loadingScroll = false;\n }\n }\n\n pageNext(){\n if(this.scaleZoom != 1){\n this.scaleZoom = 1\n this.zoomPorcentaje = 100\n let zoom = document.getElementById(\"document-container-signature\");\n zoom.style.transform = \"scale(1)\";\n } \n var cantPaginas = this.masivo ? this.pdfList[this.masivoCurrent].cantidadPaginas : this.cantidadPaginas\n if(this.numberPage < (cantPaginas - 1)){\n this.numberPage += 1\n this.pageActive += 1\n this.autoAjustarPageMasivo()\n }\n }\n\n pagePrev(){\n if(this.scaleZoom != 1){\n this.scaleZoom = 1\n this.zoomPorcentaje = 100\n let zoom = document.getElementById(\"document-container-signature\");\n zoom.style.transform = \"scale(1)\";\n }\n\n if(this.numberPage >0){\n this.numberPage -= 1\n this.pageActive -= 1\n this.autoAjustarPageMasivo()\n }\n }\n\n autoAjustarPageMasivo(page:number = null){\n //Actualizando pagina al seleccionar view\n if (page != null){\n this.numberPage = page\n this.pageActive = page + 1\n }\n var arrDocument = null\n var arrDocumentPreview = null\n var view = null\n var viewMin = null\n var addScroll = 0\n var addScrollMin = 0\n var toptip = null\n var titulos = null\n\n //console.log('es masivo:', this._masivo)\n if(this._masivo){\n arrDocument = document.getElementsByClassName('documentList')\n arrDocumentPreview = document.getElementsByClassName('document-masivo-preview')\n \n view = document.getElementsByClassName('viewer-masivo-document')[0]\n viewMin = document.getElementsByClassName('viewer-masivo-min')[0]\n\n titulos = document.getElementsByClassName('titulos-document-masivo')[0]\n\n }else{\n arrDocument = document.getElementsByClassName('documentList')\n arrDocumentPreview = document.getElementsByClassName('document-nomasivo-preview')\n\n view = document.getElementsByClassName('viewer-document')[0]\n viewMin = document.getElementsByClassName('viewer-min')[0]\n\n titulos = document.getElementsByClassName('titulos-document-no-masivo')[0]\n }\n \n //addScroll = this.numberPage == 1 ? addScroll + (toptip.clientHeight + titulosdocument.clientHeight) : addScroll\n \n for(var i = 0 ; i < this.numberPage; i++){\n var add = i == 0 ? arrDocument[i].clientHeight + titulos.clientHeight : arrDocument[i].clientHeight //Añadiendo tamaño por pagina + titulos\n addScroll += add //Añadiendo tamaño por pagina\n addScrollMin += arrDocumentPreview[i].clientHeight //Añadiendo tamaño por preview\n }\n\n view.scrollTop = addScroll; //Recorriendo Scroll documentos\n viewMin.scrollTop = addScrollMin; //Recorriendo Scroll preview\n }\n\n changeFirma(e){\n console.log(this.firmaSeleccionada)\n console.log('event',e)\n }\n\n async getMasiveImagens(){\n if (this.pdfList[0]!=undefined){\n this.scrollHeight = await this.obtnerImagenKey(this.pdfList[0].imagenes[this.numberPage])\n //console.log('this.scrollHeight',this.scrollHeight)\n }else{\n this.scrollHeight = await this.obtnerImagenKey(this.items[this.numberPage])\n //console.log('this.scrollHeight',this.scrollHeight)\n }\n }\n\n detener:boolean = true\n isShow:boolean = false\n scrollHeight: number = 0\n flagScrollY:number = 0\n\n currentPosition: any;\n startPosition: number;\n showButton:any\n\n async onContainerScroll(e){ \n const scrollY = (e.target as Element).scrollTop\n this.flagScrollY = scrollY\n let cantPaginasScroll = this._masivo ? this.pdfList[this.masivoCurrent].cantidadPaginas : this.cantidadPaginas\n let numbPage = this._masivo ? this.pdfList[this.masivoCurrent].imagenes[this.numberPage] : this.items[this.numberPage]\n //console.log(\"onContainerScroll\",scrollY,\"=>\",this.scrollHeight, \"=>\",this.numberPage, Math.round((scrollY * 100)/this.scrollHeight ) ) \n if (scrollY > this.currentPosition) {\n this.showButton = false;\n if (this.detener) { \n if (Math.round((scrollY * 100)/this.scrollHeight) >= 100 && Math.round((scrollY * 100)/this.scrollHeight) <= 120 ) {\n if (cantPaginasScroll > this.numberPage) {\n if(numbPage!= undefined){\n this.detener = false\n const scrollHeight2 = this._masivo ? await this.obtnerImagenKey(this.pdfList[this.masivoCurrent].imagenes[this.numberPage]) : await this.obtnerImagenKey(this.items[this.numberPage])\n this.scrollHeight = this.scrollHeight + scrollHeight2 \n this.detener = true \n this.numberPage += 1 \n this.pageActive += 1\n }\n }\n }\n }\n } else {\n this.showButton = true;\n if(this.detener && this.numberPage!=0){\n //console.log(\"x\")\n if (Math.round((scrollY * 100)/this.scrollHeight) >= 60 && Math.round((scrollY * 100)/this.scrollHeight) <= 85) {\n //console.log(\"x\",Math.round((scrollY * 100)/this.scrollHeight))\n if (cantPaginasScroll > this.numberPage) {\n if(numbPage!= undefined){\n this.detener = false\n const scrollHeight2 = this._masivo ? await this.obtnerImagenKey(this.pdfList[this.masivoCurrent].imagenes[this.numberPage]) : await this.obtnerImagenKey(this.items[this.numberPage])\n this.scrollHeight = this.scrollHeight - scrollHeight2\n this.detener = true\n this.numberPage -= 1\n this.pageActive -= 1\n \n } \n } \n }\n }\n }\n this.currentPosition = scrollY; \n //console.log(\"showButton\", this.showButton, this.currentPosition) \n }\n\n async obtnerImagenKey(key){\n //console.log(\"obtnerImagenKey\",key)\n const src = await Storage.get(key, {customPrefix: {public: ''}})\n //console.log(\"obtnerImagenKey src\",src)\n return this.loadImgAsync(src)\n }\n\n loadImgAsync(imgSrc) {\n return new Promise((resolve, reject) => {\n let img = new Image();\n img.onload = () => {\n resolve(img.naturalHeight);\n };\n img.onerror = reject;\n img.src = imgSrc;\n })\n }\n\n}\n","
\n \n
\n\n \n
\n
\n \n Documentos\n
\n \n {{pdfList[masivoCurrent].documentName}}\n \n \n
\n
\n\n
\n\n
\n Documentos {{mensajeDocumentos}}\n {{documentosFirmados}} / {{pdfList.length}} \n
\n\n
\n\n \n \n\n
\n \n \n \n\n
\n
    \n
  • \n
    \n
    {{doc.documentName}}
    \n
  • \n
\n
\n
\n
\n\n
\n
\n \n Documentos\n
\n \n {{pdfList[masivoCurrent].documentName}}\n \n \n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n Documentos {{mensajeDocumentos}}\n {{masivoCurrent+1}} / {{pdfList.length}} \n
\n \n \n \n \n
\n
\n
\n
\n\n
\n
    \n
  • \n
    \n
    \n
    \n {{doc.documentName}}
    \n
    \n
  • \n
\n
\n
\n
\n\n
\n \n \n \n \n
\n
\n
\n
\n
{{doc.documentName}}
\n
\n
\n
\n
\n \n \n \n
\n \n \n \n
\n
\n
\n
{{this.cantidadPaginas}}
\n
{{this.cantidadPaginas}}
\n
\n
\n
{{this.cantidadPaginas}}
\n
{{this.cantidadPaginas}}
\n
\n
\n
\n \n
\n \n
\n
\n
\n \n
{{j + 1}}
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n \n
\n

4. Ubícala donde quieras.

\n
\n
4/5
\n
\n \n \n
\n
\n
\n
\n \n \n
\n

5. Gracias por firmar el documento.

\n
\n
5/5
\n
\n \n \n
\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n \n \n
\n \n \n \n
\n
\n
\n
\n
\n

{{this.nombreDocumento}}

\n
\n

{{this.cantidadPaginas}} Página(s)

\n
\n
\n
\n
\n \n
\n 0 && !verUbicarFirma\" class=\"s3-image-bloqueo\" [key]=\"img\" (click)=\"verBloqueoFirma();addFirma($event, i, j);\">\n \n \n \n
\n

3. Tendrás que hacer clic en la pantalla para poder posicionar tu firma.

\n
\n
3/5
\n
\n \n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n
0 && !verUbicarFirma\" class=\"instructions-onboarding-full\"> \n
\n \n
\n
\n \n
\n \n \n \n \n \n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n \n \n \n
\n
\n
\n
\n
\n \n
\n \n
\n
\n \n
\n \n \n \n \n \n
\n \n
\n \n
\n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n \n Página {{pageActive}} de {{cantidadPaginas}} \n | \n {{zoomPorcentaje}}% \n \n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n \n
\n

Configuración de Firmas

\n
\n \n
\n \n
\n

No hay firmas registradas

\n

Haga click en el menú para dibujar o cargar una nueva firma holográfica

\n
\n
\n \n \n \n \n \n \n \n \n\n \n
\n

1. Dirígete al panel donde están guardadas tus firmas

\n
\n
1/5
\n
\n \n \n
\n
\n
\n
\n \n \n
\n

2. Selecciona tu firma.

\n
\n
2/5
\n
\n \n \n
\n
\n
\n
\n \n 0 && !selectFirma\">\n \n \n \n \t\n 0 && selectFirma\">\n \n \n \n
\n 0\">\n \n \n
\n \n 0\">\n \n 0\" [key]=\"firmaSeleccionada\" class=\"s3-image-firma\">\n \n \n \n

\n \n Deseas adjuntar detalle de firma\n

\n

\n {{mensajeCheck}} en todas las hojas\n

\n \n
\n

\n En caso no tenga firma:\n

\n\n
\n \n \n
\n \n \n \n \n \n
\n
\n
\n\n
\n
\n \n
\n

Configuración de Firmas

\n
\n \n
\n \n
\n

No hay firmas registradas

\n

Haga click en el menú para dibujar o cargar una nueva firma holográfica

\n
\n
\n \n \n \n \n \n \n \n \n\n \n
\n

1. Dirígete al panel donde están guardadas tus firmas

\n
\n
1/5
\n
\n \n \n
\n
\n
\n
\n \n \n
\n

2. Selecciona tu firma.

\n
\n
2/5
\n
\n \n \n
\n
\n
\n
\n \n 0 && !selectFirma\">\n \n \n \n \t\n 0 && selectFirma\">\n \n \n \n
\n 0\">\n \n \n
\n \n 0\">\n \n 0\" [key]=\"firmaSeleccionada\" class=\"s3-image-firma\">\n \n \n \n

\n \n Deseas adjuntar detalle de firma\n

\n

\n {{mensajeCheck}} en todas las hojas\n

\n \n
\n

\n En caso no tenga firma:\n

\n\n
\n \n \n
\n \n \n \n \n \n
\n
\n
\n\n
\n\n \n
\n
\n
\n Documentos {{mensajeDocumentos}}\n 0 / 1\n 1 / 1\n
\n
\n \n\n \n \n
\n
\n\n
\n
\n
\n Documentos {{mensajeDocumentos}}\n 0 / 1\n 1 / 1\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n\n \n \n
\n
\n
\n
\n
\n
\n\n
\n \n \n \n \n
\n
\n
\n
\n
{{this.nombreDocumento}}
\n
\n
\n
\n
\n \n \n
\n
\n
\n
{{this.cantidadPaginas}}
\n
{{this.cantidadPaginas}}
\n
\n
\n
{{this.cantidadPaginas}}
\n
{{this.cantidadPaginas}}
\n
\n
\n
\n \n
\n \n
\n
\n
\n \n
{{i + 1}}
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n \n
\n

4. Ubícala donde quieras.

\n
\n
4/5
\n
\n \n \n
\n
\n
\n
\n \n \n
\n

5. Gracias por firmar el documento.

\n
\n
5/5
\n
\n \n \n
\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n \n \n
\n \n \n \n \n
\n
\n
\n
\n
\n

{{this.nombreDocumento}}

\n
\n

{{this.cantidadPaginas}} Página(s)

\n
\n
\n
\n
\n \n
\n 0 && !verUbicarFirma\" class=\"s3-image-bloqueo\" [key]=\"img\" (click)=\"verBloqueoFirma();addFirma($event, i);this.verFirmaIndividual = true;\">\n \n\n \n
\n

3. Tendrás que hacer clic en la pantalla para poder posicionar tu firma.

\n
\n
3/5
\n
\n \n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n
0 && !verUbicarFirma\" class=\"instructions-onboarding-full-ind\"> \n
\n \n \n
\n \n
\n \n
\n\n \n\n \n \n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n \n \n \n
\n
\n
\n
\n \n
\n \n
\n \n
\n
\n \n
\n\n \n \n \n\n
\n \n
\n \n
\n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n \n
\n \n \n Página {{pageActive}} de {{cantidadPaginas}} \n | \n {{zoomPorcentaje}}% \n \n
\n
\n
\n
\n
\n \n
\n \n
\n

Configuración de Firmas

\n
\n \n
\n \n
\n

No hay firmas registradas

\n

Haga click en el menú para dibujar o cargar una nueva firma holográfica

\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n

1. Dirígete al panel donde están guardadas tus firmas

\n
\n
1/5
\n
\n \n \n
\n
\n
\n
\n \n \n
\n

2. Selecciona tu firma.

\n
\n
2/5
\n
\n \n \n
\n
\n
\n
\n \n 0 && !selectFirma\">\n \n \n \n \t\n 0 && selectFirma\">\n \n \n \n
\n 0\">\n \n \n
\n \n 0\">\n \n 0\" [key]=\"firmaSeleccionada\" class=\"s3-image-firma\">\n \n \n \n

\n Deseas adjuntar detalle de firma\n

\n

\n {{mensajeCheck}} en todas las hojas\n

\n \n
\n

\n En caso no tenga firma:\n

\n \n
\n \n \n
\n \n \n \n \n
\n
\n
\n\n
\n
\n \n
\n

Configuración de Firmas

\n
\n \n
\n \n
\n

No hay firmas registradas

\n

Haga click en el menú para dibujar o cargar una nueva firma holográfica

\n
\n
\n \n \n \n \n \n \n \n \n\n \n
\n

1. Dirígete al panel donde están guardadas tus firmas

\n
\n
1/5
\n
\n \n \n
\n
\n
\n
\n \n \n
\n

2. Selecciona tu firma.

\n
\n
2/5
\n
\n \n \n
\n
\n
\n
\n \n 0 && !selectFirma\">\n \n \n \n \t\n 0 && selectFirma\">\n \n \n \n
\n 0\">\n \n \n
\n \n 0\">\n \n 0\" [key]=\"firmaSeleccionada\" class=\"s3-image-firma\">\n \n \n \n

\n \n Deseas adjuntar detalle de firma\n

\n

\n {{mensajeCheck}} en todas las hojas\n

\n \n
\n

\n En caso no tenga firma:\n

\n\n
\n \n \n
\n \n \n \n \n \n
\n
\n
\n \n
\n\n
\n
\n\n \n
\n\n
\n \n
\n
\n
Tutorial de firma pin
\n
Tutorial de firma holografica
\n
Tutorial de firma con certificado
\n
\n
\n
\n\n\n\n\n \n

¡¡ Felicitaciones !!

\n

Haz completado el tutorial exitosamente

\n
\n\n\n

Indicaciones:

\n

- Tamaño:273 x 185\n - Peso: 50KB\n - Formato: PNG, JPG

\n \n
\n \n
\n\n
\n \n \n
\n\n \n\n \n\n
\n\n\n\n \n \n
\n \n \n
\n\n \n\n \n
\n\n \n
\n \n \n
\n\n \n\n \n\n
\n\n \n
\n \n
\n\n
\n \n \n
\n\n \n \n
\n
\n
\n \n \n \n
\n
\n\n\n Sólo disponible para Versión premium. Quiero que me contacten\n
\n \n
\n\n
\n\n\n\n

¿Deseas eliminar el documento actual?

\n

Tomar en cuenta que al eliminar el documento actual, pasarás al siguiente

\n
\n \n \n \n
\n
","import { Component, OnInit,Output, EventEmitter, ViewChild, ViewEncapsulation, Input } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { takeUntil } from 'rxjs/operators';\n\nimport { Opcion } from 'src/app/models/Opcion.model';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { NotificationsService } from 'src/app/services/notifications.service';\nimport { OpcionesService } from 'src/app/services/opciones.service';\nimport { TableTd } from 'src/app/models/Table.model';\nimport { ServiciosProcesoService } from 'src/app/services/servicios-proceso.service';\nimport { SeguimientoService } from 'src/app/services/seguimiento.service';\nimport { DashboardService } from 'src/app/services/dasboard.service';\nimport { UsuariosService } from 'src/app/services/usuarios.service';\nimport { PermisosService } from 'src/app/services/permisos.service';\nimport { BaseUnsubscribe } from 'src/app/util/base-unsubscribe';\nimport { PersonalizacionService } from 'src/app/services/personalizacion.service';\nimport { ModalComponent } from 'src/app/shared/modal/modal.component';\nimport { SideBarService } from 'src/app/services/sidebar.service';\nimport { ReceptorService } from 'src/app/services/receptor.service';\nimport { TipoFirma } from '@noe/models/TipoFirma.model';\nimport { Usuario } from '@noe/models/Usuario.model';\nimport { EmpresaService } from '../../services/empresa.service';\n\nimport { Auth } from 'aws-amplify'\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { FormValidationService } from 'src/app/services/form-validation.service';\nimport { PasswordValidatorsService } from 'src/app/services/password-validators.service';\nimport { CompartirDatosService } from '@noe/services/compartirDatos.service';\nimport { NgxCopilotService } from 'ngx-copilot';\nimport { SharedService } from '@noe/services/shared.service';\nimport countries from '@noe/util/countries';\nimport { SharedCerrarVisorService } from '@noe/services/sharedCerrarVisor.service';\nimport { SharedCerrarVisorPdfService } from '@noe/services/sharedCerrarVisorPdf.service';\n\n\n@Component({\n selector: 'app-sidebar',\n templateUrl: './sidebar.component.html',\n styleUrls: ['./sidebar.component.scss']\n})\nexport class SidebarComponent extends BaseUnsubscribe implements OnInit {\n\n @Output() public tienePendientes = new EventEmitter();\n @Output()\n onnavigation: EventEmitter = new EventEmitter()\n\n @ViewChild('modalAviso') modalAviso:ModalComponent\n @ViewChild('modalObtenerPremium') modalObtenerPremium:ModalComponent\n @ViewChild('modalInicioTerminos') modalInicioTerminos:ModalComponent\n @ViewChild('modalLecturaTerminos') modalLecturaTerminos:ModalComponent\n @ViewChild('modalCaducidadContrasena') modalCaducidadContrasena:ModalComponent\n @ViewChild('modalEmpecemos') modalEmpecemos:ModalComponent\n\n @Output()\n onconfirm: EventEmitter = new EventEmitter()\n @Output()\n confirmacionFirma: EventEmitter = new EventEmitter()\n passForm:FormGroup\n empecemosForm:FormGroup;\n\n constructor(\n private authService: AuthService,\n public opcionesService: OpcionesService,\n public notify: NotificationsService,\n public router: Router,\n private service: ServiciosProcesoService,\n\n public serviceSeguimiento: SeguimientoService,\n public dashboardService:DashboardService,\n public usuarioService: UsuariosService,\n public permisosService: PermisosService,\n private customService: PersonalizacionService,\n private sidebarService: SideBarService,\n public receptorService: ReceptorService,\n public fv: FormValidationService,\n public validators: PasswordValidatorsService,\n public fb: FormBuilder,\n public compartirDatosService: CompartirDatosService,\n private copilot: NgxCopilotService,\n private userService: UsuariosService,\n private sharedService: SharedService,\n public empresaService: EmpresaService,\n public serviceReceptor: ReceptorService,\n public sharedCerrarVisorService: SharedCerrarVisorService,\n public sharedCerrarVisorPdfService: SharedCerrarVisorPdfService\n ) {\n super();\n }\n\n private readonly defaultLogo = '../../../assets/img/noe-free/noe-white.png';\n\n rol:string\n esGratis:boolean\n opcionesUsuario:string[] = []\n isAdminComerciales:boolean;\n personalizar:boolean\n body:TableTd[][] = []\n hayPendientes:boolean;\n hayEnProceso:boolean;\n isThereToNotify: boolean;\n opciones:Opcion[] = []\n hayDocumentosReceptor:boolean;\n logoSidebar: string = this.defaultLogo;\n activeMetadataProcess: boolean;\n perfiles:string[] = []\n isAdministradorProfile:boolean\n tipoFirmas:TipoFirma\n noHayTiposDeFirma:boolean;\n codeOption:string[]=[];\n codeOptionChild:boolean\n activeFlagPapelera: boolean = false;\n activeFlagSession: boolean;\n activateExtraFieldsToTables: boolean = false; //flag ADEX\n activeFlagOffices: boolean = false; //ADEX\n flagTerms: boolean = false; //flag ADEX\n selectedMessage:boolean;\n theValue:string;\n type:string;\n idDocSelect:any = null;\n loading:boolean;\n verEmpezar: boolean = true;\n verComenzar: boolean = false;\n verIconDashboard: boolean = true;\n verIconDocumentos: boolean = false;\n verIconContactos: boolean = false;\n verIconConfiguracion: boolean = false;\n verIconMarket: boolean = false;\n verIconUsuarioFree: boolean = false;\n selected: any;\n flagOnboarding: number;\n sharedData: string;\n existeDni:boolean=false;\n subDominioFree:string;\n userCreator:string;\n activeFlagSessionSocial: boolean;\n verEmpezarSocial: number;\n validacionDni: string;\n moduloUppercase: string;\n hijoUppercase: string;\n navbarOpen: boolean = false;\n navbarOpenResp: boolean = false;\n start:boolean = false\n\n countries: any[] = [...countries]\n .sort((a, b) => a.es.localeCompare(b.es))\n .map((item) => {\n return {\n ...item,\n optionName: `${item.es} (${item.dial})`\n }\n });\n\n showFiller = false;\n\n ngOnInit(): void {\n console.log('###INIIT SIDEBAR')\n this.start = localStorage.getItem('AUTHSTART') === 'start'\n console.log(this.start)\n this.estadoOnboarding();\n if (this.start) {\n this.obteniendoDatos(localStorage.getItem('AUTHUSER'), localStorage.getItem('AUTHSUBDOMINIO'))\n }else{\n this.cargarEmpresaActiva();\n }\n }\n\n cargarEmpresaActiva(){\n this.recibirMetodo()\n this.usuarioService.obtenerUsuario( this.authService.obtenerUsername(), this.authService.obtenerSubdominio()).subscribe(data => {\n console.log(\"SIDEBAR 2\", data)\n this.listarOpciones();\n\n this.personalizar = this.authService.obtenerPermisoPersonalizacion() === 'true'\n this.esGratis = this.authService.obtenerTipoCuenta() === 'GRATUITA';\n this.activeMetadataProcess = this.authService.getActiveMetadataProcess() === 1;\n this.perfiles = this.authService.obtenerPerfiles()\n\n this.isAdministradorProfile =this.perfiles.includes(\"ADMINISTRADOR\")\n this.isAdminComerciales = this.authService.obtenerRolesArreglo().includes(5)\n this.rol = this.authService.obtenerRoles()\n this.listenCustomImages();\n\n this.authService.generarPermisos(data.profiles)\n this.opcionesUsuario = this.authService.obtenerOpciones()\n\n //Si la empresa cuenta con el perfil de papelera\n this.codeOption = this.authService.obtenerOpciones();\n this.codeOptionChild=this.codeOption.includes('0000209');\n\n //flag ADEX\n this.activateExtraFieldsToTables = this.authService.getActivateExtraFieldsToTables() === 1;\n this.flagTerms = this.authService.obtenerFlagTerminosyCondiciones() === 1;\n this.activeFlagPapelera = this.authService.getactiveFlagPapelera() === 1;\n this.activeFlagOffices = this.authService.getActiveFlagOffices() === 1;\n\n this.activeFlagSession = data.flagSession;\n console.log(data, this.activeFlagSession, 'USUARIO')\n this.activeFlagSessionSocial = data.flagSessionSocial;\n console.log(data, this.activeFlagSessionSocial, 'activeFlagSessionSocial')\n\n if (this.activeFlagSessionSocial == true){\n this.verEmpezarSocial = 1\n console.log('verEmpezarSocial activo:',this.verEmpezarSocial)\n }else{\n this.verEmpezarSocial = 0\n console.log('verEmpezarSocial inactivo:',this.verEmpezarSocial)\n }\n //si ES GRATIS\n //this.opcionesUsuario = this.opcionesCuentaFree\n\n //this.calcularTotalPendientes()\n // this.calcularTotalEnProceso();\n // this.cantidadesDashboard()\n //this.estadoOnboarding();\n /* if (data.flagSession === 1) {\n this.handleAcceptInicio();\n console.log(this.activeFlagSession, 'SESSION INICIO');\n } else {\n this.handleAcceptLectura();\n console.log(this.activeFlagSession, 'SESSION LECTURA');\n }*/\n\n if (this.rol=='receptor') {\n this.calcularTotalDocumentosReceptor()\n }\n\n this.noHayTiposDeFirma = data.desc_tipos_firmas.length > 0 ?true:false;\n\n //this.obtenerReceptor();\n this.validarCaducidadContrasena();\n\n }, error => {\n console.log(error)\n });\n\n this.empecemosForm = this.fb.group({\n nombre: ['', [Validators.required, Validators.minLength(2)]],\n apellido: ['', [Validators.required, Validators.minLength(2)]],\n nationalType: ['', [Validators.required]],\n telefono: ['', [Validators.required, Validators.minLength(9),Validators.maxLength(9)]],\n selectDni: ['', [Validators.required]],\n dni: ['', [Validators.required, Validators.maxLength(12), Validators.minLength(8)]]\n })\n\n this.sharedTitle();\n this.sharedModalVisor();\n }\n\n obteniendoDatos(user, subdomain){\n this.recibirMetodo()\n this.usuarioService.obtenerUsuario(user, subdomain).subscribe(data => {\n console.log(\"SIDEBAR 1\",data)\n this.listarOpciones()\n\n this.authService.guardarDatos(data)\n this.permisosService.setOpciones()\n\n this.authService.generarPermisos(data.profiles)\n this.opcionesUsuario = this.authService.obtenerOpciones()\n\n //Si la empresa cuenta con el perfil de papelera\n this.codeOption = this.authService.obtenerOpciones();\n this.codeOptionChild=this.codeOption.includes('0000209');\n\n this.activeFlagSession = data.flagSession;\n //console.log(data, this.activeFlagSession, 'USUARIO')\n this.activeFlagSessionSocial = data.flagSessionSocial;\n console.log(data, this.activeFlagSessionSocial, 'activeFlagSessionSocial')\n\n if (this.activeFlagSessionSocial == true){\n this.verEmpezarSocial = 1\n console.log('verEmpezarSocial activo:',this.verEmpezarSocial)\n }else{\n this.verEmpezarSocial = 0\n console.log('verEmpezarSocial inactivo:',this.verEmpezarSocial)\n }\n //si ES GRATIS\n //this.opcionesUsuario = this.opcionesCuentaFree\n\n // this.calcularTotalPendientes()\n // this.calcularTotalEnProceso();\n //this.cantidadesDashboard()\n //this.estadoOnboarding();\n /* if (data.flagSession === 1) {\n this.handleAcceptInicio();\n console.log(this.activeFlagSession, 'SESSION INICIO');\n } else {\n this.handleAcceptLectura();\n console.log(this.activeFlagSession, 'SESSION LECTURA');\n }*/\n\n if (this.rol=='receptor') {\n this.calcularTotalDocumentosReceptor()\n }\n\n this.noHayTiposDeFirma = data.desc_tipos_firmas.length > 0 ?true:false;\n\n //this.obtenerReceptor();\n this.validarCaducidadContrasena();\n\n this.empresaService.obtenerEmpresaActiva(this.authService.obtenerIdEmpresaActiva()).subscribe(data => {\n console.log(\"SIDEBAR 2\",data)\n this.authService.guardarDataEmpresaActiva(data.find(c => c.id == this.authService.obtenerIdEmpresaActiva()))\n this.personalizar = this.authService.obtenerPermisoPersonalizacion() === 'true'\n this.esGratis = this.authService.obtenerTipoCuenta() === 'GRATUITA';\n this.activeMetadataProcess = this.authService.getActiveMetadataProcess() === 1;\n this.perfiles = this.authService.obtenerPerfiles()\n\n this.isAdministradorProfile =this.perfiles.includes(\"ADMINISTRADOR\")\n this.isAdminComerciales = this.authService.obtenerRolesArreglo().includes(5)\n this.rol = this.authService.obtenerRoles()\n\n //flag ADEX\n this.activateExtraFieldsToTables = this.authService.getActivateExtraFieldsToTables() === 1;\n this.flagTerms = this.authService.obtenerFlagTerminosyCondiciones() === 1;\n this.activeFlagPapelera = this.authService.getactiveFlagPapelera() === 1;\n this.activeFlagOffices = this.authService.getActiveFlagOffices() === 1;\n\n this.listenCustomImages();\n }, error => {\n console.log(error)\n })\n\n }, error => {\n console.log(error)\n })\n\n this.empecemosForm = this.fb.group({\n nombre: ['', [Validators.required, Validators.minLength(2)]],\n apellido: ['', [Validators.required, Validators.minLength(2)]],\n nationalType: ['', [Validators.required]],\n telefono: ['', [Validators.required, Validators.minLength(9),Validators.maxLength(9)]],\n selectDni: ['', [Validators.required]],\n dni: ['', [Validators.required, Validators.maxLength(12), Validators.minLength(8)]]\n })\n\n this.sharedTitle();\n this.sharedModalVisor();\n }\n\n toggleNavbar() {\n if(!this.navbarOpenResp) {\n this.navbarOpen = !this.navbarOpen;\n console.log('navbarOpen');\n }\n }\n\n select(item, $event) {\n this.selected = (this.selected === item ? null : item);\n $event ? $event.stopPropagation() : null;\n }\n\n isActive(item) {\n return this.selected === item;\n }\n\n\n\n sharedTitle() {\n this.sharedService.sharedData$\n .subscribe(sharedData => this.sharedData = sharedData);\n }\n\n sharedTitleSession(hijo) {\n //console.log(hijo,'hijo')\n let nuevoTitle = hijo.replace(/-/, \" \")\n let nuevoTitle2 = nuevoTitle.replace(/-/, \" \")\n localStorage.setItem('title', nuevoTitle2);\n this.sharedService.setData(nuevoTitle2);\n }\n\n sharedVisor: boolean = false;\n sharedVisorService() {\n setTimeout(() => {\n this.sharedVisor = true;\n this.sharedCerrarVisorService.setData(this.sharedVisor);\n console.log(this.sharedVisor,'sharedVisorPadre');\n }, 900)\n }\n\n sharedVisorEnviar: boolean = false;\n sharedModalVisor() {\n this.sharedCerrarVisorService.sharedData$\n .subscribe(sharedDataCerrar => {\n this.sharedVisorEnviar = sharedDataCerrar;\n console.log(this.sharedVisorEnviar,'sharedVisorEnviarHijo');\n });\n }\n\n sharedModalVisorEnviar() {\n this.sharedCerrarVisorPdfService.sharedData$\n .subscribe(sharedDataCerrarPdf => {\n this.sharedVisorEnviar = sharedDataCerrarPdf;\n console.log(this.sharedVisorEnviar,'sharedVisorEnviarHijo');\n });\n }\n\n sharedVisorEnviarService() {\n setTimeout(() => {\n this.sharedVisorEnviar = false;\n this.sharedCerrarVisorService.setData(this.sharedVisorEnviar);\n console.log(this.sharedVisorEnviar,'sharedVisorEnviarPadreDoc');\n }, 900)\n }\n\n activeDropdown(code_child) {\n const body = document.getElementsByTagName('body')[0];\n body.classList.remove('modal-open');\n\n console.log(code_child, 'code_child');\n\n // INICIO\n if(code_child == '0000006'){\n this.verIconDashboard = true;\n this.verIconDocumentos = false;\n this.verIconContactos = false;\n this.verIconConfiguracion = false;\n this.verIconMarket = false;\n this.verIconUsuarioFree = false;\n }\n // DOCUMENTOS\n\n if(code_child == '0000701'){\n this.sharedVisorService();\n this.sharedModalVisorEnviar();\n console.log('enviando cerrar modal a component');\n }\n\n if(code_child == '0000701' || code_child == '0000702'){\n this.verIconDocumentos = true;\n this.verIconDashboard = false;\n this.verIconContactos = false;\n this.verIconConfiguracion = false;\n this.verIconMarket = false;\n this.verIconUsuarioFree = false;\n }\n // CONTACTOS\n if(code_child == '0000801'){\n this.verIconContactos = true;\n this.verIconDashboard = false;\n this.verIconDocumentos = false;\n this.verIconConfiguracion = false;\n this.verIconMarket = false;\n this.verIconUsuarioFree = false;\n }\n // CONFIGURACIONES\n if(code_child == '0000901' || code_child == '0000902' || code_child == '0000903' || code_child == '0000904' || code_child == '0000905'){\n this.verIconConfiguracion = true;\n this.verIconDashboard = false;\n this.verIconDocumentos = false;\n this.verIconContactos = false;\n this.verIconMarket = false;\n this.verIconUsuarioFree = false;\n }\n // MARKET\n if(code_child == '0000010'){\n this.verIconMarket = true;\n this.verIconConfiguracion = false;\n this.verIconDashboard = false;\n this.verIconDocumentos = false;\n this.verIconContactos = false;\n this.verIconUsuarioFree = false;\n }\n\n // USUARIOS FREE\n if(code_child == '0000011'){\n this.verIconUsuarioFree = true;\n this.verIconDashboard = false;\n this.verIconDocumentos = false;\n this.verIconContactos = false;\n this.verIconConfiguracion = false;\n this.verIconMarket = false;\n }\n }\n\n sharedTitleSessionModule(modulo) {\n //console.log(modulo,'modulo')\n let nuevoTitle = modulo.replace(/-/, \" \")\n localStorage.setItem('title', nuevoTitle);\n this.sharedService.setData(nuevoTitle);\n }\n\n removeTitleSession() {\n this.sharedService.setData(null);\n }\n\n selectMasivo(item, $event) {\n this.selected = (this.selected === item ? null : item);\n $event ? $event.stopPropagation() : null;\n }\n\n isActiveMasivo(item) {\n return this.selected === item;\n }\n\n\n /*Re initialize in specify step*/\n initPosition(stepNumber: any) {\n this.copilot.checkInit(stepNumber);\n }\n\n /*Initialize*/\n init() {\n this.copilot.checkInit();\n }\n\n /*Next Step*/\n siguiente(stepNumber: any) {\n this.copilot.next(stepNumber);\n }\n\n /*Finish*/\n omitir() {\n this.copilot.removeWrapper();\n this.modificarOnboarding();\n //const topbar = document.getElementsByTagName('app-topbar')[0];\n //topbar.classList.remove('topbar-temporal-oculto');\n }\n\n options = [\n { name: \"DNI\", id: 1 },\n { name: \"CE\", id: 2 },\n { name: \"PTP\", id: 3 },\n { name: \"pasaporte\", id: 4 },\n //{ name: \"RUC\", id: 2 },\n ];\n\n getChangeDoc(id:any){\n this.idDocSelect = id\n }\n\n empecemos(){\n this.existeDni = false;\n\n if (this.empecemosForm.invalid) {\n return this.fv.validateForm(this.empecemosForm)\n }\n\n this.subDominioFree = this.authService.obtenerSubdomain()\n\n const nationality = this.empecemosForm.get('nationalType').value;\n const countryCode = countries.find((item) => item.code === nationality)?.dial;\n\n let user: any = {\n name: this.empecemosForm.get('nombre').value,\n paternalSurname: this.empecemosForm.get('apellido').value,\n phoneNumber: countryCode + this.empecemosForm.get('telefono').value,\n identityType: this.idDocSelect,\n identityNumber: this.empecemosForm.get('dni').value,\n email:this.authService.obtenerUsername(),\n subdomain:this.subDominioFree\n //user: '',\n //password: '',\n }\n\n console.log('registro', user)\n\n this.usuarioService.actualizarUsuariosRedSocial(user).subscribe(data=>{\n console.log(\"actualizarUsuariosRedSocial\", data);\n this.notify.success(\"Usuario creado correctamente.\");\n this.verEmpezar = false;\n window.location.reload();\n this.verComenzar = true;\n }, error => {\n console.log(error)\n if (error.status === 409) {\n this.validacionDni = '*'+error.error+'*'\n this.existeDni = true;\n } else {\n this.notify.error('Hubo un problema al crear su usuario')\n }\n })\n }\n\n empecemosOnboarding(){\n this.modalEmpecemos.open();\n this.verEmpezar = false;\n this.verComenzar = true;\n }\n\n modificarOnboarding() {\n this.serviceReceptor.ModificarOnboarding(this.authService.obtenerUsername(), this.authService.obtenerSubdominio()).subscribe(data => {\n console.log(data,'modificarOnboarding');\n }, error => {\n console.log(error)\n })\n }\n\n estadoOnboarding() {\n const body = {\n email : this.start ? localStorage.getItem('AUTHUSER') : this.authService.obtenerUsername(),\n subdomain : this.start ? localStorage.getItem('AUTHSUBDOMINIO') : this.authService.obtenerSubdominio()\n }\n this.receptorService.obtenerEstadoOnboarding(body).subscribe(data => {\n this.flagOnboarding = data.flagOnboarding\n this.userCreator = data.userCreator\n //if (this.userCreator == 'COGNITO') {\n if (this.flagOnboarding == 0) {\n this.empecemosOnboarding();\n }\n /*} else {\n if(this.verEmpezarSocial == 0) {\n this.verModalEmpecemos();\n } else {\n if(this.flagOnboarding == 0) {\n this.empecemosOnboarding();\n }\n }\n }*/\n console.log(data.flagOnboarding, 'estadoOnboarding')\n }, error => {\n console.log(error)\n });\n }\n\n cerrarModalEmpecemos() {\n this.verComenzar = false;\n this.modalEmpecemos.close();\n this.copilot.checkInit('6');\n //this.estadoOnboarding();\n }\n\n accept:boolean\n handleAcceptInicio() {\n console.log(\"TyC : \", this.flagTerms)\n if(this.activateExtraFieldsToTables && this.flagTerms){\n //Solucion Temporal para topbar que se muestra en terminos\n const topbar = document.getElementsByTagName('app-topbar')[0];\n topbar.classList.add('topbar-temporal-oculto');\n //temporal\n if (this.accept) {\n this.accept = false;\n } else {\n this.modalInicioTerminos.open();\n }\n }\n }\n\n verModalEmpecemos() {\n this.modalEmpecemos.open();\n console.log('verModalEmpecemos');\n //Solucion Temporal para topbar que se muestra en terminos\n //const topbar = document.getElementsByTagName('app-topbar')[0];\n //topbar.classList.add('topbar-temporal-oculto');\n //temporal\n }\n\n handleAcceptLectura() {\n this.modalLecturaTerminos.open();\n }\n\n recibirMetodo() {\n this.compartirDatosService.currentMessage\n .subscribe(message => (\n this.selectedMessage = message\n ));\n return this.selectedMessage\n }\n\n handleAcceptConfirm() {\n this.onconfirm.emit('ENVIAR VALOR')\n console.log(this.accept,'ACCEPT')\n\n const usuario:Usuario = {\n flagSession: 1\n }\n\n //update flagTerms in user\n if(this.accept){\n this.receptorService.modificarTermsUsuario(this.authService.obtenerUsername(),this.authService.obtenerSubdominio(), \"0\").subscribe (\n data => {\n this.authService.guardarFlagTerminosyCondiciones(\"0\");\n console.log('FLAG TERMS DESHABILITADO')\n //Solucion Temporal para topbar que se muestra en terminos\n const topbar = document.getElementsByTagName('app-topbar')[0];\n topbar.classList.remove('topbar-temporal-oculto');\n //temporal\n }\n );\n }\n //this.usuarioService.actualizarUsuario(this.authService.obtenerUsername(), this.authService.obtenerSubdominio(), usuario).subscribe(data => {\n this.usuarioService.obtenerUsuario( this.authService.obtenerUsername(), this.authService.obtenerSubdominio()).subscribe(data => {\n data.flagSession = 1\n console.log(data, 'SESSION CONFIRM')\n }, error => {\n console.log(error)\n });\n }\n\n listenCustomImages(): void {\n this.customService.listarImagenesPersonalizacionLogeado(\n this.authService.obtenerSubdominio() , this.authService.obtenerIdEmpresaActiva()\n )\n .pipe(takeUntil(this.destroy$))\n .subscribe((response: any) => {\n const { logoWeb } = response;\n\n this.logoSidebar = logoWeb\n //? logoWeb\n ? this.defaultLogo\n : this.defaultLogo;\n });\n }\n\n changeSignDocumentsPosition(optionList: Opcion[]): any[] {\n const signaturePanel = optionList.find((option: Opcion) => {\n return option.code_child === '0000002';\n });\n console.log(signaturePanel)\n let signDocumentsOpt:Opcion = {}\n if (signaturePanel!=undefined) {\n signDocumentsOpt = signaturePanel.list_options.find((option: Opcion) => {\n return option.code_child === '0000205';\n });\n }\n\n return optionList.map((option: Opcion) => {\n console.log(\"option\",option)\n if (option.code_child === '0000002') {\n const newListOptions = option.list_options.filter((option: Opcion) => {\n return option.code_child !== '0000205';\n });\n\n return {\n ...option,\n list_options: [signDocumentsOpt, ...newListOptions]\n };\n }\n return {\n ...option,\n list_options: option.list_options\n };\n });\n }\n\n listarOpciones() {\n this.opcionesService.listarOpciones().subscribe(data => {\n\n if (this.activeMetadataProcess) {\n data[2].list_options.push({\n action: 'reportes-poderosa',\n code_child: '0000304',\n code_dad: '0000003',\n enabled: true,\n level: 1,\n name: 'reportes poderosa',\n option_free: 0,\n });\n }\n\n /*data[1].list_options.push({\n action: 'bandeja-gestion-contratos',\n // code_child: '0000201',\n code_dad: '0000002',\n enabled: true,\n level: 1,\n name: 'bandeja de gestión de contratos',\n option_free: 0,\n });*/\n const newOptions = this.changeSignDocumentsPosition(data);\n\n const opciones: Opcion[] = [...newOptions];\n console.log(opciones)\n\n\n if(!this.isAdministradorProfile && this.esGratis){\n opciones.splice(0,1);\n opciones.pop();\n }else if(this.esGratis){\n opciones.pop();\n }\n\n console.log(opciones)\n for (const modulo of opciones) {\n if (this.opcionesUsuario.includes(modulo.code_child)) {\n\n //this.moduloUppercase = modulo.name;\n //modulo.name = this.capitalizarPrimeraLetra(this.moduloUppercase);\n modulo.action = modulo.name.replace(/ /g, \"-\");\n modulo.enabled = true;\n\n for (const hijo of modulo.list_options) {\n\n if (this.opcionesUsuario.includes(hijo.code_child)) {\n\n this.hijoUppercase = hijo.name;\n hijo.action = hijo.name.replace(/ /g, \"-\");\n hijo.name = this.capitalizarPrimeraLetra(this.hijoUppercase);\n hijo.enabled = true;\n }\n }\n }\n }\n console.log(opciones)\n this.opciones = [...opciones];\n }, error => {\n this.notify.error('Hubo un problema al obtener las opciones')\n })\n }\n\n capitalizarPrimeraLetra(modulo) {\n return modulo.charAt(0).toUpperCase() + modulo.slice(1);\n }\n\n porNotificar:boolean\n cantidadesDashboard() {\n this.dashboardService.cantidadesDocumentosRealizados(\n this.authService.obtenerIdEmpresaActiva(),\n this.authService.obtenerUsername(),\n this.authService.obtenerSubdominio()).subscribe((data:any) => {\n\n this.porNotificar =data.documentsToNotify != 0 ?true:false\n\n }, error => {\n console.log(error)\n })\n }\n\n cerrarModalObtenerPremium(){\n this.modalObtenerPremium.close()\n\n }\n\n\n modalCambiarmeCuentaPagoLoading:boolean\n\n confirmarObtenerPremium(){\n this.modalCambiarmeCuentaPagoLoading = true\n const data:any={\n idCompany:this.authService.obtenerIdEmpresaActiva(),\n user:this.authService.obtenerUsername(),\n subdomain:this.authService.obtenerSubdominio()\n }\n this.service.enviarCorreoContactarme(data).subscribe(data => {\n this.notify.success(\"Se envió la solicitud correctamente.\")\n this.modalCambiarmeCuentaPagoLoading = false\n this.modalObtenerPremium.close()\n //this.modalContactarCuentaFreeLoading = false\n }, error => {\n this.notify.error(error.error.response)\n //this.modalContactarCuentaFreeLoading = false\n })\n\n }\n\n calcularTotalPendientes(): void {\n\n this.dashboardService.listarPendientes(\n this.authService.obtenerIdEmpresaActiva(),\n this.authService.obtenerUsername(),\n this.authService.obtenerSubdominio()).subscribe((data:any) => {\n\n this.hayPendientes = data.documentsPending > 0 ?true:false;\n\n }, error => {\n console.log(error)\n })\n }\n\n calcularTotalDocumentosReceptor(){\n //this.loading = true\n this.dashboardService.listarDocumentosReceptor(\n this.authService.obtenerIdEmpresaActiva(),\n this.authService.obtenerUsername(),\n this.authService.obtenerSubdominio()\n ).subscribe((data:any) => {\n\n this.hayDocumentosReceptor = data.documents > 0 ?true:false;\n }, error => {\n\n console.log(error)\n })\n }\n\n calcularTotalEnProceso(){\n\n //this.loading = true\n this.dashboardService.listarProcesos(\n this.authService.obtenerSubdominio(),\n this.authService.obtenerUsername(),\n this.authService.obtenerIdEmpresaActiva()\n ).subscribe((data:any) => {\n\n this.hayEnProceso = data.documentsProcess > 0 ?true:false;\n\n }, error => {\n\n console.log(error)\n })\n }\n\n irDashboard(){\n this.removeTitleSession();\n this.router.navigate(['/']);\n }\n\n convertirCuentaPago(){\n }\n\n alertaAviso(modulo: string, hijo: string){\n\n console.log(\"ES PERSONALIZAR\")\n\n this.sidebarService.showWarning$.next({\n modulo,\n hijo,\n isCustom: this.personalizar\n });\n\n this.sharedData = hijo;\n this.sharedTitleSession(this.sharedData);\n }\n\n abrirModalPremium(){\n this.modalObtenerPremium.open()\n }\n\n // Caducidad de Contrasena --inicio\n\n\n validarCaducidadContrasena() {\n this.receptorService.validarCaducidadContraseña(this.authService.obtenerUsername(),this.authService.obtenerSubdominio()).subscribe( data => {\n if(data == 'NONE'){\n console.log('SIN FECHA CONTRASEÑA')\n }else if(data == 'FALSE'){\n console.log('SIN CADUCAR')\n }else if(data == 'TRUE'){\n if (!this.passForm) {\n const passwordValidators = this.validators.set()\n this.passForm = this.fb.group({\n oldPass: ['', [Validators.required, Validators.minLength(6)]],\n password: ['', passwordValidators],\n confirm: ['', [Validators.required]]\n }, { validators: this.checkPasswords })\n }\n //Cambiando z-index a sidebar para evitar superposicion de elementos\n const sidebar = document.getElementsByClassName('sidebar')[0];\n sidebar.classList.add('sidebar-frente');\n this.modalCaducidadContrasena.open()\n console.log('CADUCADO')\n }\n\n })\n }\n\n checkPasswords(group: FormGroup) {\n let pass = group.get('password').value;\n let confirmPass = group.get('confirm').value;\n return pass === confirmPass ? null : { mismatch: true }\n }\n pLoading:boolean\n async changePassword(e) {\n e.preventDefault()\n if (this.pLoading) return\n if (this.passForm.invalid) {\n return this.fv.validateForm(this.passForm)\n }\n this.pLoading = true\n try {\n const user = await Auth.currentAuthenticatedUser()\n const result = await Auth.changePassword(user, this.passForm.get('oldPass').value, this.passForm.get('password').value);\n if (result === 'SUCCESS') {\n try{\n this.receptorService.actualizarFechaContraseña(this.authService.obtenerUsername(), this.authService.obtenerSubdominio()).subscribe(\n data => {\n console.log('Fecha Contraseña Actualizada')\n })\n this.pLoading = false\n this.modalCaducidadContrasena.close()\n this.passForm.reset()\n this.notify.success('Contraseña cambiada con éxito')\n\n //Cambiando z-index a sidebar para evitar superposicion de elementos\n const sidebar = document.getElementsByClassName('sidebar')[0];\n sidebar.classList.remove('sidebar-frente');\n\n }catch(error){\n console.log('Hubo un problema al actualizar la fecha')\n }\n } else {\n this.notify.error('Hubo un problema al procesar la solicitud')\n }\n } catch (error) {\n this.notify.error('Hubo un problema al realizar la petición')\n }\n\n this.pLoading = false\n }\n // Caducidad de Contrasena --fin\n\n}\n","
\n \n
\n\n
\n \n
\n \n
\n \n
\n
\n
\n\n \n\n
\n \n \n
\n\n \n\n
\n \n
\n \n
\n
\n\n\n\n
\n
\n\n \n \n
\n
\n \n
\n
\n \n
\n
\n\n
\n \n
\n \n \n
\n
\n\n
\n \n
\n
\n \n
\n

Este campo es obligatorio

\n
\n
\n\n
\n \n
\n
\n
\n {{ validacionDni }}\n
\n
\n\n \n\n \n\n
\n\n \n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n
\n \n \n
\n
\n\n\n
\n\n\n \n\n\n\n \n\n\n\n\n
\n

La contraseña actual a caducado, por favor realizar el cambio de su contraseña.


\n \n \n \n

Las contraseñas deben coincidir

\n \n \n
\n \n \n \n
\n
\n
\n\n\n\n\n\n Opciones solo para la versión Pagada, solicitar ahora\n\n
\n \n
\n
","/* (ignored) */","export namespace TopbarConstants {\n\n export const HEAD_PREMIUM = [\n { title: 'Especificaciones', priority: true },\n { title: 'Free', priority: true },\n { title: 'Premium', priority: true }\n ];\n\n export const BODY_PREMIUM = [\n [\n { contents: 'CERTIFICADO DIGITAL GRATIS' },\n { contents: 'NO' },\n { contents: 'Si' },\n ],\n [\n { contents: 'MULTIEMPRESA (COMPARTIR ENTRE RAZONES SOCIALES)' },\n { contents: 'NO' },\n { contents: 'SI' },\n ],\n [\n { contents: 'CREACIÓN DE USUARIOS' },\n { contents: 'NO' },\n { contents: 'ILIMITADO' },\n ],\n [\n { contents: 'FLUJOS DE FIRMAS Y NOTIFICACIONES' },\n { contents: 'NO' },\n { contents: 'SI' },\n ],\n [\n { contents: 'FIRMA ELECTRÓNICA (TOKEN, HOLÓGRAFA FIRMA FACIAL, HUELLA BIOMÉTRICA)' },\n { contents: 'SOLO FIRMA DIGITAL (CERTIFICADO DIGITAL)' },\n { contents: 'SI' },\n ],\n [\n { contents: 'PERSONALIZACIONES (COLORES CORPORATIVOS, PLANTILLAS DE CORREO)' },\n { contents: 'NO' },\n { contents: 'SI' },\n ],\n [\n { contents: 'APP MOVIL' },\n { contents: 'NO' },\n { contents: 'SI' },\n ],\n [\n { contents: 'RÚBRICA EN TODAS LAS HOJAS' },\n { contents: 'NO' },\n { contents: 'SI' },\n ],\n [\n { contents: 'TIPO DE NOTIFICACIONES (CORREO, SMS, PUSH MOVIL)' },\n { contents: 'CORREO' },\n { contents: 'MULTIPLES' },\n ],\n [\n { contents: 'DOCUMENTOS DISPONIBLES' },\n { contents: 'Hasta 50' },\n { contents: 'Desde 500' },\n ],\n [\n { contents: 'TAMAÑO DE ARCHIVOS SOPORTADO' },\n { contents: 'Hasta 5 MB' },\n { contents: 'Hasta 100 MB' },\n ],\n [\n { contents: 'ALMACENAMIENTO' },\n { contents: '1 AÑO' },\n { contents: '5 AÑOS' },\n ],\n [\n { contents: 'SOPORTE EXCLUSIVO' },\n { contents: 'NO' },\n { contents: 'ESTÁNDAR' },\n ],\n [\n { contents: 'INTEGRACIÓN API' },\n { contents: 'NO' },\n { contents: 'SI' },\n ],\n [\n { contents: 'SELLO DE TIEMPO' },\n { contents: 'NO' },\n { contents: 'SI' },\n ]\n ];\n}","/* (ignored) */","import { IDrawOptions } from \"src/app/models/Challenge.model\";\nimport * as LiveDetectionActions from \"./liveness-detection.actions\";\n\nexport interface State {\n drawOptions: IDrawOptions;\n helpMessage: string;\n shouldSaveFrame: boolean;\n success: boolean;\n end: boolean;\n}\n\nconst initialState: State = {\n drawOptions: null,\n helpMessage: null,\n shouldSaveFrame: false,\n success: false,\n end: false\n};\n\nexport function liveDetectionReducer(\n state: State = initialState,\n action: LiveDetectionActions.LiveDetectionAction\n): State {\n const COLOR_RED = 'rgba(255, 0, 0, 1)';\n const COLOR_GREEN = 'rgba(0, 255, 0, 1)';\n const COLOR_YELLOW = 'rgba(255, 255, 0, 1)';\n\n switch(action.type) {\n case LiveDetectionActions.NO_FACE_AREA:\n\n const newDrawOptions: IDrawOptions = {\n ...state.drawOptions,\n faceDrawBoxOptions: {\n ...state.drawOptions?.faceDrawBoxOptions,\n boxColor: COLOR_RED\n }\n };\n\n return {\n ...state,\n drawOptions: newDrawOptions,\n helpMessage: 'Centra tu rostro dentro del área'\n };\n case LiveDetectionActions.FACE_AREA:\n\n const drawOptionsFace: IDrawOptions = {\n ...state.drawOptions,\n faceDrawBoxOptions: {\n ...state.drawOptions?.faceDrawBoxOptions,\n boxColor: COLOR_GREEN\n }\n }; \n\n return {\n ...state,\n drawOptions: drawOptionsFace\n };\n case LiveDetectionActions.NOSE_AREA:\n\n const drawOptionsNose: IDrawOptions = {\n ...state.drawOptions,\n noseDrawBoxOptions: {\n ...state.drawOptions?.noseDrawBoxOptions,\n boxColor: COLOR_YELLOW\n }\n } \n\n return {\n ...state,\n drawOptions: drawOptionsNose,\n shouldSaveFrame: true,\n helpMessage: 'Mueva la punta de su nariz dentro del área amarilla'\n };\n case LiveDetectionActions.FAIL_DETECTION:\n return {\n ...state,\n end: true,\n success: false,\n shouldSaveFrame: false\n };\n case LiveDetectionActions.SUCCESS_DETECTION:\n return {\n ...state,\n end: true,\n success: true,\n shouldSaveFrame: true\n };\n case LiveDetectionActions.RESET:\n return {\n ...state,\n ...initialState\n }\n default:\n return state;\n }\n}","/* (ignored) */","import { \n Component,\n OnInit, \n Input, \n Output, \n EventEmitter, \n HostListener, \n ViewChildren, \n ViewChild, \n QueryList, \n ElementRef, \n AfterViewInit,\n DoCheck,\n Renderer2\n} from '@angular/core';\nimport { FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Filter } from 'src/app/models/Filter.model';\n\nimport { TableTh } from 'src/app/models/Table.model';\nimport { TableTd } from 'src/app/models/Table.model';\n\n\n@Component({\n selector: 'app-table-scroll',\n templateUrl: './table-scroll.component.html',\n styleUrls: ['./table-scroll.component.scss']\n})\nexport class TableScrollComponent implements DoCheck ,OnInit, AfterViewInit {\n\n @ViewChildren('sizing') sizing:QueryList;\n @ViewChildren('trueHeader') trueHeader:QueryList;\n @ViewChild('tableRef') tableRef:ElementRef;\n\n @Input() head: TableTh[]\n @Input() body: Array\n @Input() autoHeight: boolean\n @Input() checkUnique: boolean\n @Input() loaders: boolean[] = [];\n @Input() showPaginator: boolean = true;\n @Input() showIconSort: boolean = true;\n @Output() \n getCheckedItems = new EventEmitter()\n @Output() \n onLoad = new EventEmitter()\n\n ngTable:any = {}\n filteredRows:any[][];\n\n constructor(\n private hostElement: ElementRef,\n private renderer: Renderer2\n ) { }\n\n setBody(body: Array): void {\n this.body = body;\n }\n \n ngOnInit() {\n this.filteredRows = this.body\n this.noData = this.filteredRows.length == 0;\n this.buildPagination()\n this.buildTable()\n }\n\n ngDoCheck(): void {\n const noMetdataList = document.querySelectorAll('.no-metadata');\n \n noMetdataList.forEach((element) => {\n const siblingEl = element.previousElementSibling;\n this.renderer.setStyle(siblingEl, 'display', 'none');\n });\n }\n\n ngAfterViewInit(){\n \n setTimeout(() => {\n // this.setHidden()\n this.size()\n this.onLoad.emit(true)\n }, 5)\n\n }\n\n manualInit() {\n this.filteredRows = this.body\n this.filteredRows.length == 0 ? this.noData = true : this.noData = false\n this.buildPagination()\n this.buildTable()\n this.size()\n this.onLoad.emit(true)\n }\n\n onResize() {\n this.size()\n setTimeout(() => {this.size()},50)\n }\n\n canExpand:boolean\n shownLength:number = 1\n buildTable() {\n\n this.setHidden()\n this.displayPage(1)\n\n }\n\n /**\n * Clean the table.\n */\n clean(): void {\n this.head.splice(0);\n this.body.splice(0);\n this.filteredRows.splice(0);\n this.noData = true;\n }\n\n pageLength:number = 20\n numbersOfPages:number[] = []\n\n currentPage:number = 1\n currentPageItems: any[]\n\n visibleStart:number = 1\n visibleLength:number = 7\n visiblePages:number[]\n\n buildPagination() {\n\n this.numbersOfPages = []\n\n const total = this.filteredRows.length\n let numbersOfPages\n \n numbersOfPages = Math.ceil(total / this.pageLength)\n \n for (let i:number = 1; i <= numbersOfPages; i++) {\n this.numbersOfPages.push(i)\n }\n\n this.setVisiblePages(1, 1 + this.visibleLength)\n \n }\n\n noData:boolean = false\n setPage(num) {\n \n if (this.filteredRows.length == 0) {\n\n this.noData = true\n this.visibleStart = 1\n this.currentPage = 1\n\n } else {\n\n this.noData = false\n\n }\n \n if (num > 0 && num <= this.filteredRows.length) {\n\n if ( num - 3 >= 1 && num + 3 <= this.numbersOfPages.length ) {\n this.visibleStart = num - 3\n } else {\n if ( num - 2 >= 1 && num + 2 <= this.numbersOfPages.length ) {\n\n if ( num - 2 + this.visibleLength <= this.numbersOfPages.length || num - 4 < 0 ) {\n this.visibleStart = num - 2\n } else {\n this.visibleStart = num - 4\n }\n\n } else if ( num - 1 >= 1 && num + 1 <= this.numbersOfPages.length ) {\n\n if ( num - 1 + this.visibleLength <= this.numbersOfPages.length || num - 5 < 0) {\n this.visibleStart = num - 1\n } else {\n this.visibleStart = num - 5\n }\n \n } else {\n if (num - this.visibleLength > 0) {\n this.visibleStart = num - this.visibleLength + 1\n } else {\n this.visibleStart = 1\n }\n \n }\n }\n\n this.currentPage = num\n \n this.displayPage(this.currentPage)\n if (this.numbersOfPages.length >= 7) {\n \n this.setVisiblePages(this.visibleStart, this.visibleStart + this.visibleLength)\n }\n \n }\n\n }\n\n indexStart:number\n indexEnd:number\n displayPage(page) {\n\n this.indexStart = ((page * this.pageLength) - this.pageLength)\n this.indexEnd = this.indexStart + this.pageLength\n \n this.currentPageItems = this.filteredRows.slice(this.indexStart, this.indexEnd)\n\n if (this.currentPageItems.length < this.pageLength) {\n this.indexEnd = this.indexStart + this.currentPageItems.length\n }\n\n const final = this.currentPageItems.map( (row, index) => {\n\n return {\n expanded: false,\n cols: row\n }\n\n })\n\n this.ngTable.body = final\n }\n\n setVisiblePages(start, end) { \n start--\n end--\n this.visiblePages = this.numbersOfPages.slice(start, end)\n }\n\n\n // page resizing\n sizeCount:number = 0\n size() {\n this.canExpand = false\n this.setHidden()\n const th = this.trueHeader.toArray()\n const sz = this.sizing.toArray()\n const sizes = sz.map( s => s.nativeElement.clientWidth )\n\n th.forEach(\n (h, i) => {\n const pLeft = parseInt(window.getComputedStyle(h.nativeElement).paddingLeft.split('px')[0])\n const pRight = parseInt(window.getComputedStyle(h.nativeElement).paddingRight.split('px')[0])\n\n h.nativeElement.width = (sizes[i] - ( pLeft + pRight )) + 1 \n \n }\n )\n\n sz.forEach(\n (h, i) => {\n const pLeft = parseInt(window.getComputedStyle(h.nativeElement).paddingLeft.split('px')[0])\n const pRight = parseInt(window.getComputedStyle(h.nativeElement).paddingRight.split('px')[0])\n\n h.nativeElement.width = (sizes[i] - ( pLeft + pRight )) + 1\n \n }\n )\n\n this.sizeCount ++\n // console.timeEnd('SIZE')\n }\n\n // FILTERING\n columnFilters:any = []\n filterTable(filter: Filter): void {\n const {\n text, prop = 'contents', col, exact = false, type = null, epoch = null, remainFilters\n } = filter;\n\n let initial = col === -1 || !!remainFilters && remainFilters.length === 0\n ? this.body\n : this.filteredRows;\n\n if (!!remainFilters && remainFilters.length > 0) {\n remainFilters.forEach((filter, index) => {\n const newFilter = { ...filter, remainFilters: null };\n \n if (index === 0) {\n this.filteredRows = this.body;\n }\n\n this.filterTable(newFilter);\n });\n return;\n }\n\n if (col == -1) {\n this.columnFilters.fill(null);\n } else {\n\n if (text == '') {\n this.columnFilters[col] = null\n } else {\n const search = text.toLowerCase();\n this.columnFilters = [];\n this.columnFilters[col] = { text: search, prop, exact, type, epoch };\n }\n\n this.columnFilters.forEach((f,i) => {\n if (f && f.text != '') {\n\n initial = initial.filter( row => {\n\n // filtro normal\n if (!f.epoch) {\n\n const rowText = row[i][f.prop] ? (row[i][f.prop]).toString().toLowerCase() : '';\n \n if (f.exact) {\n return rowText == f.text;\n }\n return rowText.indexOf(f.text) >= 0\n\n } else {\n // Fecha inicio / fecha fin\n const rowText = Date.parse(row[i][f.prop]);\n \n if (type === 'earlier-than') {\n return rowText <= f.epoch;\n } else {\n return rowText >= f.epoch;\n }\n \n }\n })\n }\n })\n }\n\n this.filteredRows = initial;\n\n this.setPage(1);\n this.buildPagination();\n }\n\n\n\n // CHECKBOXES \n @Input() checkIndex:number\n @Input() checkProp:string = 'contents'\n checkedList: any[] = []\n // checksModel: boolean[] = []\n check(e, cell, el, i:number, j:number) {\n\n // this.checksModel[this.indexStart+i] = e.target.checked\n if (this.checkUnique) {\n this.body.forEach(r => { r.forEach(c => { if (c.checkbox) c.checked = false }) })\n }\n cell.checked = e.target.checked\n\n if (e.target.checked) {\n\n this.checkUnique ? this.checkedList = [el] : this.checkedList.push(el)\n\n } else {\n this.checkedList = this.checkedList.filter(item => item != el)\n }\n \n this.getCheckedItems.emit(this.checkedList)\n }\n\n checkall(e) {\n\n // this.checksModel.fill(e.target.checked)\n this.body.forEach(r => { r.forEach( c => { if (c.checkbox) c.checked = e.target.checked }) })\n\n if (e.target.checked) {\n this.checkedList = this.filteredRows.map(row => row[this.checkIndex][this.checkProp])\n } else {\n this.checkedList = []\n }\n\n this.getCheckedItems.emit(this.checkedList)\n \n }\n\n uncheckEverything() {\n this.body.forEach(r => { r.forEach( c => { if (c.checkbox) c.checked = false }) })\n this.checkedList = []\n this.getCheckedItems.emit(this.checkedList)\n }\n\n\n\n\n\n\n // Close dropdown on click outside\n cellsOpened: boolean[] = []\n popoversOpened: boolean[] = []\n @HostListener('document:click', ['$event']) clickout(event) {\n this.cellsOpened.fill(false);\n this.popoversOpened.fill(false)\n }\n\n top:boolean\n tableDrop(e, i) {\n\n e.stopPropagation()\n\n let height = this.tableRef.nativeElement.parentElement.clientHeight\n let clientRect = this.tableRef.nativeElement.parentElement.getBoundingClientRect().top\n\n let top = height-200 < e.clientY - clientRect\n top ? this.top = true : this.top = false\n\n if ( this.cellsOpened[i] == undefined ) {\n this.cellsOpened[i] = false\n }\n\n let current = this.cellsOpened[i]\n this.cellsOpened.fill(false)\n\n if (current == true) {\n this.cellsOpened[i] = true\n }\n this.cellsOpened[i] = !this.cellsOpened[i]\n\n }\n\n\n\n\n\n\n\n // ordering\n sort(i, dir) {\n\n const collator = new Intl.Collator('es', { numeric: true, sensitivity: 'base' });\n // arrayOfObjects.sort((a, b) => {\n // return collator.compare(a.name, b.name);\n // });\n this.ngTable.head.forEach(th => th.order = '')\n if (dir == 'ASC') {\n this.filteredRows = this.filteredRows.sort((a, b) => {\n\n this.ngTable.head[i].order = 'ASC'\n\n if (a[i].date && b[i].date) {\n return (a[i].dateObj > b[i].dateObj) ? 1 : -1\n } else {\n return (collator.compare(a[i].contents, b[i].contents) >= 0) ? 1 : -1\n }\n\n })\n } else {\n this.filteredRows = this.filteredRows.sort((a, b) => {\n\n this.ngTable.head[i].order = 'DESC'\n\n if (a[i].date && b[i].date) {\n return (a[i].dateObj < b[i].dateObj) ? 1 : -1\n } else {\n return (collator.compare(a[i].contents, b[i].contents) <= 0) ? 1 : -1\n }\n \n })\n }\n \n this.setPage(1)\n this.buildPagination()\n \n }\n\n\n\n\n switch(e, preventSwitch, cvalue, action) {\n if (preventSwitch) e.preventDefault()\n if (action) action(!cvalue)\n }\n\n\n\n\n\n mediaQueries: any = [\n {\n width: 0,\n items: 1\n },\n {\n width: 572,\n items: 3\n },\n {\n width: 768,\n items: 4\n },\n {\n width: 992,\n items: 5\n },\n {\n width: 1200,\n items: 6\n },\n {\n width: 1500,\n items: 7\n }\n ]\n\n setHidden() {\n // console.time('SET HIDDEN')\n\n let width\n // reset widths\n if (this.tableRef) {\n\n const th = this.trueHeader.toArray()\n const sz = this.sizing.toArray()\n\n th.forEach( t => { t.nativeElement.width = '' })\n sz.forEach( t => { t.nativeElement.width = '' })\n\n width = this.tableRef.nativeElement.clientWidth\n } else {\n\n width = this.hostElement.nativeElement.parentElement.clientWidth\n }\n\n // esconder elementos que queden por fuera\n let items\n\n // SET THE AMOUNT OF ITEMS \n for (const q of this.mediaQueries) {\n if (width > q.width) {\n items = q.items\n } else {\n break\n }\n }\n\n let initialLength = 0\n this.head.forEach(th => { if (!th.hide) initialLength ++ })\n let diff = initialLength - items\n\n for ( let i = this.head.length-1; i >= 0; i-- ) {\n\n if (diff > 0) {\n if (!this.head[i].hide && !this.head[i].priority && !this.head[i].checkbox) {\n this.head[i].respHide = true\n diff --\n }\n } else {\n if (!this.head[i].hide) {\n this.head[i].respHide = false\n }\n }\n\n }\n \n\n for (const th of this.head) {\n if (th.hide || th.respHide) {\n \n this.canExpand = true\n } else {\n this.shownLength ++\n }\n }\n \n\n\n this.ngTable.head = this.head\n this.columnFilters.length = this.head.length\n // console.timeEnd('SET HIDDEN')\n }\n\n\n currentlyHidden:any\n expand(row) {\n const currentRow = this.ngTable.body[row]\n currentRow.expanded = !currentRow.expanded\n }\n\n\n\n\n\n // EDIT POPOVERS\n edited: string[] = []\n edit: FormGroup\n editTd(i, obj) {\n this.popoversOpened[i] = true\n let group = {}\n group[obj.name] = new FormControl('', [Validators[obj.validators]])\n this.edit = new FormGroup(group)\n }\n\n confirmEdit(i, input, action) {\n this.edited[i] = this.edit.value[input]\n this.popoversOpened[i] = false\n if (action) action(this.edited[i])\n }\n\n awaitAction(e, action, disabled:boolean) {\n if (disabled) return\n e.stopPropagation()\n action()\n }\n\n}\n","
\n\n \n \n
\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n
\n \n \n \n {{ !column.checkbox ? column.title : null }}\n \n
\n \n \n
\n
\n \n
\n \n
\n \n \n \n \n \n
\n \n
\n
\n \n \n \n \n
\n \n
\n
\n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n
\n \n
\n \n
\n \n
\n
\n \n
    \n \n
  • \n \n \n \n {{opt.title}}\n \n
  • \n
    \n
\n \n
\n
\n
\n
\n \n \n
\n \n \n \n
\n \n \n \n \n \n \n {{cell.contents}}\n \n \n \n \n \n \n
\n \n \n \n {{ edited[i] || cell.contents }}\n \n \n \n

Correo Editado

\n \n
\n
\n \n
\n
\n \n \n
\n \n \n
\n
\n

Formato de correo inválido

\n
\n \n
\n
\n
\n
\n \n\n \n \n \n \n \n \n \n {{cell.contents}}\n \n \n \n \n \n {{ cell.contents }} \n \n \n
\n \n
    \n \n \n
  • \n {{ ngTable.head[j].title }}\n \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n
    \n \n
    \n
    \n \n
      \n \n
    • \n \n \n \n {{opt.title}}\n
    • \n
      \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n \n
    \n \n \n \n \n \n \n {{cell.contents}}\n \n \n \n \n \n \n
    \n \n \n \n {{ edited[i] || cell.contents }}\n \n \n \n
    \n
    \n \n
    \n
    \n \n \n
    \n \n \n
    \n
    \n

    Formato de correo inválido

    \n
    \n \n
    \n
    \n
    \n
    \n \n \n {{cell.contents}}\n
  • \n
    \n \n
\n
No hay registros
\n
\n \n
\n \n
\n \n Registros\n
\n \n
\n Mostrando {{indexStart+1}} a {{indexEnd}} de {{ filteredRows.length }} filas\n (filtrados de {{body.length}} registros)\n
\n \n
0\">\n \n \n \n \n \n \n \n \n \n {{num}}\n \n \n \n \n \n \n \n \n \n
\n \n
\n \n
\n \nProcessing","export namespace LivenessDetectionConstants {\n\n export const PROFILING = false;\n export const STATE_AREA_DURATION_IN_SECONDS = 25;\n export const STATE_NOSE_DURATION_IN_SECONDS = 20;\n export const MAX_FPS = 12;\n export const FACE_AREA_TOLERANCE_PERCENT = 75; // 15\n export const LANDMARK_NOSE_INDEX = 30;\n export const IMAGE_JPG_QUALITY = 0.7;\n}","import { \n ElementRef, \n EventEmitter, \n HostListener, \n Injectable,\n Output, \n Renderer2 \n} from \"@angular/core\";\nimport { ControlValueAccessor } from \"@angular/forms\";\n\n@Injectable()\nexport class ValueAccessorBase implements ControlValueAccessor {\n\n /**\n * Emits `noeWriteValue` event and updates of element value.\n */\n @Output() noeWriteValue: EventEmitter = new EventEmitter();\n\n /**\n * Emits `noeDisabledState` event and updates state of disabled.\n */\n @Output() noeDisabledState: EventEmitter = new EventEmitter();\n\n @HostListener('noeBlur')\n handleNoeBlurEvent(): void {\n this.onTouched();\n }\n\n @HostListener('noeChange', ['$event.value'])\n handleNoeChangeEvent(value: any): void {\n this.handleChangeEvent(value);\n }\n\n @HostListener('noeInput', ['$event.target.value'])\n handleNoeInputEvent(value: any): void {\n console.log('value!!!', value);\n this.handleChangeEvent(value);\n }\n\n private lastValue: any;\n\n constructor(private elRef: ElementRef, private renderer: Renderer2) {}\n\n get nativeInput(): HTMLInputElement {\n return this.elRef.nativeElement.querySelector('input');\n }\n\n /**\n * Writes a new value to the element.\n */\n writeValue(value: any): void {\n console.log('value write', value);\n this.lastValue = value === null ? '' : value;\n\n if (this.nativeInput) {\n this.renderer.setProperty(this.nativeInput, 'value', this.lastValue);\n }\n\n this.noeWriteValue.emit(this.lastValue);\n }\n\n /**\n * Registers a callback function that is called when the control's value\n * changes in the UI.\n */\n registerOnChange(fn: (value: any) => void): void {\n this.onChange = fn;\n }\n\n /**\n * Registers a callback function that is called by the forms API\n * on initialization to update the form model on blur.\n */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /**\n * Function that is called by the forms API when the control status\n * changes to or from 'DISABLED'.\n */\n setDisabledState(isDisabled: boolean): void {\n if (this.nativeInput) {\n this.renderer.setProperty(this.nativeInput, 'disabled', isDisabled);\n }\n\n this.noeDisabledState.emit(isDisabled);\n }\n\n private handleChangeEvent(value: any): void {\n if (this.lastValue !== value) {\n this.lastValue = value;\n this.onChange(value);\n }\n }\n\n /**\n * Function that is called when the value change.\n */\n private onChange: (value: any) => void;\n\n /**\n * Function that is called when the input is touched.\n */\n private onTouched: () => void;\n}","import { \n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy, \n OnInit, \n Output, \n Renderer2, \n ViewChild\n} from \"@angular/core\";\n\nimport { Store } from \"@ngrx/store\";\nimport { takeUntil } from \"rxjs/operators\";\nimport * as faceApi from 'face-api.js';\n\nimport { \n ChallengeDetails,\n IDrawBoxOptions,\n IDrawOptions,\n IVerify,\n IVerifyRequestData,\n MediaStreamInfo\n} from \"src/app/models/Challenge.model\";\nimport { NotificationsService } from \"src/app/services/notifications.service\";\nimport { BaseUnsubscribe } from \"src/app/util/base-unsubscribe\";\nimport { LivenessDetectionUtil as Util } from './liveness-detection.util';\nimport { LivenessDetectionConstants as Const } from \"./liveness-detection.constants\";\nimport { LivenessDetectionService } from \"./liveness-detection.service\";\nimport { ChallengeService } from \"src/app/services/api/challenge.service\";\nimport * as LiveDetectionActions from './store/liveness-detection.actions';\nimport * as fromLiveDetection from './store/liveness-detection.reducer';\nimport * as fromApp from '../../store/app.reducer';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'app-liveness-detection',\n templateUrl: './liveness-detection.component.html',\n styleUrls: ['./liveness-detection.component.scss'],\n host: { class: 'liveness-detection' },\n providers: [LivenessDetectionService]\n})\nexport class LivenessDetectionComponent extends BaseUnsubscribe \n implements OnInit, AfterViewInit, OnDestroy {\n\n @Input() challengeDetail: ChallengeDetails;\n @Output() success: EventEmitter = new EventEmitter();\n @Output() errorVerify: EventEmitter = new EventEmitter();\n @ViewChild('webcamVideo') videoElement: ElementRef;\n @ViewChild('overlayCanvas') canvasElement: ElementRef;\n\n videoWidth: number;\n videoHeight: number;\n endTime: number;\n famesWithFace: number = 0;\n IDprocessTimerList: any[] = [];\n IDEndTimeTimerList: any[] = [];\n isNoseState: boolean = false;\n endState: boolean = false;\n shouldSaveFrameState: boolean = false;\n drawOptionsState: IDrawOptions = null;\n helpMessage: string;\n isLoading: boolean = false;\n sucessVerify: boolean = false;\n isErrorVerify: boolean = false;\n endVerify: boolean = false;\n isFail: boolean = false;\n\n constructor(\n private notifyService: NotificationsService,\n private liveDetectionService: LivenessDetectionService,\n private challengeService: ChallengeService,\n private store: Store,\n private cdr: ChangeDetectorRef,\n private renderer: Renderer2\n ) {\n super();\n }\n\n ngOnInit(): void {\n this.store.dispatch(new LiveDetectionActions.ResetAction());\n }\n\n ngAfterViewInit(): void {\n this.loadFaceApiModels();\n this.setEndTime();\n this.listenStore();\n }\n\n loadFaceApiModels(): void {\n const url = '/assets/weights/';\n \n Promise.all([\n faceApi.nets.tinyFaceDetector.loadFromUri(url),\n faceApi.nets.faceLandmark68Net.loadFromUri(url)\n ])\n .then(this.startVideo)\n .catch((error) => {\n console.error('Error to load the models', error);\n });\n }\n\n startVideo = (): void => {\n const {\n imageHeight,\n imageWidth\n } = this.challengeDetail;\n\n Util.loadMediaStream(\n imageHeight,\n imageWidth,\n (stream: MediaStreamInfo) => {\n\n this.videoWidth = stream.actualWidth;\n this.videoHeight = stream.actualHeight;\n this.videoElement.nativeElement.srcObject = stream.mediaStream;\n\n this.renderer.listen(\n this.videoElement.nativeElement,\n 'loadedmetadata',\n () => { this.process() }\n );\n },\n (message) => {\n this.notifyService.error(message);\n }\n );\n }\n\n setEndTime(isNoseState = false): void {\n const maximumDurationInSeconds = isNoseState\n ? Const.STATE_NOSE_DURATION_IN_SECONDS\n : Const.STATE_AREA_DURATION_IN_SECONDS;\n\n const IDEndTimeTimer = setTimeout(() => {\n this.store.dispatch(new LiveDetectionActions.FailAction());\n this.clearTimers();\n }, maximumDurationInSeconds * 1000);\n\n this.IDEndTimeTimerList.push(IDEndTimeTimer);\n }\n\n ngOnDestroy(): void {\n Util.stopMediaStream();\n this.store.dispatch(new LiveDetectionActions.FailAction());\n }\n\n listenStore(): void {\n this.store\n .select('liveDetection')\n .pipe(takeUntil(this.destroy$))\n .subscribe((stateData: fromLiveDetection.State) => {\n const { \n drawOptions, success, end, shouldSaveFrame, helpMessage\n } = stateData;\n \n this.isLoading = success;\n this.endState = end;\n this.drawOptionsState = drawOptions;\n this.shouldSaveFrameState = shouldSaveFrame\n this.helpMessage = helpMessage;\n this.isFail = end && !success;\n\n if (drawOptions?.noseDrawBoxOptions) {\n this.isNoseState = true;\n }\n this.cdr.detectChanges();\n });\n }\n\n private async process(): Promise {\n const options = new faceApi.TinyFaceDetectorOptions();\n\n const detections = await faceApi\n .detectAllFaces(this.videoElement.nativeElement, options)\n .withFaceLandmarks(false);\n\n if (!detections.length && !this.endState) {\n this.process();\n }\n this.processDetectionResults(detections);\n }\n\n private processDetectionResults(\n detections: faceApi.WithFaceLandmarks<\n { detection: faceApi.FaceDetection }, \n faceApi.FaceLandmarks68\n >[]\n ): void {\n\n if (this.endState) {\n this.clearTimers();\n Util.stopMediaStream();\n return;\n }\n\n const dims = faceApi.matchDimensions(\n this.canvasElement.nativeElement,\n this.videoElement.nativeElement\n );\n\n if (this.drawOptionsState) {\n this.draw(this.drawOptionsState); \n }\n\n if (this.shouldSaveFrameState) {\n this.liveDetectionService.uploadFrame(\n this.videoElement.nativeElement,\n this.challengeDetail\n );\n }\n\n if (!this.isNoseState) {\n this.store.dispatch(new LiveDetectionActions.NoFaceAreaAction());\n }\n \n if (\n detections.length === 1 &&\n this.isFaceBoxInsideFaceArea(detections[0].detection.box, this.isNoseState)\n ) {\n this.store.dispatch(new LiveDetectionActions.FaceAreaAction());\n this.store.dispatch(new LiveDetectionActions.NoseAreaAction());\n\n if (Const.PROFILING) {\n const resizedDetections = faceApi.resizeResults(detections, dims);\n faceApi.draw.drawDetections(this.canvasElement.nativeElement, resizedDetections);\n faceApi.draw.drawFaceLandmarks(this.canvasElement.nativeElement, resizedDetections);\n }\n\n const nosePoint = detections[0].landmarks.positions[Const.LANDMARK_NOSE_INDEX];\n if (this.isNoseInsideNoseArea(nosePoint)) { \n this.store.dispatch(new LiveDetectionActions.SuccessAction());\n this.verify();\n }\n \n if (++this.famesWithFace === 1) {\n this.setEndTime(true);\n }\n } else if (this.isNoseState) {\n // this.store.dispatch(new LiveDetectionActions.NoFaceAreaAction());\n this.store.dispatch(new LiveDetectionActions.FailAction());\n }\n \n if (this.endState) {\n this.clearTimers();\n Util.stopMediaStream();\n return;\n } else {\n const delay = 1000 / Const.MAX_FPS;\n const IDProcessTimer = setTimeout(() => this.process(), delay);\n this.IDprocessTimerList.push(IDProcessTimer);\n }\n }\n\n /**\n * Send verification to service.\n */\n private verify(): void {\n \n Promise.all(this.liveDetectionService.promises).then(() => {\n const request: IVerifyRequestData = { \n token: this.challengeDetail.token\n };\n \n this.challengeService.verification(this.challengeDetail.id, request)\n .pipe(takeUntil(this.destroy$))\n .subscribe((response: IVerify) => {\n\n Util.stopMediaStream();\n this.success.emit(response.success);\n this.sucessVerify = response.success;\n this.endVerify = true;\n this.isLoading = false;\n this.cdr.detectChanges();\n }, () => {\n\n Util.stopMediaStream();\n this.errorVerify.emit();\n this.endVerify = true;\n this.isErrorVerify = true;\n this.isLoading = false;\n this.cdr.detectChanges();\n });\n });\n }\n\n /**\n * Clear all the timers.\n */\n private clearTimers(): void { \n this.IDprocessTimerList.forEach((idTimer) => {\n clearTimeout(idTimer);\n });\n this.IDEndTimeTimerList.forEach((idTimer) => {\n clearTimeout(idTimer);\n });\n }\n\n private isFaceBoxInsideFaceArea(faceBox: faceApi.Box, addTolerance = true): boolean {\n const { areaLeft, areaTop, areaWidth, areaHeight } = this.challengeDetail;\n const tolerance: number = addTolerance ? Const.FACE_AREA_TOLERANCE_PERCENT / 100 : 0;\n\n return (\n faceBox.x >= areaLeft * (1 - tolerance) &&\n faceBox.y >= areaTop * (1 - tolerance) &&\n faceBox.x + faceBox.width <= areaLeft + areaWidth * (1 + tolerance) &&\n faceBox.y + faceBox.height <= areaTop + areaHeight * (1 + tolerance)\n );\n }\n\n private isNoseInsideNoseArea(nose: faceApi.IPoint): boolean {\n return (\n nose.x >= this.challengeDetail.noseLeft &&\n nose.y >= this.challengeDetail.noseTop &&\n nose.x <= this.challengeDetail.noseLeft + this.challengeDetail.noseWidth &&\n nose.y <= this.challengeDetail.noseTop + this.challengeDetail.noseHeight\n );\n }\n\n private draw(drawOptions: IDrawOptions): void {\n if (drawOptions.faceDrawBoxOptions) {\n const faceAreaBox = {\n x: this.challengeDetail.areaLeft,\n y: this.challengeDetail.areaTop,\n width: this.challengeDetail.areaWidth,\n height: this.challengeDetail.areaHeight\n };\n this.drawArea(faceAreaBox, drawOptions.faceDrawBoxOptions);\n }\n\n if (drawOptions.noseDrawBoxOptions) {\n const noseAreaBox = {\n x: this.challengeDetail.noseLeft,\n y: this.challengeDetail.noseTop,\n width: this.challengeDetail.noseWidth,\n height: this.challengeDetail.noseHeight\n }\n this.drawArea(noseAreaBox, drawOptions.noseDrawBoxOptions);\n }\n }\n\n private drawArea(box: faceApi.IRect, drawBoxOptions: IDrawBoxOptions): void {\n const drawBox = new faceApi.draw.DrawBox(box, drawBoxOptions);\n drawBox.draw(this.canvasElement.nativeElement);\n }\n}","
\n \n \n
\n
{{ helpMessage }}
\n
\n
\n\n
\n \n

Procesando...

\n
\n\n
\n \"success\"/\n
\n

verificado!

\n

\n Verificado con éxito.\n

\n
\n
\n
\n \"error\"/\n

\n No pudimos detectar un movimiento.\n

\n \n

Hubo un problema en la ubicación de la nariz.

\n
\n
\n
\n \"wrong\"/\n

\n Algo salió mal\n

\n
\n
","import { NgModule } from \"@angular/core\";\n\nimport {MatSelectModule} from '@angular/material/select';\nimport {MatFormFieldModule} from '@angular/material/form-field';\nimport {MatAutocompleteModule} from '@angular/material/autocomplete';\nimport {MatInputModule} from '@angular/material/input';\n\nconst MATERIAL_MODULES = [\n MatSelectModule,\n MatFormFieldModule,\n MatAutocompleteModule,\n MatInputModule\n];\n\n@NgModule({\n exports: [MATERIAL_MODULES]\n})\nexport class MaterialModule {}","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-terminos-y-condiciones',\n templateUrl: './terminos-y-condiciones.component.html',\n styles: ['hr {border:none; border-top:1px solid #eee; margin:20px 0;}']\n})\nexport class TerminosYCondicionesComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n

TÉRMINOS Y CONDICIONES DE USO DEL SITIO https://www.noe.pe

\n\n
\n\n
1. ACEPTACIÓN DE LOS TÉRMINOS
\n\n

Bienvenido al Sitio Web https://www.noe.pe propiedad de “Innova Digital Solutions S.A.C.”, en adelante “La empresa”. Los servicios provistos a través de esta página se regularán por los siguientes Términos de Servicio (TS).

\n\n

Todas las guías de uso o reglas se encuentran incorporadas por referencia en los TOS. La utilización del Sito le atribuye a usted la condición de usuario o cliente de “La empresa” e implica la aceptación plena y sin reservas de todas y cada una de las disposiciones incluidas en este TS en la versión dada por “La Empresa” en el momento mismo en que el Usuario acceda al Sitio. En consecuencia, el Usuario debe leer atentamente el presente TS en cada una de las ocasiones en que se proponga utilizar el Sitio, ya que este puede sufrir modificaciones.

\n\n

La utilización de ciertos servicios ofrecidos a los Usuarios a través del Sito se encuentra sometida a condiciones particulares propias que, según los casos, sustituyen, completan y/o modifican el presente TS. Por lo tanto, con anterioridad a la utilización de dichos servicios, el Usuario también ha de leer atentamente las correspondientes Condiciones Particulares. Asimismo, la utilización del Sitio se encuentra sometida igualmente a todos los avisos, reglamentos de uso e instrucciones, puestos en conocimiento del Usuario por la Empresa, que sustituyen, completan y/o modifican el presente TS.

\n\n
2. DESCRIPCIÓN DEL SERVICIO
\n\n

A través del Sitio “La Empresa” facilita a los Usuarios el acceso y la utilización de diversos servicios, productos y contenidos puestos a disposición por “La Empresa” o por terceros. A menos que se indique expresamente lo contrario, cualquier nueva aplicación que aumente o mejore los Servicios actuales, incluyendo el lanzamiento de nuevas propiedades del Sitio, estará sujeta a estos TS. El Usuario conviene y acepta que “La Empresa” no será responsable por el retraso, borrado, entrega equivocada o falla al guardar cualquier comunicación del usuario, o sus criterios de personalización en virtud de que el Servicio que presta “La Empresa” está sujeto a disponibilidad.

\n\n

Para poder utilizar el Servicio, el Usuario deberá obtener acceso al World Wide Web, ya sea directamente o por medio de algún dispositivo que tenga acceso a contenidos con base en la red, y pagar el precio por los servicios asociados con dicho acceso.

\n\n

En general, la prestación del servicio del Sitio por parte de “La empresa” tiene carácter gratuito para los Usuarios y no exige la previa suscripción o registro del Usuario. No obstante, la utilización de ciertos Servicios sólo puede darse mediante suscripción o registro del Usuario y/o pago de un precio, de la forma en que se indica expresamente en sus correspondientes Condiciones Particulares.

\n\n
3. OBLIGACIONES DEL USUARIO
\n\n

Con motivo de su uso del Servicio, el Usuario se obliga a proveer cuando a si se requiera información verdadera, correcta, actual, y completa de su persona del modo requerido en el formulario de registro del Servicio y mantener y actualizar en todo momento los Datos de Inscripción a fin de conservarlos, correctos, actuales y completos. Si suministra información que no sea verdadera, correcta, actual o completa, o si la Empresa considera que dicha información no es verdadera, correcta, actual o completa, la Empresa tendrá el derecho de suspender o terminar su cuenta y negarle el uso presente o futuro del Servicio (o cualquier parte del mismo).

\n\n

Lo mismo ocurrirá cuando “La Empresa” reciba cualquier notificación de alguna autoridad o institución financiera que indique que la información que usted proporcionó fue sustraída de su titular o utilizada sin su consentimiento.

\n\n
4. POLÍTICA DE PRIVACIDAD
\n\n

Los Datos de Inscripción y otra información se encuentran sujetos a nuestro aviso de privacidad, la cual se describe en forma completa línea más arriba.

\n\n
5. CUENTA DE USUARIO, CONTRASEÑA Y SEGURIDAD
\n\n

Si se requiere, el Usuario creará una contraseña y una cuenta después de que complete el proceso de registro, de la cual el Usuario será responsable de mantener en confidencialidad y a su vez será responsable absoluto por todas las actividades que ocurran bajo su contraseña o cuenta. En virtud de lo anterior, El usuario se compromete a: (a) notificar inmediatamente a la Empresa de cualquier uso no autorizado de la contraseña o cuenta o de cualquier otra falla de seguridad, y (b) asegurarse de que la cuenta sea cerrada al final de cada sesión. La Empresa no será responsable por ninguna pérdida o daño que resulte como consecuencia de su incumplimiento a las disposiciones de esta Sección.

\n\n
6. CONDUCTA DEL USUARIO
\n\n

El usuario conoce y acepta que toda la información, datos, textos, software, música, sonido, fotografías, gráficas, video, mensajes u otros materiales, ya sea públicamente anunciado o transmitido privadamente, son responsabilidad únicamente de la persona que originó dicho Contenido. Esto significa que el usuario, y no la Empresa, es completamente responsable por todo el Contenido que usted cargue («upload»), anuncie, envíe por correo electrónico o de cualquier otra forma transmita vía el Servicio.

\n\n

El Usuario deberá abstenerse de obtener e incluso de intentar obtener informaciones, mensajes, gráficos, dibujos, archivos de sonido y/o imagen, fotografías, grabaciones, software y, en general, cualquier clase de material accesibles a través del Sitio o de los Servicios empleando para ello medios o procedimientos distintos de los que, según los casos, se hayan puesto a su disposición a este efecto o se hayan indicado a este efecto en las páginas web donde se encuentren los Contenidos o, en general, de los que se empleen habitualmente en Internet a este efecto siempre que no entrañen un riesgo de daño o inutilización del Sitio, de los Servicios y/o de los Contenidos.

\n\n

El Usuario se obliga a usar los Contenidos de forma diligente, correcta y lícita y, en particular, se compromete a abstenerse de (a) utilizar los Contenidos de forma, con fines o efectos contrarios a la ley, a la moral y a las buenas costumbres generalmente aceptadas o al orden público; (b) reproducir o copiar, distribuir, permitir el acceso del público a través de cualquier modalidad de comunicación pública, transformar o modificar los Contenidos, a menos que se cuente con la autorización del titular de los correspondientes derechos o ello resulte legalmente permitido; (c) suprimir, eludir o manipular el «copyright» y demás datos identificativos de los derechos de la Empresa o de sus titulares incorporados a los Contenidos.

\n\n
7. ENLACES
\n\n

Los Usuarios y, en general, aquellas personas que se propongan establecer un hiperenlace entre su página web y el Sitio biometriaaplicada.com deberán cumplir las condiciones siguientes: (a) el Hiperenlace únicamente permitirá el acceso a la home-page o página de inicio del Sitio, pero no podrá reproducirlas de ninguna forma; (b) no se creará un frame sobre las páginas web del Sitio; (c) no se realizarán manifestaciones o indicaciones falsas, inexactas o incorrectas sobre la Empresa, sus directivos, sus empleados, las páginas web del Sitio y los Servicios suministrados; (d) no se declarará ni se dará a entender que la Empresa ha autorizado el Hiperenlace o que ha supervisado o asumido de cualquier forma los servicios ofrecidos o puestos a disposición de la página web en la que se establece el Hiperenlace; (e) excepción hecha de aquellos signos que formen parte del mismo Hiperenlace, la página web en la que se establezca el Hiperenlace no contendrá ninguna marca, nombre comercial, rótulo de establecimiento, denominación, logotipo, eslogan u otros signos distintivos pertenecientes a la Empresa; y (f) la página web en la que se establezca el Hiperenlace no contendrá informaciones o contenidos ilícitos, contrarios a la moral y a las buenas costumbres generalmente aceptadas y al orden público, así como tampoco contendrá contenidos contrarios a cualesquiera derechos de terceros. El establecimiento del Hiperenlace no implica en ningún caso la existencia de relaciones entre la Empresa y el propietario de la página web en la que se establezca, ni la aceptación y aprobación por parte de la Empresa de sus contenidos o servicios.

\n\n
8. LÍMITE DE LAS GARANTÍAS Y RESPONSABILIDAD
\n\n

La empresa excluye cualquier responsabilidad por los daños y perjuicios de toda naturaleza que puedan deberse a la transmisión, difusión, almacenamiento, puesta a disposición, recepción, obtención o acceso a los contenidos, y en particular, aunque no de modo exclusivo, por los daños y perjuicios que puedan deberse a (a) el incumplimiento de la ley, la moral y las buenas costumbres generalmente aceptadas o el orden público como consecuencia de la transmisión, difusión, almacenamiento, puesta a disposición, recepción, obtención o acceso a los contenidos; (b) la infracción de los derechos de propiedad intelectual e industrial, de los secretos empresariales, de compromisos contractuales de cualquier clase, de los derechos al honor, a la intimidad personal y familiar y a la imagen de las personas, de los derechos de propiedad y de toda otra naturaleza pertenecientes a un tercero como consecuencia de la transmisión, difusión, almacenamiento, puesta a disposición, recepción, obtención o acceso a los contenidos; (c) la realización de actos de competencia desleal y publicidad ilícita como consecuencia de la transmisión, difusión, almacenamiento, puesta a disposición, recepción, obtención o acceso a los contenidos; (d) la falta de veracidad, exactitud, exhaustividad, pertinencia y/o actualidad de los contenidos; (e) la inadecuación para cualquier clase de propósito de y la defraudación de las expectativas generadas por los contenidos; (f) el incumplimiento, retraso en el cumplimiento, cumplimiento defectuoso o terminación por cualquier causa de las obligaciones contraídas por terceros y contratos realizados con terceros a través de o con motivo del acceso a los contenidos; (g) los vicios y defectos de toda clase de los contenidos transmitidos, difundidos, almacenados, puestos a disposición o de otra forma transmitidos o puestos a disposición, recibidos, obtenidos o a los que se haya accedido a través del sitio o de los servicios.

\n\n
EL USUARIO EXPRESAMENTE COMPRENDE Y CONVIENE EN QUE:
\n\n

El uso del servicio es bajo su propio riesgo. el servicio es provisto y según se encuentre «disponible», por lo que la empresa no otorga garantía de ningún tipo, ya sea expresa o implícita, incluyendo sin limitación a las garantías implícitas de comercialidad, aptitud para un propósito en particular, y no violación de los usuarios.

\n\n

La empresa no garantiza que (i) el servicio se ajustará a sus requisitos, (ii) el servicio será ininterrumpido, puntual, seguro, o libre de error, (iii) los resultados que puedan ser obtenidos del uso del servicio sean veraces o confiables, (iv) la calidad de cualquier producto, servicio, información, u otro material comprado u obtenido por el usuario por medio del servicio se ajustará a sus expectativas y (v) cualquier error en el software será corregido.

\n\n

Cualquier material descargado («downloaded») o de cualquier otra forma obtenido por medio del uso del servicio es hecho bajo su propia discreción y riesgo y usted será absolutamente responsable por cualquier daño al sistema de su computadora o pérdida de datos que resulte de la descarga («download») de cualquiera de estos materiales.

\n\n

Ningún consejo o información, ya sea oral o escrito, obtenido de la empresa por el usuario, o por medio del servicio constituirá garantía alguna, a no ser que se encuentre expresamente establecido en los tos.

\n\n

Del límite de responsabilidad el usuario comprende y acuerda expresamente que la empresa no será responsable por ningún daño o perjuicio directo indirecto, como resultado de: (i) el uso o imposibilidad de usar el servicio; (ii) el costo de obtención de bienes sustituibles y servicios resultantes de cualquier bien, dato, información o servicio adquirido u obtenido, o mensaje recibido, o transacciones realizadas por medio del servicio, o desde el servicio (iii) acceso no autorizado a sus transmisiones, o alteración de las mismas, o de sus datos; (iv) declaraciones o conductas de alguna tercera persona en el servicio; o (v) cualquier otro asunto relacionado al servicio.

\n\n
9. DERECHOS DE AUTOR Y MARCAS
\n\n

El Sitio y los Contenidos generados por La empresa o por los terceros que se los hayan provisto legalmente o por una relación de negocios, están protegidos por la legislación aplicable y por los tratados internacionales en materia de derechos de autor. El diseño, la diagramación y la disposición gráfica en conjunto del Sitio, y los Servicios, son propiedad exclusiva de la Empresa

\n\n

La Empresa no concede ninguna licencia o autorización de uso de ninguna clase sobre sus derechos de propiedad industrial e intelectual o sobre cualquier otra propiedad o derecho relacionado con el Sitio, los Servicios o los Contenidos.

\n\n
10. RETIRADA Y SUSPENSIÓN DE LOS SERVICIOS
\n\n

La Empresa podrá retirar o suspender en cualquier momento y sin necesidad de aviso previo la prestación de los Servicios a aquellos Usuarios que incumplan lo establecido en el presente TS.

\n\n
11. DURACIÓN Y TERMINACIÓN
\n\n

La prestación del servicio del Sitio y de los demás Servicios tiene, en principio, una duración indefinida. La Empresa, no obstante, está autorizada para dar por terminada o suspender la prestación del servicio del Sitio y/o de cualquiera de los Servicios en cualquier momento, sin perjuicio de lo que se hubiere dispuesto al respecto en las correspondientes Condiciones Particulares. Cuando ello sea razonablemente posible, La Empresa advertirá previamente la terminación o suspensión de la prestación del servicio del Sitio y de los demás Servicios.

\n\n
12. LEY Y JURIDICCIÓN APLICABLES
\n\n

Estas TS se rigen por las leyes de Perú. La Empresa y el Usuario, con renuncia expresa a cualquier otro fuero, se someten al de los Juzgados y Tribunales del Perú.

\n\n
\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-loader-img',\n templateUrl: './loader-img.component.html',\n styleUrls: ['./loader-img.component.scss'],\n host: { class: 'app-loader-img' }\n})\nexport class LoaderImgComponent implements OnInit {\n\n @Input('disabled') disabled:boolean\n @Input('big') big:boolean\n @Input('no-bg') noBg:boolean\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n \n\n\n\n
\n
","import { \n Directive,\n EventEmitter,\n HostBinding,\n HostListener,\n OnInit\n} from \"@angular/core\";\n\nimport { takeUntil } from \"rxjs/operators\";\n\nimport { MenuExpandedService } from \"./menu-expanded.service\";\nimport { BaseUnsubscribe } from \"@noe/util/base-unsubscribe\";\n\n@Directive({\n selector: '[appMenuDropdown]'\n})\nexport class MenuDropdownDirective extends BaseUnsubscribe implements OnInit {\n @HostBinding('class.open') isOpen = false;\n toggleSidebar: EventEmitter = new EventEmitter()\n toggleSidebarCollapse: EventEmitter = new EventEmitter()\n\n\n @HostListener('click')\n toggleOpen() {\n this.isOpen = !this.isOpen;\n\n if (this.isOpen) {\n this.menuService.expanded$.next(this);\n }\n\n event.stopPropagation()\n this.toggleSidebar.emit()\n this.toggleSidebarCollapse.emit()\n }\n \n constructor(private menuService: MenuExpandedService) {\n super();\n }\n\n ngOnInit(): void {\n this.closeOtherMenus();\n }\n \n closeOtherMenus(): void {\n this.menuService.expanded$\n .pipe(takeUntil(this.destroy$))\n .subscribe((value: MenuDropdownDirective) => {\n \n if (this !== value) {\n this.isOpen = false;\n }\n });\n event.stopPropagation()\n this.toggleSidebar.emit()\n this.toggleSidebarCollapse.emit()\n \n }\n}","import { \n Component,\n OnInit, \n Input, \n Output, \n EventEmitter, \n HostListener, \n ViewChildren, \n ViewChild, \n QueryList, \n ElementRef, \n AfterViewInit,\n DoCheck,\n Renderer2\n} from '@angular/core';\nimport { FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Filter } from 'src/app/models/Filter.model';\n\nimport { TableTh } from 'src/app/models/Table.model';\nimport { TableTd } from 'src/app/models/Table.model';\n\n\n@Component({\n selector: 'app-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss']\n})\nexport class TableComponent implements DoCheck ,OnInit, AfterViewInit {\n\n @ViewChildren('sizing') sizing:QueryList;\n @ViewChildren('trueHeader') trueHeader:QueryList;\n @ViewChild('tableRef') tableRef:ElementRef;\n\n @Input() head: TableTh[]\n @Input() body: Array\n @Input() autoHeight: boolean\n @Input() checkUnique: boolean\n @Input() loaders: boolean[] = [];\n @Input() showPaginator: boolean = true;\n @Input() showIconSort: boolean = true;\n @Output() \n getCheckedItems = new EventEmitter()\n @Output() \n onLoad = new EventEmitter()\n\n ngTable:any = {}\n filteredRows:any[][];\n\n constructor(\n private hostElement: ElementRef,\n private renderer: Renderer2\n ) { }\n\n setBody(body: Array): void {\n this.body = body;\n }\n \n ngOnInit() {\n this.filteredRows = this.body\n this.noData = this.filteredRows.length == 0;\n this.buildPagination()\n this.buildTable()\n }\n\n ngDoCheck(): void {\n const noMetdataList = document.querySelectorAll('.no-metadata');\n \n noMetdataList.forEach((element) => {\n const siblingEl = element.previousElementSibling;\n this.renderer.setStyle(siblingEl, 'display', 'none');\n });\n }\n\n ngAfterViewInit(){\n \n setTimeout(() => {\n // this.setHidden()\n this.size()\n this.onLoad.emit(true)\n }, 5)\n\n }\n\n manualInit() {\n this.filteredRows = this.body\n this.filteredRows.length == 0 ? this.noData = true : this.noData = false\n this.buildPagination()\n this.buildTable()\n this.size()\n this.onLoad.emit(true)\n }\n\n onResize() {\n this.size()\n setTimeout(() => {this.size()},50)\n }\n\n canExpand:boolean\n shownLength:number = 1\n buildTable() {\n\n this.setHidden()\n this.displayPage(1)\n\n }\n\n /**\n * Clean the table.\n */\n clean(): void {\n this.head.splice(0);\n this.body.splice(0);\n this.filteredRows.splice(0);\n this.noData = true;\n }\n\n pageLength:number = 20\n numbersOfPages:number[] = []\n\n currentPage:number = 1\n currentPageItems: any[]\n\n visibleStart:number = 1\n visibleLength:number = 7\n visiblePages:number[]\n\n buildPagination() {\n\n this.numbersOfPages = []\n\n const total = this.filteredRows.length\n let numbersOfPages\n \n numbersOfPages = Math.ceil(total / this.pageLength)\n \n for (let i:number = 1; i <= numbersOfPages; i++) {\n this.numbersOfPages.push(i)\n }\n\n this.setVisiblePages(1, 1 + this.visibleLength)\n \n }\n\n noData:boolean = false\n setPage(num) {\n \n if (this.filteredRows.length == 0) {\n\n this.noData = true\n this.visibleStart = 1\n this.currentPage = 1\n\n } else {\n\n this.noData = false\n\n }\n \n if (num > 0 && num <= this.filteredRows.length) {\n\n if ( num - 3 >= 1 && num + 3 <= this.numbersOfPages.length ) {\n this.visibleStart = num - 3\n } else {\n if ( num - 2 >= 1 && num + 2 <= this.numbersOfPages.length ) {\n\n if ( num - 2 + this.visibleLength <= this.numbersOfPages.length || num - 4 < 0 ) {\n this.visibleStart = num - 2\n } else {\n this.visibleStart = num - 4\n }\n\n } else if ( num - 1 >= 1 && num + 1 <= this.numbersOfPages.length ) {\n\n if ( num - 1 + this.visibleLength <= this.numbersOfPages.length || num - 5 < 0) {\n this.visibleStart = num - 1\n } else {\n this.visibleStart = num - 5\n }\n \n } else {\n if (num - this.visibleLength > 0) {\n this.visibleStart = num - this.visibleLength + 1\n } else {\n this.visibleStart = 1\n }\n \n }\n }\n\n this.currentPage = num\n \n this.displayPage(this.currentPage)\n if (this.numbersOfPages.length >= 7) {\n \n this.setVisiblePages(this.visibleStart, this.visibleStart + this.visibleLength)\n }\n \n }\n\n }\n\n indexStart:number\n indexEnd:number\n displayPage(page) {\n\n this.indexStart = ((page * this.pageLength) - this.pageLength)\n this.indexEnd = this.indexStart + this.pageLength\n \n this.currentPageItems = this.filteredRows.slice(this.indexStart, this.indexEnd)\n\n if (this.currentPageItems.length < this.pageLength) {\n this.indexEnd = this.indexStart + this.currentPageItems.length\n }\n\n const final = this.currentPageItems.map( (row, index) => {\n\n return {\n expanded: false,\n cols: row\n }\n\n })\n\n this.ngTable.body = final\n }\n\n setVisiblePages(start, end) { \n start--\n end--\n this.visiblePages = this.numbersOfPages.slice(start, end)\n }\n\n\n // page resizing\n sizeCount:number = 0\n size() {\n this.canExpand = false\n this.setHidden()\n const th = this.trueHeader.toArray()\n const sz = this.sizing.toArray()\n const sizes = sz.map( s => s.nativeElement.clientWidth )\n\n th.forEach(\n (h, i) => {\n const pLeft = parseInt(window.getComputedStyle(h.nativeElement).paddingLeft.split('px')[0])\n const pRight = parseInt(window.getComputedStyle(h.nativeElement).paddingRight.split('px')[0])\n\n h.nativeElement.width = (sizes[i] - ( pLeft + pRight )) + 1 \n \n }\n )\n\n sz.forEach(\n (h, i) => {\n const pLeft = parseInt(window.getComputedStyle(h.nativeElement).paddingLeft.split('px')[0])\n const pRight = parseInt(window.getComputedStyle(h.nativeElement).paddingRight.split('px')[0])\n\n h.nativeElement.width = (sizes[i] - ( pLeft + pRight )) + 1\n \n }\n )\n\n this.sizeCount ++\n // console.timeEnd('SIZE')\n }\n\n // FILTERING\n columnFilters:any = []\n filterTable(filter: Filter): void {\n const {\n text, prop = 'contents', col, exact = false, type = null, epoch = null, remainFilters\n } = filter;\n\n let initial = col === -1 || !!remainFilters && remainFilters.length === 0\n ? this.body\n : this.filteredRows;\n\n if (!!remainFilters && remainFilters.length > 0) {\n remainFilters.forEach((filter, index) => {\n const newFilter = { ...filter, remainFilters: null };\n \n if (index === 0) {\n this.filteredRows = this.body;\n }\n\n this.filterTable(newFilter);\n });\n return;\n }\n\n if (col == -1) {\n this.columnFilters.fill(null);\n } else {\n\n if (text == '') {\n this.columnFilters[col] = null\n } else {\n const search = text.toLowerCase();\n this.columnFilters = [];\n this.columnFilters[col] = { text: search, prop, exact, type, epoch };\n }\n\n this.columnFilters.forEach((f,i) => {\n if (f && f.text != '') {\n\n initial = initial.filter( row => {\n\n // filtro normal\n if (!f.epoch) {\n\n const rowText = row[i][f.prop] ? (row[i][f.prop]).toString().toLowerCase() : '';\n \n if (f.exact) {\n return rowText == f.text;\n }\n return rowText.indexOf(f.text) >= 0\n\n } else {\n // Fecha inicio / fecha fin\n const rowText = Date.parse(row[i][f.prop]);\n \n if (type === 'earlier-than') {\n return rowText <= f.epoch;\n } else {\n return rowText >= f.epoch;\n }\n \n }\n })\n }\n })\n }\n\n this.filteredRows = initial;\n\n this.setPage(1);\n this.buildPagination();\n }\n\n\n\n // CHECKBOXES \n @Input() checkIndex:number\n @Input() checkProp:string = 'contents'\n checkedList: any[] = []\n // checksModel: boolean[] = []\n check(e, cell, el, i:number, j:number) {\n\n // this.checksModel[this.indexStart+i] = e.target.checked\n if (this.checkUnique) {\n this.body.forEach(r => { r.forEach(c => { if (c.checkbox) c.checked = false }) })\n }\n cell.checked = e.target.checked\n\n if (e.target.checked) {\n\n this.checkUnique ? this.checkedList = [el] : this.checkedList.push(el)\n\n } else {\n this.checkedList = this.checkedList.filter(item => item != el)\n }\n \n this.getCheckedItems.emit(this.checkedList)\n }\n\n checkall(e) {\n\n // this.checksModel.fill(e.target.checked)\n this.body.forEach(r => { r.forEach( c => { if (c.checkbox) c.checked = e.target.checked }) })\n\n if (e.target.checked) {\n this.checkedList = this.filteredRows.map(row => row[this.checkIndex][this.checkProp])\n } else {\n this.checkedList = []\n }\n\n this.getCheckedItems.emit(this.checkedList)\n \n }\n\n uncheckEverything() {\n this.body.forEach(r => { r.forEach( c => { if (c.checkbox) c.checked = false }) })\n this.checkedList = []\n this.getCheckedItems.emit(this.checkedList)\n }\n\n\n\n\n\n\n // Close dropdown on click outside\n cellsOpened: boolean[] = []\n popoversOpened: boolean[] = []\n @HostListener('document:click', ['$event']) clickout(event) {\n this.cellsOpened.fill(false);\n this.popoversOpened.fill(false)\n }\n\n top:boolean\n tableDrop(e, i) {\n\n e.stopPropagation()\n\n let height = this.tableRef.nativeElement.parentElement.clientHeight\n let clientRect = this.tableRef.nativeElement.parentElement.getBoundingClientRect().top\n\n let top = height-200 < e.clientY - clientRect\n top ? this.top = true : this.top = false\n\n if ( this.cellsOpened[i] == undefined ) {\n this.cellsOpened[i] = false\n }\n\n let current = this.cellsOpened[i]\n this.cellsOpened.fill(false)\n\n if (current == true) {\n this.cellsOpened[i] = true\n }\n this.cellsOpened[i] = !this.cellsOpened[i]\n\n }\n\n\n\n\n\n\n\n // ordering\n sort(i, dir) {\n\n const collator = new Intl.Collator('es', { numeric: true, sensitivity: 'base' });\n // arrayOfObjects.sort((a, b) => {\n // return collator.compare(a.name, b.name);\n // });\n this.ngTable.head.forEach(th => th.order = '')\n if (dir == 'ASC') {\n this.filteredRows = this.filteredRows.sort((a, b) => {\n\n this.ngTable.head[i].order = 'ASC'\n\n if (a[i].date && b[i].date) {\n return (a[i].dateObj > b[i].dateObj) ? 1 : -1\n } else {\n return (collator.compare(a[i].contents, b[i].contents) >= 0) ? 1 : -1\n }\n\n })\n } else {\n this.filteredRows = this.filteredRows.sort((a, b) => {\n\n this.ngTable.head[i].order = 'DESC'\n\n if (a[i].date && b[i].date) {\n return (a[i].dateObj < b[i].dateObj) ? 1 : -1\n } else {\n return (collator.compare(a[i].contents, b[i].contents) <= 0) ? 1 : -1\n }\n \n })\n }\n \n this.setPage(1)\n this.buildPagination()\n \n }\n\n\n\n\n switch(e, preventSwitch, cvalue, action) {\n if (preventSwitch) e.preventDefault()\n if (action) action(!cvalue)\n }\n\n\n\n\n\n mediaQueries: any = [\n {\n width: 0,\n items: 1\n },\n {\n width: 572,\n items: 3\n },\n {\n width: 768,\n items: 4\n },\n {\n width: 992,\n items: 5\n },\n {\n width: 1200,\n items: 6\n },\n {\n width: 1500,\n items: 7\n }\n ]\n\n setHidden() {\n // console.time('SET HIDDEN')\n\n let width\n // reset widths\n if (this.tableRef) {\n\n const th = this.trueHeader.toArray()\n const sz = this.sizing.toArray()\n\n th.forEach( t => { t.nativeElement.width = '' })\n sz.forEach( t => { t.nativeElement.width = '' })\n\n width = this.tableRef.nativeElement.clientWidth\n } else {\n\n width = this.hostElement.nativeElement.parentElement.clientWidth\n }\n\n // esconder elementos que queden por fuera\n let items\n\n // SET THE AMOUNT OF ITEMS \n for (const q of this.mediaQueries) {\n if (width > q.width) {\n items = q.items\n } else {\n break\n }\n }\n\n let initialLength = 0\n this.head.forEach(th => { if (!th.hide) initialLength ++ })\n let diff = initialLength - items\n\n for ( let i = this.head.length-1; i >= 0; i-- ) {\n\n if (diff > 0) {\n if (!this.head[i].hide && !this.head[i].priority && !this.head[i].checkbox) {\n this.head[i].respHide = true\n diff --\n }\n } else {\n if (!this.head[i].hide) {\n this.head[i].respHide = false\n }\n }\n\n }\n \n\n for (const th of this.head) {\n if (th.hide || th.respHide) {\n \n this.canExpand = true\n } else {\n this.shownLength ++\n }\n }\n \n\n\n this.ngTable.head = this.head\n this.columnFilters.length = this.head.length\n // console.timeEnd('SET HIDDEN')\n }\n\n\n currentlyHidden:any\n expand(row) {\n const currentRow = this.ngTable.body[row]\n currentRow.expanded = !currentRow.expanded\n }\n\n\n\n\n\n // EDIT POPOVERS\n edited: string[] = []\n edit: FormGroup\n editTd(i, obj) {\n this.popoversOpened[i] = true\n let group = {}\n group[obj.name] = new FormControl('', [Validators[obj.validators]])\n this.edit = new FormGroup(group)\n }\n\n confirmEdit(i, input, action) {\n this.edited[i] = this.edit.value[input]\n this.popoversOpened[i] = false\n if (action) action(this.edited[i])\n }\n\n awaitAction(e, action, disabled:boolean) {\n if (disabled) return\n e.stopPropagation()\n action()\n }\n\n}\n","
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n
\n \n
\n
\n\n
\n {{ column.icon ? column.title : null }}\n
\n\n
\n
\n {{ !column.checkbox ? column.title : null }} \n
\n
\n \n
\n Ordenar\n A- Z\n Z - A\n
\n\n
\n
\n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n
\n \n \n \n {{ !column.checkbox ? column.title : null }}\n \n
\n \n \n
\n
\n \n
\n \n
\n \n \n \n \n \n
\n \n
\n
\n \n \n \n \n
\n \n
\n
\n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n
\n \n
\n \n
\n \n
\n
\n \n
    \n \n
  • \n \n \n \n {{opt.title}}\n \n
  • \n
    \n
\n \n
\n
\n
\n
\n \n \n
\n \n \n \n
\n \n \n \n \n \n \n {{cell.contents}}\n \n \n \n \n \n \n
\n \n \n \n {{ edited[i] || cell.contents }}\n \n \n \n

Correo Editado

\n \n
\n
\n \n
\n
\n \n \n
\n \n \n
\n
\n

Formato de correo inválido

\n
\n \n
\n
\n
\n
\n \n\n \n \n \n \n \n \n \n {{cell.contents}}\n \n \n \n \n \n {{ cell.contents }} \n \n \n
\n \n
    \n \n \n
  • \n {{ ngTable.head[j].title }}\n \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n
    \n \n
    \n
    \n \n
      \n \n
    • \n \n \n \n {{opt.title}}\n
    • \n
      \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n \n
    \n \n \n \n \n \n \n {{cell.contents}}\n \n \n \n \n \n \n
    \n \n \n \n {{ edited[i] || cell.contents }}\n \n \n \n
    \n
    \n \n
    \n
    \n \n \n
    \n \n \n
    \n
    \n

    Formato de correo inválido

    \n
    \n \n
    \n
    \n
    \n
    \n \n \n {{cell.contents}}\n
  • \n
    \n \n
\n
\n
\n \n
\n \n
\n \n Registros\n
\n \n
\n Mostrando {{indexStart+1}} a {{indexEnd}} de {{ filteredRows.length }} filas\n (filtrados de {{body.length}} registros)\n
\n \n
0\">\n \n \n \n \n \n \n \n \n \n {{num}}\n \n \n \n \n \n \n \n \n \n
\n \n
\n \n
\n \nProcessing","import { Injectable } from \"@angular/core\";\n\n@Injectable()\nexport class FirmarPdfFreeService {\n /**\n * To save the checkboxes status, only for massive signature\n */\n checkStatusList: boolean[];\n /**\n * To save the signatures status, only for massive signature\n */\n signStatusList: boolean[];\n\n /**\n * Build the initial checkboxes status.\n */\n buildCheckboxesStatus(length: number): void {\n this.checkStatusList = Array.from({ length }, () => false);\n }\n\n /**\n * Build the initial signatures status.\n */\n buildSignaturesStatus(length: number): void {\n this.signStatusList = Array.from({ length }, () => false);\n }\n}","export namespace TopbarConstants {\n\n export const HEAD_PREMIUM = [\n { title: 'Especificaciones', priority: true },\n { title: 'Free', priority: true },\n { title: 'Premium', priority: true }\n ];\n\n export const BODY_PREMIUM = [\n [\n { contents: 'CERTIFICADO DIGITAL GRATIS' },\n { contents: 'NO' },\n { contents: 'Si' },\n ],\n [\n { contents: 'MULTIEMPRESA (COMPARTIR ENTRE RAZONES SOCIALES)' },\n { contents: 'NO' },\n { contents: 'SI' },\n ],\n [\n { contents: 'CREACIÓN DE USUARIOS' },\n { contents: 'NO' },\n { contents: 'ILIMITADO' },\n ],\n [\n { contents: 'FLUJOS DE FIRMAS Y NOTIFICACIONES' },\n { contents: 'NO' },\n { contents: 'SI' },\n ],\n [\n { contents: 'FIRMA ELECTRÓNICA (TOKEN, HOLÓGRAFA FIRMA FACIAL, HUELLA BIOMÉTRICA)' },\n { contents: 'SOLO FIRMA DIGITAL (CERTIFICADO DIGITAL)' },\n { contents: 'SI' },\n ],\n [\n { contents: 'PERSONALIZACIONES (COLORES CORPORATIVOS, PLANTILLAS DE CORREO)' },\n { contents: 'NO' },\n { contents: 'SI' },\n ],\n [\n { contents: 'APP MOVIL' },\n { contents: 'NO' },\n { contents: 'SI' },\n ],\n [\n { contents: 'RÚBRICA EN TODAS LAS HOJAS' },\n { contents: 'NO' },\n { contents: 'SI' },\n ],\n [\n { contents: 'TIPO DE NOTIFICACIONES (CORREO, SMS, PUSH MOVIL)' },\n { contents: 'CORREO' },\n { contents: 'MULTIPLES' },\n ],\n [\n { contents: 'DOCUMENTOS DISPONIBLES' },\n { contents: 'Hasta 50' },\n { contents: 'Desde 500' },\n ],\n [\n { contents: 'TAMAÑO DE ARCHIVOS SOPORTADO' },\n { contents: 'Hasta 5 MB' },\n { contents: 'Hasta 100 MB' },\n ],\n [\n { contents: 'ALMACENAMIENTO' },\n { contents: '1 AÑO' },\n { contents: '5 AÑOS' },\n ],\n [\n { contents: 'SOPORTE EXCLUSIVO' },\n { contents: 'NO' },\n { contents: 'ESTÁNDAR' },\n ],\n [\n { contents: 'INTEGRACIÓN API' },\n { contents: 'NO' },\n { contents: 'SI' },\n ],\n [\n { contents: 'SELLO DE TIEMPO' },\n { contents: 'NO' },\n { contents: 'SI' },\n ]\n ];\n}","import { Action } from \"@ngrx/store\";\n\nexport const NO_FACE_AREA = '[Liveness Detection] No Face Area';\nexport const FACE_AREA = '[Liveness Detection ] Face Area';\nexport const NOSE_AREA = '[Liveness Detection] Nose Area';\nexport const FAIL_DETECTION = '[Liveness Detection] Fail Detection';\nexport const SUCCESS_DETECTION = '[Liveness Detection] Success Detection';\nexport const RESET = '[Liveness Detection] Reset';\n\nexport class NoFaceAreaAction implements Action {\n readonly type = NO_FACE_AREA;\n}\n\nexport class FaceAreaAction implements Action {\n readonly type = FACE_AREA;\n}\n\nexport class NoseAreaAction implements Action {\n readonly type = NOSE_AREA;\n}\n\nexport class FailAction implements Action {\n readonly type = FAIL_DETECTION;\n}\n\nexport class SuccessAction implements Action {\n readonly type = SUCCESS_DETECTION;\n}\n\nexport class ResetAction implements Action {\n readonly type = RESET;\n}\n\nexport type LiveDetectionAction =\n | NoFaceAreaAction\n | FaceAreaAction\n | NoseAreaAction\n | FailAction\n | SuccessAction\n | ResetAction;\n\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\nimport { environment } from 'src/environments/environment';\nimport { Observable } from 'rxjs';\nimport { Receptor } from '../models/Receptor.model';\n\n\ntype requestBody = {\n method: string\n data?: Receptor,\n id?: string,\n idCompany?: string\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ReceptorService {\n\n private urlReceptores:string = `${environment.apiCore}/receptor/`;\n\n constructor( private http: HttpClient ) { }\n\n listarReceptores(empresa:any):Observable {\n const body:requestBody = { method: 'LIST', idCompany:empresa }\n return this.http.post(this.urlReceptores, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarReceptoresActivosId(empresa:any):Observable {\n const body:requestBody = { method: 'LIST-ACTIVE', idCompany:empresa }\n return this.http.post(this.urlReceptores, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarReceptoresActivos():Observable {\n const body:requestBody = { method: 'LIST-ACTIVE' }\n return this.http.post(this.urlReceptores, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n crearReceptor(receptor:Receptor) {\n const body:requestBody = { method: 'POST', data: receptor }\n return this.http.post(this.urlReceptores, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n obtenerReceptor(id:string):Observable {\n const body:requestBody = { method: 'GET', id: id }\n return this.http.post(this.urlReceptores, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n actualizarReceptor(receptor:Receptor) {\n const body:requestBody = { method: 'PUT', data: receptor }\n return this.http.post(this.urlReceptores, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n deshabilitarReceptor(id:string) {\n const body:requestBody = { method: 'DELETE', id:id }\n return this.http.post(this.urlReceptores, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n habilitarReceptor(id:string) {\n const body:requestBody = { method: 'PATCH', id:id }\n return this.http.post(this.urlReceptores, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n RestablecerContrasena(login:string, sub:string) {\n const body:requestBody = {\n method:\"RESTORE-PASSWORD\",\n data:{\n user:login,\n subdomain:sub\n }\n }\n return this.http.post(this.urlReceptores ,body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n ModificarOnboarding(login:string, sub:string) {\n const body:requestBody = {\n method:\"MODIFY-ONBOARDING\",\n data:{\n user:login,\n subdomain:sub\n }\n }\n return this.http.post(this.urlReceptores ,body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarOficinasPorUsuario(empresa:any, subdomain:string, login:string):Observable {\n const body:requestBody = { method:\"GET-OFFICES-USER\", data:{idCompany:empresa, subdomain:subdomain, email:login} }\n return this.http.post(this.urlReceptores ,body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n validarLimiteUsuarios(empresa:any, subdomain:string):Observable {\n const body:requestBody = { method:\"VALIDATE-USERS-LIMIT\", data:{idCompany:empresa, subdomain:subdomain} }\n return this.http.post(this.urlReceptores ,body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n validarRolesUsuario(email:any, subdomain:string):Observable {\n const body:requestBody = { method:\"VALIDATE-ROLE-USER\", data:{email:email, subdomain:subdomain} }\n return this.http.post(this.urlReceptores ,body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n modificarTermsUsuario(login:string, sub:string, val:string) {\n const body:requestBody = { method:\"MODIFY-TERMS\", data:{user:login,subdomain:sub, terms:val} }\n return this.http.post(this.urlReceptores, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n actualizarFechaContraseña(login:string, sub:string) {\n const body:requestBody = { method:\"UPDATE-DATE-PASSWORD\", data:{user:login,subdomain:sub} }\n return this.http.post(this.urlReceptores, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n validarCaducidadContraseña(login:string, sub:string) {\n const body:requestBody = { method:\"VALIDATE-EXPIRY-PASSWORD\", data:{user:login,subdomain:sub} }\n return this.http.post(this.urlReceptores, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n datosFechaContraseña(login:string, sub:string) {\n const body:requestBody = { method:\"DATA-PASSWORD-DATE\", data:{user:login,subdomain:sub} }\n return this.http.post(this.urlReceptores, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n actualizarAvatar(login:string, sub:string, route:string, update:boolean):Observable {\n const body:requestBody = { method:\"UPDATE-AVATAR-USER\", data:{user:login,subdomain:sub,routeAvatar:route,updateAvatar:update} }\n return this.http.post(this.urlReceptores, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n crearUsuarioProvider(data:any) {\n const body:requestBody = { method: 'ADD-USER-PROVIDER', data: data }\n return this.http.post(this.urlReceptores, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n obtenerUsuarioProvider(login:string, subdomain:string):Observable {\n const body:requestBody = { method:\"GET-USER-PROVIDER\", data:{user:login, subdomain:subdomain} }\n return this.http.post(this.urlReceptores ,body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n createUserProvider(data:any) {\n const body:requestBody = { method:\"CREATE-USER-PROVIDER\", data:data }\n return this.http.post(this.urlReceptores ,body, { headers: { \"x-api-key\": environment.xApiKey } }).toPromise()\n }\n\n obtenerDatosPlanUser(data:Receptor) {\n const body:requestBody = { method: 'DOCUMENTS-USER-FOR-PLAN', data: data }\n return this.http.post(this.urlReceptores, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n obtenerCantidadEnvioTercero(data:Receptor) {\n const body:requestBody = { method: 'COUNT-SIGN-THIRD', data: data }\n return this.http.post(this.urlReceptores, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n createUserFree(data:Receptor) {\n const body:requestBody = { method: 'CREATE-USER-FREE', data: data }\n return this.http.post(this.urlReceptores, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n actualizarDatosPlan(data:any):Observable {\n const body:requestBody = { method:\"UPDATE-ATTRIBUTES-PAY-PLAN\", data: data }\n return this.http.post(this.urlReceptores, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n enviarNotificacionCompraPlan(data:any):Observable {\n const body:requestBody = { method:\"SEND-MAIL-PAY\", data: data }\n return this.http.post(this.urlReceptores, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n enviarBoletaCompraPlan(data:any):Observable {\n const body:requestBody = { method:\"SEND-MAIL-PAY\", data: data }\n return this.http.post(this.urlReceptores, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n actualizarDatosPaquete(data:any):Observable {\n const body:requestBody = { method:\"UPDATE-ATTRIBUTES-PAY-PAQUETE\", data: data }\n return this.http.post(this.urlReceptores, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n enviarNotificacionCompraPaquete(data:any):Observable {\n const body:requestBody = { method:\"SEND-MAIL-PAY\", data: data }\n return this.http.post(this.urlReceptores, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n obtenerUsuarioMarketPlace(data:any):Observable {\n const body:requestBody = { method:\"GET-USER-MARKETPLACE\", data: data }\n return this.http.post(this.urlReceptores ,body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n crearRegistroSession(user:any):Observable {\n const body:requestBody = { method:\"ADD-SESSION-USER\", data: {email: user} }\n return this.http.post(this.urlReceptores, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarSessionesUsuario(user:any):Observable {\n const body:requestBody = { method:\"LIST-SESSIONS-USER\", data: {email: user} }\n return this.http.post(this.urlReceptores, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n obtenerEstadoOnboarding(data:any):Observable {\n const body:requestBody = { method:\"GET-STATUS-ONBOARDING\", data: data }\n return this.http.post(this.urlReceptores, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n}","import { Pipe, PipeTransform } from \"@angular/core\";\n\n@Pipe({ name: 'capitalizeName' })\nexport class CapitalizeNamePipe implements PipeTransform {\n\n /**\n * Capitalize the first letter of the name in each word of the full name.\n */\n transform(value: string, ...args: any[]): string {\n if (value === null) {\n return 'Not assigned';\n }\n \n return value\n .toLowerCase()\n .replace(/\\b(\\w)/g, (letter) => letter.toUpperCase());\n }\n}","import { Component } from \"@angular/core\";\n\n@Component({\n selector: 'app-search',\n templateUrl: './search.component.html',\n styleUrls: ['./search.component.scss']\n})\nexport class SearchComponent {\n\n}","
\n \n \n \n
","import { Component, ElementRef, EventEmitter, Input, OnInit, Optional, Output, Self, ViewChild, OnChanges, SimpleChanges } from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { ModalComponent } from '../modal/modal.component';\n\n\ntype ControlType = 'text' | 'email' | 'number' | 'tel' | 'password' | 'select' | 'textarea' | 'checkbox' | 'file' | 'selectOnboarding' | 'selectOnboardingSize';\ntype Autocomplete = 'on' | 'off' | 'new-password';\n\n@Component({\n selector: 'app-input',\n templateUrl: './input.component.html',\n styleUrls: ['./input.component.scss'],\n host: { class: 'app-input' }\n})\nexport class InputComponent implements ControlValueAccessor, OnInit, OnChanges {\n\n @ViewChild('element') element: ElementRef;\n\n @Input('type') type:ControlType\n @Input('label') label:string\n @Input('initialValue') value:any\n @Input('required') required:boolean\n @Input('requiredUsuario') requiredUsuario:boolean\n @Input('selectOptions') options:any[] = []\n @Input('selectOptionsKey') optionsKey:string\n @Input('selectOptionsName') optionsName:string\n @Input('disabledTextValue') disabledTextValue:string\n @Input('terms') terms:boolean\n @Input('readonly') readonly:boolean\n @Input('step') step:number\n @Input('no-margins') noMargins:boolean\n @Input('accept') accept:string\n @Input('mime-types') mimeTypes:string\n @Input() autocomplete: Autocomplete = 'off';\n @Input() placeholder = '';\n @Input('pattern') pattern:boolean\n @Input('number') number:boolean\n @ViewChild('modalCertificado') modalCertificado:ModalComponent\n @Input() fileInput: boolean = false;\n @Input() vmaxlength: boolean = false;\n @Input() enviarEmail: string;\n @Input() existeDoc: boolean = false;\n @Input('disabledSelect') disabledSelect:boolean\n\n @Output()\n change: EventEmitter = new EventEmitter()\n @Output()\n keyup: EventEmitter = new EventEmitter()\n @Output()\n close: EventEmitter = new EventEmitter()\n @Output()\n next: EventEmitter = new EventEmitter()\n @Output()\n name: EventEmitter = new EventEmitter()\n @Output()\n format: EventEmitter = new EventEmitter()\n\n modalClose: boolean=false;\n modalPinSession: boolean=false;\n correoValidacion: any;\n correoError: boolean = false;\n fileCert: string;\n dropFile: boolean = false;\n vMax: number;\n contactEmail: string;\n\n constructor(\n @Self()\n @Optional()\n public ngControl: NgControl) {\n if (this.ngControl) { this.ngControl.valueAccessor = this }\n }\n\n onChangeCallback: any = () => {}\n onTouchedCallback: any = () => {}\n\n writeValue(value:any) {\n // if (this.type==='select') console.log('wv', value)\n this.value = value?.target ? value.target.value : value\n this.onChangeCallback(value)\n }\n registerOnChange(fn: (_: any) => void): void {\n this.onChangeCallback = fn\n }\n registerOnTouched(fn: () => void): void {\n this.onTouchedCallback = fn\n }\n disabled:boolean\n setDisabledState(disabled:boolean) {\n this.disabled = disabled\n }\n\n selectTextValue:string\n ngOnInit(): void {\n }\n \n ngOnChanges(changes: SimpleChanges) {\n if(changes.fileInput != null) {\n //console.log(changes.fileInput.currentValue);\n if(changes.fileInput.currentValue == true) {\n this.editNameCertificado = false;\n this.file = null;\n //console.log('ngOnChanges');\n }\n }\n\n if(changes.vmaxlength != null) {\n //onsole.log(changes.vmaxlength.currentValue);\n if(changes.vmaxlength.currentValue == true) {\n if (this.type === 'number') {\n this.vMax = 9;\n } else {\n this.vMax = 12;\n }\n //console.log('ngOnChanges');\n }\n }\n\n if(changes.enviarEmail != null) {\n //console.log(changes.enviarEmail.currentValue);\n this.contactEmail = changes.enviarEmail.currentValue;\n this.checkCorreo(this.contactEmail);\n }\n }\n\n handleChange(e) {\n let val:any\n if (this.type === 'checkbox') val = e.target.checked\n else val = e.target.value\n\n if(this.vMax == 12) {\n let stringEspacios = val;\n val = stringEspacios.trim();\n //console.log(val, 'valorInput');\n }\n\n this.writeValue(val)\n this.change.emit(val)\n\n if (this.type === 'email') {\n this.checkCorreo(val);\n }\n }\n\n formatError:boolean\n file:any\n nameCertificado:any\n handleFileChange(e) {\n this.formatError = false\n console.log(this.formatError,'handleFileChange error')\n if (!this.dropFile) {\n this.fileCert = e.target.files[0];\n } else {\n this.fileCert = e.dataTransfer.files[0];\n }\n let val:any = this.fileCert\n if (this.mimeTypes) {\n let valid:boolean = true\n const types:string[] = this.mimeTypes.split(',')\n types.forEach((t:string) => t = t.trim())\n valid = types.includes(val.type)\n\n if (!valid) {\n this.formatError = true\n this.format.emit(this.formatError);\n console.log(this.formatError,'error true')\n return\n }\n }\n\n this.file = val\n this.nameCertificado = this.file.name.slice(0,-4)\n this.writeValue(val)\n this.change.emit(val)\n this.format.emit(this.formatError);\n console.log(this.formatError, 'error false')\n this.dropFile = false;\n }\n\n editNameCertificado:boolean = false\n editName(){\n this.editNameCertificado = true\n }\n \n allowDrop(e) {\n e.stopPropagation();\n e.preventDefault();\n }\n\n drop(e) {\n e.preventDefault();\n this.dropFile = true;\n this.handleFileChange(e);\n }\n \n fileInputClick() {\n this.dropFile = false;\n if(this.file==null) {\n this.element.nativeElement.click()\n }\n }\n\n onInput(event): void {\n const value = event.target.value;\n this.writeValue(value);\n this.change.emit(value);\n }\n\n closeModalCertificado() {\n this.modalClose = true;\n this.close.emit(this.modalClose);\n }\n\n nameModificado:string\n abrilModalPinSession() {\n this.modalPinSession = true;\n this.nameModificado = this.editNameCertificado ? document.getElementById(\"nameModificado\").innerHTML : this.nameCertificado;\n this.name.emit(this.nameModificado);\n this.next.emit(this.modalPinSession);\n }\n\n message1:string;\n receiveMessage($event) {\n this.message1 = $event\n console.log( this.message1,'message')\n }\n\n checkCorreo(val) {\n this.correoValidacion = val;\n //console.log(this.correoValidacion)\n const regexEmail = /^(([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5}),?\\s*){1,5}$/;\n let validacion = regexEmail.test(this.correoValidacion)\n //console.log(validacion)\n \n if (!validacion) {\n this.correoError = true\n } else {\n this.correoError = false\n }\n \n //console.log(this.correoError, 'correoError')\n }\n\n}\n","\n \n \n
{{ disabledTextValue ? disabledTextValue : value}}
\n \n \n \n \n \n
\n\n\n\n \n \n \n \n \n \n {{optionsName ? o[optionsName] : o}}\n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n\n \n \n \n \n\n \n \n\n
\n
\n
\n \n {{file?.name}}\n {{nameCertificado}} \n
\n
\n
\n
\n
\n DALE NOMBRE A TU CERTIFICADO\n
\n
\n
\n
\n
\n \n Arrastra o carga tus certificados
\n Formatos soportados: .p12 o .pfx
\n
\n
\n
\n \n
\n
\n \n
\n
\n\n \n\n \n \n \n \n
\n\n
\n

Este campo es obligatorio

\n

Correo electrónico inválido

\n

El valor está por debajo del requerido

\n

Las contraseñas deben coincidir

\n

El valor debe tener un mínimo de {{ngControl.control.errors?.minlength.requiredLength}} caracteres

\n

El valor no debe exceder los {{ngControl.control.errors?.maxlength.requiredLength}} caracteres

\n

El valor no puede contener ningun de los siguientes caracteres: / \\ : * \" > < |

\n

Solo se permiten caracteres numéricos.

\n
\n\n
\n

Formato de archivo inválido

\n
\n","import { Component, OnInit, Input, ViewChild, ElementRef } from '@angular/core';\nimport { Auth, Storage } from 'aws-amplify';\n\n@Component({\n selector: 'app-s3-image-destinatario',\n templateUrl: './s3-image-destinatario.component.html',\n styleUrls: ['./s3-image-destinatario.component.scss']\n})\nexport class S3ImageDestinatarioComponent implements OnInit {\n\n @ViewChild('el') el:ElementRef\n @Input('keyDestinatario') keyDestinatario:string\n\n constructor() { }\n\n ngOnInit(): void {\n this.getUrlDestinatario();\n }\n\n srcDestinatario:any\n async getUrlDestinatario() {\n const src = await Storage.get(this.keyDestinatario, {customPrefix: {public: ''}})\n this.srcDestinatario = src\n }\n}\n","
\n \n
","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { FirmaRapida } from '../models/FirmaRapida.model';\n\n\ntype requestBody = {\n method: string\n data?: FirmaRapida,\n id?: string,\n idCompany?: string,\n user?: string,\n subdomain?: string\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FirmaRapidaService {\n\n private urlFirmaRapida:string = `${environment.apiCore}/process-firmfast/`;\n\n constructor( private http: HttpClient ) { }\n\n obtenerNumeroExpediente(empresa:string, subdomain:string, user:string):Observable {\n const body:requestBody = {\n method: 'POST-EXPEDIENT-NUMBER', \n user:user, \n subdomain:subdomain, \n idCompany:empresa, \n data: { statusExpedientNumber: true }\n }\n return this.http.post(this.urlFirmaRapida, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n crearProceso(empresa:string, subdomain:string, user:string, data:any) {\n const body:requestBody = {\n method: 'PROCESS-FIRMFAST',\n user: user,\n subdomain: subdomain,\n idCompany: empresa,\n data: data\n }\n return this.http.post(this.urlFirmaRapida, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n cargar(empresa:string, subdomain:string, user:string, data:any):Observable {\n const body:requestBody = {\n method: 'PROCESS-UPLOAD',\n user: user,\n subdomain: subdomain,\n idCompany: empresa,\n data: data\n }\n return this.http.post(this.urlFirmaRapida, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarDocumentos(empresa:string, subdomain:string, user:string, idProcess:string):Observable {\n const body:requestBody = {\n method: 'LIST-DOCUMENT',\n user: user,\n subdomain: subdomain,\n idCompany: empresa,\n data: { idProcess:idProcess }\n }\n return this.http.post(this.urlFirmaRapida, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n eliminarDocumento(empresa:string, subdomain:string, user:string, idProcess:string, id:string) {\n const body:requestBody = {\n method: 'DELETE',\n user: user,\n subdomain: subdomain,\n idCompany: empresa,\n data: { idProcess:idProcess, id:id }\n }\n return this.http.post(this.urlFirmaRapida, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n finalizar(empresa:string, subdomain:string, user:string, idProcess:string, quantityDocument:number) {\n const body:requestBody = {\n method: 'PROCESS-FINALIZE',\n user: user,\n subdomain: subdomain,\n idCompany: empresa,\n data: { idProcess:idProcess, quantityDocument:quantityDocument }\n }\n return this.http.post(this.urlFirmaRapida, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n}\n","import { \n Component,\n Input, \n HostListener, \n ViewChildren, \n QueryList, \n ElementRef, \n Output, \n EventEmitter\n} from '@angular/core';\nimport { formatDate } from '@angular/common';\n\nimport { Filter } from 'src/app/models/Filter.model';\nimport { ProcesoService } from 'src/app/services/proceso.service';\nimport { DocumentoService } from 'src/app/services/documento.service';\nimport { OficinaService } from 'src/app/services/oficina.service';\nimport { ReceptorService } from 'src/app/services/receptor.service';\nimport { AuthService } from 'src/app/services/auth.service';\n\n@Component({\n selector: 'app-megafilter-select',\n templateUrl: './megafilter-select.component.html',\n styleUrls: ['./megafilter-select.component.scss']\n})\nexport class MegaFilterSelectComponent {\n\n @Input() placeholder: string;\n @Input() filters: Filter[] = [];\n @Input() session: string;\n\n @Output() onset = new EventEmitter();\n @Output() remaingFilters = new EventEmitter();\n\n @ViewChildren('list') el: QueryList;\n\n @HostListener('document:click', ['event']) clickout(event) {\n if (this.openFilter) {\n this.openFilter = false;\n }\n this.type = null;\n }\n\n constructor(\n public procesoService: ProcesoService,\n public documentoService: DocumentoService,\n public oficinaservice: OficinaService,\n public receptorService: ReceptorService,\n public authService: AuthService,\n ) { }\n\n ngOnInit(): void {\n\n this.openFilter = true;\n if (this.type) {\n this.type = null;\n this.editing = -1;\n }\n this.listarProcesos()\n this.listarDocumentos()\n this.listarOficinas()\n }\n\n openFilter:boolean\n searchTerm:string\n type:string\n\n theValue:string;\n theDate:Date = new Date();\n\n editing:number = -1;\n selectedfilterList = [];\n\n \n applyFilters(e,string) {\n this.session = string;\n if(e > 1){\n if (sessionStorage.getItem(this.session)) {\n \n var filters2 = JSON.parse(sessionStorage.getItem(this.session))\n \n for( var i=0 ; i < filters2.length -1 ; i++){\n if(filters2[i].on != this.filters[i].on){\n filters2[i].on = !filters2[i].on\n this.onset.emit({text: '', prop: filters2[i].prop, col: filters2[i].col});//Solucion Temporal --pv\n sessionStorage.setItem(string, JSON.stringify(filters2))\n }\n }\n this.filters = JSON.parse(sessionStorage.getItem(this.session))\n }\n }else{\n var filSession = sessionStorage.getItem(this.session)\n this.filters = filSession != null && filSession != undefined ? JSON.parse(sessionStorage.getItem(this.session)) : this.filters;\n }\n }\n\n checkFiltersOn() {\n return this.filters.every( filter => filter.on );\n \n }\n checkFiltersOff() {\n return this.filters.every( filter => !filter.on );\n }\n\n openMegaFilter(event) {\n event.stopPropagation();\n this.openFilter = true;\n if (this.type) {\n this.type = null;\n this.editing = -1;\n }\n } \n\n selectType(event, type, i) {\n event.stopPropagation();\n this.type = type;\n this.activeFilter = i;\n this.openFilter = false;\n }\n\n cancelChange() {\n this.filters[this.activeFilter].value = '';\n this.filters[this.activeFilter].on = true;\n }\n\n setFilter(event) { \n if (event != '') {\n\n if (!this.type) {\n return false;\n }\n\n let value = '';\n let tituloOficina = '';\n let tituloOficinasGeneral = '';\n\n if (this.type == 'date' || this.type == 'earlier-than' || this.type == 'later-than') {\n value = formatDate(event, 'dd/MM/yyyy', 'en_US')\n } else if (this.type == 'select') {\n value = event.target.value\n } \n else if (this.type == 'selectProcesos') {\n value = event.target.value\n } \n else if (this.type == 'selectDocumentos') {\n value = event.target.value\n }\n else if(this.type == 'selectOficinas'){\n value = event.target.options[event.target.selectedIndex].text\n //console.log('value2',event.target.options[event.target.selectedIndex].text)\n tituloOficina = event.target.value\n }\n else {\n value = event;\n }\n\n if (this.editing != -1) {\n this.filters[this.editing].value = value;\n this.editing = -1;\n \n } else {\n this.filters[this.activeFilter].value = value;\n this.filters[this.activeFilter].on = false;\n }\n\n\n let filter:any = {\n text: this.filters[this.activeFilter].value,\n prop: this.filters[this.activeFilter].prop, \n col: this.filters[this.activeFilter].col,\n exact: this.filters[this.activeFilter].exact,\n epoch: undefined\n }\n\n if(this.type == 'selectOficinas'){\n filter.text = tituloOficina;\n }\n if(this.type == 'selectOficinasGeneral'){\n filter.text = tituloOficinasGeneral;\n }\n\n sessionStorage.setItem(this.session, JSON.stringify(this.filters))\n\n if (this.type == 'date') {\n filter.date = event\n }\n if (this.type == 'earlier-than') {\n filter.type = this.type\n event.setUTCSeconds(59)\n event.setUTCMinutes(59)\n event.setUTCHours(23)\n filter.epoch = Date.parse(event)\n }\n if (this.type == 'later-than') {\n filter.type = this.type\n event.setUTCSeconds(0);\n event.setUTCMinutes(0);\n event.setUTCHours(0);\n filter.epoch = Date.parse(event);\n }\n this.onset.emit(filter);\n this.selectedfilterList.push(filter);\n\n this.type = null;\n this.theValue = '';\n }\n \n }\n\n rmFilter(event, i, col, type) {\n event.stopPropagation();\n this.filters[i].value = '';\n this.filters[i].on = true;\n this.selectedfilterList = this.selectedfilterList.filter((el) => {\n if (['earlier-than', 'later-than'].includes(type)) {\n return el.type !== type;\n }\n return el.col !== col;\n });\n\n this.onset.emit({\n text: '',\n prop: col,\n col,\n remainFilters: this.selectedfilterList\n });\n\n sessionStorage.setItem(this.session, JSON.stringify(this.filters))\n }\n \n editFilter(event, i, type, value) {\n this.openFilter = false\n event.stopPropagation();\n this.editing = i;\n this.type = type;\n this.theValue = value;\n }\n\n activeFilter: number;\n keyControls(event) {\n \n if (event.keyCode == 38) {\n // UP\n this.setActive(1, -1)\n } else if (event.keyCode == 40) {\n // DOWN\n this.setActive(1, +1)\n } \n \n \n if (event.keyCode == 13) {\n event.stopPropagation();\n event.preventDefault();\n this.selectType(event, this.filters[this.activeFilter].type, this.activeFilter);\n }\n \n }\n\n setActive(i, dir) {\n const check = this.activeFilter + dir;\n\n event.stopPropagation();\n event.preventDefault();\n\n if ( check >= 0 && check < this.filters.length ) {\n this.activeFilter = this.activeFilter + dir;\n this.el.toArray()[check].nativeElement.scrollIntoView({ block: 'nearest' });\n }\n }\n\n clearFilters(e = null) {\n if (e) e.stopPropagation()\n Object.keys(this.filters).forEach(o => {\n //console.log(o)\n this.filters[o].value = '';\n this.filters[o].on = true;\n });\n \n sessionStorage.setItem(this.session, JSON.stringify(this.filters))\n \n this.onset.emit({text: '', prop: this.filters[1].prop, col: this.filters[1].col});//Limpiar y enviar un emit --pv\n this.selectedfilterList = [];\n }\n\n clearInputs() {\n this.openFilter = false;\n }\n\n dataProcesos?:any=[]\n listarProcesos() {\n this.procesoService.listarProcesosActivos(this.authService.obtenerIdEmpresaActiva()).subscribe(data => {\n this.dataProcesos = data\n this.dataProcesos = this.ordenarAlfabeticamente(this.dataProcesos)\n }, error => {console.log(error)})\n }\n\n dataDocumentos?:any=[]\n listarDocumentos() {\n this.documentoService.listarDocumentosActivos(this.authService.obtenerIdEmpresaActiva()).subscribe(data => {\n this.dataDocumentos = data\n this.dataDocumentos = this.ordenarAlfabeticamente(this.dataDocumentos)\n }, error => {console.log(error)})\n }\n\n dataOficina?:any=[]\n listarOficinas(){\n /*this.oficinaservice.listarOficinas(this.authService.obtenerIdEmpresaActiva()).subscribe(data =>{\n this.dataOficina = data\n }, error => {\n console.log(error)\n })*/\n this.receptorService.listarOficinasPorUsuario(this.authService.obtenerIdEmpresaActiva(),this.authService.obtenerSubdominio(),this.authService.obtenerUsername()).subscribe( data => {\n this.dataOficina = data\n this.dataOficina = this.ordenarAlfabeticamente(this.dataOficina)\n }, error => {\n console.log(error)\n })\n console.log('Listado de oficinas usuario :', this.dataOficina)\n }\n\n ordenarAlfabeticamente(lista : any[]) : any[]{\n //ordenar alfabeticamente\n lista.sort( function(a,b) {\n if(a.name > b.name){\n return 1;\n }\n if(a.name < b.name){\n return -1;\n }\n return 0;\n })\n return lista\n }\n \n}\n","
\n\n
\n \n \n {{ placeholder }}\n \n\n
\n
\n {{ filter.name }}:\n {{ filter.value }}\n \n \n \n
\n
\n\n
\n \n
\n\n
\n\n
\n
Agregar Filtro
\n
    \n
  • \n {{ filter.name }}\n
  • \n
\n
\n\n
\n\n
\n {{ activeFilter >= 0 ? filters[activeFilter].name : null }}\n
\n\n
\n = 0 ? filters[activeFilter].name : null\"\n [(ngModel)]=\"theValue\">\n \n \n
\n\n \n\n \n\n \n\n \n \n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n\n
","export const environment = {\n production: false,\n identityPoolId: 'us-west-2:e80bc64c-7d05-4031-a9b6-4f7a00fe1ef6',\n userPoolId: 'us-west-2_vAwXkkeyy',\n webClientId: '59s6bqt6gjamnp0e3v1j3jk9mj',\n bucket: 'noe-free-qa',\n api: 'https://qwgzoz9s24.execute-api.us-west-2.amazonaws.com/free-qa/noe',\n apiCore: 'https://qwgzoz9s24.execute-api.us-west-2.amazonaws.com/free-qa/noe/core',\n xApiKey: 'vFT80sm9Ru3KhrMIYPjQJ8tepYDu7LB4twdRb0hh',\n captchaSiteKey:'6LfBENkaAAAAAP9qn7Z73BYMsrdvE-bfcZ92i7VX',\n reporteReplace: 'https://noe-free-qa.s3.amazonaws.com/',\n TESTING : false,\n rutaRegionQa:'https://noe-qa.s3.us-west-2.amazonaws.com',\n socketEndpoint:'wss://m272f6yx5k.execute-api.us-west-2.amazonaws.com/noefree-qa',\n domainAuth:'noe-free-qa.auth.us-west-2.amazoncognito.com',\n redirectSignIn:'https://indigital-free-qa.noe.pe/',\n redirectSignOut:'https://indigital-free-qa.noe.pe/',\n apiCoreUpload:'https://m3qjpdenk8.execute-api.us-west-2.amazonaws.com/free-qa/noe/core',\n xApiKeyUpload:'dP2mR5uYA78g9Oy3FB2ek4wei3HN2rRA7BOwhMuB',\n facebookAppId: '594053289432404',\n endPointSFClient: 'https://noe-free-qa.s3.us-west-2.amazonaws.com/SignFastClientV3',\n scriptNiubiz: 'https://static-content-qas.vnforapps.com/vTokenSandbox/js/checkout.js',\n passwordDecrypted : '#Noev3&pass'\n};\n","import { Component, OnInit, Input, Output, EventEmitter, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'app-wizard',\n templateUrl: './wizard.component.html',\n styleUrls: ['./wizard.component.scss']\n})\nexport class WizardComponent implements OnInit {\n\n @Input('steps') steps:any[] = []\n @Input('endText') endText:string = 'Finalizar'\n @Input('disableNext') disableNext:boolean\n @Input('loading') loading:boolean\n\n @Output() \n onstep: EventEmitter = new EventEmitter()\n @Output() \n onend: EventEmitter = new EventEmitter()\n\n\n constructor() { }\n\n barWidth:number\n progressWidth:number = 0\n ngOnInit(): void {\n this.barWidth = (100 / this.steps.length) * (this.steps.length - 1)\n }\n\n active:number = 0\n setActive(index:number, dir: '+' | '-' = null) {\n // console.log('set active', index)\n if (!this.steps[index].skip) {\n this.active = index\n this.adjustProgress()\n this.onstep.emit(this.active)\n } else {\n const next:number = dir === '+' ? index + 1 : index - 1\n this.setActive(next, dir)\n }\n }\n\n forward() {\n this.active < this.steps.length - 1 ? this.setActive(this.active+1, '+') : null\n this.adjustProgress()\n }\n back() {\n this.active >= 0 ? this.setActive(this.active-1, '-') : null\n this.adjustProgress()\n }\n\n adjustProgress() {\n this.progressWidth = (100 / (this.steps.length - 1)) * this.active\n }\n\n}\n","
\n\n
\n
\n
\n\n
\n
{{i+1}}
\n
\n
\n {{step.title}}\n
\n
\n\n
\n\n
\n \n
\n\n
\n \n\n \n\n \n\n
\n","import { Component, EventEmitter, OnInit, Output, HostListener, ViewChild } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { Auth, Storage } from 'aws-amplify';\nimport { TitleService } from 'src/app/services/title.service';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ModalComponent } from 'src/app/shared/modal/modal.component';\nimport { NotificationsService } from 'src/app/services/notifications.service';\nimport { FormValidationService } from 'src/app/services/form-validation.service';\nimport { PasswordValidatorsService } from 'src/app/services/password-validators.service';\nimport { Subscription } from 'rxjs';\nimport { UsuariosService } from 'src/app/services/usuarios.service';\nimport { PermisosService } from 'src/app/services/permisos.service';\nimport { ServiciosProcesoService } from '../../services/servicios-proceso.service';\nimport { EmpresaService } from 'src/app/services/empresa.service';\nimport { ReceptorService } from 'src/app/services/receptor.service';\nimport { TopbarConstants } from './topbar-modal.constants';\nimport countries from 'src/app/util/countries';\nimport { Usuario } from '@noe/models/Usuario.model';\nimport { PersonalizacionService } from '@noe/services/personalizacion.service';\nimport { takeUntil } from 'rxjs/operators';\nimport { BaseUnsubscribe } from 'src/app/util/base-unsubscribe';\nimport { CompartirDatosService } from '@noe/services/compartirDatos.service';\nimport { NgxCopilotService } from 'ngx-copilot';\nimport { SharedService } from '@noe/services/shared.service';\nimport { FirmaRapida } from '@noe/models/FirmaRapida.model';\nimport { FirmaRapidaService } from '@noe/services/firma-rapida.service';\nimport { SharedCargarDocumentosService } from '@noe/services/sharedCargarDocumentos.service';\nimport { SharedAvatarService } from '@noe/services/sharedAvatar.service';\nimport { ModalFreeComponent } from '@noe/shared/modal-free/modal-free.component';\nimport { SharedActivarCargaDocumento } from '@noe/services/sharedActivarCargaDocumento.service';\nimport { SharedPlanService } from '@noe/services/sharedPlan.service';\nimport { NiubizService } from '@noe/services/apiniubiz.service';\nimport { SharedActivarTitle } from '@noe/services/sharedActivarTitle.service';\nimport { environment } from 'src/environments/environment';\nimport { MarketPlaceService } from 'src/app/services/marketplace.service';\nimport {v4 as uuidv4} from 'uuid';\n\n\ndeclare let invocarPagoNiubiz :any;\ndeclare let invocarAntifraude :any;\n@Component({\n selector: 'app-topbar-modal',\n templateUrl: './topbar-modal.component.html',\n styleUrls: ['./topbar-modal.component.scss']\n})\nexport class TopbarModalComponent extends BaseUnsubscribe implements OnInit {\n\n @ViewChild('passModal') passModal:ModalComponent\n @ViewChild('modalCambiarmeCuentaPago') modalCambiarmeCuentaPago:ModalComponent\n @ViewChild('modalConfirmarLogout') modalConfirmarLogout:ModalFreeComponent\n @ViewChild('modalLecturaTerminos') modalLecturaTerminos:ModalComponent\n @ViewChild('editarMiCuentaModal') editarMiCuentaModal:ModalComponent\n @ViewChild('modalCambiadeplan') modalCambiadeplan:ModalComponent\n @ViewChild('modalCargarDocumentos') modalCargarDocumentos:ModalComponent\n @ViewChild('modalBoletaFactura') modalBoletaFactura:ModalComponent\n @ViewChild('modalTyC') modalTyC:ModalComponent\n\n @HostListener('document:click') clickout():void {\n if (this.drop) this.drop = false\n if (this.profileDrop) this.profileDrop = false\n if (this.profileTraductor) this.profileTraductor = false;\n }\n\n passForm:FormGroup\n usuarioForm:FormGroup\n boletaForm:FormGroup\n facturaForm:FormGroup\n subscription: Subscription\n headPremium = TopbarConstants.HEAD_PREMIUM;\n bodyPremium = TopbarConstants.BODY_PREMIUM;\n\n tipoDocumentos:string[] = [\n 'DNI',\n 'CE',\n 'PTP',\n 'Pasaporte'\n ]\n\n tipoDocumentoBoleta:string[] = [\n 'DNI',\n 'Pasaporte',\n 'CE'\n ]\n\n verAnual:boolean=true;\n verMensual:boolean=false;\n verProcesoPago:boolean=false;\n verDetallesPago:boolean=false;\n verInformacionTransferencia:boolean=false;\n pagoForm:FormGroup;\n tipoPlanCategoria:string='';\n checked:boolean=false;\n checkedPago:boolean=false;\n verAddonsDoc:boolean=false;\n verAddonsFirma:boolean=false;\n\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n public title: TitleService,\n public authService: AuthService,\n public notify: NotificationsService,\n public fb: FormBuilder,\n public fv: FormValidationService,\n public validators: PasswordValidatorsService,\n public usuarioService: UsuariosService,\n public permisosService: PermisosService,\n public serviciosProcesoService: ServiciosProcesoService,\n public empresaService: EmpresaService,\n public receptorService: ReceptorService,\n private customService: PersonalizacionService,\n public compartirDatosService: CompartirDatosService,\n private copilot: NgxCopilotService,\n private sharedService: SharedService,\n public service: FirmaRapidaService,\n private sharedCargarDocumentosService: SharedCargarDocumentosService,\n private sharedAvatarService: SharedAvatarService,\n private sharedActivarCargaDocumento: SharedActivarCargaDocumento,\n private sharedPlanService: SharedPlanService,\n public niubizService:NiubizService,\n private sharedActivarTitle: SharedActivarTitle,\n private marketPlaceService: MarketPlaceService\n ) {\n super();\n }\n\n countries: any[] = [...countries]\n .sort((a, b) => a.es.localeCompare(b.es))\n .map((item) => {\n return {\n ...item,\n optionName: `${item.es} (${item.dial})`\n }\n });\n\n countriesPago: any[] = [...countries]\n .sort((a, b) => a.es.localeCompare(b.es))\n .map((item) => {\n return {\n ...item,\n optionName: `${item.es}`\n }\n });\n\n // sidebar:boolean = true\n @Output()\n toggleSidebar: EventEmitter = new EventEmitter()\n @Output()\n toggleSidebarCollapse: EventEmitter = new EventEmitter()\n private readonly defaultLogo = '../../../assets/img/logo-1.png';\n\n name:string\n profiles:string[]\n existeEmail:boolean=false\n crearLoading:boolean\n drop:boolean\n profileDrop:boolean\n profileTraductor: boolean\n empresaActiva:any\n empresas:any[] = []\n esGratuita:boolean\n\n twice:boolean = false\n sus:Subscription\n\n dataPassword:boolean = false\n dataPasswordDate:string\n\n logoSidebar: string = this.defaultLogo;\n sharedData: string;\n rutaAvatar:any\n verModalGracias: boolean = false;\n preview:string;\n selected: any;\n procesoRapidoForm:FormGroup;\n cargarLoading:boolean;\n docLoading:boolean;\n proceso:FirmaRapida;\n documentosProceso:any[] = [];\n loading: boolean = true;\n sharedDoc: boolean = false;\n sharedDataAvatar: boolean = false;\n loadingAvatar: boolean = false;\n sharedModalPlan: boolean = false;\n start:boolean = false\n tipoBoleta: boolean = false;\n tipoFactura: boolean = false;\n tipoTarjeta: boolean = false;\n tipoTransferencia: boolean = false;\n notificacionPagoAct: boolean = false;\n notificacionMantAct: boolean = false;\n notActTarjeta: boolean = false;\n notDocumentos: boolean = false;\n notMantenimiento: boolean = false;\n tipoDoc: string;\n tipoPago: string;\n dateLastSession:any = ''\n validarCheck: boolean = false;\n\n ngOnInit(): void {\n console.log('###INIIT TOPBAR MODAL')\n this.scriptNiubiz();\n this.obtenerPlanesModal();\n this.compartirDatosService.changeMessage(false);\n\n this.start = localStorage.getItem('AUTHSTART') === 'start'\n console.log(this.start)\n if (this.start) {\n this.crearRegistroSession()\n this.obteniendoDatos(localStorage.getItem('AUTHUSER'), localStorage.getItem('AUTHSUBDOMINIO'))\n }else{\n this.cargarEmpresaActiva();\n }\n this.listarSessionesUsuario()\n }\n\n abrirModalTyC(){\n this.modalTyC.open();\n }\n\n checkDeclarar(check:boolean){\n this.validarCheck = check;\n //console.log(this.validarCheck,'validarCheck');\n }\n\n crearRegistroSession(){\n let user = localStorage.getItem('AUTHUSER')\n this.receptorService.crearRegistroSession(user).subscribe( data => {\n console.log(data.response)\n }, error => {\n console.log(\"Ocurrio un error al registrar la session.\")\n });\n }\n\n\n listarSessionesUsuario(){\n let user = localStorage.getItem('AUTHUSER')\n this.receptorService.listarSessionesUsuario(user).subscribe( data => {\n let nowDate = new Date\n if( data != null && data.length > 0){\n nowDate = data.length == 2 ? new Date(data[1].dateSession) : new Date(data[0].dateSession)\n }\n this.dateLastSession = nowDate.toLocaleString();\n console.log('## dateLastSession',this.dateLastSession)\n }, error => {\n console.log(\"Ocurrio un error al registrar la session.\")\n });\n }\n\n checkBoleta(e) {\n this.tipoBoleta = e;\n this.tipoFactura = false;\n this.formBoleta();\n if(this.boletaForm && this.tipoBoleta) {\n this.limpiarModal();\n this.modalBoletaFactura.open();\n }\n console.log('checkBoleta', this.tipoBoleta);\n }\n\n checkFactura(e) {\n this.tipoFactura = e;\n this.tipoBoleta = false;\n this.formFactura();\n if(this.facturaForm && this.tipoFactura) {\n this.limpiarModal();\n this.modalBoletaFactura.open();\n }\n console.log('checkFactura', this.tipoFactura);\n }\n\n checkTarjeta(e) {\n this.tipoTarjeta = e;\n this.tipoTransferencia = false;\n console.log('checkTarjeta', this.tipoTarjeta);\n }\n\n checkTransferencia(e) {\n this.tipoTransferencia = e;\n this.tipoTarjeta = false;\n console.log('checkTransferencia', this.tipoTransferencia);\n }\n\n limpiarModal() {\n if(this.tipoBoleta) {\n this.boletaForm.setValue({\n //tipoDocumento: '',\n dni: '',\n email: ''\n })\n } else {\n this.facturaForm.setValue({\n ruc: '',\n email: ''\n })\n }\n }\n\n deshabilitarCheck() {\n this.checked=false;\n this.tipoBoleta=false;\n this.tipoFactura=false;\n this.tipoDoc = '';\n if(this.boletaForm) {\n this.boletaForm.setValue({\n dni: '',\n email: ''\n })\n } else {\n this.facturaForm.setValue({\n ruc: '',\n email: ''\n })\n }\n }\n\n formBoleta() {\n this.boletaForm = this.fb.group({\n //tipoDocumento:['', [Validators.required]],\n dni:['', [Validators.required, Validators.maxLength(12), Validators.minLength(8)]],\n email:['', [Validators.required, Validators.email]]\n })\n }\n\n formFactura() {\n this.facturaForm = this.fb.group({\n ruc:['', [Validators.required, Validators.maxLength(11), Validators.minLength(11)]],\n email:['', [Validators.required, Validators.email]]\n })\n }\n\n guardarDatosBoleta() {\n if (!this.boletaForm.valid) {\n return this.fv.validateForm(this.boletaForm)\n }\n\n const body: any = {\n //tipoDocumento: this.boletaForm.get('tipoDocumento').value,\n dni: this.boletaForm.get('dni').value,\n email: this.boletaForm.get('email').value\n }\n console.log(body, 'guardarDatosBoleta');\n\n this.modalBoletaFactura.close();\n }\n\n guardarDatosFactura() {\n if (!this.facturaForm.valid) {\n return this.fv.validateForm(this.facturaForm)\n }\n\n const body: any = {\n ruc: this.facturaForm.get('ruc').value,\n email: this.facturaForm.get('email').value\n }\n console.log(body, 'guardarDatosFactura');\n\n this.modalBoletaFactura.close();\n }\n\n cargarEmpresaActiva(){\n this.name = this.authService.obtenerNombres().join(' ')\n this.profiles = this.authService.obtenerPerfiles()\n this.empresas = this.authService.obtenerEmpresas()\n this.empresaActiva = this.empresas.find(e => e.id == this.authService.obtenerIdEmpresaActiva())\n this.esGratuita = this.authService.obtenerTipoCuenta() !== 'PAGO'\n this.rutaAvatar = 'assets/img/noe-free/avatar-default.jpg' //default\n\n this.sus = this.route.queryParams.subscribe(params => {\n if (!params.login && !this.twice) {\n this.empresaService.obtenerEmpresaActiva(this.authService.obtenerIdEmpresaActiva()).subscribe(data => {\n this.authService.guardarDataEmpresaActiva(data.find(c => c.id == this.authService.obtenerIdEmpresaActiva()))\n }, error => {\n console.log(error)\n })\n\n this.obtenerData();\n\n }\n\n this.twice = true\n })\n this.receptorService.datosFechaContraseña( this.authService.obtenerUsername(), this.authService.obtenerSubdominio()).subscribe(data => {\n if(data['formatDate'] != null){\n this.dataPassword = data['formatDate'];\n this.dataPasswordDate = data['numberDay'];\n }\n }, error => {\n console.log(error)\n });\n\n this.sharedTitle();\n this.sharedTitleActualizar();\n this.sharedAvatarActualizar();\n this.sharedPlanActualizar();\n\n this.pagoForm = this.fb.group({\n tipoTarjeta: [false],\n tipoTransferencia: [false],\n tipoBoleta: [false],\n tipoFactura: [false]\n })\n\n this.validarFormulario();\n this.obtenerNumeroExpediente();\n this.obtenerLimitePeso();\n this.sharedButtonActualizar();\n\n this.obtenerPlanesyAdicionales();\n }\n\n obteniendoDatos(username,subdomain){\n this.usuarioService.obtenerUsuario(username, subdomain).subscribe(data => {\n this.notificacionPagoAct = data.failedPayment == 1\n this.notActTarjeta = data.failedPayment == 1\n console.log('this.notificacionPagoAct',this.notificacionPagoAct)\n console.log('this.notActTarjeta',this.notActTarjeta)\n this.authService.guardarDatos(data, true)\n this.name = this.authService.obtenerNombres().join(' ')\n this.profiles = this.authService.obtenerPerfiles()\n this.rutaAvatar = 'assets/img/noe-free/avatar-default.jpg' //default\n\n this.sus = this.route.queryParams.subscribe(params => {\n if (!params.login && !this.twice) {\n this.empresaService.obtenerEmpresaActiva(this.authService.obtenerIdEmpresaActiva()).subscribe(data => {\n this.authService.guardarDataEmpresaActiva(data.find(c => c.id == this.authService.obtenerIdEmpresaActiva()))\n this.empresas = this.authService.obtenerEmpresas()\n this.empresaActiva = this.empresas.find(e => e.id == this.authService.obtenerIdEmpresaActiva())\n this.esGratuita = this.authService.obtenerTipoCuenta() !== 'PAGO'\n this.obtenerLimitePeso();\n }, error => {\n console.log(error)\n })\n\n this.obtenerData();\n\n }\n\n this.twice = true\n })\n this.receptorService.datosFechaContraseña( this.authService.obtenerUsername(), this.authService.obtenerSubdominio()).subscribe(data => {\n if(data['formatDate'] != null){\n this.dataPassword = data['formatDate'];\n this.dataPasswordDate = data['numberDay'];\n }\n }, error => {\n console.log(error)\n });\n\n this.sharedTitle();\n this.sharedTitleActualizar();\n this.sharedAvatarActualizar();\n this.sharedPlanActualizar();\n\n this.pagoForm = this.fb.group({\n tipoTarjeta: [false],\n tipoTransferencia: [false],\n tipoBoleta: [false],\n tipoFactura: [false]\n })\n\n this.validarFormulario();\n this.obtenerNumeroExpediente();\n\n this.sharedButtonActualizar();\n\n this.obtenerPlanesyAdicionales();\n }, error => {\n console.log(error)\n })\n }\n\n listaPaquetes:any [] = []\n obtenerPlanesModal(){\n this.marketPlaceService.listarOpcionesModalCompra(0).subscribe(\n data => {\n this.listaPaquetes = data\n console.log('### listaPaquetes',this.listaPaquetes)\n }, error => {\n console.log(error)\n })\n }\n\n lstPlans:any[] = []\n miPlanActual:any\n obtenerPlanesyAdicionales(){\n const body: any = {\n user: this.authService.obtenerUsername(),\n subdomain: this.authService.obtenerSubdominio(),\n idCompany : 0\n }\n this.marketPlaceService.listarPlanesPorUsuario(body).subscribe(data => {\n this.lstPlans = data;\n if(this.lstPlans.length > 0){\n this.miPlanActual = this.lstPlans.filter(d => d.checked == true)[0];\n // RQ Plan Personalizado\n if (this.miPlanActual == undefined || this.miPlanActual.length == 0){\n this.miPlanActual = {id: 4, name: 'Plan Personalizado'}\n }\n }\n console.log('miPlanActual',this.miPlanActual)\n })\n }\n\n planSeleccionado:any\n tipoPlanSeleccionado:any\n costoPlanSeleccionado:any\n costoTotalCompra:any = 0.00\n\n isPlanAnual:boolean\n //MONTHLY, QUARTERLY, BIANNUAL, ANNUAL\n capturarPlan(plan,anual){\n if(plan.id < this.miPlanActual.id){\n this.notify.info('No puede seleccionar un Plan inferior.')\n return;\n }\n this.planSeleccionado = plan\n let tipoSeleccionado = anual == true ? \"anual\" : \"mensual\"\n\n for( let type of plan.attributes.tipo_plan){\n if(type.tipo == tipoSeleccionado){\n this.tipoPlanSeleccionado = type\n this.costoPlanSeleccionado = type.costo\n this.costoTotalCompra = parseFloat(type.costo.toFixed(2))\n\n this.isPlanAnual = this.tipoPlanSeleccionado.tipo == 'anual' ? true : false\n }\n }\n\n if(tipoSeleccionado == \"anual\"){\n this.verAnual = false;\n }else{\n this.verMensual = false;\n }\n this.verProcesoPago = true;\n }\n\n nombres:string=\"\"\n esPlanPersonalizado: boolean = true\n obtenerData() {\n console.log(\"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%55\")\n this.loadingAvatar = true;\n this.usuarioService.obtenerUsuario(\n this.authService.obtenerUsername(),\n this.authService.obtenerSubdominio()).subscribe(data => {\n this.notificacionPagoAct = data.failedPayment == 1\n this.notActTarjeta = data.failedPayment == 1\n console.log('this.notificacionPagoAct',this.notificacionPagoAct)\n console.log('this.notActTarjeta',this.notActTarjeta)\n this.authService.guardarDatos(data, true)\n this.permisosService.setOpciones()\n this.profiles = this.authService.obtenerPerfiles()\n this.obtenerAvatarUsuario(data.routeAvatar)\n this.loadingAvatar = false;\n this.nombres = data.name+\" \"+data.surname\n if (data.attributes.plan.id < 4){\n this.esPlanPersonalizado = false;\n }\n console.log(\"pintameeee\",data)\n }, error => {\n console.log(error)\n })\n }\n\n sharedAvatarActualizar() {\n console.log(\"///////////////////////////////////////////////\")\n this.sharedAvatarService.sharedData$\n .subscribe(sharedDataAvatar => {\n this.sharedDataAvatar = sharedDataAvatar;\n this.obtenerData();\n });\n }\n\n sharedPlanActualizar() {\n this.sharedPlanService.sharedData$\n .subscribe(sharedDataPlan => {\n this.sharedModalPlan = sharedDataPlan;\n this.openModalCambiadeplan();\n });\n }\n\n sharedPlan() {\n this.sharedModalPlan = false;\n this.sharedPlanService.setData(this.sharedModalPlan);\n }\n\n activarCargaDocumento:boolean\n\n sharedButtonActualizar() {\n this.sharedActivarCargaDocumento.sharedActivar$\n .subscribe(sharedActivate => {\n this.activarCargaDocumento = sharedActivate;\n this.sharedActivarTitle.setData(this.sharedData);\n console.log('activarCargaDocumento', this.activarCargaDocumento);\n });\n }\n\n sharedTitleActualizar() {\n this.sharedActivarTitle.sharedActivar$\n .subscribe(sharedActivateTitle => {\n this.sharedTitleSession();\n });\n }\n\n validarFormulario(){\n this.procesoRapidoForm = this.fb.group({\n idDocumentType: ['Genérico', [Validators.required]],\n idProcessType: ['Firma de Documentos', [Validators.required]],\n statusExpedientNumber: [true, [Validators.required]],\n expedientNumber: ['', [Validators.required]],\n incremental: ['']\n })\n }\n\n obtenerNumeroExpediente() {\n this.service.obtenerNumeroExpediente(\n this.authService.obtenerIdEmpresaActiva(),\n this.authService.obtenerSubdominio(),\n this.authService.obtenerUsername()\n ).subscribe(data => {\n this.procesoRapidoForm.get('expedientNumber').setValue(data.expedient_number)\n this.procesoRapidoForm.get('incremental').setValue(data.incremental)\n }, error => {\n console.log(error)\n })\n }\n\n crearProceso() {\n\n // this.loadingText = 'Creando Proceso'\n this.cargarLoading = true\n this.statusLoading = true\n const data = {\n expedientNumber: this.procesoRapidoForm.get('expedientNumber').value,\n statusExpedientNumber: this.procesoRapidoForm.get('statusExpedientNumber').value,\n incremental: this.procesoRapidoForm.get('incremental').value\n }\n\n this.cargarLoading = true\n this.service.crearProceso(\n this.authService.obtenerIdEmpresaActiva(),\n this.authService.obtenerSubdominio(),\n this.authService.obtenerUsername(),\n data\n ).subscribe(data => {\n\n this.proceso = {id:data['response']['idProcess']}\n this.upload()\n\n }, error => {\n this.cargarLoading = false\n if (error.status === 409) this.notify.error(error.error.response)\n else this.notify.error('Hubo un problema al crear el proceso')\n\n console.log(error)\n this.statusLoading = false\n // this.loadingText = ''\n })\n }\n\n uploadList:File[] = []\n async handleUpload(files:any[]) {\n this.uploadList = files\n }\n\n archivos:{name:string, path:string, id:string}[]\n async upload(){\n const archivos:{name:string, path:string, id:string}[] = []\n const today:Date = new Date()\n for (const f of this.uploadList) {\n const key:string = `${this.authService.obtenerRucEmpresaActiva()}/documentos_digitales/${today.getFullYear()}/${this.proceso.id}/documentos_cargados/${f.name}`\n try {\n const idCompany = this.authService.obtenerIdEmpresaActiva()\n const ruc = this.authService.obtenerRucEmpresaActiva()\n const subdomain = this.authService.obtenerSubdominio()\n const idGroupCompany = this.authService.obtenerIdGrupoEmpresarial()\n /** no agregamos la razon social por carateres espciales en si las tildes */\n await Storage.put(key, f, {\n tagging: 'idCompany='+idCompany+'&ruc='+ruc+'&subdomain='+subdomain+'&idGroupCompany='+idGroupCompany\n })\n\n const file = {name:f.name, path:`public/${key}`, id:''}\n archivos.push(file)\n\n } catch (error) {\n this.notify.error('Hubo un problema al cargar sus archivos')\n console.log(error)\n this.statusLoading = false\n }\n }\n this.archivos = archivos\n this.agregarDocumentos()\n }\n\n statusLoading:boolean = false\n async agregarDocumentos() {\n this.loading = true\n // this.errorLoading = false\n\n this.docLoading = true\n /// this.loadingText = 'Actualizando Proceso'\n const data:FirmaRapida = {\n idProcess: this.proceso.id,\n routeFile: `public/${this.authService.obtenerRucEmpresaActiva()}/documentos_digitales/${new Date().getFullYear()}/${this.proceso.id}`,\n files: this.archivos,\n }\n this.service.cargar(\n this.authService.obtenerIdEmpresaActiva(),\n this.authService.obtenerSubdominio(),\n this.authService.obtenerUsername(),\n data\n ).subscribe(data => {\n this.loading = false\n //this.buildBody(null,1,20,null)\n this.sharedDocs();\n this.sharedDocsService();\n this.statusLoading = false;\n this.closeModalCargarDocumentos();\n }, error => {\n console.log(error)\n // this.loadingText = 'Error: no se actualizó el proceso'\n this.loading = false\n // this.errorLoading = true\n this.docLoading = false\n this.statusLoading = false\n })\n }\n\n removeFile(event:any){\n const files = [...this.uploadList]\n files.splice(files.indexOf(event), 1);\n this.uploadList = files\n this.preview = this.uploadList.length === 0 ? null : 'true'\n }\n\n limitePeso:number\n obtenerLimitePeso() {\n const valor = this.authService.obtenerLimitePeso()\n if (!valor) return\n this.limitePeso = parseInt(valor.split(' ')[0])\n }\n\n fecha: any;\n setSelectedPais(event){\n this.fecha = event.target.value\n console.log(this.fecha,'fecha')\n }\n\n openModalCargarDocumentos() {\n this.modalCargarDocumentos.open();\n }\n\n closeModalCargarDocumentos() {\n this.modalCargarDocumentos.close();\n }\n\n setPreview(base:string) {\n this.preview = base;\n }\n\n selectBoton(item, $event) {\n this.selected = (this.selected === item ? null : item);\n $event ? $event.stopPropagation() : null;\n }\n\n isActiveBoton(item) {\n return this.selected === item;\n }\n\n /*detallePago() {\n const nationalityPais = this.pagoForm.get('pais').value;\n const nationalityProvincia = this.pagoForm.get('provincia').value;\n const pais = countries.find((item) => item.code === nationalityPais)?.code;\n const provincia = countries.find((item) => item.code === nationalityProvincia)?.code;\n\n let detallePago: any = {\n tipoTarjeta: this.pagoForm.get('tipoTarjeta').value,\n tipoTransferencia: this.pagoForm.get('tipoTarjeta').value,\n mes: this.pagoForm.get('mes').value,\n anio: this.pagoForm.get('anio').value,\n cvv: this.pagoForm.get('cvv').value,\n nombre: this.pagoForm.get('nombre').value,\n apellido: this.pagoForm.get('apellido').value,\n correo: this.pagoForm.get('correo').value,\n pais: pais,\n provincia: provincia,\n direccion: this.pagoForm.get('direccion').value,\n tipoPago: this.pagoForm.get('tipoPago').value\n }\n\n console.log('detallePago', detallePago)\n\n this.verDetallesPago = false;\n this.verModalGracias = true;\n }*/\n\n openModalCambiadeplan() {\n this.modalCambiadeplan.open();\n this.verAnual = true;\n this.tipoPlanCategoria = 'anual'\n }\n\n closeModalCambiadeplan() {\n this.modalCambiadeplan.close();\n this.verModalGracias = false\n this.verDetallesPago = false\n this.verProcesoPago = false\n this.verMensual = false;\n this.verAnual = true;\n this.buttonPay = false;\n this.validarCheck = false;\n this.checked=false;\n this.checkedPago=false;\n this.verInformacionTransferencia = false;\n this.verAddonsDoc = false;\n this.verAddonsFirma = false;\n\n this.paquetesAdicionales = []\n this.listaPaquetes.forEach(t => { t.checked = false})\n this.tipoPlanCategoria = ''\n\n localStorage.removeItem('DATA_PAYMENT') //Evitar Modal de Compra\n }\n\n sharedDocs() {\n this.router.navigate(['/mis-documentos/documentos']);\n this.sharedData = 'Documentos';\n this.sharedService.setData(this.sharedData);\n this.sharedCargarDocumentosService.sharedData$\n .subscribe(sharedDataDocs => this.sharedDoc = sharedDataDocs);\n }\n\n sharedPerfil() {\n this.sharedData = 'Mi Perfil';\n this.sharedService.setData(this.sharedData);\n }\n\n sharedDocsService() {\n setTimeout(() => {\n this.sharedDoc = true;\n this.sharedCargarDocumentosService.setData(this.sharedDoc);\n console.log(this.sharedDoc,'sharedDocPadre');\n }, 800)\n }\n\n sharedTitle() {\n this.sharedService.sharedData$\n .subscribe(sharedData => this.sharedData = sharedData);\n }\n\n code_child: string;\n sharedTitleSession() {\n this.obtenerData();\n console.log(this.router.url, 'ruta');\n if(this.router.url == \"/\") {\n this.sharedData = null;\n this.code_child = '0000006';\n this.sharedService.setData(this.sharedData);\n }\n if(this.router.url == \"/mis-documentos/documentos\") {\n this.sharedData = 'Documentos';\n this.code_child = '0000701';\n console.log(this.code_child, 'code_child');\n this.sharedService.setData(this.sharedData);\n }\n if(this.router.url == \"/mis-documentos/papelera\") {\n this.sharedData = 'Papelera';\n this.code_child = '0000702';\n console.log(this.code_child, 'code_child');\n this.sharedService.setData(this.sharedData);\n }\n if(this.router.url == \"/contactos/lista-de-contactos\") {\n this.sharedData = 'Lista de contactos';\n this.code_child = '0000801';\n this.sharedService.setData(this.sharedData);\n }\n if(this.router.url == \"/configuraciones/mi-perfil\") {\n this.sharedData = 'Mi perfil';\n this.code_child = '0000901';\n this.sharedService.setData(this.sharedData);\n }\n if(this.router.url == \"/configuraciones/notificaciones\") {\n this.sharedData = 'Notificaciones';\n this.code_child = '0000902';\n this.sharedService.setData(this.sharedData);\n }\n if(this.router.url == \"/configuraciones/r%C3%BAbrica\") {\n this.sharedData = 'Rúbrica';\n this.code_child = '0000903';\n this.sharedService.setData(this.sharedData);\n }\n if(this.router.url == \"/configuraciones/certificado-digital\") {\n this.sharedData = 'Certificado digital';\n this.code_child = '0000904';\n this.sharedService.setData(this.sharedData);\n }\n if(this.router.url == \"/configuraciones/facturaci%C3%B3n\") {\n this.sharedData = 'Facturación';\n this.code_child = '0000905';\n this.sharedService.setData(this.sharedData);\n }\n if(this.router.url == \"/market\") {\n this.sharedData = 'Market';\n this.code_child = '0000010';\n this.sharedService.setData(this.sharedData);\n }\n if(this.router.url == \"/usuarios-free\") {\n this.sharedData = 'Bandeja de usuarios';\n this.code_child = '0000011';\n this.sharedService.setData(this.sharedData);\n }\n }\n\n async obtenerAvatarUsuario(value:any){\n console.log('value topbar avatar',value)\n if (value != null && value != '') {\n let src = await Storage.get(value, {customPrefix: {public: ''}})\n //console.log(src)\n this.rutaAvatar = src\n }else{\n this.rutaAvatar = 'assets/img/noe-free/avatar-default.jpg'\n }\n }\n\n /*Re initialize in specify step*/\n initPosition(stepNumber: any) {\n this.copilot.checkInit(stepNumber);\n }\n\n /*Initialize*/\n init() {\n this.copilot.checkInit();\n }\n\n /*Next Step*/\n siguiente(stepNumber: any) {\n this.copilot.next(stepNumber);\n }\n\n /*Finish*/\n omitir() {\n this.copilot.removeWrapper();\n }\n\n closeDrop() {\n this.profileTraductor = false;\n this.profileDrop = false;\n }\n\n closeProfileDrop() {\n this.profileTraductor = false;\n this.drop = false;\n }\n\n closeProfileTraductor() {\n this.profileDrop = false;\n this.drop = false;\n }\n\n scriptTraductor() {\n let script = document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.src = \"https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit\";\n document.body.appendChild(script);\n }\n\n scriptTraductorStyle() {\n let jq = document.createElement(\"script\");\n jq.type = \"text/javascript\";\n jq.src = \"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js\";\n document.body.appendChild(jq);\n }\n\n scriptNiubiz() {\n let script = document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.src = environment.scriptNiubiz;\n document.body.appendChild(script);\n console.log('script niubiz',script)\n }\n\n listenCustomImages(): void {\n this.customService.listarImagenesPersonalizacionLogeado(\n this.authService.obtenerSubdominio() , this.authService.obtenerIdEmpresaActiva()\n )\n .pipe(takeUntil(this.destroy$))\n .subscribe((response: any) => {\n const { logoWeb } = response;\n\n this.logoSidebar = logoWeb\n //? logoWeb\n ? this.defaultLogo\n : this.defaultLogo;\n });\n }\n\n seleccionarEmpresaActiva(empresa) {\n this.authService.guardarEmpresaActiva(empresa)\n location.reload()\n }\n\n toggle(event: MouseEvent) {\n event.stopPropagation()\n this.toggleSidebar.emit()\n }\n\n toggleCollapse(event: MouseEvent) {\n event.stopPropagation()\n this.toggleSidebar.emit()\n }\n\n async logout() {\n this.sus.unsubscribe();\n localStorage.clear();\n await Auth.signOut({ global: true });\n this.router.navigate(['/login']);\n }\n\n\n abrirModalConfirmarSalir(){\n this.modalConfirmarLogout.open()\n this.compartirDatosService.changeMessage(true);\n\n }\n confirmarSalir(){\n this.recordatorioFirmaDocumento()\n this.logout()\n this.compartirDatosService.changeMessage(false);\n }\n\n recordatorioFirmaDocumento(){\n const data:any={\n idCompany:this.authService.obtenerIdEmpresaActiva(),\n user:this.authService.obtenerUsername(),\n subdomain:this.authService.obtenerSubdominio()\n }\n console.log(data)\n this.serviciosProcesoService.sendRecoratorySign(data).subscribe(data => {\n console.log(data)\n }, error => {\n console.log(error)\n })\n }\n\n cancelarSalir(){\n this.modalConfirmarLogout.close()\n this.compartirDatosService.changeMessage(false);\n }\n\n valorBloquear:boolean\n enviarValor: boolean\n abrirModalLecturaTerminos(){\n this.modalLecturaTerminos.open()\n this.compartirDatosService.changeMessage(true);\n }\n\n initChangePass() {\n this.compartirDatosService.changeMessage(true);\n if (!this.passForm) {\n const passwordValidators = this.validators.set()\n this.passForm = this.fb.group({\n oldPass: ['', [Validators.required, Validators.minLength(6)]],\n password: ['', passwordValidators],\n confirm: ['', [Validators.required]]\n }, { validators: this.checkPasswords })\n }\n this.passModal.open()\n }\n\n\n checkPasswords(group: FormGroup) {\n let pass = group.get('password').value;\n let confirmPass = group.get('confirm').value;\n return pass === confirmPass ? null : { mismatch: true }\n }\n\n pLoading:boolean\n // Cambiar contraseña\n async changePassword(e) {\n\n e.preventDefault()\n\n if (this.pLoading) return\n\n if (this.passForm.invalid) {\n return this.fv.validateForm(this.passForm)\n }\n\n this.pLoading = true\n\n try {\n const user = await Auth.currentAuthenticatedUser()\n const result = await Auth.changePassword(user, this.passForm.get('oldPass').value, this.passForm.get('password').value);\n\n if (result === 'SUCCESS') {\n try{\n this.receptorService.actualizarFechaContraseña(this.authService.obtenerUsername(), this.authService.obtenerSubdominio()).subscribe(\n data => {\n console.log('Fecha Contraseña Actualizada')\n })\n this.pLoading = false\n this.passModal.close()\n this.passForm.reset()\n this.compartirDatosService.changeMessage(false);\n this.notify.success('Contraseña cambiada con éxito')\n }catch(error){\n console.log('Hubo un problema al actualizar la fecha')\n }\n\n } else {\n this.notify.error('Hubo un problema al procesar la solicitud')\n }\n\n } catch (error) {\n this.notify.error('Hubo un problema al realizar la petición')\n }\n\n this.pLoading = false\n }\n\n modalCambiarmeCuentaPagoLoading:boolean\n solicitarPremium(){\n this.modalCambiarmeCuentaPago.open()\n }\n\n aceptarCambiarmeCuentaPago(){\n this.modalCambiarmeCuentaPagoLoading = true\n const data:any={\n idCompany:this.authService.obtenerIdEmpresaActiva(),\n user:this.authService.obtenerUsername(),\n subdomain:this.authService.obtenerSubdominio()\n }\n this.serviciosProcesoService.enviarCorreoContactarme(data).subscribe(data => {\n this.notify.success(\"Se envió la solicitud correctamente.\")\n this.modalCambiarmeCuentaPagoLoading = false\n this.modalCambiarmeCuentaPago.close()\n //this.modalContactarCuentaFreeLoading = false\n }, error => {\n this.notify.error(error.error.response)\n //this.modalContactarCuentaFreeLoading = false\n })\n\n }\n\n usuarioGuardado: Usuario\n onUpdateUser(): void {\n this.compartirDatosService.changeMessage(true);\n const username = this.authService.obtenerUsername();\n\n this.usuarioService.obtenerUsuario(username, this.authService.obtenerSubdominio()).subscribe(data => {\n\n console.log(\"DATA USUARIOS:\" , data)\n this.usuarioGuardado = data\n\n const countryCode = countries.find((item) => item.code === data.nationalType)?.dial;\n if (!this.usuarioForm) {\n this.usuarioForm = this.fb.group({\n name:[data.surname, [Validators.required, Validators.minLength(2)]],\n paternalSurname:[data.surname, [Validators.required, Validators.minLength(2)]],\n maternalSurname:[data.surname, [Validators.required, Validators.minLength(2)]],\n identityType:[data.identityType, [Validators.required]],\n identityNumber:[data.identityNumber, [Validators.required, Validators.maxLength(10), Validators.minLength(8)]],\n email:[data.email, [Validators.required, Validators.email]],\n phoneNumber: [data.phoneNumber.slice(countryCode.length), [Validators.required, Validators.minLength(9),Validators.maxLength(9)]],\n nationalType: [data.nationalType, [Validators.required]],\n firmasType: [data.desc_tipos_firmas ?data.desc_tipos_firmas:[]],\n companys: [data.companys, [Validators.required]],\n editSignigProcess: [JSON.parse(data.attributes?.editar_proceso_firma.toLowerCase()) || false],\n enableSignigProcess: [JSON.parse(data.attributes?.desactivar_proceso_firma.toLowerCase()) || false],\n office: [data.attributes.oficina],\n idCompany : this.authService.obtenerIdEmpresaActiva()\n })\n }\n\n }, error => {\n console.log(error)\n })\n this.editarMiCuentaModal.open()\n }\n\n cerrarModalEditarCuenta(){\n this.compartirDatosService.changeMessage(false);\n this.editarMiCuentaModal.close()\n }\n\n handleSubmit(event?:any) {\n const usuario: Usuario = {...this.usuarioForm.value};\n usuario.login = this.usuarioForm.get('identityNumber').value\n const nationality = this.usuarioForm.get('nationalType').value;\n const countryCode = countries.find((item) => item.code === nationality)?.dial;\n usuario.phoneNumber = countryCode + this.usuarioForm.get('phoneNumber').value;\n\n const regex:RegExp = new RegExp(' ', 'g')\n usuario.phoneNumber = usuario.phoneNumber.replace(regex, '');\n usuario.document_type = this.usuarioGuardado.attributes.tipos_documentos\n usuario.document_visado = this.usuarioGuardado.attributes.documentos_visado\n usuario.companys=JSON.stringify(this.usuarioGuardado.companys)\n usuario.idCompany = this.authService.obtenerIdEmpresaActiva()\n usuario.editSignigProcess = this.usuarioGuardado.attributes.editar_proceso_firma == \"False\" ? false : true\n usuario.idProfile=this.usuarioGuardado.idProfile\n usuario.idTipoFirma=JSON.stringify(this.usuarioGuardado.attributes.tipos_firmas)\n usuario.role = this.usuarioGuardado.attributes.roles\n usuario.subdomain = this.usuarioGuardado.subdomain\n\n\n console.log(\"DATOS EDITAR MI CUENTA:\", usuario)\n\n this.crearLoading = true;\n this.usuarioService.actualizarUsuario(\n usuario.email,\n this.authService.obtenerSubdominio(),\n usuario\n ).subscribe(data => {\n\n this.notify.success('Edición exitosa')\n this.editarMiCuentaModal.close()\n this.compartirDatosService.changeMessage(false);\n }, error => {\n this.crearLoading = false\n if (error.status === 409) this.existeEmail=true\n else this.notify.error('No se pudo editar')\n })\n\n\n }\n\n validarTipoPlan(){\n if(this.planSeleccionado.id != 1){\n this.generarSessionNiubiz();\n }\n }\n\n merchantIdNiubiz:any\n tokenNiubizSession:any=\"\"\n purchasenumber:any = \"\"\n montoPago:any = \"\"\n buttonPay:boolean = false\n generarSessionNiubiz() {\n this.verProcesoPago=false\n this.verDetallesPago=true\n //this.montoPago = this.costoTotalCompra + '.00'\n this.montoPago = parseFloat(this.costoTotalCompra.toFixed(2));\n\n //Almacenar datos de compra de plan para modal\n this.guardarDatosPlanPayment();\n\n //Object : token session - niubiz\n const body: any={\n idCompany: parseInt(this.authService.obtenerIdEmpresaActiva()),\n subdomain: this.authService.obtenerSubdominio(),\n email: this.authService.obtenerUsername(),\n monto: this.montoPago,\n dataPayment: this.dataPayment\n }\n //console.log('body niubiz', body)\n //this.invocarAntifraude()\n this.niubizService.obtenerNuevaSesion(body).subscribe(data => {\n if(data.sessionKey != null){\n this.tokenNiubizSession = data.sessionKey\n this.purchasenumber = data.purchasenumber\n this.merchantIdNiubiz = data.merchantId\n this.buttonPay = true;\n }else{\n this.notify.info('Hubo un problema, intentelo mas tarde')\n }\n }, error => {\n console.log(error)\n this.notify.error('Ocurrio un error, intentelo mas tarde.')\n })\n\n }\n\n dataPayment:any\n guardarDatosPlanPayment(){\n delete this.tipoPlanSeleccionado.options.nombres_firmas; //Evitar error al crear la transaccion por /n\n const planSeleccionado:any = {\n id : this.planSeleccionado.id,\n name: this.planSeleccionado.name,\n attributes : this.tipoPlanSeleccionado\n }\n\n //Almacenar datos de compra de plan para modal\n this.dataPayment = {\n idPlanAnterior : this.miPlanActual.id,\n planAnterior : this.miPlanActual.name,\n planSeleccionado : planSeleccionado,\n adicionales: this.paquetesAdicionales,\n tipoPayment: 'plan'\n }\n\n localStorage.setItem('DATA_PAYMENT',JSON.stringify(this.dataPayment))\n }\n\n // INVOCANDO PAGO NIUBIZ\n invocarPagoNiubiz() {\n console.log('ingresando invocarPagoNiubiz')\n this.generarDatosRecibo();\n this.generarDatosNiubiz();\n console.log('this.dataNiubiz', this.dataNiubiz)\n invocarPagoNiubiz(this.dataNiubiz);\n }\n\n //INVOCANDO Niubiz Antifraude\n uuidAntifraud:any\n invocarAntifraude() {\n if(this.tipoTransferencia) {\n this.verInformacionTransferencia = true;\n this.generarDatosRecibo();\n } else {\n console.log('ingresando invocarAntifraude')\n this.uuidAntifraud = uuidv4();\n console.log('Your UUID is: ' , this.uuidAntifraud);\n invocarAntifraude(this.uuidAntifraud);\n setTimeout(() => {\n console.log('--final timeout')\n this.invocarPagoNiubiz();\n }, 3000);\n }\n }\n\n dataRecibo:any\n generarDatosRecibo() {\n let emailRecibo = this.authService.obtenerUsername();\n let documentRecibo = this.authService.obtenerDocumento();\n //let tipoDocumentoRecibo\n\n if(this.tipoTarjeta){\n this.tipoPago = 'TARJETA';\n }\n if(this.tipoTransferencia) {\n this.tipoPago = 'TRANSFERENCIA';\n }\n\n if(this.tipoBoleta){\n //tipoDocumentoRecibo = this.boletaForm.get('tipoDocumento').value;\n //emailRecibo = this.boletaForm.get('email').value != '' ? this.boletaForm.get('email').value : this.authService.obtenerUsername();\n //documentRecibo = this.boletaForm.get('dni').value != '' ? this.boletaForm.get('dni').value : this.authService.obtenerDocumento();\n emailRecibo = this.boletaForm.get('email').value;\n documentRecibo = this.boletaForm.get('dni').value;\n this.tipoDoc = 'BOLETA';\n }else if((this.tipoFactura)){\n //emailRecibo = this.facturaForm.get('email').value != '' ? this.facturaForm.get('email').value : this.authService.obtenerUsername();\n //documentRecibo = this.facturaForm.get('ruc').value != '' ? this.facturaForm.get('ruc').value : this.authService.obtenerDocumento();\n emailRecibo = this.facturaForm.get('email').value;\n documentRecibo = this.facturaForm.get('ruc').value;\n this.tipoDoc = 'FACTURA';\n }\n\n /*if(this.tipoBoleta || (!this.tipoBoleta && !this.tipoFactura) || (this.tipoFactura && this.facturaForm.get('ruc').value == '' && this.facturaForm.get('email').value == '') || (this.tipoFactura && this.facturaForm.get('ruc').value == '')) {\n this.tipoDoc = 'BOLETA';\n }\n\n if((this.tipoFactura && !(this.facturaForm.get('ruc').value == '') && this.facturaForm.get('email').value == '') || (this.tipoFactura && !(this.facturaForm.get('ruc').value == ''))) {\n this.tipoDoc = 'FACTURA';\n }*/\n\n this.dataRecibo = {\n typePay: this.tipoPago,\n type: this.tipoDoc, //Añadiendo el tipo de recibo\n //tipoDocumento: this.tipoDoc == 'BOLETA' ? tipoDocumentoRecibo : \"\",\n email: emailRecibo,\n document: documentRecibo\n }\n console.log('recibo',this.dataRecibo)\n }\n\n dataNiubiz:any\n generarDatosNiubiz(){\n const actionResponseURL = `${environment.apiCore}/niubiz_tokenizacion` + '?purchase=' + this.purchasenumber + '&type=' + this.dataRecibo.type + '&email=' + this.dataRecibo.email + '&document=' + this.dataRecibo.document + '&uuidAntifraud=' + this.uuidAntifraud\n\n const timeoutURL = 'https://' + this.authService.obtenerSubdominio() + '.noe.pe';\n let logoApp = environment.reporteReplace + 'images-notifications/logo-noe-black.png'\n let nombresUser = this.authService.obtenerNombres();\n\n this.dataNiubiz = {\n token : this.tokenNiubizSession,\n purchasenumber : this.purchasenumber,\n merchantId : this.merchantIdNiubiz,\n tokenUser : this.authService.obtenerDocumento(),\n amount : this.montoPago,\n nameUser : nombresUser[0],\n surnameUser: nombresUser[1],\n emailUser : this.authService.obtenerUsername(),\n urlResponse : actionResponseURL,\n urlTimeout: timeoutURL,\n logo: logoApp\n }\n }\n paquetesAdicionales:any[] = []\n agregarPaquete(paq){\n //let nwcosto = this.isPlanAnual ? paq.cost * 10 : paq.cost\n let nwcosto = this.isPlanAnual ? parseFloat((paq.cost * 10).toFixed(2)) : parseFloat(paq.cost.toFixed(2));\n const npaq = {id:paq.id,name:paq.name, tipo:paq.category, costo: nwcosto, cantidad:paq.cantidad, costoMarket: nwcosto}\n this.listaPaquetes.forEach(t => { if (t.id === paq.id) t.checked = true})\n this.paquetesAdicionales.push(npaq)\n this.costoTotalCompra = parseFloat((this.costoTotalCompra + npaq.costo).toFixed(2));\n console.log('this.paquetesAdicionales',this.paquetesAdicionales)\n }\n quitarPaquete(paq){\n //let nwcosto = this.isPlanAnual ? paq.cost * 10 : paq.cost\n let nwcosto = this.isPlanAnual ? parseFloat((paq.cost * 10).toFixed(2)) : parseFloat(paq.cost.toFixed(2));\n const npaq = {id:paq.id,name:paq.name, tipo:paq.category, costo: nwcosto, cantidad:paq.cantidad, costoMarket: nwcosto}\n this.listaPaquetes.forEach(t => { if (t.id === paq.id) t.checked = false})\n this.paquetesAdicionales = this.paquetesAdicionales.filter(p => p.id !== npaq.id)\n this.costoTotalCompra = parseFloat((this.costoTotalCompra - npaq.costo).toFixed(2));\n console.log('this.paquetesAdicionales',this.paquetesAdicionales)\n }\n}\n","
\n Lo sentimos, la plataforma se encuentra inhabilitada por falta de pago. Regulariza tu pago o puedes contactarnos al correo:\n ventas@noe.pe\n \n
\n\n
\n\n
\n Agotaste la totalidad de tu plan, sigue disfutando de nuestros servicios adquiriendo uno de nuestros planes\n \n
\n\n
\n El día 14/04 desde las 12 hrs estaremos haciendo mantenimiento en nuestras plataformas\n \n
\n\n
\n
\n \n \n \n\n
{{ sharedData }}
\n\n
Bienvenido a Noe
\n\n
\n
Hola {{nombres}}, bienvenido(a)!
\n
\n
Hola {{nombres}}, bienvenido(a)!
\n
\n
\n
\n
Último inicio de sesión: {{dateLastSession.slice(0, -3)}}
\n
\n\n \n\n \n\n
\n
    \n
  • {{e.razon_social}}
  • \n
\n
\n
\n\n Solicitar versión premium\n\n
\n\n
\n
\n \n\n
\n

Seleccionar Idioma

\n
\n \n
\n
\n\n
\n
\n
\n \n
\n\n
\n \n \n
\n
\n \n
\n
\n

Aquí podrás cambiar tu plan cuando desees.

\n
\n
\n
3/7
\n
\n \n \n
\n
\n
\n
\n\n \n
\n
\n

Aquí podrás cargar tus documentos.

\n
\n
\n
2/7
\n
\n \n \n
\n
\n
\n
\n\n
\n\n
\n\n \n
\n
\n \n
\n\n
\n \"Sin\n
\n\n \n
\n \n\n
\n \n\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n \n \n
\n\n
\n \n
\n
\n \n
\n
\n

Aquí podrás cambiar tu plan cuando desees.

\n
\n
\n
3/7
\n
\n \n \n
\n
\n
\n
\n\n \n
\n
\n

Aquí podrás cargar tus documentos.

\n
\n
\n
2/7
\n
\n \n \n
\n
\n
\n
\n
\n\n\n\n\n\n
\n

Cargar tu documento

\n
\n \n
\n
\n\n
\n \n
\n\n
\n
\n
\n \n {{file.name}}\n
\n
\n
\n\n
\n \n \n \n
\n\n
\n\n
\n\n\n \n
\n \n
\n \n
\n
\n\n
\n \n \n\n \n
\n
\n \n
\n

{{plan.name}}

\n \n \n s/ {{tipo.costo}}.00 / al año\n \n Cero Costo\n \n\n
\n\n
\n
\n \n {{tipo.options.documentos}} Documentos mensuales disponibles\n {{tipo.options.documentos}} Documentos disponibles\n
\n
\n \n Carga documentos de hasta {{tipo.options.carga}}\n
\n\n
\n \n Compartir documentos\n
\n
\n \n Firma con terceros hasta {{tipo.options.firma_terceros}} veces\n
\n
\n \n Almacenamiento {{tipo.options.almacenamiento}}\n Almacenamiento por 30 días\n
\n
\n \n Soporte técnico {{tipo.options.soporte_tecnico}}\n
\n
\n \n Podras firmar de manera {{tipo.options.nombres_firmas}}\n
\n
\n \n Capacitación {{tipo.options.capacitacion}}\n
\n
\n
\n\n \n s/ {{tipo.costo}}.00 / mes\n \n Cero Costo\n \n\n
\n\n
\n
\n \n {{tipo.options.documentos}} Documentos mensuales disponibles\n {{tipo.options.documentos}} Documentos disponibles\n
\n
\n \n Carga documentos de hasta {{tipo.options.carga}}\n
\n\n
\n \n Compartir documentos\n
\n
\n \n Firma con terceros hasta {{tipo.options.firma_terceros}} veces\n
\n
\n \n Almacenamiento {{tipo.options.almacenamiento}}\n Almacenamiento por 30 días\n
\n
\n \n Soporte técnico {{tipo.options.soporte_tecnico}}\n
\n
\n \n Podras firmar de manera {{tipo.options.nombres_firmas}}\n
\n
\n \n Capacitación {{tipo.options.capacitacion}}\n
\n
\n
\n
\n\n \n \n\n \n \n \n \n\n \n
\n\n
\n EL MÁS POPULAR\n\n
\n

{{plan.name}}

\n \n \n s/ {{tipo.costo}}.00 / al año\n\n
\n\n
\n
\n \n {{tipo.options.documentos}} Documentos mensuales disponibles\n
\n
\n \n Carga documentos de hasta {{tipo.options.carga}}\n
\n\n
\n \n Compartir documentos\n
\n
\n \n Firma con terceros hasta {{tipo.options.firma_terceros}} veces\n
\n
\n \n Almacenamiento {{tipo.options.almacenamiento}}\n
\n
\n \n Soporte técnico {{tipo.options.soporte_tecnico}}\n
\n
\n \n Podras firmar de manera {{tipo.options.nombres_firmas}}\n
\n
\n \n Capacitación {{tipo.options.capacitacion}}\n
\n
\n
\n\n \n s/ {{tipo.costo}}.00 / mes\n\n
\n\n
\n
\n \n {{tipo.options.documentos}} Documentos mensuales disponibles\n
\n
\n \n Carga documentos de hasta {{tipo.options.carga}}\n
\n\n
\n \n Compartir documentos\n
\n
\n \n Firma con terceros hasta {{tipo.options.firma_terceros}} veces\n
\n
\n \n Almacenamiento {{tipo.options.almacenamiento}}\n
\n
\n \n Soporte técnico {{tipo.options.soporte_tecnico}}\n
\n
\n \n Podras firmar de manera {{tipo.options.nombres_firmas}}\n
\n
\n \n Capacitación {{tipo.options.capacitacion}}\n
\n
\n
\n
\n\n \n \n \n\n \n \n \n \n\n
\n
\n\n
\n
\n
\n\n \n
\n
\n
\n \n Agrega más paquetes\n\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
Documentos
\n
\n

¿Se te acabaron los documentos? Compra este paquete y disfruta de los beneficios.

\n
\n
\n
\n \n \n
\n
\n
\n\n
\n \n
\n
\n
\n \n
\n
\n {{paq.name}}\n
\n
\n S/ {{paq.costMarket}} / mes\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
Firma de terceros
\n
\n

¿Quieres seguir compartiendo tus documentos para que sean firmados? Compra este paquete y disfruta de los beneficios.

\n
\n
\n
\n \n \n
\n
\n
\n\n
\n \n
\n
\n
\n \n
\n
\n {{paq.name}}\n
\n
\n S/ {{paq.costMarket}} / mes\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n \n En caso tu plan sea anual, se te cobrará el costo del paquete multiplicado por la cantidad de meses restantes hasta tu ciclo de facturación. Ejemplo: S/. 9 x 10\n \n
\n\n
\n
\n
\n Tu selección:\n
\n
\n

Planes

\n
\n
\n\n
\n \n
\n

{{planSeleccionado.name}}

\n
\n
    \n
  • {{tipoPlanSeleccionado.options.documentos}} Documentos mensuales disponibles
  • \n
  • Carga documentos de hasta {{tipoPlanSeleccionado.options.carga}}
  • \n
  • Firma con terceros hasta {{tipoPlanSeleccionado.options.firma_terceros}} veces
  • \n
  • Podrás firmar de manera {{tipoPlanSeleccionado.options.nombres_firmas}}
  • \n
\n
\n
\n
\n\n S/ {{this.costoPlanSeleccionado}}.00 / {{tipoPlanSeleccionado.tipo}}\n
\n
\n
\n

Detalles de tu pago

\n\n \n
\n
\n + Añadiste {{adic.name}} adicionales a tu paquete inicial.\n \n
\n S/ {{adic.costoMarket}}\n
\n
\n\n
\n
\n

Pago total:

\n S/{{this.costoTotalCompra}} / {{tipoPlanSeleccionado.tipo}}\n
\n\n
\n
\n *El monto total se debitará automáticamente según el plan elegido
\n *Puedes anular tu suscripción en cualquier momento
\n *Noe no almacena datos sensibles de tu tarjeta (fecha de vencimiento, CVV)\n
\n \n
\n
\n\n
\n
\n \n
\n Al suscribirme, acepto los términos y condiciones\n de NOE SOLUCIONES DIGITALES SAC. Puedes cancelar tu suscripción en cualquier momento yendo a la\n opción \"Cancelar suscripción\" en la sección “Detalles de plan” en Facturación.\n
\n
\n
\n\n
\n
\n\n
\n Detalles del pago:\n
\n
\n
\n \n
\n
\n

{{planSeleccionado.name}}

\n\n
\n
\n

Suscripción {{tipoPlanSeleccionado.tipo}}

\n S/ {{tipoPlanSeleccionado.costo}} / {{tipoPlanSeleccionado.tipo}}\n
\n\n
0\" class=\"hr-form-plan\">
\n \n\n
\n

+ {{adic.name}} adicionales.

\n S/ {{adic.costoMarket}}\n
\n
\n\n
\n
\n \n

Añadir cupón

\n
\n\n
\n

Métodos de Pago

\n
\n \n
\n\n

Comprobantes

\n
\n \n \n
\n\n
\n
\n

Total:

\n S/ {{costoTotalCompra}} \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n\n
\n
\n
\n
\n\n
\n
\n

Compra en proceso de validación

\n

Transferencia bancaria

\n \n

Cuenta Corriente

\n

Número de cuenta: 200-3004795580

\n

CCI: 003-3004795580-333

\n

NOE Soluciones Digitales SAC RUC:

\n

2061008613

\n

Para validar su transacción, debe enviarnos un correo con su nombre, número de contacto y adjuntar comprobante de pago a:

\n

Correo electrónico: admin@noe.pe

\n

Una vez recibido su mensaje, en los próximos horas laborables se estará revisando su comprobante de pago.

\n

Nuestro horario de atención son de Lunes a Viernes de 8:30pm a 6:30pm

\n \n
\n
\n\n
\n
\n\n
\n\n\n \n\n\n\n Boleta\n Factura\n\n
\n \n \n \n
\n\n
\n \n \n
\n\n
\n \n \n \n
\n
\n\n\n \n\n\n\n

Fecha Actualizacion de Contraseña

\n
\n

{{dataPassword}}

\n

{{dataPasswordDate}} dias para vencer

\n
\n\n
\n\n \n\n \n\n \n\n

Las contraseñas deben coincidir

\n\n \n \n\n
\n \n\n \n
\n\n
\n\n
\n\n\n
\n\n \n\n
\n \n\n \n
\n\n
\n \n\n \n
\n\n \n\n
\n\n \n \n
\n\n\n
\n \n \n\n \n
\n\n
\n\n \n \n \n\n
\n\n\n\n \n
\n \n
\n\n
\n\n\n

¿Estas seguro de cerrar sesión?

\n
\n","import { Component, OnInit, TemplateRef, Input, Output, EventEmitter, Self, Optional, HostListener, AfterViewChecked } from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\n\n@Component({\n selector: 'app-multiselect',\n templateUrl: './multiselect.component.html',\n styleUrls: ['./multiselect.component.scss']\n})\nexport class MultiselectComponent implements OnInit, ControlValueAccessor {\n\n @Input() label:string\n @Input() required:boolean\n @Input() template:TemplateRef\n @Input() displayTextField:string\n @Input() keyProp:string = 'id'\n @Input() inscroller:boolean\n @Input() displayFilter: boolean = true\n @Input() styleFree:boolean = false;\n @Input() set items(value:any[]) { \n // console.log(value)\n if (value) this._items = JSON.parse(JSON.stringify(value)) \n if (this._items.length) {\n this._items.forEach(it => {it.visible = true})\n }\n }\n\n @Input() search: boolean = false\n\n @Output()\n selection: EventEmitter = new EventEmitter\n\n _items: any[]\n _selections: any[]\n\n constructor(\n @Self()\n @Optional()\n public ngControl: NgControl) {\n if (this.ngControl) { this.ngControl.valueAccessor = this }\n }\n\n onChangeCallback: any = () => {}\n onTouchedCallback: any = () => {}\n\n writeValue(value:any) {\n // console.log(value)\n this.onChangeCallback(this.clean(value))\n if (value) this.setSelected(value)\n }\n registerOnChange(fn: (_: any) => void): void {\n this.onChangeCallback = fn\n }\n registerOnTouched(fn: () => void): void {\n this.onTouchedCallback = fn\n }\n setDisabledState(disabled:boolean) {\n // this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', disabled);\n }\n\n @HostListener('document:click') clickout():void {\n if (this.show) this.onTouchedCallback()\n this.close()\n }\n\n show:boolean\n ngOnInit(): void {\n }\n\n ngAfterViewChecked() {\n // console.log(this.ngControl)\n }\n\n open():void {\n if(this.styleFree) {\n this.show = !this.show;\n } else {\n this.show = true;\n }\n }\n \n close():void {\n this.ngControl.control.markAsTouched()\n this.onTouchedCallback()\n this.show = false\n this.filter('')\n }\n\n clean(arr:any[]):any[] {\n let cleared = JSON.parse(JSON.stringify(arr));\n\n if (!!cleared && cleared.length) {\n cleared.forEach((it:any): void => {\n delete it.selected;\n delete it.listIndex;\n delete it.visible;\n });\n } else {\n cleared = [];\n }\n return cleared;\n }\n\n handleSelectSimple(item:any){\n this.selected = [item]\n this.writeValue(this.selected)\n }\n\n handleSelect(item:any) {\n if (item.selected) {\n const index:number = this.selected.findIndex(it => it[this.keyProp] === item[this.keyProp])\n this.selected.splice(index, 1)\n item.selected = false\n } else {\n this.selected.push(item)\n item.selected = true\n }\n this.writeValue(this.selected)\n }\n\n selected:any[] = []\n setSelected(selected:any[]) {\n this.selected = selected\n const identifiers = selected.map(it => it[this.keyProp])\n this._items.forEach(it => it.selected = identifiers.includes(it[this.keyProp]))\n this.selection.emit(this.clean(this.selected))\n }\n\n remove(event:MouseEvent, selectedIndex:number, itemListIndex:number) {\n\n event.stopPropagation()\n\n itemListIndex = this._items.findIndex(it => it[this.keyProp] === this.selected[selectedIndex][this.keyProp])\n\n this.selected.splice(selectedIndex, 1) \n this._items[itemListIndex].selected = false\n\n this.writeValue(this.selected)\n }\n\n filter(value:string) {\n //console.log(\"1\",value)\n if (value.trim() === '') {\n this._items.forEach(it => it.visible = true)\n return\n }\n\n this._items.forEach(it => {\n const val = it[this.displayTextField].toLowerCase()\n val.indexOf(value.toLowerCase()) > -1 ? it.visible = true : it.visible = false\n })\n }\n\n}\n","
\n
\n \n
\n \n {{s[displayTextField]}}\n
\n \n
\n
\n
\n
\n\n
\n \n
    \n\n \n
  • \n \n\n \n \n\n \n {{item[displayTextField]}}\n \n
  • \n
    \n\n
\n\n
    \n\n \n
  • \n\n \n \n\n \n {{item[displayTextField]}}\n \n
  • \n
    \n\n
\n
\n\n
\n\n
\n

Este campo es obligatorio

\n

Debe haber al menos una selección

\n
","import { Component, OnInit, Input, Output, EventEmitter,ViewChild } from '@angular/core';\nimport { CompartirDatosService } from '@noe/services/compartirDatos.service';\nimport { ModalComponent } from 'src/app/shared/modal/modal.component';\n\n\n@Component({\n selector: 'app-modal-visor',\n templateUrl: './modal-visor.component.html',\n styleUrls: ['./modal-visor.component.scss']\n})\nexport class ModalVisorComponent implements OnInit {\n\n @Input('titleModal') title:string\n @Input('subtitle') subtitle:string\n @Input('loading') loading:boolean\n @Input('confirmText') confirmText:string = 'Confirmar'\n @Input('cancelText') cancelText:string = 'Cancelar'\n @Input('closeOnConfirm') closeOnConfirm:boolean = true\n @Input('disableConfirm') disableConfirm:boolean\n @Input('hide-footer') hideFooter:boolean\n @Input('big') big:boolean\n @Input('fullScreen') fullScreen:boolean\n @Input('auto-width') autoWidth:boolean\n @Input('scroller') scroller:boolean\n\n @ViewChild('modalCerrarVisor') modalCerrarVisor:ModalComponent;\n\n @Output() \n onclose: EventEmitter = new EventEmitter();\n @Output()\n onconfirm: EventEmitter = new EventEmitter();\n\n isOpen:boolean\n\n constructor(\n public compartirDatosService: CompartirDatosService\n ) { }\n\n ngOnInit(): void {\n }\n\n open() {\n const body = document.getElementsByTagName('body')[0];\n body.classList.add('modal-open');\n this.isOpen = true\n }\n\n close() {\n const body = document.getElementsByTagName('body')[0];\n body.classList.remove('modal-open');\n this.isOpen = false;\n this.onclose.emit();\n this.compartirDatosService.changeMessage(false);\n }\n\n confirm() {\n this.onconfirm.emit()\n if (this.closeOnConfirm) this.isOpen = false\n }\n\n}\n","
\n
\n\n
\n

{{title}}

\n \n
\n\n
\n \n
\n\n
\n \n \n
\n\n
\n
\n\n\n\n

¿Estás seguro que deseas salir?

\n

Recuerda que estás cerrando todos tus documentos sin firmar.

\n
\n \n \n \n
\n
\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\nimport { Usuario } from '../models/Usuario.model';\nimport { environment } from 'src/environments/environment';\nimport { Observable } from 'rxjs';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UsuariosService {\n\n private urlUsuarios:string = `${environment.api}/users/`;\n private urlPerfiles:string = `${environment.apiCore}/profiles/`;\n\n constructor( private http: HttpClient ) { }\n\n listarUsuarios(empresa:string, cuenta:string):Observable {\n return this.http.post(this.urlUsuarios, {method: 'LIST', idCompany:empresa, cuenta:cuenta}, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n crearUsuario(body:Usuario) {\n return this.http.post(this.urlUsuarios+'add_user', body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n obtenerUsuario(login:string, sub:string):Observable {\n return this.http.get(this.urlUsuarios + login + '/' + sub, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n actualizarUsuario(login:string, sub:string, body:Usuario) {\n return this.http.put(this.urlUsuarios + login + '/' + sub, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n RestablecerContrasena(login:string, sub:string) {\n return this.http.patch(this.urlUsuarios + login + '/' + sub, {method: 'RESTORE-PASSWORD'}, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n habilitarUsuario(login:string, sub:string) {\n return this.http.patch(this.urlUsuarios + login + '/' + sub, {method: 'USER-ENABLE'}, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n deshabilitarUsuario(login:string, sub:string) {\n return this.http.delete(this.urlUsuarios + login + '/' + sub, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n actualizarUsuariosRedSocial(data: Usuario) {\n return this.http.post(this.urlPerfiles,\n { method: 'UPDATE-USER-SOCIAL', data },\n { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n\n}\n","import { Time } from '@angular/common';\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { AuthService } from 'src/app/services/auth.service';\n\n@Component({\n selector: 'app-countdown-terceros',\n templateUrl: './countdown-terceros.component.html',\n styleUrls: ['./countdown-terceros.component.scss']\n})\nexport class CountdownTercerosComponent implements OnInit {\n\n @Input('minutes') minutes:number = 5 - 1\n @Input() seconds: number = 59;\n\n @Output()\n onstart: EventEmitter = new EventEmitter()\n @Output()\n onfinish: EventEmitter = new EventEmitter()\n\n constructor(public authService: AuthService) { }\n\n ngOnInit(): void {\n }\n\n countDown: Time = { hours: 0, minutes: 0 };\n countEnd: boolean = false\n count: any = null\n start() {\n \n this.onstart.emit()\n clearInterval(this.count)\n\n this.countDown = { hours: 0, minutes: this.minutes };\n\n this.count = setInterval(() => {\n\n if (this.seconds == 0 && this.countDown.minutes == 0) {\n\n clearInterval(this.count)\n this.countEnd = true\n this.count = null\n this.onfinish.emit()\n\n } else {\n this.seconds--;\n if (this.seconds == -1) {\n if (this.countDown.minutes > 0) this.countDown.minutes--;\n this.seconds = 59\n }\n }\n }, 1000);\n }\n\n}\n","
\n \n {{ countDown.minutes < 10 ? '0' + countDown.minutes : countDown.minutes }}:{{ seconds < 10 ? '0' + seconds : seconds }} seg\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss']\n})\nexport class FooterComponent implements OnInit {\n\n anio: number = new Date().getFullYear();\n \n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n \"INDIGITAL\"\n\n \n\n \n
\n","import { Component, OnInit, Input, ViewChild, ElementRef } from '@angular/core';\nimport { Auth, Storage } from 'aws-amplify';\n\n@Component({\n selector: 'app-s3-image-preview',\n templateUrl: './s3-image-preview.component.html',\n styleUrls: ['./s3-image-preview.component.scss']\n})\nexport class S3ImagePreviewComponent implements OnInit {\n\n @ViewChild('el') el:ElementRef\n @Input('key') key:string\n\n constructor() { }\n\n ngOnInit(): void {\n this.getUrl()\n }\n\n src:any\n async getUrl() {\n const src = await Storage.get(this.key, {customPrefix: {public: ''}})\n this.src = src\n }\n\n}\n","\n","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * Capitalize the fist letter of the string\n */\n@Pipe({ name: 'capitalizeFirst' })\nexport class CapitalizeFirstPipe implements PipeTransform {\n transform(value: any, args?: any[]): any {\n if (value === null) {\n return 'Not assigned';\n } \n return value.charAt(0).toUpperCase() + value.slice(1);\n }\n}","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { Perfil } from '../models/Perfil.model';\nimport { Documento } from '../models/Documento.model';\n\ntype requestBody = {\n method: string\n data?: Documento,\n id?: string,\n idCompany?: string\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DashboardService {\n\n private urlProceso:string = `${environment.apiCore}/process-events/`;\n private urlServiciosProceso:string = `${environment.apiCore}/process-services/`;\n\n constructor( private http: HttpClient ) { }\n\n \n listarDocumentosSubidos(login:string, id:string) {\n const body:requestBody = {\n method:\"GET-DOCUMENTS-UPLOAD\",\n data:{\n user:login,\n idCompany:id\n }\n }\n return this.http.post(this.urlProceso ,body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n \n listarDocumentosSubidosCuentaFree(login:string, id:string) {\n const body:requestBody = {\n method:\"DOCUMENTS-COUNT-USER\",\n data:{\n user:login,\n idCompany:id\n }\n }\n return this.http.post(this.urlProceso ,body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n \n \n listarPendientes(empresa:string, user:string, subdomain:string):Observable {\n const body:requestBody = { method: 'GET-DOCUMENTS-PENDING', data: { user:user,idCompany:empresa, subdomain:subdomain} }\n return this.http.post(this.urlProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n \n listarProcesos(sub:string, user:string, empresa:any):Observable {\n const body:requestBody = { method: 'GET-DOCUMENTS-PROCESS', data: {user:user,idCompany:empresa,subdomain:sub}}\n return this.http.post(this.urlProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarDocumentosFinalizados(empresa:string, user:string, subdomain:string):Observable{\n const body:requestBody = { method: 'GET-DOCUMENTS-FINALIZED', data: { user:user,idCompany:empresa, subdomain:subdomain} }\n return this.http.post(this.urlProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarDocumentosCancelados(empresa:string, user:string, subdomain:string):Observable{\n const body:requestBody = { method: 'GET-DOCUMENTS-CANCELLED', data: { user:user,idCompany:empresa, subdomain:subdomain} }\n return this.http.post(this.urlProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarPorNotificar(empresa:string, user:string, subdomain:string):Observable {\n const body:requestBody = { method: 'GET-DOCUMENTS-TO-NOTIFY', data: { user:user,idCompany:empresa, subdomain:subdomain} }\n return this.http.post(this.urlProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarNotificado(empresa:string, user:string, subdomain:string):Observable {\n const body:requestBody = { method: 'GET-DOCUMENTS-NOTIFIED', data: { user:user,idCompany:empresa, subdomain:subdomain} }\n return this.http.post(this.urlProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarDocumentosReceptor(empresa:string, user:string, subdomain:string):Observable {\n const body:requestBody = { method: 'GET-DOCUMENTS-RECEPTOR', data: { user:user,idCompany:empresa, subdomain:subdomain} }\n return this.http.post(this.urlProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n cantidadesDocumentosRealizados(empresa:string, user:string, subdomain:string):Observable{\n const body:requestBody = { method: 'GET-DASHBOARD-AMOUNT', data: { user:user,idCompany:empresa, subdomain:subdomain} }\n return this.http.post(this.urlProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n cantidadesDocumentos(empresa:string, user:string, subdomain:string, tiempo:string, cantidad:number):Observable{\n const body:requestBody = { method: 'GET-DASHBOARD-AMOUNT-FREE', data: { user:user,idCompany:empresa, subdomain:subdomain, nameTime:tiempo,numberTime:cantidad} }\n return this.http.post(this.urlProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listaDocumentos(empresa:string, user:string, subdomain:string):Observable{\n const body:requestBody = { method: 'LIST-DOCUMENTS', data: { user:user,idCompany:empresa, subdomain:subdomain} }\n return this.http.post(this.urlProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n solicitarContactarAsesor(data:any):Observable {\n const body:requestBody = { method: 'ADD-REQUEST-CONTACTAR', data: data}\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n}","import { Component, ElementRef, OnInit, Self, Optional, Input, Output, EventEmitter, Renderer2, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\n\n@Component({\n selector: 'app-switch',\n templateUrl: './switch.component.html',\n styleUrls: ['./switch.component.scss']\n})\nexport class SwitchComponent implements OnInit {\n\n @ViewChild('element') element:ElementRef\n @Input('preventDefault') preventDefault:boolean\n @Input('no-margin') noMargin:boolean\n\n @Output()\n onactivate: EventEmitter = new EventEmitter()\n @Output()\n ondeactivate: EventEmitter = new EventEmitter()\n\n value:boolean\n\n constructor(\n private renderer: Renderer2,\n @Self()\n @Optional()\n public ngControl: NgControl) {\n if (this.ngControl) { this.ngControl.valueAccessor = this }\n }\n\n onChangeCallback: any = () => {}\n onTouchedCallback: any = () => {}\n\n writeValue(value:any) {\n // if (this.type==='select') console.log('wv', value)\n this.value = value?.target ? value.target.value : value\n this.onChangeCallback(value)\n }\n registerOnChange(fn: (_: any) => void): void {\n this.onChangeCallback = fn\n }\n registerOnTouched(fn: () => void): void {\n this.onTouchedCallback = fn\n }\n setDisabledState(disabled:boolean) {\n this.renderer.setProperty(this.element.nativeElement, 'disabled', disabled);\n }\n\n ngOnInit(): void {\n }\n\n handleClick(e) {\n e.preventDefault()\n this.value ? this.ondeactivate.emit() : this.onactivate.emit()\n }\n\n handleChange(e) {\n\n let val:any = e.target.checked\n this.writeValue(val)\n \n val ? this.onactivate.emit() : this.ondeactivate.emit()\n }\n\n}\n","\n \n\n","import { \n Component, \n EventEmitter, \n Input, \n Output \n} from '@angular/core';\n\nimport { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\n\n@Component({\n selector: 'app-autocomplete',\n templateUrl: './autocomplete.component.html',\n styleUrls: ['./autocomplete.component.scss']\n})\nexport class AutocompleteComponent {\n @Input() placeholder: string = '';\n @Input() value: any;\n\n /**\n * Input property options for autocomplete.\n */\n @Input()\n get options() {\n return this.lastOptions;\n }\n set options(value: any[]) {\n if (value) {\n this.lastOptions = value;\n }\n }\n\n @Output() optionSelected: EventEmitter = new EventEmitter();\n\n @Output() noeInput: EventEmitter = new EventEmitter();\n\n private lastOptions = ['One', 'Two', 'Three'];\n\n constructor() {}\n\n onSelected(event: MatAutocompleteSelectedEvent) {\n console.log('event.option.value', event.option.value);\n this.optionSelected.emit(event.option.value);\n }\n}\n","\n \n \n \n\n \n\n \n \n {{ option }}\n \n \n\n\n","import { Injectable } from '@angular/core';\nimport { Subject, Observable, BehaviorSubject } from 'rxjs';\n\n@Injectable()\nexport class SharedCerrarVisorPdfService {\n\n private sharedDataCerrarPdf: Subject = new Subject();\n sharedData$: Observable = this.sharedDataCerrarPdf.asObservable();\n\n constructor() { }\n\n setData(updatedData) {\n this.sharedDataCerrarPdf.next(updatedData);\n }\n\n}","import { formatDate } from '@angular/common';\nimport { Component, OnInit, Self, Optional, Input, Output, EventEmitter, HostListener, ViewChild, OnChanges, SimpleChanges } from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { PickerCalendarComponent } from '../picker-calendar/picker-calendar.component';\n\n@Component({\n selector: 'app-daterangepicker',\n templateUrl: './daterangepicker.component.html',\n styleUrls: ['./daterangepicker.component.scss']\n})\nexport class DaterangepickerComponent implements OnInit, ControlValueAccessor, OnChanges {\n\n @ViewChild('picker1') picker1: PickerCalendarComponent\n @ViewChild('picker2') picker2: PickerCalendarComponent\n\n @Input() label:string\n @Input() required:boolean\n @Input() readonly:boolean\n @Input() inline:boolean\n\n @Input() min:Date\n @Input() max:Date\n\n @Output() \n selection: EventEmitter = new EventEmitter()\n\n @Output()\n firstselection: EventEmitter = new EventEmitter()\n @Output()\n secondselection: EventEmitter = new EventEmitter()\n @Input() ocultarModal:boolean = false;\n @Input() activeIcon:boolean = false;\n\n constructor(\n @Self()\n @Optional()\n public ngControl: NgControl\n ) {\n if (this.ngControl) { this.ngControl.valueAccessor = this }\n }\n\n // private _value:any\n onChangeCallback: any = () => {}\n onTouchedCallback: any = () => {}\n\n writeValue(value:any) {\n this.onChangeCallback(value)\n }\n registerOnChange(fn: (_: any) => void): void {\n this.onChangeCallback = fn\n }\n registerOnTouched(fn: () => void): void {\n this.onTouchedCallback = fn\n }\n\n show:boolean\n @HostListener('document:click') clickout() {\n if (this.show) this.onTouchedCallback()\n this.close()\n }\n\n today:Date = new Date()\n next:Date = new Date()\n ngOnInit(): void {\n this.next.setMonth(this.next.getMonth() + 1)\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if(changes.ocultarModal != null) {\n //console.log(changes.ocultarModal.currentValue);\n if(changes.ocultarModal.currentValue == true) {\n this.cancelar();\n //console.log('ngOnChanges');\n }\n }\n }\n\n selectedDate:Date[] = []\n selectedDateTime:number[] = []\n selectedFormat:string\n\n current:number = 0\n setRange(date:Date) {\n\n if (this.selectedDate[0] && this.selectedDate[0] > date) {\n this.fillNull()\n this.deselectAll()\n this.current = 0\n }\n\n if (this.selectedDate[1]) {\n this.fillNull()\n this.deselectAll()\n }\n\n this.selectedDate[this.current] = date\n this.selectedDateTime[this.current] = date.getTime()\n\n this.setValues()\n this.setSelected()\n this.selection.emit(this.selectedDate)\n\n if (this.current === 1) {\n this.colorRanges()\n this.selectedFormat = formatDate(this.selectedDate[0], 'dd/MM/yyyy', 'en_US') + ' - ' + formatDate(this.selectedDate[1], 'dd/MM/yyyy', 'en_US')\n this.writeValue(this.selectedDate)\n this.selection.emit(this.selectedDate)\n } else {\n this.colorRanges()\n this.selectedFormat = formatDate(this.selectedDate[0], 'dd/MM/yyyy', 'en_US') + ' - ' + formatDate(this.selectedDate[0], 'dd/MM/yyyy', 'en_US')\n this.writeValue(this.selectedDate)\n this.selection.emit(this.selectedDate)\n }\n\n this.current = this.current === 0 ? 1 : 0\n console.log(this.selectedDate)\n }\n\n nav(dir:string) {\n if (dir === 'next') {\n this.picker1.setMonth(this.picker1.currentMonth + 1)\n this.picker2.setMonth(this.picker2.currentMonth + 1)\n } else {\n this.picker1.setMonth(this.picker1.currentMonth - 1)\n this.picker2.setMonth(this.picker2.currentMonth - 1)\n }\n }\n\n deselectAll() {\n this.picker1.deselectAll()\n this.picker2.deselectAll()\n }\n\n fillNull() {\n this.selectedDate.fill(null)\n this.selectedDateTime.fill(null)\n this.picker1.range.fill(null)\n this.picker2.rangeDateTime.fill(null)\n }\n\n setSelected() {\n this.picker1.setSelected()\n this.picker2.setSelected()\n }\n\n colorRanges() {\n this.picker1.colorRange()\n this.picker2.colorRange()\n }\n\n setValues() {\n this.picker1.range = [...this.selectedDate]\n this.picker1.rangeDateTime = [...this.selectedDateTime]\n this.picker2.range = [...this.selectedDate]\n this.picker2.rangeDateTime = [...this.selectedDateTime]\n }\n\n open() {\n this.show = true\n }\n close() {\n this.show = false\n }\n\n cancelar() {\n this.current = 0;\n this.selectedFormat = '';\n this.writeValue(null)\n this.selection.emit()\n this.fillNull()\n this.deselectAll()\n this.show = false\n }\n \n}\n","\n
\n \n \n
\n
\n\n\n\n
\n\n
\n \n \n \n
\n\n
\n
\n\n \n\n \n\n
\n\n \n\n
\n \n \n
\n
\n
\n\n
\n

Este campo es obligatorio

\n
","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TitleService {\n\n constructor() { }\n\n private key:string = 'SAVED_TITLE';\n title:string = localStorage.getItem(this.key)\n\n setTitle(title:string):void {\n localStorage.setItem(this.key, title)\n this.title = title\n }\n}\n","import { \n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest\n} from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\n\nimport { from, Observable } from \"rxjs\";\nimport Auth from \"@aws-amplify/auth\";\n\nimport { AuthService } from \"../services/auth.service\";\nimport { AlertGlobalLogoutServie } from \"../services/alert-global-logout.service\";\n\n@Injectable()\nexport class NoAuthorizedInterceptor implements HttpInterceptor {\n\n constructor(\n private authService: AuthService,\n private alertGlobalLogout: AlertGlobalLogoutServie,\n ) {}\n\n intercept(\n req: HttpRequest,\n next: HttpHandler\n ): Observable> {\n\n if (!req.headers.has('authorization')) {\n return next.handle(req);\n }\n \n return from(this.handleNoAuthorized(req, next));\n }\n\n /**\n * Handles no authorized error whenever \n * the refresh token has been revoked.\n */\n async handleNoAuthorized(\n req: HttpRequest,\n next: HttpHandler\n ): Promise> { \n \n const cognitoUser = await Auth.currentAuthenticatedUser();\n const userSession = await Auth.currentSession();\n\n cognitoUser.refreshSession(\n userSession.getRefreshToken(),\n (error, _) => {\n if (!!error && error.code === 'NotAuthorizedException') {\n this.alertGlobalLogout.show(); \n }\n }\n );\n\n return next.handle(req).toPromise(); \n }\n}","import { Injectable } from '@angular/core';\n@Injectable({\n providedIn: 'root'\n})\nexport class NotificationsService {\n\n constructor() { }\n\n notifications: any[] = []\n\n success(msg:string) {\n this.notificacion('success', 'Éxito', msg, null)\n }\n\n error(msg:string) {\n this.notificacion('error', 'Error', msg, null)\n }\n\n info(msg:string) {\n this.notificacion('info', 'Aviso', msg, null)\n }\n\n notificacion(tipo: string, titulo: string, mensaje: string, url: string, items:any[] = []) {\n\n let show = true\n\n const nuevo:any = { tipo, titulo, mensaje, show, url }\n if (items.length > 0) nuevo.items = items\n this.notifications = [...this.notifications, nuevo]\n\n nuevo.autoCerrar = setTimeout(() => {\n this.close(0)\n }, 8000);\n \n }\n \n\n close(i:number) {\n if (this.notifications[i]) {\n this.notifications[i].show = false;\n setTimeout(() => {\n this.notifications = this.notifications.filter( n => n != this.notifications[i])\n }, 450);\n }\n }\n\n\n enter(i:number) {\n clearTimeout(this.notifications[i].autoCerrar)\n }\n leave(i:number) {\n this.notifications[i].autoCerrar = setTimeout(() => {\n this.close(i)\n }, 3000);\n }\n\n closeAll() {\n this.notifications = []\n }\n\n}\n","import { Component, OnInit, ViewChild, Input, Output, ElementRef, EventEmitter } from '@angular/core';\nimport { NotificationsService } from '../../services/notifications.service';\n\ntype format = 'img' | 'pdf' | 'excel' | 'zip' | 'word';\n@Component({\n selector: 'app-dropzone',\n templateUrl: './dropzone.component.html',\n styleUrls: ['./dropzone.component.scss'],\n host: { class: 'app-dropzone' }\n})\nexport class DropzoneComponent implements OnInit {\n\n @ViewChild('fileInput') input:ElementRef\n @ViewChild('fileInputMulti') inputMulti:ElementRef\n\n @Input('placeholder') placeholder:string = 'Arrastre sus archivos hasta aquí, o haga click para cargar.'\n @Input('preview') preview:boolean = true\n @Input('formats') formats: format[] = ['img']\n @Input('multi') multi:boolean\n @Input('less-padding') lessPadding:boolean\n @Input('esFacial') esFacial:boolean = false\n @Input('esPersonalizacion') esPersonalizacion:boolean = false\n\n\n @Output()\n onconvert: EventEmitter = new EventEmitter()\n @Output()\n ondrop: EventEmitter = new EventEmitter()\n\n constructor( public notify: NotificationsService) { }\n\n ngOnInit(): void {\n }\n\n handleClick() {\n this.multi ? this.inputMulti.nativeElement.click() : this.input.nativeElement.click()\n }\n\n allowDrop(e) {\n e.stopPropagation();\n e.preventDefault();\n }\n\n drop(e) {\n e.preventDefault();\n let files = e.dataTransfer.files\n this.validate(files)\n }\n\n change(e) {\n let files = e.target.files\n this.validate(files)\n }\n \n validate(files:File[]) {\n \n let valid:boolean = false\n let counter:number = 0\n\n while (!valid && counter < files.length) {\n\n switch (files[counter].type) {\n case 'image/jpeg': case 'image/png':\n if (this.formats.includes('img') && files[counter].size <= 262150 && !this.esFacial){\n valid = true\n }else if(this.formats.includes('img') && this.esFacial && files[counter].size <= 1048576){\n valid = true\n }else if(this.formats.includes('img') && this.esPersonalizacion && files[counter].size <= 1048576){\n valid = true\n } \n\n break\n \n case 'application/pdf':\n if (this.formats.includes('pdf')) valid = true\n break\n\n case 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet':\n case 'application/vnd.ms-excel':\n valid = this.formats.includes('excel');\n break;\n case 'application/vnd.openxmlformats-officedocument.wordprocessingml.document':\n valid = this.formats.includes('word');\n break;\n case 'application/zip': case 'application/x-zip-compressed':\n if (this.formats.includes('zip')) valid = true\n break\n }\n counter ++\n }\n\n if (valid) {\n\n this.ondrop.emit(this.multi ? files : files[0])\n if (this.preview) this.getBase(files[0])\n } else {\n this.notify.info(\"No se puede cargar este archivo. validar nuevamente.\")\n }\n\n }\n\n conversionLoading:boolean\n base:any\n getBase(img:any) {\n\n this.conversionLoading = true\n const reader = new FileReader\n reader.onload = e => {\n this.base = e.target.result\n this.conversionLoading = false\n this.onconvert.emit(this.base)\n }\n reader.readAsDataURL(img)\n \n }\n\n displaySize(size) {\n if (size < 1048576) {\n return (size / 1024).toFixed(2) + ' KB';\n } else {\n return (size / 1048576).toFixed(2) + ' MB';\n }\n }\n\n}\n","\n\n\n
\n\n
\n \n {{placeholder}}\n
\n\n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: '[app-dot-new]',\n templateUrl: './dot-new.component.html',\n styleUrls: ['./dot-new.component.scss']\n})\nexport class DotNewComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n","import { Component, ElementRef, OnInit, Renderer2, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators, FormControl } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { PasswordValidatorsService } from '../services/password-validators.service';\nimport { FormValidationService } from '../services/form-validation.service';\n\nimport { Auth,Storage } from 'aws-amplify';\nimport { CognitoHostedUIIdentityProvider } from \"@aws-amplify/auth\";\nimport { ModalComponent } from '../shared/modal/modal.component';\nimport { AuthService } from '../services/auth.service';\nimport { UsuariosService } from '../services/usuarios.service';\nimport { EmpresaService } from '../services/empresa.service';\nimport { PermisosService } from '../services/permisos.service';\nimport { ReceptorService } from '../services/receptor.service';\nimport { InvisibleReCaptchaComponent } from 'ngx-captcha';\nimport { environment } from 'src/environments/environment';\nimport { PersonalizacionService } from '../services/personalizacion.service';\nimport { NotificationsService } from 'src/app/services/notifications.service';\nimport { emailAlreadyExist } from './auth.validators';\nimport countries from '@noe/util/countries';\n\n@Component({\n selector: 'app-auth',\n templateUrl: './auth.component.html',\n styleUrls: ['./auth.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class AuthComponent implements OnInit {\n\n @ViewChild('user') userInput:ElementRef\n @ViewChild('passModal') passModal:ModalComponent\n @ViewChild('passModalCorreo') passModalCorreo:ModalComponent\n @ViewChild('recoveryModal') recoveryModal:ModalComponent\n @ViewChild('modalSesion') modalSesion:ModalComponent\n @ViewChild('modalCompletado') modalCompletado:ModalComponent\n @ViewChild('modalCompletadoCorreo') modalCompletadoCorreo:ModalComponent\n @ViewChild('captcha') captcha:InvisibleReCaptchaComponent\n @ViewChild('modalLecturaTerminos') modalLecturaTerminos:ModalComponent\n @ViewChild('modalUsuarioInactivo') modalUsuarioInactivo:ModalComponent\n\n loginForm:FormGroup\n registrateForm:FormGroup\n passForm:FormGroup\n passCorreoForm:FormGroup\n recoveryForm:FormGroup\n codeForm:FormGroup\n colorTheme: string;\n inputTypeNew = 'password';\n inputType = 'password';\n inputTypePassNew = 'password';\n inputTypePass = 'password';\n\n constructor(\n private fb: FormBuilder,\n private fv: FormValidationService,\n private formValidation: FormValidationService,\n private router: Router,\n private renderer: Renderer2,\n public validators: PasswordValidatorsService,\n public usuarioService: UsuariosService,\n public authService: AuthService,\n public permisosService: PermisosService,\n public empresaService: EmpresaService,\n public personalizacionService:PersonalizacionService,\n public receptorService:ReceptorService,\n public notify: NotificationsService,\n private route: ActivatedRoute,\n ) { }\n\n errorSubdominio:boolean\n subdominio:string\n imagenCentral:string\n fondoCentral:string\n logoWeb:string\n\n theValue:string;\n type:string;\n verLogin: boolean = true;\n verRegistrateForm: boolean = false;\n verRegistrate: boolean = false;\n rememberMe: boolean = false;\n idDocSelect:any = null;\n verRecoveryForm: boolean = false;\n verCodeForm: boolean = false;\n usuarioNuevo: boolean = false;\n datoUser: string;\n datoPassword: string;\n existeDni:boolean=false;\n validacionDni: string;\n validarCheck: boolean = false;\n rememberCheck:string;\n usuarioPass: boolean = false;\n emailCorreo: string;\n\n countries: any[] = [...countries]\n .sort((a, b) => a.es.localeCompare(b.es))\n .map((item) => {\n return {\n ...item,\n optionName: `${item.es} (${item.dial})`\n }\n });\n\n ngOnInit(): void {\n this.datoUser = sessionStorage.getItem('rememberUser');\n this.datoPassword = sessionStorage.getItem('rememberPassword');\n this.rememberCheck = sessionStorage.getItem('rememberCheck');\n localStorage.setItem('rememberUser', this.datoUser);\n localStorage.setItem('rememberPassword', this.datoPassword);\n localStorage.setItem('rememberCheck', this.rememberCheck);\n const remember = localStorage.getItem(\"rememberCheck\") === 'true'\n //this.scriptTraductorStyle();\n //this.scriptTraductor();\n this.scriptNiubiz();\n const url:string = window.location.href\n this.subdominio = url.split('.')[0].split('//')[1]\n this.obtenerEmail();\n // this.renderer.addClass(document.body, 'login')\n\n const passwordValidators = this.validators.set()\n const captchaValidators = environment.TESTING ? [] : [Validators.required]\n\n this.loginForm = this.fb.group({\n user: ['', [Validators.required]],\n password: ['', [Validators.required]],\n remember: [ remember ? true : false],\n recaptcha: ['', captchaValidators]\n })\n\n this.registrateForm = this.fb.group({\n name: ['', [Validators.required]],\n paternalSurname: ['',[Validators.required]],\n nationalType: ['',[Validators.required]],\n phoneNumber: ['',[Validators.required,Validators.minLength(9),Validators.maxLength(9)]],\n identityType: ['',[Validators.required]],\n identityNumber: ['',[Validators.required,Validators.minLength(8),Validators.maxLength(12)]],\n email: ['',[Validators.required, Validators.email], emailAlreadyExist(this.usuarioService, this.authService)],\n password: ['',passwordValidators],\n autorizar: [false],\n declarar: [false, [Validators.required]],\n recaptcha: ['']\n })\n\n this.passForm = this.fb.group({\n password: ['', passwordValidators],\n confirm: ['', [Validators.required]]\n }, { validators: this.checkPasswords })\n\n this.passCorreoForm = this.fb.group({\n code: ['', [Validators.required]],\n password: ['', passwordValidators],\n confirm: ['', [Validators.required]]\n }, { validators: this.checkPasswords })\n\n this.recoveryForm = this.fb.group({\n user: ['', [Validators.required]]\n })\n\n this.codeForm = this.fb.group({\n user: ['', [Validators.required]],\n code: ['', [Validators.required]],\n password: ['', passwordValidators],\n confirm: ['', [Validators.required]]\n }, { validators: this.checkPasswords })\n\n this.obtenerImagenesPersonalizacion();\n\n const body = document.getElementsByTagName('body')[0];\n body.classList.remove('modal-open');\n }\n\n obtenerEmail() {\n this.route.queryParams.subscribe(params => {\n this.emailCorreo = params['email']\n if(this.emailCorreo != undefined ) {\n console.log(this.emailCorreo, 'emailCorreo');\n this.afterRecoverValidationEmail(params['email']);\n }\n });\n }\n\n // Recuperar contraseña - validacion RedSocial\n async afterRecoverValidationEmail(email){\n this.errorUsuarioRedSocial = false;\n this.errorNoVerificado = false;\n this.errorNoExiste = false;\n this.errorTemporal = false;\n this.maximoDeIntentos = false;\n\n this.receptorService.obtenerUsuarioProvider(this.emailCorreo,this.subdominio).subscribe( data => {\n console.log(data.response)\n if(data.response != null){\n //console.log('#userCreator', data.response.userCreator)\n if(data.response.userCreator == 'GOOGLE' || data.response.userCreator == 'SIGNINWITHAPPLE' || data.response.userCreator == 'FACEBOOK'){\n this.errorUsuarioRedSocial = true;\n this.rLoading = false\n }else{\n //console.log('Entra a recuperar contraseña')\n this.rLoading = false\n this.loginForm.controls['user'].setValue(email)\n this.loginForm.controls['password'].setValue(data.response.identityNumber)\n this.captcha.execute()\n this.login('e')\n //this.loginMigracion()\n //this.recoverEmail();\n }\n }else{\n this.errorNoExiste = true;\n //this.rLoading = false;\n }\n }, error => {\n console.log(error)\n //this.rLoading = false;\n })\n }\n\n async loginMigracion(){\n try {\n this.user = await Auth.signIn(this.loginForm.get('user').value.trim(),this.loginForm.get('password').value);\n this.authService.handleTokenExpiration();\n\n // Cambiar contraseña temporal\n if (this.user.challengeName === 'NEW_PASSWORD_REQUIRED') {\n this.loading = false\n this.passModal.open()\n\n // Login\n } else {\n\n this.dologin()\n\n }\n\n } catch (err) {\n console.log(err)\n this.loading = false\n if(err.message == 'User is disabled.') {\n this.modalUsuarioInactivo.open();\n }\n if (err.code == 'NotAuthorizedException' || err.code == 'UserNotFoundException') {\n this.errorCredenciales = true\n }\n if (err.code == 'NetworkError') {\n // this.errorConexion = true\n }\n if (err.code == 'PasswordResetRequiredException') {\n this.errorReset = true\n }\n }\n }\n\n // Recuperar contraseña\n async recoverEmail() {\n // Pre Auth\n try {\n await this.authService.preRecover(this.emailCorreo, this.subdominio)\n } catch (error) {\n this.loading = false\n console.log(error)\n return\n }\n\n try {\n let data = await Auth.forgotPassword(this.emailCorreo)\n\n this.notify.success('El código se envió directamente.');\n this.passModalCorreo.open();\n console.log(this.emailCorreo, 'user');\n\n } catch (err) {\n\n if (err.code == 'InvalidParameterException') {\n this.errorNoVerificado = true\n } else if (err.code == 'UserNotFoundException') {\n this.errorNoExiste = true\n } else if (err.code == 'NotAuthorizedException') {\n this.errorNoExiste = true\n if(this.errorNoExiste){\n console.log('reestablecer',this.errorNoExiste)\n }else{\n this.reestablecerEmail();\n }\n\n } else if (err.code === 'LimitExceededException') {\n this.maximoDeIntentos = true\n }\n if (!this.errorTemporal) this.rLoading = false\n }\n }\n\n reestablecerEmail() {\n this.usuarioService.RestablecerContrasena(\n this.emailCorreo,\n this.subdominio).subscribe(data => {\n console.log(data,'reestablecerEmail')\n this.passModalCorreo.open();\n }, error => {\n console.log(error)\n })\n }\n\n // Establecer contraseña recuperada\n async submitCodeCorreo(e) {\n\n e.preventDefault()\n if (this.cLoading) return\n this.usuarioPass = true;\n this.captcha.execute()\n if (this.passCorreoForm.invalid) {\n\n return this.formValidation.validateForm(this.passCorreoForm)\n }\n\n this.pLoading = true\n\n try {\n console.log(\"Entras aqui..\")\n await Auth.forgotPasswordSubmit(\n this.emailCorreo,\n this.passCorreoForm.get('code').value.trim(),\n this.passCorreoForm.get('password').value)\n\n this.user = await Auth.signIn(this.emailCorreo, this.passCorreoForm.get('password').value);\n //this.authService.handleTokenExpiration();\n //this.dologin();\n this.pLoading = false;\n this.passModalCorreo.close();\n this.openModalCompletadoCorreo();\n } catch (err) {\n console.log(err)\n if (err.code === 'CodeMismatchException') this.errorCode = true\n // else this.notify.error('Hubo un problema al procesar la solicitud')\n this.pLoading = false;\n }\n\n }\n\n validarEspacios(e) {\n let stringEspacios = e.target.value;\n e.target.value = stringEspacios.trim();\n //console.log(e.target.value, 'valor')\n }\n\n restablecerValidacion() {\n Object.keys(this.loginForm.controls).forEach((key) => {\n const control = this.loginForm.controls[key];\n control.setErrors(null);\n });\n }\n\n rememberUser() {\n this.rememberMe = this.loginForm.get('remember').value\n if (!this.rememberMe) {\n sessionStorage.setItem('rememberUser', this.loginForm.get('user').value);\n sessionStorage.setItem('rememberPassword', this.loginForm.get('password').value);\n sessionStorage.setItem('rememberCheck', 'true');\n this.restablecerValidacion();\n } else {\n sessionStorage.setItem('rememberUser', \"\");\n sessionStorage.setItem('rememberPassword', \"\");\n sessionStorage.setItem('rememberCheck', \"false\");\n this.restablecerValidacion();\n }\n }\n\n abrirModalLecturaTerminos(){\n this.modalLecturaTerminos.open();\n }\n\n get emailControl(): FormControl {\n return this.registrateForm.get('email');\n }\n\n get dniControl(): FormControl {\n return this.registrateForm.get('identityNumber');\n }\n\n openModalCompletado() {\n this.modalCompletado.open();\n }\n\n closeModalCompletado() {\n this.modalCompletado.close();\n this.authService.handleTokenExpiration();\n this.dologin();\n }\n\n openModalCompletadoCorreo() {\n this.modalCompletadoCorreo.open();\n }\n\n closeModalCompletadoCorreo() {\n this.modalCompletadoCorreo.close();\n this.authService.handleTokenExpiration();\n this.dologinCorreo();\n }\n\n parseJwt (token) {\n var base64Url = token.split('.')[1];\n var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\n var jsonPayload = decodeURIComponent(atob(base64).split('').map(function(c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n\n return JSON.parse(jsonPayload);\n };\n\n crearLoading:boolean\n existeEmail:boolean=false\n subDominio : string\n subDominioFree:string\n companies:any\n\n validarContacto() {\n console.log(this.registrateForm.controls['email'].value, 'email')\n this.usuarioService.obtenerUsuario(\n this.registrateForm.controls['email'].value,\n this.subDominioFree\n ).subscribe(data => {\n\n if(!!data && data.status == 1){\n this.existeEmail=true\n }else{\n this.existeEmail=false\n }\n console.log(this.existeEmail,'existeEmail')\n }, error => {\n console.log(error)\n //this.crearLoading = false\n if (error.status === 409) this.existeEmail=false\n else this.notify.error('Hubo un problema al validar el contacto')\n })\n }\n\n valorDni: any;\n correoRegistro: string;\n validarDni() {\n console.log(this.registrateForm.controls['email'].value, 'email')\n\n this.correoRegistro = this.registrateForm.controls['email'].value;\n this.usuarioService.obtenerUsuario(\n this.registrateForm.controls['email'].value,\n this.subDominioFree\n ).subscribe(data => {\n this.valorDni = this.registrateForm.controls['identityNumber'].value\n if(!!data && data.status == 1){\n if( this.valorDni == data.identityNumber) {\n this.existeDni=true;\n } else{\n this.existeDni=false\n }\n } else{\n this.existeDni=false\n }\n }, error => {\n console.log(error)\n //this.crearLoading = false\n if (error.status === 409) this.existeDni=false\n else this.notify.error('Hubo un problema al validar el dni')\n })\n }\n\n checkDeclarar(check:boolean){\n this.validarCheck = check;\n }\n\n loadingAccount:boolean = false;\n registro(e) {\n this.subDominioFree = this.authService.obtenerSubdomain()\n console.log('subdominio freee', this.subDominioFree)\n\n //this.validarContacto();\n this.existeDni = false;\n\n if (!this.registrateForm.valid && this.validarCheck) {\n return this.fv.validateForm(this.registrateForm)\n }\n\n this.loadingAccount = true;\n const nationality = this.registrateForm.get('nationalType').value;\n const countryCode = countries.find((item) => item.code === nationality)?.dial;\n\n let body: any = {\n name: this.registrateForm.get('name').value,\n paternalSurname: this.registrateForm.get('paternalSurname').value,\n phoneNumber: countryCode + this.registrateForm.get('phoneNumber').value,\n identityType: this.idDocSelect,\n identityNumber: this.registrateForm.get('identityNumber').value,\n email: this.registrateForm.get('email').value,\n password: this.registrateForm.get('password').value.trim(),\n autorizar: this.registrateForm.get('autorizar').value,\n declarar: this.registrateForm.get('declarar').value,\n subdomain: this.authService.obtenerSubdomain(),\n companys: this.companies,\n nationalType: 'PE',\n maternalSurname: '',\n document_type: [],\n document_visado: [],\n document_control: [],\n office: 0,\n idProfile: \"[2]\",\n role: [1],\n idTipoFirma: \"[1,2,4,5]\",\n idOfficesArray: \"[]\",\n flagAttributesCompany: 0,\n login: this.registrateForm.get('identityNumber').value,\n editSignigProcess: false,\n enableSignigProcess: false,\n permanent: \"true\"\n }\n\n console.log('body', body)\n this.receptorService.createUserFree(body).subscribe(data => {\n console.log(data)\n this.notify.success('Creación exitosa')\n this.usuarioNuevo = true;\n this.existeEmail=false;\n this.loginUsuario(e);\n this.loadingAccount = false\n }, error => {\n console.log(\"############\",error)\n this.crearLoading = false\n if (error.status === 409) {\n this.existeEmail=true\n } else if (error.status === 410) {\n this.existeEmail = false\n this.validacionDni = error.error.message\n this.existeDni = true;\n } else {\n this.notify.error('Hubo un problema al crear el usuario')\n }\n this.loadingAccount = false\n });\n\n /*if(!this.registrateForm.invalid && (this.registrateForm.get('declarar').value == true) && !this.existeEmail) {\n this.empresaService.informacionEmpresaFree(this.subDominioFree).subscribe(data => {\n console.log('data empresa', data)\n this.companies = data\n console.log('data empresasss', this.companies)\n\n const nationality = this.registrateForm.get('nationalType').value;\n const countryCode = countries.find((item) => item.code === nationality)?.dial;\n\n let user: any = {\n name: this.registrateForm.get('name').value,\n paternalSurname: this.registrateForm.get('paternalSurname').value,\n phoneNumber: countryCode + this.registrateForm.get('phoneNumber').value,\n identityType: this.idDocSelect,\n identityNumber: this.registrateForm.get('identityNumber').value,\n email: this.registrateForm.get('email').value,\n password: this.registrateForm.get('password').value,\n autorizar: this.registrateForm.get('autorizar').value,\n declarar: this.registrateForm.get('declarar').value,\n subdomain: this.authService.obtenerSubdomain(),\n companys: this.companies,\n nationalType: 'PE',\n maternalSurname: '',\n document_type: [],\n document_visado: [],\n document_control: [],\n office: 0,\n idProfile: \"[2]\",\n role: [1],\n idTipoFirma: \"[1,2,4,5]\",\n idOfficesArray: \"[]\",\n flagAttributesCompany: 0,\n login: this.registrateForm.get('identityNumber').value,\n editSignigProcess: false,\n enableSignigProcess: false,\n permanent: \"true\"\n }\n\n console.log(user, 'registro')\n\n this.usuarioService.crearUsuario(user).subscribe(data => {\n this.notify.success('Creación exitosa')\n //this.verRegistrate = false\n //this.verLogin = true\n //this.verRegistrateForm = false\n this.usuarioNuevo = true;\n\n this.loginUsuario(e);\n\n console.log(this.usuarioNuevo, 'usuarioNuevo')\n }, error => {\n console.log(error)\n this.crearLoading = false\n if (error.status === 409) {\n this.existeEmail = false\n this.validacionDni = error.error\n this.existeDni = true;\n } else {\n this.notify.error('Hubo un problema al crear el usuario')\n }\n })\n\n }, error => {\n console.log(error)\n this.crearLoading = false\n if (error.status === 409) this.existeEmail = false\n else this.notify.error('Hubo un problema al crear el usuario')\n })\n\n }*/\n }\n\n setFilter(event) {\n if (event != '') {\n let value = '';\n\n if (this.type == 'select') {\n value = event.target.value\n }\n\n this.theValue = '';\n }\n\n }\n\n options = [\n { name: \"DNI\", id: 1 },\n { name: \"CE\", id: 2 },\n { name: \"PTP\", id: 3 },\n { name: \"pasaporte\", id: 4 },\n //{ name: \"RUC\", id: 2 },\n ];\n\n getChangeDoc(id:any){\n this.idDocSelect = id\n }\n\n onLoginGoogle() : void {\n localStorage.setItem('ACCESS_LOGIN', 'GOOGLE')\n localStorage.setItem('ACESS_SUB', this.subdominio)\n Auth.federatedSignIn({\n provider: CognitoHostedUIIdentityProvider.Google,\n })\n }\n\n onLoginApple() : void {\n localStorage.setItem('ACCESS_LOGIN', 'SIGNINWITHAPPLE')\n localStorage.setItem('ACESS_SUB', this.subdominio)\n Auth.federatedSignIn({\n provider: CognitoHostedUIIdentityProvider.Apple,\n })\n }\n\n onLoginFacebook() : void {\n localStorage.setItem('ACCESS_LOGIN', 'FACEBOOK')\n localStorage.setItem('ACESS_SUB', this.subdominio)\n Auth.federatedSignIn({\n provider: CognitoHostedUIIdentityProvider.Facebook,\n })\n }\n\n scriptTraductor() {\n var script = document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.src = \"https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit\";\n document.body.appendChild(script);\n }\n\n scriptTraductorStyle() {\n var jq = document.createElement(\"script\");\n jq.type = \"text/javascript\";\n jq.src = \"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js\";\n document.body.appendChild(jq);\n }\n\n scriptNiubiz() {\n var script = document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.src = environment.scriptNiubiz;\n document.body.appendChild(script);\n console.log('script niubiz',script)\n }\n\n loadingImagenes:boolean =true\n obtenerImagenesPersonalizacion(){\n this.loadingImagenes = true\n\n this.personalizacionService.listarImagenesPersonalizacion(this.subdominio).subscribe((data:any) => {\n\n this.loadingImagenes = false\n this.colorTheme = data.color;\n localStorage.setItem('customData', JSON.stringify(data));\n\n this.imagenCentral=data.imageCentralWeb\n this.fondoCentral=data.fondoWeb\n //this.logoWeb = data.logoWeb\n this.logoWeb = '../../../assets/img/logo-1.png';\n if(this.fondoCentral == \"\" || this.fondoCentral == null){\n this.fondoCentral = '../../assets/img/fondo-azul.jpg'\n }\n if(this.imagenCentral == \"\" || this.imagenCentral == null){\n this.imagenCentral = '../../assets/img/imagen-central.jpg'\n }\n\n this.actualizarImagenesPersonalizacion();\n\n //this.fondoWeb=data.imageCentralWeb\n //this.imagenCentral = \"public/firmas_holograficas/00001111/1615999823880.jpg\"\n\n\n }, error => {\n this.loadingImagenes = false\n\n })\n\n }\n\n actualizarImagenesPersonalizacion(){\n if(!this.verRegistrate && this.verLogin && !this.verRecoveryForm && !this.verCodeForm || this.imagenCentral == \"\" || this.imagenCentral == null){\n this.imagenCentral = '../../assets/img/noe-free/login.png'\n }\n\n if(this.verRegistrate && !this.verLogin && !this.verRecoveryForm && !this.verCodeForm || this.imagenCentral == \"\" || this.imagenCentral == null){\n this.imagenCentral = '../../assets/img/noe-free/registro-correo.png'\n }\n\n if(!this.verRegistrate && !this.verLogin && !this.verRecoveryForm && !this.verCodeForm || this.imagenCentral == \"\" || this.imagenCentral == null){\n this.imagenCentral = '../../assets/img/noe-free/registrate.png'\n }\n\n if((this.verRecoveryForm || this.verCodeForm) && !this.verRegistrate && !this.verLogin || this.imagenCentral == \"\" || this.imagenCentral == null){\n this.imagenCentral = '../../assets/img/noe-free/olvido-contrasena.png'\n }\n }\n\n sessionMsg:string = 'Su sesión ha sido terminada por inactividad'\n ngAfterViewInit() {\n // if (JSON.parse(sessionStorage.getItem('LOGGED_OUT'))) setTimeout(() => {\n // if(JSON.parse(sessionStorage.getItem('EXPIRED'))) this.sessionMsg = 'Parece que su sesión ha expirado'\n // this.modalSesion.open()\n // sessionStorage.clear()\n // }, 500)\n }\n\n errorCredenciales:boolean\n errorReset:boolean\n loading:boolean\n user:any\n siteKey:string = environment.captchaSiteKey\n recaptcha:string\n\n get f() { return this.loginForm.controls; }\n\n checkCaptcha(e) {\n if (environment.TESTING) {\n this.login(e);\n } else {\n // if (this.btnLoad) return\n\n //this.btnLoad = true\n this.captcha.execute()\n\n }\n\n }\n\n checkCaptchaUsuario(e) {\n this.registro(e);\n\n if (environment.TESTING) {\n\n } else {\n this.captcha.execute()\n }\n\n }\n\n async login(e) {\n // e.preventDefault()\n\n if (this.loading) return\n\n if (this.loginForm.invalid) {\n return this.formValidation.validateForm(this.loginForm)\n }\n\n this.loading = true\n\n // Pre Auth\n /*try {\n this.errorSubdominio = false\n await this.authService.preAuth(this.loginForm.get('user').value.trim(), this.subdominio,this.f.recaptcha.value)\n } catch (error) {\n this.errorSubdominio = true\n this.loading = false\n\n return\n }*/\n\n try {\n this.user = await Auth.signIn(this.loginForm.get('user').value.trim(),this.loginForm.get('password').value);\n this.authService.handleTokenExpiration();\n\n // Cambiar contraseña temporal\n if (this.user.challengeName === 'NEW_PASSWORD_REQUIRED') {\n this.loading = false\n this.passModal.open()\n\n // Login\n } else {\n\n this.dologin()\n\n }\n\n } catch (err) {\n console.log(err)\n this.loading = false\n if(err.message == 'User is disabled.') {\n this.modalUsuarioInactivo.open();\n }\n if (err.code == 'NotAuthorizedException' || err.code == 'UserNotFoundException') {\n this.errorCredenciales = true\n }\n if (err.code == 'NetworkError') {\n // this.errorConexion = true\n }\n if (err.code == 'PasswordResetRequiredException') {\n this.errorReset = true\n }\n }\n }\n\n async loginUsuario(e) {\n // e.preventDefault()\n\n console.log(this.registrateForm.get('email').value, this.registrateForm.get('password').value, 'email - password')\n\n if (this.loading) return\n\n this.loading = true\n\n // Pre Auth\n /* try {\n this.errorSubdominio = false\n await this.authService.preAuth(this.registrateForm.get('email').value.trim(), this.subdominio,this.f.recaptcha.value)\n } catch (error) {\n this.errorSubdominio = true\n this.loading = false\n\n return\n }*/\n\n try {\n this.user = await Auth.signIn(this.registrateForm.get('email').value.trim(),this.registrateForm.get('password').value);\n this.authService.handleTokenExpiration();\n\n // Cambiar contraseña temporal\n if (this.user.challengeName === 'NEW_PASSWORD_REQUIRED') {\n this.loading = false\n this.passModal.open()\n\n // Login\n } else {\n\n this.dologinUsuarioNuevo()\n\n }\n\n } catch (err) {\n console.log(err)\n this.loading = false\n if(err.message == 'User is disabled.') {\n this.modalUsuarioInactivo.open();\n }\n if (err.code == 'NotAuthorizedException' || err.code == 'UserNotFoundException') {\n this.errorCredenciales = true\n }\n if (err.code == 'NetworkError') {\n // this.errorConexion = true\n }\n if (err.code == 'PasswordResetRequiredException') {\n this.errorReset = true\n }\n }\n }\n\n reset() {\n //this.btnLoad = false\n }\n ready() {\n }\n load() {\n }\n success(e) {\n if(this.usuarioNuevo && !this.usuarioPass) {\n this.registrateForm.controls['recaptcha'].setValue(e)\n this.loginUsuario(e)\n console.log('success')\n } else if(!this.usuarioNuevo && !this.usuarioPass){\n this.loginForm.controls['recaptcha'].setValue(e)\n console.log('login default');\n this.login(e)\n }\n\n if(this.usuarioPass) {\n this.loginForm.controls['recaptcha'].setValue(e)\n console.log('login usuarioPass');\n }\n }\n\n expire() {\n //this.btnLoad = false\n }\n error() {\n //this.btnLoad = false\n }\n\n\n // Cambiar contraseña temporal\n pLoading:boolean\n async completarPass(e) {\n\n e.preventDefault()\n if (this.pLoading) return\n if (this.passForm.invalid) {\n\n return this.formValidation.validateForm(this.passForm)\n }\n\n this.pLoading = true\n\n try {\n\n this.user = await Auth.completeNewPassword(\n this.user,\n this.passForm.get('password').value)\n\n this.receptorService.actualizarFechaContraseña(this.loginForm.get('user').value.trim(), this.subdominio).subscribe(\n data => {\n console.log('FECHA CONTRASEÑA ACTUALIZADA')\n }\n );\n\n // return\n this.authService.handleTokenExpiration();\n this.dologin()\n\n } catch (err) {\n console.log(err)\n this.pLoading = false\n }\n\n }\n\n\n recovery() {\n this.recoveryModal.open()\n }\n\n rLoading:boolean\n errorNoVerificado:boolean\n errorNoExiste:boolean\n errorTemporal:boolean\n errorUsuarioRedSocial:boolean\n insertCode:boolean\n code:string\n\n // Recuperar contraseña - validacion RedSocial\n async afterRecoverValidation(e){\n this.errorUsuarioRedSocial = false;\n this.errorNoVerificado = false;\n this.errorNoExiste = false;\n this.errorTemporal = false;\n this.maximoDeIntentos = false;\n\n e.preventDefault()\n if (this.rLoading) return\n if (this.recoveryForm.invalid) {\n return this.formValidation.validateForm(this.recoveryForm)\n }\n this.rLoading = true\n this.rLoading = false\n this.recover(e);\n\n /*this.receptorService.obtenerUsuarioProvider(this.recoveryForm.get('user').value.trim(),this.subdominio).subscribe( data => {\n if(data.response != null){\n //console.log('#userCreator', data.response.userCreator)\n if(data.response.userCreator == 'GOOGLE' || data.response.userCreator == 'SIGNINWITHAPPLE' || data.response.userCreator == 'FACEBOOK'){\n this.errorUsuarioRedSocial = true;\n this.rLoading = false\n }else{\n //console.log('Entra a recuperar contraseña')\n this.rLoading = false\n this.recover(e);\n }\n }else{\n this.errorNoExiste = true;\n this.rLoading = false;\n }\n }, error => {\n console.log(error)\n this.rLoading = false;\n })*/\n }\n\n // Recuperar contraseña\n async recover(e) {\n // Pre Auth\n\n\n // Pre Auth\n // try {\n // this.errorSubdominio = false\n // await this.authService.preAuth(this.recoveryForm.get('user').value.trim(), this.subdominio, this.f.recaptcha.value)\n // } catch (error) {\n // this.errorSubdominio = true\n // this.rLoading = false\n // console.log(error)\n // return\n // }\n\n try {\n let data = await Auth.forgotPassword(this.recoveryForm.get('user').value.trim())\n this.codeForm.controls['user'].setValue(this.recoveryForm.get('user').value.trim())\n this.codeForm.updateValueAndValidity()\n this.insertCode = true\n this.verRecoveryForm = false;\n this.verCodeForm = true;\n this.notify.success('El código se envió directamente.');\n console.log(this.recoveryForm.get('user').value, 'user');\n\n } catch (err) {\n\n if (err.code == 'InvalidParameterException') {\n this.errorNoVerificado = true\n } else if (err.code == 'UserNotFoundException') {\n this.errorNoExiste = true\n } else if (err.code == 'NotAuthorizedException') {\n //this.errorTemporal = true // esta es su validación verdadera\n this.errorNoExiste = true\n if(this.errorNoExiste){\n console.log('reestablecer',this.errorNoExiste)\n }else{\n this.reestablecer()\n }\n\n\n } else if (err.code === 'LimitExceededException') {\n this.maximoDeIntentos = true\n }\n if (!this.errorTemporal) this.rLoading = false\n }\n\n try {\n await this.authService.preRecover(this.recoveryForm.get('user').value.trim(), this.subdominio)\n } catch (error) {\n this.loading = false\n console.log(error)\n return\n }\n }\n\n\n\n correoUsuario:string = ''\n reestablecer() {\n this.verRecoveryForm = false;\n this.verCodeForm = true;\n\n this.usuarioService.RestablecerContrasena(\n this.recoveryForm.get('user').value.trim(),\n this.subdominio).subscribe(data => {\n this.correoUsuario = this.recoveryForm.get('user').value.trim()\n this.rLoading = false\n // this.notify.success('Operación exitosa')\n // this.loaders[loader] = false\n // this.buildBody()\n\n }, error => {\n console.log(error)\n this.rLoading = false\n // this.notify.error('Hubo un error inesperado')\n // this.loaders[loader] = false\n })\n }\n\n cLoading:boolean\n maximoDeIntentos:boolean\n errorCode:boolean\n // Establecer contraseña recuperada\n async submitCode(e) {\n\n e.preventDefault()\n if (this.cLoading) return\n this.usuarioPass = true;\n this.captcha.execute()\n if (this.codeForm.invalid) {\n\n return this.formValidation.validateForm(this.codeForm)\n }\n\n this.cLoading = true\n\n try {\n console.log(\"Entras aqui..\")\n await Auth.forgotPasswordSubmit(\n //this.codeForm.get('user').value,\n this.recoveryForm.get('user').value,\n this.codeForm.get('code').value.trim(),\n this.codeForm.get('password').value)\n\n //this.user = await Auth.signIn(this.codeForm.get('user').value.trim(), this.codeForm.get('password').value);\n this.user = await Auth.signIn(this.codeForm.get('user').value.trim(), this.codeForm.get('password').value);\n //this.authService.handleTokenExpiration();\n //this.dologin();\n this.openModalCompletado();\n } catch (err) {\n console.log(err)\n if (err.code === 'CodeMismatchException') this.errorCode = true\n // else this.notify.error('Hubo un problema al procesar la solicitud')\n this.cLoading = false\n //this.openModalCompletado();\n }\n\n }\n\n clearRecovery() {\n this.errorNoVerificado = false\n this.errorNoExiste = false\n this.errorTemporal = false\n this.maximoDeIntentos = false\n this.code = null\n this.rLoading = false\n this.insertCode = null\n this.recoveryForm.reset()\n this.codeForm.reset()\n // this.correoUsuario = null\n this.errorCode = false\n }\n\n checkPasswords(group: FormGroup) {\n let pass = group.get('password').value;\n let confirmPass = group.get('confirm').value;\n return pass === confirmPass ? null : { mismatch: true }\n }\n\n async dologin() {\n console.log(this.user['attributes'], 'atributtes')\n const user = this.loginForm.get('user').value || this.codeForm.get('user').value.trim()\n const subdomains:string = this.user['attributes'] ? this.user['attributes']['custom:subdomain'] : this.user['challengeParam']['userAttributes']['custom:subdomain']\n const parseSubdomains = JSON.parse(subdomains)\n let subdomain = \"\"\n parseSubdomains.forEach(element => {\n if (element.name == this.subdominio){\n subdomain = element.name\n }\n });\n this.usuarioPass = false;\n console.log(\"inicio de session\")\n localStorage.setItem('AUTHUSER', user)\n localStorage.setItem('AUTHSUBDOMINIO', subdomain)\n localStorage.setItem('AUTHRECAPCHA', this.f.recaptcha.value)\n localStorage.setItem('AUTHSTART', 'start')\n this.router.navigate(['/'])\n /*this.usuarioService.obtenerUsuario(user, subdomain).subscribe(data => {\n\n this.authService.guardarDatos(data)\n this.permisosService.setOpciones()\n\n this.empresaService.obtenerEmpresaActiva(this.authService.obtenerIdEmpresaActiva()).subscribe(data => {\n\n this.authService.guardarDataEmpresaActiva(data.find(c => c.id == this.authService.obtenerIdEmpresaActiva()))\n\n //this.router.navigate(['/'], {queryParams: {login:1}})\n this.router.navigate(['/'])\n }, error => {\n console.log(error)\n this.errorLogout()\n })\n\n }, error => {\n console.log(error)\n this.errorLogout()\n })*/\n\n }\n\n async dologinCorreo() {\n console.log(this.user['attributes'], 'atributtes')\n const user = this.emailCorreo || this.passCorreoForm.get('code').value.trim()\n const subdomains:string = this.user['attributes'] ? this.user['attributes']['custom:subdomain'] : this.user['challengeParam']['userAttributes']['custom:subdomain']\n const parseSubdomains = JSON.parse(subdomains)\n let subdomain = \"\"\n parseSubdomains.forEach(element => {\n if (element.name == this.subdominio){\n subdomain = element.name\n }\n });\n this.usuarioPass = false;\n console.log(\"inicio de session\")\n localStorage.setItem('AUTHUSER', user)\n localStorage.setItem('AUTHSUBDOMINIO', subdomain)\n localStorage.setItem('AUTHRECAPCHA', this.f.recaptcha.value)\n localStorage.setItem('AUTHSTART', 'start')\n this.router.navigate(['/'])\n }\n\n async dologinUsuarioNuevo() {\n console.log(this.user['attributes'], 'atributtes')\n\n const user = this.registrateForm.get('email').value || this.codeForm.get('user').value.trim()\n const subdomains:string = this.user['attributes'] ? this.user['attributes']['custom:subdomain'] : this.user['challengeParam']['userAttributes']['custom:subdomain']\n\n const parseSubdomains = JSON.parse(subdomains)\n let subdomain = \"\"\n parseSubdomains.forEach(element => {\n if (element.name == this.subdominio){\n subdomain = element.name\n }\n });\n\n console.log(\"inicio de session nuevo registro\")\n localStorage.setItem('AUTHUSER', user)\n localStorage.setItem('AUTHSUBDOMINIO', subdomain)\n localStorage.setItem('AUTHRECAPCHA', this.f.recaptcha.value)\n localStorage.setItem('AUTHSTART', 'start')\n this.router.navigate(['/'])\n\n /* this.usuarioService.obtenerUsuario(user, subdomain).subscribe(data => {\n\n this.authService.guardarDatos(data)\n console.log(data, 'data')\n this.permisosService.setOpciones()\n\n this.empresaService.obtenerEmpresaActiva(this.authService.obtenerIdEmpresaActiva()).subscribe(data => {\n\n this.authService.guardarDataEmpresaActiva(data.find(c => c.id == this.authService.obtenerIdEmpresaActiva()))\n\n //this.router.navigate(['/'], {queryParams: {login:1}})\n this.router.navigate(['/'])\n }, error => {\n console.log(error)\n this.errorLogout()\n })\n\n }, error => {\n console.log(error)\n this.errorLogout()\n })*/\n\n }\n\n async errorLogout() {\n await Auth.signOut({ global: true });\n localStorage.clear()\n this.loading = false\n }\n}\n","
\n\n
\n \n
\n
\n \n \n \n
\n\n \n
\n
\n \n\n \n
\n
\n \n\n \n\n \n \n
\n \n \n
\n\n
\n \n \n
\n\n

Error de Credenciales

\n

La contraseña del usuario debe ser restaurada

\n

El usuario no pertenece a este subdominio

\n\n
\n
\n \n
\n
\n ¿No recuerdas tu contraseña?\n
\n
\n\n \n \n\n \n\n \n\n \n
\n\n \n
\n \n \n
\n\n \n\n
\n \n \n \n \n
\n
 
\n
o
\n
 
\n
\n\n \n \n \n
\n \n \n
\n
\n
\n\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n\n
\n \n
\n \n \n
\n
\n\n
\n \n
\n
\n \n
\n

Este campo es obligatorio

\n
\n
\n\n
\n \n\n \n

\n {{ validacionDni }}\n

\n
\n
\n
\n
\n\n
\n \n
\n\n \n

\n Algo salio mal escriba de nuevo.\n

\n
\n\n \n

\n El correo ingresado ya se encuentra registrado.\n

\n
\n\n
\n \n \n
\n\n

\n La contraseña debe contener mayúsculas, carácter especiales y números.\n

\n\n
\n \n
\n
\n \n
\n

Este campo es obligatorio

\n
\n
\n\n

Error de Credenciales

\n

La contraseña del usuario debe ser restaurada

\n

El usuario no pertenece a este subdominio

\n\n \n \n\n \n \n\n
\n \n \n
\n\n \n
\n\n \n\n
\n \n \n
\n \n \n

\n No podemos restaurar la contraseña de {{recoveryForm.get('user').value}} porque este usuario no posee correo electrónico o número de teléfono verificados.\n

\n

\n El correo ingresado no está registrado en la plataforma\n

\n

\n No podemos restaurar una contraseña temporal. Se ha reenviado la invitación de bienvenida con su contraseña al correo {{correoUsuario}}.\n

\n

\n Ha superado el máximo de intentos de recuperación. Por favor espere unos momentos antes de intentar de nuevo.\n

\n

\n Lo sentimos no podemos restaurar tu acceso mediante tu logueo por red social. Favor de ingresar a la red social por el cual ingresaste.\n

\n \n \n \n
\n \n \n \n\n \n \n Cancelar\n
\n
\n
\n \n
\n \n
\n \n\n \n \n \n \n \n \n \n \n \n \n

Código de validación incorrecto

\n \n
\n \n
\n \n

\n La contraseña debe contener mayúsculas, carácter especiales y números.\n

\n\n
\n \n
\n \n

\n La contraseña debe contener mayúsculas, carácter especiales y números.\n

\n\n

Las contraseñas deben coincidir

\n\n \n \n \n \n
\n \n \n \n\n Cancelar\n
\n \n
\n\n
\n
\n\n \n
\n\n\n\n\n \n\n\n\n\n\n \n\n \n\n
\n \n
\n
\n\n\n\n\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n

Las contraseñas deben coincidir

\n\n \n \n\n
\n \n\n \n
\n\n
\n\n
\n\n\n\n\n \n\n \n\n
\n \n
\n
\n\n\n\n\n
\n\n
\n \n

Código de verificación incorrecto

\n
\n \n
\n \n \n
\n\n
\n \n \n
\n\n

Las contraseñas deben coincidir

\n\n \n \n\n
\n \n\n \n
\n\n
\n\n
\n\n\n\n\n
\n\n
\n \"\"\n\n \n
\n \n\n

\n No podemos restaurar la contraseña de {{recoveryForm.get('user').value}} porque este usuario no posee correo electrónico o número de teléfono verificados.\n

\n

\n Este usuario no existe\n

\n

\n No podemos restaurar una contraseña temporal. Se ha reenviado la invitación de bienvenida con su contraseña al correo {{correoUsuario}}.\n

\n

\n Ha superado el máximo de intentos de recuperación. Por favor espere unos momentos antes de intentar de nuevo.\n

\n

\n Lo sentimos no podemos restaurar tu acceso mediante tu logueo por red social. Favor de ingresar a la red social por el cual ingresaste.\n

\n\n \n\n
\n \n\n \n\n \n
\n
\n
\n\n
\n\n
\n\n Se te ha enviado un correo con un “código de verificación” para que puedas generar una nueva contraseña.\n\n \n\n \n\n

Código de verificación incorrecto

\n\n \n\n \n\n \n \n\n
\n \n\n \n
\n\n
\n\n
\n\n\n\n\n
\n \n

{{sessionMsg}}

\n
\n\n
\n \n
\n
\n\n\n

Lo sentimos, la plataforma se encuentra inhabilitada por falta de pago. Regulariza tu pago o puedes contactarnos al correo: \n ventas@noe.pe\n

\n
\n \n
\n
\n\n\n","import { Component, OnInit, HostListener, Self, Optional, Input, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\n\nimport { formatDate } from '@angular/common';\n\n@Component({\n selector: 'app-datepicker',\n templateUrl: './datepicker.component.html',\n styleUrls: ['./datepicker.component.scss']\n})\nexport class DatepickerComponent implements OnInit, ControlValueAccessor, OnChanges {\n\n @Input() label:string\n @Input() required:boolean\n @Input() readonly:boolean\n @Input() inline:boolean\n @Input('mode') mode: 'day' | 'month' | 'year' = 'day'\n @Input() ocultarModal:boolean = false;\n @Input() activeIcon:boolean = false;\n\n _min: Date\n _max: Date\n @Input() set min (value: Date) { if (value) this._min = new Date(value.getFullYear(), value.getMonth(), value.getDate()) }\n @Input() set max (value: Date) { if (value) this._max = new Date(value.getFullYear(), value.getMonth(), value.getDate()) }\n\n @Output() \n selection: EventEmitter = new EventEmitter()\n\n constructor(\n @Self()\n @Optional()\n public ngControl: NgControl) {\n if (this.ngControl) { this.ngControl.valueAccessor = this }\n }\n\n // private _value:any\n onChangeCallback: any = () => {}\n onTouchedCallback: any = () => {}\n\n writeValue(value:any) {\n\n if (typeof value === 'string' || value === null) {\n this.selectedDate = null\n this.selectedDateTime = null\n this.selectedFormat = null\n } else {\n if (value && value.getMonth) {\n this.programmaticSet(value)\n }\n }\n \n this.onChangeCallback(value)\n\n }\n registerOnChange(fn: (_: any) => void): void {\n this.onChangeCallback = fn\n }\n registerOnTouched(fn: () => void): void {\n this.onTouchedCallback = fn\n }\n setDisabledState(disabled:boolean) {\n // this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', disabled);\n }\n\n currentYear:number\n currentMonth:number\n currentDays:any[] = []\n\n prevDays:any[] = []\n nextDays:any[] = []\n\n view:number\n today:Date\n todayTime:number\n\n show:boolean\n\n @HostListener('document:click') clickout() {\n if (this.show) this.onTouchedCallback()\n this.close()\n }\n\n ngOnInit(): void {\n\n this.view = this.mode === 'year' ? 2 : this.mode === 'month' ? 1 : 0\n const today = new Date()\n this.today = new Date(today.getFullYear(), today.getMonth(), today.getDate())\n this.todayTime = this.today.getTime()\n\n this.setMinMax()\n\n this.listYears()\n this.setDate(this.today)\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if(changes.ocultarModal != null) {\n //console.log(changes.ocultarModal.currentValue);\n if(changes.ocultarModal.currentValue == true) {\n this.cancelar();\n //console.log('ngOnChanges');\n }\n }\n }\n\n months:string[] = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'];\n weekDays:string[] = ['DOM', 'LUN', 'MAR', 'MIÉ', 'JUE', 'VIE', 'SÁB'];\n years:number[][] = [];\n visibleYears:number[] = [];\n\n minTime:number\n maxTime:number\n setMinMax() {\n if (this._min) this.minTime = this._min.getTime()\n if (this._max) this.maxTime = this._max.getTime()\n }\n\n listYears() {\n const min:number = 1900\n const years:number[][] = []\n\n for (let i = 0; i < 11; i ++) {\n const page:number [] = []\n for (let j = 0; j < 30; j ++) {\n page.push(min + j + (i*30))\n }\n years.push(page)\n }\n \n this.years = [...years]\n }\n \n setDate(date:Date):void {\n\n this.prevDays = []\n\n this.currentYear = date.getFullYear()\n this.currentMonth = date.getMonth()\n\n const firstDay:Date = new Date(this.currentYear, this.currentMonth, 1)\n const lastDay:Date = new Date(this.currentYear, this.currentMonth + 1, 0)\n\n this.populateCurrentDays(lastDay.getDate())\n\n if (firstDay.getDay() != 0) this.populatePrevDays(firstDay.getDay())\n this.populateNextDays()\n this.populateVisibleYears()\n }\n\n populateCurrentDays(days:number):void {\n\n const daysInMonth:any[] = []\n\n for (let i = 1; i <= days; i ++) {\n\n const date:Date = new Date(this.currentYear, this.currentMonth, i)\n const dateTime:number = date.getTime()\n daysInMonth.push({\n day:i, \n date: date, \n today: this.todayTime === dateTime, \n selected: this.selectedDateTime === dateTime,\n disabled: dateTime < this.minTime || dateTime > this.maxTime\n })\n\n }\n this.currentDays = [...daysInMonth]\n }\n\n populatePrevDays(diff:number):void {\n\n const days:any[] = []\n const lastDateOfPreviousMonth:number = new Date(this.currentYear, this.currentMonth, 0).getDate()\n\n for (let i = 1; i <= diff; i ++) {\n\n const date:Date = new Date(this.currentYear, this.currentMonth-1, (lastDateOfPreviousMonth-diff+i))\n const dateTime:number = date.getTime()\n days.push({\n day: lastDateOfPreviousMonth - diff + i, \n date: date,\n today: this.todayTime === dateTime,\n selected: this.selectedDateTime === dateTime,\n disabled: dateTime < this.minTime || dateTime > this.maxTime\n })\n\n }\n this.prevDays = [...days]\n }\n\n populateNextDays():void {\n\n const diff:number = 42 - this.currentDays.length - this.prevDays.length\n const days:any[] = []\n\n for (let i = 1; i <= diff; i ++) {\n\n const date:Date = new Date(this.currentYear, this.currentMonth+1, i)\n const dateTime:number = date.getTime()\n days.push({\n day:i, \n date: date, \n today: this.todayTime === dateTime,\n selected: this.selectedDateTime === dateTime,\n disabled: dateTime < this.minTime || dateTime > this.maxTime\n })\n\n }\n this.nextDays = [...days]\n }\n\n currentPage:number\n populateVisibleYears() {\n\n let page:number = 0\n for (const p of this.years) {\n const year = p.find(y => y === this.currentYear)\n if (year) {\n this.currentPage = page\n break\n }\n page ++\n }\n }\n\n\n setMonth(i:number):void {\n\n event.stopPropagation()\n\n if (this.mode !== 'month') {\n this.view = 0\n this.setDate(new Date(this.currentYear, i, 1))\n } else {\n this.selectDate({date: new Date(this.currentYear, i, 1)})\n } \n }\n\n setYear(year:number):void {\n\n this.currentYear = year\n if (this.mode !== 'year') {\n this.view = 1\n } else {\n this.selectDate({date: new Date(this.currentYear, 0, 1)})\n }\n }\n\n setPage(next:boolean) {\n\n event.stopPropagation()\n\n if (next) {\n if (this.years[this.currentPage + 1]) this.currentPage ++\n } else {\n if (this.years[this.currentPage - 1]) this.currentPage --\n }\n }\n\n selectedDate:Date\n selectedDateTime:number\n selectedFormat:string\n selectDate(date:any) {\n\n this.deselectAll()\n date.selected = true\n \n this.writeValue(date.date)\n this.selection.emit(date.date)\n //this.close()\n\n }\n\n programmaticSet(value:Date) {\n this.selectedDate = value\n this.selectedDateTime = value.getTime()\n if (this.mode === 'day') this.selectedFormat = formatDate(value, 'dd/MM/yyyy', 'en_US')\n else if (this.mode === 'month') this.selectedFormat = formatDate(value, 'MM/yyyy', 'en_US')\n else if (this.mode === 'year') this.selectedFormat = formatDate(value, 'yyyy', 'en_US')\n }\n\n deselectAll() {\n this.prevDays.forEach(d => d.selected = false)\n this.currentDays.forEach(d => d.selected = false)\n this.nextDays.forEach(d => d.selected = false)\n }\n\n\n open() {\n this.show = true\n }\n\n close() {\n this.show = false\n }\n\n cancelar() {\n this.deselectAll()\n this.writeValue(null)\n this.selection.emit()\n this.show = false\n }\n\n}\n","\n
\n \n \n
\n
\n\n\n
\n\n
\n \n \n \n
\n\n
\n\n \n \n
\n
{{months[currentMonth]}}
\n
{{currentYear}}
\n
\n \n \n
\n
\n\n
\n
{{w}}
\n
\n \n
\n \n \n
{{d.day}}
\n
\n \n \n
{{d.day}}
\n
\n \n \n
{{d.day}}
\n
\n \n
\n
\n \n\n \n \n
\n
MESES
\n
{{currentYear}}
\n
\n \n
\n \n \n
{{m | slice:0:3}}
\n
\n \n
\n
\n \n\n \n \n
\n
AÑOS
\n
{{years[currentPage][0] + ' - ' + years[currentPage][years[currentPage].length-1]}}
\n
\n \n \n
\n
\n \n
\n
{{y}}
\n
\n
\n \n\n
\n \n \n
\n\n
\n
\n\n
\n

Este campo es obligatorio

\n
","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { CompartirDatosService } from '@noe/services/compartirDatos.service';\n\n\n@Component({\n selector: 'app-modal-terceros',\n templateUrl: './modal-terceros.component.html',\n styleUrls: ['./modal-terceros.component.scss']\n})\nexport class ModalTercerosComponent implements OnInit {\n\n @Input('titleModal') title:string\n @Input('subtitle') subtitle:string\n @Input('loading') loading:boolean\n @Input('confirmText') confirmText:string = 'Confirmar'\n @Input('cancelText') cancelText:string = 'Cancelar'\n @Input('closeOnConfirm') closeOnConfirm:boolean = true\n @Input('disableConfirm') disableConfirm:boolean\n @Input('hide-footer') hideFooter:boolean\n @Input('big') big:boolean\n @Input('fullScreen') fullScreen:boolean\n @Input('auto-width') autoWidth:boolean\n @Input('scroller') scroller:boolean\n\n @Output() \n onclose: EventEmitter = new EventEmitter();\n @Output()\n onconfirm: EventEmitter = new EventEmitter();\n\n isOpen:boolean\n\n constructor(\n public compartirDatosService: CompartirDatosService\n ) { }\n\n ngOnInit(): void {\n }\n\n open() {\n const body = document.getElementsByTagName('body')[0];\n body.classList.add('modal-open');\n this.isOpen = true\n }\n\n close() {\n const body = document.getElementsByTagName('body')[0];\n body.classList.remove('modal-open');\n this.isOpen = false;\n this.onclose.emit();\n this.compartirDatosService.changeMessage(false);\n }\n\n confirm() {\n this.onconfirm.emit()\n if (this.closeOnConfirm) this.isOpen = false\n }\n\n}\n","
\n
\n\n
\n

{{title}}

\n \n
\n\n
\n \n
\n\n
\n \n \n
\n\n
\n
\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\nimport { Observable } from 'rxjs';\n\nimport { environment } from 'src/environments/environment';\nimport { IAddSign } from '../holographic/models/add-sign.model';\n\n\ntype requestBody = {\n method: string\n data?: any,\n id?:any,\n idSigningProcess?: string,\n idCompany?: string,\n user?: string,\n nombres?:string,\n subdomain?:string\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ServiciosProcesoService {\n\n private finaldata = [];\n //private apiurl = \"https://jsonplaceholder.typicode.com/photos\";\n private urlServiciosProceso:string = `${environment.apiCore}/process-services/`;\n private urlProcesoFirmaMasiva:string = `${environment.apiCore}/start-sign-massive/`;\n private urlDescribeExecution:string = `${environment.apiCore}/describe-execution/`;\n private urlProcesoFirmaIndividual:string = `${environment.apiCore}/start-sign-individual/`;\n\n constructor( private http: HttpClient ) { }\n\n listarPendientes(empresa:string, user:string, subdomain:string,metadata:any):Observable {\n const body:requestBody = { method: 'LIST-PENDING', data: {idCompany:empresa, user:user, subdomain:subdomain, metadata:metadata} }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarDocumentos(proceso:string, user:string, sub:string):Observable {\n const body:requestBody = { method: 'LIST-VIEW-DOCUMENTS', data: {idSigningProcess:proceso, user:user, subdomain:sub} }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarDocumentosUsuarios(id:string, user:string):Observable {\n const body:requestBody = { method: 'LIST', id:id, user:user }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n obtenerProcesoFirma(proceso:string, company:string, user:string, sub:string) {\n const body:requestBody = { method: 'GET-SIGNING-PROCESS', data: { idSigningProcess: proceso, idCompany:company, user:user, subdomain:sub } }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n validarOrden(id:string, user:string) {\n const body:requestBody = { method: 'VALIDATE-SIGNED', data: { idProcess: id, user: user } }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n enviarToken(empresa:number, user:string,name:string) {\n const body:requestBody = { method: 'SEND-TOKEN', data: { idCompany:empresa, user:user,nombres:name } }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n enviarTokenTerceros(empresa:number, user:string,name:string, issetRecipient:boolean) {\n const body:requestBody = { method: 'SEND-TOKEN', data: { idCompany:empresa, user:user,name:name,issetRecipient:issetRecipient } }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n\n validarToken(data:any) {\n const body:requestBody = { method: 'VALIDATE-TOKEN', data: data }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n validarTokenPromise(data:any) {\n const body:requestBody = { method: 'VALIDATE-TOKEN', data: data }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } }).toPromise()\n }\n\n comprobarCertificadoExiste(empresa:any, user:string) {\n const body:requestBody = { method: 'GET-CERTIFICATE-DIGITAL', data: { idCompany:empresa, user:user } }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n // agregarCertificado(data:any) {\n // const body:requestBody = { method: 'ADD-CERTIFICATE-DIGITAL', data: data }\n // return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n // }\n\n convertirPDF(data:{idProcess:string,filePath:string,idDocumentSigningProcess:number,idCompany:string}) {\n const body:any = { method: 'CONVERT-PDF-IMAGE', data:data }\n return this.http.post(this.urlProcesoFirmaMasiva, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n convertirPDFImagePagination(data:{idProcess:string,filePath:string,idDocumentSigningProcess:number,idCompany:string,count_page:number}) {\n const body:any = { method: 'CONVERT-PDF-IMAGE-PAGINATION', data:data }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n getProcess(data:{idProcess:string,idDocumentSigningProcess:number,idCompany:string,subdomain:string}) {\n const body:any = { method: 'GET-PROCESS-DATA', data:data }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n updateDocumentUser(data:{idProcess:string,idDocumentSigningProcess:number,idCompany:string,subdomain:string}) {\n const body:any = { method: 'UPDATE-DOCUMENT-USER', data:data }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n updateDocumentDecline(data:any) {\n const body:any = { method: 'UPDATE-DOCUMENT-DECLINE', data:data }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n\n convertPDFHolograhic(\n data: {\n idProcess: string,\n filePath: string,\n idDocumentSigningProcess: number,\n idCompany: string,\n flag: string\n }\n ) {\n const body:any = { method: 'CONVERT-PDF-IMAGE', data:data }\n return this.http.post<{ response: string[]}>(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n getDocumentRecipients(\n data: {\n idProcess: string,\n idDocumentSigningProcess: number,\n idCompany: string\n }\n ) {\n const body:any = { method: 'GET-DOCUMENT-RECIPIENTS', data:data }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n convertirPDFPromise(data:{idProcess:string,filePath:string,idDocumentSigningProcess:number,idCompany:string}) {\n const body:any = { method: 'CONVERT-PDF-IMAGE', data:data }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } }).toPromise()\n }\n\n agregarFirmaHolografica(data:any) {\n const body:any = { method: 'ADD-HOLOGRAPHIC', data:data }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n agregarFirmaHolograficaPromise(data:any) {\n const body:any = { method: 'ADD-HOLOGRAPHIC', data:data }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } }).toPromise()\n }\n\n agregarFacial(data:any) {\n const body:any = { method: 'ADD-FACIAL', data:data }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n agregarAnotacion(data:any) {\n const body:any = { method: 'ADD-ANNOTATIONS', data:data }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n addAnnotation(data: IAddSign) {\n const body = { method: 'ADD-ANNOTATIONS', data };\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n agregarAnotacionPromise(data:any) {\n const body:any = { method: 'ADD-ANNOTATIONS', data:data }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } }).toPromise()\n }\n\n agregarVisado(data:any) {\n const body:any = { method: 'ADD-VISADO', data:data }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n agregarVisadoPromise(data:any) {\n const body:any = { method: 'ADD-VISADO', data:data }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } }).toPromise()\n }\n\n devolverProceso(id:number,dominio:string,obs:string,user:string){\n const body:requestBody = { method: 'PROCESS-RETURN', data: { subdomain:dominio, observation:obs,user:user,idSigningProcess:id } }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n\n }\n\n enviarCorreoContactarme(data:any) {\n const body:any = { method: 'SEND-EMAIL-NOTICE', data:data }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n obtenerDocumentoUuid(id:string,code:string){\n const body:requestBody = { method: 'GET-DOCUMENT-UUID', data: { id:id, code:code } }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n obtenerDocumentoUuidAutomatic(id:string){\n const body:requestBody = { method: 'GET-DOCUMENT-UUID-AUTOMATIC', data: { id:id} }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n obtenerDocumentoCodeAndPass(code:string,password:string){\n const body:requestBody = { method: 'GET-DOCUMENT-CODE-PASS', data: { code:code, password:password } }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n\n }\n\n obtenerDocumentoOldQr(code:string, subdominio:string){\n const body:requestBody = { method: 'GET-DOCUMENT-OLD-QR', data: { code:code, subdominio:subdominio } }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n\n }\n\n getSignedStatus(data: { idProcess: number, idDocumentSigningProcess: number }) {\n const body: any = { method: 'VIEW-DOCUMENT-SIGNED', data };\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } });\n }\n\n /** */\n executionArn(obj){\n return this.http.post(this.urlDescribeExecution, obj, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n agregarCertificadoFirmaMasiva(data:any) {\n const body:requestBody = { method: 'ADD-CERTIFICATE-DIGITAL', data: data }\n return this.http.post(this.urlProcesoFirmaMasiva, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n validarTokenFirmaMasiva(data:any) {\n const body:requestBody = { method: 'VALIDATE-TOKEN', data: data }\n return this.http.post(this.urlProcesoFirmaMasiva, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n agregarFacialFirmaMasiva(data:any) {\n const body:any = { method: 'ADD-FACIAL', data:data }\n return this.http.post(this.urlProcesoFirmaMasiva, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n itentosDesafioVida(data:any) {\n const body:any = { method: 'LIVENESS-ATTEMPS', data:data }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n agregarFirmaHolograficaIndividual(data:any) {\n const body:any = { method: 'ADD-HOLOGRAPHIC', data:data }\n return this.http.post(this.urlProcesoFirmaIndividual, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n measuresDocument(data:any) {\n const body:any = { method: 'MEASURES-DOCUMENT', data:data }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n sendRecoratorySign(data:any) {\n const body:any = { method: 'SEND-RECORDATORY-SIGN', data:data }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n descargarDocumento(data:any):Observable {\n const body:requestBody = { method: 'DOWNLOAD-DOCUMENT', data: data }\n return this.http.post(this.urlServiciosProceso, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { ReceptorService } from 'src/app/services/receptor.service';\nimport { UsuariosService } from '../services/usuarios.service';\nimport { AuthService } from '../services/auth.service';\nimport { PermisosService } from '../services/permisos.service';\nimport { EmpresaService } from '../services/empresa.service';\n\nimport { Auth } from 'aws-amplify'\n\nexport interface IExpirationTime {\n timeLeft: number;\n idTimer: any;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LoggedInGuard implements CanActivate {\n\n private IDExpirationTimer: any;\n timeLeft$: Subject = new Subject();\n refreshToken$ = new BehaviorSubject(null);\n\n constructor (\n private router: Router,\n public receptorService: ReceptorService,\n public usuarioService: UsuariosService,\n public authService: AuthService,\n public permisosService: PermisosService,\n public empresaService: EmpresaService\n ) {}\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\n\n // return true;\n return Auth.currentAuthenticatedUser().then(() => {\n return this.validacionTipoLogin()\n }).catch(() => { \n this.router.navigate(['/login']);\n return false;\n }); \n }\n\n subdomainUser:any\n async validacionTipoLogin(){\n let value = true\n let tipoLogin = localStorage.getItem('ACCESS_LOGIN')\n let options = localStorage.getItem('OPCIONES')\n this.subdomainUser = localStorage.getItem('ACESS_SUB')\n console.log('access',options)\n console.log('tipoLogin',tipoLogin)\n if((tipoLogin == 'GOOGLE' || tipoLogin == 'SIGNINWITHAPPLE' || tipoLogin == 'FACEBOOK') && options == null){\n console.log('Entrando Redes Sociales')\n const attr = await Auth.currentUserInfo()\n this.obtenerUsuario(attr.attributes)\n value = false;\n }\n this.handleTokenExpiration()\n return value\n }\n\n emailUser:any\n /*async getAttributes(){\n await Auth.currentUserInfo().then( user => {\n console.log('usuario info',user)\n this.emailUser = user.attributes.email\n let attrib = JSON.parse(user.attributes.identities)\n localStorage.setItem('GIVENNAME', user.attributes.given_name)\n localStorage.setItem('FAMILYNAME', user.attributes.family_name)\n localStorage.setItem('USERCREATOR', attrib[0].providerName.toUpperCase())\n //this.obtenerUsuario(user.attributes.email,this.subdomainUser,user.attributes)\n }).catch( err => {\n alert(err.message || JSON.stringify(err))\n })\n }*/\n\n companysUser:any = \"[{'id': 1, 'reasonSocial': 'INDIGITAL SOLUTIONS SAC', 'ruc': '0123456789'}]\"\n async obtenerUsuario(attributes:any) {\n this.emailUser = attributes.email\n let attrib = JSON.parse(attributes.identities)\n let newuser: any = {\n name: attributes.given_name,\n paternalSurname: attributes.family_name,\n maternalSurname: '',\n identityNumber: '12345678',\n email: attributes.email,\n phoneNumber:'+51999999999',\n login:'12345678',\n identityType:'DEFAULT',\n nationalType:'PE',\n idProfile: \"[2]\",\n role: [1],\n office:\"0\",\n document_visado:[],\n document_type:[],\n idTipoFirma:\"[1,2,4,5]\",\n editSignigProcess: false,\n enableSignigProcess: false,\n userCreator: attrib[0].providerName.toUpperCase(),\n subdomain: this.subdomainUser,\n companys: this.companysUser,\n user:attributes.email\n }\n await this.receptorService.createUserProvider(newuser).then(data => {\n console.log('success XD',data)\n this.dologin()\n })\n .catch(error => {\n console.log('error',error)\n })\n }\n\n /* async obtenerUsuario(email:any, subdominio:any,attributes:any) {\n this.receptorService.obtenerUsuarioProvider(email,subdominio).subscribe( data => {\n if(data != null && !data.exist){\n console.log('no existe')\n this.createUser(attributes)\n }else{\n console.log('existe')\n this.dologin()\n }\n }, error => {\n console.log('##### Error al obtener usuario ', error)\n })\n }\n\n companysUser:any = \"[{'id': 1, 'reasonSocial': 'INDIGITAL SOLUTIONS SAC', 'ruc': '0123456789'}]\"\n async createUser( attributes : any) {\n let attrib = JSON.parse(attributes.identities)\n let newuser: any = {\n name: attributes.given_name,\n paternalSurname: attributes.family_name,\n maternalSurname: '',\n identityNumber: '12345678',\n email: attributes.email,\n phoneNumber:'+51999999999',\n login:'12345678',\n identityType:'DEFAULT',\n nationalType:'PE',\n idProfile: \"[2]\",\n role: [1],\n office:\"0\",\n document_visado:[],\n document_type:[],\n idTipoFirma:\"[1]\",\n editSignigProcess: false,\n enableSignigProcess: false,\n userCreator: attrib[0].providerName.toUpperCase(),\n subdomain: this.subdomainUser,\n companys: this.companysUser\n }\n console.log('### newuser ', newuser)\n\n this.receptorService.crearUsuarioProvider(newuser).subscribe( data => {\n //console.log('##### Creación Usuario exitosa')\n this.dologin()\n }, error => {\n console.log('##### Error al crear usuario ', error)\n })\n }*/\n\n async dologin() {\n console.log('##### Entrando DoLogin')\n \n localStorage.setItem('AUTHUSER', this.emailUser)\n localStorage.setItem('AUTHSUBDOMINIO', this.subdomainUser)\n localStorage.setItem('AUTHRECAPCHA', 'false')\n localStorage.setItem('AUTHSTART', 'start')\n let tipoLogin = localStorage.getItem('ACCESS_LOGIN')\n localStorage.setItem('ACCESS_LOGIN',tipoLogin)\n localStorage.setItem('OPCIONES','[]')\n this.router.navigate(['/'])\n /* setTimeout(() => {\n console.log(\"inicio de session\")\n this.router.navigate(['/'])\n }, 5000)*/\n \n /* this.usuarioService.obtenerUsuario(this.emailUser, this.subdomainUser).subscribe(data => {\n console.log(\"VER\",data)\n this.authService.guardarDatos(data)\n //this.permisosService.setOpciones()\n this.router.navigate(['/'])\n this.empresaService.obtenerEmpresaActiva(this.authService.obtenerIdEmpresaActiva()).subscribe(data => {\n\n this.authService.guardarDataEmpresaActiva(data.find(c => c.id == this.authService.obtenerIdEmpresaActiva()))\n this.router.navigate(['/'])\n }, error => {\n console.log(error)\n //this.errorLogout()\n })\n\n }, error => {\n console.log(error)\n //this.errorLogout()\n })*/\n \n }\n\n async handleTokenExpiration(): Promise {\n const credentials = await Auth.currentUserCredentials();\n const expiration = credentials['expiration'];\n\n if (expiration) {\n const tokenExpirationDate = new Date(expiration);\n this.autoLogout(tokenExpirationDate.getTime() - new Date().getTime());\n localStorage.setItem('expiration', expiration.toString());\n }\n }\n\n private autoLogout(expirationDuration: number): void {\n const timeout = 30 * 1000;\n\n if (this.IDExpirationTimer) {\n clearTimeout(this.IDExpirationTimer);\n }\n \n this.IDExpirationTimer = setTimeout(() => {\n this.timeLeft$.next({\n timeLeft: timeout / 1000,\n idTimer: this.IDExpirationTimer\n });\n }, expirationDuration - timeout);\n }\n \n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { InputComponent } from './input/input.component';\nimport { DatepickerComponent } from './datepicker/datepicker.component';\nimport { AutocompleteComponent } from './autocomplete/autocomplete.component';\nimport { MultiselectComponent } from './multiselect/multiselect.component';\nimport { ModalComponent } from './modal/modal.component';\nimport { LoaderComponent } from './loader/loader.component';\nimport { TableComponent } from './table/table.component';\nimport { DropzoneComponent } from './dropzone/dropzone.component';\nimport { FormsModule } from '@angular/forms';\nimport { NotificationsComponent } from './notifications/notifications.component';\nimport { WizardComponent } from './wizard/wizard.component';\nimport { PasswordValidatorsComponent } from './password-validators/password-validators.component';\nimport { S3ImageComponent } from './s3-image/s3-image.component';\nimport { SwitchComponent } from './switch/switch.component';\nimport { MegaFilterComponent } from './mega-filter/mega-filter.component';\nimport { MegaFilterPaginationComponent } from './megafilter-pagination/megafilter-pagination.component';\nimport { PdfOverlayComponent } from './pdf-overlay/pdf-overlay.component';\nimport { FirmarPdfComponent } from './firmar-pdf/firmar-pdf.component';\n// import { NgxExtendedPdfViewerModule } from 'ngx-extended-pdf-viewer';\nimport { AngularSignaturePadModule } from '@almothafar/angular-signature-pad';\nimport { WizardStepComponent } from './wizard-step/wizard-step.component';\nimport { FirmarPdfMasivoComponent } from './firmar-pdf-masivo/firmar-pdf-masivo.component';\nimport { CountdownComponent } from './countdown/countdown.component';\nimport { FirmaFacialComponent } from './firma-facial/firma-facial.component';\nimport { WebcamModule } from 'ngx-webcam';\nimport { DaterangepickerComponent } from './daterangepicker/daterangepicker.component';\nimport { PickerCalendarComponent } from './picker-calendar/picker-calendar.component';\nimport { TerminosYCondicionesComponent } from './terminos-y-condiciones/terminos-y-condiciones.component';\nimport { DotNewComponent } from './dot-new/dot-new.component';\nimport { CustomColorDirective } from '../directives/custom-color.directive';\nimport { MaterialModule } from './material.module';\nimport { AlertComponent } from './alert/alert.component';\nimport { PlaceholderDirective } from '../directives/placeholder/placeholder.directive';\nimport { CapitalizeNamePipe } from '../pipes/capitalize-name.pipe';\nimport { BoxAreaComponent } from './box-area/box-area.component';\nimport { LivenessDetectionComponent } from './liveness-detection/liveness-detection.component';\nimport { CapitalizeFirstPipe } from '@noe/pipes/capitalize-first.pipe';\nimport { TooltipComponent } from './tooltip/tooltip.component';\nimport { InputPasswordDirective } from '@noe/directives/input-password/input-password.directive'\nimport { MenuDropdownDirective } from '@noe/directives/menu-dropdown/menu-dropdown.directive';\nimport { SearchComponent } from './search/search.component';\nimport { TextValueAccessorDirective } from '@noe/directives/control-value-accessor/text-value-accessor.directive';\nimport { TablePaginationComponent } from './table-pagination/table-pagination.component';\nimport { TableScrollComponent } from './table-scroll/table-scroll.component';\nimport { ModalInicioComponent } from './modal-inicio/modal-inicio.component';\nimport { ModalLecturaComponent } from './modal-lectura/modal-lectura.component';\nimport { FirmarPdfNuevoComponent } from './firmar-pdf-nuevo/firmar-pdf-nuevo.component';\nimport { S3ImagePreviewComponent } from './s3-image-preview/s3-image-preview.component';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { LoaderScrollComponent } from './loader-scroll/loader-scroll.component';\nimport { NgxCopilotModule } from 'ngx-copilot';\nimport { ModalFelicitacionesComponent } from './modal-felicitaciones/modal-felicitaciones.component';\nimport { ModalVisorComponent } from './modal-visor/modal-visor.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\nimport { LoaderScrollPreviewComponent } from './loader-scroll-preview/loader-scroll-preview.component';\nimport { LoaderFirmarComponent } from './loader-firmar/loader-firmar.component';\nimport { DropzoneSubirComponent } from './dropzone-subir/dropzone-subir.component';\nimport { ModalDocumentosComponent } from './modal-documentos/modal-documentos.component';\nimport { S3ImageMainComponent } from './s3-image-main/s3-image-main.component';\nimport { LoaderFullScreenComponent } from './loader-full-screen/loader-full-screen.component';\nimport { NgOtpInputModule } from 'ng-otp-input';\nimport { LoaderImgComponent } from './loader-img/loader-img.component';\nimport { S3ImageBloqueoComponent } from './s3-image-bloqueo/s3-image-bloqueo.component';\nimport { DropzoneAvatarComponent } from './dropzone-avatar/dropzone-avatar.component';\nimport { DropzoneDocumentosComponent } from './dropzone-documentos/dropzone-documentos.component';\nimport { MegaFilterSelectComponent } from './megafilter-select/megafilter-select.component';\nimport { MegaFilterColorComponent } from './mega-filter-color/mega-filter-color.component';\nimport { DropzoneSubirFreeComponent } from './dropzone-subir-free/dropzone-subir-free.component';\nimport { FirmarPdfFreeComponent } from './firmar-pdf-free/firmar-pdf-free.component';\nimport { ModalFreeComponent } from './modal-free/modal-free.component';\nimport { TablePaginationColorComponent } from './table-pagination-color/table-pagination-color.component';\nimport { S3ImageDestinatarioComponent } from './s3-image-destinatario/s3-image-destinatario.component';\nimport { ModalTercerosComponent } from './modal-terceros/modal-terceros.component';\nimport { CountdownTercerosComponent } from './countdown-terceros/countdown-terceros.component';\nimport { TerminosYCondicionesPlanComponent } from './terminos-y-condiciones-plan/terminos-y-condiciones-plan.component';\nimport { TablePaginationUsuariosComponent } from './table-pagination-usuarios/table-pagination-usuarios.component';\n\n@NgModule({\n declarations: [\n InputComponent, \n DatepickerComponent, \n AutocompleteComponent,\n SearchComponent, \n MultiselectComponent, \n ModalComponent, \n ModalTercerosComponent,\n ModalFreeComponent,\n ModalInicioComponent, \n ModalLecturaComponent,\n ModalFelicitacionesComponent,\n ModalDocumentosComponent,\n ModalVisorComponent,\n AlertComponent,\n LoaderComponent, \n LoaderImgComponent,\n LoaderFullScreenComponent,\n LoaderFirmarComponent,\n LoaderScrollComponent,\n LoaderScrollPreviewComponent,\n TableComponent,\n TableScrollComponent,\n TablePaginationComponent,\n TablePaginationUsuariosComponent,\n TablePaginationColorComponent,\n DropzoneComponent, \n DropzoneAvatarComponent,\n DropzoneDocumentosComponent,\n DropzoneSubirComponent,\n DropzoneSubirFreeComponent,\n NotificationsComponent, \n WizardComponent, \n PasswordValidatorsComponent, \n S3ImageComponent, \n S3ImageDestinatarioComponent,\n S3ImageBloqueoComponent,\n S3ImageMainComponent,\n SwitchComponent, \n MegaFilterComponent,\n MegaFilterColorComponent,\n MegaFilterPaginationComponent,\n MegaFilterSelectComponent,\n PdfOverlayComponent,\n FirmarPdfComponent,\n WizardStepComponent,\n FirmarPdfMasivoComponent,\n CountdownComponent,\n CountdownTercerosComponent,\n FirmaFacialComponent,\n DaterangepickerComponent,\n PickerCalendarComponent,\n TerminosYCondicionesComponent,\n TerminosYCondicionesPlanComponent,\n DotNewComponent,\n BoxAreaComponent,\n LivenessDetectionComponent,\n TooltipComponent,\n CustomColorDirective,\n PlaceholderDirective,\n InputPasswordDirective,\n MenuDropdownDirective,\n TextValueAccessorDirective,\n CapitalizeNamePipe,\n CapitalizeFirstPipe,\n S3ImagePreviewComponent,\n FirmarPdfNuevoComponent,\n FirmarPdfFreeComponent,\n CapitalizeFirstPipe\n //TabGroupCustomComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n AngularSignaturePadModule,\n WebcamModule,\n MaterialModule,\n ScrollingModule,\n MatTabsModule,\n MatTooltipModule,\n NgxCopilotModule,\n InfiniteScrollModule,\n NgOtpInputModule\n ],\n exports: [\n InputComponent, \n DatepickerComponent, \n AutocompleteComponent,\n SearchComponent,\n MultiselectComponent,\n ModalComponent,\n ModalTercerosComponent,\n ModalFreeComponent,\n ModalInicioComponent, \n ModalLecturaComponent, \n ModalFelicitacionesComponent,\n ModalDocumentosComponent,\n ModalVisorComponent,\n AlertComponent,\n LoaderComponent,\n LoaderImgComponent,\n LoaderFullScreenComponent,\n LoaderFirmarComponent,\n LoaderScrollComponent,\n LoaderScrollPreviewComponent,\n TableComponent,\n TableScrollComponent,\n TablePaginationComponent,\n TablePaginationUsuariosComponent,\n TablePaginationColorComponent,\n DropzoneComponent,\n DropzoneAvatarComponent,\n DropzoneDocumentosComponent,\n DropzoneSubirComponent,\n DropzoneSubirFreeComponent,\n NotificationsComponent,\n WizardComponent,\n PasswordValidatorsComponent,\n S3ImageComponent,\n S3ImageDestinatarioComponent,\n S3ImageBloqueoComponent,\n S3ImageMainComponent,\n SwitchComponent,\n MegaFilterComponent,\n MegaFilterColorComponent,\n MegaFilterPaginationComponent,\n MegaFilterSelectComponent,\n PdfOverlayComponent,\n FirmarPdfComponent,\n WizardStepComponent,\n CountdownComponent,\n CountdownTercerosComponent,\n FirmaFacialComponent,\n DaterangepickerComponent,\n TerminosYCondicionesComponent,\n TerminosYCondicionesPlanComponent,\n DotNewComponent,\n BoxAreaComponent,\n LivenessDetectionComponent,\n TooltipComponent,\n CustomColorDirective,\n PlaceholderDirective,\n InputPasswordDirective,\n MenuDropdownDirective,\n TextValueAccessorDirective,\n CapitalizeNamePipe,\n CapitalizeFirstPipe,\n MaterialModule,\n S3ImagePreviewComponent,\n FirmarPdfNuevoComponent,\n FirmarPdfFreeComponent,\n ScrollingModule,\n NgxCopilotModule,\n InfiniteScrollModule,\n NgOtpInputModule\n ]\n})\nexport class SharedModule { }\n","import {\n Directive,\n Input, \n OnChanges,\n SimpleChanges\n} from \"@angular/core\";\n\n@Directive({\n selector: '[appThemeColor]'\n})\nexport class CustomColorDirective implements OnChanges {\n\n @Input('appThemeColor') customThemeColor: string;\n\n private readonly defaultColor = '#119ad7';\n\n ngOnChanges(change: SimpleChanges): void {\n const { customThemeColor } = change;\n\n if (customThemeColor) {\n const color = customThemeColor.currentValue ?? this.defaultColor;\n document.documentElement.style.setProperty('--primary', color);\n }\n }\n}","import { Injectable } from '@angular/core';\nimport { Subject, Observable, BehaviorSubject } from 'rxjs';\n\n@Injectable()\nexport class SharedActivarCargaDocumento {\n\n private sharedActivate: Subject = new Subject();\n sharedActivar$: Observable = this.sharedActivate.asObservable();\n\n constructor() { }\n\n setData(status) {\n this.sharedActivate.next(status);\n }\n\n}","import { Component, OnInit, ViewChild, Input, Output, ElementRef, EventEmitter } from '@angular/core';\nimport { NotificationsService } from '../../services/notifications.service';\n\ntype format = 'img' | 'pdf' | 'excel' | 'zip' | 'word';\n@Component({\n selector: 'app-dropzone-subir',\n templateUrl: './dropzone-subir.component.html',\n styleUrls: ['./dropzone-subir.component.scss'],\n host: { class: 'app-dropzone-subir' }\n})\nexport class DropzoneSubirComponent implements OnInit {\n\n @ViewChild('fileInput') input:ElementRef\n @ViewChild('fileInputMulti') inputMulti:ElementRef\n\n @Input('placeholder') placeholder:string = 'Arrastre un archivo aquí (2 MB)'\n @Input('preview') preview:boolean = true\n @Input('formats') formats: format[] = ['img']\n @Input('multi') multi:boolean\n @Input('less-padding') lessPadding:boolean\n @Input('esFacial') esFacial:boolean = false\n @Input('esPersonalizacion') esPersonalizacion:boolean = false\n\n\n @Output()\n onconvert: EventEmitter = new EventEmitter()\n @Output()\n ondrop: EventEmitter = new EventEmitter()\n dimensions: any[];\n formartImg: boolean = false;\n pesoImg: boolean = false;\n \n constructor( public notify: NotificationsService) { }\n\n ngOnInit(): void {\n }\n\n handleClick() {\n this.multi ? this.inputMulti.nativeElement.click() : this.input.nativeElement.click()\n }\n\n allowDrop(e) {\n e.stopPropagation();\n e.preventDefault();\n }\n\n drop(e) {\n e.preventDefault();\n let files = e.dataTransfer.files\n this.validate(files)\n }\n\n change(e) {\n let files = e.target.files\n this.validate(files)\n }\n \n validate(files:File[]) {\n const dim = this;\n dim.dimensions = []\n let valid:boolean = false\n let counter:number = 0\n\n while (!valid && counter < files.length) {\n\n switch (files[counter].type) {\n case 'image/jpeg': case 'image/png':\n this.formartImg = false;\n if (this.formats.includes('img') && files[counter].size <= 262150 && !this.esFacial){\n valid = true\n this.pesoImg = false;\n const rspValid = this.getDimessions(files[counter])\n this.validDimensions\n console.log(this.validDimensions)\n console.log(\"rspValid\", rspValid )\n }else if(this.formats.includes('img') && this.esFacial && files[counter].size <= 1048576){\n valid = true\n this.pesoImg = false;\n }else if(this.formats.includes('img') && this.esPersonalizacion && files[counter].size <= 1048576){\n valid = true\n this.pesoImg = false;\n } \n\n if(this.formats.includes('img') && files[counter].size > 262150 && !this.esFacial) {\n this.pesoImg = true;\n const rspValid = this.getDimessions(files[counter])\n this.validDimensions\n\n }else if(this.formats.includes('img') && this.esFacial && files[counter].size > 1048576){\n this.pesoImg = true;\n }else if(this.formats.includes('img') && this.esPersonalizacion && files[counter].size > 1048576){\n this.pesoImg = true;\n }\n\n break\n \n case 'application/pdf':\n if (this.formats.includes('pdf')) valid = true\n this.formartImg = true;\n break\n\n case 'application/pdf':\n if (this.formats.includes('pdf')) valid = true\n this.formartImg = true;\n break\n\n case 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet':\n case 'application/vnd.ms-excel':\n valid = this.formats.includes('excel');\n this.formartImg = true;\n break;\n case 'application/vnd.openxmlformats-officedocument.wordprocessingml.document':\n valid = this.formats.includes('word');\n this.formartImg = true;\n break;\n case 'application/zip': case 'application/x-zip-compressed':\n if (this.formats.includes('zip')) valid = true\n this.formartImg = true;\n break\n }\n counter ++\n }\n\n setTimeout(() => {\n if (valid && this.validDimensions) {\n this.ondrop.emit(this.multi ? files : files[0])\n if (this.preview) this.getBase(files[0])\n } \n if(this.formartImg) {\n this.notify.info(\"El formato de la imagen no es correcto.\");\n }\n }, 500)\n\n }\n\n conversionLoading:boolean\n base:any\n getBase(img:any) {\n\n this.conversionLoading = true\n const reader = new FileReader\n reader.onload = e => {\n this.base = e.target.result\n this.conversionLoading = false\n this.onconvert.emit(this.base)\n }\n reader.readAsDataURL(img)\n \n }\n\n validDimensions:boolean = false;\n async getDimessions(file:any){\n const reader = await new FileReader;\n reader.onload = e => {\n const img = new Image();\n img.onload = () => {\n console.log({\n width: img.naturalWidth,\n height: img.naturalHeight,\n })\n if (img.naturalWidth > 300 || img.naturalHeight > 200) {\n console.log(1)\n this.validDimensions = false\n this.notify.info(\"Dimensiones incorrectas.\")\n if(this.pesoImg) {\n this.notify.info(\"La imagen excede el peso.\");\n }\n }else{\n console.log(2)\n this.validDimensions = true\n if(this.pesoImg) {\n this.notify.info(\"La imagen excede el peso.\");\n }\n //this.notify.info(\"Dimensiones correctas.\")\n }\n };\n img.src = reader.result as string;\n }\n reader.readAsDataURL(file);\n }\n\n displaySize(size) {\n if (size < 1048576) {\n return (size / 1024).toFixed(2) + ' KB';\n } else {\n return (size / 1048576).toFixed(2) + ' MB';\n }\n }\n\n}\n","\n\n\n
\n\n
\n \n {{placeholder}}\n
Tamaño: 300 x 200 px
\n
o
\n
Seleccione un archivo
\n
\n\n
\n","import { \n Component, \n OnInit, \n Input, \n Output, \n ViewChild, \n ElementRef, \n HostListener, \n EventEmitter, \n OnChanges, \n SimpleChanges\n} from '@angular/core';\n\nimport { SignaturePadComponent } from '@almothafar/angular-signature-pad';\nimport { Storage } from 'aws-amplify';\n\nimport { FirmaHolograficaService } from 'src/app/services/firma-holografica.service';\nimport { S3ImageComponent } from '../s3-image/s3-image.component';\nimport { firma } from 'src/app/util/types';\nimport { ModalComponent } from '../modal/modal.component';\nimport { FirmaHolografica } from 'src/app/models/FirmaHolografica.model';\nimport { NotificationsService } from 'src/app/services/notifications.service';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { FirmarPdfService } from './fimar-pdf.service';\nimport { ServiciosProcesoService } from '../../services/servicios-proceso.service';\n\n@Component({\n selector: 'app-firmar-pdf',\n templateUrl: './firmar-pdf.component.html',\n styleUrls: ['./firmar-pdf.component.scss'],\n providers: [FirmarPdfService]\n})\nexport class FirmarPdfComponent implements OnChanges, OnInit {\n\n @ViewChild('signature') pad:SignaturePadComponent\n @ViewChild('viewer') viewer: ElementRef\n @ViewChild('current') current: S3ImageComponent\n @ViewChild('modalDibujar') modalDibujar:ModalComponent\n @ViewChild('modalCargar') modalCargar:ModalComponent\n @ViewChild('modalTerminos') modalTerminos:ModalComponent\n @ViewChild('modalCambiarmeCuentaPago') modalCambiarmeCuentaPago:ModalComponent\n\n @ViewChild('currentPage') inputSearch;\n\n @Input('masivo') set masivo (valor: boolean) {\n this._masivo = valor\n }\n pdfList:any[] = []\n @Input('pdfList') set getPdfList (lista: any) {\n this.pdfList = [...lista];\n\n if (this._masivo) {\n this.initFirmasMasivo();\n }\n }\n @Input('files') files:string[] = [];\n loaderFirmar:boolean = false\n @Input('loading') set getLoading (estado: any) {\n this.loaderFirmar = estado\n }\n\n @Input('currentDoc') currentDoc: any;\n @Output() \n onconfirm: EventEmitter = new EventEmitter()\n @Output() onCheckTodosPaginas: EventEmitter = new EventEmitter()\n\n masivoCurrent: number = 0;\n _masivo:boolean;\n // only for single doument.\n isSignedDoc: boolean = false;\n esGratis:boolean\n checkPaginas : boolean = false\n\n \n \n constructor(\n public firmaHolograficaService: FirmaHolograficaService,\n public notify: NotificationsService,\n public authService: AuthService,\n private signService: FirmarPdfService,\n public serviciosProcesoService: ServiciosProcesoService\n ) { \n \n }\n\n draggingCorner: boolean\n draggingWindow: boolean\n\n ngOnChanges(change: SimpleChanges): void {\n this.checkPaginas = false \n this.loaderFirmar = false;\n const { masivo, currentDoc } = change;\n if (masivo) {\n this.masivo = masivo.currentValue;\n this.signService.buildCheckboxesStatus(this.pdfList.length);\n this.signService.buildSignaturesStatus(this.pdfList.length);\n }\n\n if (!!currentDoc && currentDoc?.currentValue) {\n const { signedStatusDocument, statusSignatureExternal } = currentDoc.currentValue;\n this.isSignedDoc = !!signedStatusDocument && !!this.authService.obtenerEstadoActivarTimbrado() && !statusSignatureExternal;\n }\n }\n\n\n ngOnInit(): void {\n this.listarFirmasHolograficas();\n this.esGratis = this.authService.obtenerTipoCuenta() === 'GRATUITA'\n //this.esGratis = true\n }\n \n checkFirmarTodas:boolean\n\n mensaje: string = \"Firmar\";\n saludo(value) {\n this.mensaje = value;\n }\n \n initFirmasMasivo() {\n this.firmasMasivo.length = this.pdfList.length;\n this.firmasMasivo.forEach(f => {\n f = []; \n f.forEach(p => {\n p = [];\n });\n });\n }\n\n \n //christian anchivilca\n comboPersonalizacionSelect:any \n idNameCombo:string\n idKeyCombo:string\n verNumeroPaginas :boolean=false\n txtNumeroPaginas:string\n tipos:any[] = [\n 'Todos',\n //'Personalizado'\n ]\n\n options = [\n \n { name: \"Todos\", value: 1 },\n //{ name: \"Personalizado\", value: 2 }\n ]\n\n getPersonalizar(){\n //this.comboPersonalizacionSelect = this.tipos[this.tipos.length - 1]\n if(this.comboPersonalizacionSelect === 'Personalizado'){\n this.verNumeroPaginas = true\n }else{\n this.verNumeroPaginas = false\n }\n\n }\n\n firmaSeleccionada:any\n \n firmasUsuario:any[] = []\n loadingFirmas:boolean\n listarFirmasHolograficas() {\n \n this.loadingFirmas = true\n this.firmaHolograficaService.listarFirmas(\n this.authService.obtenerIdEmpresaActiva(),\n this.authService.obtenerUsername()\n ).subscribe(data => {\n this.firmasUsuario = [...data]\n this.firmaSeleccionada = this.firmasUsuario[this.firmasUsuario.length - 1]?.route\n this.loadingFirmas = false\n }, error => {\n console.log(error)\n this.loadingFirmas = false\n })\n }\n\n\n iterar:number[] = [0,1]\n\n hayFirmas: boolean = false;\n firmas:firma[][] = []\n firmasMasivo:firma[][][] = [[]]\n indexMasivo:number \n\n accept:boolean\n recibeAccept(e) {\n this.accept = e;\n }\n\n addFirma(e: MouseEvent, index: number, masivoIndex: number = null) {\n const target: HTMLImageElement = e.target as HTMLImageElement;\n\n this.recibeAccept(e);\n\n if (!this._masivo && this.isStamped(index)) {\n return;\n }\n if (this.draggingWindow || this.draggingCorner || !this.firmaSeleccionada) {\n return;\n }\n if (this.hayFirmas) {\n return;\n }\n \n const firma = {\n key: this.current.key,\n src: this.current.el.nativeElement.src,\n x: e.offsetX,\n y: e.offsetY,\n height: this.current.el.nativeElement.height,\n width: this.current.el.nativeElement.width,\n minArea: e.offsetY * e.offsetX,\n docClientHeight: target.clientHeight,\n docClientWidth: target.clientWidth,\n docNaturalHeight: target.naturalHeight,\n docNaturalWidth: target.naturalWidth,\n page: (masivoIndex ? masivoIndex + 1 : index + 1).toString()\n }\n\n if (this._masivo) {\n\n if (!this.firmasMasivo[index][masivoIndex]) this.firmasMasivo[index][masivoIndex] = []\n this.firmasMasivo[index][masivoIndex].push(firma);\n \n this.signService.signStatusList[this.masivoCurrent] = true;\n } else {\n if (!this.firmas[index]) this.firmas[index] = []\n this.firmas[index].push(firma);\n }\n\n this.hayFirmas = true;\n }\n\n remove(doc: number, firma: number, masivoFirma: number = null) {\n if (this._masivo) {\n this.firmasMasivo[doc][firma].splice(masivoFirma, 1);\n this.signService.signStatusList[this.masivoCurrent] = false;\n } else {\n this.firmas[doc].splice(firma, 1);\n }\n this.hayFirmas = false;\n }\n\n isMassiveStamped(document: any, indexImage: number) {\n const { imagenes, signedStatusDocument } = document;\n\n return !!signedStatusDocument && indexImage === imagenes.length - 1;\n }\n\n isStamped(indexPage: number): boolean {\n const isLastPage = indexPage === this.files.length - 1;\n return isLastPage && this.isSignedDoc;\n }\n\n /*accept:boolean\n handleAccept() {\n if (this.accept) {\n this.accept = false\n } else {\n this.modalTerminos.open()\n }\n }*/\n\n \n handleCheck() {\n\n\n if(this.esGratis){\n\n this.modalCambiarmeCuentaPago.open()\n\n }else{\n\n if (this.checkPaginas) {\n this.checkPaginas = false\n this.verNumeroPaginas = false\n } else {\n \n \n this.checkPaginas = true\n if(this.comboPersonalizacionSelect === 'Personalizado'){\n this.verNumeroPaginas = true\n \n }else{\n this.verNumeroPaginas = false\n }\n }\n \n if (this._masivo) {\n this.signService.checkStatusList[this.masivoCurrent] = this.checkPaginas;\n }\n \n this.onCheckTodosPaginas.emit(this.checkPaginas);\n\n }\n \n }\n\n modalCambiarmeCuentaPagoLoading:boolean\n aceptarCambiarmeCuentaPago(){\n this.modalCambiarmeCuentaPagoLoading = true\n const data:any={\n idCompany:this.authService.obtenerIdEmpresaActiva(),\n user:this.authService.obtenerUsername(),\n subdomain:this.authService.obtenerSubdominio()\n \n \n }\n this.serviciosProcesoService.enviarCorreoContactarme(data).subscribe(data => {\n // console.log(\"\"data)\n this.notify.success(\"Se envió la solicitud correctamente.\")\n this.modalCambiarmeCuentaPagoLoading = false\n this.modalCambiarmeCuentaPago.close()\n //this.modalContactarCuentaFreeLoading = false\n }, error => {\n this.notify.error('Ocurrio un error inesperado')\n this.modalCambiarmeCuentaPagoLoading = false\n this.modalCambiarmeCuentaPago.close()\n //this.modalContactarCuentaFreeLoading = false\n })\n\n }\n\n enviar() {\n if (this._masivo) {\n this.setSignMassiveWithChecks();\n }\n\n this.loaderFirmar = true;\n\n this.onconfirm.emit(this._masivo ? this.firmasMasivo : this.firmas);\n }\n\n /**\n * Set massive signature with checkAllPages property.\n */\n setSignMassiveWithChecks(): void {\n const checkList = this.signService.checkStatusList;\n\n this.firmasMasivo = this.firmasMasivo.map((pdfs: firma[][], index) => {\n return pdfs.map((pdfArr) => {\n return pdfArr.map((pdf) => {\n return {\n ...pdf,\n checkAllPages: checkList[index]\n };\n });\n });\n });\n }\n\n\n\n // DRAG & RESIZE\n\n\n\n area(f:firma) {\n return f.width * f.height;\n }\n\n currentFirma:firma = {}\n onWindowPress(event: MouseEvent, f:firma) {\n this.currentFirma = f\n this.draggingWindow = true;\n this.currentFirma.px = event.clientX;\n this.currentFirma.py = event.clientY;\n }\n\n onWindowDrag(event: MouseEvent) {\n if (!this.draggingWindow) {\n return;\n }\n let offsetX = event.clientX - this.currentFirma.px;\n let offsetY = event.clientY - this.currentFirma.py;\n\n this.currentFirma.x += offsetX;\n this.currentFirma.y += offsetY;\n this.currentFirma.px = event.clientX;\n this.currentFirma.py = event.clientY;\n }\n\n topLeftResize(offsetX: number, offsetY: number) {\n this.currentFirma.x += offsetX;\n this.currentFirma.y += offsetY;\n this.currentFirma.width -= offsetX;\n this.currentFirma.height -= offsetY;\n }\n\n topRightResize(offsetX: number, offsetY: number) {\n this.currentFirma.y += offsetY;\n this.currentFirma.width += offsetX;\n this.currentFirma.height -= offsetY;\n }\n\n bottomLeftResize(offsetX: number, offsetY: number) {\n this.currentFirma.x += offsetX;\n this.currentFirma.width -= offsetX;\n this.currentFirma.height += offsetY;\n }\n\n bottomRightResize(offsetX: number, offsetY: number) {\n this.currentFirma.width += offsetX;\n this.currentFirma.height += offsetY;\n }\n\n onCornerClick(event: MouseEvent, f:firma, resizer?:string) {\n this.currentFirma = f\n this.draggingCorner = true;\n this.currentFirma.px = event.clientX;\n this.currentFirma.py = event.clientY;\n this.currentFirma.resizer = resizer;\n event.preventDefault();\n event.stopPropagation();\n }\n\n @HostListener('document:mousemove', ['$event'])\n onCornerMove(event: MouseEvent) {\n if (!this.draggingCorner) {\n return;\n }\n\n let offsetX = event.clientX - this.currentFirma.px;\n let offsetY = event.clientY - this.currentFirma.py;\n\n let lastX = this.currentFirma.x;\n let lastY = this.currentFirma.y;\n let pWidth = this.currentFirma.width;\n let pHeight = this.currentFirma.height;\n\n this[this.currentFirma.resizer](offsetX, offsetY);\n if (this.area(this.currentFirma) < 2000) {\n this.currentFirma.x = lastX;\n this.currentFirma.y = lastY;\n this.currentFirma.width = pWidth;\n this.currentFirma.height = pHeight;\n }\n this.currentFirma.px = event.clientX;\n this.currentFirma.py = event.clientY;\n }\n\n @HostListener('document:mouseup', ['$event'])\n onCornerRelease(event: MouseEvent) {\n this.draggingWindow = false;\n this.draggingCorner = false;\n }\n\n\n\n\n preview:string\n setPreview(base:string) {\n this.preview = base\n }\n\n title:string\n titleDraw:string\n titleUpload:string\n titleWrite:string\n descriptionDraw:string\n descriptionWrite:string\n descriptionUpload:string\n signWrite:string\n\n description:string\n baseFirma:any\n blob:any\n currentFirmaNueva:any\n\n tab:number\n\n\n tabs(id:number){\n this.tab = id\n console.log('pintame el tabs',this.tab)\n }\n\n save() {\n console.log(\"pintame imagen\",this.blob)\n this.pad.getCanvas().toBlob((blob) => {this.blob = blob}, 'image/jpg', 0.95)\n this.baseFirma = this.pad.toDataURL()\n console.log(\"pintame imagen 2\",this.baseFirma)\n }\n\n /*clear() {\n if (this.tab == 1) {\n this.pad.clear()\n this.blob = null\n this.baseFirma = false\n console.log('pintame el tabs',this.tab)\n }else if (this.tab == 2) {\n this.signWrite = null\n console.log('pintame el tabs',this.tab)\n }else if (this.tab == 3) {\n this.preview = null\n this.blob = null\n console.log('pintame el tabs',this.tab)\n }\n }*/\n clear() {\n this.pad.clear()\n this.blob = null\n this.baseFirma = false\n }\n\n\n cargarLoadingFirma:boolean\n async cargarFirma() {\n\n //Validacion de campos para carga de firma\n let validation = this.validarCargarFirma()\n if (!validation){\n this.notify.info('Completar los datos para cargar la firma.')\n return;\n }\n \n this.cargarLoadingFirma = true\n const timestamp:number = new Date().getTime()\n const key:string = `${this.authService.obtenerRucEmpresaActiva()}/usuarios/${this.authService.obtenerDocumento()}/firmas_holografas/${timestamp}.jpg`\n const ruta:string = `public/${key}`\n\n if (this.tab != 2){\n if (this.blob.size > 50000){\n this.notify.info('Por favor ingrese otra imagen de menor peso. Verificar la indicaciones dadas.')\n this.cargarLoadingFirma = false\n return\n }\n \n try {\n await Storage.put(key, this.blob)\n } catch (error) {\n this.notify.error('Hubo un problema al cargar las imágen')\n }\n }\n\n if (this.tab == 1) {\n this.title = this.titleDraw\n this.description = this.descriptionDraw\n console.log('title', this.title)\n console.log('description', this.description)\n } else if (this.tab == 2) {\n this.title = this.titleWrite\n this.description = this.descriptionWrite\n console.log('title', this.title)\n console.log('description', this.description)\n } else if (this.tab == 3) {\n this.title = this.titleUpload\n this.description = this.descriptionUpload\n console.log('title', this.title)\n console.log('description', this.description)\n }\n\n const firma:FirmaHolografica = {\n title: this.title,\n description: this.description,\n route: ruta,\n user: this.authService.obtenerUsername(),\n idCompany: this.authService.obtenerIdEmpresaActiva(),\n textoFirma: this.signWrite //Añadido para convertir texto en imagen\n }\n console.log('Firma enviada', firma)\n\n this.firmaHolograficaService.crearFirma(firma).subscribe(data => {\n\n this.listarFirmasHolograficas()\n this.modalCargar.close()\n this.modalDibujar.close()\n this.notify.success('Operación exitosa')\n this.reset()\n }, error => {\n this.cargarLoadingFirma = false\n this.notify.error('Hubo un problema al crear su firma')\n })\n\n }\n\n validarCargarFirma(): boolean {\n console.log(\"tab\", this.tab)\n if (this.tab == 1 && this.blob != undefined && this.descriptionDraw != undefined && this.titleDraw != undefined && this.blob != null &&\n this.descriptionDraw != null && this.titleDraw != null && this.descriptionDraw != '' && this.titleDraw != '') {\n return true;\n } else if (this.tab == 2 && this.signWrite != undefined && this.descriptionWrite != undefined && this.titleWrite != undefined && this.signWrite != null &&\n this.descriptionWrite != null && this.titleWrite != null && this.descriptionWrite != '' && this.titleWrite != '') {\n return true;\n } else if (this.tab == 3 && this.preview != undefined && this.descriptionUpload != undefined && this.titleUpload != undefined && this.preview != null &&\n this.descriptionUpload != null && this.titleUpload != null && this.descriptionUpload != '' && this.titleUpload != '') {\n return true;\n } else if (this.tab == undefined && this.title != undefined && this.title != null && this.title != '') {\n return true;\n } else {\n return false;\n }\n }\n\n reset() {\n this.preview = null\n this.blob = null\n this.baseFirma = null\n this.cargarLoadingFirma = false\n this.title = null\n this.description = null\n this.currentFirmaNueva = null\n \n this.titleDraw = null\n this.titleWrite = null\n this.titleUpload = null\n\n this.descriptionDraw = null\n this.descriptionWrite = null\n this.descriptionUpload = null\n\n this.signWrite = null\n this.pad.clear()\n }\n\n documentListShown:boolean = false\n\n navegarMasivo(action:string) {\n \n if (action === 'prev') {\n if (this.masivoCurrent > 0) {\n if (!this.firmasMasivo[this.masivoCurrent - 1]) this.firmasMasivo[this.masivoCurrent - 1] = [[]]\n this.masivoCurrent--;\n }\n\n } else {\n if (this.masivoCurrent < this.pdfList.length - 1) {\n if (!this.firmasMasivo[this.masivoCurrent + 1]) this.firmasMasivo[this.masivoCurrent + 1] = [[]]\n this.masivoCurrent++;\n }\n }\n\n this.checkPaginas = this.signService.checkStatusList[this.masivoCurrent];\n this.hayFirmas = this.signService.signStatusList[this.masivoCurrent];\n }\n\n /*numPag: number = 0;\n navegarMasivo(action:string) {\n this.inputSearch.nativeElement.value = ' ';\n //console.log(this.inputSearch.nativeElement.value);\n\n if (action === 'prev') {\n if (this.masivoCurrent > 0) {\n if (!this.firmasMasivo[this.masivoCurrent - 1]) this.firmasMasivo[this.masivoCurrent - 1] = [[]]\n this.masivoCurrent--;\n }\n this.numPaginas();\n } else {\n if (this.masivoCurrent < this.pdfList.length - 1) {\n if (!this.firmasMasivo[this.masivoCurrent + 1]) this.firmasMasivo[this.masivoCurrent + 1] = [[]]\n this.masivoCurrent++;\n }\n console.log(this.masivoCurrent++);\n this.numPaginas();\n }\n\n this.checkPaginas = this.signService.checkStatusList[this.masivoCurrent];\n this.hayFirmas = this.signService.signStatusList[this.masivoCurrent];\n }\n\n vnumPag: number\n sendValue(inputValue) {\n this.vnumPag = inputValue\n console.log(this.vnumPag);\n\n const data:any={\n idCompany:this.authService.obtenerIdEmpresaActiva(),\n user:this.authService.obtenerUsername(),\n subdomain:this.authService.obtenerSubdominio(),\n numPag: this.vnumPag\n }\n\n this.envioNumPag(data);\n }\n \n numPaginas(){\n const data:any={\n idCompany:this.authService.obtenerIdEmpresaActiva(),\n user:this.authService.obtenerUsername(),\n subdomain:this.authService.obtenerSubdominio(),\n numPag: this.masivoCurrent + 1\n }\n \n this.envioNumPag(data);\n }\n\n envioNumPag(data){\n this.serviciosProcesoService.enviarCorreoContactarme(data).subscribe(data => {\n //this.notify.success(\"Se envió la solicitud correctamente.\")\n if (this.vnumPag == 0 || this.vnumPag > 4) {\n this.notify.error(\"No hay ninguna página con el número \" + \"'\" + this.vnumPag + \"'\" + \" en este documento.\")\n } \n }, error => {\n //this.notify.error('Ocurrio un error inesperado')\n })\n\n console.log(\"DATA\",data)\n }*/\n\n restart() {\n setTimeout(() => {\n this.accept = false\n this.hayFirmas = false\n //this.checkPaginas=false\n this.firmas = []\n this.firmasMasivo = [[]]\n }, 800)\n }\n\n}\n","
\n\n
\n\n \n
\n \n DOCUMENTO\n {{pdfList[masivoCurrent].documentName}}\n \n\n
\n {{masivoCurrent+1}} / {{pdfList.length}}\n
\n\n \n \n\n
\n
    \n
  • {{doc.documentName}}
  • \n
\n
\n
\n
\n\n
Haz click en el documento para agregar la firma seleccionada
\n\n \n\n
\n\n \n \n \n
\n
\n\n \n\n
\n
\n\n
\n\n \n\n
\n \n
\n\n
\n
\n
\n
\n
\n\n\n\n\n
\n \n
\n
\n\n
\n\n \n\n
\n \n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n \n
\n
\n\n \n\n
\n\n
\n\n
\n\n \n\n
\n \n
\n\n
\n
\n
\n
\n\n
\n\n\n\n
\n \n
\n
\n\n
\n\n \n\n
\n \n
\n\n
\n
\n
\n
\n
\n
\n
\n\n\n\n
\n
\n
\n\n
\n
\n\n
\n\n \n
\n

No hay firmas registradas

\n

Haga click en el menú para dibujar o cargar una nueva firma holográfica

\n
\n
\n\n
\n \n \n\n
\n\n\n
\n

\n Firmar en todas las hojas\n

\n \n \n \n\n \n\n \n \n \n\n\n\n 0\">\n\n \n\n 0\" [key]=\"firmaSeleccionada\">\n\n \n\n\n \n\n \n\n \n\n\n\n\n\n
\n \n
\n
\n\n
\n\n\n\n\n\n

Indicaciones:

\n

- Tamaño:273 x 185\n - Peso: 50KB\n - Formato: PNG, JPG

\n\n
\n \n
\n\n
\n \n \n
\n\n \n\n \n\n
\n\n\n\n
\n \n \n
\n\n \n\n \n\n
\n\n\n\n \n \n
\n \n \n
\n\n \n\n \n
\n\n \n
\n \n \n
\n\n \n\n \n\n
\n\n \n\n

Indicaciones:

\n

- Tamaño:273 x 185\n - Peso: 50KB\n - Formato: PNG, JPG

\n\n
\n \n
\n\n
\n \n \n
\n\n \n \n
\n
\n
\n \n \n \n
\n
\n\n\n Sólo disponible para Versión premium. Quiero que me contacten\n
\n \n
\n\n
","import { Component, OnInit, ViewChild, Input, Output, ElementRef, EventEmitter } from '@angular/core';\nimport { NotificationsService } from '../../services/notifications.service';\n\ntype format = 'img' | 'pdf' | 'excel' | 'zip' | 'word';\n@Component({\n selector: 'app-dropzone-subir-free',\n templateUrl: './dropzone-subir-free.component.html',\n styleUrls: ['./dropzone-subir-free.component.scss'],\n host: { class: 'app-dropzone-subir-free' }\n})\nexport class DropzoneSubirFreeComponent implements OnInit {\n\n @ViewChild('fileInput') input:ElementRef\n @ViewChild('fileInputMulti') inputMulti:ElementRef\n\n @Input('placeholder') placeholder:string = 'Carga o arrastra tu archivo seleccionado'\n @Input('preview') preview:boolean = true\n @Input('formats') formats: format[] = ['img']\n @Input('multi') multi:boolean\n @Input('less-padding') lessPadding:boolean\n @Input('esFacial') esFacial:boolean = false\n @Input('esPersonalizacion') esPersonalizacion:boolean = false\n\n\n @Output()\n onconvert: EventEmitter = new EventEmitter()\n @Output()\n ondrop: EventEmitter = new EventEmitter()\n dimensions: any[];\n formartImg: boolean = false;\n pesoImg: boolean = false;\n\n constructor( public notify: NotificationsService) { }\n\n ngOnInit(): void {\n }\n\n handleClick() {\n this.multi ? this.inputMulti.nativeElement.click() : this.input.nativeElement.click()\n }\n\n allowDrop(e) {\n e.stopPropagation();\n e.preventDefault();\n }\n\n drop(e) {\n e.preventDefault();\n let files = e.dataTransfer.files\n this.validate(files)\n }\n\n change(e) {\n let files = e.target.files\n this.validate(files)\n }\n \n validate(files:File[]) {\n const dim = this;\n dim.dimensions = []\n let valid:boolean = false\n let counter:number = 0\n\n while (!valid && counter < files.length) {\n\n switch (files[counter].type) {\n case 'image/jpeg': case 'image/png':\n this.formartImg = false;\n if (this.formats.includes('img') && files[counter].size <= 262150 && !this.esFacial){\n valid = true\n this.pesoImg = false;\n const rspValid = this.getDimessions(files[counter])\n this.validDimensions\n console.log(this.validDimensions)\n console.log(\"rspValid\", rspValid )\n }else if(this.formats.includes('img') && this.esFacial && files[counter].size <= 1048576){\n valid = true\n this.pesoImg = false;\n }else if(this.formats.includes('img') && this.esPersonalizacion && files[counter].size <= 1048576){\n valid = true\n this.pesoImg = false;\n } \n\n if(this.formats.includes('img') && files[counter].size > 262150 && !this.esFacial) {\n this.pesoImg = true;\n const rspValid = this.getDimessions(files[counter])\n this.validDimensions\n\n }else if(this.formats.includes('img') && this.esFacial && files[counter].size > 1048576){\n this.pesoImg = true;\n }else if(this.formats.includes('img') && this.esPersonalizacion && files[counter].size > 1048576){\n this.pesoImg = true;\n }\n\n break\n \n case 'application/pdf':\n if (this.formats.includes('pdf')) valid = true\n this.formartImg = true;\n break\n\n case 'application/pdf':\n if (this.formats.includes('pdf')) valid = true\n this.formartImg = true;\n break\n\n case 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet':\n case 'application/vnd.ms-excel':\n valid = this.formats.includes('excel');\n this.formartImg = true;\n break;\n case 'application/vnd.openxmlformats-officedocument.wordprocessingml.document':\n valid = this.formats.includes('word');\n this.formartImg = true;\n break;\n case 'application/zip': case 'application/x-zip-compressed':\n if (this.formats.includes('zip')) valid = true\n this.formartImg = true;\n break\n }\n counter ++\n }\n\n setTimeout(() => {\n if (valid && this.validDimensions) {\n this.ondrop.emit(this.multi ? files : files[0])\n if (this.preview) this.getBase(files[0])\n } \n if(this.formartImg) {\n this.notify.info(\"El formato de la imagen no es correcto.\");\n }\n }, 500)\n\n }\n\n conversionLoading:boolean\n base:any\n getBase(img:any) {\n\n this.conversionLoading = true\n const reader = new FileReader\n reader.onload = e => {\n this.base = e.target.result\n this.conversionLoading = false\n this.onconvert.emit(this.base)\n }\n reader.readAsDataURL(img)\n \n }\n\n validDimensions:boolean = false;\n async getDimessions(file:any){\n const reader = await new FileReader;\n reader.onload = e => {\n const img = new Image();\n img.onload = () => {\n console.log({\n width: img.naturalWidth,\n height: img.naturalHeight,\n })\n if (img.naturalWidth > 300 || img.naturalHeight > 200) {\n console.log(1)\n this.validDimensions = false\n this.notify.info(\"Dimensiones incorrectas.\")\n if(this.pesoImg) {\n this.notify.info(\"La imagen excede el peso.\");\n }\n }else{\n console.log(2)\n this.validDimensions = true\n if(this.pesoImg) {\n this.notify.info(\"La imagen excede el peso.\");\n }\n //this.notify.info(\"Dimensiones correctas.\")\n }\n };\n img.src = reader.result as string;\n }\n reader.readAsDataURL(file);\n }\n\n displaySize(size) {\n if (size < 1048576) {\n return (size / 1024).toFixed(2) + ' KB';\n } else {\n return (size / 1048576).toFixed(2) + ' MB';\n }\n }\n\n}\n","\n\n\n
\n\n
\n
\n \n
\n {{placeholder}}
\n Tamaño: 300 x 200 px\n ; \n Formatos soportados: jpg , png (2 MB).\n
\n\n
\n","import { ActionReducerMap } from '@ngrx/store';\n\nimport * as fromLiveDetection from '../shared/liveness-detection/store/liveness-detection.reducer';\n\nexport interface AppState {\n liveDetection: fromLiveDetection.State;\n}\n\nexport const appReducer: ActionReducerMap = {\n liveDetection: fromLiveDetection.liveDetectionReducer\n}","import {\n Directive, \n ElementRef, \n EventEmitter,\n OnInit,\n Output,\n Renderer2\n} from \"@angular/core\";\n\nimport { InputComponent } from \"@noe/shared/input/input.component\";\n\n@Directive({\n selector: 'app-input[appInputPassIcon]'\n})\nexport class InputPasswordDirective implements OnInit {\n @Output() typeChange: EventEmitter = new EventEmitter();\n \n inputType = 'password';\n showIconEye = false;\n\n constructor(\n private elRef: ElementRef,\n private renderer: Renderer2\n ) {}\n\n ngOnInit(): void {\n const iconEyeEl = this.renderer.nextSibling(this.elRef.nativeElement);\n\n this.renderer.listen(iconEyeEl, 'click', () => {\n this.inputType = this.inputType === 'password'\n ? 'text'\n : 'password';\n\n this.typeChange.emit(this.inputType);\n \n this.showIconEye = !this.showIconEye;\n\n if (this.showIconEye) {\n //this.renderer.removeClass(iconEyeEl, 'la-eye');\n //this.renderer.addClass(iconEyeEl, 'la-eye-slash');\n this.renderer.removeClass(iconEyeEl, 'la-eye-slash');\n this.renderer.addClass(iconEyeEl, 'la-eye');\n } else {\n //this.renderer.removeClass(iconEyeEl, 'la-eye-slash');\n //this.renderer.addClass(iconEyeEl, 'la-eye');\n this.renderer.removeClass(iconEyeEl, 'la-eye');\n this.renderer.addClass(iconEyeEl, 'la-eye-slash');\n }\n });\n \n }\n}","import { Component, Input, ViewEncapsulation } from \"@angular/core\";\n\ntype Position = 'above' | 'right' | 'below' | 'left';\n\n@Component({\n selector: '[appTooltip]',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss'],\n host: { class: 'app-tooltip' }\n})\nexport class TooltipComponent {\n \n @Input('appTooltip') tooltipText: string;\n @Input('appTooltipPosition') tooltipPosition: Position = 'above';\n}","{{ tooltipText }}\n","import { Component, OnInit } from '@angular/core';\n//import * as smartsupp from 'smartsupp-widget';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements OnInit {\n title = 'noe';\n \n constructor() {}\n\n ngOnInit(): void {\n //this.chatBot();\n }\n \n /*chatBot() {\n smartsupp.init('a466c8c9ed0655f5cd74864163489ddfc099043d', {\n //hideWidget: true,\n })\n }*/\n}\n","","import { Injectable } from \"@angular/core\";\nimport { FormGroup } from '@angular/forms';\n\n@Injectable()\nexport class FormValidationService {\n\n constructor(){ }\n\n validateForm(form: FormGroup) {\n Object.keys(form.controls).forEach(field => {\n const control = form.get(field);\n control.markAsTouched({ onlySelf: true });\n });\n }\n\n}","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-unauthorized',\n templateUrl: './unauthorized.component.html',\n styleUrls: ['./unauthorized.component.scss']\n})\nexport class UnauthorizedComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n

403

\n

No autorizado

\n
\n","import { \n AsyncValidatorFn,\n FormControl,\n ValidationErrors\n} from \"@angular/forms\";\n\nimport { Observable, of } from \"rxjs\";\nimport { catchError, map } from \"rxjs/operators\";\n\nimport { AuthService } from \"src/app/services/auth.service\";\nimport { UsuariosService } from \"src/app/services/usuarios.service\";\n\n\nexport const emailAlreadyExist = (\n userService: UsuariosService,\n authService: AuthService\n): AsyncValidatorFn => {\n return (control: FormControl): Observable => {\n\n return userService.obtenerUsuario(\n control.value,\n authService.obtenerSubdominio()\n ).pipe(\n map((data) => {\n return !!data && data.status == 1\n ? { emailAlreadyExist: true }\n : null;\n }),\n catchError((error: any) => {\n if (error.status === 409) {\n return of(null);\n }\n })\n );\n };\n};","import { Injectable } from '@angular/core';\nimport { Validators } from '@angular/forms';\nimport { CapitalValidator, LowercaseValidator, NumberValidator, SymbolValidator } from '../util/custom-validators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PasswordValidatorsService {\n\n constructor() { }\n\n validators: any = {\n capitalValidator:false,\n lowercaseValidator:false,\n numberValidator:false,\n symbolValidator:false,\n length8Validator:false,\n length6Validator:false,\n max8Validator:false\n }\n \n set() {\n const validaciones = ['CapitalValidator','LowercaseValidator','NumberValidator','Length8Validator','SymbolValidator']\n let passwordValidators = [Validators.required, Validators.maxLength(99)]\n validaciones.forEach( v => {\n switch (v) {\n case 'CapitalValidator':\n this.validators.capitalValidator = true\n passwordValidators.push(CapitalValidator)\n break\n case 'LowercaseValidator':\n this.validators.lowercaseValidator = true\n passwordValidators.push(LowercaseValidator)\n break\n case 'SymbolValidator':\n this.validators.symbolValidator = true\n passwordValidators.push(SymbolValidator)\n break\n case 'NumberValidator':\n this.validators.numberValidator = true\n passwordValidators.push(NumberValidator)\n break\n case 'Length8Validator':\n this.validators.length8Validator = true\n passwordValidators.push(Validators.minLength(8))\n break\n case 'Length6Validator':\n this.validators.length6Validator = true\n passwordValidators.push(Validators.minLength(6))\n break\n case 'max8Validator':\n this.validators.max8Validator = true\n passwordValidators.push(Validators.maxLength(8))\n break\n }\n })\n return passwordValidators\n }\n \n}\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-loader-firmar',\n templateUrl: './loader-firmar.component.html',\n styleUrls: ['./loader-firmar.component.scss'],\n host: { class: 'app-loader-firmar' }\n})\nexport class LoaderFirmarComponent implements OnInit {\n\n @Input('disabled') disabled:boolean\n @Input('big') big:boolean\n @Input('no-bg') noBg:boolean\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n \n\n\n\n
\n
","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { Oficina } from '../models/Oficina.model';\n\n\ntype requestBody = {\n method:string,\n data?:Oficina,\n idCompany?:string,\n id?:string\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OficinaService {\n\n private urlOficinas:string = `${environment.apiCore}/office/`;\n\n constructor( private http: HttpClient ) { }\n\n listarOficinas(empresa:string):Observable {\n const body:requestBody = { method: 'LIST', idCompany: empresa }\n return this.http.post(this.urlOficinas, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarOficinasConProcesos(empresa:string):Observable {\n const body:requestBody = { method: 'LIST-FOR-PROCESS', idCompany: empresa }\n return this.http.post(this.urlOficinas, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n crearOficina(oficina:Oficina) {\n const body:requestBody = { method: 'POST', data: oficina }\n return this.http.post(this.urlOficinas, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n obtenerOficina(id:string):Observable {\n const body:requestBody = { method: 'GET', id: id }\n return this.http.post(this.urlOficinas, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n actualizarOficina(oficina:Oficina) {\n const body:requestBody = { method: 'PUT', data: oficina }\n return this.http.post(this.urlOficinas, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n habilitarOficina(id:string) {\n const body:requestBody = { method: 'PATCH', id: id }\n return this.http.post(this.urlOficinas, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n deshabilitarOficina(id:string) {\n const body:requestBody = { method: 'DELETE', id: id }\n return this.http.post(this.urlOficinas, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n}\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\n\n@Component({\n selector: 'app-modal-documentos',\n templateUrl: './modal-documentos.component.html',\n styleUrls: ['./modal-documentos.component.scss']\n})\nexport class ModalDocumentosComponent implements OnInit {\n\n @Input('titleModal') title:string\n @Input('subtitle') subtitle:string\n @Input('loading') loading:boolean\n @Input('confirmText') confirmText:string = 'Finalizar'\n @Input('cancelText') cancelText:string = 'Cerrar'\n @Input('closeOnConfirm') closeOnConfirm:boolean = true\n @Input('disableConfirm') disableConfirm:boolean\n @Input('hide-footer') hideFooter:boolean\n @Input('big') big:boolean\n @Input('fullScreen') fullScreen:boolean\n @Input('auto-width') autoWidth:boolean\n @Input('scroller') scroller:boolean\n\n @Output() \n onclose: EventEmitter = new EventEmitter();\n @Output()\n onconfirm: EventEmitter = new EventEmitter();\n\n\n isOpen:boolean\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n open() {\n const body = document.getElementsByTagName('body')[0];\n body.classList.add('modal-open');\n this.isOpen = true\n }\n\n close() {\n const body = document.getElementsByTagName('body')[0];\n body.classList.remove('modal-open');\n this.isOpen = false;\n this.onclose.emit();\n }\n \n confirmarModal: boolean\n confirm() {\n this.onconfirm.emit()\n if (this.closeOnConfirm) this.isOpen = false;\n this.close();\n }\n\n}\n","
\n
\n\n \n\n
\n \n
\n\n
\n \n \n
\n\n
\n
\n","import { Component, OnInit, ViewChild, Input, Output, ElementRef, EventEmitter } from '@angular/core';\nimport { NotificationsService } from '../../services/notifications.service';\n\ntype format = 'img' | 'pdf' | 'excel' | 'zip' | 'word';\n@Component({\n selector: 'app-dropzone-documentos',\n templateUrl: './dropzone-documentos.component.html',\n styleUrls: ['./dropzone-documentos.component.scss'],\n host: { class: 'app-dropzone-documentos' }\n})\nexport class DropzoneDocumentosComponent implements OnInit {\n\n @ViewChild('fileInput') input:ElementRef\n @ViewChild('fileInputMulti') inputMulti:ElementRef\n\n @Input('placeholder') placeholder:string = 'Arrastra o carga tus documentos'\n @Input('preview') preview:boolean = true\n @Input('formats') formats: format[] = ['pdf']\n @Input('multi') multi:boolean;\n @Input('less-padding') lessPadding:boolean\n @Input('esFacial') esFacial:boolean = false\n @Input('esPersonalizacion') esPersonalizacion:boolean = false\n @Input('multiDoc') multiDoc:boolean = false;\n @Input('lengthAllowed') lengthAllowed:number = 0;\n @Input('plan') plan:number;\n @Input('limitUpload') limitUpload:any = '';\n\n @Output()\n onconvert: EventEmitter = new EventEmitter()\n @Output()\n ondrop: EventEmitter = new EventEmitter()\n @Output()\n length: EventEmitter = new EventEmitter()\n \n lengthTotal:number\n limitUploadMB:any = 0\n constructor( public notify: NotificationsService) { }\n\n ngOnInit(): void {\n }\n\n handleClick() {\n this.multi ? this.inputMulti.nativeElement.click() : this.input.nativeElement.click()\n }\n\n allowDrop(e) {\n e.stopPropagation();\n e.preventDefault();\n }\n\n drop(e) {\n e.preventDefault();\n \n // RQ Plan Personalizado\n this.validarLimiteCargaPersonalizado()\n //Para contabilizar carga documentos\n this.lengthTotal = e.dataTransfer.files.length\n if(e.dataTransfer.files.length> this.lengthAllowed){\n this.notify.info('La cantidad de documentos supera a su plan actual.');\n return;\n }\n\n let files = e.dataTransfer.files\n this.validate(files)\n }\n\n change(e) {\n // RQ Plan Personalizado\n this.validarLimiteCargaPersonalizado()\n //Para contabilizar carga documentos\n this.lengthTotal = e.target.files.length\n if(e.target.files.length> this.lengthAllowed){\n this.notify.info('La cantidad de documentos supera a su plan actual.');\n return;\n }\n \n let files = e.target.files\n this.validate(files)\n }\n \n validate(files:File[]) {\n //validacion para tipo de plan\n let plan = 0\n if(this.plan != undefined){\n plan = this.plan\n localStorage.setItem('_upDoc_p',this.plan.toString())\n }else{\n plan = parseInt(localStorage.getItem('_upDoc_p'))\n }\n console.log('plan',plan)//\n\n let valid:boolean = false\n let counter:number = 0\n let limitePersonalizado:number = this.limitUploadMB * 1048576\n //console.log('limitePersonalizado', limitePersonalizado)\n\n while (!valid && counter < files.length) {\n\n switch (files[counter].type) {\n case 'image/jpeg': case 'image/png':\n if (this.formats.includes('img') && files[counter].size <= 262150 && !this.esFacial){\n valid = true\n }else if(this.formats.includes('img') && this.esFacial && files[counter].size <= 1048576){\n valid = true\n }else if(this.formats.includes('img') && this.esPersonalizacion && files[counter].size <= 1048576){\n valid = true\n } \n\n break\n \n case 'application/pdf':\n //if (this.formats.includes('pdf')) valid = true\n //Plan Free - 5MB\n if (this.formats.includes('pdf') && plan == 1 && files[counter].size <= 5242880){\n valid = true\n //Plan Emprendedor - 50MB --52428800 // MOD 20 MB\n }else if(this.formats.includes('pdf') && plan == 2 && files[counter].size <= 20971520){\n valid = true\n //Plan Corporativo - 100MB --104857600 // MOD 50 MB\n }else if(this.formats.includes('pdf') && plan == 3 && files[counter].size <= 52428800){\n valid = true\n //Plan Personalizado - dinamic\n }else if(this.formats.includes('pdf') && plan == 4 && files[counter].size <= limitePersonalizado){\n //console.log('Peso archivo', files[counter].size)\n valid = true\n }\n\n break\n\n case 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet':\n case 'application/vnd.ms-excel':\n valid = this.formats.includes('excel');\n break;\n case 'application/vnd.openxmlformats-officedocument.wordprocessingml.document':\n valid = this.formats.includes('word');\n break;\n case 'application/zip': case 'application/x-zip-compressed':\n if (this.formats.includes('zip')) valid = true\n break\n }\n counter ++\n }\n\n if (valid) {\n\n this.ondrop.emit(this.multi ? files : files[0])\n this.length.emit(this.lengthTotal)\n if (this.preview) this.getBase(files[0])\n } else {\n this.notify.info(\"No se puede cargar este archivo. validar nuevamente.\");\n }\n\n }\n\n validarLimiteCargaPersonalizado(){\n var regex = /(\\d+)/g;\n //console.log('limitUpload',this.limitUpload)\n if(this.limitUpload != ''){\n this.limitUploadMB = parseInt(this.limitUpload.match(regex))\n localStorage.setItem('_upLimit_p',this.limitUploadMB)\n }else{\n this.limitUploadMB = parseInt(localStorage.getItem('_upLimit_p'))\n }\n //console.log('limitUploadMB',this.limitUploadMB);\n }\n\n conversionLoading:boolean\n base:any\n getBase(img:any) {\n\n this.conversionLoading = true\n const reader = new FileReader\n reader.onload = e => {\n this.base = e.target.result\n this.conversionLoading = false\n this.onconvert.emit(this.base)\n }\n reader.readAsDataURL(img)\n \n }\n\n displaySize(size) {\n if (size < 1048576) {\n return (size / 1024).toFixed(2) + ' KB';\n } else {\n return (size / 1048576).toFixed(2) + ' MB';\n }\n }\n\n}\n","\n\n\n
\n
\n\n
\n \n {{placeholder}}
\n Formatos soportados: .pdf (5 MB)\n Formatos soportados: .pdf (20 MB)\n Formatos soportados: .pdf (50 MB)\n Formatos soportados: .pdf ({{limitUpload}})\n
\n\n
\n\n
\n \n
\n\n
\n\n","import { \n Component,\n Output,\n EventEmitter,\n Input,\n ViewChild,\n ElementRef,\n AfterViewInit\n} from \"@angular/core\";\n\nimport { IAlterButton } from \"src/app/services/alert.service\";\nimport { CountdownComponent } from \"../countdown/countdown.component\";\n\nexport type TypeAlert = 'success' | 'error' | 'expiration';\n\n@Component({\n selector: 'app-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss']\n})\nexport class AlertComponent implements AfterViewInit {\n\n @Input() title: string;\n @Input() message: string;\n @Input() buttons: IAlterButton[];\n @Output() close = new EventEmitter();\n @Output() countdownEnd = new EventEmitter();\n @ViewChild('backdrop') backdrop: ElementRef;\n @ViewChild('countdown') countdown: CountdownComponent;\n \n type: TypeAlert;\n maxWidth: string;\n minWidth: string;\n showIcon: boolean;\n timeLeft: number;\n isCloseBackdrop: boolean;\n\n ngAfterViewInit(): void {\n if (!!this.timeLeft) {\n this.countdown.start();\n }\n }\n\n onClose(event): void {\n if (\n this.isCloseBackdrop && \n event.target === this.backdrop.nativeElement\n ) {\n this.close.emit();\n }\n }\n\n public dismiss() {\n this.close.emit();\n }\n\n onCountdownEnd(): void {\n this.countdownEnd.emit();\n }\n\n setStyles(): { [key: string]: any } {\n const { maxWidth, minWidth } = this;\n return {\n maxWidth,\n minWidth\n };\n }\n\n swapType() {\n return {\n success: () => 'Éxito',\n error: () => 'Error',\n expiration: () => 'SESIÓN POR EXPIRAR',\n default: () => this.title\n }[this.type || 'default']();\n }\n}","
\n
\n

\n \n {{ swapType() }}\n

\n

\n \n 0\"\n >\n {{ btn.text }}\n
\n
\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\nimport { environment } from 'src/environments/environment';\n\nimport { Documento } from 'src/app/models/Documento.model';\nimport { Observable } from 'rxjs';\n\ntype RequestBody = {\n method: string\n data?: Documento,\n id?: string,\n idCompany?: string,\n subdomain?: string\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DocumentoService {\n\n private urlDocumentos:string = `${environment.apiCore}/document_type/`;\n\n constructor( private http: HttpClient ) { }\n\n listarDocumentos(empresa:string):Observable {\n const body: RequestBody = { method: 'LIST', idCompany: empresa }\n return this.http.post(this.urlDocumentos, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n obtenerDocumentosPorProceso(idProceso:string,idCompany:string,user:string,subdomain:string):Observable{\n const body: RequestBody = { method: 'LIST-DOCUMENTS-PROCESS', data: {idProcessType:idProceso, idCompany:idCompany,user:user,subdomain:subdomain} }\n return this.http.post(this.urlDocumentos, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarDocumentosPorSubdominio(subdomain:string):Observable {\n const body: RequestBody = { method: 'LIST-DOCUMENT-SUBDOMAIN', subdomain: subdomain }\n return this.http.post(this.urlDocumentos, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarDocumentosActivos(empresa:string):Observable {\n const body: RequestBody = { method: 'LIST-ACTIVE', idCompany: empresa }\n return this.http.post(this.urlDocumentos, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarDocumentosActivosSinFirmFast(empresa:string):Observable {\n const body: RequestBody = { method: 'LIST-ACTIVE-NOT-FIRMFAST', idCompany: empresa }\n return this.http.post(this.urlDocumentos, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarDocumentosCompartidosActivos(subdomain:string):Observable {\n const body: RequestBody = { method: 'LIST-SHARED-ACTIVE', subdomain: subdomain }\n return this.http.post(this.urlDocumentos, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n crearDocumento(documento:Documento) {\n const body: RequestBody = { method: 'POST', data: documento }\n return this.http.post(this.urlDocumentos, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n obtenerDocumento(id:string):Observable {\n const body: RequestBody = { method: 'GET', id: id }\n return this.http.post(this.urlDocumentos, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n actualizarDocumento(documento:Documento) {\n const body: RequestBody = { method: 'PUT', data: documento }\n return this.http.post(this.urlDocumentos, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n deshabilitarDocumento(id:string) {\n const body: RequestBody = { method: 'DELETE', id:id }\n return this.http.post(this.urlDocumentos, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n habilitarDocumento(id:string) {\n const body: RequestBody = { method: 'PATCH', id:id }\n return this.http.post(this.urlDocumentos, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n assignUsers(data: Documento): Observable {\n const body: RequestBody = { method: 'ASIGNED-USER-DOCUMENT', data };\n return this.http.post(this.urlDocumentos, body, { headers: { \"x-api-key\": environment.xApiKey } });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CompartirDatosService {\n constructor() { }\n\n public editDataDetails: any = [];\n public subject = new Subject();\n private messageSource = new BehaviorSubject(this.editDataDetails);\n currentMessage = this.messageSource.asObservable();\n\n changeMessage(message: boolean) {\n this.messageSource.next(message)\n }\n}","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { CompartirDatosService } from '@noe/services/compartirDatos.service';\n\n\n@Component({\n selector: 'app-modal-free',\n templateUrl: './modal-free.component.html',\n styleUrls: ['./modal-free.component.scss']\n})\nexport class ModalFreeComponent implements OnInit {\n\n @Input('titleModal') title:string\n @Input('subtitle') subtitle:string\n @Input('loading') loading:boolean\n @Input('confirmText') confirmText:string = 'Confirmar'\n @Input('cancelText') cancelText:string = 'Cancelar'\n @Input('closeOnConfirm') closeOnConfirm:boolean = true\n @Input('disableConfirm') disableConfirm:boolean\n @Input('hide-footer') hideFooter:boolean\n @Input('big') big:boolean\n @Input('fullScreen') fullScreen:boolean\n @Input('auto-width') autoWidth:boolean\n @Input('scroller') scroller:boolean\n\n @Output() \n onclose: EventEmitter = new EventEmitter();\n @Output()\n onconfirm: EventEmitter = new EventEmitter();\n\n isOpen:boolean\n\n constructor(\n public compartirDatosService: CompartirDatosService\n ) { }\n\n ngOnInit(): void {\n }\n\n open() {\n const body = document.getElementsByTagName('body')[0];\n body.classList.add('modal-open');\n this.isOpen = true\n }\n\n close() {\n const body = document.getElementsByTagName('body')[0];\n body.classList.remove('modal-open');\n this.isOpen = false;\n this.onclose.emit();\n this.compartirDatosService.changeMessage(false);\n }\n\n confirm() {\n this.onconfirm.emit()\n if (this.closeOnConfirm) this.isOpen = false\n }\n\n}\n","
\n
\n\n
\n

{{title}}

\n \n
\n\n
\n \n
\n\n
\n \n \n
\n\n
\n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-not-found',\n templateUrl: './not-found.component.html',\n styleUrls: ['./not-found.component.scss']\n})\nexport class NotFoundComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n

404

\n

No encontrado

\n
\n","import { Component, OnInit, Input, Renderer2 } from '@angular/core';\n\n@Component({\n selector: 'app-pdf-overlay',\n templateUrl: './pdf-overlay.component.html',\n styleUrls: ['./pdf-overlay.component.scss']\n})\nexport class PdfOverlayComponent implements OnInit {\n\n constructor(\n private renderer: Renderer2\n ) { }\n\n isOpen:boolean\n\n ngOnInit(): void {\n }\n\n open() {\n this.renderer.addClass(document.body, 'overflow-hidden')\n this.isOpen = true\n }\n\n close() {\n this.isOpen = false\n this.renderer.removeClass(document.body, 'overflow-hidden')\n }\n\n}\n","
\n
\n \n\n \n
\n
\n","import { Injectable } from '@angular/core';\nimport { Subject, Observable, BehaviorSubject } from 'rxjs';\n\n@Injectable()\nexport class SharedPlanService {\n\n private sharedDataPlan: Subject = new Subject();\n sharedData$: Observable = this.sharedDataPlan.asObservable();\n\n constructor() { }\n\n setData(updatedData) {\n this.sharedDataPlan.next(updatedData);\n }\n\n}","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { CompartirDatosService } from '@noe/services/compartirDatos.service';\n\n@Component({\n selector: 'app-modal-lectura',\n templateUrl: './modal-lectura.component.html',\n styleUrls: ['./modal-lectura.component.scss']\n})\nexport class ModalLecturaComponent implements OnInit {\n\n @Input('titleModal') title:string\n @Input('subtitle') subtitle:string\n @Input('loading') loading:boolean\n @Input('confirmText') confirmText:string = 'Confirmar'\n @Input('cancelText') cancelText:string = 'Cerrar'\n @Input('closeOnConfirm') closeOnConfirm:boolean = true\n @Input('disableConfirm') disableConfirm:boolean\n @Input('hide-footer') hideFooter:boolean\n @Input('big') big:boolean\n @Input('fullScreen') fullScreen:boolean\n @Input('auto-width') autoWidth:boolean\n @Input('scroller') scroller:boolean\n\n @Output() \n onclose: EventEmitter = new EventEmitter();\n @Output()\n onconfirm: EventEmitter = new EventEmitter();\n\n isOpen:boolean\n\n constructor( \n public compartirDatosService: CompartirDatosService\n ) { }\n\n ngOnInit(): void {\n }\n\n open() {\n const body = document.getElementsByTagName('body')[0];\n body.classList.add('modal-open');\n this.isOpen = true\n }\n\n close() {\n const body = document.getElementsByTagName('body')[0];\n body.classList.remove('modal-open');\n this.isOpen = false;\n this.onclose.emit();\n this.compartirDatosService.changeMessage(false);\n }\n\n confirm() {\n this.onconfirm.emit()\n if (this.closeOnConfirm) this.isOpen = false\n }\n\n}\n","
\n
\n\n
\n

{{title}}

\n \n
\n\n
\n \n
\n\n \n\n
\n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-notificationssssss',\n templateUrl: './notifications.component.html',\n styleUrls: ['./notifications.component.scss']\n})\nexport class NotificationsComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n","import { Injectable } from '@angular/core';\nimport { Subject, Observable, BehaviorSubject } from 'rxjs';\n\n@Injectable()\nexport class SharedCerrarVisorService {\n\n private sharedDataCerrar: Subject = new Subject();\n sharedData$: Observable = this.sharedDataCerrar.asObservable();\n\n constructor() { }\n\n setData(updatedData) {\n this.sharedDataCerrar.next(updatedData);\n }\n\n}","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-firmar-pdf-masivo',\n templateUrl: './firmar-pdf-masivo.component.html',\n styleUrls: ['./firmar-pdf-masivo.component.scss']\n})\nexport class FirmarPdfMasivoComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","

firmar-pdf-masivo works!

\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AuthComponent } from './auth.component';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormsModule } from '@angular/forms';\n\nimport { SharedModule } from '../shared/shared.module';\nimport { CoreModule } from '../core/core.module';\nimport { NgxCaptchaModule } from 'ngx-captcha';\n\n@NgModule({\n declarations: [\n AuthComponent\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n CoreModule,\n SharedModule,\n NgxCaptchaModule,\n FormsModule\n ],\n exports: [AuthComponent]\n})\nexport class AuthModule { }\n","import { AbstractControl } from '@angular/forms';\n\n// Al menos una letra mayúscula\nexport function CapitalValidator(control: AbstractControl) {\n if (control.pristine) {\n return null;\n }\n const regex = /.*[A-Z].*/\n if (regex.test(control.value)) {\n return null\n } else {\n return { capitalValidator: true }\n }\n}\n\n// Al menos una letra minúscula\nexport function LowercaseValidator(control: AbstractControl) {\n if (control.pristine) {\n return null;\n }\n const regex = /.*[a-z].*/\n if (regex.test(control.value)) {\n return null\n } else {\n return { lowercaseValidator: true }\n }\n}\n\n// Al menos un número\nexport function NumberValidator(control: AbstractControl) {\n if (control.pristine) {\n return null;\n }\n const regex = /.*[0-9].*/\n if (regex.test(control.value)) {\n return null\n } else {\n return { numberValidator: true }\n }\n}\n\n// Al menos un símbolo\nexport function SymbolValidator(control: AbstractControl) {\n if (control.pristine) {\n return null;\n }\n const regex = /.*[\\[\\]{}%=+@':;_#$&/<>^~|()?¿!¡\\\\-`.,\\\"*].*/\n if (regex.test(control.value)) {\n return null\n } else {\n return { symbolValidator: true }\n }\n}\n\n\nexport function AtLeastOne(control: AbstractControl) {\n if (control.pristine) {\n return null;\n }\n let invalid:boolean = false\n if (!control.value || control.value.length === 0) {\n invalid = true\n }\n if (invalid) {\n return { AtLeastOne: true }\n } else {\n return null\n }\n}","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { RouterModule, Routes } from '@angular/router';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { StoreModule } from '@ngrx/store';\nimport { StoreDevtoolsModule } from '@ngrx/store-devtools';\nimport Amplify from \"aws-amplify\";\n\nimport { SharedModule } from './shared/shared.module';\nimport { PasswordValidatorsService } from 'src/app/services/password-validators.service';\nimport { FormValidationService } from './services/form-validation.service';\n\nimport { AppComponent } from './app.component';\nimport { NotFoundComponent } from './pages/error/not-found/not-found.component';\nimport { UnauthorizedComponent } from './pages/error/unauthorized/unauthorized.component';\n\nimport { environment } from '../environments/environment';\nimport { NotLoggedInGuard } from './guards/not-logged-in.guard';\nimport { LoggedInGuard } from './guards/logged-in.guard';\nimport { NotificationsService } from './services/notifications.service';\nimport { TitleService } from './services/title.service';\nimport { TokenInterceptor } from './interceptors/token.interceptor';\nimport { PermisosService } from './services/permisos.service';\n\n// import { QuillModule } from 'ngx-quill';\nimport { DashboardService } from './services/dasboard.service';\nimport { NoAuthorizedInterceptor } from './interceptors/no-authorized.interceptor';\nimport { AuthComponent } from './auth/auth.component';\nimport { AuthModule } from './auth/auth.module';\nimport { appReducer } from './store/app.reducer';\nimport { CompartirDatosService } from './services/compartirDatos.service';\nimport {MatTabsModule} from '@angular/material/tabs';\n\n\nAmplify.configure({\n Auth: {\n region: \"us-west-2\",\n identityPoolId: environment.identityPoolId,\n userPoolId: environment.userPoolId,\n userPoolWebClientId: environment.webClientId,\n oauth: {\n domain: environment.domainAuth,\n // Authorized scopes\n scope: [\n 'email',\n 'openid',\n 'profile',\n 'aws.cognito.signin.user.admin',\n ],\n // Callback URL\n redirectSignIn: environment.redirectSignIn,\n // Sign out URL\n redirectSignOut: environment.redirectSignOut,\n // 'code' for Authorization code grant,\n responseType: 'code'\n },\n },\n Storage: {\n AWSS3: {\n bucket: environment.bucket, //REQUIRED - Amazon S3 bucket name\n region: 'us-west-2' //OPTIONAL - Amazon service region\n }\n }\n});\n\n\nconst routes: Routes = [\n {\n path: '',\n loadChildren: () => import('./pages/pages.module').then(m => m.PagesModule),\n canActivate: [LoggedInGuard]\n },\n {\n path: 'login',\n // loadChildren: () => import('./auth/auth.module').then(m => m.AuthModule),\n component: AuthComponent,\n canActivate: [NotLoggedInGuard]\n },\n {\n path: 'qr',\n loadChildren: () => import('./qr/qr.module').then(m => m.QrModule),\n },\n {\n path: 'holografica',\n loadChildren: () => import('./holographic/holographic.module').then(m => m.HolopraphicModule),\n },\n {\n path: 'firma-terceros',\n loadChildren: () => import('./firma-terceros/firma-terceros.module').then(m => m.FirmaTercerosModule),\n },\n {\n path: 'creacion',\n loadChildren: () => import('./creation/creation.module').then(m => m.CreationModule),\n },\n {\n path: 'unauthorized',\n component: UnauthorizedComponent\n },\n {\n path: '**',\n component: NotFoundComponent\n }\n]\n\n@NgModule({\n declarations: [\n AppComponent,\n NotFoundComponent,\n UnauthorizedComponent\n ],\n imports: [\n BrowserModule,\n RouterModule.forRoot(routes, { scrollPositionRestoration: 'top' }),\n AuthModule,\n HttpClientModule,\n BrowserAnimationsModule,\n StoreModule.forRoot(appReducer),\n StoreDevtoolsModule.instrument({ logOnly: environment.production }),\n SharedModule,\n MatTabsModule\n ],\n providers: [\n FormValidationService,\n PasswordValidatorsService,\n NotificationsService,\n TitleService,\n PermisosService,\n DashboardService,\n CompartirDatosService,\n {\n provide: HTTP_INTERCEPTORS,\n useClass: TokenInterceptor,\n multi: true\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: NoAuthorizedInterceptor,\n multi: true\n }\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { Injectable } from '@angular/core';\nimport { Subject, Observable, BehaviorSubject } from 'rxjs';\n\n@Injectable()\nexport class SharedAvatarService {\n\n private sharedDataAvatar: Subject = new Subject();\n sharedData$: Observable = this.sharedDataAvatar.asObservable();\n\n constructor() { }\n\n setData(updatedData) {\n this.sharedDataAvatar.next(updatedData);\n }\n\n}","import { MediaStreamInfo } from \"src/app/models/Challenge.model\";\n\nexport class LivenessDetectionUtil {\n\n private static mediaStreamInfo: MediaStreamInfo;\n\n static getMediaStreamInfo(): MediaStreamInfo {\n return LivenessDetectionUtil.mediaStreamInfo;\n }\n\n static loadMediaStream(\n height: number,\n width: number,\n successCallback: (stream: MediaStreamInfo) => void,\n errorCallback: (message: string) => void\n ) {\n const constraints: MediaStreamConstraints = {\n audio: false,\n video: {\n width,\n height,\n facingMode: 'user'\n }\n };\n\n navigator.mediaDevices\n .getUserMedia(constraints)\n .then((mediaStream: MediaStream) => {\n try {\n LivenessDetectionUtil.mediaStreamInfo = {\n mediaStream,\n actualHeight: mediaStream.getVideoTracks()[0].getSettings().height,\n actualWidth: mediaStream.getVideoTracks()[0].getSettings().width\n };\n successCallback(LivenessDetectionUtil.mediaStreamInfo);\n } catch (error) {\n errorCallback('Error al obtener los tamaños reales del video');\n }\n })\n .catch(() => {\n errorCallback('Ocurrio un error al acceder a la cámara');\n });\n }\n\n static stopMediaStream() {\n const { mediaStream } = LivenessDetectionUtil.getMediaStreamInfo();\n\n if (mediaStream) {\n mediaStream.getTracks()[0].stop();\n }\n }\n}","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { FirmaHolografica } from '../models/FirmaHolografica.model';\n\n\ntype requestBody = {\n method: string\n data?: FirmaHolografica,\n id?: string,\n idCompany?: string,\n email?: string,\n signatureType?: string\n path?: string\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FirmaHolograficaService {\n\n private urlFirmasHolograficas:string = `${environment.apiCore}/holographic-signature/`;\n\n constructor( private http: HttpClient ) { }\n\n listarFirmas(empresa:string, user:string):Observable {\n const body:requestBody = { method: 'LIST', idCompany:empresa, email:user}\n return this.http.post(this.urlFirmasHolograficas, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarFirmasDibujada(empresa:string, user:string):Observable {\n const body:requestBody = { method: 'LIST-SIGNATURE-DRAW', idCompany:empresa, email:user}\n return this.http.post(this.urlFirmasHolograficas, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarFirmasCargada(empresa:string, user:string):Observable {\n const body:requestBody = { method: 'LIST-SIGNATURE-UPLOAD', idCompany:empresa, email:user}\n return this.http.post(this.urlFirmasHolograficas, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarFirmasEscrita(empresa:string, user:string):Observable {\n const body:requestBody = { method: 'LIST-SIGNATURE-WRITE', idCompany:empresa, email:user}\n return this.http.post(this.urlFirmasHolograficas, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n crearFirma(firma:FirmaHolografica) {\n const body:requestBody = { method: 'POST', data: firma }\n return this.http.post(this.urlFirmasHolograficas, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n obtenerFirma(id:string):Observable {\n const body:requestBody = { method: 'GET', id: id }\n return this.http.post(this.urlFirmasHolograficas, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n actualizarFirma(firma:FirmaHolografica) {\n const body:requestBody = { method: 'PUT', data: firma }\n return this.http.post(this.urlFirmasHolograficas, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n habilitarFirma(id:string) {\n const body:requestBody = { method: 'PATCH', id: id }\n return this.http.post(this.urlFirmasHolograficas, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n deshabilitarFirma(id:string) {\n const body:requestBody = { method: 'DELETE', id: id }\n return this.http.post(this.urlFirmasHolograficas, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n rotateFirma(firma:FirmaHolografica) {\n const body:requestBody = { method: 'POST-ANGLE', data : firma }\n return this.http.post(this.urlFirmasHolograficas, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n getFile(path:string):Observable {\n const body:requestBody = { method: 'GET-RETURN-URL', path:path}\n return this.http.post(this.urlFirmasHolograficas, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n}\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\nimport { BaseUnsubscribe } from '@noe/util/base-unsubscribe';\n\n@Component({\n selector: 'app-wizard-step',\n templateUrl: './wizard-step.component.html',\n styleUrls: ['./wizard-step.component.scss']\n})\nexport class WizardStepComponent extends BaseUnsubscribe implements OnInit {\n\n @Input('active') active:boolean\n @Input('index') index:number\n @Input('disable') disable:boolean\n\n @Output()\n onvalidate: EventEmitter<{index:number, valid:boolean}> = new EventEmitter()\n\n valid:boolean\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n }\n\n updateState() {\n this.onvalidate.emit({index:this.index,valid:this.valid})\n }\n\n}\n","
\n \n
","import { \n Component, \n HostBinding, \n Input, \n OnInit\n} from \"@angular/core\";\n\n@Component({\n selector: 'app-box-area',\n templateUrl: './box-area.component.html',\n styleUrls: ['./box-area.component.scss']\n})\nexport class BoxAreaComponent implements OnInit {\n\n @Input() boxWidth: string;\n @Input() boxHeight: string;\n\n @HostBinding('style.--box-width') hostBoxWidth: string;\n @HostBinding('style.--box-height') hostBoxHeight: string;\n \n ngOnInit(): void {\n this.hostBoxWidth = this.boxWidth;\n this.hostBoxHeight = this.boxHeight;\n }\n}","
\n
\n
\n
\n
\n
","import { Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nimport { Auth } from 'aws-amplify'\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NotLoggedInGuard implements CanActivate {\n\n constructor (private router: Router) {}\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\n\n return Auth.currentAuthenticatedUser()\n .then(() => {\n this.router.navigate(['/']);\n return false;\n })\n .catch(() => {\n return true;\n });\n }\n \n}\n","import { \n Component,\n OnInit, \n Input, \n Output, \n EventEmitter, \n HostListener, \n ViewChildren, \n ViewChild, \n QueryList, \n ElementRef, \n AfterViewInit,\n DoCheck,\n Renderer2\n} from '@angular/core';\nimport { FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Filter } from 'src/app/models/Filter.model';\n\nimport { TableTh } from 'src/app/models/Table.model';\nimport { TableTd } from 'src/app/models/Table.model';\n\n\n@Component({\n selector: 'app-table-pagination-usuarios',\n templateUrl: './table-pagination-usuarios.component.html',\n styleUrls: ['./table-pagination-usuarios.component.scss']\n})\nexport class TablePaginationUsuariosComponent implements DoCheck ,OnInit, AfterViewInit {\n\n @ViewChildren('sizing') sizing:QueryList;\n @ViewChildren('trueHeader') trueHeader:QueryList;\n @ViewChild('tableRef') tableRef:ElementRef;\n\n @Input() head: TableTh[]\n @Input() body: Array\n @Input() lengthData: number\n @Input() autoHeight: boolean\n @Input() checkUnique: boolean\n @Input() loaders: boolean[] = [];\n @Input() showPaginator: boolean = true;\n @Input() showIconSort: boolean = true;\n @Input() numbersOfPagesPagination:number\n @Input() pageLength:number;\n @Input() numPageSelected:number;\n @Output() \n getCheckedItems = new EventEmitter()\n @Output() \n onLoad = new EventEmitter()\n @Output() onsetPagination = new EventEmitter();\n\n @Output () cambio: EventEmitter = new EventEmitter();\n\n ngTable:any = {}\n filteredRows:any[][];\n lengthDataPagination:number\n showScroll: boolean = false;\n showScrollHeight = 1.1;\n hideScrollHeight = 1;\n\n constructor(\n private hostElement: ElementRef,\n private renderer: Renderer2\n ) { }\n\n setBody(body: Array): void {\n console.log('body',body)\n this.body = body;\n }\n \n ngOnInit() {\n this.lengthDataPagination = this.lengthData\n this.filteredRows = this.body\n this.noData = this.filteredRows.length == 0;\n this.buildPagination()\n this.buildTable()\n\n if(this.numPageSelected>1){\n //this.displayPage(this.currentPage)\n }\n }\n\n @HostListener('window:scroll', [])\n onWindowScroll() {\n if (\n (\n window.pageYOffset ||\n document.documentElement.scrollTop ||\n document.body.scrollTop\n ) > this.showScrollHeight\n ) {\n this.showScroll = true;\n console.log(this.showScroll,'showScroll');\n\n } else if (this.showScroll &&\n (\n window.pageYOffset ||\n document.documentElement.scrollTop ||\n document.body.scrollTop) < this.hideScrollHeight\n ) {\n this.showScroll = false;\n console.log(this.showScroll,'showScroll');\n }\n }\n\n ngDoCheck(): void {\n const noMetdataList = document.querySelectorAll('.no-metadata');\n \n noMetdataList.forEach((element) => {\n const siblingEl = element.previousElementSibling;\n this.renderer.setStyle(siblingEl, 'display', 'none');\n });\n }\n\n ngAfterViewInit(){\n \n setTimeout(() => {\n // this.setHidden()\n this.size()\n this.onLoad.emit(true)\n }, 5)\n\n }\n\n manualInit() {\n this.filteredRows = this.body\n this.filteredRows.length == 0 ? this.noData = true : this.noData = false\n this.buildPagination()\n this.buildTable()\n this.size()\n }\n\n onResize() {\n this.size()\n setTimeout(() => {this.size()},50)\n }\n\n canExpand:boolean\n shownLength:number = 1\n buildTable() {\n\n this.setHidden()\n //this.displayPage(1)\n this.currentPage = this.numPageSelected != null ? this.numPageSelected : 1\n this.displayPage(this.currentPage)\n\n }\n\n /**\n * Clean the table.\n */\n clean(): void {\n this.head.splice(0);\n this.body.splice(0);\n this.filteredRows.splice(0);\n this.noData = true;\n }\n\n numbersOfPages:number[] = []\n\n currentPage:number = 1\n currentPageItems: any[]\n\n visibleStart:number = 1\n visibleLength:number = 7\n visiblePages:number[]\n\n buildPagination() {\n\n this.numbersOfPages = []\n\n const total = this.numbersOfPagesPagination\n let numbersOfPages\n \n numbersOfPages = Math.ceil(total / this.pageLength)\n \n for (let i:number = 1; i <= numbersOfPages; i++) {\n this.numbersOfPages.push(i)\n }\n\n this.setVisiblePages(1, 1 + this.visibleLength)\n //console.log(\"Me pintas\",this.pageLength)\n //this.cambio.emit(this.pageLength)\n }\n\n setPageLength(){\n this.cambio.emit(this.pageLength)\n }\n\n noData:boolean = false\n setPage(num) {\n console.log('###setPage',num)\n //console.log(\"click number page\", num)\n if (this.filteredRows.length == 0) {\n\n this.noData = true\n this.visibleStart = 1\n this.currentPage = 1\n\n } else {\n\n this.noData = false\n\n }\n \n if (num > 0 && num <= this.numbersOfPages.length) {\n\n if ( num - 3 >= 1 && num + 3 <= this.numbersOfPages.length ) {\n this.visibleStart = num - 3\n } else {\n if ( num - 2 >= 1 && num + 2 <= this.numbersOfPages.length ) {\n\n if ( num - 2 + this.visibleLength <= this.numbersOfPages.length || num - 4 < 0 ) {\n this.visibleStart = num - 2\n } else {\n this.visibleStart = num - 4\n }\n\n } else if ( num - 1 >= 1 && num + 1 <= this.numbersOfPages.length ) {\n\n if ( num - 1 + this.visibleLength <= this.numbersOfPages.length || num - 5 < 0) {\n this.visibleStart = num - 1\n } else {\n this.visibleStart = num - 5\n }\n \n } else {\n if (num - this.visibleLength > 0) {\n this.visibleStart = num - this.visibleLength + 1\n } else {\n this.visibleStart = 1\n }\n \n }\n }\n\n this.currentPage = num\n\n this.onsetPagination.emit(num)\n\n if (this.numbersOfPages.length >= 7) {\n this.setVisiblePages(this.visibleStart, this.visibleStart + this.visibleLength)\n }else{\n this.setVisiblePages(1, 1 + this.visibleLength)\n }\n \n }\n\n }\n\n setPageSort(num) {\n console.log('###setPageSort',num)\n //console.log(\"click number page\", num)\n if (this.filteredRows.length == 0) {\n\n this.noData = true\n this.visibleStart = 1\n this.currentPage = 1\n\n } else {\n\n this.noData = false\n\n }\n \n if (num > 0 && num <= this.numbersOfPages.length) {\n\n if ( num - 3 >= 1 && num + 3 <= this.numbersOfPages.length ) {\n this.visibleStart = num - 3\n } else {\n if ( num - 2 >= 1 && num + 2 <= this.numbersOfPages.length ) {\n\n if ( num - 2 + this.visibleLength <= this.numbersOfPages.length || num - 4 < 0 ) {\n this.visibleStart = num - 2\n } else {\n this.visibleStart = num - 4\n }\n\n } else if ( num - 1 >= 1 && num + 1 <= this.numbersOfPages.length ) {\n\n if ( num - 1 + this.visibleLength <= this.numbersOfPages.length || num - 5 < 0) {\n this.visibleStart = num - 1\n } else {\n this.visibleStart = num - 5\n }\n \n } else {\n if (num - this.visibleLength > 0) {\n this.visibleStart = num - this.visibleLength + 1\n } else {\n this.visibleStart = 1\n }\n \n }\n }\n\n //Filter ASC, DESC\n this.displayPage(this.currentPage)\n if (this.numbersOfPages.length >= 7) {\n \n this.setVisiblePages(this.visibleStart, this.visibleStart + this.visibleLength)\n }else{\n this.setVisiblePages(1, 1 + this.visibleLength)\n }\n \n }\n\n }\n\n indexStart:number\n indexEnd:number\n displayPage(page) {\n\n this.indexStart = ((page * this.pageLength) - this.pageLength)\n this.indexEnd = this.indexStart + this.pageLength\n\n var start = ((1 * this.pageLength) - this.pageLength)\n var end = start + this.pageLength\n \n this.currentPageItems = this.filteredRows.slice(start, end)\n\n if (this.currentPageItems.length < this.pageLength) {\n this.indexEnd = this.indexStart + this.currentPageItems.length\n }\n\n const final = this.currentPageItems.map( (row, index) => {\n\n return {\n expanded: false,\n cols: row\n }\n\n })\n\n this.ngTable.body = final\n }\n\n setVisiblePages(start, end) { \n start--\n end--\n this.visiblePages = this.numbersOfPages.slice(start, end)\n }\n\n\n // page resizing\n sizeCount:number = 0\n size() {\n this.canExpand = false\n this.setHidden()\n const th = this.trueHeader.toArray()\n const sz = this.sizing.toArray()\n const sizes = sz.map( s => s.nativeElement.clientWidth )\n\n th.forEach(\n (h, i) => {\n const pLeft = parseInt(window.getComputedStyle(h.nativeElement).paddingLeft.split('px')[0])\n const pRight = parseInt(window.getComputedStyle(h.nativeElement).paddingRight.split('px')[0])\n\n h.nativeElement.width = (sizes[i] - ( pLeft + pRight )) + 1 \n \n }\n )\n\n sz.forEach(\n (h, i) => {\n const pLeft = parseInt(window.getComputedStyle(h.nativeElement).paddingLeft.split('px')[0])\n const pRight = parseInt(window.getComputedStyle(h.nativeElement).paddingRight.split('px')[0])\n\n h.nativeElement.width = (sizes[i] - ( pLeft + pRight )) + 1\n \n }\n )\n\n this.sizeCount ++\n // console.timeEnd('SIZE')\n }\n\n // FILTERING\n columnFilters:any = []\n filterTable(filter: Filter): void {\n const {\n text, prop = 'contents', col, exact = false, type = null, epoch = null, remainFilters\n } = filter;\n\n let initial = col === -1 || !!remainFilters && remainFilters.length === 0\n ? this.body\n : this.filteredRows;\n\n if (!!remainFilters && remainFilters.length > 0) {\n remainFilters.forEach((filter, index) => {\n const newFilter = { ...filter, remainFilters: null };\n \n if (index === 0) {\n this.filteredRows = this.body;\n }\n\n this.filterTable(newFilter);\n });\n return;\n }\n\n if (col == -1) {\n this.columnFilters.fill(null);\n } else {\n\n if (text == '') {\n this.columnFilters[col] = null\n } else {\n const search = text.toLowerCase();\n this.columnFilters = [];\n this.columnFilters[col] = { text: search, prop, exact, type, epoch };\n }\n\n this.columnFilters.forEach((f,i) => {\n if (f && f.text != '') {\n\n initial = initial.filter( row => {\n\n // filtro normal\n if (!f.epoch) {\n\n const rowText = row[i][f.prop] ? (row[i][f.prop]).toString().toLowerCase() : '';\n \n if (f.exact) {\n return rowText == f.text;\n }\n return rowText.indexOf(f.text) >= 0\n\n } else {\n // Fecha inicio / fecha fin\n const rowText = Date.parse(row[i][f.prop]);\n \n if (type === 'earlier-than') {\n return rowText <= f.epoch;\n } else {\n return rowText >= f.epoch;\n }\n \n }\n })\n }\n })\n }\n\n this.filteredRows = initial;\n\n this.setPage(1);\n this.buildPagination();\n }\n\n\n\n // CHECKBOXES \n @Input() checkIndex:number\n @Input() checkProp:string = 'contents'\n checkedList: any[] = []\n // checksModel: boolean[] = []\n check(e, cell, el, i:number, j:number) {\n // this.checksModel[this.indexStart+i] = e.target.checked\n if (this.checkUnique) {\n this.body.forEach(r => { r.forEach(c => { if (c.checkbox) c.checked = false }) })\n }\n cell.checked = e.target.checked\n\n if (e.target.checked) {\n\n this.checkUnique ? this.checkedList = [el] : this.checkedList.push(el)\n\n } else {\n this.checkedList = this.checkedList.filter(item => item != el)\n }\n\n console.log('checkedList',this.checkedList)\n \n this.getCheckedItems.emit(this.checkedList)\n }\n\n checkall(e) {\n\n // this.checksModel.fill(e.target.checked)\n this.body.forEach(r => { r.forEach( c => { if (c.checkbox) c.checked = e.target.checked }) })\n\n if (e.target.checked) {\n this.checkedList = this.filteredRows.map(row => row[this.checkIndex][this.checkProp])\n } else {\n this.checkedList = []\n }\n\n this.getCheckedItems.emit(this.checkedList)\n \n }\n\n uncheckEverything() {\n this.body.forEach(r => { r.forEach( c => { if (c.checkbox) c.checked = false }) })\n this.checkedList = []\n this.getCheckedItems.emit(this.checkedList)\n }\n\n\n\n\n\n\n // Close dropdown on click outside\n cellsOpened: boolean[] = []\n popoversOpened: boolean[] = []\n @HostListener('document:click', ['$event']) clickout(event) {\n this.cellsOpened.fill(false);\n this.popoversOpened.fill(false)\n }\n\n top:boolean\n tableDrop(e, i) {\n\n e.stopPropagation()\n\n let height = this.tableRef.nativeElement.parentElement.clientHeight\n let clientRect = this.tableRef.nativeElement.parentElement.getBoundingClientRect().top\n\n let top = height-200 < e.clientY - clientRect\n top ? this.top = true : this.top = false\n\n if ( this.cellsOpened[i] == undefined ) {\n this.cellsOpened[i] = false\n }\n\n let current = this.cellsOpened[i]\n this.cellsOpened.fill(false)\n\n if (current == true) {\n this.cellsOpened[i] = true\n }\n this.cellsOpened[i] = !this.cellsOpened[i]\n\n }\n\n\n\n\n\n\n\n // ordering\n sort(i, dir) {\n console.log('###sort')\n const collator = new Intl.Collator('es', { numeric: true, sensitivity: 'base' });\n // arrayOfObjects.sort((a, b) => {\n // return collator.compare(a.name, b.name);\n // });\n this.ngTable.head.forEach(th => th.order = '')\n if (dir == 'ASC') {\n this.filteredRows = this.filteredRows.sort((a, b) => {\n\n this.ngTable.head[i].order = 'ASC'\n\n if (a[i].date && b[i].date) {\n return (a[i].dateObj > b[i].dateObj) ? 1 : -1\n } else {\n return (collator.compare(a[i].contents, b[i].contents) >= 0) ? 1 : -1\n }\n\n })\n } else {\n this.filteredRows = this.filteredRows.sort((a, b) => {\n\n this.ngTable.head[i].order = 'DESC'\n\n if (a[i].date && b[i].date) {\n return (a[i].dateObj < b[i].dateObj) ? 1 : -1\n } else {\n return (collator.compare(a[i].contents, b[i].contents) <= 0) ? 1 : -1\n }\n \n })\n }\n \n this.setPageSort(1)\n this.buildPagination()\n \n }\n\n\n\n\n switch(e, preventSwitch, cvalue, action) {\n if (preventSwitch) e.preventDefault()\n if (action) action(!cvalue)\n }\n\n\n\n\n\n mediaQueries: any = [\n {\n width: 0,\n items: 3\n },\n {\n width: 572,\n items: 3\n },\n {\n width: 768,\n items: 8\n },\n {\n width: 992,\n items: 9\n },\n {\n width: 1200,\n items: 11\n },\n {\n width: 1500,\n items: 11\n }\n ]\n\n setHidden() {\n // console.time('SET HIDDEN')\n\n let width\n // reset widths\n if (this.tableRef) {\n\n const th = this.trueHeader.toArray()\n const sz = this.sizing.toArray()\n\n th.forEach( t => { t.nativeElement.width = '' })\n sz.forEach( t => { t.nativeElement.width = '' })\n\n width = this.tableRef.nativeElement.clientWidth\n } else {\n\n width = this.hostElement.nativeElement.parentElement.clientWidth\n }\n\n // esconder elementos que queden por fuera\n let items\n\n // SET THE AMOUNT OF ITEMS \n for (const q of this.mediaQueries) {\n if (width > q.width) {\n items = q.items\n } else {\n break\n }\n }\n\n let initialLength = 0\n this.head.forEach(th => { if (!th.hide) initialLength ++ })\n let diff = initialLength - items\n\n for ( let i = this.head.length-1; i >= 0; i-- ) {\n\n if (diff > 0) {\n if (!this.head[i].hide && !this.head[i].priority && !this.head[i].checkbox) {\n this.head[i].respHide = true\n diff --\n }\n } else {\n if (!this.head[i].hide) {\n this.head[i].respHide = false\n }\n }\n\n }\n \n\n for (const th of this.head) {\n if (th.hide || th.respHide) {\n \n this.canExpand = true\n } else {\n this.shownLength ++\n }\n }\n \n\n\n this.ngTable.head = this.head\n this.columnFilters.length = this.head.length\n // console.timeEnd('SET HIDDEN')\n }\n\n\n currentlyHidden:any\n expand(row) {\n const currentRow = this.ngTable.body[row]\n currentRow.expanded = !currentRow.expanded\n }\n\n\n\n\n\n // EDIT POPOVERS\n edited: string[] = []\n edit: FormGroup\n editTd(i, obj) {\n this.popoversOpened[i] = true\n let group = {}\n group[obj.name] = new FormControl('', [Validators[obj.validators]])\n this.edit = new FormGroup(group)\n }\n\n confirmEdit(i, input, action) {\n this.edited[i] = this.edit.value[input]\n this.popoversOpened[i] = false\n if (action) action(this.edited[i])\n }\n\n awaitAction(e, action, disabled:boolean) {\n if (disabled) return\n e.stopPropagation()\n action()\n }\n\n}\n","
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n
\n \n
\n
\n \n
\n {{ column.icon ? column.title : null }}\n
\n \n
\n \n
\n {{ !column.checkbox ? column.title : null }}\n
\n
\n {{ !column.checkbox ? column.title : null }} \n
\n\n
\n
\n Ordenar\n A- Z\n Z - A\n
\n
\n\n
\n
\n Ordenar\n A- Z\n Z - A\n
\n
\n\n
\n \n
\n \n
\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n
\n \n \n \n {{ !column.checkbox ? column.title : null }}\n \n
\n \n \n
\n
\n \n
\n \n
\n \n \n \n
\n \n
\n
\n \n\n \n
\n \n \n
\n
\n \n \n \n
\n \n
\n
\n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n
\n \n
\n \n
\n \n
\n
\n \n
    \n \n
  • \n \n \n \n {{opt.title}}\n \n
  • \n
    \n
\n \n
\n
\n
\n
\n \n \n
\n \n \n \n
\n \n \n \n \n \n \n {{cell.contents}}\n \n \n \n \n \n \n
\n \n \n \n {{ edited[i] || cell.contents }}\n \n \n \n

Correo Editado

\n \n
\n
\n \n
\n
\n \n \n
\n \n \n
\n
\n

Formato de correo inválido

\n
\n \n
\n
\n
\n
\n \n\n \n \n \n \n \n \n \n {{cell.contents}}\n \n \n \n \n \n {{ cell.contents }}\n \n \n
\n \n
    \n \n \n
  • \n {{ ngTable.head[j].title }}\n \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n
    \n \n
    \n
    \n \n
      \n \n
    • \n \n \n \n {{opt.title}}\n
    • \n
      \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n \n
    \n \n \n \n \n \n \n {{cell.contents}}\n \n \n \n \n \n \n
    \n \n \n \n {{ edited[i] || cell.contents }}\n \n \n \n
    \n
    \n \n
    \n
    \n \n \n
    \n \n \n
    \n
    \n

    Formato de correo inválido

    \n
    \n \n
    \n
    \n
    \n
    \n \n \n {{cell.contents}}\n
  • \n
    \n \n
\n
\n
\n \n
\n \n
\n \n Registros\n
\n
\n Mostrando {{indexStart+1}} a {{indexEnd}} de {{ lengthDataPagination }} registros\n (filtrados de {{body.length}} registros)\n
\n \n
0\">\n \n \n \n \n \n \n \n \n \n {{num}}\n \n \n \n \n \n \n \n \n \n
\n \n
\n \n
\n \n
\n\n
\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n\n \n\n \n\n \n\n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n\n \n \n \n\n \n\n \n\n \n \n \n \n\n \n
\n \n \n
\n \n
\n
\n \n
\n {{ column.icon ? column.title : null }}\n
\n\n
\n\n
\n {{ !column.checkbox ? column.title : null }}\n
\n\n
\n {{ !column.checkbox ? column.title : null }} \n
\n\n
\n
\n Ordenar\n A- Z\n Z - A\n
\n
\n\n
\n
\n Ordenar\n A- Z\n Z - A\n
\n
\n\n
\n \n
\n\n \n\n
\n \n \n \n {{ !column.checkbox ? column.title : null }}\n\n
\n \n \n
\n
\n\n
\n\n
\n\n \n \n
\n \n
\n
\n \n\n \n
\n \n \n
\n
\n\n \n \n
\n \n
\n
\n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n
\n\n
\n \n
\n \n
\n
\n \n
    \n \n
  • \n \n \n \n {{opt.title}}\n \n
  • \n
    \n
\n \n
\n
\n
\n
\n \n \n
\n \n \n \n
\n \n\n \n \n \n \n {{cell.contents}}\n \n \n \n\n \n \n
\n\n \n \n {{ edited[i] || cell.contents }}\n \n \n\n

Correo Editado

\n \n
\n
\n \n
\n
\n \n \n
\n \n \n
\n
\n

Formato de correo inválido

\n
\n \n
\n
\n
\n
\n \n\n \n \n \n \n \n \n \n {{cell.contents}}\n \n \n\n \n \n {{ cell.contents }}\n \n \n
\n\n
    \n\n \n
  • \n {{ ngTable.head[j].title }}\n\n \n \n
    \n \n
    \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n\n
    \n \n
    \n \n
    \n
    \n \n
      \n \n
    • \n \n \n \n {{opt.title}}\n
    • \n
      \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n \n
    \n \n\n \n \n \n \n {{cell.contents}}\n \n \n \n\n \n \n
    \n\n \n \n {{ edited[i] || cell.contents }}\n \n \n \n
    \n
    \n \n
    \n
    \n \n \n
    \n \n \n
    \n
    \n

    Formato de correo inválido

    \n
    \n \n
    \n
    \n
    \n
    \n \n\n {{cell.contents}}\n
  • \n
    \n\n
\n
\n
\n\n
\n\n
\n \n Registros\n
\n
\n Mostrando {{indexStart+1}} a {{indexEnd}} de {{ lengthDataPagination }} registros\n (filtrados de {{body.length}} registros)\n
\n\n
0\">\n\n \n \n \n\n \n \n \n\n {{num}}\n\n \n \n \n\n \n \n \n\n
\n\n
\n\n
\n\nProcessing","import { Injectable } from '@angular/core';\nimport { Subject, Observable, BehaviorSubject } from 'rxjs';\n\n@Injectable()\nexport class SharedActivarTitle {\n\n private sharedActivateTitle: Subject = new Subject();\n sharedActivar$: Observable = this.sharedActivateTitle.asObservable();\n\n constructor() { }\n\n setData(status) {\n this.sharedActivateTitle.next(status);\n }\n\n}","import { Component, Input, OnInit } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\n\n@Component({\n selector: 'app-password-validators',\n templateUrl: './password-validators.component.html',\n styleUrls: ['./password-validators.component.scss']\n})\nexport class PasswordValidatorsComponent implements OnInit {\n\n @Input() form: FormGroup\n @Input() validators: any\n @Input() titlePass: boolean = false;\n corchetes = '{}';\n \n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","

La contraseña debe contener al menos 8 caracteres:

\n

REQUISITOS DE CONTRASEÑA

\n\n
    \n
  • \n
    Al menos 8 caracteres
    \n
    Al menos 8 caracteres
    \n
  • \n
  • \n
    Al menos 6 caracteres
    \n
    Al menos 6 caracteres
    \n
  • \n
  • \n
    No más de 8 caracteres
    \n
    No más de 8 caracteres
    \n
  • \n
  • \n
    Al menos 1 letra minúscula
    \n
    Al menos 1 letra minúscula
    \n
  • \n
  • \n
    Al menos una mayúscula
    \n
    Al menos 1 letra mayúscula
    \n
  • \n
  • \n
    Al menos números
    \n
    Al menos 1 letra número
    \n
  • \n
  • \n
    Al menos un carácter especial ($%&@?)
    \n
    Al menos 1 símbolo Ej. =+-^$*.[]{{corchetes}}()?”!@#&/,><’:;|_~
    \n
  • \n
","import { Injectable } from \"@angular/core\";\n\nimport { Observable } from \"rxjs\";\n\nimport { ApiService } from \"./base/api.service\";\nimport { ChallengeDetails, IVerify, StartRequestData } from '../../models/Challenge.model';\n\n@Injectable({ providedIn: 'root' })\nexport class ChallengeService {\n\n constructor(private apiService: ApiService) {}\n\n startChallenge(body: StartRequestData): Observable {\n return this.apiService.post(`/challenge/start`, body);\n }\n\n saveFrames(challengeId: string, body: any): Observable {\n return this.apiService.put(`/challenge/${challengeId}/frames`, body);\n }\n\n verification(challengeId: string, body: any): Observable {\n return this.apiService.post(`/challenge/${challengeId}/verify`, body);\n }\n\n getFrames(challengeId: string, body: any): Observable {\n return this.apiService.get(`/challenge/${challengeId}/frameskey`, body);\n }\n}","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-loader-scroll-preview',\n templateUrl: './loader-scroll-preview.component.html',\n styleUrls: ['./loader-scroll-preview.component.scss'],\n host: { class: 'app-loader-scroll-preview' }\n})\nexport class LoaderScrollPreviewComponent implements OnInit {\n\n @Input('disabled') disabled:boolean\n @Input('big') big:boolean\n @Input('no-bg') noBg:boolean\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n \n\n\n\n
\n
","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-loader-full-screen',\n templateUrl: './loader-full-screen.component.html',\n styleUrls: ['./loader-full-screen.component.scss'],\n host: { class: 'app-loader-full-screen' }\n})\nexport class LoaderFullScreenComponent implements OnInit {\n\n @Input('disabled') disabled:boolean\n @Input('big') big:boolean\n @Input('no-bg') noBg:boolean\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n \n\n\n\n
\n
","import { \n Component,\n OnInit, \n Input, \n Output, \n EventEmitter, \n HostListener, \n ViewChildren, \n ViewChild, \n QueryList, \n ElementRef, \n AfterViewInit,\n DoCheck,\n Renderer2\n} from '@angular/core';\nimport { FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Filter } from 'src/app/models/Filter.model';\n\nimport { TableTh } from 'src/app/models/Table.model';\nimport { TableTd } from 'src/app/models/Table.model';\n\n\n@Component({\n selector: 'app-table-pagination-color',\n templateUrl: './table-pagination-color.component.html',\n styleUrls: ['./table-pagination-color.component.scss']\n})\nexport class TablePaginationColorComponent implements DoCheck ,OnInit, AfterViewInit {\n\n @ViewChildren('sizing') sizing:QueryList;\n @ViewChildren('trueHeader') trueHeader:QueryList;\n @ViewChild('tableRef') tableRef:ElementRef;\n\n @Input() head: TableTh[]\n @Input() body: Array\n @Input() lengthData: number\n @Input() autoHeight: boolean\n @Input() checkUnique: boolean\n @Input() loaders: boolean[] = [];\n @Input() showPaginator: boolean = true;\n @Input() showIconSort: boolean = true;\n @Input() numbersOfPagesPagination:number\n @Input() pageLength:number;\n @Input() numPageSelected:number;\n @Output() \n getCheckedItems = new EventEmitter()\n @Output() \n onLoad = new EventEmitter()\n @Output() onsetPagination = new EventEmitter();\n\n @Output () cambio: EventEmitter = new EventEmitter();\n\n ngTable:any = {}\n filteredRows:any[][];\n lengthDataPagination:number\n\n constructor(\n private hostElement: ElementRef,\n private renderer: Renderer2\n ) { }\n\n setBody(body: Array): void {\n console.log('body',body)\n this.body = body;\n }\n \n ngOnInit() {\n this.lengthDataPagination = this.lengthData\n this.filteredRows = this.body\n this.noData = this.filteredRows.length == 0;\n this.buildPagination()\n this.buildTable()\n\n if(this.numPageSelected>1){\n //this.displayPage(this.currentPage)\n }\n }\n\n\n ngDoCheck(): void {\n const noMetdataList = document.querySelectorAll('.no-metadata');\n \n noMetdataList.forEach((element) => {\n const siblingEl = element.previousElementSibling;\n this.renderer.setStyle(siblingEl, 'display', 'none');\n });\n }\n\n ngAfterViewInit(){\n \n setTimeout(() => {\n // this.setHidden()\n this.size()\n this.onLoad.emit(true)\n }, 5)\n\n }\n\n manualInit() {\n this.filteredRows = this.body\n this.filteredRows.length == 0 ? this.noData = true : this.noData = false\n this.buildPagination()\n this.buildTable()\n this.size()\n }\n\n onResize() {\n this.size()\n setTimeout(() => {this.size()},50)\n }\n\n canExpand:boolean\n shownLength:number = 1\n buildTable() {\n\n this.setHidden()\n //this.displayPage(1)\n this.currentPage = this.numPageSelected != null ? this.numPageSelected : 1\n this.displayPage(this.currentPage)\n\n }\n\n /**\n * Clean the table.\n */\n clean(): void {\n this.head.splice(0);\n this.body.splice(0);\n this.filteredRows.splice(0);\n this.noData = true;\n }\n\n numbersOfPages:number[] = []\n\n currentPage:number = 1\n currentPageItems: any[]\n\n visibleStart:number = 1\n visibleLength:number = 7\n visiblePages:number[]\n\n buildPagination() {\n\n this.numbersOfPages = []\n\n const total = this.numbersOfPagesPagination\n let numbersOfPages\n \n numbersOfPages = Math.ceil(total / this.pageLength)\n \n for (let i:number = 1; i <= numbersOfPages; i++) {\n this.numbersOfPages.push(i)\n }\n\n this.setVisiblePages(1, 1 + this.visibleLength)\n //console.log(\"Me pintas\",this.pageLength)\n //this.cambio.emit(this.pageLength)\n }\n\n setPageLength(){\n this.cambio.emit(this.pageLength)\n }\n\n noData:boolean = false\n setPage(num) {\n console.log('###setPage',num)\n //console.log(\"click number page\", num)\n if (this.filteredRows.length == 0) {\n\n this.noData = true\n this.visibleStart = 1\n this.currentPage = 1\n\n } else {\n\n this.noData = false\n\n }\n \n if (num > 0 && num <= this.numbersOfPages.length) {\n\n if ( num - 3 >= 1 && num + 3 <= this.numbersOfPages.length ) {\n this.visibleStart = num - 3\n } else {\n if ( num - 2 >= 1 && num + 2 <= this.numbersOfPages.length ) {\n\n if ( num - 2 + this.visibleLength <= this.numbersOfPages.length || num - 4 < 0 ) {\n this.visibleStart = num - 2\n } else {\n this.visibleStart = num - 4\n }\n\n } else if ( num - 1 >= 1 && num + 1 <= this.numbersOfPages.length ) {\n\n if ( num - 1 + this.visibleLength <= this.numbersOfPages.length || num - 5 < 0) {\n this.visibleStart = num - 1\n } else {\n this.visibleStart = num - 5\n }\n \n } else {\n if (num - this.visibleLength > 0) {\n this.visibleStart = num - this.visibleLength + 1\n } else {\n this.visibleStart = 1\n }\n \n }\n }\n\n this.currentPage = num\n\n this.onsetPagination.emit(num)\n\n if (this.numbersOfPages.length >= 7) {\n this.setVisiblePages(this.visibleStart, this.visibleStart + this.visibleLength)\n }else{\n this.setVisiblePages(1, 1 + this.visibleLength)\n }\n \n }\n\n }\n\n setPageSort(num) {\n console.log('###setPageSort',num)\n //console.log(\"click number page\", num)\n if (this.filteredRows.length == 0) {\n\n this.noData = true\n this.visibleStart = 1\n this.currentPage = 1\n\n } else {\n\n this.noData = false\n\n }\n \n if (num > 0 && num <= this.numbersOfPages.length) {\n\n if ( num - 3 >= 1 && num + 3 <= this.numbersOfPages.length ) {\n this.visibleStart = num - 3\n } else {\n if ( num - 2 >= 1 && num + 2 <= this.numbersOfPages.length ) {\n\n if ( num - 2 + this.visibleLength <= this.numbersOfPages.length || num - 4 < 0 ) {\n this.visibleStart = num - 2\n } else {\n this.visibleStart = num - 4\n }\n\n } else if ( num - 1 >= 1 && num + 1 <= this.numbersOfPages.length ) {\n\n if ( num - 1 + this.visibleLength <= this.numbersOfPages.length || num - 5 < 0) {\n this.visibleStart = num - 1\n } else {\n this.visibleStart = num - 5\n }\n \n } else {\n if (num - this.visibleLength > 0) {\n this.visibleStart = num - this.visibleLength + 1\n } else {\n this.visibleStart = 1\n }\n \n }\n }\n\n //Filter ASC, DESC\n this.displayPage(this.currentPage)\n if (this.numbersOfPages.length >= 7) {\n \n this.setVisiblePages(this.visibleStart, this.visibleStart + this.visibleLength)\n }else{\n this.setVisiblePages(1, 1 + this.visibleLength)\n }\n \n }\n\n }\n\n indexStart:number\n indexEnd:number\n displayPage(page) {\n\n this.indexStart = ((page * this.pageLength) - this.pageLength)\n this.indexEnd = this.indexStart + this.pageLength\n\n var start = ((1 * this.pageLength) - this.pageLength)\n var end = start + this.pageLength\n \n this.currentPageItems = this.filteredRows.slice(start, end)\n\n if (this.currentPageItems.length < this.pageLength) {\n this.indexEnd = this.indexStart + this.currentPageItems.length\n }\n\n const final = this.currentPageItems.map( (row, index) => {\n\n return {\n expanded: false,\n cols: row\n }\n\n })\n\n this.ngTable.body = final\n }\n\n setVisiblePages(start, end) { \n start--\n end--\n this.visiblePages = this.numbersOfPages.slice(start, end)\n }\n\n\n // page resizing\n sizeCount:number = 0\n size() {\n this.canExpand = false\n this.setHidden()\n const th = this.trueHeader.toArray()\n const sz = this.sizing.toArray()\n const sizes = sz.map( s => s.nativeElement.clientWidth )\n\n th.forEach(\n (h, i) => {\n const pLeft = parseInt(window.getComputedStyle(h.nativeElement).paddingLeft.split('px')[0])\n const pRight = parseInt(window.getComputedStyle(h.nativeElement).paddingRight.split('px')[0])\n\n h.nativeElement.width = (sizes[i] - ( pLeft + pRight )) + 1 \n \n }\n )\n\n sz.forEach(\n (h, i) => {\n const pLeft = parseInt(window.getComputedStyle(h.nativeElement).paddingLeft.split('px')[0])\n const pRight = parseInt(window.getComputedStyle(h.nativeElement).paddingRight.split('px')[0])\n\n h.nativeElement.width = (sizes[i] - ( pLeft + pRight )) + 1\n \n }\n )\n\n this.sizeCount ++\n // console.timeEnd('SIZE')\n }\n\n // FILTERING\n columnFilters:any = []\n filterTable(filter: Filter): void {\n const {\n text, prop = 'contents', col, exact = false, type = null, epoch = null, remainFilters\n } = filter;\n\n let initial = col === -1 || !!remainFilters && remainFilters.length === 0\n ? this.body\n : this.filteredRows;\n\n if (!!remainFilters && remainFilters.length > 0) {\n remainFilters.forEach((filter, index) => {\n const newFilter = { ...filter, remainFilters: null };\n \n if (index === 0) {\n this.filteredRows = this.body;\n }\n\n this.filterTable(newFilter);\n });\n return;\n }\n\n if (col == -1) {\n this.columnFilters.fill(null);\n } else {\n\n if (text == '') {\n this.columnFilters[col] = null\n } else {\n const search = text.toLowerCase();\n this.columnFilters = [];\n this.columnFilters[col] = { text: search, prop, exact, type, epoch };\n }\n\n this.columnFilters.forEach((f,i) => {\n if (f && f.text != '') {\n\n initial = initial.filter( row => {\n\n // filtro normal\n if (!f.epoch) {\n\n const rowText = row[i][f.prop] ? (row[i][f.prop]).toString().toLowerCase() : '';\n \n if (f.exact) {\n return rowText == f.text;\n }\n return rowText.indexOf(f.text) >= 0\n\n } else {\n // Fecha inicio / fecha fin\n const rowText = Date.parse(row[i][f.prop]);\n \n if (type === 'earlier-than') {\n return rowText <= f.epoch;\n } else {\n return rowText >= f.epoch;\n }\n \n }\n })\n }\n })\n }\n\n this.filteredRows = initial;\n\n this.setPage(1);\n this.buildPagination();\n }\n\n\n\n // CHECKBOXES \n @Input() checkIndex:number\n @Input() checkProp:string = 'contents'\n checkedList: any[] = []\n // checksModel: boolean[] = []\n check(e, cell, el, i:number, j:number) {\n // this.checksModel[this.indexStart+i] = e.target.checked\n if (this.checkUnique) {\n this.body.forEach(r => { r.forEach(c => { if (c.checkbox) c.checked = false }) })\n }\n cell.checked = e.target.checked\n\n if (e.target.checked) {\n\n this.checkUnique ? this.checkedList = [el] : this.checkedList.push(el)\n\n } else {\n this.checkedList = this.checkedList.filter(item => item != el)\n }\n\n console.log('checkedList',this.checkedList)\n \n this.getCheckedItems.emit(this.checkedList)\n }\n\n checkall(e) {\n\n // this.checksModel.fill(e.target.checked)\n this.body.forEach(r => { r.forEach( c => { if (c.checkbox) c.checked = e.target.checked }) })\n\n if (e.target.checked) {\n this.checkedList = this.filteredRows.map(row => row[this.checkIndex][this.checkProp])\n } else {\n this.checkedList = []\n }\n\n this.getCheckedItems.emit(this.checkedList)\n \n }\n\n uncheckEverything() {\n this.body.forEach(r => { r.forEach( c => { if (c.checkbox) c.checked = false }) })\n this.checkedList = []\n this.getCheckedItems.emit(this.checkedList)\n }\n\n\n\n\n\n\n // Close dropdown on click outside\n cellsOpened: boolean[] = []\n popoversOpened: boolean[] = []\n @HostListener('document:click', ['$event']) clickout(event) {\n this.cellsOpened.fill(false);\n this.popoversOpened.fill(false)\n }\n\n top:boolean\n tableDrop(e, i) {\n\n e.stopPropagation()\n\n let height = this.tableRef.nativeElement.parentElement.clientHeight\n let clientRect = this.tableRef.nativeElement.parentElement.getBoundingClientRect().top\n\n let top = height-200 < e.clientY - clientRect\n top ? this.top = true : this.top = false\n\n if ( this.cellsOpened[i] == undefined ) {\n this.cellsOpened[i] = false\n }\n\n let current = this.cellsOpened[i]\n this.cellsOpened.fill(false)\n\n if (current == true) {\n this.cellsOpened[i] = true\n }\n this.cellsOpened[i] = !this.cellsOpened[i]\n\n }\n\n\n\n\n\n\n\n // ordering\n sort(i, dir) {\n console.log('###sort')\n const collator = new Intl.Collator('es', { numeric: true, sensitivity: 'base' });\n // arrayOfObjects.sort((a, b) => {\n // return collator.compare(a.name, b.name);\n // });\n this.ngTable.head.forEach(th => th.order = '')\n if (dir == 'ASC') {\n this.filteredRows = this.filteredRows.sort((a, b) => {\n\n this.ngTable.head[i].order = 'ASC'\n\n if (a[i].date && b[i].date) {\n return (a[i].dateObj > b[i].dateObj) ? 1 : -1\n } else {\n return (collator.compare(a[i].contents, b[i].contents) >= 0) ? 1 : -1\n }\n\n })\n } else {\n this.filteredRows = this.filteredRows.sort((a, b) => {\n\n this.ngTable.head[i].order = 'DESC'\n\n if (a[i].date && b[i].date) {\n return (a[i].dateObj < b[i].dateObj) ? 1 : -1\n } else {\n return (collator.compare(a[i].contents, b[i].contents) <= 0) ? 1 : -1\n }\n \n })\n }\n \n this.setPageSort(1)\n this.buildPagination()\n \n }\n\n\n\n\n switch(e, preventSwitch, cvalue, action) {\n if (preventSwitch) e.preventDefault()\n if (action) action(!cvalue)\n }\n\n\n\n\n\n mediaQueries: any = [\n {\n width: 0,\n items: 1\n },\n {\n width: 572,\n items: 3\n },\n {\n width: 768,\n items: 4\n },\n {\n width: 992,\n items: 5\n },\n {\n width: 1200,\n items: 6\n },\n {\n width: 1500,\n items: 7\n }\n ]\n\n setHidden() {\n // console.time('SET HIDDEN')\n\n let width\n // reset widths\n if (this.tableRef) {\n\n const th = this.trueHeader.toArray()\n const sz = this.sizing.toArray()\n\n th.forEach( t => { t.nativeElement.width = '' })\n sz.forEach( t => { t.nativeElement.width = '' })\n\n width = this.tableRef.nativeElement.clientWidth\n } else {\n\n width = this.hostElement.nativeElement.parentElement.clientWidth\n }\n\n // esconder elementos que queden por fuera\n let items\n\n // SET THE AMOUNT OF ITEMS \n for (const q of this.mediaQueries) {\n if (width > q.width) {\n items = q.items\n } else {\n break\n }\n }\n\n let initialLength = 0\n this.head.forEach(th => { if (!th.hide) initialLength ++ })\n let diff = initialLength - items\n\n for ( let i = this.head.length-1; i >= 0; i-- ) {\n\n if (diff > 0) {\n if (!this.head[i].hide && !this.head[i].priority && !this.head[i].checkbox) {\n this.head[i].respHide = true\n diff --\n }\n } else {\n if (!this.head[i].hide) {\n this.head[i].respHide = false\n }\n }\n\n }\n \n\n for (const th of this.head) {\n if (th.hide || th.respHide) {\n \n this.canExpand = true\n } else {\n this.shownLength ++\n }\n }\n \n\n\n this.ngTable.head = this.head\n this.columnFilters.length = this.head.length\n // console.timeEnd('SET HIDDEN')\n }\n\n\n currentlyHidden:any\n expand(row) {\n const currentRow = this.ngTable.body[row]\n currentRow.expanded = !currentRow.expanded\n }\n\n\n\n\n\n // EDIT POPOVERS\n edited: string[] = []\n edit: FormGroup\n editTd(i, obj) {\n this.popoversOpened[i] = true\n let group = {}\n group[obj.name] = new FormControl('', [Validators[obj.validators]])\n this.edit = new FormGroup(group)\n }\n\n confirmEdit(i, input, action) {\n this.edited[i] = this.edit.value[input]\n this.popoversOpened[i] = false\n if (action) action(this.edited[i])\n }\n\n awaitAction(e, action, disabled:boolean) {\n if (disabled) return\n e.stopPropagation()\n action()\n }\n\n}\n","
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n
\n \n
\n
\n \n {{ !column.checkbox ? column.title : null }}\n \n
\n \n \n
\n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n
\n \n \n \n {{ !column.checkbox ? column.title : null }}\n \n
\n \n \n
\n
\n \n
\n \n
\n \n \n \n \n \n
\n \n
\n
\n \n \n \n \n
\n \n
\n
\n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n
\n \n
\n \n
\n \n
\n
\n \n
    \n \n
  • \n \n \n
  • \n
    \n
\n \n
\n
\n
\n
\n \n \n
\n \n \n \n
\n \n \n \n \n \n \n {{cell.contents}}\n \n \n \n \n \n \n
\n \n \n \n {{ edited[i] || cell.contents }}\n \n \n \n

Correo Editado

\n \n
\n
\n \n
\n
\n \n \n
\n \n \n
\n
\n

Formato de correo inválido

\n
\n \n
\n
\n
\n
\n \n\n \n \n \n \n \n \n \n {{cell.contents}}\n \n \n \n \n \n {{ cell.contents }}\n \n \n
\n \n
    \n \n \n
  • \n {{ ngTable.head[j].title }}\n \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n
    \n \n
    \n
    \n \n
      \n \n
    • \n \n \n
    • \n
      \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n \n
    \n \n \n \n \n \n \n {{cell.contents}}\n \n \n \n \n \n \n
    \n \n \n \n {{ edited[i] || cell.contents }}\n \n \n \n
    \n
    \n \n
    \n
    \n \n \n
    \n \n \n
    \n
    \n

    Formato de correo inválido

    \n
    \n \n
    \n
    \n
    \n
    \n \n \n {{cell.contents}}\n
  • \n
    \n \n
\n
\n
\n \n
\n \n
\n \n Registros\n
\n
\n Mostrando {{indexStart+1}} a {{indexEnd}} de {{ lengthDataPagination }} registros\n (filtrados de {{body.length}} registros)\n
\n \n
0\">\n \n \n \n \n \n \n \n \n \n {{num}}\n \n \n \n \n \n \n \n \n \n
\n \n
\n \n
\n \n
\n\n
\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n\n \n\n \n\n \n\n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n\n \n \n \n\n \n\n \n\n \n \n \n \n\n \n
\n \n \n \n
\n \n
\n
\n \n {{ !column.checkbox ? column.title : null }}\n \n
\n \n \n
\n \n
\n \n\n \n\n
\n \n \n \n {{ !column.checkbox ? column.title : null }}\n\n
\n \n \n
\n
\n\n
\n\n
\n \n \n\n \n \n
\n \n
\n
\n \n\n \n \n
\n \n
\n
\n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n
\n\n
\n \n
\n \n
\n
\n \n
    \n \n
  • \n \n \n
  • \n
    \n
\n \n
\n
\n
\n
\n \n \n
\n \n \n \n
\n \n\n \n \n \n \n {{cell.contents}}\n \n \n \n\n \n \n
\n\n \n \n {{ edited[i] || cell.contents }}\n \n \n\n

Correo Editado

\n \n
\n
\n \n
\n
\n \n \n
\n \n \n
\n
\n

Formato de correo inválido

\n
\n \n
\n
\n
\n
\n \n\n \n \n \n \n \n \n \n {{cell.contents}}\n \n \n\n \n \n {{ cell.contents }}\n \n \n
\n\n
    \n\n \n
  • \n {{ ngTable.head[j].title }}\n\n \n \n
    \n \n
    \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n\n
    \n \n
    \n \n
    \n
    \n \n
      \n \n
    • \n \n \n
    • \n
      \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n \n
    \n \n\n \n \n \n \n {{cell.contents}}\n \n \n \n\n \n \n
    \n\n \n \n {{ edited[i] || cell.contents }}\n \n \n \n
    \n
    \n \n
    \n
    \n \n \n
    \n \n \n
    \n
    \n

    Formato de correo inválido

    \n
    \n \n
    \n
    \n
    \n
    \n \n\n {{cell.contents}}\n
  • \n
    \n\n
\n
\n
\n\n
\n\n
\n \n Registros\n
\n
\n Mostrando {{indexStart+1}} a {{indexEnd}} de {{ lengthDataPagination }} registros\n (filtrados de {{body.length}} registros)\n
\n\n
0\">\n\n \n \n \n\n \n \n \n\n {{num}}\n\n \n \n \n\n \n \n \n\n
\n\n
\n\n
\n\nProcessing","import { Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor,\n HttpErrorResponse\n} from '@angular/common/http';\n\nimport { from, Observable, throwError } from 'rxjs';\nimport { catchError, exhaustMap, switchMap, take } from 'rxjs/operators';\nimport { Auth } from 'aws-amplify';\n\nimport { AuthService } from 'src/app/services/auth.service';\n\n@Injectable()\nexport class TokenInterceptor implements HttpInterceptor {\n\n constructor(private authService: AuthService) { }\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n\n let sent:boolean;\n \n return from(Auth.currentSession())\n .pipe(\n switchMap((auth: any) => {\n\n if (auth) {\n const jwt = auth.idToken.jwtToken;\n const modifiedReq = this.injectToken(req, jwt);\n sent = true;\n \n return this.authService.refreshToken$\n .pipe(\n take(1),\n exhaustMap((refreshToken: string) => {\n \n if (!refreshToken) {\n return next.handle(modifiedReq);\n }\n\n this.authService.handleTokenExpiration();\n const newReq = this.injectToken(req, refreshToken); \n return next.handle(newReq);\n })\n );\n }\n }),\n catchError((err: HttpErrorResponse) => {\n if (sent) {\n return throwError(err);\n }\n \n return next.handle(req);\n })\n );\n\n }\n\n /**\n * Inject the token to the header.\n */\n private injectToken(request: HttpRequest, token: any): HttpRequest {\n return request.clone({\n setHeaders: {\n Authorization: `Bearer ${token}`\n }\n });\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\nimport { environment } from 'src/environments/environment';\n\nimport { Proceso } from 'src/app/models/Proceso.model';\nimport { Observable } from 'rxjs';\n\n\ntype requestBody = {\n method: string\n data?: Proceso,\n id?: string,\n idCompany?: string\n subdomain?: string\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProcesoService {\n\n private urlProcesos:string = `${environment.apiCore}/process-type/`;\n\n constructor( private http: HttpClient ) { }\n\n listarProcesos(empresa:string):Observable {\n const body:requestBody = { method: 'LIST', idCompany:empresa }\n return this.http.post(this.urlProcesos, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarProcesos2(empresa:string):Observable {\n const body:requestBody = { method: 'LIST-PROCESS-TYPE', idCompany:empresa }\n return this.http.post(this.urlProcesos, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarProcesosSubdominio(subdomain:string):Observable {\n const body:requestBody = { method: 'LIST-PROCESS-TYPE-SUBDOMAIN', subdomain:subdomain }\n return this.http.post(this.urlProcesos, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n /*listarTipoProcesosActivos(empresa:string):Observable {\n const body:requestBody = { method: 'LIST-PROCESS-TYPE-ACTIVE', idCompany:empresa }\n return this.http.post(this.urlProcesos, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }*/\n\n listarTipoProcesosActivos(empresa:any, flujo:number):Observable {\n const body:requestBody = { method: 'LIST-PROCESS-TYPE-ACTIVE', data:{idCompany:empresa, flow:flujo} }\n return this.http.post(this.urlProcesos ,body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarProcesosActivos(empresa:string):Observable {\n const body:requestBody = { method: 'LIST-ACTIVE', idCompany:empresa }\n return this.http.post(this.urlProcesos, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarProcesosOficina(empresa:string,user:string,subdomain:string):Observable {\n const body:requestBody = { method: 'LIST-ACTIVE-FOR-OFFICE', data: {idCompany:empresa,user:user,subdomain:subdomain} }\n return this.http.post(this.urlProcesos, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarProcesosCompartidosActivos(subdomain:string):Observable {\n const body:requestBody = { method: 'LIST-SHARED-ACTIVE', subdomain:subdomain }\n return this.http.post(this.urlProcesos, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n crearProceso(proceso:Proceso) {\n const body:requestBody = { method: 'POST', data: proceso }\n return this.http.post(this.urlProcesos, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n obtenerProceso(id:string):Observable {\n const body:requestBody = { method: 'GET', id: id }\n return this.http.post(this.urlProcesos, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n actualizarProceso(proceso:Proceso) {\n const body:requestBody = { method: 'PUT', data: proceso }\n return this.http.post(this.urlProcesos, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n deshabilitarProceso(id:string) {\n const body:requestBody = { method: 'DELETE', id:id }\n return this.http.post(this.urlProcesos, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n habilitarProceso(id:string) {\n const body:requestBody = { method: 'PATCH', id:id }\n return this.http.post(this.urlProcesos, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UploadService {\n\n private url:string = `${environment.apiCoreUpload}/upload-file/`;\n private urlfile:string = `${environment.apiCoreUpload}/binary-upload-file/`;\n\n constructor( private http: HttpClient ) { }\n\n uploadFile(fd) {\n return this.http.post(this.url,fd, { headers: { \"x-api-key\": environment.xApiKeyUpload } }).toPromise()\n }\n\n uploadFileBinary(fd) {\n return this.http.post(this.urlfile,fd, { headers: { \"x-api-key\": environment.xApiKeyUpload } }).toPromise()\n }\n}\n","import { Component, OnInit, Input, ViewChild, ElementRef } from '@angular/core';\nimport { Auth, Storage } from 'aws-amplify';\n\n@Component({\n selector: 'app-s3-image-main',\n templateUrl: './s3-image-main.component.html',\n styleUrls: ['./s3-image-main.component.scss']\n})\nexport class S3ImageMainComponent implements OnInit {\n\n @ViewChild('el') el:ElementRef\n @Input('key') key:string\n\n constructor() { }\n\n ngOnInit(): void {\n this.getUrl()\n }\n\n src:any\n async getUrl() {\n const src = await Storage.get(this.key, {customPrefix: {public: ''}})\n this.src = src\n }\n\n}\n","\n","import { \n Component,\n OnInit, \n Input, \n Output, \n EventEmitter, \n HostListener, \n ViewChildren, \n ViewChild, \n QueryList, \n ElementRef, \n AfterViewInit,\n DoCheck,\n Renderer2\n} from '@angular/core';\nimport { FormGroup, Validators, FormControl } from '@angular/forms';\nimport { Filter } from 'src/app/models/Filter.model';\n\nimport { TableTh } from 'src/app/models/Table.model';\nimport { TableTd } from 'src/app/models/Table.model';\n\n\n@Component({\n selector: 'app-table-pagination',\n templateUrl: './table-pagination.component.html',\n styleUrls: ['./table-pagination.component.scss']\n})\nexport class TablePaginationComponent implements DoCheck ,OnInit, AfterViewInit {\n\n @ViewChildren('sizing') sizing:QueryList;\n @ViewChildren('trueHeader') trueHeader:QueryList;\n @ViewChild('tableRef') tableRef:ElementRef;\n\n @Input() head: TableTh[]\n @Input() body: Array\n @Input() lengthData: number\n @Input() autoHeight: boolean\n @Input() checkUnique: boolean\n @Input() loaders: boolean[] = [];\n @Input() showPaginator: boolean = true;\n @Input() showIconSort: boolean = true;\n @Input() numbersOfPagesPagination:number\n @Input() pageLength:number;\n @Input() numPageSelected:number;\n @Output() \n getCheckedItems = new EventEmitter()\n @Output() \n onLoad = new EventEmitter()\n @Output() onsetPagination = new EventEmitter();\n\n @Output () cambio: EventEmitter = new EventEmitter();\n @Input() styleContactos: boolean = false;\n\n ngTable:any = {}\n filteredRows:any[][];\n lengthDataPagination:number\n showScroll: boolean = false;\n showScrollHeight = 1.1;\n hideScrollHeight = 1;\n\n constructor(\n private hostElement: ElementRef,\n private renderer: Renderer2\n ) { }\n\n setBody(body: Array): void {\n console.log('body',body)\n this.body = body;\n }\n \n ngOnInit() {\n this.lengthDataPagination = this.lengthData\n this.filteredRows = this.body\n this.noData = this.filteredRows.length == 0;\n this.buildPagination()\n this.buildTable()\n\n if(this.numPageSelected>1){\n //this.displayPage(this.currentPage)\n }\n }\n\n @HostListener('window:scroll', [])\n onWindowScroll() {\n if (\n (\n window.pageYOffset ||\n document.documentElement.scrollTop ||\n document.body.scrollTop\n ) > this.showScrollHeight\n ) {\n this.showScroll = true;\n console.log(this.showScroll,'showScroll');\n\n } else if (this.showScroll &&\n (\n window.pageYOffset ||\n document.documentElement.scrollTop ||\n document.body.scrollTop) < this.hideScrollHeight\n ) {\n this.showScroll = false;\n console.log(this.showScroll,'showScroll');\n }\n }\n\n ngDoCheck(): void {\n const noMetdataList = document.querySelectorAll('.no-metadata');\n \n noMetdataList.forEach((element) => {\n const siblingEl = element.previousElementSibling;\n this.renderer.setStyle(siblingEl, 'display', 'none');\n });\n }\n\n ngAfterViewInit(){\n \n setTimeout(() => {\n // this.setHidden()\n this.size()\n this.onLoad.emit(true)\n }, 5)\n\n }\n\n manualInit() {\n this.filteredRows = this.body\n this.filteredRows.length == 0 ? this.noData = true : this.noData = false\n this.buildPagination()\n this.buildTable()\n this.size()\n }\n\n onResize() {\n this.size()\n setTimeout(() => {this.size()},50)\n }\n\n canExpand:boolean\n shownLength:number = 1\n buildTable() {\n\n this.setHidden()\n //this.displayPage(1)\n this.currentPage = this.numPageSelected != null ? this.numPageSelected : 1\n this.displayPage(this.currentPage)\n\n }\n\n /**\n * Clean the table.\n */\n clean(): void {\n this.head.splice(0);\n this.body.splice(0);\n this.filteredRows.splice(0);\n this.noData = true;\n }\n\n numbersOfPages:number[] = []\n\n currentPage:number = 1\n currentPageItems: any[]\n\n visibleStart:number = 1\n visibleLength:number = 7\n visiblePages:number[]\n\n buildPagination() {\n\n this.numbersOfPages = []\n\n const total = this.numbersOfPagesPagination\n let numbersOfPages\n \n numbersOfPages = Math.ceil(total / this.pageLength)\n \n for (let i:number = 1; i <= numbersOfPages; i++) {\n this.numbersOfPages.push(i)\n }\n\n this.setVisiblePages(1, 1 + this.visibleLength)\n //console.log(\"Me pintas\",this.pageLength)\n //this.cambio.emit(this.pageLength)\n }\n\n setPageLength(){\n this.cambio.emit(this.pageLength)\n }\n\n noData:boolean = false\n setPage(num) {\n console.log('###setPage',num)\n //console.log(\"click number page\", num)\n if (this.filteredRows.length == 0) {\n\n this.noData = true\n this.visibleStart = 1\n this.currentPage = 1\n\n } else {\n\n this.noData = false\n\n }\n \n if (num > 0 && num <= this.numbersOfPages.length) {\n\n if ( num - 3 >= 1 && num + 3 <= this.numbersOfPages.length ) {\n this.visibleStart = num - 3\n } else {\n if ( num - 2 >= 1 && num + 2 <= this.numbersOfPages.length ) {\n\n if ( num - 2 + this.visibleLength <= this.numbersOfPages.length || num - 4 < 0 ) {\n this.visibleStart = num - 2\n } else {\n this.visibleStart = num - 4\n }\n\n } else if ( num - 1 >= 1 && num + 1 <= this.numbersOfPages.length ) {\n\n if ( num - 1 + this.visibleLength <= this.numbersOfPages.length || num - 5 < 0) {\n this.visibleStart = num - 1\n } else {\n this.visibleStart = num - 5\n }\n \n } else {\n if (num - this.visibleLength > 0) {\n this.visibleStart = num - this.visibleLength + 1\n } else {\n this.visibleStart = 1\n }\n \n }\n }\n\n this.currentPage = num\n\n this.onsetPagination.emit(num)\n\n if (this.numbersOfPages.length >= 7) {\n this.setVisiblePages(this.visibleStart, this.visibleStart + this.visibleLength)\n }else{\n this.setVisiblePages(1, 1 + this.visibleLength)\n }\n \n }\n\n }\n\n setPageSort(num) {\n console.log('###setPageSort',num)\n //console.log(\"click number page\", num)\n if (this.filteredRows.length == 0) {\n\n this.noData = true\n this.visibleStart = 1\n this.currentPage = 1\n\n } else {\n\n this.noData = false\n\n }\n \n if (num > 0 && num <= this.numbersOfPages.length) {\n\n if ( num - 3 >= 1 && num + 3 <= this.numbersOfPages.length ) {\n this.visibleStart = num - 3\n } else {\n if ( num - 2 >= 1 && num + 2 <= this.numbersOfPages.length ) {\n\n if ( num - 2 + this.visibleLength <= this.numbersOfPages.length || num - 4 < 0 ) {\n this.visibleStart = num - 2\n } else {\n this.visibleStart = num - 4\n }\n\n } else if ( num - 1 >= 1 && num + 1 <= this.numbersOfPages.length ) {\n\n if ( num - 1 + this.visibleLength <= this.numbersOfPages.length || num - 5 < 0) {\n this.visibleStart = num - 1\n } else {\n this.visibleStart = num - 5\n }\n \n } else {\n if (num - this.visibleLength > 0) {\n this.visibleStart = num - this.visibleLength + 1\n } else {\n this.visibleStart = 1\n }\n \n }\n }\n\n //Filter ASC, DESC\n this.displayPage(this.currentPage)\n if (this.numbersOfPages.length >= 7) {\n \n this.setVisiblePages(this.visibleStart, this.visibleStart + this.visibleLength)\n }else{\n this.setVisiblePages(1, 1 + this.visibleLength)\n }\n \n }\n\n }\n\n indexStart:number\n indexEnd:number\n displayPage(page) {\n\n this.indexStart = ((page * this.pageLength) - this.pageLength)\n this.indexEnd = this.indexStart + this.pageLength\n\n var start = ((1 * this.pageLength) - this.pageLength)\n var end = start + this.pageLength\n \n this.currentPageItems = this.filteredRows.slice(start, end)\n\n if (this.currentPageItems.length < this.pageLength) {\n this.indexEnd = this.indexStart + this.currentPageItems.length\n }\n\n const final = this.currentPageItems.map( (row, index) => {\n\n return {\n expanded: false,\n cols: row\n }\n\n })\n\n this.ngTable.body = final\n }\n\n setVisiblePages(start, end) { \n start--\n end--\n this.visiblePages = this.numbersOfPages.slice(start, end)\n }\n\n\n // page resizing\n sizeCount:number = 0\n size() {\n this.canExpand = false\n this.setHidden()\n const th = this.trueHeader.toArray()\n const sz = this.sizing.toArray()\n const sizes = sz.map( s => s.nativeElement.clientWidth )\n\n th.forEach(\n (h, i) => {\n const pLeft = parseInt(window.getComputedStyle(h.nativeElement).paddingLeft.split('px')[0])\n const pRight = parseInt(window.getComputedStyle(h.nativeElement).paddingRight.split('px')[0])\n\n h.nativeElement.width = (sizes[i] - ( pLeft + pRight )) + 1 \n \n }\n )\n\n sz.forEach(\n (h, i) => {\n const pLeft = parseInt(window.getComputedStyle(h.nativeElement).paddingLeft.split('px')[0])\n const pRight = parseInt(window.getComputedStyle(h.nativeElement).paddingRight.split('px')[0])\n\n h.nativeElement.width = (sizes[i] - ( pLeft + pRight )) + 1\n \n }\n )\n\n this.sizeCount ++\n // console.timeEnd('SIZE')\n }\n\n // FILTERING\n columnFilters:any = []\n filterTable(filter: Filter): void {\n const {\n text, prop = 'contents', col, exact = false, type = null, epoch = null, remainFilters\n } = filter;\n\n let initial = col === -1 || !!remainFilters && remainFilters.length === 0\n ? this.body\n : this.filteredRows;\n\n if (!!remainFilters && remainFilters.length > 0) {\n remainFilters.forEach((filter, index) => {\n const newFilter = { ...filter, remainFilters: null };\n \n if (index === 0) {\n this.filteredRows = this.body;\n }\n\n this.filterTable(newFilter);\n });\n return;\n }\n\n if (col == -1) {\n this.columnFilters.fill(null);\n } else {\n\n if (text == '') {\n this.columnFilters[col] = null\n } else {\n const search = text.toLowerCase();\n this.columnFilters = [];\n this.columnFilters[col] = { text: search, prop, exact, type, epoch };\n }\n\n this.columnFilters.forEach((f,i) => {\n if (f && f.text != '') {\n\n initial = initial.filter( row => {\n\n // filtro normal\n if (!f.epoch) {\n\n const rowText = row[i][f.prop] ? (row[i][f.prop]).toString().toLowerCase() : '';\n \n if (f.exact) {\n return rowText == f.text;\n }\n return rowText.indexOf(f.text) >= 0\n\n } else {\n // Fecha inicio / fecha fin\n const rowText = Date.parse(row[i][f.prop]);\n \n if (type === 'earlier-than') {\n return rowText <= f.epoch;\n } else {\n return rowText >= f.epoch;\n }\n \n }\n })\n }\n })\n }\n\n this.filteredRows = initial;\n\n this.setPage(1);\n this.buildPagination();\n }\n\n\n\n // CHECKBOXES \n @Input() checkIndex:number\n @Input() checkProp:string = 'contents'\n checkedList: any[] = []\n // checksModel: boolean[] = []\n check(e, cell, el, i:number, j:number) {\n // this.checksModel[this.indexStart+i] = e.target.checked\n if (this.checkUnique) {\n this.body.forEach(r => { r.forEach(c => { if (c.checkbox) c.checked = false }) })\n }\n cell.checked = e.target.checked\n\n if (e.target.checked) {\n\n this.checkUnique ? this.checkedList = [el] : this.checkedList.push(el)\n\n } else {\n this.checkedList = this.checkedList.filter(item => item != el)\n }\n\n console.log('checkedList',this.checkedList)\n \n this.getCheckedItems.emit(this.checkedList)\n }\n\n checkall(e) {\n\n // this.checksModel.fill(e.target.checked)\n this.body.forEach(r => { r.forEach( c => { if (c.checkbox) c.checked = e.target.checked }) })\n\n if (e.target.checked) {\n this.checkedList = this.filteredRows.map(row => row[this.checkIndex][this.checkProp])\n } else {\n this.checkedList = []\n }\n\n this.getCheckedItems.emit(this.checkedList)\n \n }\n\n uncheckEverything() {\n this.body.forEach(r => { r.forEach( c => { if (c.checkbox) c.checked = false }) })\n this.checkedList = []\n this.getCheckedItems.emit(this.checkedList)\n }\n\n\n\n\n\n\n // Close dropdown on click outside\n cellsOpened: boolean[] = []\n popoversOpened: boolean[] = []\n @HostListener('document:click', ['$event']) clickout(event) {\n this.cellsOpened.fill(false);\n this.popoversOpened.fill(false)\n }\n\n top:boolean\n tableDrop(e, i) {\n\n e.stopPropagation()\n\n let height = this.tableRef.nativeElement.parentElement.clientHeight\n let clientRect = this.tableRef.nativeElement.parentElement.getBoundingClientRect().top\n\n let top = height-200 < e.clientY - clientRect\n top ? this.top = true : this.top = false\n\n if ( this.cellsOpened[i] == undefined ) {\n this.cellsOpened[i] = false\n }\n\n let current = this.cellsOpened[i]\n this.cellsOpened.fill(false)\n\n if (current == true) {\n this.cellsOpened[i] = true\n }\n this.cellsOpened[i] = !this.cellsOpened[i]\n\n }\n\n\n\n\n\n\n\n // ordering\n sort(i, dir) {\n console.log('###sort')\n const collator = new Intl.Collator('es', { numeric: true, sensitivity: 'base' });\n // arrayOfObjects.sort((a, b) => {\n // return collator.compare(a.name, b.name);\n // });\n this.ngTable.head.forEach(th => th.order = '')\n if (dir == 'ASC') {\n this.filteredRows = this.filteredRows.sort((a, b) => {\n\n this.ngTable.head[i].order = 'ASC'\n\n if (a[i].date && b[i].date) {\n return (a[i].dateObj > b[i].dateObj) ? 1 : -1\n } else {\n return (collator.compare(a[i].contents, b[i].contents) >= 0) ? 1 : -1\n }\n\n })\n } else {\n this.filteredRows = this.filteredRows.sort((a, b) => {\n\n this.ngTable.head[i].order = 'DESC'\n\n if (a[i].date && b[i].date) {\n return (a[i].dateObj < b[i].dateObj) ? 1 : -1\n } else {\n return (collator.compare(a[i].contents, b[i].contents) <= 0) ? 1 : -1\n }\n \n })\n }\n \n this.setPageSort(1)\n this.buildPagination()\n \n }\n\n\n\n\n switch(e, preventSwitch, cvalue, action) {\n if (preventSwitch) e.preventDefault()\n if (action) action(!cvalue)\n }\n\n\n\n\n\n mediaQueries: any = [\n {\n width: 0,\n items: 3\n },\n {\n width: 572,\n items: 3\n },\n {\n width: 768,\n items: 6\n },\n {\n width: 992,\n items: 7\n },\n {\n width: 1200,\n items: 8\n },\n {\n width: 1500,\n items: 8\n }\n ]\n\n setHidden() {\n // console.time('SET HIDDEN')\n\n let width\n // reset widths\n if (this.tableRef) {\n\n const th = this.trueHeader.toArray()\n const sz = this.sizing.toArray()\n\n th.forEach( t => { t.nativeElement.width = '' })\n sz.forEach( t => { t.nativeElement.width = '' })\n\n width = this.tableRef.nativeElement.clientWidth\n } else {\n\n width = this.hostElement.nativeElement.parentElement.clientWidth\n }\n\n // esconder elementos que queden por fuera\n let items\n\n // SET THE AMOUNT OF ITEMS \n for (const q of this.mediaQueries) {\n if (width > q.width) {\n items = q.items\n } else {\n break\n }\n }\n\n let initialLength = 0\n this.head.forEach(th => { if (!th.hide) initialLength ++ })\n let diff = initialLength - items\n\n for ( let i = this.head.length-1; i >= 0; i-- ) {\n\n if (diff > 0) {\n if (!this.head[i].hide && !this.head[i].priority && !this.head[i].checkbox) {\n this.head[i].respHide = true\n diff --\n }\n } else {\n if (!this.head[i].hide) {\n this.head[i].respHide = false\n }\n }\n\n }\n \n\n for (const th of this.head) {\n if (th.hide || th.respHide) {\n \n this.canExpand = true\n } else {\n this.shownLength ++\n }\n }\n \n\n\n this.ngTable.head = this.head\n this.columnFilters.length = this.head.length\n // console.timeEnd('SET HIDDEN')\n }\n\n\n currentlyHidden:any\n expand(row) {\n const currentRow = this.ngTable.body[row]\n currentRow.expanded = !currentRow.expanded\n }\n\n\n\n\n\n // EDIT POPOVERS\n edited: string[] = []\n edit: FormGroup\n editTd(i, obj) {\n this.popoversOpened[i] = true\n let group = {}\n group[obj.name] = new FormControl('', [Validators[obj.validators]])\n this.edit = new FormGroup(group)\n }\n\n confirmEdit(i, input, action) {\n this.edited[i] = this.edit.value[input]\n this.popoversOpened[i] = false\n if (action) action(this.edited[i])\n }\n\n awaitAction(e, action, disabled:boolean) {\n if (disabled) return\n e.stopPropagation()\n action()\n }\n\n}\n","
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n
\n \n
\n
\n \n
\n {{ column.icon ? column.title : null }}\n
\n \n
\n \n
\n {{ !column.checkbox ? column.title : null }}\n
\n
\n {{ !column.checkbox ? column.title : null }} \n
\n
\n
\n Ordenar\n A- Z\n Z - A\n
\n
\n\n
\n \n
\n \n
\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n
\n \n \n \n {{ !column.checkbox ? column.title : null }}\n \n
\n \n \n
\n
\n \n
\n \n
\n \n \n \n \n \n
\n \n
\n
\n \n \n \n \n
\n \n
\n
\n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n
\n \n
\n \n
\n \n
\n
\n \n
    \n \n
  • \n \n \n \n {{opt.title}}\n \n
  • \n
    \n
\n \n
\n
\n
\n
\n \n \n
\n \n \n \n
\n \n \n \n \n \n \n {{cell.contents}}\n \n \n \n \n \n \n
\n \n \n \n {{ edited[i] || cell.contents }}\n \n \n \n

Correo Editado

\n \n
\n
\n \n
\n
\n \n \n
\n \n \n
\n
\n

Formato de correo inválido

\n
\n \n
\n
\n
\n
\n \n\n \n \n \n \n \n \n \n {{cell.contents}}\n \n \n \n \n \n {{ cell.contents }}\n \n \n
\n \n
    \n \n \n
  • \n {{ ngTable.head[j].title }}\n \n \n \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n
    \n \n
    \n
    \n \n
      \n \n
    • \n \n \n \n {{opt.title}}\n
    • \n
      \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n \n
    \n \n \n \n \n \n \n {{cell.contents}}\n \n \n \n \n \n \n
    \n \n \n \n {{ edited[i] || cell.contents }}\n \n \n \n
    \n
    \n \n
    \n
    \n \n \n
    \n \n \n
    \n
    \n

    Formato de correo inválido

    \n
    \n \n
    \n
    \n
    \n
    \n \n \n {{cell.contents}}\n
  • \n
    \n \n
\n
\n
\n \n
\n \n
\n \n Registros\n
\n
\n Mostrando {{indexStart+1}} a {{indexEnd}} de {{ lengthDataPagination }} registros\n (filtrados de {{body.length}} registros)\n
\n \n
0\">\n \n \n \n \n \n \n \n \n \n {{num}}\n \n \n \n \n \n \n \n \n \n
\n \n
\n \n
\n \n
\n\n
\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n\n \n\n \n\n \n\n \n \n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n \n\n \n \n \n\n \n\n \n\n \n \n \n \n\n \n
\n \n \n \n
\n \n
\n
\n \n
\n {{ column.icon ? column.title : null }}\n
\n\n
\n \n
\n {{ !column.checkbox ? column.title : null }}\n
\n
\n {{ !column.checkbox ? column.title : null }} \n
\n
\n
\n Ordenar\n A- Z\n Z - A\n
\n
\n\n
\n \n
\n \n\n \n\n
\n \n \n \n {{ !column.checkbox ? column.title : null }}\n\n
\n \n \n
\n
\n\n
\n\n
\n \n \n\n \n \n
\n \n
\n
\n \n\n \n \n
\n \n
\n
\n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n
\n\n
\n \n
\n \n
\n
\n \n
    \n \n
  • \n \n \n \n {{opt.title}}\n \n
  • \n
    \n
\n \n
\n
\n
\n
\n \n \n
\n \n \n \n
\n \n\n \n \n \n \n {{cell.contents}}\n \n \n \n\n \n \n
\n\n \n \n {{ edited[i] || cell.contents }}\n \n \n\n

Correo Editado

\n \n
\n
\n \n
\n
\n \n \n
\n \n \n
\n
\n

Formato de correo inválido

\n
\n \n
\n
\n
\n
\n \n\n \n \n \n \n \n \n \n {{cell.contents}}\n \n \n\n \n \n {{ cell.contents }}\n \n \n
\n\n
    \n\n \n
  • \n {{ ngTable.head[j].title }}\n\n \n \n
    \n \n
    \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n\n
    \n \n
    \n \n
    \n
    \n \n
      \n \n
    • \n \n \n \n {{opt.title}}\n
    • \n
      \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n \n \n \n \n
    \n \n\n \n \n \n \n {{cell.contents}}\n \n \n \n\n \n \n
    \n\n \n \n {{ edited[i] || cell.contents }}\n \n \n \n
    \n
    \n \n
    \n
    \n \n \n
    \n \n \n
    \n
    \n

    Formato de correo inválido

    \n
    \n \n
    \n
    \n
    \n
    \n \n\n {{cell.contents}}\n
  • \n
    \n\n
\n
\n
\n\n
\n\n
\n \n Registros\n
\n
\n Mostrando {{indexStart+1}} a {{indexEnd}} de {{ lengthDataPagination }} registros\n (filtrados de {{body.length}} registros)\n
\n\n
0\">\n\n \n \n \n\n \n \n \n\n {{num}}\n\n \n \n \n\n \n \n \n\n
\n\n
\n\n
\n\nProcessing","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { ICompany } from '../models/Company.model';\nimport { Documento } from '../models/Documento.model';\nimport { Personalizacion } from '../models/Personalizacion.model';\n\ntype RequestBody = {\n method: string\n data?: Documento | ICompany,\n id?: string,\n idCompany?: string,\n subdomain?:string\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PersonalizacionService {\n\n private urlPersonalizacion:string = `${environment.apiCore}/company/`;\n\n constructor( private http: HttpClient ) { }\n\n\n guardarPersonalizacion(personalizacion:Personalizacion) {\n const body: RequestBody = { method: 'ADD-PERZONALIZATION', data: personalizacion }\n return this.http.post(this.urlPersonalizacion, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarImagenesPersonalizacion(domain:string) {\n const body: RequestBody = {\n method:\"GET-LOGIN\",\n subdomain:domain\n }\n return this.http.post(this.urlPersonalizacion ,body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarImagenesPersonalizacionLogeado(domain:string,id:string) {\n const body: RequestBody = {\n method:\"GET-LOGIN-LOGEADO\",\n subdomain:domain,\n id:id\n }\n return this.http.post(this.urlPersonalizacion ,body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n\n addNewCompany(data: ICompany): Observable {\n const body: RequestBody = {\n method: 'ADD-NEW-COMPANY',\n data\n };\n return this.http.post(this.urlPersonalizacion, body, { headers: { \"x-api-key\": environment.xApiKey } });\n }\n}","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'app-picker-calendar',\n templateUrl: './picker-calendar.component.html',\n styleUrls: ['./picker-calendar.component.scss']\n})\nexport class PickerCalendarComponent implements OnInit {\n\n @Input('refDate') set refDate (value:Date) { if (value) this.setToday(value) }\n @Input('nav') nav:boolean\n\n _min: Date\n _max: Date\n @Input() set min (value: Date) { if (value) {\n this._min = new Date(value.getFullYear(), value.getMonth(), value.getDate())\n this.setMinMax()\n this.setDate(this.today)\n } }\n @Input() set max (value: Date) { if (value) {\n this._max = new Date(value.getFullYear(), value.getMonth(), value.getDate())\n this.setMinMax()\n this.setDate(this.today)\n } }\n\n @Output()\n onnav: EventEmitter = new EventEmitter()\n @Output()\n onselect: EventEmitter = new EventEmitter()\n\n rangeDateTime: number[] = []\n range: Date[] = []\n\n constructor() { }\n\n currentYear:number\n currentMonth:number\n currentDays:any[] = []\n\n prevDays:any[] = []\n nextDays:any[] = []\n\n view:number\n today:Date\n todayTime:number\n\n ngOnInit(): void {\n this.setMinMax()\n this.listYears()\n }\n\n setToday(date:Date) {\n this.today = new Date(date.getFullYear(), date.getMonth(), date.getDate())\n this.setDate(this.today)\n }\n\n months:string[] = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'];\n weekDays:string[] = ['DOM', 'LUN', 'MAR', 'MIÉ', 'JUE', 'VIE', 'SÁB'];\n years:number[][] = [];\n visibleYears:number[] = [];\n\n minTime:number\n maxTime:number\n setMinMax() {\n if (this._min) this.minTime = this._min.getTime()\n if (this._max) this.maxTime = this._max.getTime()\n }\n\n listYears() {\n const min:number = 1900\n const years:number[][] = []\n\n for (let i = 0; i < 11; i ++) {\n const page:number [] = []\n for (let j = 0; j < 30; j ++) {\n page.push(min + j + (i*30))\n }\n years.push(page)\n }\n \n this.years = [...years]\n }\n \n setDate(date:Date):void {\n\n this.prevDays = []\n\n this.currentYear = date.getFullYear()\n this.currentMonth = date.getMonth()\n\n const firstDay:Date = new Date(this.currentYear, this.currentMonth, 1)\n const lastDay:Date = new Date(this.currentYear, this.currentMonth + 1, 0)\n\n this.populateCurrentDays(lastDay.getDate())\n\n if (firstDay.getDay() != 0) this.populatePrevDays(firstDay.getDay())\n this.populateNextDays()\n this.populateVisibleYears()\n }\n\n populateCurrentDays(days:number):void {\n\n const daysInMonth:any[] = []\n\n for (let i = 1; i <= days; i ++) {\n\n const date:Date = new Date(this.currentYear, this.currentMonth, i)\n const dateTime:number = date.getTime()\n daysInMonth.push({\n day:i, \n date: date, \n // today: this.todayTime === dateTime, \n selected: (this.rangeDateTime[0] && this.rangeDateTime[1]) && (this.rangeDateTime[0] === dateTime || this.rangeDateTime[1] === dateTime),\n range: (this.range[0] && this.range[1]) && (date > this.range[0] && date < this.range[1]),\n disabled: dateTime < this.minTime || dateTime > this.maxTime,\n time: dateTime\n })\n\n }\n this.currentDays = [...daysInMonth]\n }\n\n populatePrevDays(diff:number):void {\n\n const days:any[] = []\n const lastDateOfPreviousMonth:number = new Date(this.currentYear, this.currentMonth, 0).getDate()\n\n for (let i = 1; i <= diff; i ++) {\n\n // const date:Date = new Date(this.currentYear, this.currentMonth-1, (lastDateOfPreviousMonth-diff+i))\n // const dateTime:number = date.getTime()\n days.push({\n // day: lastDateOfPreviousMonth - diff + i, \n // date: date,\n // // today: this.todayTime === dateTime,\n // selected: (this.rangeDateTime[0] && this.rangeDateTime[1]) && (this.rangeDateTime[0] === dateTime || this.rangeDateTime[1] === dateTime),\n // range: (this.range[0] && this.range[1]) && (date > this.range[0] && date < this.range[1]),\n // disabled: dateTime < this.minTime || dateTime > this.maxTime,\n // time: dateTime\n })\n\n }\n this.prevDays = [...days]\n }\n\n populateNextDays():void {\n\n const diff:number = 42 - this.currentDays.length - this.prevDays.length\n const days:any[] = []\n\n for (let i = 1; i <= diff; i ++) {\n\n // const date:Date = new Date(this.currentYear, this.currentMonth+1, i)\n // const dateTime:number = date.getTime()\n days.push({\n // day:i, \n // date: date, \n // // today: this.todayTime === dateTime,\n // selected: (this.rangeDateTime[0] && this.rangeDateTime[1]) && (this.rangeDateTime[0] === dateTime || this.rangeDateTime[1] === dateTime),\n // range: (this.range[0] && this.range[1]) && (date > this.range[0] && date < this.range[1]),\n // disabled: dateTime < this.minTime || dateTime > this.maxTime,\n // time: dateTime\n })\n\n }\n this.nextDays = [...days]\n }\n\n currentPage:number\n populateVisibleYears() {\n\n let page:number = 0\n for (const p of this.years) {\n const year = p.find(y => y === this.currentYear)\n if (year) {\n this.currentPage = page\n break\n }\n page ++\n }\n }\n\n setMonth(i:number):void {\n this.setDate(new Date(this.currentYear, i, 1))\n }\n\n selectDate(date:any) {\n date.selected = true\n this.onselect.emit(date.date)\n }\n\n colorRange() {\n this.prevDays.forEach(d => {d.range = d.date > this.range[0] && d.date < this.range[1]})\n this.currentDays.forEach(d => {d.range = d.date > this.range[0] && d.date < this.range[1]})\n this.nextDays.forEach(d => {d.range = d.date > this.range[0] && d.date < this.range[1]})\n }\n\n setSelected() {\n this.prevDays.forEach(d => {d.selected = d.time === this.rangeDateTime[0] || d.time === this.rangeDateTime[1]})\n this.currentDays.forEach(d => {d.selected = d.time === this.rangeDateTime[0] || d.time === this.rangeDateTime[1]})\n this.nextDays.forEach(d => {d.selected = d.time === this.rangeDateTime[0] || d.time === this.rangeDateTime[1]})\n }\n\n deselectAll() {\n this.prevDays.forEach(d => {d.selected = false; d.range = false})\n this.currentDays.forEach(d => {d.selected = false; d.range = false})\n this.nextDays.forEach(d => {d.selected = false; d.range = false})\n }\n\n}\n","
\n\n \n
\n
{{months[currentMonth]}}
\n
{{currentYear}}
\n
\n \n \n \n \n
\n
\n\n
\n
{{w}}
\n
\n\n
\n\n \n
\n
\n\n \n
{{d.day}}
\n
\n\n \n
\n
\n\n
\n \n\n
\n","import { \n Component,\n Input, \n HostListener, \n ViewChildren, \n QueryList, \n ElementRef, \n Output, \n EventEmitter\n} from '@angular/core';\nimport { formatDate } from '@angular/common';\n\nimport { Filter } from 'src/app/models/Filter.model';\n\n@Component({\n selector: 'app-mega-filter',\n templateUrl: './mega-filter.component.html',\n styleUrls: ['./mega-filter.component.scss']\n})\nexport class MegaFilterComponent {\n\n @Input() placeholder: string;\n @Input() filters: Filter[] = [];\n @Input() session: string;\n\n @Output() onset = new EventEmitter();\n @Output() remaingFilters = new EventEmitter();\n\n @ViewChildren('list') el: QueryList;\n\n @HostListener('document:click', ['event']) clickout(event) {\n if (this.openFilter) {\n this.openFilter = false;\n }\n this.type = null;\n }\n\n constructor() { }\n\n openFilter:boolean\n searchTerm:string\n type:string\n\n theValue:string;\n theDate:Date = new Date();\n\n editing:number = -1;\n selectedfilterList = [];\n\n applyFilters() {\n if (sessionStorage.getItem(this.session)) {\n this.filters = JSON.parse(sessionStorage.getItem(this.session))\n this.filters.forEach( f => {\n if (!f.on) {\n this.onset.emit({text:f.value, prop:f.prop, col:f.col, exact:f.exact})\n }\n })\n }\n }\n\n applyFiltersCargos() {\n this.session = 'FILTROS_CARGOS';\n this.applyFilters();\n }\n\n applyFiltersProcesos() {\n this.session = 'FILTROS_PROCESOS';\n this.applyFilters();\n }\n\n applyFiltersFlujos() {\n this.session = 'FILTROS_FLUJOS';\n this.applyFilters();\n }\n\n applyFiltersDocumentos() {\n this.session = 'FILTROS_DOCUMENTOS';\n this.applyFilters();\n }\n\n applyFiltersPlantillas() {\n this.session = 'FILTROS_PLANTILLAS';\n this.applyFilters();\n }\n\n applyFiltersUsuarios() {\n this.session = 'FILTROS_USUARIOS';\n this.applyFilters();\n }\n\n applyFiltersContactos() {\n this.session = 'FILTROS_CONTACTOS';\n this.applyFilters();\n }\n\n applyFiltersReceptores() {\n this.session = 'FILTROS_RECEPTORES';\n this.applyFilters();\n }\n\n applyFiltersPerfiles() {\n this.session = 'FILTROS_PERFILES';\n this.applyFilters();\n }\n\n applyFiltersGruposExternos() {\n this.session = 'FILTROS_GRUPOS_EXTERNOS';\n this.applyFilters();\n }\n\n applyFiltersGruposInternos() {\n this.session = 'FILTROS_GRUPOS_INTERNOS';\n this.applyFilters();\n }\n\n applyFiltersPendientes() {\n this.session = 'FILTROS_PENDIENTES';\n this.applyFilters();\n }\n\n applyFiltersPapelera() {\n this.session = 'FILTROS_PAPELERA';\n this.applyFilters();\n }\n\n applyFiltersProcesoRapido() {\n this.session = 'FILTROS_PROCESO_RAPIDO';\n this.applyFilters();\n }\n\n applyFiltersPasoUno() {\n this.session = 'FILTROS_PASO_UNO';\n this.applyFilters();\n }\n\n applyFiltersPasoTres() {\n this.session = 'FILTROS_PASO_TRES';\n this.applyFilters();\n }\n\n applyFiltersPendientesPorNotificar() {\n this.session = 'FILTROS_PENDIENTES_POR_NOTIFICAR';\n this.applyFilters();\n }\n\n checkFiltersOn() {\n return this.filters.every( filter => filter.on );\n }\n checkFiltersOff() {\n return this.filters.every( filter => !filter.on );\n }\n\n openMegaFilter(event) {\n event.stopPropagation();\n this.openFilter = true;\n if (this.type) {\n this.type = null;\n this.editing = -1;\n }\n } \n\n selectType(event, type, i) {\n event.stopPropagation();\n this.type = type;\n this.activeFilter = i;\n this.openFilter = false;\n }\n\n cancelChange() {\n this.filters[this.activeFilter].value = '';\n this.filters[this.activeFilter].on = true;\n }\n\n setFilter(event) { \n \n if (event != '') {\n\n if (!this.type) {\n return false;\n }\n\n let value = '';\n\n if (this.type == 'date' || this.type == 'earlier-than' || this.type == 'later-than') {\n value = formatDate(event, 'dd/MM/yyyy', 'en_US')\n } else if (this.type == 'select') {\n value = event.target.value\n } else {\n value = event;\n }\n\n if (this.editing != -1) {\n this.filters[this.editing].value = value;\n this.editing = -1;\n } else {\n this.filters[this.activeFilter].value = value;\n this.filters[this.activeFilter].on = false;\n }\n\n sessionStorage.setItem(this.session, JSON.stringify(this.filters))\n\n let filter:any = {\n text: this.filters[this.activeFilter].value,\n prop: this.filters[this.activeFilter].prop, \n col: this.filters[this.activeFilter].col,\n exact: this.filters[this.activeFilter].exact,\n epoch: undefined\n }\n if (this.type == 'date') {\n filter.date = event\n }\n if (this.type == 'earlier-than') {\n filter.type = this.type\n event.setUTCSeconds(59)\n event.setUTCMinutes(59)\n event.setUTCHours(23)\n filter.epoch = Date.parse(event)\n }\n if (this.type == 'later-than') {\n filter.type = this.type\n event.setUTCSeconds(0);\n event.setUTCMinutes(0);\n event.setUTCHours(0);\n filter.epoch = Date.parse(event);\n }\n this.onset.emit(filter);\n this.selectedfilterList.push(filter);\n\n this.type = null;\n this.theValue = '';\n }\n \n }\n\n rmFilter(event, i, col, type) {\n event.stopPropagation();\n this.filters[i].value = '';\n this.filters[i].on = true;\n this.selectedfilterList = this.selectedfilterList.filter((el) => {\n if (['earlier-than', 'later-than'].includes(type)) {\n return el.type !== type;\n }\n return el.col !== col;\n });\n\n this.onset.emit({\n text: '',\n prop: 'contents',\n col,\n remainFilters: this.selectedfilterList\n });\n\n sessionStorage.setItem(this.session, JSON.stringify(this.filters))\n }\n \n editFilter(event, i, type, value) {\n this.openFilter = false\n event.stopPropagation();\n this.editing = i;\n this.type = type;\n this.theValue = value;\n }\n\n activeFilter: number;\n keyControls(event) {\n \n if (event.keyCode == 38) {\n // UP\n this.setActive(1, -1)\n } else if (event.keyCode == 40) {\n // DOWN\n this.setActive(1, +1)\n } \n \n \n if (event.keyCode == 13) {\n event.stopPropagation();\n event.preventDefault();\n this.selectType(event, this.filters[this.activeFilter].type, this.activeFilter);\n }\n \n }\n\n setActive(i, dir) {\n const check = this.activeFilter + dir;\n\n event.stopPropagation();\n event.preventDefault();\n\n if ( check >= 0 && check < this.filters.length ) {\n this.activeFilter = this.activeFilter + dir;\n this.el.toArray()[check].nativeElement.scrollIntoView({ block: 'nearest' });\n }\n }\n\n clearFilters(e = null) {\n if (e) e.stopPropagation()\n Object.keys(this.filters).forEach(o => {\n this.filters[o].value = '';\n this.filters[o].on = true;\n });\n // this.setStrings();\n this.onset.emit({text: '', prop: 'contents', col: -1});\n sessionStorage.setItem(this.session, JSON.stringify(this.filters))\n }\n\n clearInputs() {\n this.openFilter = false;\n }\n\n}\n","
\n\n \n\n
\n
Agregar Filtro
\n
    \n
  • \n {{ filter.name }}\n
  • \n
\n
\n\n
\n\n
\n {{ activeFilter >= 0 ? filters[activeFilter].name : null }}\n
\n\n
\n = 0 ? filters[activeFilter].name : null\"\n [(ngModel)]=\"theValue\">\n \n \n
\n\n \n\n \n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n\n
","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { Opcion } from '../models/Opcion.model';\n// import { Perfil } from '../models/Perfil.model';\n\n\ntype requestBody = {\n method: string\n data?: any,\n id?: string\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OpcionesService {\n\n private urlOpciones:string = `${environment.apiCore}/option/`;\n\n constructor( private http: HttpClient ) { }\n\n listarOpciones():Observable {\n const body:requestBody = { method: 'LIST' }\n return this.http.post(this.urlOpciones, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { Auth } from 'aws-amplify';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\n\nimport { environment } from 'src/environments/environment';\nimport { Perfil } from '../models/Perfil.model';\nimport { Usuario } from '../models/Usuario.model';\nimport { IField } from '@noe/models/Field.model';\n\nimport * as CryptoJS from 'crypto-js'; \n\nexport interface IExpirationTime {\n timeLeft: number;\n idTimer: any;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AuthService {\n\n private urlPreAuth:string = `${environment.api}/users/pre-authentication`;\n private urlRecover:string = `${environment.api}/users/pre-recover`;\n private urlReset: string = `${environment.apiCore}/company/`;\n private IDExpirationTimer: any;\n private IDExpirationTimerInac: any;\n timeLeft$: Subject = new Subject();\n refreshToken$ = new BehaviorSubject(null);\n\n constructor(\n private http: HttpClient,\n private router: Router\n ) { }\n\n preAuth(user:string, sub:string,recapcha:string) {\n return this.http.post(this.urlPreAuth, {username:user,subdomain:sub,captchaResponse:recapcha}, { headers: { \"x-api-key\": environment.xApiKey } }).toPromise()\n }\n\n preRecover(user:string, sub:string) {\n return this.http.post(this.urlRecover, {username:user,subdomain:sub}, { headers: { \"x-api-key\": environment.xApiKey } }).toPromise()\n }\n\n restToken(): Observable {\n const body = { method: 'RESET' };\n \n return this.http.post(this.urlReset, body, { \n headers: { \"x-api-key\": environment.xApiKey } \n });\n }\n\n guardarDatos(usuario:Usuario, reload:boolean = false):void {\n\n this.generarPermisos(usuario.profiles)\n\n this.guardarUsername(usuario.email)\n this.guardarPlataforma(usuario.userCreator)\n this.guardarNombres(usuario.name, usuario.surname, usuario.maternalSurname)\n this.guardarDocumento(usuario.identityNumber)\n this.guardarEmpresas(usuario.companys)\n this.guardarIdUserGroup(usuario.idUserGroup)\n this.guardarSubdominio(usuario.subdomain)\n if (!reload) this.guardarEmpresaActiva(usuario.companys[0])\n this.guardarRestricciones(usuario.attributes)\n this.guardarRoles(usuario.attributes)\n this.guardarRolesArreglo(usuario.attributes)\n this.guardarPerfiles(usuario.profiles)\n this.guardarFlagUsuarioNuevo(usuario.flagSession)\n this.guardarFlagTerminosyCondiciones(usuario.flagTerms)\n\n if (usuario.attributes.tipos_documentos) this.guardarTipoDocumentos(usuario.attributes.tipos_documentos)\n if (usuario.attributes.tipos_firmas) this.guardarTipoFirmas(usuario.attributes.tipos_firmas)\n if (usuario.attributes.documentos_visado) this.guardarDocumentosVisado(usuario.attributes.documentos_visado)\n }\n\n // Permisos\n generarPermisos(profiles:Perfil[]) {\n let permisos = []\n profiles.forEach((p:Perfil) => { p.options.permisos.forEach(o => {\n if (this.obtenerIdEmpresaActiva() == p.idCompany) {\n permisos.push(o)\n }\n }) })\n \n let unique = new Set(permisos)\n this.guardarOpciones(Array.from(unique))\n }\n\n // Key usuario\n guardarUsername(username:string):void {\n let encryptedMessage = this.encrypt(username)\n localStorage.setItem('USERNAME', encryptedMessage)\n //localStorage.setItem('USERNAME', username)\n }\n obtenerUsername():string {\n let decryptedMessage = this.decrypted('USERNAME')\n return decryptedMessage\n }\n\n //TIPO DE PLATAFORMA\n guardarPlataforma(user:string):void {\n let plataforma = user != 'FACEBOOK' && user != 'GOOGLE' && user != 'SIGNINWITHAPPLE' ? 'PLATAFORMA' : user\n localStorage.setItem('ACCESS_LOGIN', plataforma)\n }\n obtenerPlataforma():string {\n return localStorage.getItem('ACCESS_LOGIN')\n }\n\n obtenerFlagUsuarioNuevo():string {\n return localStorage.getItem('NEWUSER')\n }\n\n // Nombres\n guardarNombres(name:string, paternal:string, maternal:string):void {\n const nombres:string[] = [name,paternal,maternal]\n const nombreCadena : string = name+\" \"+paternal+\" \"+maternal\n localStorage.setItem('NOMBRESCADENA', JSON.stringify(nombreCadena))\n localStorage.setItem('NOMBRES', JSON.stringify(nombres))\n }\n obtenerNombres():string[] {\n return JSON.parse(localStorage.getItem('NOMBRES'))\n }\n obtenerNombresCadena():string {\n return JSON.parse(localStorage.getItem('NOMBRESCADENA'))\n }\n\n // Perfiles\n guardarPerfiles(data:any[]):void {\n const perfiles:string[] = data.filter(d => {\n if (d.idCompany == this.obtenerIdEmpresaActiva()){\n return true\n }\n return false\n }).map(p => p.nameProfile)\n let encryptedMessage = this.encrypt(JSON.stringify(perfiles))\n localStorage.setItem('PROFILES', encryptedMessage)\n //localStorage.setItem('PROFILES', JSON.stringify(perfiles))\n }\n obtenerPerfiles() {\n let decryptedMessage = this.decrypted('PROFILES')\n let profiles = JSON.parse(decryptedMessage)\n return profiles\n //return JSON.parse(localStorage.getItem('PROFILES'))\n }\n\n // Documento Identidad\n guardarDocumento(numero:string):void {\n let encryptedMessage = this.encrypt(numero)\n localStorage.setItem('DOCUMENTO', encryptedMessage)\n //localStorage.setItem('DOCUMENTO', numero)\n }\n\n guardarFlagUsuarioNuevo(numero:string):void {\n localStorage.setItem('NEWUSER', numero)\n }\n\n guardarFlagTerminosyCondiciones(numero:string):void {\n localStorage.setItem('TERMINOS_Y_CONDICIONES', numero)\n }\n\n obtenerFlagTerminosyCondiciones():number {\n return Number.parseInt(localStorage.getItem('TERMINOS_Y_CONDICIONES'))\n }\n\n obtenerDocumento():string {\n let decryptedMessage = this.decrypted('DOCUMENTO')\n return decryptedMessage\n //return localStorage.getItem('DOCUMENTO')\n }\n\n // Empresas\n guardarEmpresas(empresas:{id?:string,razon_social?:string,ruc?:string}[]):void {\n let text = JSON.stringify(empresas) \n let encryptedMessage = this.encrypt(text)\n localStorage.setItem('EMPRESAS', encryptedMessage)\n //localStorage.setItem('EMPRESAS', JSON.stringify(empresas))\n }\n obtenerEmpresas():{id?:string,razon_social?:string,ruc?:string}[] {\n let decryptedMessage = this.decrypted('EMPRESAS')\n let empresas = JSON.parse(decryptedMessage)\n //return JSON.parse(localStorage.getItem('EMPRESAS'))\n return empresas\n }\n\n // Data Empresa\n guardarDataEmpresaActiva(data:any):void {\n let text = JSON.stringify(data)\n let encryptedMessage = this.encrypt(text)\n localStorage.setItem('DATA_EMPRESA', encryptedMessage)\n \n //localStorage.setItem('DATA_EMPRESA', JSON.stringify(data))\n }\n obtenerAbreviaturaEmpresaActiva():string {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'))\n return empresa.abbrevation\n }\n\n obtenerActiveMetadataEmpresa():number {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'))\n return empresa.activeMetadata\n }\n\n getActiveMetadataProcess(): number {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'));\n return empresa.activeMetadataProcess;\n }\n\n getActivateFlagVisadoConfiguredPositions(): number {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'));\n return empresa.activateFlagVisadoConfiguredPositions;\n }\n\n getActivateFlagComentaries(): number {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'));\n return empresa.activateFlagComentaries;\n }\n\n getActivateFlagConsultaGeneral(): number {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'));\n return empresa.activateFlagConsultaGeneral;\n }\n\n getActivateExtraFieldsToTables(): number {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'));\n return empresa.activateExtraFieldsToTables;\n }\n\n getactiveFlagPapelera(): number {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'));\n return empresa.activeFlagPapelera;\n }\n\n getActivateFlagReminder():number{\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'));\n return empresa.activateFlagReminder;\n }\n\n getActiveFlagFlowTypeDocument(): number {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'));\n return empresa.activeFlagFlowTypeDocument;\n }\n\n getActiveFlagSignatureForDocument(): number {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'));\n return empresa.activeFlagSignatureForDocument;\n }\n\n getActiveFlagModuleCargo(): number {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'));\n return empresa.activeFlagModuleCargo;\n }\n\n getactiveFlagSession(): number {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'));\n return empresa.activeFlagSession;\n }\n\n getActivateSharedInformationForCompanyGroup(): number {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'));\n return empresa.activateSharedInformationForCompanyGroup;\n }\n\n getActiveFlagOffices(): number {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'));\n return empresa.activeFlagOffices;\n }\n\n obtenerTipoCuenta():string {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'))\n return empresa.attributes.cuenta\n }\n\n obtenerTipoCuentaPago():string {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'))\n return empresa.attributes.tipo_cuenta\n }\n\n obtenerLimiteUsuarios():number {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'))\n return empresa.attributes.options.limite_usuarios\n }\n\n obtenerTipoFirmasEmpresa():number[] {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'))\n return empresa.attributes.options.tipos_firma\n }\n\n obtenerTipoPlanes():number[] {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'))\n return empresa.attributes.options.tipos_firma\n }\n\n obtenerMetodoPago():number[] {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'))\n return empresa.attributes.options.tipos_firma\n }\n\n getFields(): IField[] {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const company = JSON.parse(localStorage.getItem('DATA_EMPRESA'));\n return empresa.attributes.fields;\n }\n\n obtenerDocumentosAsignados():number[] {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'))\n return empresa.attributes.options.documentos_asignado\n }\n\n obtenerLimitePeso():string {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'))\n return empresa.attributes.options.soporte_archivos\n }\n obtenerCantidadDocumentos():number {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'))\n return empresa.attributes.options.documentos_asignado\n }\n obtenerLimiteCarga():string {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'))\n return empresa.attributes.options.carga_carpetas\n }\n obtenerCantidadDocumentosPermitidos():string {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'))\n return empresa.license.cantidad_documentos\n }\n obtenerPermisoPersonalizacion():string {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'))\n return empresa.attributes.options.perzonalizacion\n }\n obtenerCantidadSelloTiempo():string {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'))\n return empresa.attributes.options.cantidad_sello_tiempo\n }\n obtenerTiempoExpiracion():number {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'))\n return parseInt(empresa.tokenExpiration)\n }\n obtenerIdGrupoEmpresarial():number {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'))\n return parseInt(empresa.groupCompanyId)\n }\n obtenerEstadoActivarTimbrado():number {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'))\n return parseInt(empresa.activateTimbrado)\n }\n\n \n\n obtenerActivateFlagAgrupationEmpresa():number {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'))\n return empresa.activateFlagAgrupation\n }\n\n obtenerActivateFlagSendMultiNotification():number {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'))\n return empresa.activateFlagSendMultiNotification\n }\n\n obtenerActivateExternalApiConsume():number {\n let decryptedMessage = this.decrypted('DATA_EMPRESA')\n const empresa = JSON.parse(decryptedMessage)\n //const empresa = JSON.parse(localStorage.getItem('DATA_EMPRESA'))\n return empresa.activateExternalApiConsume\n }\n\n // Grupo Usuario\n guardarIdUserGroup(grupo:string):void {\n localStorage.setItem('ID_USER_GROUP', grupo)\n }\n obtenerIdUserGroup():string {\n return localStorage.getItem('ID_USER_GROUP')\n }\n\n // Opciones Usuario\n guardarOpciones(opciones:string[]):void {\n localStorage.setItem('OPCIONES', JSON.stringify(opciones))\n }\n obtenerOpciones():string[] {\n return JSON.parse(localStorage.getItem('OPCIONES'))\n }\n\n // Subdominio\n guardarSubdominio(subdominio:string) {\n localStorage.setItem('SUBDOMINIO', subdominio)\n }\n obtenerSubdominio():string {\n return localStorage.getItem('SUBDOMINIO')\n }\n\n obtenerSubdomain():string {\n const empresa = JSON.parse(localStorage.getItem('customData'))\n return empresa.subdomain\n }\n\n // Id Empresa Activa (Seleccionada)\n guardarIdEmpresaActiva(id:string):void {\n localStorage.setItem('ID_EMPRESA_ACTIVA', id)\n }\n obtenerIdEmpresaActiva():string {\n return localStorage.getItem('ID_EMPRESA_ACTIVA')\n }\n\n // Razon social Empresa Activa (Seleccionada)\n guardarRazonSocialEmpresaActiva(razonSocial:string):void {\n localStorage.setItem('RAZON_SOCIAL_EMPRESA_ACTIVA', razonSocial)\n }\n obtenerRazonSocialEmpresaActiva():string {\n return localStorage.getItem('RAZON_SOCIAL_EMPRESA_ACTIVA')\n }\n\n // Ruc Empresa Activa (Seleccionada)\n guardarRucEmpresaActiva(ruc:string):void {\n let encryptedMessage = this.encrypt(ruc)\n localStorage.setItem('RUC_EMPRESA_ACTIVA', encryptedMessage)\n //localStorage.setItem('RUC_EMPRESA_ACTIVA', ruc)\n }\n obtenerRucEmpresaActiva():string {\n let decryptedMessage = this.decrypted('RUC_EMPRESA_ACTIVA')\n //return localStorage.getItem('RUC_EMPRESA_ACTIVA')\n return decryptedMessage\n }\n\n // Guardar Empresa Activa (Seleccionada)\n guardarEmpresaActiva(empresa:{id?:string,razon_social?:string,ruc?:string}):void {\n this.guardarIdEmpresaActiva(empresa.id)\n this.guardarRazonSocialEmpresaActiva(empresa.razon_social)\n this.guardarRucEmpresaActiva(empresa.ruc)\n }\n\n // Tipos documentos\n guardarTipoDocumentos(docs:number[]):void {\n localStorage.setItem('TIPO_DOCUMENTOS', JSON.stringify(docs))\n }\n obtenerTipoDocumentos():number[] {\n return JSON.parse(localStorage.getItem('TIPO_DOCUMENTOS'))\n }\n\n // Documentos visado\n guardarDocumentosVisado(docs:number[]) {\n localStorage.setItem('DOCUMENTOS_VISADO', JSON.stringify(docs))\n }\n obtenerDocumentosVisado():number[] {\n return JSON.parse(localStorage.getItem('DOCUMENTOS_VISADO'))\n }\n\n // Tipos de firmas\n guardarTipoFirmas(firmas:number[]):void {\n localStorage.setItem('TIPO_FIRMAS', JSON.stringify(firmas))\n }\n obtenerTipoFirmas():number[] {\n return JSON.parse(localStorage.getItem('TIPO_FIRMAS'))\n }\n\n // Restricciones Proceso\n guardarRestricciones(atributos):void {\n const config:any = {}\n if (atributos.desactivar_proceso_firma) \n config.enableDisable = JSON.parse(atributos.desactivar_proceso_firma.toLowerCase())\n if (atributos.editar_proceso_firma)\n config.enableEdit = JSON.parse(atributos.editar_proceso_firma.toLowerCase())\n if(atributos.oficina && atributos.oficina != 0)\n localStorage.setItem('GRUPO_INTERNO',atributos.oficina)\n\n localStorage.setItem('CONFIG', JSON.stringify(config))\n }\n\n obtenerGrupoInterno():any {\n return localStorage.getItem('GRUPO_INTERNO')\n }\n\n obtenerRestricciones():any {\n return localStorage.getItem('CONFIG')\n }\n\n // Roles\n guardarRoles(atributos):void {\n localStorage.setItem('ROLES', atributos.rol)\n }\n\n // Guardar ModalVisorFirmaPDF\n guardarModalVisorFirma(value:boolean):void {\n localStorage.setItem('open_mVisor', JSON.stringify(value))\n }\n\n obtenerModalVisorFirma():boolean {\n return localStorage.getItem('open_mVisor') === 'true' ? true : false\n }\n\n guardarRolesArreglo(atributos):void {\n\n if(atributos.roles){\n localStorage.setItem('ROLES_ARRAY', JSON.stringify(atributos.roles))\n }else{\n localStorage.setItem('ROLES_ARRAY', JSON.stringify([]))\n }\n \n // localStorage.setItem('ROLES_ARRAY', atributos.roles)\n }\n obtenerRoles():string {\n return localStorage.getItem('ROLES')\n }\n obtenerRolesArreglo():any[] {\n return JSON.parse(localStorage.getItem('ROLES_ARRAY'))\n }\n\n encryptedMessage:any;\n encrypt(text:any):string{\n let encryptedMessage = CryptoJS.AES.encrypt( text, environment.passwordDecrypted.trim()).toString();\n //console.log('#########encrypt', encryptedMessage)\n return encryptedMessage\n }\n\n decrypted(key:any):string{\n let value = localStorage.getItem(key)\n let decryptedMessage = CryptoJS.AES.decrypt( value, environment.passwordDecrypted.trim()).toString(CryptoJS.enc.Utf8);\n //console.log('#########decrypted', decryptedMessage)\n return decryptedMessage\n }\n\n /**\n * Keeps auto logout on page refresh.\n */\n keepAutoLogout(): void {\n const expiration = localStorage.getItem('expiration');\n\n if (!expiration) {\n this.logout();\n }\n \n const tokenExpirationDate = new Date(expiration);\n\n if (!tokenExpirationDate || new Date() > tokenExpirationDate) {\n this.logout();\n } else {\n const expirationDuration = \n tokenExpirationDate.getTime() - new Date().getTime();\n\n this.autoLogout(expirationDuration);\n }\n }\n\n async handleTokenExpiration(): Promise {\n const credentials = await Auth.currentUserCredentials();\n const expiration = credentials['expiration'];\n\n if (expiration) {\n const tokenExpirationDate = new Date(expiration);\n this.autoLogout(tokenExpirationDate.getTime() - new Date().getTime());\n localStorage.setItem('expiration', expiration.toString());\n }\n }\n\n async logout(): Promise {\n localStorage.clear();\n await Auth.signOut({ global: true });\n this.router.navigate(['/login']);\n this.refreshToken$.next(null);\n if (this.IDExpirationTimer) {\n clearTimeout(this.IDExpirationTimer);\n }\n this.IDExpirationTimer = null;\n }\n\n /**\n * Auto logout whenever the token expire.\n * @param expirationDuration the time of milliseconds we have until\n * te token is invalid.\n */\n private autoLogout(expirationDuration: number): void {\n const timeout = 30 * 1000;\n\n if (this.IDExpirationTimer) {\n clearTimeout(this.IDExpirationTimer);\n }\n\n if (this.IDExpirationTimerInac) {\n clearTimeout(this.IDExpirationTimerInac);\n }\n\n this.IDExpirationTimer = setTimeout(() => {\n this.timeLeft$.next({\n timeLeft: timeout / 1000,\n idTimer: this.IDExpirationTimer\n });\n }, expirationDuration - timeout);\n\n this.IDExpirationTimerInac = setTimeout(() => {\n console.log(\"envio correo\")\n },300000);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Subject, Observable, BehaviorSubject } from 'rxjs';\n\n@Injectable()\nexport class SharedCargarDocumentosService {\n\n private sharedDataDocs: Subject = new Subject();\n sharedData$: Observable = this.sharedDataDocs.asObservable();\n\n constructor() { }\n\n setData(updatedData) {\n this.sharedDataDocs.next(updatedData);\n }\n\n}","import { Injectable, OnDestroy } from \"@angular/core\";\n\nimport { Subject } from \"rxjs\";\n\n@Injectable()\nexport class BaseUnsubscribe implements OnDestroy {\n destroy$: Subject = new Subject();\n\n ngOnDestroy() {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n}","import { Injectable } from \"@angular/core\";\n\nimport { Subject } from \"rxjs\";\n\nexport interface IGlobalLogout {\n show: boolean;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AlertGlobalLogoutServie {\n\n globalLogout$ = new Subject();\n\n show(): void {\n this.globalLogout$.next({ show: true });\n }\n}","import { Directive, ViewContainerRef } from \"@angular/core\";\n\n@Directive({\n selector: '[appPlaceholder]'\n})\nexport class PlaceholderDirective {\n\n constructor(public viewContainerRef: ViewContainerRef) {}\n}","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-loader',\n templateUrl: './loader.component.html',\n styleUrls: ['./loader.component.scss'],\n host: { class: 'app-loader' }\n})\nexport class LoaderComponent implements OnInit {\n\n @Input('disabled') disabled:boolean\n @Input('big') big:boolean\n @Input('no-bg') noBg:boolean\n @Input('disabledS') disabledS:boolean\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n \n\n\n\n
\n
","import { Injectable } from \"@angular/core\";\nimport { Opcion } from \"../models/Opcion.model\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PermisosService {\n\n permisos:string[] = JSON.parse(localStorage.getItem('OPCIONES'))\n\n setOpciones():void {\n this.permisos = JSON.parse(localStorage.getItem('OPCIONES'))\n }\n\n permitir(opcion:string):boolean {\n return this.permisos.includes(opcion)\n }\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { SidebarComponent } from './sidebar/sidebar.component';\nimport { TopbarComponent } from './topbar/topbar.component';\nimport { FooterComponent } from './footer/footer.component';\nimport { NotificationsComponent } from './notifications/notifications.component';\nimport { SharedModule } from '../shared/shared.module';\nimport { TopbarModalComponent } from './topbar-modal/topbar-modal.component';\nimport { NgxCopilotModule } from 'ngx-copilot';\nimport { SharedService } from '@noe/services/shared.service';\nimport { SharedCargarDocumentosService } from '@noe/services/sharedCargarDocumentos.service';\nimport { SharedAvatarService } from '@noe/services/sharedAvatar.service';\nimport { SharedActivarCargaDocumento } from '@noe/services/sharedActivarCargaDocumento.service';\nimport { SharedPlanService } from '@noe/services/sharedPlan.service';\nimport { SharedActivarTitle } from '@noe/services/sharedActivarTitle.service';\nimport { SharedCerrarVisorService } from '@noe/services/sharedCerrarVisor.service';\nimport { SharedCerrarVisorPdfService } from '@noe/services/sharedCerrarVisorPdf.service';\n\n\n@NgModule({\n declarations: [\n SidebarComponent, \n TopbarComponent, \n TopbarModalComponent, \n FooterComponent, \n NotificationsComponent\n ],\n imports: [\n CommonModule,\n RouterModule,\n FormsModule,\n ReactiveFormsModule,\n SharedModule,\n NgxCopilotModule\n ],\n exports: [\n TopbarComponent,\n TopbarModalComponent,\n SidebarComponent,\n FooterComponent,\n NotificationsComponent,\n NgxCopilotModule\n ],\n providers: [SharedService, SharedCerrarVisorPdfService, SharedCerrarVisorService, SharedCargarDocumentosService, SharedAvatarService, SharedActivarCargaDocumento, SharedActivarTitle, SharedPlanService],\n})\nexport class CoreModule { }\n","import { Injectable, Renderer2 } from \"@angular/core\";\n\nimport { take } from \"rxjs/operators\";\n\nimport { ChallengeDetails, IFramesRequestData } from \"src/app/models/Challenge.model\";\nimport { ChallengeService } from \"src/app/services/api/challenge.service\";\nimport { LivenessDetectionConstants as Const } from './liveness-detection.constants';\n\n@Injectable()\nexport class LivenessDetectionService {\n\n promises: Promise[] = [];\n\n constructor(\n private renderer: Renderer2,\n private challengeService: ChallengeService\n ) {}\n\n uploadFrame(videoElement: HTMLVideoElement, challengeDetail: ChallengeDetails): void {\n const { id, token } = challengeDetail;\n const invisibleCanvas: HTMLCanvasElement = this.renderer.createElement('canvas');\n\n this.renderer.setProperty(invisibleCanvas, 'width', videoElement.width.toString());\n this.renderer.setProperty(invisibleCanvas, 'height', videoElement.width.toString());\n\n const context = invisibleCanvas.getContext('2d');\n context.drawImage(videoElement, 0, 0, videoElement.width, videoElement.height);\n context.scale(-1, 1);\n\n this.promises.push(\n new Promise((resolve: () => void, reject: (error: Error) => void) => {\n invisibleCanvas.toBlob(\n (blob) => {\n blob\n ? this.callFramesApi(id, token, blob, resolve, reject)\n : reject(new Error('Error creating the blob from canvas'));\n },\n 'image/jpeg',\n Const.IMAGE_JPG_QUALITY\n );\n })\n );\n }\n\n callFramesApi(\n challangeId: string,\n token: string,\n blob: Blob,\n resolve: () => void,\n reject: (error: Error) => void\n ): void {\n const reader: FileReader = new FileReader();\n reader.readAsDataURL(blob);\n reader.onloadend = () => {\n const dataUrl = reader.result as string;\n const request: IFramesRequestData = {\n timestamp: Date.now(),\n frameBase64: dataUrl.slice(dataUrl.indexOf(',') + 1),\n token\n };\n\n this.challengeService.saveFrames(challangeId, request)\n .pipe(take(1))\n .subscribe(() => {\n resolve();\n }, (error: any) => {\n reject(error);\n });\n };\n }\n}","import { Component, OnInit, Input, ViewChild, ElementRef, OnChanges, SimpleChanges } from '@angular/core';\nimport { Auth, Storage } from 'aws-amplify';\n\n@Component({\n selector: 'app-s3-image',\n templateUrl: './s3-image.component.html',\n styleUrls: ['./s3-image.component.scss']\n})\nexport class S3ImageComponent implements OnInit {\n\n @ViewChild('el') el:ElementRef\n @Input('key') key:string\n src: any;\n constructor() { }\n\n // Detectar cambios en el valor de key\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.key && !changes.key.firstChange) {\n // Si 'key' cambia, volver a cargar la imagen\n this.getUrl();\n }\n }\n\n ngOnInit(): void {\n this.getUrl()\n }\n\n async getUrl(): Promise {\n if (this.key) {\n try {\n const src = await Storage.get(this.key, { customPrefix: { public: '' } });\n this.src = src;\n } catch (error) {\n console.error('Error al obtener la URL de la imagen:', error);\n }\n }\n }\n\n}\n","\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\n\n@Component({\n selector: 'app-modal-felicitaciones',\n templateUrl: './modal-felicitaciones.component.html',\n styleUrls: ['./modal-felicitaciones.component.scss']\n})\nexport class ModalFelicitacionesComponent implements OnInit {\n\n @Input('titleModal') title:string\n @Input('subtitle') subtitle:string\n @Input('loading') loading:boolean\n @Input('confirmText') confirmText:string = 'Aceptar'\n @Input('cancelText') cancelText:string = 'Cerrar'\n @Input('closeOnConfirm') closeOnConfirm:boolean = true\n @Input('disableConfirm') disableConfirm:boolean\n @Input('hide-footer') hideFooter:boolean\n @Input('big') big:boolean\n @Input('fullScreen') fullScreen:boolean\n @Input('auto-width') autoWidth:boolean\n @Input('scroller') scroller:boolean\n\n @Output() \n onclose: EventEmitter = new EventEmitter();\n @Output()\n onconfirm: EventEmitter = new EventEmitter();\n\n\n isOpen:boolean\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n open() {\n const body = document.getElementsByTagName('body')[0];\n body.classList.add('modal-open');\n this.isOpen = true\n }\n\n close() {\n const body = document.getElementsByTagName('body')[0];\n body.classList.remove('modal-open');\n this.isOpen = false;\n this.onclose.emit();\n }\n \n confirmarModal: boolean\n confirm() {\n this.onconfirm.emit()\n if (this.closeOnConfirm) this.isOpen = false;\n this.close();\n }\n\n}\n","
\n
\n\n \n\n
\n \n
\n\n
\n \n \n
\n\n
\n
\n","import { Component, OnInit, Input, ViewChild, ElementRef } from '@angular/core';\nimport { Auth, Storage } from 'aws-amplify';\n\n@Component({\n selector: 'app-s3-image-bloqueo',\n templateUrl: './s3-image-bloqueo.component.html',\n styleUrls: ['./s3-image-bloqueo.component.scss']\n})\nexport class S3ImageBloqueoComponent implements OnInit {\n\n @ViewChild('el') el:ElementRef\n @Input('key') key:string\n\n constructor() { }\n\n ngOnInit(): void {\n this.getUrl()\n }\n\n src:any\n async getUrl() {\n const src = await Storage.get(this.key, {customPrefix: {public: ''}})\n this.src = src\n }\n\n}\n","
\n
Haz click para ubicar tu firma
\n \n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-terminos-y-condiciones-plan',\n templateUrl: './terminos-y-condiciones-plan.component.html',\n styles: ['hr {border:none; border-top:1px solid #eee; margin:20px 0;}']\n})\nexport class TerminosYCondicionesPlanComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n

TÉRMINOS Y CONDICIONES DE USO

\n\n
\n\n
1. TÉRMINOS GENERALES
\n\n

El acceso y uso del aplicativo web o app de FIRMAS Y NOTIFICACIONES ELECTRÓNICAS en adelante NOE constituye la aceptación de los presentes términos y condiciones de uso, siendo que INNOVA DIGITAL SOLUTIONS S.A.C en adelante INDIGITAL o LA EMPRESA se reserva el derecho exclusivo a realizar los cambios que estime conveniente por lo que su uso continuo significa la aceptación del USUARIO a dichos cambios.

\n\n

El formulario de registro contiene algunos campos de carácter obligatorio. En caso decida no proporcionarlos, no será posible gestionar la solicitud antes referida. Si decides ingresar los datos, declaras y certificas que ellos corresponden a ti y que son verdaderos, exactos, auténticos, completos, y correctos; y que eres mayor de edad.

\n\n

El registro otorgará una contraseña única e intransferible, la misma que será utilizada por el USUARIO para acceder a los servicios que se brindarán en el aplicativo de NOE. El USUARIO será el único responsable de la conservación y confidencialidad de su contraseña y se compromete a no comunicarla bajo ninguna circunstancia a otra persona. La contraseña es única e intransferible y será requerida cada vez que se desee acceder al aplicativo de NOE, de esta manera su información estará protegida.

\n\n
2. CONDICIONES DE USO
\n\n

Todo usuario que ingresa al sitio web https://noe.pe o a la app se compromete a leer detenidamente y acepta si estuviera de acuerdo con el texto leído los términos y condiciones de uso, que ofrece LA EMPRESA. De no estar de acuerdo o no aceptarlos, deberá abstenerse de acceder a dicho sitio web o por la app, o manipular cualquier tipo de información vertida en él, bajo su responsabilidad. El propósito de la aplicación web y app es firmar electrónicamente.

\n\n
3. INFORMACIÓN QUE ES RECOGIDA
\n\n

Nuestra aplicación web o móvil “NOE” podrá recopilar datos como el DNI, nombres y apellidos, teléfono, celular, correo electrónico y nombre de empresa.

\n\n
4. USO DE LA INFORMACIÓN RECOGIDA
\n\n

Nuestra aplicación web o móvil “NOE” emplea la información con el fin de proporcionar el mejor servicio posible, particularmente para proveer el servicio de firma electrónica.

\n\n

INDIGITAL está altamente comprometido con la seguridad de la información, cuenta con un Oficial de Seguridad de la Información. Usamos los sistemas más avanzados y los actualizamos constantemente para asegurarnos que no exista ningún acceso no autorizado.

\n\n
5. CONTROL DE SU INFORMACIÓN PERSONAL
\n\n

INDIGITAL garantiza el derecho fundamental a la protección de datos personales facilitados por el USUARIO, a través de su adecuado tratamiento, en un marco de respeto de los derechos fundamentales reconocidos, de acuerdo con la Constitución Política del Perú, la Ley de Protección de Datos Personales, Ley N° 29733, y su Reglamento, Decreto Supremo N° 003-2013-JUS, así como las normas legales aplicables.

\n\n

El USUARIO conoce que puede ejercer, de acuerdo a la legislación vigente, los derechos de información, acceso, actualización, inclusión, rectificación, supresión y oposición sobre sus datos personales, enviando un correo electrónico a seguridadyprivacidad@indigitalsolutions.com o en Av. República de Panamá Nro. 3545 Int. 801 Urb. Limatambo Lima - Lima - San Isidro.

\n\n

INDIGITAL no venderá, cederá, ni distribuirá la información personal que es recopilada sin su consentimiento, salvo que sea requerido por un juez con una orden judicial.

\n\n
6. FLUJO TRANSFRONTERIZO
\n\n

INDIGITAL tratará sus datos con la finalidad de ofrecer el mejor servicio. La infraestructura tecnológica de NOE está desplegada en Amazon Web Services.

\n\n
    \n
  • Proveedor: Amazon Web Services Inc.

  • \n
  • TIN: 20-4938068

  • \n
  • TIN: 20-4938068
  • \n
\n\n

Lo antes indicado califica como una transferencia internacional de los datos personales.

\n\n
7. PLAZO DE CONSERVACIÓN DE LOS DATOS
\n\n

Los datos personales proporcionados se conservarán mientras no solicite su cancelación. INDIGITAL tiene implementadas las medidas técnicas, organizativas y legales que garantizan la seguridad y confidencialidad de los datos personales.

\n\n

Acepto que mis datos se conservarán en el plazo especificado mientras no solicite su cancelación.

\n\n
8. RESPONSABILIDADES DEL USUARIO
\n\n

El USUARIO declara y garantiza estar apto y tener capacidad legal para aceptar los presentes Términos y Condiciones de Uso.

\n\n

El USUARIO conoce y acepta que la utilización del aplicativo de NOE, implica su aceptación plena y sin reservas de los Términos y Condiciones de Uso vigentes al momento que el USUARIO acceda a los mismos.

\n\n

El USUARIO es el único y exclusivo responsable de su identificación de acceso al servicio. Dicha identificación se compone de la contraseña y de su nombre de usuario. Las consecuencias derivadas de su uso por terceros, su mal uso, pérdida u olvido de la contraseña de acceso de los usuarios o bien del nombre de usuario es de única y exclusiva responsabilidad del propio USUARIO.

\n\n

El USUARIO deberá notificar inmediatamente al correo seguridadyprivacidad@indigitalsolutions.com cualquier uso no autorizado de la contraseña o cualquier otra infracción a la seguridad de la misma, no siendo el área de tecnología en ningún caso responsable de las acciones realizadas en la cuenta del usuario. El USUARIO se hará responsable por cualquier uso indebido que se efectúe con la contraseña que fuera generada.

\n\n

En caso el USUARIO no esté de acuerdo con los presentes Términos y Condiciones de Uso, deberá abstenerse de utilizar el aplicativo de NOE y sus respectivas actualizaciones, toda vez que su utilización implica manifestación de conformidad del USUARIO con dichos Términos y Condiciones de Uso.

\n\n

El USUARIO acepta y da consentimiento libre, previo, expreso, inequívoco e informado para que INDIGITAL sea el único responsable del tratamiento, uso y almacenamiento de todo tipo de información brindada por el USUARIO, incluyendo sus datos personales y toda información que se derive de la utilización de la aplicación de NOE por el USUARIO.

\n\n

Esta aceptación además tiene como finalidad el envío de información comercial al USUARIO.

\n\n

Por el hecho de completar el formulario de registro, el USUARIO acepta expresamente recibir en su dirección de correo electrónico o teléfono celular, información de NOE y demás comunicaciones que INDIGITAL envíe periódicamente, sea que se relacionen o no con el uso del aplicativo.

\n\n

La forma y periodicidad de envío de información de NOE, de información comercial o beneficios y demás comunicaciones, la determinará libremente INDIGITAL, utilizando medios electrónicos (tales como cuenta e-mail, mensajes de texto a teléfonos celulares, u otros).

\n\n
9. SERVICIO GRATUITO
\n\n

Los servicios ofrecidos a los USUARIOS son en algunos casos gratuitos sin que el USUARIO tenga que realizar contraprestación alguna para poder disfrutar o hacer uso de ellos. Ello sin perjuicio de que, la utilización de alguno de los servicios de NOE sólo podrá hacerse mediante la mera suscripción o registro del USUARIO.

\n\n

El USUARIO podrá acceder a la versión gratuita de NOE y disponer de los siguientes servicios:

\n\n
    \n
  • Firmar archivos de hasta 7MB: Solo el primer mes del lanzamiento oficial permitirá cargar documentos de hasta 7MB, posterior a ello será de 5MB.

    \n Si el USUARIO desea incrementar el límite de hasta 50MB puede solicitarlo migrando a la versión de Pago.\n

  • \n
  • Firmar hasta 50 documentos mensuales.

  • \n
  • Utilizar firma digital: El USUARIO solo podrá usar el tipo de firma con certificado digital.

    \n El aplicativo de NOE solicitará al USUARIO ingresar el PIN de seguridad de su certificado digital cada vez que desee firmar un documento, por defecto NOE no almacena el PIN de seguridad.

    \n El USUARIO puede seleccionar la opción de usar y guardar por única vez su PIN de seguridad para que no vuelva a ser solicitado. El PIN será encriptado y almacenado en las bases de datos de NOE. Para poder firmar documentos con un certificado digital previamente registrado, el USUARIO debe crear su PIN de 4 dígitos que le permitirá y será requerido por NOE para la firma de documentos.\n

  • \n
  • Firmar individual o masivamente: El USUARIO puede cargar múltiples documentos a la vez, hasta 50 documentos.

  • \n
  • Enviar notificaciones electrónicas por correo.

  • \n
  • Almacenamiento por 30 días en la nube: Los documentos cargados al aplicativo NOE en su versión Gratuita sólo permanecerán disponibles durante 30 días calendario, posterior a ello se inactivarán.

    \n El USUARIO puede recuperar el acceso a estos documentos migrando a la versión de Pago. Los documentos permanecerán 30 días más en modo inactivo, posterior a ello serán eliminados sin opción a recuperación y sin perjuicio alguno.\n

  • \n
  • Creación de un usuario en la cuenta gratuita.

  • \n
  • Todos los documentos procesados por NOE serán firmados indistintamente con una firma de agente automatizado y se les agregará un código QR.

  • \n
  • Los USUARIOS podrán escanear el código QR y obtener la versión original y digital del documento. Para acceder al documento vía QR, el aplicativo de NOE solicitará la cuenta de usuario y clave del USUARIO.

  • \n
  • Todo documento que requiera el USUARIO firmar desde el aplicativo NOE deberá ser extensión PDF.

  • \n
  • INDIGITAL no brinda soporte para las cuentas gratuitas.
  • \n
\n\n
10. PROPIEDAD INDUSTRIAL E INTELECTUAL
\n\n

INDIGITAL es titular de la propiedad intelectual del aplicativo de NOE, incluyendo los derechos de autor sobre el código fuente y el código objeto de los mismos, así como los derechos sobre todos los slogans, diseños, imágenes, Información, nombres comerciales y otra propiedad intelectual e industrial que forme parte del contenido. En consecuencia, el USUARIO se encuentra prohibido y se compromete expresamente a: no copiar, reproducir, modificar, alterar, distribuir, suprimir, o, de cualquier forma, usar dicha propiedad intelectual en forma distinta a la establecida en los presentes Términos y Condiciones de Uso.

\n\n
11. DISPOSICIONES FINALES
\n\n

INDIGITAL expresamente se reserva la facultad y puede efectuar, en cualquier momento, bajo su exclusiva discreción y sin previo aviso, modificaciones a los presentes Términos y Condiciones de Uso. Las modificaciones entrarán en vigor inmediatamente efectuadas, sin necesidad de comunicación previa al Usuario.

\n\n

La validez de los presentes Términos y Condiciones de Uso será por el período en que el Usuario utilice el aplicativo de NOE.

\n\n

Los presentes Términos y Condiciones de Uso se rigen por las leyes de la República del Perú. En caso de cualquier controversia, el Usuario renuncia al fuero de su domicilio y se somete expresamente a la jurisdicción y competencia de los Jueces y Tribunales del Distrito Judicial del San Isidro.

\n\n

Si se llegara a determinar que algún término, condición o disposición de estos Términos y Condiciones de Uso es ilegal, inválida, nula o, por cualquier razón, inaplicable, la validez y aplicación de los demás términos, condiciones y disposiciones no serán de ninguna manera afectadas o deterioradas. Toda cuestión entre INDIGITAL y el USUARIO será regida por las leyes de la República del Perú, con exclusión de toda otra norma que pudiera eventualmente remitir a aplicación de ley extranjera alguna. Asimismo, serán los Tribunales Ordinarios en lo Comercial de la Capital quienes entiendan de cualquier controversia que se suscite, con exclusión de todo otro fuero o jurisdicción que pudiera corresponder. La demora u omisión de INDIGITAL en exigir el estricto cumplimiento de estos Términos y Condiciones de Uso no podrá interpretarse como renuncia a sus derechos.

\n\n
\n","import { Component, EventEmitter, OnInit, Output, HostListener, ViewChild, Input } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { Auth } from 'aws-amplify';\nimport { TitleService } from 'src/app/services/title.service';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ModalComponent } from 'src/app/shared/modal/modal.component';\nimport { NotificationsService } from 'src/app/services/notifications.service';\nimport { FormValidationService } from 'src/app/services/form-validation.service';\nimport { PasswordValidatorsService } from 'src/app/services/password-validators.service';\nimport { Subscription } from 'rxjs';\nimport { UsuariosService } from 'src/app/services/usuarios.service';\nimport { PermisosService } from 'src/app/services/permisos.service';\nimport { ServiciosProcesoService } from '../../services/servicios-proceso.service';\nimport { EmpresaService } from 'src/app/services/empresa.service';\nimport { ReceptorService } from 'src/app/services/receptor.service';\nimport { TopbarConstants } from './topbar.constants';\nimport countries from 'src/app/util/countries';\nimport { Usuario } from '@noe/models/Usuario.model';\nimport { PersonalizacionService } from '@noe/services/personalizacion.service';\nimport { takeUntil } from 'rxjs/operators';\nimport { BaseUnsubscribe } from 'src/app/util/base-unsubscribe';\nimport { CompartirDatosService } from '@noe/services/compartirDatos.service';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-topbar',\n templateUrl: './topbar.component.html',\n styleUrls: ['./topbar.component.scss']\n})\nexport class TopbarComponent extends BaseUnsubscribe implements OnInit {\n\n @ViewChild('passModal') passModal:ModalComponent\n @ViewChild('modalCambiarmeCuentaPago') modalCambiarmeCuentaPago:ModalComponent\n @ViewChild('modalConfirmarLogout') modalConfirmarLogout:ModalComponent\n @ViewChild('modalLecturaTerminos') modalLecturaTerminos:ModalComponent\n @ViewChild('editarMiCuentaModal') editarMiCuentaModal:ModalComponent\n @HostListener('document:click') clickout():void {\n if (this.drop) this.drop = false\n if (this.profileDrop) this.profileDrop = false\n if (this.profileTraductor) this.profileTraductor = false;\n }\n \n passForm:FormGroup\n usuarioForm:FormGroup\n subscription: Subscription\n headPremium = TopbarConstants.HEAD_PREMIUM;\n bodyPremium = TopbarConstants.BODY_PREMIUM;\n\n tipoDocumentos:string[] = [\n 'DNI',\n 'CE',\n 'PTP',\n 'Pasaporte'\n ]\n\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n public title: TitleService,\n public authService: AuthService,\n public notify: NotificationsService,\n public fb: FormBuilder,\n public fv: FormValidationService,\n public validators: PasswordValidatorsService,\n public usuarioService: UsuariosService,\n public permisosService: PermisosService,\n public serviciosProcesoService: ServiciosProcesoService,\n public empresaService: EmpresaService,\n public receptorService: ReceptorService,\n private customService: PersonalizacionService,\n public compartirDatosService: CompartirDatosService\n ) { \n super();\n }\n\n countries: any[] = [...countries]\n .sort((a, b) => a.es.localeCompare(b.es))\n .map((item) => {\n return {\n ...item,\n optionName: `${item.es} (${item.dial})`\n }\n });\n\n // sidebar:boolean = true\n @Output()\n toggleSidebar: EventEmitter = new EventEmitter()\n @Output()\n toggleSidebarCollapse: EventEmitter = new EventEmitter()\n private readonly defaultLogo = '../../../assets/img/logo-1.png';\n \n name:string\n profiles:string[]\n existeEmail:boolean=false\n crearLoading:boolean\n drop:boolean\n profileDrop:boolean\n profileTraductor: boolean\n empresaActiva:any\n empresas:any[] = []\n esGratuita:boolean\n\n twice:boolean = false\n sus:Subscription\n\n dataPassword:boolean = false\n dataPasswordDate:string\n\n logoSidebar: string = this.defaultLogo;\n\n start:boolean = false\n \n ngOnInit(): void {\n console.log('###INIIT TOPBAR')\n //this.scriptTraductorStyle();\n //this.scriptTraductor();\n this.scriptNiubiz();\n this.compartirDatosService.changeMessage(false);\n this.start = localStorage.getItem('AUTHSTART') === 'start'\n console.log(this.start)\n if (this.start) {\n this.obteniendoDatos(localStorage.getItem('AUTHUSER'), localStorage.getItem('AUTHSUBDOMINIO'))\n }else{\n this.cargarEmpresaActiva();\n }\n\n /* this.name = this.authService.obtenerNombres().join(' ')\n this.profiles = this.authService.obtenerPerfiles()\n this.empresas = this.authService.obtenerEmpresas()\n this.empresaActiva = this.empresas.find(e => e.id == this.authService.obtenerIdEmpresaActiva())\n this.esGratuita = this.authService.obtenerTipoCuenta() !== 'PAGO'\n\n this.sus = this.route.queryParams.subscribe(params => {\n if (!params.login && !this.twice) {\n this.empresaService.obtenerEmpresaActiva(this.authService.obtenerIdEmpresaActiva()).subscribe(data => {\n this.authService.guardarDataEmpresaActiva(data.find(c => c.id == this.authService.obtenerIdEmpresaActiva()))\n }, error => {\n console.log(error)\n })\n\n this.usuarioService.obtenerUsuario(\n this.authService.obtenerUsername(), \n this.authService.obtenerSubdominio()).subscribe(data => {\n this.authService.guardarDatos(data, true)\n this.permisosService.setOpciones()\n this.profiles = this.authService.obtenerPerfiles()\n }, error => {\n console.log(error)\n })\n \n } else {\n \n }\n\n this.twice = true\n })\n this.receptorService.datosFechaContraseña( this.authService.obtenerUsername(), this.authService.obtenerSubdominio()).subscribe(data => {\n if(data['formatDate'] != null){\n this.dataPassword = data['formatDate'];\n this.dataPasswordDate = data['numberDay'];\n }\n }, error => {\n console.log(error)\n }); */\n //this.listenCustomImages();\n }\n\n cargarEmpresaActiva(){\n this.name = this.authService.obtenerNombres().join(' ')\n this.profiles = this.authService.obtenerPerfiles()\n this.empresas = this.authService.obtenerEmpresas()\n this.empresaActiva = this.empresas.find(e => e.id == this.authService.obtenerIdEmpresaActiva())\n this.esGratuita = this.authService.obtenerTipoCuenta() !== 'PAGO'\n\n this.sus = this.route.queryParams.subscribe(params => {\n if (!params.login && !this.twice) {\n this.empresaService.obtenerEmpresaActiva(this.authService.obtenerIdEmpresaActiva()).subscribe(data => {\n this.authService.guardarDataEmpresaActiva(data.find(c => c.id == this.authService.obtenerIdEmpresaActiva()))\n }, error => {\n console.log(error)\n })\n\n this.usuarioService.obtenerUsuario(\n this.authService.obtenerUsername(), \n this.authService.obtenerSubdominio()).subscribe(data => {\n this.authService.guardarDatos(data, true)\n this.permisosService.setOpciones()\n this.profiles = this.authService.obtenerPerfiles()\n }, error => {\n console.log(error)\n })\n \n } else {\n \n }\n\n this.twice = true\n })\n this.receptorService.datosFechaContraseña( this.authService.obtenerUsername(), this.authService.obtenerSubdominio()).subscribe(data => {\n if(data['formatDate'] != null){\n this.dataPassword = data['formatDate'];\n this.dataPasswordDate = data['numberDay'];\n }\n }, error => {\n console.log(error)\n }); \n //this.listenCustomImages();\n }\n\n obteniendoDatos(username,subdomain){\n this.usuarioService.obtenerUsuario(username, subdomain).subscribe(data => {\n console.log(\"TOBAR 1\")\n this.authService.guardarDatos(data, true)\n this.permisosService.setOpciones()\n this.profiles = this.authService.obtenerPerfiles()\n this.name = this.authService.obtenerNombres().join(' ')\n this.sus = this.route.queryParams.subscribe(params => {\n if (!params.login && !this.twice) {\n this.empresaService.obtenerEmpresaActiva(this.authService.obtenerIdEmpresaActiva()).subscribe(data => {\n console.log(\"TOBAR 2\")\n this.empresaActiva['razon_social'] = ''\n this.authService.guardarDataEmpresaActiva(data.find(c => c.id == this.authService.obtenerIdEmpresaActiva()))\n this.profiles = this.authService.obtenerPerfiles()\n this.empresas = this.authService.obtenerEmpresas()\n this.empresaActiva = this.empresas.find(e => e.id == this.authService.obtenerIdEmpresaActiva())\n this.esGratuita = this.authService.obtenerTipoCuenta() !== 'PAGO'\n }, error => {\n console.log(error)\n })\n \n } \n this.twice = true\n })\n this.receptorService.datosFechaContraseña( this.authService.obtenerUsername(), this.authService.obtenerSubdominio()).subscribe(data => {\n if(data['formatDate'] != null){\n this.dataPassword = data['formatDate'];\n this.dataPasswordDate = data['numberDay'];\n }\n }, error => {\n console.log(error)\n }); \n }, error => {\n console.log(error)\n })\n\n \n }\n\n closeDrop() {\n this.profileTraductor = false;\n this.profileDrop = false;\n }\n\n closeProfileDrop() {\n this.profileTraductor = false;\n this.drop = false;\n }\n\n closeProfileTraductor() {\n this.profileDrop = false;\n this.drop = false;\n }\n\n scriptTraductor() {\n var script = document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.src = \"https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit\";\n document.body.appendChild(script);\n }\n\n scriptTraductorStyle() {\n var jq = document.createElement(\"script\");\n jq.type = \"text/javascript\";\n jq.src = \"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js\";\n document.body.appendChild(jq);\n }\n\n scriptNiubiz() {\n var script = document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.src = environment.scriptNiubiz;\n document.body.appendChild(script);\n console.log('script niubiz',script)\n }\n\n listenCustomImages(): void {\n this.customService.listarImagenesPersonalizacionLogeado(\n this.authService.obtenerSubdominio() , this.authService.obtenerIdEmpresaActiva()\n )\n .pipe(takeUntil(this.destroy$))\n .subscribe((response: any) => {\n const { logoWeb } = response;\n\n this.logoSidebar = logoWeb\n //? logoWeb\n ? this.defaultLogo\n : this.defaultLogo;\n });\n }\n\n seleccionarEmpresaActiva(empresa) {\n this.authService.guardarEmpresaActiva(empresa)\n location.reload()\n }\n\n toggle(event: MouseEvent) {\n event.stopPropagation()\n this.toggleSidebar.emit()\n }\n\n toggleCollapse(event: MouseEvent) {\n event.stopPropagation()\n this.toggleSidebar.emit()\n }\n\n async logout() {\n localStorage.clear();\n this.sus.unsubscribe();\n await Auth.signOut({ global: true });\n this.router.navigate(['/login']);\n }\n\n\n abrirModalConfirmarSalir(){\n this.modalConfirmarLogout.open()\n this.compartirDatosService.changeMessage(true);\n\n }\n confirmarSalir(){\n this.logout()\n this.compartirDatosService.changeMessage(false);\n }\n\n cancelarSalir(){\n this.modalConfirmarLogout.close()\n this.compartirDatosService.changeMessage(false);\n }\n \n valorBloquear:boolean\n enviarValor: boolean\n abrirModalLecturaTerminos(){\n this.modalLecturaTerminos.open()\n this.compartirDatosService.changeMessage(true);\n }\n\n regresarListaUsuarios(){\n\n }\n\n initChangePass() {\n this.compartirDatosService.changeMessage(true);\n if (!this.passForm) {\n const passwordValidators = this.validators.set()\n this.passForm = this.fb.group({\n oldPass: ['', [Validators.required, Validators.minLength(6)]],\n password: ['', passwordValidators],\n confirm: ['', [Validators.required]]\n }, { validators: this.checkPasswords })\n }\n this.passModal.open()\n }\n\n\n checkPasswords(group: FormGroup) {\n let pass = group.get('password').value;\n let confirmPass = group.get('confirm').value;\n return pass === confirmPass ? null : { mismatch: true } \n } \n\n pLoading:boolean\n // Cambiar contraseña\n async changePassword(e) {\n\n e.preventDefault()\n\n if (this.pLoading) return\n\n if (this.passForm.invalid) {\n return this.fv.validateForm(this.passForm)\n }\n\n this.pLoading = true\n\n try { \n const user = await Auth.currentAuthenticatedUser()\n const result = await Auth.changePassword(user, this.passForm.get('oldPass').value, this.passForm.get('password').value);\n\n if (result === 'SUCCESS') {\n try{\n this.receptorService.actualizarFechaContraseña(this.authService.obtenerUsername(), this.authService.obtenerSubdominio()).subscribe(\n data => {\n console.log('Fecha Contraseña Actualizada')\n })\n this.pLoading = false\n this.passModal.close()\n this.passForm.reset()\n this.compartirDatosService.changeMessage(false);\n this.notify.success('Contraseña cambiada con éxito')\n }catch(error){\n console.log('Hubo un problema al actualizar la fecha')\n }\n \n } else {\n this.notify.error('Hubo un problema al procesar la solicitud')\n }\n\n } catch (error) {\n this.notify.error('Hubo un problema al realizar la petición')\n }\n \n this.pLoading = false\n }\n\n modalCambiarmeCuentaPagoLoading:boolean\n solicitarPremium(){\n this.modalCambiarmeCuentaPago.open()\n }\n\n aceptarCambiarmeCuentaPago(){\n this.modalCambiarmeCuentaPagoLoading = true\n const data:any={\n idCompany:this.authService.obtenerIdEmpresaActiva(),\n user:this.authService.obtenerUsername(),\n subdomain:this.authService.obtenerSubdominio()\n }\n this.serviciosProcesoService.enviarCorreoContactarme(data).subscribe(data => {\n this.notify.success(\"Se envió la solicitud correctamente.\")\n this.modalCambiarmeCuentaPagoLoading = false\n this.modalCambiarmeCuentaPago.close()\n //this.modalContactarCuentaFreeLoading = false\n }, error => {\n this.notify.error(error.error.response)\n //this.modalContactarCuentaFreeLoading = false\n })\n\n }\n\n usuarioGuardado: Usuario\n onUpdateUser(): void {\n this.compartirDatosService.changeMessage(true);\n const username = this.authService.obtenerUsername();\n\n //this.usuarioGuardado = null;\n this.usuarioService.obtenerUsuario(username, this.authService.obtenerSubdominio()).subscribe(data => {\n\n console.log(\"DATA USUARIOS:\" , data)\n this.usuarioGuardado = data\n\n const countryCode = countries.find((item) => item.code === data.nationalType)?.dial;\n if (!this.usuarioForm) {\n const passwordValidators = this.validators.set()\n this.usuarioForm = this.fb.group({\n name:[data.name, [Validators.required, Validators.minLength(2)]],\n paternalSurname:[data.paternalSurname, [Validators.required, Validators.minLength(2)]],\n maternalSurname:[data.maternalSurname, [Validators.required, Validators.minLength(2)]],\n identityType:[data.identityType, [Validators.required]],\n identityNumber:[data.identityNumber, [Validators.required, Validators.maxLength(10), Validators.minLength(8)]],\n email:[data.email, [Validators.required, Validators.email]],\n phoneNumber: [data.phoneNumber.slice(countryCode.length), [Validators.required, Validators.minLength(6),Validators.maxLength(9)]],\n nationalType: [data.nationalType, [Validators.required]],\n firmasType: [data.desc_tipos_firmas ?data.desc_tipos_firmas:[]],\n companys: [data.companys, [Validators.required]],\n editSignigProcess: [JSON.parse(data.attributes?.editar_proceso_firma.toLowerCase()) || false],\n enableSignigProcess: [JSON.parse(data.attributes?.desactivar_proceso_firma.toLowerCase()) || false],\n office: [data.attributes.oficina],\n idCompany : this.authService.obtenerIdEmpresaActiva()\n \n \n \n })\n }\n\n }, error => {\n console.log(error)\n })\n\n\n\n\n\n this.editarMiCuentaModal.open()\n\n\n }\n\n cerrarModalEditarCuenta(){\n this.compartirDatosService.changeMessage(false);\n this.editarMiCuentaModal.close()\n }\n\n handleSubmit(event?:any) {\n\n /*if (!this.usuarioForm.valid) {\n return this.fv.validateForm(this.usuarioForm)\n }*/\n\n \n\n const usuario: Usuario = {...this.usuarioForm.value};\n usuario.login = this.usuarioForm.get('identityNumber').value\n const nationality = this.usuarioForm.get('nationalType').value;\n const countryCode = countries.find((item) => item.code === nationality)?.dial;\n usuario.phoneNumber = countryCode + this.usuarioForm.get('phoneNumber').value;\n\n const regex:RegExp = new RegExp(' ', 'g')\n usuario.phoneNumber = usuario.phoneNumber.replace(regex, '');\n usuario.document_type = this.usuarioGuardado.attributes.tipos_documentos\n usuario.document_visado = this.usuarioGuardado.attributes.documentos_visado\n usuario.companys=JSON.stringify(this.usuarioGuardado.companys)\n usuario.idCompany = this.authService.obtenerIdEmpresaActiva()\n usuario.editSignigProcess = this.usuarioGuardado.attributes.editar_proceso_firma == \"False\" ? false : true\n usuario.idProfile=this.usuarioGuardado.idProfile\n usuario.idTipoFirma=JSON.stringify(this.usuarioGuardado.attributes.tipos_firmas)\n usuario.role = this.usuarioGuardado.attributes.roles\n usuario.subdomain = this.usuarioGuardado.subdomain\n\n\n console.log(\"DATOS EDITAR MI CUENTA:\", usuario)\n\n this.crearLoading = true;\n this.usuarioService.actualizarUsuario(\n usuario.email, \n this.authService.obtenerSubdominio(),\n usuario\n ).subscribe(data => {\n\n this.notify.success('Edición exitosa')\n this.editarMiCuentaModal.close()\n this.compartirDatosService.changeMessage(false);\n }, error => {\n this.crearLoading = false\n if (error.status === 409) this.existeEmail=true\n else this.notify.error('No se pudo editar')\n })\n\n\n }\n}\n","
\n\n
\n \n \n \n
\n Empresa: {{empresaActiva.razon_social}}\n \n
\n \n \n\n
\n
    \n
  • {{e.razon_social}}
  • \n
\n
\n
\n\n Solicitar versión premium\n\n
\n\n \n \n \n\n
\n
\n \n \n
\n

Seleccionar Idioma

\n
\n \n
\n
\n\n
\n

{{name}}

\n \n\n
\n \n\n
\n
\n \n\n \n
\n\n
\n\n
\n\n\n \n\n\n\n

Fecha Actualizacion de Contraseña

\n
\n

{{dataPassword}}

\n

{{dataPasswordDate}} dias para vencer

\n
\n\n
\n\n \n\n\n \n\n \n\n

Las contraseñas deben coincidir

\n\n \n \n\n
\n \n\n \n
\n\n
\n\n
\n\n\n
\n\n \n\n
\n \n\n \n
\n\n
\n \n\n \n
\n\n \n\n
\n\n \n \n
\n\n\n
\n \n \n\n \n
\n\n
\n\n \n \n \n\n
\n\n\n\n \n
\n \n
\n\n
\n\n\n

¿Estás seguro de cerrar sesión?

\n
","import {Component,OnInit,Input,Output,ViewChild,ElementRef,HostListener,EventEmitter,OnChanges,SimpleChanges,ChangeDetectorRef} from '@angular/core';\n\nimport { SignaturePadComponent } from '@almothafar/angular-signature-pad';\nimport { Storage } from 'aws-amplify';\n\nimport { FirmaHolograficaService } from 'src/app/services/firma-holografica.service';\nimport { firma } from 'src/app/util/types';\nimport { ModalComponent } from '../modal/modal.component';\nimport { FirmaHolografica } from 'src/app/models/FirmaHolografica.model';\nimport { NotificationsService } from 'src/app/services/notifications.service';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { FirmarPdfFreeService } from './firmar-pdf-free.service';\nimport { ServiciosProcesoService } from '../../services/servicios-proceso.service';\nimport { S3ImagePreviewComponent } from '../s3-image-preview/s3-image-preview.component';\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport { ProcesoFirma } from '@noe/models/ProcesoFirma.model';\nimport { Subject, Subscription } from 'rxjs';\nimport { NgxCopilotService } from 'ngx-copilot';\nimport { ModalFelicitacionesComponent } from '../modal-felicitaciones/modal-felicitaciones.component';\nimport { Router } from '@angular/router';\nimport { delay } from 'rxjs/operators';\nimport { FormControl } from '@angular/forms';\nimport { ReceptorService } from '@noe/services/receptor.service';\nimport { UsuariosService } from '@noe/services/usuarios.service';\nimport { UploadService } from '@noe/services/upload.service';\nimport { SharedCerrarVisorService } from '@noe/services/sharedCerrarVisor.service';\nimport { SharedCerrarVisorPdfService } from '@noe/services/sharedCerrarVisorPdf.service';\n\n@Component({\n selector: 'app-firmar-pdf-free',\n templateUrl: './firmar-pdf-free.component.html',\n styleUrls: ['./firmar-pdf-free.component.scss'],\n providers: [FirmarPdfFreeService]\n})\nexport class FirmarPdfFreeComponent implements OnChanges, OnInit {\n\n @ViewChild('signature') pad:SignaturePadComponent\n @ViewChild('viewer') viewer: ElementRef\n @ViewChild('current') current: S3ImagePreviewComponent\n @ViewChild('modalDibujar') modalDibujar:ModalComponent\n @ViewChild('modalFelicitaciones') modalFelicitaciones:ModalFelicitacionesComponent\n @ViewChild('modalCargar') modalCargar:ModalComponent\n @ViewChild('modalTerminos') modalTerminos:ModalComponent\n @ViewChild('modalCambiarmeCuentaPago') modalCambiarmeCuentaPago:ModalComponent\n @ViewChild('overlayCanvas') canvasElement: ElementRef;\n @ViewChild('modalCerrarDocumento') modalCerrarDocumento:ModalComponent;\n @ViewChild('modalCerrarDocumentoMenu') modalCerrarDocumentoMenu:ModalComponent;\n @ViewChild('currentPage') inputSearch;\n @ViewChild('tabGroup') tabGroup;\n\n @ViewChild(CdkVirtualScrollViewport) viewport: CdkVirtualScrollViewport;\n subscriptions = new Subscription();\n scrollToIndex$: Subject = new Subject();\n\n @Input('masivo') set masivo (valor: boolean) {\n this._masivo = valor\n }\n\n pdfList:any[] = []\n @Input('pdfList') set getPdfList (lista: any) {\n this.pdfList = [...lista];\n if (this._masivo) {\n this.initFirmasMasivo();\n this.initFirmasMasivoTercero();\n }\n }\n\n @Input() listReceptions:any;\n @Input() listSignatureReceptions:any;\n @Input('files') files:string[] = [];\n @Input('filesThumbs') filesThumbs:string[] = [];\n @Input('loading') loading:boolean;\n @Input('currentDoc') currentDoc: any;\n @Input('desactiveFirmaRemitenteService') desactiveFirmaRemitenteService:boolean;\n @Input('activeDestinatarioService') activeDestinatarioService: boolean;\n @Output() onconfirm: EventEmitter = new EventEmitter()\n @Output() onconfirmCorreo: EventEmitter = new EventEmitter()\n @Output() onconfirmLink: EventEmitter = new EventEmitter()\n @Output() onconfirmWizard: EventEmitter = new EventEmitter()\n @Output() onCheckTodosPaginas: EventEmitter = new EventEmitter()\n @Output() onCheckActivateTimbrado: EventEmitter = new EventEmitter()\n @Output() onCheckActiveQr: EventEmitter = new EventEmitter()\n @Input() childMessage: any;\n @Output() cerrarModalFirmarPdf: EventEmitter = new EventEmitter()\n @Output() onconfirmEvent: EventEmitter = new EventEmitter()\n @Input('cerrarVisor') cerrarVisor: boolean;\n @Input('omitirFirma') omitirFirma:boolean\n @Input('activateTimbrado') activateTimbrado:number = 0;\n @Input('activeQr') activeQr:number = 0;\n\n masivoCurrent: number = 0;\n _masivo:boolean;\n // only for single doument.\n isSignedDoc: boolean = false;\n esGratis:boolean\n tooltipDrop:boolean = false;\n tooltipDropSinFirma:boolean = true;\n tooltipDropDestinatario:boolean = true;\n @Input('loading') loadingScroll:boolean = false;\n @Input('loading') loadingScrollThumb:boolean = false;\n @HostListener('document:click') clickout():void {\n if (this.tooltipDrop) this.tooltipDrop = false\n if (this.tooltipDropSinFirma) this.tooltipDropSinFirma = false\n }\n\n public albumdetails = [];\n currentFirmar:any\n proceso:ProcesoFirma | any\n cargaId:string\n currentServ:any\n imagenesPdf = [];\n items = [];\n itemsThumbs = [];\n selectFirma: boolean = false;\n selectFirmaSize: boolean = false;\n posicionFirma: boolean = false;\n textoFirmar: boolean = false;\n firma: boolean = false;\n fondoPosicionFirmar: boolean = false;\n selected: any;\n selectedTabs = new FormControl(0);\n\n numberPage:number = 0\n pageActive:number = 1\n cantidadPaginas: number = 0;\n nombreDocumento: string;\n loaderFirmar: boolean = false;\n verUbicarFirma: boolean = false;\n verFirmaIndividual: boolean = false;\n flagOnboarding: number;\n rotateLoader: boolean\n rotateLoaderTercero: boolean\n agregarLoader: boolean\n verImgFirma: boolean = false;\n verImgFirmaTercero: boolean = false;\n verImgFirmaTerceroCorreo: boolean = false;\n destinatario: string;\n verDestinatarios: boolean = true;\n rechazarButtonTerceros: boolean = false;\n buttonDestinatario:boolean = false;\n selectedOption: string;\n continueDestinatario:boolean = false;\n firmaSeleccionadaDestinatario:string = \"images-notifications/firma_destinatario.png\"\n saltarFirmaDestinatario:boolean = false;\n saltarFirmaRemitente:boolean = false;\n activebuttonDestinatario:boolean = false;\n buttonDestinatarioService:boolean = true;\n desactivarFirmaRemitente:boolean = true;\n sharedVisor: boolean = false;\n activarButtonDestinatario: boolean = false;\n\n constructor(\n public firmaHolograficaService: FirmaHolograficaService,\n public notify: NotificationsService,\n public authService: AuthService,\n private signService: FirmarPdfFreeService,\n public serviciosProcesoService: ServiciosProcesoService,\n private copilot: NgxCopilotService,\n public router: Router,\n public service: ReceptorService,\n private userService: UsuariosService,\n public uploadService: UploadService,\n private sharedCerrarVisorService: SharedCerrarVisorService,\n public sharedCerrarVisorPdfService: SharedCerrarVisorPdfService,\n private changeDetectorRef: ChangeDetectorRef\n ) {\n\n }\n\n draggingCorner: boolean\n draggingWindow: boolean\n firmaMovil:boolean = false;\n\n ngOnChanges(change: SimpleChanges): void {\n //console.log(change, 'change')\n const { masivo, currentDoc } = change;\n if (masivo) {\n this.masivo = masivo.currentValue;\n this.signService.buildCheckboxesStatus(this.pdfList.length);\n this.signService.buildSignaturesStatus(this.pdfList.length);\n\n console.log('ngOnChanges : pdfList',this.pdfList)\n console.log('ngOnChanges : pdfList',this.pdfList[0])\n }\n\n if (!!currentDoc && currentDoc?.currentValue) {\n const { signedStatusDocument, statusSignatureExternal } = currentDoc.currentValue;\n this.isSignedDoc = !!signedStatusDocument && !!this.authService.obtenerEstadoActivarTimbrado() && !statusSignatureExternal;\n }\n\n if(change.cerrarVisor != null) {\n if(change.cerrarVisor.currentValue) {\n this.removeTab();\n console.log('cerrarVisor')\n }\n }\n }\n\n ngOnInit() {\n this.listarFirmasHolograficas();\n this.esGratis = this.authService.obtenerTipoCuenta() === 'GRATUITA'\n console.log('pdfList::', this.pdfList)\n this.sharedModalVisor();\n if (this.activateTimbrado === undefined) {\n this.activateTimbrado = 0;\n }\n if (this.activeQr === undefined) {\n this.activeQr = 0;\n }\n }\n\n sharedModalVisor() {\n this.sharedCerrarVisorService.sharedData$\n .subscribe(sharedDataCerrar => {\n this.sharedVisor = sharedDataCerrar;\n console.log(this.sharedVisor,'sharedDocHijo sharedModalVisor');\n this.cerrarModalDesdeExterior();\n });\n }\n\n cerrarModalDesdeExterior(){\n let openVisor = this.authService.obtenerModalVisorFirma()\n if(this.sharedVisor && openVisor){\n console.log('cerrando modal desde menu')\n this.modalCerrarDocumento.open();\n }\n }\n\n sharedVisorEnviar: boolean = false;\n sharedModalVisorPdf() {\n this.sharedVisorEnviar = false;\n this.sharedCerrarVisorPdfService.setData(this.sharedVisorEnviar);\n console.log(this.sharedVisorEnviar,'sharedVisorEnviar');\n }\n\n async actualizarFirma(doc:number) {\n const timestamp:number = new Date().getTime()\n const key:string = `${this.authService.obtenerRucEmpresaActiva()}/usuarios/${this.authService.obtenerDocumento()}/firmas_holografas/${timestamp}.jpg`\n let ruta:string = `public/${key}`\n\n try {\n const file = this.current.el.nativeElement.src\n console.log(\"XD\",file)\n const fd = new FormData;\n fd.append('file', String(file));\n fd.append('key',`public/${this.authService.obtenerRucEmpresaActiva()}/usuarios/${this.authService.obtenerDocumento()}/firmas_holografas/${timestamp}`)\n fd.append('name',`${timestamp}`)\n\n await this.uploadService.uploadFile(fd).then((result)=>{\n console.log(\"result::\", result)\n ruta = result['key'];\n\n this.firmas[doc][0].key = ruta\n this.firmas[doc][0].keyOrigen = ruta\n this.firmas[doc][0].src = result['s3_url']\n })\n /*await Storage.put(key, this.blob, {\n acl:'public-read'\n })*/\n } catch (error) {\n console.log(\"error::\", error)\n this.notify.error('Hubo un problema al cargar la imagen')\n }\n\n }\n\n openModalCerrarDocumento() {\n this.modalCerrarDocumento.open();\n }\n\n nameUserReception:string = \"\"\n hayFirmaPos:boolean = false;\n setSelectedDestinatario(email){\n this.destinatario = email;\n this.destinatarioSeleccionado = true;\n const reception = this.listReceptions.find((obj) => {\n console.log(obj.email, email)\n return obj.email === email;\n });\n if (this.listSignatureReceptions.includes(6)){\n this.hayFirmaPos = true;\n }else{\n this.hayFirmaPos = false;\n }\n this.nameUserReception = reception.fullname\n console.log(\"this.nameUserReception::\", this.nameUserReception)\n console.log('this.destinatario::', this.destinatario )\n this.mensaje = \"Firmas completas\"\n console.log(\"this.childMessage.addRubricRecipient::\",this.childMessage.addRubricRecipient)\n console.log(\"this.activebuttonDestinatario::\",this.childMessage.addRubricRecipient)\n console.log(\"this.hayFirmas::\",this.childMessage.addRubricRecipient)\n if(!this.childMessage.addRubricRecipient){\n this.buttonDestinatario=true\n this.activebuttonDestinatario=true\n }else{\n this.buttonDestinatario=true\n }\n this.activebuttonDestinatario=true\n console.log(\"this.buttonDestinatario::\",this.buttonDestinatario)\n console.log(\"this.activebuttonDestinatario::\",this.activebuttonDestinatario)\n }\n\n modificarOnboarding() {\n this.service.ModificarOnboarding(this.authService.obtenerUsername(), this.authService.obtenerSubdominio()).subscribe(data => {\n console.log(data,'modificarOnboarding');\n }, error => {\n console.log(error)\n })\n }\n\n nameUserEmisor:string\n estadoOnboarding() {\n this.userService.obtenerUsuario(\n this.authService.obtenerUsername(),\n this.authService.obtenerSubdominio())\n .subscribe(data => {\n this.flagOnboarding = data.flagOnboarding\n if (this.firmasUsuario.length > 0) {\n if (this.flagOnboarding == 0) {\n this.init();\n }\n }\n this.nameUserEmisor = data.name+\" \"+data.surname\n console.log(data.flagOnboarding, 'estadoOnboarding')\n }, error => {\n console.log(error)\n });\n }\n\n verBloqueoFirma() {\n this.verUbicarFirma = true;\n console.log('verBloqueoFirma::', this.verUbicarFirma);\n }\n\n removeTabSelected:number\n modalremoveTab(i){\n if(this.pdfList.length > 1){\n this.removeTabSelected = i\n this.modalCerrarDocumento.open();\n console.log('removeTabSelected modalremoveTab',this.removeTabSelected)\n console.log('i',i)\n //this.pdfList.splice(i, 1);\n }\n }\n removeTab(){\n this.pdfList.splice(this.removeTabSelected, 1);\n this.firmasMasivo.splice(this.removeTabSelected, 1);\n this.firmasMasivoTercero.splice(this.removeTabSelected, 1);\n this.masivoCurrent = this.removeTabSelected\n if(this.masivoCurrent == 0 ){\n this.navegarMasivo('next')\n }else{\n this.navegarMasivo('prev')\n }\n console.log('removeTabSelected removeTab::',this.removeTabSelected)\n console.log('masivoCurrent removeTab:.',this.masivoCurrent)\n console.log('firmasMasivo removeTab::',this.firmasMasivo)\n this.selectedOption = undefined;\n this.buttonDestinatario = false;\n this.modalCerrarDocumento.close();\n this.cerrarModalFirmarPdf.emit(true);\n\n this.firmas = []\n this.firmasTercero = []\n this.firmasTerceroCorreo = []\n }\n\n removeTabModulo(){\n this.pdfList.splice(this.removeTabSelected, 1);\n this.firmasMasivo.splice(this.removeTabSelected, 1);\n this.firmasMasivoTercero.splice(this.removeTabSelected, 1);\n this.masivoCurrent = this.removeTabSelected\n if(this.masivoCurrent == 0 ){\n this.navegarMasivo('next')\n }else{\n this.navegarMasivo('prev')\n }\n console.log('removeTabSelected removeTab',this.removeTabSelected)\n console.log('masivoCurrent removeTab',this.masivoCurrent)\n console.log('firmasMasivo removeTab',this.firmasMasivo)\n this.selectedOption = undefined;\n this.buttonDestinatario = false;\n this.modalCerrarDocumentoMenu.close();\n this.cerrarModalFirmarPdf.emit(true);\n this.sharedModalVisorPdf();\n }\n\n scrollEnd() {\n this.subscriptions.add(\n this.scrollToIndex$\n .pipe(delay(0))\n .subscribe(() =>\n this.viewport.scrollTo({ bottom: 0, behavior: 'smooth' })\n )\n );\n this.scrollToIndex$.next();\n }\n\n scrollStart() {\n this.subscriptions.add(\n this.scrollToIndex$\n .pipe(delay(0))\n .subscribe(() =>\n this.viewport.scrollTo({ top: 0, behavior: 'smooth' })\n )\n );\n this.scrollToIndex$.next();\n }\n\n select(item, $event) {\n this.selected = (this.selected === item ? null : item);\n $event ? $event.stopPropagation() : null;\n }\n\n isActive(item) {\n return this.selected === item;\n }\n\n selectActions(item, $event) {\n this.selected = (this.selected === item ? null : item);\n $event ? $event.stopPropagation() : null;\n }\n\n isActiveActions(item) {\n return this.selected === item;\n }\n\n selectMasivo(item, $event) {\n this.selected = (this.selected === item ? null : item);\n $event ? $event.stopPropagation() : null;\n }\n\n isActiveMasivo(item) {\n return this.selected === item;\n }\n\n selectMasivoMenu(item, $event) {\n this.selected = (this.selected === item ? null : item);\n $event ? $event.stopPropagation() : null;\n }\n\n isActiveMasivoMenu(item) {\n return this.selected === item;\n }\n\n selectIndividualMenu(item, $event) {\n this.selected = (this.selected === item ? null : item);\n $event ? $event.stopPropagation() : null;\n }\n\n isActiveIndividualMenu(item) {\n return this.selected === item;\n }\n\n selectBoton(item, $event) {\n this.selected = (this.selected === item ? null : item);\n $event ? $event.stopPropagation() : null;\n }\n\n isActiveBoton(item) {\n return this.selected === item;\n }\n\n verSelectFirma() {\n this.selectFirma = true;\n }\n\n sinSelectFirma() {\n this.selectFirma = false;\n }\n\n verSelectFirmaSize() {\n this.selectFirmaSize = true;\n }\n\n sinSelectFirmaSize() {\n this.selectFirmaSize = false;\n }\n\n verTextoFirma() {\n this.textoFirmar = true;\n }\n\n sinTextoFirma() {\n this.textoFirmar = false;\n }\n\n verFondoPosicionFirmar() {\n this.fondoPosicionFirmar = true;\n }\n\n sinFondoPosicionFirmar() {\n this.fondoPosicionFirmar = false;\n }\n\n verPosicionFirma() {\n this.posicionFirma = true;\n }\n\n sinPosicionFirma() {\n this.posicionFirma = false;\n }\n\n verFirma() {\n this.firma = true;\n }\n\n sinFirma() {\n this.firma = false;\n }\n\n\n /*Re initialize in specify step*/\n initPosition(stepNumber: any) {\n this.copilot.checkInit(stepNumber);\n }\n\n /*Initialize*/\n init() {\n this.viewport.scrollToIndex(100, 'smooth');\n setTimeout(() => {\n this.copilot.checkInit();\n this.selectFirma = true;\n }, 1500)\n this.textoFirmar = false;\n this.fondoPosicionFirmar = true;\n this.selectFirmaSize = false;\n this.posicionFirma = false;\n this.firma = false;\n console.log(\"init\")\n this.continueDestinatario = this.childMessage.continueDestinatario\n }\n\n /*Next Step*/\n siguiente(stepNumber: any) {\n this.copilot.next(stepNumber);\n }\n\n /*Finish*/\n omitir() {\n this.copilot.removeWrapper();\n this.textoFirmar = false;\n this.fondoPosicionFirmar = false;\n this.selectFirma = false;\n this.selectFirmaSize = false;\n this.posicionFirma = false;\n this.firma = false;\n //this.modificarOnboarding();\n }\n\n handlerPrev(){\n console.log(\"this.pdfList\",this.pdfList, this.notEmptyPost)\n if (this.notEmptyPost && !this._masivo) {\n this.loadingScrollThumb = true;\n this.getImages(this.items.length);\n }\n\n if(this.pdfList.length > 0){\n if (this.pdfList[this.masivoCurrent].notEmptyPost && this._masivo) {\n console.log(\"handlerPrev MASIVO\")\n this.loadingScrollThumb = true;\n this.getImages(this.pdfList[this.masivoCurrent].imagenes.length);\n }\n }\n }\n\n cargarImagenesMasiveInit(){\n this.loaderFirmar = false;\n this.checkPaginas = false;\n this.estadoOnboarding();\n this.verUbicarFirma = false;\n this.verFirmaIndividual = false;\n console.log(\"this.pdfList::\",this.pdfList)\n this.loadingScroll = true;\n this.loadingScrollThumb = true;\n this.items = []\n if (this._masivo) {\n this.items = []\n this.pdfList[0].imagenes = []\n }\n this.getImages(0);\n\n for (let index = 1; index < this.pdfList.length; index++) {\n const element = this.pdfList[index];\n this.nextLoadDocuments(element,index)\n }\n }\n\n nextLoadDocuments(doc:any,index:number){\n const bodyPages:any = {\n idProcess: doc.idProcess,\n filePath: doc.filePath,\n idDocumentSigningProcess: doc.id,\n idCompany: this.authService.obtenerIdEmpresaActiva(),\n count_page: 0\n }\n this.serviciosProcesoService.convertirPDFImagePagination(bodyPages).subscribe((data) => {\n this.pdfList[index].imagenes = data['paginas'];\n this.pdfList[index].cantidadPaginas = data['cantidadPaginas'];\n this.pdfList[index].nombreDocumento = data['nombreDocumento'];\n this.firmasMasivo[index] = []\n this.firmasMasivoTercero[index] = []\n }, error => {\n console.log(error)\n })\n }\n\n cargarImagenesInit(){\n this.continueDestinatario = this.childMessage.continueDestinatario\n this.buttonDestinatarioService = this.activeDestinatarioService\n this.desactivarFirmaRemitente = this.desactiveFirmaRemitenteService\n this.checkPaginas = false;\n this.loaderFirmar = false;\n this.estadoOnboarding();\n this.verUbicarFirma = false;\n this.verFirmaIndividual = false;\n console.log(\"this.items::\",this.items)\n console.log(\"this.pdfList::\",this.pdfList)\n this.loadingScroll = true;\n this.loadingScrollThumb = true;\n this.items = []\n this.pdfList = []\n this.getImages(0);\n console.log(\"hayFirmas\",this.hayFirmas)\n console.log(\"hayFirmasTerceroCorreo\",this.hayFirmasTerceroCorreo)\n console.log(\"saltarFirmaDestinatario\",this.saltarFirmaDestinatario)\n console.log(\"saltarFirmaRemitente\",this.saltarFirmaRemitente)\n console.log('this.firmasUsuario::', this.firmasUsuario)\n console.log('this.listReceptions::', this.listReceptions)\n console.log('this.continueDestinatario::', this.continueDestinatario)\n if (this.saltarFirmaDestinatario && this.saltarFirmaRemitente) {\n this.activebuttonDestinatario = true\n this.continueDestinatario = true\n }\n console.log('this.activebuttonDestinatario::', this.activebuttonDestinatario)\n console.log('this.continueDestinatario::', this.continueDestinatario)\n }\n\n handler(){\n console.log(\"this.pdfList\",this.pdfList, this.notEmptyPost)\n if (this.notEmptyPost && !this._masivo) {\n this.loadingScroll = true;\n this.getImages(this.items.length);\n console.log(\"pintame this.items.length \",this.items.length)\n console.log(\"pintamee this.items \",this.items)\n }\n\n if (this.pdfList.length > 0){\n if (this.pdfList[this.masivoCurrent].notEmptyPost && this._masivo) {\n console.log(\"handler MASIVO\")\n this.loadingScroll = true;\n this.getImages(this.pdfList[this.masivoCurrent].imagenes.length);\n console.log(\"pintame this.pdfList[this.masivoCurrent].imagenes.length \",this.pdfList[this.masivoCurrent].imagenes.length)\n }\n }\n }\n\n notEmptyPost:boolean = true;\n getImages(total:number){\n console.log('this.childMessage::',this.childMessage)\n const bodyPages:any = {\n idProcess: this.childMessage.idProcess,\n filePath: this.childMessage.filePath,\n idDocumentSigningProcess: this.pdfList.length>0 ? this.pdfList[this.masivoCurrent].id : this.childMessage.idDocumentSigningProcess,\n idCompany: this.childMessage.idCompany,\n count_page: total\n }\n console.log('ENVIO PAGINAS SCROLL getImages::', bodyPages)\n this.serviciosProcesoService.convertirPDFImagePagination(bodyPages).subscribe((data) => {\n console.log(\"data::\",data)\n this.notEmptyPost = data['paginas'].length === 0 ? false : true;\n this.cantidadPaginas = data['cantidadPaginas']\n this.nombreDocumento = data['nombreDocumento']\n\n this.items = [\n ...this.items,\n ...data['paginas'].map((value, i) => {\n return value\n })\n ];\n console.log(\"this.masivoCurrent::\",this.masivoCurrent,this.pdfList)\n console.log(\"this.pdfList::\",this.pdfList)\n if(this.pdfList.length > 0){\n this.pdfList[this.masivoCurrent].cantidadPaginas = data['cantidadPaginas'];\n this.pdfList[this.masivoCurrent].imagenes = [\n ...this.pdfList[this.masivoCurrent].imagenes,\n ...data['paginas'].map((value, i) => {\n return value\n })\n ]\n this.pdfList[this.masivoCurrent].notEmptyPost = data['paginas'].length === 0 ? false : true;\n }\n\n this.loadingScroll = false;\n this.loadingScrollThumb = false;\n if (this.numberPage == 0) {\n this.getMasiveImagens()\n }\n }, error => {\n console.log(error)\n })\n }\n\n countPage() {\n for (let i = 3; i <= 20; i += 4) {\n console.log(i, 'Valor');\n }\n }\n\n checkFirmarTodas:boolean\n\n mensaje: string = \"Firmar\";\n saludo(value) {\n this.mensaje = value;\n }\n\n mensajeDocumentos: string = \"Documentos\";\n saludoDocumentos(value) {\n this.mensajeDocumentos = value;\n }\n\n mensajeCheck: string = \"Check\";\n saludoCheck(value) {\n this.mensajeCheck = value;\n }\n\n initFirmasMasivo() {\n this.firmasMasivo.length = this.pdfList.length;\n this.firmasMasivo.forEach(f => {\n f = [];\n f.forEach(p => {\n p = [];\n });\n });\n }\n\n initFirmasMasivoTercero() {\n this.firmasMasivoTercero.length = this.pdfList.length;\n this.firmasMasivoTercero.forEach(f => {\n f = [];\n f.forEach(p => {\n p = [];\n });\n });\n }\n\n\n //christian anchivilca\n comboPersonalizacionSelect:any\n idNameCombo:string\n idKeyCombo:string\n verNumeroPaginas :boolean=false\n txtNumeroPaginas:string\n tipos:any[] = [\n 'Todos',\n //'Personalizado'\n ]\n\n options = [\n\n { name: \"Todos\", value: 1 },\n //{ name: \"Personalizado\", value: 2 }\n ]\n\n getPersonalizar(){\n //this.comboPersonalizacionSelect = this.tipos[this.tipos.length - 1]\n if(this.comboPersonalizacionSelect === 'Personalizado'){\n this.verNumeroPaginas = true\n }else{\n this.verNumeroPaginas = false\n }\n }\n\n firmaSeleccionada:any\n firmaSeleccionadaDisabled:any = ''\n\n firmasUsuario:any[] = []\n loadingFirmas:boolean\n listarFirmasHolograficas() {\n\n this.loadingFirmas = true\n this.firmaHolograficaService.listarFirmas(\n this.authService.obtenerIdEmpresaActiva(),\n this.authService.obtenerUsername()\n ).subscribe(data => {\n this.firmasUsuario = [...data]\n this.firmaSeleccionada = this.firmasUsuario[this.firmasUsuario.length - 1]?.route\n console.log(\"firmaSeleccionada::\", this.firmaSeleccionada)\n this.firmaSeleccionadaDisabled = this.firmasUsuario[this.firmasUsuario.length - 1]?.title\n this.loadingFirmas = false;\n\n this.agregarLoader = false;\n this.modalCargar.close()\n this.modalDibujar.close()\n this.tooltipDropDestinatario = true;\n let openVisor = this.authService.obtenerModalVisorFirma();\n if(openVisor) {\n this.notify.success('Rúbrica guardada exitosamente.');\n }\n this.reset();\n }, error => {\n console.log(error)\n this.loadingFirmas = false\n })\n }\n\n\n iterar:number[] = [0,1]\n\n hayFirmas: boolean = false;\n hayFirmasTercero: boolean = false;\n hayFirmasTerceroCorreo: boolean = false;\n firmas:firma[][] = []\n firmasMasivo:firma[][][] = [[]]\n firmasMasivoTercero:firma[][][] = [[]]\n firmasTercero:firma[][] = []\n firmasTerceroCorreo:firma[][] = []\n indexMasivo:number\n destinatarioSeleccionado: boolean = false;\n\n accept:boolean\n recibeAccept(e) {\n this.accept = e;\n }\n\n addFirmaDestinatario(e: MouseEvent, index: number, masivoIndex: number = null){\n console.log(\"click addFirmaDestinatario\", !this.childMessage.addRubricRecipient)\n console.log(\"click destinatarioSeleccionado\", !this.destinatarioSeleccionado)\n console.log(\"click hayFirmasTercero\", this.hayFirmasTercero)\n console.log(\"click hayFirmasTerceroCorreo\", this.hayFirmasTerceroCorreo)\n console.log(\"click saltarFirmaDestinatario && saltarFirmaRemitente\", !this.saltarFirmaDestinatario && !this.saltarFirmaRemitente)\n console.log(\"click saltarFirmaRemitente\", this.saltarFirmaRemitente)\n\n console.log(\"this.childMessage.addRubricRecipient::\", this.childMessage.addRubricRecipient)\n console.log(\"!this.childMessage.addRubricRecipient::\", !this.childMessage.addRubricRecipient)\n\n console.log(\"this.destinatarioSeleccionado::\", this.destinatarioSeleccionado)\n console.log(\"!this.destinatarioSeleccionado::\", !this.destinatarioSeleccionado)\n\n console.log(\"this.hayFirmasTercero::\", this.hayFirmasTercero)\n console.log(\"!this.hayFirmasTercero::\", !this.hayFirmasTercero)\n\n console.log(\"this.hayFirmasTerceroCorreo::\", this.hayFirmasTerceroCorreo)\n console.log(\"!this.hayFirmasTerceroCorreo::\", !this.hayFirmasTerceroCorreo)\n\n console.log(\"hayFirmas::\", this.hayFirmas)\n console.log(\"buttonDestinatario::\", this.buttonDestinatario)\n console.log(\"continueDestinatario::\", this.continueDestinatario)\n console.log(\"this.listReceptions::\", this.listReceptions)\n\n if (!this.childMessage.addRubricRecipient){\n return false\n }\n\n if(!this.destinatarioSeleccionado){\n return false\n }\n\n if (this.hayFirmasTercero) {\n return false;\n }\n\n if (this.hayFirmasTerceroCorreo) {\n return false;\n }\n\n const target: HTMLImageElement = e.target as HTMLImageElement;\n\n const firma = {\n x: e.offsetX,\n y: e.offsetY,\n height: this.current.el.nativeElement.height,\n width: this.current.el.nativeElement.width,\n minArea: e.offsetY * e.offsetX,\n docClientHeight: target.clientHeight,\n docClientWidth: target.clientWidth,\n docNaturalHeight: target.naturalHeight,\n docNaturalWidth: target.naturalWidth,\n page: (masivoIndex != null && masivoIndex >=0 ? masivoIndex + 1 : index + 1).toString()\n }\n\n console.log('FIRMA ADD DESTINATARIO', firma)\n\n if (this._masivo) {\n if (!this.firmasMasivoTercero[index][masivoIndex]) this.firmasMasivoTercero[index][masivoIndex] = []\n this.firmasMasivoTercero[index][masivoIndex].push(firma);\n this.pdfList[index].signed = true\n this.signService.signStatusList[this.masivoCurrent] = true;\n } else {\n if (!this.firmasTercero[index]) this.firmasTercero[index] = []\n this.firmasTercero[index].push(firma);\n }\n\n this.hayFirmasTerceroCorreo = true;\n console.log(\"this.firmasTercero::\", this.firmasTercero)\n console.log('this.firmasMasivoTercero', this.firmasMasivoTercero)\n console.log('this.firmasTercero', this.firmasTercero)\n }\n\n addFirmaDestinatarioSinFirma() {\n this.verImgFirmaTerceroCorreo = true;\n\n const data = {\n continueDestinatario : true\n }\n this.onconfirmEvent.emit(data);\n\n if (!this.saltarFirmaDestinatario && !this.saltarFirmaRemitente) {\n this.activebuttonDestinatario = true;\n }\n\n if (this.saltarFirmaRemitente) {\n this.activebuttonDestinatario = true;\n }\n\n if(this.activarButtonDestinatario) {\n this.buttonDestinatario = true;\n this.activebuttonDestinatario = true;\n }\n\n console.log('this.hayFirmasTerceroCorreo:::', this.hayFirmasTerceroCorreo)\n }\n\n addFirma(e: MouseEvent, index: number, masivoIndex: number = null) {\n console.log('hayFirmas',this.hayFirmas)\n console.log('saltarFirmaDestinatario',this.saltarFirmaDestinatario)\n console.log('index addFirma',index)\n console.log('masivoIndex addFirma',masivoIndex)\n const target: HTMLImageElement = e.target as HTMLImageElement;\n console.log(\"click addFirmaRemitente\", this.childMessage.addRubricSender)\n console.log(\"click addFirmaDestinatario\", this.childMessage.addRubricRecipient)\n console.log(\"click continueDestinatario\", this.childMessage.continueDestinatario)\n\n console.log(\"this.childMessage.typeSign::\", this.childMessage.typeSign)\n\n if(this.childMessage.typeSign!=1){\n if (this.childMessage.continueDestinatario && !this.childMessage.addRubricSender){\n this.hayFirmas = true;\n console.log('activarButtonDestinatario',this.activarButtonDestinatario)\n return false\n }\n }\n\n console.log(\"this._masivo::\", this._masivo)\n this.recibeAccept(e);\n if (!this._masivo && this.isStamped(index)) {\n return;\n }\n if (this.draggingWindow || this.draggingCorner || !this.firmaSeleccionada) {\n return;\n }\n if (this._masivo) {\n if (this.pdfList[index].signed) {\n return;\n }\n }\n if (this.hayFirmas) {\n return;\n }\n\n const firma = {\n key: this.current.key,\n keyOrigen: this.current.key,\n src: this.current.el.nativeElement.src,\n x: e.offsetX,\n y: e.offsetY,\n height: this.current.el.nativeElement.height,\n width: this.current.el.nativeElement.width,\n minArea: e.offsetY * e.offsetX,\n docClientHeight: target.clientHeight,\n docClientWidth: target.clientWidth,\n docNaturalHeight: target.naturalHeight,\n docNaturalWidth: target.naturalWidth,\n page: (masivoIndex != null && masivoIndex >=0 ? masivoIndex + 1 : index + 1).toString()\n }\n\n console.log('FIRMA ADD::', firma)\n\n if (this._masivo) {\n if (!this.firmasMasivo[index][masivoIndex]) this.firmasMasivo[index][masivoIndex] = []\n this.firmasMasivo[index][masivoIndex].push(firma);\n this.pdfList[index].signed = true\n this.signService.signStatusList[this.masivoCurrent] = true;\n } else {\n if (!this.firmas[index]) this.firmas[index] = []\n this.firmas[index].push(firma);\n }\n console.log('this.firmasMasivo::', this.firmasMasivo)\n console.log('this.firmaSeleccionada::', this.firmaSeleccionada)\n }\n\n async CambiarRubricaPdf(event: any) {\n\n if (event?.target?.value){\n this.firmaSeleccionada = event?.target?.value\n }\n else{\n this.firmaSeleccionada = event\n }\n\n const src = await Storage.get(this.firmas[0][0].key, {customPrefix: {public: ''}})\n\n this.firmas[0][0].key = this.firmaSeleccionada\n this.firmas[0][0].keyOrigen = this.firmaSeleccionada\n this.firmas[0][0].src = src.toString()\n\n this.actualizarFirmas();\n }\n\n async actualizarFirmas() {\n\n if (this.firmaSeleccionada) {\n const src = await Storage.get(this.firmas[0][0].key, {customPrefix: {public: ''}})\n\n this.firmas[0][0].key = this.firmaSeleccionada\n this.firmas[0][0].keyOrigen = this.firmaSeleccionada\n this.firmas[0][0].src = src.toString()\n }\n }\n\n addFirmaSinFirma() {\n this.hayFirmas = true;\n this.verImgFirma = true;\n if (this.saltarFirmaDestinatario && !this.saltarFirmaDestinatario) {\n this.activebuttonDestinatario = true;\n }\n\n if (this.hayFirmasTerceroCorreo && !this.saltarFirmaDestinatario) {\n this.activebuttonDestinatario = true\n }\n\n if(!this.childMessage.addRubricRecipient && !this.saltarFirmaDestinatario){\n this.buttonDestinatario=true\n this.activebuttonDestinatario=true\n }\n\n if(this.childMessage.addRubricRecipient && !this.saltarFirmaDestinatario){\n this.buttonDestinatario=true\n this.activebuttonDestinatario=false\n }\n\n if(this.listReceptions.length == 0) {\n this.hayFirmas = true;\n this.buttonDestinatario = false\n this.continueDestinatario = false\n }\n\n this.validarFirmasCompletas();\n }\n\n firmasCompletas: boolean = false\n documentosFirmados:number = 0\n validarFirmasCompletas(){\n //Validando firmasCompletas\n var lstSigned = []\n console.log(\"this.pdfList::\",this.pdfList)\n for(let item of this.pdfList){\n if(item.signed == true){\n lstSigned.push(item)\n }\n }\n\n console.log('lstSigned::',lstSigned)\n console.log('lstSigned.length::',lstSigned.length)\n console.log(\"this.pdfList::\",this.pdfList)\n console.log(\"this.pdfList.length::\", this.pdfList.length)\n\n if (lstSigned.length === this.pdfList.length){\n this.firmasCompletas = true;\n }else{\n this.firmasCompletas = false;\n }\n\n this.documentosFirmados = lstSigned.length; // actualizando contados de doc firmados\n console.log('Firmas Completas::', this.firmasCompletas)\n }\n\n removeTercero(doc: number, firma: number, masivoFirma: number = null){\n this.firmasTercero[doc].splice(firma, 1);\n this.hayFirmasTercero = false;\n this.verImgFirmaTercero = false;\n this.verUbicarFirma = false;\n }\n\n removeTerceroCorreoMasivo(doc: number, firma: number, masivoFirma: number = null){\n console.log(\"Muestrame los parametros que traes al remover:\",doc,firma)\n\n this.firmasTerceroCorreo\n for (let index in this.firmasTerceroCorreo) {\n this.firmasTerceroCorreo[index] = [];\n }\n\n this.hayFirmasTerceroCorreo = false;\n this.verImgFirmaTerceroCorreo = false;\n this.verUbicarFirma = false;\n\n //Aditional para validar destinatarios\n if(this.listReceptions.length == 0){\n this.buttonDestinatario=false\n this.hayFirmas = true\n }else{\n this.activebuttonDestinatario = false\n }\n\n console.log(\"this.firmasTerceroCorreo\",this.firmasTerceroCorreo)\n\n const data = {\n continueDestinatario : false\n }\n this.onconfirmEvent.emit(data);\n }\n\n removeTerceroCorreo(doc: number, firma: number, masivoFirma: number = null){\n console.log(\"Muestrame los parametros que traes al remover:\",doc,firma)\n if (this.firmasTerceroCorreo[doc] != undefined) this.firmasTerceroCorreo[doc].splice(firma, 1);\n this.hayFirmasTerceroCorreo = false;\n this.verImgFirmaTerceroCorreo = false;\n this.verUbicarFirma = false;\n\n //Aditional para validar destinatarios\n if(this.listReceptions.length == 0){\n this.buttonDestinatario=false\n this.hayFirmas = true\n }else{\n this.activebuttonDestinatario = false\n }\n\n const data = {\n continueDestinatario : false\n }\n this.onconfirmEvent.emit(data);\n }\n\n remove(doc: number, firma: number, masivoFirma: number = null) {\n if (this._masivo) {\n this.firmasMasivo[doc][firma].splice(masivoFirma, 1);\n this.signService.signStatusList[this.masivoCurrent] = false;\n\n this.pdfList[doc].signed = false\n } else {\n this.firmas[doc].splice(firma, 1);\n }\n this.hayFirmas = false;\n console.log('pdfList',this.pdfList)\n this.validarFirmasCompletas();\n this.verUbicarFirma = false;\n this.verFirmaIndividual = false;\n this.verImgFirma = false;\n this.activebuttonDestinatario = false\n }\n\n async obtenerFirmaRotadaAndIncrustarla(key:any,doc:number,firma:number){\n const src:any = await Storage.get(key, {customPrefix: {public: ''}})\n console.log(\"this.firmasMasivo::\", this.firmasMasivo)\n try {\n if(this._masivo){\n this.firmasMasivo[doc][firma][0].key = key;\n this.firmasMasivo[doc][firma][0].src = src;\n\n var width = this.firmasMasivo[doc][firma][0].width;\n var height = this.firmasMasivo[doc][firma][0].height;\n this.firmasMasivo[doc][firma][0].width = height;\n this.firmasMasivo[doc][firma][0].height = width;\n }else{\n this.firmas[doc][0].key = key;\n this.firmas[doc][0].src = src;\n\n var width = this.firmas[doc][0].width;\n var height = this.firmas[doc][0].height;\n this.firmas[doc][0].width = height;\n this.firmas[doc][0].height = width;\n }\n\n } catch (error) {\n console.log(error)\n this.notify.info('Hubo un problema al rotar su imagen')\n }\n }\n\n async obtenerFirmaRotadaAndIncrustarlaTercero(key:any,doc:number,firma:number){\n console.log(\"this.firmasMasivo::\", this.firmasMasivo)\n try {\n if(this._masivo){\n this.firmasMasivoTercero[doc][firma][0].key = key;\n var width = this.firmasMasivoTercero[doc][firma][0].width;\n var height = this.firmasMasivoTercero[doc][firma][0].height;\n this.firmasMasivoTercero[doc][firma][0].width = height;\n this.firmasMasivoTercero[doc][firma][0].height = width;\n }else{\n this.firmasTercero[doc][0].key = key;\n var width = this.firmasTercero[doc][0].width;\n var height = this.firmasTercero[doc][0].height;\n this.firmasTercero[doc][0].width = height;\n this.firmasTercero[doc][0].height = width;\n }\n\n } catch (error) {\n console.log(error)\n this.notify.info('Hubo un problema al rotar su imagen')\n }\n }\n\n dataFirmaRotate: FirmaHolografica\n async rotate(doc: number, firma: number, side: string, masivoFirma: number = null) {\n //Validando angulo\n var addAngle = side == 'right' ? 0 - 90 : 0 + 90;\n //Ruta para firma\n var firmaRotate = this._masivo ? this.firmasMasivo[doc][firma][0] : firmaRotate = this.firmas[doc][0]\n\n console.log(\"this.firmas::\", this.firmas)\n console.log(\"this.firmas[doc]::\", this.firmas[doc])\n console.log(\"this.firmas[doc][0]::\", this.firmas[doc][0])\n\n console.log(\"ruta firma::\", firmaRotate);\n\n var routeArray = firmaRotate.key.split('/')\n var routeRotate = routeArray[0] + '/' + routeArray[1] + '/' + routeArray[2] + '/' + routeArray[3] + '/' + routeArray[4] + '/'\n\n this.dataFirmaRotate = {\n route: firmaRotate.key,\n routeRotate: routeRotate,\n angle: addAngle\n }\n\n this.rotateLoader = true;\n\n this.firmaHolograficaService.rotateFirma(this.dataFirmaRotate).subscribe(\n data => {\n this.obtenerFirmaRotadaAndIncrustarla(data['routeRotate'],doc,firma)\n this.rotateLoader = false;\n }\n )\n console.log('firmaRotate', this.dataFirmaRotate)\n console.log('this.firmasMasivo', this.firmasMasivo)\n }\n\n angleRotate:number = 0;\n angleHorizontal: boolean = false;\n async rotateTercero(doc: number, firma: number, side: string, masivoFirma: number = null) {\n var addAngle = side == 'right' ? 0 - 90 : 0 + 90;\n\n console.log(\"this.firmasTercero::\", this.firmasTercero)\n console.log(\"this.firmasTercero[doc]::\", this.firmasTercero[doc])\n console.log(\"this.firmasTercero[doc][0]::\", this.firmasTercero[doc][0])\n\n var firmaRotateTercero = this._masivo ? this.firmasMasivoTercero[doc][firma][0] : firmaRotateTercero = this.firmasTercero[doc][0]\n\n console.log(\"ruta firma tercero\", firmaRotateTercero);\n\n if(firmaRotateTercero.height < firmaRotateTercero.width) {\n this.angleHorizontal = false;\n console.log(firmaRotateTercero.height, firmaRotateTercero.width,'firma vertical');\n }\n\n if(firmaRotateTercero.height > firmaRotateTercero.width) {\n this.angleHorizontal = true;\n console.log(firmaRotateTercero.height, firmaRotateTercero.width,'firma horizontal');\n }\n\n this.dataFirmaRotate = {\n route: '', // firmaRotate.key,\n routeRotate: '', // routeRotate,\n angle: addAngle\n }\n this.angleRotate = addAngle\n\n if(this.angleHorizontal) {\n this.angleRotate = 0;\n } else {\n this.angleRotate = addAngle;\n }\n\n console.log('rotate firma tercero', this.angleRotate);\n\n this.obtenerFirmaRotadaAndIncrustarlaTercero('',doc,firma)\n\n }\n\n isMassiveStamped(document: any, indexImage: number) {\n const { imagenes, signedStatusDocument } = document;\n return !!signedStatusDocument && indexImage === imagenes.length - 1;\n }\n\n isStamped(indexPage: number): boolean {\n const isLastPage = indexPage === this.items.length - 1;\n return isLastPage && this.isSignedDoc;\n }\n\n checkPaginas : boolean = false\n handleCheck() {\n if(this.esGratis){\n this.modalCambiarmeCuentaPago.open()\n\n }else{\n\n if (this.checkPaginas) {\n this.checkPaginas = false\n this.verNumeroPaginas = false\n\n } else {\n\n this.checkPaginas = true\n if(this.comboPersonalizacionSelect === 'Personalizado'){\n this.verNumeroPaginas = true\n }else{\n this.verNumeroPaginas = false\n }\n }\n\n if (this._masivo) {\n console.log(\"entra a este otro\")\n this.signService.checkStatusList[this.masivoCurrent] = this.checkPaginas;\n }\n this.onCheckTodosPaginas.emit(this.checkPaginas);\n }\n }\n\n checkTimbrado:boolean = false\n handleCheckTimbrado() {\n if (this.checkTimbrado) {\n this.checkTimbrado = false\n this.activateTimbrado = 0\n } else {\n this.checkTimbrado = true\n this.activateTimbrado = 1\n }\n console.log('this.activateTimbrado', this.activateTimbrado)\n this.onCheckActivateTimbrado.emit(this.activateTimbrado);\n }\n\n checkQr:boolean = false\n handleCheckQr() {\n if (this.checkQr) {\n this.checkQr = false\n this.activeQr = 0\n } else {\n this.checkQr = true\n this.activeQr = 1\n }\n console.log('this.activeQr', this.activeQr)\n this.onCheckActiveQr.emit(this.activeQr);\n }\n\n checkPaginasDetalle : boolean = false\n handleCheckDetalle() {\n\n if(this.esGratis){\n\n this.modalCambiarmeCuentaPago.open()\n\n }else{\n\n if (this.checkPaginasDetalle) {\n this.checkPaginasDetalle = false\n this.verNumeroPaginas = false\n } else {\n\n this.checkPaginasDetalle = true\n if(this.comboPersonalizacionSelect === 'Personalizado'){\n this.verNumeroPaginas = true\n\n }else{\n this.verNumeroPaginas = false\n }\n }\n\n if (this._masivo) {\n this.signService.checkStatusList[this.masivoCurrent] = this.checkPaginasDetalle;\n }\n\n this.onCheckTodosPaginas.emit(this.checkPaginasDetalle);\n\n }\n\n }\n\n modalCambiarmeCuentaPagoLoading:boolean\n aceptarCambiarmeCuentaPago(){\n this.modalCambiarmeCuentaPagoLoading = true\n const data:any={\n idCompany:this.authService.obtenerIdEmpresaActiva(),\n user:this.authService.obtenerUsername(),\n subdomain:this.authService.obtenerSubdominio()\n }\n this.serviciosProcesoService.enviarCorreoContactarme(data).subscribe(data => {\n // console.log(\"\"data)\n this.notify.success(\"Se envió la solicitud correctamente.\")\n this.modalCambiarmeCuentaPagoLoading = false\n this.modalCambiarmeCuentaPago.close()\n //this.modalContactarCuentaFreeLoading = false\n }, error => {\n this.notify.error('Ocurrio un error inesperado')\n this.modalCambiarmeCuentaPagoLoading = false\n this.modalCambiarmeCuentaPago.close()\n //this.modalContactarCuentaFreeLoading = false\n })\n\n }\n\n enviar() {\n if (this._masivo) {\n this.setSignMassiveWithChecks();\n this.obtenerPaginasDocumento(this.docActive,this.masivoCurrent) //Manteniendo documento actual al firmar\n }\n console.log('######### ENVIANDO FIRMAS MASIVO')\n console.log(\"this.firmasMasivo::\", this.firmasMasivo)\n console.log(\"this.pdfList::\", this.pdfList)\n console.log(\"this.firmasCompletas::\", this.firmasCompletas)\n this.onconfirm.emit(this._masivo ? this.firmasMasivo : this.firmas);\n }\n\n enviarPorLink(){\n if (this._masivo) {\n this.setSignMassiveWithChecks();\n this.obtenerPaginasDocumento(this.docActive,this.masivoCurrent) //Manteniendo documento actual al firmar\n }\n console.log('######### ENVIANDO FIRMAS MASIVO')\n console.log(\"this.firmasMasivo::\", this.firmasMasivo)\n console.log(\"this.pdfList::\", this.pdfList)\n console.log(\"this.firmasCompletas::\", this.firmasCompletas)\n this.rechazarButtonTerceros = false;\n this.buttonDestinatario= false;\n this.destinatarioSeleccionado = false;\n this.hayFirmasTercero = false;\n this.hayFirmasTerceroCorreo = false;\n this.selectedOption = undefined;\n const data = {\n tipoEnvio:\"link\",\n firmaEmisor:this._masivo ? this.firmasMasivo : this.firmas,\n firmaDestinatario:{\n firmas: this.firmasTercero,\n email:this.destinatario,\n anguloRotacion: this.angleRotate\n },\n firmaMovil:this.firmaMovil\n }\n console.log(\"pintame data data :: \", data)\n this.onconfirmLink.emit(data)\n }\n\n enviarPorCorreo(){\n if (this._masivo) {\n this.setSignMassiveWithChecks();\n this.obtenerPaginasDocumento(this.docActive,this.masivoCurrent) //Manteniendo documento actual al firmar\n }\n this.rechazarButtonTerceros = false;\n this.buttonDestinatario= false;\n this.destinatarioSeleccionado = false;\n this.hayFirmasTercero = false;\n this.hayFirmasTerceroCorreo = false;\n this.selectedOption = undefined;\n const data = {\n tipoEnvio:\"email\",\n firmaEmisor:this._masivo ? this.firmasMasivo : this.firmas,\n firmaDestinatario:{\n firmas: this.firmasTercero,\n email:this.destinatario,\n anguloRotacion: this.angleRotate\n },\n firmaMovil:this.firmaMovil\n }\n console.log(\"POSITON TERCERO RUBRICA \",data)\n this.onconfirmCorreo.emit(data)\n }\n\n /**\n * Set massive signature with checkAllPages property.\n */\n setSignMassiveWithChecks(): void {\n const checkList = this.signService.checkStatusList;\n\n this.firmasMasivo = this.firmasMasivo.map((pdfs: firma[][], index) => {\n return pdfs.map((pdfArr) => {\n return pdfArr.map((pdf) => {\n return {\n ...pdf,\n checkAllPages: checkList[index]\n };\n });\n });\n });\n\n this.firmasMasivoTercero = this.firmasMasivoTercero.map((pdfs: firma[][], index) => {\n return pdfs.map((pdfArr) => {\n return pdfArr.map((pdf) => {\n return {\n ...pdf,\n checkAllPages: checkList[index]\n };\n });\n });\n });\n }\n\n\n area(f:firma) {\n return f.width * f.height;\n }\n\n currentFirma:firma = {}\n onWindowPress(event: MouseEvent, f:firma) {\n this.currentFirma = f\n this.draggingWindow = true;\n this.currentFirma.px = event.clientX;\n this.currentFirma.py = event.clientY;\n }\n\n onTouchstart(event: TouchEvent, f:firma) {\n event.preventDefault();\n const { clientX, clientY } = event.changedTouches.item(0);\n this.currentFirma = f;\n this.draggingWindow = true;\n this.currentFirma.px = clientX;\n this.currentFirma.py = clientY;\n }\n\n onWindowDrag(event: MouseEvent) {\n if (!this.draggingWindow) {\n return;\n }\n let offsetX = event.clientX - this.currentFirma.px;\n let offsetY = event.clientY - this.currentFirma.py;\n\n this.currentFirma.x += offsetX;\n this.currentFirma.y += offsetY;\n this.currentFirma.px = event.clientX;\n this.currentFirma.py = event.clientY;\n }\n\n onTouchmove(event: TouchEvent) {\n event.preventDefault();\n console.log(\"Entras aqui\",event)\n\n this.firmaMovil = true;\n\n if (!this.draggingWindow) {\n return;\n }\n const { clientX, clientY } = event.changedTouches.item(0);\n let offsetX = clientX - this.currentFirma.px;\n let offsetY = clientY - this.currentFirma.py;\n\n this.currentFirma.x += offsetX;\n this.currentFirma.y += offsetY;\n this.currentFirma.px = clientX;\n this.currentFirma.py = clientY;\n }\n\n topLeftResize(offsetX: number, offsetY: number) {\n this.currentFirma.x += offsetX;\n this.currentFirma.y += offsetY;\n this.currentFirma.width -= offsetX;\n this.currentFirma.height -= offsetY;\n }\n\n topLeftCenterResize(offsetX: number, offsetY: number) {\n this.currentFirma.x += offsetX;\n this.currentFirma.width -= offsetX;\n }\n\n topCenterResize(offsetX: number, offsetY: number) {\n this.currentFirma.y += offsetY;\n this.currentFirma.height -= offsetY;\n }\n\n topRightResize(offsetX: number, offsetY: number) {\n this.currentFirma.y += offsetY;\n this.currentFirma.width += offsetX;\n this.currentFirma.height -= offsetY;\n }\n\n topRightCenterResize(offsetX: number, offsetY: number) {\n this.currentFirma.width += offsetX;\n }\n\n bottomLeftResize(offsetX: number, offsetY: number) {\n this.currentFirma.x += offsetX;\n this.currentFirma.width -= offsetX;\n this.currentFirma.height += offsetY;\n }\n\n bottomCenterResize(offsetX: number, offsetY: number) {\n this.currentFirma.height += offsetY;\n }\n\n bottomRightResize(offsetX: number, offsetY: number) {\n this.currentFirma.width += offsetX;\n this.currentFirma.height += offsetY;\n }\n\n onCornerClick(event: MouseEvent, f:firma, resizer?:string) {\n this.currentFirma = f\n this.draggingCorner = true;\n this.currentFirma.px = event.clientX;\n this.currentFirma.py = event.clientY;\n this.currentFirma.resizer = resizer;\n event.preventDefault();\n event.stopPropagation();\n }\n\n onCornerTouchStart(event: TouchEvent, f:firma, resizer?:string) {\n const { clientX, clientY } = event.changedTouches.item(0);\n this.currentFirma = f;\n this.draggingCorner = true;\n this.currentFirma.px = clientX;\n this.currentFirma.py = clientY;\n this.currentFirma.resizer = resizer;\n event.preventDefault();\n event.stopPropagation();\n }\n\n @HostListener('document:touchmove', ['$event'])\n onCornerTouchmove(event: TouchEvent) {\n const { clientX, clientY } = event.changedTouches.item(0);\n\n if (!this.draggingCorner) {\n return;\n }\n\n let offsetX = clientX - this.currentFirma.px;\n let offsetY = clientY - this.currentFirma.py;\n\n let lastX = this.currentFirma.x;\n let lastY = this.currentFirma.y;\n let pWidth = this.currentFirma.width;\n let pHeight = this.currentFirma.height;\n\n this[this.currentFirma.resizer](offsetX, offsetY);\n if (this.area(this.currentFirma) < 2000) {\n this.currentFirma.x = lastX;\n this.currentFirma.y = lastY;\n this.currentFirma.width = pWidth;\n this.currentFirma.height = pHeight;\n }\n this.currentFirma.px = clientX;\n this.currentFirma.py = clientY;\n }\n\n @HostListener('document:mousemove', ['$event'])\n\n onCornerMove(event: MouseEvent) {\n if (!this.draggingCorner) {\n return;\n }\n\n let offsetX = event.clientX - this.currentFirma.px;\n let offsetY = event.clientY - this.currentFirma.py;\n\n let lastX = this.currentFirma.x;\n let lastY = this.currentFirma.y;\n let pWidth = this.currentFirma.width;\n let pHeight = this.currentFirma.height;\n\n this[this.currentFirma.resizer](offsetX, offsetY);\n if (this.area(this.currentFirma) < 2000) {\n this.currentFirma.x = lastX;\n this.currentFirma.y = lastY;\n this.currentFirma.width = pWidth;\n this.currentFirma.height = pHeight;\n }\n this.currentFirma.px = event.clientX;\n this.currentFirma.py = event.clientY;\n }\n\n @HostListener('document:mouseup', ['$event'])\n onCornerRelease(event: MouseEvent) {\n this.draggingWindow = false;\n this.draggingCorner = false;\n }\n\n @HostListener('document:touchend', ['$event'])\n onCornerTouchend() {\n this.draggingWindow = false;\n this.draggingCorner = false;\n }\n\n preview:string\n setPreview(base:string) {\n this.preview = base\n }\n\n title:string\n titleDraw:string\n titleUpload:string\n titleWrite:string\n descriptionDraw:string\n descriptionWrite:string\n descriptionUpload:string\n signWrite:string\n\n description:string\n baseFirma:any\n blob:any\n currentFirmaNueva:any\n\n tab:number\n\n\n tabs(id:number){\n this.tab = id\n console.log('pintame el tabs',this.tab)\n }\n\n changeTabs(e){\n this.tab = e.index + 1\n console.log('pintame el tabs',this.tab)\n }\n\n save() {\n console.log(\"pintame imagen\",this.blob)\n this.pad.getCanvas().toBlob((blob) => {this.blob = blob}, 'image/jpg', 0.95)\n this.baseFirma = this.pad.toDataURL()\n console.log(\"pintame imagen 2\",this.baseFirma)\n }\n\n clear() {\n if (this.tab == 1) {\n this.pad.clear()\n this.blob = null\n this.baseFirma = false\n console.log('pintame el tabs',this.tab)\n }else if (this.tab == 2) {\n this.signWrite = null\n console.log('pintame el tabs',this.tab)\n }else if (this.tab == 3) {\n this.preview = null\n this.blob = null\n console.log('pintame el tabs',this.tab)\n }\n }\n\n cargarLoadingFirma:boolean\n async cargarFirma() {\n this.agregarLoader = true;\n console.log(\"entras aquiiii y pintame el tab\", this.tab)\n\n this.cargarLoadingFirma = true;\n const timestamp:number = new Date().getTime();\n const key:string = `${this.authService.obtenerRucEmpresaActiva()}/usuarios/${this.authService.obtenerDocumento()}/firmas_holografas/${timestamp}.jpg`;\n const ruta:string = `public/${key}`;\n\n switch (this.tab) {\n case 1:\n console.log('Dibujar')\n if ((this.titleDraw == undefined || this.titleDraw == '' || this.titleDraw == null) || (this.blob == null)){\n this.notify.info('Por favor completar los datos requeridos.')\n this.agregarLoader = false;\n return;\n }\n this.title = this.titleDraw;\n this.description = this.descriptionDraw;\n break;\n\n case 2:\n console.log('Escribir')\n if (this.titleWrite == undefined || this.titleWrite == '' || this.titleWrite == null){\n this.notify.info('Por favor completar los datos requeridos.')\n this.agregarLoader = false;\n return;\n }\n this.title = this.titleWrite\n this.description = this.descriptionWrite\n break;\n\n case 3:\n console.log('Cargar')\n console.log('this.preview',this.preview)\n if ((this.titleUpload == undefined || this.titleUpload == '' || this.titleUpload == null) || (this.preview == null || this.preview == undefined)){\n this.notify.info('Por favor completar los datos requeridos.')\n this.agregarLoader = false;\n return;\n }\n this.title = this.titleUpload\n this.description = this.descriptionUpload\n break;\n }\n\n console.log('this.blob',this.blob)\n if(this.tab != 2){\n if (this.blob.size > 50000){\n this.notify.info('Por favor ingrese otra imagen de menor peso. Verificar la indicaciones dadas.')\n this.cargarLoadingFirma = false\n return\n }\n\n try {\n await Storage.put(key, this.blob)\n } catch (error) {\n console.log(error)\n this.notify.error('Hubo un problema al cargar la imagen')\n }\n }\n\n this.signWrite = this.tab !=2 ? null : this.signWrite\n\n const firma:FirmaHolografica = {\n title: this.title,\n description: this.description,\n route: ruta,\n user: this.authService.obtenerUsername(),\n idCompany: this.authService.obtenerIdEmpresaActiva(),\n signatureType:this.tab,\n textoFirma: this.signWrite //Añadido para convertir texto en imagen\n }\n\n this.firmaHolograficaService.crearFirma(firma).subscribe(data => {\n this.listarFirmasHolograficas()\n this.verUbicarFirma = false\n }, error => {\n this.cargarLoadingFirma = false\n this.notify.error('Hubo un problema al crear su firma')\n })\n }\n\n validarCargarFirma():boolean{\n if(this.tab == 1 && this.blob != undefined && this.titleDraw != undefined && this.blob != null\n && this.titleDraw != null && this.titleDraw != ''){\n return true;\n }else if(this.tab == 2 && this.signWrite != undefined && this.titleWrite != undefined\n && this.signWrite != null && this.titleWrite != null && this.titleWrite != ''){\n return true;\n }else if(this.tab == 3 && this.preview != undefined && this.titleUpload != undefined\n && this.preview != null && this.titleUpload != null && this.titleUpload != ''){\n return true;\n }else{\n return false;\n }\n }\n\n reset() {\n this.preview = null\n this.blob = null\n this.baseFirma = null\n this.cargarLoadingFirma = false\n this.title = null\n this.description = null\n this.currentFirmaNueva = null\n\n this.titleDraw = null\n this.titleWrite = null\n this.titleUpload = null\n\n this.descriptionDraw = null\n this.descriptionWrite = null\n this.descriptionUpload = null\n\n this.signWrite = null\n this.numberPage = 0\n this.pageActive = 1\n this.pad.clear()\n }\n\n documentListShown:boolean = false\n\n navegarMasivo(action:string) {\n\n if (action === 'prev') {\n if (this.masivoCurrent > 0) {\n if (!this.firmasMasivo[this.masivoCurrent - 1]) this.firmasMasivo[this.masivoCurrent - 1] = [[]]\n this.masivoCurrent--;\n }\n\n } else {\n if (this.masivoCurrent < this.pdfList.length - 1) {\n if (!this.firmasMasivo[this.masivoCurrent + 1]) this.firmasMasivo[this.masivoCurrent + 1] = [[]]\n this.masivoCurrent++;\n }\n }\n this.tabGroup.selectedIndex = this.masivoCurrent\n this.checkPaginas = this.signService.checkStatusList[this.masivoCurrent];\n this.hayFirmas = this.signService.signStatusList[this.masivoCurrent];\n this.obtenerPaginasDocumento(this.pdfList[this.masivoCurrent],this.masivoCurrent)\n }\n\n\n restart() {\n setTimeout(() => {\n this.accept = false\n this.hayFirmas = false\n this.firmas = []\n this.firmasMasivo = [[]]\n this.masivoCurrent = 0\n }, 800)\n this.reset()\n }\n\n scaleZoom = 1\n zoomPorcentaje = 100\n zoomPlus(){\n if (this.zoomPorcentaje >= 200)\n return;\n //console.log('EVENTO ZOOM PLUS ')\n this.scaleZoom += 0.1;\n this.zoomPorcentaje += 10;\n let zoom = document.getElementById(\"document-container-signature\");\n zoom.style.transform = \"scale(\" + this.scaleZoom + \")\";\n zoom.style.transformOrigin = \"top\"\n }\n\n zoomMinus(){\n if (this.zoomPorcentaje == 10)\n return;\n //console.log('EVENTO ZOOM Minus ')\n this.scaleZoom -= 0.1;\n this.zoomPorcentaje -= 10;\n let zoom = document.getElementById(\"document-container-signature\");\n zoom.style.transform = \"scale(\" + this.scaleZoom + \")\";\n zoom.style.transformOrigin = \"top\"\n }\n\n docActive:any\n obtenerPaginasDocumento(doc:any,index:number){\n console.log(\"CLICK\",doc)\n if (this.pdfList.length > 1) {\n if(doc.signed == true){\n this.verUbicarFirma = true;\n } else {\n this.verUbicarFirma = false;\n }\n }\n this.loadingScroll = true;\n this.items = []\n this.documentListShown = false; //ocultando select\n this.tabGroup.selectedIndex = index;\n this.masivoCurrent = index;\n this.docActive = doc //Documento para mantener activo al firmar\n\n this.checkPaginas = this.signService.checkStatusList[index];\n this.hayFirmas = this.signService.signStatusList[index];\n\n this.numberPage = 0\n this.pageActive = 1\n //this.autoAjustarPage()\n\n this.scaleZoom = 1\n this.zoomPorcentaje = 100\n let zoom = document.getElementById(\"document-container-signature\");\n zoom.style.transform = \"scale(\" + this.scaleZoom + \")\";\n\n this.loadingScroll = false;\n this.loadingScrollThumb = false;\n\n if(this._masivo){\n this.cantidadPaginas = this.pdfList[index].cantidadPaginas;\n this.nombreDocumento = this.pdfList[index].nombreDocumento;\n if(this.pdfList[index].imagenes == undefined){\n console.log(\"ENTRO AQUI\")\n const bodyPages:any = {\n idProcess: doc.idProcess,\n filePath: doc.filePath,\n idDocumentSigningProcess: doc.id,\n idCompany: this.authService.obtenerIdEmpresaActiva(),\n count_page: 0\n }\n\n this.loadingScroll = true;\n this.loadingScrollThumb = true;\n\n this.serviciosProcesoService.convertirPDFImagePagination(bodyPages).subscribe((data) => {\n this.cantidadPaginas = data['cantidadPaginas'];\n this.nombreDocumento = data['nombreDocumento'];\n this.pdfList[index].imagenes = data['paginas'];\n this.pdfList[index].cantidadPaginas = data['cantidadPaginas'];\n this.pdfList[index].nombreDocumento = data['nombreDocumento'];\n this.firmasMasivo[index] = []\n this.firmasMasivoTercero[index] = []\n\n this.loadingScroll = false;\n this.loadingScrollThumb = false;\n }, error => {\n console.log(error)\n })\n }else{\n this.loadingScroll = false;\n }\n }else{\n this.getImages(0)\n this.loadingScroll = false;\n }\n }\n\n pageNext(){\n if(this.scaleZoom != 1){\n this.scaleZoom = 1\n this.zoomPorcentaje = 100\n let zoom = document.getElementById(\"document-container-signature\");\n zoom.style.transform = \"scale(1)\";\n }\n var cantPaginas = this.masivo ? this.pdfList[this.masivoCurrent].cantidadPaginas : this.cantidadPaginas\n if(this.numberPage < (cantPaginas - 1)){\n this.numberPage += 1\n this.pageActive += 1\n this.autoAjustarPageMasivo()\n }\n }\n\n pagePrev(){\n if(this.scaleZoom != 1){\n this.scaleZoom = 1\n this.zoomPorcentaje = 100\n let zoom = document.getElementById(\"document-container-signature\");\n zoom.style.transform = \"scale(1)\";\n }\n\n if(this.numberPage >0){\n this.numberPage -= 1\n this.pageActive -= 1\n this.autoAjustarPageMasivo()\n }\n }\n\n autoAjustarPageMasivo(page:number = null){\n //Actualizando pagina al seleccionar view\n if (page != null){\n this.numberPage = page\n this.pageActive = page + 1\n }\n var arrDocument = null\n var arrDocumentPreview = null\n var view = null\n var viewMin = null\n var addScroll = 0\n var addScrollMin = 0\n var toptip = null\n var titulos = null\n\n //console.log('es masivo:', this._masivo)\n if(this._masivo){\n arrDocument = document.getElementsByClassName('documentList')\n arrDocumentPreview = document.getElementsByClassName('document-masivo-preview')\n\n view = document.getElementsByClassName('viewer-masivo-document')[0]\n viewMin = document.getElementsByClassName('viewer-masivo-min')[0]\n\n titulos = document.getElementsByClassName('titulos-document-masivo')[0]\n\n }else{\n arrDocument = document.getElementsByClassName('documentList')\n arrDocumentPreview = document.getElementsByClassName('document-nomasivo-preview')\n\n view = document.getElementsByClassName('viewer-document')[0]\n viewMin = document.getElementsByClassName('viewer-min')[0]\n\n titulos = document.getElementsByClassName('titulos-document-no-masivo')[0]\n }\n\n\n for(var i = 0 ; i < this.numberPage; i++){\n var add = i == 0 ? arrDocument[i].clientHeight + titulos.clientHeight : arrDocument[i].clientHeight //Añadiendo tamaño por pagina + titulos\n addScroll += add //Añadiendo tamaño por pagina\n addScrollMin += arrDocumentPreview[i].clientHeight //Añadiendo tamaño por preview\n }\n\n view.scrollTop = addScroll; //Recorriendo Scroll documentos\n viewMin.scrollTop = addScrollMin; //Recorriendo Scroll preview\n }\n\n async getMasiveImagens(){\n if (this.pdfList[0]!=undefined){\n this.scrollHeight = await this.obtnerImagenKey(this.pdfList[0].imagenes[this.numberPage])\n console.log('this.scrollHeight::',this.scrollHeight)\n }else{\n this.scrollHeight = await this.obtnerImagenKey(this.items[this.numberPage])\n console.log('this.scrollHeight::',this.scrollHeight)\n }\n }\n\n detener:boolean = true\n isShow:boolean = false\n scrollHeight: number = 0\n flagScrollY:number = 0\n\n currentPosition: any;\n startPosition: number;\n showButton:any\n\n async onContainerScroll(e){\n const scrollY = (e.target as Element).scrollTop\n this.flagScrollY = scrollY\n let cantPaginasScroll = this._masivo ? this.pdfList[this.masivoCurrent].cantidadPaginas : this.cantidadPaginas\n let numbPage = this._masivo ? this.pdfList[this.masivoCurrent].imagenes[this.numberPage] : this.items[this.numberPage]\n //console.log(\"onContainerScroll\",scrollY,\"=>\",this.scrollHeight, \"=>\",this.numberPage, Math.round((scrollY * 100)/this.scrollHeight ) )\n if (scrollY > this.currentPosition) {\n this.showButton = false;\n if (this.detener) {\n if (Math.round((scrollY * 100)/this.scrollHeight) >= 100 && Math.round((scrollY * 100)/this.scrollHeight) <= 120 ) {\n if (cantPaginasScroll > this.numberPage) {\n if(numbPage!= undefined){\n this.detener = false\n const scrollHeight2 = this._masivo ? await this.obtnerImagenKey(this.pdfList[this.masivoCurrent].imagenes[this.numberPage]) : await this.obtnerImagenKey(this.items[this.numberPage])\n this.scrollHeight = this.scrollHeight + scrollHeight2\n this.detener = true\n this.numberPage += 1\n this.pageActive += 1\n }\n }\n }\n }\n } else {\n this.showButton = true;\n if(this.detener && this.numberPage!=0){\n //console.log(\"x\")\n if (Math.round((scrollY * 100)/this.scrollHeight) >= 60 && Math.round((scrollY * 100)/this.scrollHeight) <= 85) {\n //console.log(\"x\",Math.round((scrollY * 100)/this.scrollHeight))\n if (cantPaginasScroll > this.numberPage) {\n if(numbPage!= undefined){\n this.detener = false\n const scrollHeight2 = this._masivo ? await this.obtnerImagenKey(this.pdfList[this.masivoCurrent].imagenes[this.numberPage]) : await this.obtnerImagenKey(this.items[this.numberPage])\n this.scrollHeight = this.scrollHeight - scrollHeight2\n this.detener = true\n this.numberPage -= 1\n this.pageActive -= 1\n\n }\n }\n }\n }\n }\n this.currentPosition = scrollY;\n //console.log(\"showButton\", this.showButton, this.currentPosition)\n }\n\n async obtnerImagenKey(key){\n //console.log(\"obtnerImagenKey\",key)\n const src = await Storage.get(key, {customPrefix: {public: ''}})\n //console.log(\"obtnerImagenKey src\",src)\n return this.loadImgAsync(src)\n }\n\n loadImgAsync(imgSrc) {\n return new Promise((resolve, reject) => {\n let img = new Image();\n img.onload = () => {\n resolve(img.naturalHeight);\n };\n img.onerror = reject;\n img.src = imgSrc;\n })\n }\n\n anadirDestinatario(){\n this.onconfirmWizard.emit(true)\n }\n\n removeDestinatariosSelect(){\n this.removeTerceroCorreoMasivo(0,0) //Solución temporal le pasamos parametros en duro\n this.mensaje = \"Terminar documento\"\n console.log(\"####################\")\n console.log(this.listReceptions)\n\n if(this.destinatario == undefined && this.listReceptions.length > 0){\n this.destinatario = this.listReceptions[0].email\n }\n console.log(\"this.destinatario::\", this.destinatario)\n\n const indexOfObject = this.listReceptions.findIndex((obj: any) => {\n return obj.email === this.destinatario;\n })\n console.log(\"indexOfObject::\", indexOfObject)\n if (indexOfObject !== -1) {\n this.listReceptions.splice(indexOfObject,1);\n }\n console.log(\"this.listReceptions::\", this.listReceptions)\n this.continueDestinatario = false\n\n console.log(\"this.continueDestinatario::\", this.continueDestinatario)\n //aditional\n this.buttonDestinatario=false\n }\n}\n","
\n \n
\n\n
\n \n
\n\n \n
\n
\n \n Documentos\n
\n \n {{pdfList[masivoCurrent].documentName}}\n \n \n
\n
\n\n
\n\n
\n Documentos {{mensajeDocumentos}}\n {{documentosFirmados}} / {{pdfList.length}} \n
\n\n \n \n\n \n \n\n
\n
    \n
  • \n
    \n
    {{doc.documentName}}
    \n
  • \n
\n
\n
\n
\n\n
\n
\n \n Documentos\n
\n \n {{pdfList[masivoCurrent].documentName}}\n \n \n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n Documentos {{mensajeDocumentos}}\n {{masivoCurrent+1}} / {{pdfList.length}} \n
\n \n \n\n
\n \n\n
\n \n
\n\n \n \n
\n
\n
\n
\n
\n\n
\n
    \n
  • \n
    \n
    \n
    \n {{doc.documentName}}
    \n
    \n
  • \n
\n
\n
\n
\n\n
\n \n \n \n \n
\n
\n
\n
\n
{{doc.documentName}}
\n
\n
\n
\n
\n\n \n
\n \n \n \n
\n
\n
\n
{{cantidadPaginas}}
\n
{{cantidadPaginas}}
\n
\n
\n
{{cantidadPaginas}}
\n
{{cantidadPaginas}}
\n
\n
\n
\n \n
\n
\n
\n
\n \n
{{j + 1}}
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n \n \n \n \n
\n

4. Ubícala donde quieras.

\n
\n
4/5
\n
\n \n \n
\n
\n
\n
\n\n \n
\n

5. Gracias por firmar el documento.

\n
\n
5/5
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n
\n\n
\n \n\n
\n
\n
\n
\n
\n

{{nombreDocumento}}

\n
\n

{{cantidadPaginas}} Página(s)

\n
\n
\n
\n
\n \n
\n 0 && !verUbicarFirma\" class=\"s3-image-bloqueo\" [key]=\"img\" (click)=\"verBloqueoFirma();addFirma($event, i, j);\">\n \n\n \n
\n

3. Tendrás que hacer clic en la pantalla para poder posicionar tu firma.

\n
\n
3/5
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n\n
0 && !verUbicarFirma\" class=\"instructions-onboarding-full\">\n
\n \n
\n
\n\n
\n\n \n\n \n\n
\n 3_ {{nameUserEmisor}}\n
\n\n
\n \n
\n \n
\n \n
\n
\n \n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n \n
\n
\n\n
\n\n \n\n \n\n
\n 4_ {{nameUserEmisor}}\n
\n\n
\n \n
\n\n \n
\n \n
\n
\n \n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n \n Página {{pageActive}} de {{cantidadPaginas}} \n \n
\n \n
\n \n {{zoomPorcentaje}}% \n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n\n
\n\n
\n

Configuración de Firmas

\n
\n\n
\n \n
\n

No hay firmas registradas

\n

Haga click en el menú para dibujar o cargar una nueva firma holográfica

\n
\n
\n\n \n \n \n\n \n
\n

1. Dirígete al panel donde están guardadas tus firmas

\n
\n
1/5
\n
\n \n \n
\n
\n
\n
\n\n \n
\n

2. Selecciona tu firma.

\n
\n
2/5
\n
\n \n \n
\n
\n
\n
\n\n 0 && !selectFirma\">\n \n \n\n \n 0 && selectFirma\">\n \n \n\n
\n 0\">\n \n \n
\n\n 0\">\n\n 0\" [key]=\"firmaSeleccionada\" class=\"s3-image-firma\">\n\n \n\n

\n \n

\n

\n {{mensajeCheck}} todas las hojas\n \n

\n\n
\n

\n En caso no tenga firma:\n

\n\n
\n \n
\n\n

\n Selecciona al destinatario:\n

\n\n
\n \n \n
\n\n
\n \n
\n\n
\n
\n
\n\n
\n
\n\n
\n

Configuración de Firmas

\n
\n\n
\n \n
\n

No hay firmas registradas

\n

Haga click en el menú para dibujar o cargar una nueva firma holográfica

\n
\n
\n\n \n \n \n\n \n
\n

1. Dirígete al panel donde están guardadas tus firmas

\n
\n
1/5
\n
\n \n \n
\n
\n
\n
\n\n \n
\n

2. Selecciona tu firma.

\n
\n
2/5
\n
\n \n \n
\n
\n
\n
\n\n 0 && !selectFirma\">\n \n \n\n \n 0 && selectFirma\">\n \n \n\n
\n 0\">\n \n \n
\n\n 0\">\n\n 0\" [key]=\"firmaSeleccionada\" class=\"s3-image-firma\">\n\n \n\n

\n \n

\n

\n {{mensajeCheck}} todas las hojas\n \n

\n\n
\n

\n En caso no tenga firma:\n

\n\n
\n \n
\n\n

\n Selecciona al destinatario:\n

\n\n
\n \n \n
\n\n
\n \n
\n\n
\n
\n
\n\n
\n\n \n
\n
\n
\n \n \n Documentos\n
\n \n {{nombreDocumento}}\n \n \n
\n
\n
\n
    \n
  • \n
    \n
    {{nombreDocumento}}
    \n \n
  • \n
\n
\n
\n\n
\n \n Documentos {{mensajeDocumentos}}\n 0 / 1\n 1 / 1\n
\n\n
\n \n \n
\n\n
\n \n\n
\n \n
\n\n \n \n\n \n
\n
\n
\n\n
\n
\n
\n \n \n
\n \n {{nombreDocumento}}\n \n \n
\n
\n
\n
    \n
  • \n
    \n
    {{nombreDocumento}}
    \n \n
  • \n
\n
\n\n
\n \n\n \n\n
\n \n
\n\n \n \n\n \n
\n
\n
\n
\n\n
\n \n \n \n \n
\n
\n
\n
\n
{{nombreDocumento}}
\n
\n
\n
\n
\n
\n\n \n
\n
\n
\n
{{cantidadPaginas}}
\n
{{cantidadPaginas}}
\n
\n
\n
{{cantidadPaginas}}
\n
{{cantidadPaginas}}
\n
\n
\n
\n \n
\n
\n
\n
\n \n
{{i + 1}}
\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n\n \n \n
\n

4. Ubícala donde quieras.

\n
\n
4/5
\n
\n \n \n
\n
\n
\n
\n\n \n
\n

5. Gracias por firmar el documento.

\n
\n
5/5
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n
\n\n
\n \n\n
\n
\n
\n
\n
\n

{{nombreDocumento}}

\n
\n

{{cantidadPaginas}} Página(s)

\n
\n
\n
\n
\n \n
\n \n \n 0 && !verUbicarFirma\" class=\"s3-image-bloqueo\" [key]=\"img\" (click)=\"verBloqueoFirma();addFirma($event, i);this.verFirmaIndividual = true;\">\n \n\n \n
\n

3. Tendrás que hacer clic en la pantalla para poder posicionar tu firma.

\n
\n
3/5
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n\n
\n
\n \n\n
\n
\n\n
\n\n \n\n
Colocar rúbrica
\n\n \n\n\n
\n 1_ {{nameUserEmisor}} \n
\n\n
\n \n
\n \n
\n \n
\n
\n \n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n\n
\n\n \n\n
Colocar rúbrica
\n\n \n\n
\n 11_ {{nameUserReception}} \n
\n\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n\n
\n\n \n\n
Colocar rúbrica
\n\n \n\n
\n 22_ {{nameUserRecption}}\n
\n\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n \n
\n
\n\n
\n\n \n\n \n\n
\n 2_ {{nameUserEmisor}}\n
\n\n
\n \n
\n\n \n
\n \n
\n
\n \n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n\n
\n\n \n\n \n\n
\n 33_ {{nameUserReception}}\n
\n\n
\n \n
\n\n
\n \n
\n
\n \n
\n
\n \n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n \n Página {{pageActive}} de {{cantidadPaginas}} \n \n
\n \n
\n \n {{zoomPorcentaje}}% \n
\n
\n\n
\n\n
\n
\n
\n\n
\n\n
\n
\n
\n
\n\n
\n

Configuración de Firmas

\n
\n\n
\n \n
\n

Aún no tienes ninguna firma cargada, haz click en el botón \"Cargar nueva firma\"

\n
\n
\n\n \n \n \n\n \n
\n

1. Dirígete al panel donde están guardadas tus firmas

\n
\n
1/5
\n
\n \n \n
\n
\n
\n
\n\n \n
\n

2. Selecciona tu firma.

\n
\n
2/5
\n
\n \n \n
\n
\n
\n
\n\n \n 0 && !selectFirma\">\n \n \n\n \n 0 && selectFirma\">\n \n \n\n
\n 0\">\n \n \n
\n
\n \n \n \n\n\n 0\">\n\n 0\" [class.disabled]=\"omitirFirma\" [key]=\"firmaSeleccionada\" class=\"s3-image-firma\">\n\n \n\n 0\">\n\n \n\n \n\n

\n

\n\n
\n \n {{mensajeCheck}} todas las hojas\n
\n\n
\n \n Activar Timbrado\n
\n\n
\n \n Activar QR\n
\n\n
\n

\n En caso no tenga firma:\n

\n\n \n
\n \n\n
\n
\n
\n
\n Recuerda que no tienes firmas cargadas. Haz clic en el botón “Cargar nueva firma”\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n\n\n

\n Selecciona al destinatario:\n

\n\n
\n \n \n
\n\n
0\" class=\"dropdownTooltipDestinatario d-flex\" [class.close]=\"!tooltipDropDestinatario\">\n
\n
\n
\n Haz click aquí para seleccionar a tu destinatario o presiona el botón “Añadir destinatario” si deseas añadir uno.\n
\n
\n \n
\n
\n
\n
\n\n
\n \n\n \n\n \n
\n
\n\n
\n
\n
\n
\n
\n\n
\n
\n\n
\n\n
\n\n
\n\n
\n
\n\n \n
\n\n\n \n

¡¡ Felicitaciones !!

\n

Haz completado el tutorial exitosamente

\n
\n\n\n

Indicaciones:

\n

- Tamaño:273 x 185\n - Peso: 50KB\n - Formato: PNG, JPG

\n\n
\n \n
\n\n
\n \n \n
\n\n \n\n \n\n
\n\n\n\n \n \n
\n \n \n
\n\n \n\n \n
\n\n \n
\n \n \n
\n\n \n\n \n\n
\n\n \n
\n \n
\n\n
\n \n \n
\n\n \n \n
\n
\n
\n \n \n \n
\n
\n\n\n Sólo disponible para Versión premium. Quiero que me contacten\n
\n \n
\n\n
\n\n\n
\n

¿Deseas cerrar el documento actual?

\n

Tomar en cuenta que al cerrar el documento actual, no habrá forma de recuperarlo

\n
\n \n \n
\n
\n
\n\n\n
\n

¿Deseas cerrar el documento actual?

\n

Tomar en cuenta que al cerrar el documento actual, no habrá forma de recuperarlo

\n
\n \n \n
\n
\n
\n","import { Injectable } from \"@angular/core\";\n\n@Injectable()\nexport class FirmarPdfService {\n /**\n * To save the checkboxes status, only for massive signature\n */\n checkStatusList: boolean[];\n /**\n * To save the signatures status, only for massive signature\n */\n signStatusList: boolean[];\n\n /**\n * Build the initial checkboxes status.\n */\n buildCheckboxesStatus(length: number): void {\n this.checkStatusList = Array.from({ length }, () => false);\n }\n\n /**\n * Build the initial signatures status.\n */\n buildSignaturesStatus(length: number): void {\n this.signStatusList = Array.from({ length }, () => false);\n }\n}","import { Component, OnInit, ViewChild, Input, Output, ElementRef, EventEmitter } from '@angular/core';\nimport { NotificationsService } from '../../services/notifications.service';\n\ntype format = 'img' | 'pdf' | 'excel' | 'zip' | 'word';\n@Component({\n selector: 'app-dropzone-avatar',\n templateUrl: './dropzone-avatar.component.html',\n styleUrls: ['./dropzone-avatar.component.scss'],\n host: { class: 'app-dropzone-avatar' }\n})\nexport class DropzoneAvatarComponent implements OnInit {\n\n @ViewChild('fileInput') input:ElementRef\n @ViewChild('fileInputMulti') inputMulti:ElementRef\n\n @Input('placeholder') placeholder:string = 'Arrastra o carga tu imagen seleccionada'\n @Input('preview') preview:boolean = true\n @Input('formats') formats: format[] = ['img']\n @Input('multi') multi:boolean\n @Input('less-padding') lessPadding:boolean\n @Input('esFacial') esFacial:boolean = false\n @Input('esPersonalizacion') esPersonalizacion:boolean = false\n\n\n @Output()\n onconvert: EventEmitter = new EventEmitter()\n @Output()\n ondrop: EventEmitter = new EventEmitter()\n\n constructor( public notify: NotificationsService) { }\n\n ngOnInit(): void {\n }\n\n handleClick() {\n this.multi ? this.inputMulti.nativeElement.click() : this.input.nativeElement.click()\n }\n\n allowDrop(e) {\n e.stopPropagation();\n e.preventDefault();\n }\n\n drop(e) {\n e.preventDefault();\n let files = e.dataTransfer.files\n this.validate(files)\n }\n\n change(e) {\n let files = e.target.files\n this.validate(files)\n }\n \n validate(files:File[]) {\n \n let valid:boolean = false\n let counter:number = 0\n\n while (!valid && counter < files.length) {\n\n switch (files[counter].type) {\n case 'image/jpeg': case 'image/png':\n if (this.formats.includes('img') && files[counter].size <= 262150 && !this.esFacial){\n valid = true\n }else if(this.formats.includes('img') && this.esFacial && files[counter].size <= 1048576){\n valid = true\n }else if(this.formats.includes('img') && this.esPersonalizacion && files[counter].size <= 1048576){\n valid = true\n } \n\n break\n \n case 'application/pdf':\n if (this.formats.includes('pdf')) valid = true\n break\n\n case 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet':\n case 'application/vnd.ms-excel':\n valid = this.formats.includes('excel');\n break;\n case 'application/vnd.openxmlformats-officedocument.wordprocessingml.document':\n valid = this.formats.includes('word');\n break;\n case 'application/zip': case 'application/x-zip-compressed':\n if (this.formats.includes('zip')) valid = true\n break\n }\n counter ++\n }\n\n if (valid) {\n\n this.ondrop.emit(this.multi ? files : files[0])\n if (this.preview) this.getBase(files[0])\n } else {\n this.notify.info(\"No se puede cargar este archivo. validar nuevamente.\")\n }\n\n }\n\n conversionLoading:boolean\n base:any\n getBase(img:any) {\n\n this.conversionLoading = true\n const reader = new FileReader\n reader.onload = e => {\n this.base = e.target.result\n this.conversionLoading = false\n this.onconvert.emit(this.base)\n }\n reader.readAsDataURL(img)\n \n }\n\n displaySize(size) {\n if (size < 1048576) {\n return (size / 1024).toFixed(2) + ' KB';\n } else {\n return (size / 1048576).toFixed(2) + ' MB';\n }\n }\n\n}\n","\n\n\n
\n
\n\n
\n \n {{placeholder}}
\n Formatos soportados: jpg, png (2 MB)
\n (Tamaño: 273 x 185)\n
\n\n
\n\n \n\n
","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\nimport { environment } from 'src/environments/environment';\n\nimport { Observable } from 'rxjs';\n\ntype RequestBody = {\n method: string\n data?: any,\n id?: string,\n idCompany?: string,\n subdomain?:string\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EmpresaService {\n\n private urlEmpresa:string = `${environment.apiCore}/company/`;\n\n constructor( private http: HttpClient ) { }\n\n obtenerEmpresaActiva(id:string):Observable {\n const body: RequestBody = { method: 'LIST', id:id }\n return this.http.post(this.urlEmpresa, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n informacionEmpresa(id:string):Observable {\n const body: RequestBody = { method:\"GET-FLAG-COMPANY\", id:id}\n return this.http.post(this.urlEmpresa ,body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n\n informacionEmpresaFree(domain:string) {\n const body: RequestBody = { method:\"GET-COMPANYS\", subdomain:domain}\n return this.http.post(this.urlEmpresa ,body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n\n}\n","import { Injectable } from \"@angular/core\";\n\nimport { Subject } from \"rxjs\";\n\nimport { MenuDropdownDirective } from \"./menu-dropdown.directive\";\n\n@Injectable({ providedIn: 'root' })\nexport class MenuExpandedService {\n expanded$: Subject = new Subject();\n}","import { Component, OnInit, ViewChild, Output, Input, EventEmitter } from '@angular/core';\n\nimport { takeUntil } from 'rxjs/operators';\nimport { WebcamComponent, WebcamImage } from 'ngx-webcam';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { NotificationsService } from 'src/app/services/notifications.service';\nimport { ServiciosProcesoService } from 'src/app/services/servicios-proceso.service';\nimport { DropzoneComponent } from '../dropzone/dropzone.component';\nimport { ChallengeService } from 'src/app/services/api/challenge.service';\nimport { ChallengeDetails } from 'src/app/models/Challenge.model';\nimport { BaseUnsubscribe } from 'src/app/util/base-unsubscribe';\nimport { ModalComponent } from 'src/app/shared/modal/modal.component';\n\ntype box = {\n name:'documento' | 'rostro' | 'selfie',\n view?:'carga' | 'captura' | 'captura-selfie',\n img?:string,\n source?:string\n}\n\n@Component({\n selector: 'app-firma-facial',\n templateUrl: './firma-facial.component.html',\n styleUrls: ['./firma-facial.component.scss']\n})\nexport class FirmaFacialComponent extends BaseUnsubscribe implements OnInit {\n\n @ViewChild('drop') drop:DropzoneComponent\n @ViewChild('webcam') webcam:WebcamComponent\n\n @Output()\n onchange: EventEmitter = new EventEmitter()\n @Output()\n maxintentos: EventEmitter = new EventEmitter()\n\n @Input() childMessage: any;\n\n @ViewChild('modalIntentos') modalIntentos:ModalComponent\n\n checkPaginas:boolean = true;\n showFaceAreaBox: boolean = false;\n showDocAreaBox: boolean = false;\n resChallengeDetail = null;\n isLoading: boolean = false;\n\n constructor(\n public notify: NotificationsService,\n public serviciosProcesoService: ServiciosProcesoService,\n private challengeService: ChallengeService\n ) {\n super();\n }\n\n ngOnInit(): void {\n console.log(this.boxes)\n }\n\n boxes:box[] = [\n { name: 'documento' },\n { name: 'rostro' }\n ]\n\n startChallenge(){\n this.challengeService.startChallenge({\n userId: uuidv4(),\n imageWidth: 390,\n imageHeight: 290\n })\n .pipe(takeUntil(this.destroy$))\n .subscribe((response: ChallengeDetails) => {\n this.isLoading = false;\n this.resChallengeDetail = response;\n console.log(\"resChallengeDetail\",this.resChallengeDetail)\n }, (error) => {\n this.isLoading = false;\n console.log('error', error);\n });\n }\n\n intento:number\n textIntentos:string\n numeroIntentos(box){\n console.log(this.childMessage)\n const data = this.childMessage\n this.serviciosProcesoService.itentosDesafioVida(data).subscribe(data => {\n console.log(\"itentosDesafioVida\",data,data['attemp'])\n this.intento = data['attemp']\n //this.notify.success(\"Se envió la solicitud correctamente.\")\n /*if (this.childMessage['esFirmaMasiva']){\n this.startChallenge()\n console.log(1)\n return false\n }*/\n\n if (this.intento <= 5){\n //if (!this.childMessage['esFirmaMasiva']) this.notify.info(\"Intento número: \"+this.intento)\n this.notify.info(\"Intento número: \"+this.intento)\n this.startChallenge()\n }else{\n console.log(\"es masivo \"+this.childMessage['esFirmaMasiva'])\n if (!this.childMessage['esFirmaMasiva']) this.textIntentos = \"la firma\"\n if (this.childMessage['esFirmaMasiva']) this.textIntentos = \"firmar en bloque\"\n this.modalIntentos.open()\n this.isLoading = false;\n delete box.view\n console.log(3)\n }\n }, error => {\n console.log('error', error);\n this.notify.error(\"Al parecer ocurrio un problema a retornar el numero de intento\")\n })\n }\n\n closeModalIntentos(){\n this.modalIntentos.close()\n this.maxintentos.emit(false)\n }\n\n confirmarCodigoSeguridad(){\n this.modalIntentos.close()\n this.maxintentos.emit(true)\n }\n\n seleccionar(vista: 'carga' | 'captura' | 'captura-selfie', box: box): void {\n console.log(vista,box)\n box.view = vista;\n this.isLoading = true;\n this.resChallengeDetail = null;\n if (vista=='captura' && box.name == 'rostro'){\n this.numeroIntentos(box)\n } \n }\n\n verifyResponse(event,box:box){\n console.log('verifyResponse',event,this.resChallengeDetail)\n if (event){\n const challangeId = this.resChallengeDetail.id\n console.log(challangeId)\n \n setTimeout(() => {\n box.name = 'selfie'\n this.seleccionar('captura-selfie', box)\n }, 1000)\n \n }\n this.onchange.emit(this.boxes)\n }\n\n cargarFoto(event:string, box:box) {\n box.img = event\n this.onchange.emit(this.boxes)\n }\n\n tomarFoto(event:WebcamImage, box:box) {\n box.img = event.imageAsDataUrl\n this.onchange.emit(this.boxes)\n }\n\n tomarSelfie(event:WebcamImage, box:box) {\n box.img = event.imageAsDataUrl\n this.onchange.emit(this.boxes)\n }\n\n removerFoto(box) {\n delete box.img\n this.onchange.emit(this.boxes)\n }\n\n restart(box:box) {\n setTimeout(() => {\n this.boxes.forEach((b:box) => { \n delete b.img; \n delete b.view; \n if (b.name == 'selfie') b.name = 'rostro'\n })\n console.log(\"restart\",this.boxes)\n }, 800)\n }\n\n onSwitched(boxName: string) {\n if (boxName === 'documento') {\n this.showDocAreaBox = true;\n return;\n }\n\n if (boxName === 'rostro') {\n this.showFaceAreaBox = true;\n return;\n }\n }\n\n private getUUId(): string {\n let userId = window.localStorage.getItem('uuid');\n if (userId === null) {\n userId = uuidv4();\n window.localStorage.setItem('uuid', userId);\n }\n\n return userId;\n }\n}\n","
\n\n
\n\n \n\n \n \n
Capturar {{box.name}}
\n
\n \"dni\"\n\n
\n
\n \"facial\"\n\n
\n\n \n\n\n \n \n
\n\n \n \n
\n Capturar {{ box.name | capitalizeName }}\n
\n

\n Posicione su documento de identidad y proceda a realizar la captura\n

\n

\n Usamos su rostro para realizar la validación de vitalidad\n

\n\n \"dni\"\n\n \"facial\"\n\n \n\n
\n
\n \n
\n
\n
Buena iluminación
\n
Asegúrese de estar en un area con buena iluminación.
\n
\n
\n
\n
\n \n
\n
\n
Buen enfoque
\n
Antes de tomar la captura, verifique que su DNI este bien enfocado.
\n
\n
\n
\n \n
\n
\n \n
\n
\n
Buena iluminación
\n
Asegúrese de estar en un área con buena iluminación y que sus orejas estén descubiertas.
\n
\n
\n
\n
\n \n
\n
\n
Mirada recta
\n
Mantenga su dispositivo a la altura de los ojos y mire directamente a la cámara.
\n
\n
\n
\n\n \n
\n\n\n \n Peso Máximo: 1 MB\n \n\n \n \n\n \n
\n Capturar {{ box.name | capitalizeName }}\n
\n

\n Usamos su rostro para comparar con la foto de su documento de identidad\n

\n \"facial\"\n\n \n
\n
\n \n
\n
\n
Buena iluminación
\n
Asegúrese de estar en un área con buena iluminación y que sus orejas estén descubiertas.
\n
\n
\n
\n
\n \n
\n
\n
Mirada recta
\n
Mantenga su dispositivo a la altura de los ojos y mire directamente a la cámara.
\n
\n
\n
\n \n
\n\n \n \n \n
\n \n \n \n \n
\n
\n \n \n \n \n\n \n
\n \n \n \n \n
\n
\n\n Regresar\n
\n\n
\n\n \n \n
\n \n \n
\n
\n\n
\n\n
\n\n\n\n

¡Superó su número de intentos!

\n

¿Desea realizar {{textIntentos}} con código de seguridad?

\n\n
\n \n \n
\n
","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\nimport { environment } from 'src/environments/environment';\nimport { Observable } from 'rxjs';\n\n\ntype requestBody = {\n method: string\n data?: any,\n id?: string,\n idCompany?: string\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MarketPlaceService {\n\n private urlMarketplace:string = `${environment.apiCore}/marketplace/`;\n\n constructor( private http: HttpClient ) { }\n\n //Servicios Papelera Noe 1.2\n listarOpcionesMarketPlace(empresa:any, categoria:any):Observable {\n const body:requestBody = { method: 'LIST-OPTIONS', data: { idCompany:0, category:categoria}}\n return this.http.post(this.urlMarketplace, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarOpcionesModalCompra(empresa:any):Observable {\n const body:requestBody = { method: 'LIST-OPTIONS-MODAL', data: { idCompany:empresa}}\n return this.http.post(this.urlMarketplace, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarPlanes(data):Observable {\n const body:requestBody = { method: 'LIST-PLANS', data: data}\n return this.http.post(this.urlMarketplace, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarPlanesPorUsuario(data):Observable {\n const body:requestBody = { method: 'LIST-PLANS-FOR-USER', data: data}\n return this.http.post(this.urlMarketplace, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n actualizarAtributosMarketPlace(data):Observable {\n const body:requestBody = { method: 'UPDATE-PLAN-USER', data: data}\n return this.http.post(this.urlMarketplace, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarUsuarioPlan(user:string, subdomain:any):Observable{\n const body:requestBody = { method: 'LIST-USER-PLAN', data: { email:user, subdomain:subdomain }}\n return this.http.post(this.urlMarketplace, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n}","import { Injectable } from \"@angular/core\";\nimport { Subject } from \"rxjs\";\n\nexport interface IDataRoute {\n modulo: string;\n hijo: string;\n isCustom: boolean;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class SideBarService {\n showWarning$: Subject = new Subject();\n}","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\n\nimport { Observable } from \"rxjs\";\n\nimport { environment } from \"src/environments/environment\";\n\n@Injectable({ providedIn: 'root' })\nexport class ApiService {\n\n constructor(private http: HttpClient) {}\n\n post(path: string, body: Object = {}): Observable {\n return this.http.post(`${environment.api}${path}`, body, { \n headers: { \"x-api-key\": environment.xApiKey } \n });\n }\n\n put(path: string, body: Object = {}): Observable {\n return this.http.put(`${environment.api}${path}`, body, {\n headers: { \"x-api-key\": environment.xApiKey } \n });\n }\n\n get(path: string, body: Object = {}): Observable {\n return this.http.get(`${environment.api}${path}`, {\n headers: { \"x-api-key\": environment.xApiKey } \n });\n }\n}","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\n\n\ntype requestBody = {\n method: string\n data?: any,\n id?: string,\n idProcess?: number\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SeguimientoService {\n\n private urlTracking:string = `${environment.apiCore}/process_tracking/`;\n\n constructor( private http: HttpClient ) { }\n\n listarProcesos(sub:string, user:string, empresa:any, metadata:any):Observable {\n const body:requestBody = { method: 'LIST-PROCESS', data: {subdomain:sub, user:user, idCompany:empresa, metadata:metadata}}\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarProcesosPaginationTotal(sub:string, user:string, empresa:any, metadata:any, offset:number,row_count:number, filters:any):Observable {\n const body:requestBody = { method: 'LIST-PROCESS-PAGINATION-TOTAL', data: {subdomain:sub, user:user, idCompany:empresa, metadata:metadata, offset:offset, row_count:row_count, filters:filters}}\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarProcesosPaginationFree(sub:string, user:string, empresa:any, metadata:any, offset:number,row_count:number, filters:any):Observable {\n const body:requestBody = { method: 'LIST-PROCESS-PAGINATION-FREE', data: {subdomain:sub, user:user, idCompany:empresa, metadata:metadata, offset:offset, row_count:row_count, filters:filters}}\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarProcesosAnulados(sub:string, user:string, empresa:any, metadata:any):Observable {\n const body:requestBody = { method: 'LIST-PROCESS-CANCELL', data: {subdomain:sub, user:user, idCompany:empresa, metadata:metadata}}\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarDocumentos(user:string, id:any):Observable {\n const body:requestBody = { method: 'LIST-VIEW-DOCUMENTS', data: { user:user, idSigningProcess:id } }\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarVistasDocumentos(user:string, id:any):Observable {\n const body:requestBody = { method: 'VIEW-DOCUMENTS-FREE', data: { user:user, idDocumentSigningProcess:id } }\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n trazabilidadEventos(user:string, id:any):Observable {\n const body:requestBody = { method: 'TRACEABILITY-EVENTS', data: { user:user, idDocumentSigningProcess:id } }\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n descargarZip(user:string, id:any, idCom:any):Observable {\n const body:requestBody = { method: 'DOWNLOAD-ZIP', data: { user:user, idSigningProcess:id , idCompany:idCom} }\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n descargarZipMasivo(user:string, listaId:any, idCom:any):Observable {\n const body:requestBody = { method: 'DOWNLOAD-ZIP-MASSIVE', data: { user:user, listaId:listaId , idCompany:idCom} }\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n verDocumento(path:string):Observable {\n const body:requestBody = { method: 'SHOW-DOCUMENT', data: { filePath:path } }\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n descargarDocumento(id:any, path:string):Observable {\n const body:requestBody = { method: 'SHOW-DOCUMENT', data: { id:id, filePath:path } }\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarTrazabilidad(id:any, subdomain:string):Observable {\n const body:requestBody = { method: 'LIST-USER-FLOW', data: { idSigningProcess:id, subdomain:subdomain } }\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarDetalleFirma(user:string, id:any, subdomain:string):Observable {\n const body:requestBody = { method: 'LIST-DETAIL-FIRM', data: { userRecipient:user, idSigningProcess:id, subdomain:subdomain } }\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n reporteHistorial(user:string, id:number, subdomain:string):Observable {\n const body:requestBody = { method: 'REPORT-HISTORY', data: { user:user, idSigningProcess:id, subdomain:subdomain } }\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n actualizarFechaLimiteFirma(id:string, fecha:any):Observable {\n const body:requestBody = {\n method:\"UPDATE-LIMIT-FIRM\",\n data:{\n id:id,\n date:fecha\n }\n }\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n cancelarProceso(idSigningProcess: number, cancellMotive: string, cancellUser: string, empresa:any) {\n const body: requestBody = { method: 'CANCEL-PROCESS', data: {cancellMotive:cancellMotive, cancellUser:cancellUser,idSigningProcess:idSigningProcess,idCompany:empresa } }\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n eliminarProceso(idSigningProcess: number, cancellMotive: string, cancellUser: string, empresa:any) {\n const body: requestBody = { method: 'DELETE-PROCESS', data: {cancellMotive:cancellMotive, cancellUser:cancellUser,idSigningProcess:idSigningProcess,idCompany:empresa } }\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n listarProcesosPagination(sub:string, user:string, empresa:any, offset:number,row_count:number, filters:any):Observable {\n const body:requestBody = { method: 'LIST-PROCESS-PAGINATION-DEMO', data: {subdomain:sub, user:user, idCompany:empresa,offset:offset,row_count:row_count,filters:filters}}\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n obtenerTotalProcesos(sub:string, empresa:any,filters:any):Observable {\n const body:requestBody = { method: 'GET-TOTAL-PROCESS', data: {subdomain:sub, idCompany:empresa,filters:filters}}\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n //Servicios Papelera Noe 1.2\n listarProcesosPapelera(empresa:any, offset:number,row_count:number, filters:any, user:string):Observable {\n const body:requestBody = { method: 'LIST-PROCESS-TRASH', data: {idCompany:empresa, offset:offset, row_count:row_count, filters:filters, user:user}}\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n cambiarProcesoBandejaPapelera(empresa:any, send:any,idSigningProcess:any):Observable {\n const body:requestBody = { method: 'CHANGE-PROCESS-TRASH', data: {idCompany:empresa, send:send, idSigningProcess:idSigningProcess}}\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n removerProcesoPermanente(empresa:any,idDocumentSigningProcess:any,motivo:any,userCancel:any):Observable {\n const body:requestBody = { method: 'REMOVE-PROCESS-PERMANENT', data: {idCompany:empresa, idDocumentSigningProcess:idDocumentSigningProcess,cancellMotive:motivo,cancellUser:userCancel}}\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n moverPapelera(empresa:any,idDocumentSigningProcess: number) {\n const body: requestBody = { method: 'REMOVE-PROCESS-PAPER', data: {idCompany:empresa,idDocumentSigningProcess:idDocumentSigningProcess} }\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n moverPapeleraMasivo(empresa:any,listaId: any) {\n const body: requestBody = { method: 'REMOVE-PROCESS-PAPER-MASSIVE', data: {idCompany:empresa,listaId:listaId} }\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n restaurarPapelera(idDocumentSigningProcess: number){\n const body: requestBody = {\n method:'RESTORE-PROCESS-PAPER',\n data: {\n idDocumentSigningProcess:idDocumentSigningProcess\n }\n }\n return this.http.post(this.urlTracking, body, { headers: {\"x-api-key\": environment.xApiKey}})\n\n }\n\n removerProcesoPermanenteList(empresa:any,listaId:any,motivo:any,userCancel:any):Observable {\n const body:requestBody = { method: 'REMOVE-PROCESS-PERMANENT-LIST', data: {idCompany:empresa, listaId:listaId,cancellMotive:motivo,cancellUser:userCancel}}\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n restaurarPapeleraMasivo(listaId: any){\n const body: requestBody = {\n method:'RESTORE-PROCESS-PAPER-MASSIVE',\n data: {\n listaId:listaId\n }\n }\n return this.http.post(this.urlTracking, body, { headers: {\"x-api-key\": environment.xApiKey}})\n\n }\n descargarDocumentoPdf(id:any):Observable {\n const body:requestBody = { method: 'DOWNLOAD-DOCUMENT', data: {idSigningProcessDocument:id} }\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n descargarEvidenciasPdf(id:any):Observable {\n const body:requestBody = { method: 'DOWNLOAD-EVIDENCE', data: {idSigningProcessDocument:id} }\n return this.http.post(this.urlTracking, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { NotificationsService } from 'src/app/services/notifications.service';\n\n@Component({\n selector: 'app-notifications',\n templateUrl: './notifications.component.html',\n styleUrls: ['./notifications.component.scss']\n})\nexport class NotificationsComponent implements OnInit {\n\n constructor(public notify: NotificationsService) { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n\n
\n \n \n \n
\n
\n
\n {{ n.mensaje }}\n
\n
\n \n
\n \n \n \n
\n \n
","import { Time } from '@angular/common';\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { AuthService } from 'src/app/services/auth.service';\n\n@Component({\n selector: 'app-countdown',\n templateUrl: './countdown.component.html',\n styleUrls: ['./countdown.component.scss']\n})\nexport class CountdownComponent implements OnInit {\n\n @Input('minutes') minutes:number = this.authService.obtenerTiempoExpiracion() - 1\n @Input() seconds: number = 59;\n\n @Output()\n onstart: EventEmitter = new EventEmitter()\n @Output()\n onfinish: EventEmitter = new EventEmitter()\n\n constructor(public authService: AuthService) { }\n\n ngOnInit(): void {\n }\n\n countDown: Time = { hours: 0, minutes: 0 };\n countEnd: boolean = false\n count: any = null\n start() {\n \n this.onstart.emit()\n clearInterval(this.count)\n\n this.countDown = { hours: 0, minutes: this.minutes };\n\n this.count = setInterval(() => {\n\n if (this.seconds == 0 && this.countDown.minutes == 0) {\n\n clearInterval(this.count)\n this.countEnd = true\n this.count = null\n this.onfinish.emit()\n\n } else {\n this.seconds--;\n if (this.seconds == -1) {\n if (this.countDown.minutes > 0) this.countDown.minutes--;\n this.seconds = 59\n }\n }\n }, 1000);\n }\n\n finish() {\n this.countDown.minutes = 0;\n this.seconds = 0;\n this.minutes = this.authService.obtenerTiempoExpiracion()\n //console.log('finish');\n }\n}\n","
\n \n {{ countDown.minutes < 10 ? '0' + countDown.minutes : countDown.minutes }}:{{ seconds < 10 ? '0' + seconds : seconds }} seg\n
","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\n\n@Component({\n selector: 'app-modal-inicio',\n templateUrl: './modal-inicio.component.html',\n styleUrls: ['./modal-inicio.component.scss']\n})\nexport class ModalInicioComponent implements OnInit {\n\n @Input('titleModal') title:string\n @Input('subtitle') subtitle:string\n @Input('loading') loading:boolean\n @Input('confirmText') confirmText:string = 'Confirmar'\n @Input('cancelText') cancelText:string = 'Cerrar'\n @Input('closeOnConfirm') closeOnConfirm:boolean = true\n @Input('disableConfirm') disableConfirm:boolean\n @Input('hide-footer') hideFooter:boolean\n @Input('big') big:boolean\n @Input('fullScreen') fullScreen:boolean\n @Input('auto-width') autoWidth:boolean\n @Input('scroller') scroller:boolean\n\n @Output() \n onclose: EventEmitter = new EventEmitter();\n @Output()\n onconfirm: EventEmitter = new EventEmitter();\n\n\n isOpen:boolean\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n open() {\n const body = document.getElementsByTagName('body')[0];\n body.classList.add('modal-open');\n this.isOpen = true\n }\n\n close() {\n const body = document.getElementsByTagName('body')[0];\n body.classList.remove('modal-open');\n this.isOpen = false;\n this.onclose.emit();\n }\n \n confirmarModal: boolean\n confirm() {\n this.onconfirm.emit()\n if (this.closeOnConfirm) this.isOpen = false;\n this.close();\n }\n\n}\n","
\n
\n\n
\n

{{title}}

\n \n
\n\n
\n \n
\n\n
\n \n \n
\n\n
\n
\n","import { Directive, ElementRef, Renderer2 } from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\nimport { ValueAccessorBase } from \"./value-accessor-base\";\n\n@Directive({\n providers: [\n {\n multi: true,\n provide: NG_VALUE_ACCESSOR,\n useExisting: TextValueAccessorDirective\n }\n ],\n selector: 'app-autocomplete'\n})\nexport class TextValueAccessorDirective extends ValueAccessorBase {\n\n constructor(elRef: ElementRef, renderer: Renderer2) {\n super(elRef, renderer);\n }\n}","import { \n Component,\n Input, \n HostListener, \n ViewChildren, \n QueryList, \n ElementRef, \n Output, \n EventEmitter\n} from '@angular/core';\nimport { formatDate } from '@angular/common';\n\nimport { Filter } from 'src/app/models/Filter.model';\nimport { ProcesoService } from 'src/app/services/proceso.service';\nimport { DocumentoService } from 'src/app/services/documento.service';\nimport { OficinaService } from 'src/app/services/oficina.service';\nimport { ReceptorService } from 'src/app/services/receptor.service';\nimport { AuthService } from 'src/app/services/auth.service';\n\n@Component({\n selector: 'app-megafilter-pagination',\n templateUrl: './megafilter-pagination.component.html',\n styleUrls: ['./megafilter-pagination.component.scss']\n})\nexport class MegaFilterPaginationComponent {\n\n @Input() placeholder: string;\n @Input() filters: Filter[] = [];\n @Input() session: string;\n\n @Output() onset = new EventEmitter();\n @Output() remaingFilters = new EventEmitter();\n\n @ViewChildren('list') el: QueryList;\n\n @HostListener('document:click', ['event']) clickout(event) {\n if (this.openFilter) {\n this.openFilter = false;\n }\n this.type = null;\n }\n\n constructor(\n public procesoService: ProcesoService,\n public documentoService: DocumentoService,\n public oficinaservice: OficinaService,\n public receptorService: ReceptorService,\n public authService: AuthService,\n ) { }\n\n ngOnInit(): void {\n this.listarProcesos()\n this.listarDocumentos()\n this.listarOficinas()\n }\n\n openFilter:boolean\n searchTerm:string\n type:string\n\n theValue:string;\n theDate:Date = new Date();\n\n editing:number = -1;\n selectedfilterList = [];\n\n \n applyFilters(e,string) {\n this.session = string;\n if(e > 1){\n if (sessionStorage.getItem(this.session)) {\n \n var filters2 = JSON.parse(sessionStorage.getItem(this.session))\n \n for( var i=0 ; i < filters2.length -1 ; i++){\n if(filters2[i].on != this.filters[i].on){\n filters2[i].on = !filters2[i].on\n this.onset.emit({text: '', prop: filters2[i].prop, col: filters2[i].col});//Solucion Temporal --pv\n sessionStorage.setItem(string, JSON.stringify(filters2))\n }\n }\n this.filters = JSON.parse(sessionStorage.getItem(this.session))\n }\n }else{\n var filSession = sessionStorage.getItem(this.session)\n this.filters = filSession != null && filSession != undefined ? JSON.parse(sessionStorage.getItem(this.session)) : this.filters;\n }\n }\n\n checkFiltersOn() {\n return this.filters.every( filter => filter.on );\n \n }\n checkFiltersOff() {\n return this.filters.every( filter => !filter.on );\n }\n\n openMegaFilter(event) {\n event.stopPropagation();\n this.openFilter = true;\n if (this.type) {\n this.type = null;\n this.editing = -1;\n }\n } \n\n selectType(event, type, i) {\n event.stopPropagation();\n this.type = type;\n this.activeFilter = i;\n this.openFilter = false;\n }\n\n cancelChange() {\n this.filters[this.activeFilter].value = '';\n this.filters[this.activeFilter].on = true;\n }\n\n setFilter(event) { \n if (event != '') {\n\n if (!this.type) {\n return false;\n }\n\n let value = '';\n let tituloOficina = '';\n let tituloOficinasGeneral = '';\n\n if (this.type == 'date' || this.type == 'earlier-than' || this.type == 'later-than') {\n value = formatDate(event, 'dd/MM/yyyy', 'en_US')\n } else if (this.type == 'select') {\n value = event.target.value\n } \n else if (this.type == 'selectProcesos') {\n value = event.target.value\n } \n else if (this.type == 'selectDocumentos') {\n value = event.target.value\n }\n else if(this.type == 'selectOficinas'){\n value = event.target.options[event.target.selectedIndex].text\n //console.log('value2',event.target.options[event.target.selectedIndex].text)\n tituloOficina = event.target.value\n }\n else {\n value = event;\n }\n\n if (this.editing != -1) {\n this.filters[this.editing].value = value;\n this.editing = -1;\n \n } else {\n this.filters[this.activeFilter].value = value;\n this.filters[this.activeFilter].on = false;\n }\n\n\n let filter:any = {\n text: this.filters[this.activeFilter].value,\n prop: this.filters[this.activeFilter].prop, \n col: this.filters[this.activeFilter].col,\n exact: this.filters[this.activeFilter].exact,\n epoch: undefined\n }\n\n if(this.type == 'selectOficinas'){\n filter.text = tituloOficina;\n }\n if(this.type == 'selectOficinasGeneral'){\n filter.text = tituloOficinasGeneral;\n }\n\n sessionStorage.setItem(this.session, JSON.stringify(this.filters))\n\n if (this.type == 'date') {\n filter.date = event\n }\n if (this.type == 'earlier-than') {\n filter.type = this.type\n event.setUTCSeconds(59)\n event.setUTCMinutes(59)\n event.setUTCHours(23)\n filter.epoch = Date.parse(event)\n }\n if (this.type == 'later-than') {\n filter.type = this.type\n event.setUTCSeconds(0);\n event.setUTCMinutes(0);\n event.setUTCHours(0);\n filter.epoch = Date.parse(event);\n }\n this.onset.emit(filter);\n this.selectedfilterList.push(filter);\n\n this.type = null;\n this.theValue = '';\n }\n \n }\n\n rmFilter(event, i, col, type) {\n event.stopPropagation();\n this.filters[i].value = '';\n this.filters[i].on = true;\n this.selectedfilterList = this.selectedfilterList.filter((el) => {\n if (['earlier-than', 'later-than'].includes(type)) {\n return el.type !== type;\n }\n return el.col !== col;\n });\n\n this.onset.emit({\n text: '',\n prop: col,\n col,\n remainFilters: this.selectedfilterList\n });\n\n sessionStorage.setItem(this.session, JSON.stringify(this.filters))\n }\n \n editFilter(event, i, type, value) {\n this.openFilter = false\n event.stopPropagation();\n this.editing = i;\n this.type = type;\n this.theValue = value;\n }\n\n activeFilter: number;\n keyControls(event) {\n \n if (event.keyCode == 38) {\n // UP\n this.setActive(1, -1)\n } else if (event.keyCode == 40) {\n // DOWN\n this.setActive(1, +1)\n } \n \n \n if (event.keyCode == 13) {\n event.stopPropagation();\n event.preventDefault();\n this.selectType(event, this.filters[this.activeFilter].type, this.activeFilter);\n }\n \n }\n\n setActive(i, dir) {\n const check = this.activeFilter + dir;\n\n event.stopPropagation();\n event.preventDefault();\n\n if ( check >= 0 && check < this.filters.length ) {\n this.activeFilter = this.activeFilter + dir;\n this.el.toArray()[check].nativeElement.scrollIntoView({ block: 'nearest' });\n }\n }\n\n clearFilters(e = null) {\n if (e) e.stopPropagation()\n Object.keys(this.filters).forEach(o => {\n //console.log(o)\n this.filters[o].value = '';\n this.filters[o].on = true;\n });\n \n sessionStorage.setItem(this.session, JSON.stringify(this.filters))\n \n this.onset.emit({text: '', prop: this.filters[1].prop, col: this.filters[1].col});//Limpiar y enviar un emit --pv\n this.selectedfilterList = [];\n }\n\n clearInputs() {\n this.openFilter = false;\n }\n\n dataProcesos?:any=[]\n listarProcesos() {\n /*this.procesoService.listarProcesosActivos(this.authService.obtenerIdEmpresaActiva()).subscribe(data => {\n this.dataProcesos = data\n this.dataProcesos = this.ordenarAlfabeticamente(this.dataProcesos)\n }, error => {console.log(error)})*/\n }\n\n dataDocumentos?:any=[]\n listarDocumentos() {\n /*this.documentoService.listarDocumentosActivos(this.authService.obtenerIdEmpresaActiva()).subscribe(data => {\n this.dataDocumentos = data\n this.dataDocumentos = this.ordenarAlfabeticamente(this.dataDocumentos)\n }, error => {console.log(error)})*/\n }\n\n dataOficina?:any=[]\n listarOficinas(){\n /*this.oficinaservice.listarOficinas(this.authService.obtenerIdEmpresaActiva()).subscribe(data =>{\n this.dataOficina = data\n }, error => {\n console.log(error)\n })*/\n /* this.receptorService.listarOficinasPorUsuario(this.authService.obtenerIdEmpresaActiva(),this.authService.obtenerSubdominio(),this.authService.obtenerUsername()).subscribe( data => {\n this.dataOficina = data\n this.dataOficina = this.ordenarAlfabeticamente(this.dataOficina)\n }, error => {\n console.log(error)\n })\n console.log('Listado de oficinas usuario :', this.dataOficina)*/\n }\n\n ordenarAlfabeticamente(lista : any[]) : any[]{\n //ordenar alfabeticamente\n lista.sort( function(a,b) {\n if(a.name > b.name){\n return 1;\n }\n if(a.name < b.name){\n return -1;\n }\n return 0;\n })\n return lista\n }\n \n}\n","
\n\n \n\n
\n
Agregar Filtro
\n
    \n
  • \n {{ filter.name }}\n
  • \n
\n
\n\n
\n\n
\n {{ activeFilter >= 0 ? filters[activeFilter].name : null }}\n
\n\n
\n = 0 ? filters[activeFilter].name : null\"\n [(ngModel)]=\"theValue\">\n \n \n
\n\n \n\n \n\n \n\n \n \n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n\n
","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-loader-scroll',\n templateUrl: './loader-scroll.component.html',\n styleUrls: ['./loader-scroll.component.scss'],\n host: { class: 'app-loader-scroll' }\n})\nexport class LoaderScrollComponent implements OnInit {\n\n @Input('disabled') disabled:boolean\n @Input('big') big:boolean\n @Input('no-bg') noBg:boolean\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n \n\n\n\n
\n
","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\nimport { environment } from 'src/environments/environment';\nimport { Observable } from 'rxjs';\n\n\ntype requestBody = {\n method: string\n data?: any,\n id?: string,\n idCompany?: string\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NiubizService {\n\n private urlNiubiz:string = `${environment.apiCore}/api_niubiz/`;\n \n constructor( private http: HttpClient ) { }\n\n obtenerNuevaSesion(data):Observable {\n const body:requestBody = { method: 'GET-TOKEN-SESSION', data: data}\n return this.http.post(this.urlNiubiz, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n\n cancelarSuscripcion(data):Observable {\n const body:requestBody = { method: 'CANCEL-SUBSCRIPTION', data: data}\n return this.http.post(this.urlNiubiz, body, { headers: { \"x-api-key\": environment.xApiKey } })\n }\n}","import { \n Component,\n Input, \n HostListener, \n ViewChildren, \n QueryList, \n ElementRef, \n Output, \n EventEmitter\n} from '@angular/core';\nimport { formatDate } from '@angular/common';\n\nimport { Filter } from 'src/app/models/Filter.model';\n\n@Component({\n selector: 'app-mega-filter-color',\n templateUrl: './mega-filter-color.component.html',\n styleUrls: ['./mega-filter-color.component.scss']\n})\nexport class MegaFilterColorComponent {\n\n @Input() placeholder: string;\n @Input() filters: Filter[] = [];\n @Input() session: string;\n\n @Output() onset = new EventEmitter();\n @Output() remaingFilters = new EventEmitter();\n\n @ViewChildren('list') el: QueryList;\n\n @HostListener('document:click', ['event']) clickout(event) {\n if (this.openFilter) {\n this.openFilter = false;\n }\n this.type = null;\n }\n\n constructor() { }\n\n openFilter:boolean\n searchTerm:string\n type:string\n\n theValue:string;\n theDate:Date = new Date();\n\n editing:number = -1;\n selectedfilterList = [];\n\n applyFilters() {\n if (sessionStorage.getItem(this.session)) {\n this.filters = JSON.parse(sessionStorage.getItem(this.session))\n this.filters.forEach( f => {\n if (!f.on) {\n this.onset.emit({text:f.value, prop:f.prop, col:f.col, exact:f.exact})\n }\n })\n }\n }\n\n applyFiltersCargos() {\n this.session = 'FILTROS_CARGOS';\n this.applyFilters();\n }\n\n applyFiltersProcesos() {\n this.session = 'FILTROS_PROCESOS';\n this.applyFilters();\n }\n\n applyFiltersFlujos() {\n this.session = 'FILTROS_FLUJOS';\n this.applyFilters();\n }\n\n applyFiltersDocumentos() {\n this.session = 'FILTROS_DOCUMENTOS';\n this.applyFilters();\n }\n\n applyFiltersPlantillas() {\n this.session = 'FILTROS_PLANTILLAS';\n this.applyFilters();\n }\n\n applyFiltersUsuarios() {\n this.session = 'FILTROS_USUARIOS';\n this.applyFilters();\n }\n\n applyFiltersContactos() {\n this.session = 'FILTROS_CONTACTOS';\n this.applyFilters();\n }\n\n applyFiltersReceptores() {\n this.session = 'FILTROS_RECEPTORES';\n this.applyFilters();\n }\n\n applyFiltersPerfiles() {\n this.session = 'FILTROS_PERFILES';\n this.applyFilters();\n }\n\n applyFiltersGruposExternos() {\n this.session = 'FILTROS_GRUPOS_EXTERNOS';\n this.applyFilters();\n }\n\n applyFiltersGruposInternos() {\n this.session = 'FILTROS_GRUPOS_INTERNOS';\n this.applyFilters();\n }\n\n applyFiltersPendientes() {\n this.session = 'FILTROS_PENDIENTES';\n this.applyFilters();\n }\n\n applyFiltersPapelera() {\n this.session = 'FILTROS_PAPELERA';\n this.applyFilters();\n }\n\n applyFiltersProcesoRapido() {\n this.session = 'FILTROS_PROCESO_RAPIDO';\n this.applyFilters();\n }\n\n applyFiltersPasoUno() {\n this.session = 'FILTROS_PASO_UNO';\n this.applyFilters();\n }\n\n applyFiltersPasoTres() {\n this.session = 'FILTROS_PASO_TRES';\n this.applyFilters();\n }\n\n applyFiltersPendientesPorNotificar() {\n this.session = 'FILTROS_PENDIENTES_POR_NOTIFICAR';\n this.applyFilters();\n }\n\n checkFiltersOn() {\n return this.filters.every( filter => filter.on );\n }\n checkFiltersOff() {\n return this.filters.every( filter => !filter.on );\n }\n\n openMegaFilter(event) {\n event.stopPropagation();\n this.openFilter = true;\n if (this.type) {\n this.type = null;\n this.editing = -1;\n }\n } \n\n selectType(event, type, i) {\n event.stopPropagation();\n this.type = type;\n this.activeFilter = i;\n this.openFilter = false;\n }\n\n cancelChange() {\n this.filters[this.activeFilter].value = '';\n this.filters[this.activeFilter].on = true;\n }\n\n setFilter(event) { \n \n if (event != '') {\n\n if (!this.type) {\n return false;\n }\n\n let value = '';\n\n if (this.type == 'date' || this.type == 'earlier-than' || this.type == 'later-than') {\n value = formatDate(event, 'dd/MM/yyyy', 'en_US')\n } else if (this.type == 'select') {\n value = event.target.value\n } else {\n value = event;\n }\n\n if (this.editing != -1) {\n this.filters[this.editing].value = value;\n this.editing = -1;\n } else {\n this.filters[this.activeFilter].value = value;\n this.filters[this.activeFilter].on = false;\n }\n\n sessionStorage.setItem(this.session, JSON.stringify(this.filters))\n\n let filter:any = {\n text: this.filters[this.activeFilter].value,\n prop: this.filters[this.activeFilter].prop, \n col: this.filters[this.activeFilter].col,\n exact: this.filters[this.activeFilter].exact,\n epoch: undefined\n }\n if (this.type == 'date') {\n filter.date = event\n }\n if (this.type == 'earlier-than') {\n filter.type = this.type\n event.setUTCSeconds(59)\n event.setUTCMinutes(59)\n event.setUTCHours(23)\n filter.epoch = Date.parse(event)\n }\n if (this.type == 'later-than') {\n filter.type = this.type\n event.setUTCSeconds(0);\n event.setUTCMinutes(0);\n event.setUTCHours(0);\n filter.epoch = Date.parse(event);\n }\n this.onset.emit(filter);\n this.selectedfilterList.push(filter);\n\n this.type = null;\n this.theValue = '';\n }\n \n }\n\n rmFilter(event, i, col, type) {\n event.stopPropagation();\n this.filters[i].value = '';\n this.filters[i].on = true;\n this.selectedfilterList = this.selectedfilterList.filter((el) => {\n if (['earlier-than', 'later-than'].includes(type)) {\n return el.type !== type;\n }\n return el.col !== col;\n });\n\n this.onset.emit({\n text: '',\n prop: 'contents',\n col,\n remainFilters: this.selectedfilterList\n });\n\n sessionStorage.setItem(this.session, JSON.stringify(this.filters))\n }\n \n editFilter(event, i, type, value) {\n this.openFilter = false\n event.stopPropagation();\n this.editing = i;\n this.type = type;\n this.theValue = value;\n }\n\n activeFilter: number;\n keyControls(event) {\n \n if (event.keyCode == 38) {\n // UP\n this.setActive(1, -1)\n } else if (event.keyCode == 40) {\n // DOWN\n this.setActive(1, +1)\n } \n \n \n if (event.keyCode == 13) {\n event.stopPropagation();\n event.preventDefault();\n this.selectType(event, this.filters[this.activeFilter].type, this.activeFilter);\n }\n \n }\n\n setActive(i, dir) {\n const check = this.activeFilter + dir;\n\n event.stopPropagation();\n event.preventDefault();\n\n if ( check >= 0 && check < this.filters.length ) {\n this.activeFilter = this.activeFilter + dir;\n this.el.toArray()[check].nativeElement.scrollIntoView({ block: 'nearest' });\n }\n }\n\n clearFilters(e = null) {\n if (e) e.stopPropagation()\n Object.keys(this.filters).forEach(o => {\n this.filters[o].value = '';\n this.filters[o].on = true;\n });\n // this.setStrings();\n this.onset.emit({text: '', prop: 'contents', col: -1});\n sessionStorage.setItem(this.session, JSON.stringify(this.filters))\n }\n\n clearInputs() {\n this.openFilter = false;\n }\n\n}\n","
\n\n \n\n
\n \n
    \n
  • \n
    {{ filter.name }}
    \n
  • \n
\n
\n\n
\n Ordenar\n
\n\n
\n = 0 ? filters[activeFilter].name : null\"\n [(ngModel)]=\"theValue\">\n \n \n
\n\n \n\n \n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n \n
\n\n
\n\n
","const countries = [\n {\n \"en\": \"Afghanistan\",\n \"es\": \"Afganistán\",\n \"dial\": \"+93\",\n \"code\": \"AF\"\n },\n {\n \"en\": \"Albania\",\n \"es\": \"Albania\",\n \"dial\": \"+355\",\n \"code\": \"AL\"\n },\n {\n \"en\": \"Algeria\",\n \"es\": \"Argelia\",\n \"dial\": \"+213\",\n \"code\": \"DZ\"\n },\n {\n \"en\": \"AmericanSamoa\",\n \"es\": \"Samoa Americana\",\n \"dial\": \"+1684\",\n \"code\": \"AS\"\n },\n {\n \"en\": \"Andorra\",\n \"es\": \"Andorra\",\n \"dial\": \"+376\",\n \"code\": \"AD\"\n },\n {\n \"en\": \"Angola\",\n \"es\": \"Angola\",\n \"dial\": \"+244\",\n \"code\": \"AO\"\n },\n {\n \"en\": \"Anguilla\",\n \"es\": \"Anguilla\",\n \"dial\": \"+1264\",\n \"code\": \"AI\"\n },\n {\n \"en\": \"Antarctica\",\n \"es\": \"Antártida\",\n \"dial\": \"+672\",\n \"code\": \"AQ\"\n },\n {\n \"en\": \"Antigua and Barbuda\",\n \"es\": \"Antigua y Barbuda\",\n \"dial\": \"+1268\",\n \"code\": \"AG\"\n },\n {\n \"en\": \"Argentina\",\n \"es\": \"Argentina\",\n \"dial\": \"+54\",\n \"code\": \"AR\"\n },\n {\n \"en\": \"Armenia\",\n \"es\": \"Armenia\",\n \"dial\": \"+374\",\n \"code\": \"AM\"\n },\n {\n \"en\": \"Aruba\",\n \"es\": \"Aruba\",\n \"dial\": \"+297\",\n \"code\": \"AW\"\n },\n {\n \"en\": \"Australia\",\n \"es\": \"Australia\",\n \"dial\": \"+61\",\n \"code\": \"AU\"\n },\n {\n \"en\": \"Austria\",\n \"es\": \"Austria\",\n \"dial\": \"+43\",\n \"code\": \"AT\"\n },\n {\n \"en\": \"Azerbaijan\",\n \"es\": \"Azerbaiyán\",\n \"dial\": \"+994\",\n \"code\": \"AZ\"\n },\n {\n \"en\": \"Bahamas\",\n \"es\": \"Bahamas\",\n \"dial\": \"+1242\",\n \"code\": \"BS\"\n },\n {\n \"en\": \"Bahrain\",\n \"es\": \"Baréin\",\n \"dial\": \"+973\",\n \"code\": \"BH\"\n },\n {\n \"en\": \"Bangladesh\",\n \"es\": \"Banglades\",\n \"dial\": \"+880\",\n \"code\": \"BD\"\n },\n {\n \"en\": \"Barbados\",\n \"es\": \"Barbados\",\n \"dial\": \"+1246\",\n \"code\": \"BB\"\n },\n {\n \"en\": \"Belarus\",\n \"es\": \"Bielorrusia\",\n \"dial\": \"+375\",\n \"code\": \"BY\"\n },\n {\n \"en\": \"Belgium\",\n \"es\": \"Bélgica\",\n \"dial\": \"+32\",\n \"code\": \"BE\"\n },\n {\n \"en\": \"Belize\",\n \"es\": \"Belice\",\n \"dial\": \"+501\",\n \"code\": \"BZ\"\n },\n {\n \"en\": \"Benin\",\n \"es\": \"Benin\",\n \"dial\": \"+229\",\n \"code\": \"BJ\"\n },\n {\n \"en\": \"Bermuda\",\n \"es\": \"Bermudas\",\n \"dial\": \"+1441\",\n \"code\": \"BM\"\n },\n {\n \"en\": \"Bhutan\",\n \"es\": \"Butan\",\n \"dial\": \"+975\",\n \"code\": \"BT\"\n },\n {\n \"en\": \"Bolivia\",\n \"es\": \"Bolivia\",\n \"dial\": \"+591\",\n \"code\": \"BO\"\n },\n {\n \"en\": \"Bosnia and Herzegovina\",\n \"es\": \"Bosnia-Herzegovina\",\n \"dial\": \"+387\",\n \"code\": \"BA\"\n },\n {\n \"en\": \"Botswana\",\n \"es\": \"Botsuana\",\n \"dial\": \"+267\",\n \"code\": \"BW\"\n },\n {\n \"en\": \"Brazil\",\n \"es\": \"Brasil\",\n \"dial\": \"+55\",\n \"code\": \"BR\"\n },\n {\n \"en\": \"British Indian Ocean Territory\",\n \"es\": \"Territorio Británico del Océano Índico\",\n \"dial\": \"+246\",\n \"code\": \"IO\"\n },\n {\n \"en\": \"Brunei Darussalam\",\n \"es\": \"Brunei\",\n \"dial\": \"+673\",\n \"code\": \"BN\"\n },\n {\n \"en\": \"Bulgaria\",\n \"es\": \"Bulgaria\",\n \"dial\": \"+359\",\n \"code\": \"BG\"\n },\n {\n \"en\": \"Burkina Faso\",\n \"es\": \"Burkina Faso\",\n \"dial\": \"+226\",\n \"code\": \"BF\"\n },\n {\n \"en\": \"Burundi\",\n \"es\": \"Burundi\",\n \"dial\": \"+257\",\n \"code\": \"BI\"\n },\n {\n \"en\": \"Cambodia\",\n \"es\": \"Camboya\",\n \"dial\": \"+855\",\n \"code\": \"KH\"\n },\n {\n \"en\": \"Cameroon\",\n \"es\": \"Camerún\",\n \"dial\": \"+237\",\n \"code\": \"CM\"\n },\n {\n \"en\": \"Canada\",\n \"es\": \"Canadá\",\n \"dial\": \"+1\",\n \"code\": \"CA\"\n },\n {\n \"en\": \"Cape Verde\",\n \"es\": \"Cabo Verde\",\n \"dial\": \"+238\",\n \"code\": \"CV\"\n },\n {\n \"en\": \"Cayman Islands\",\n \"es\": \"Islas Caimán\",\n \"dial\": \"+ 345\",\n \"code\": \"KY\"\n },\n {\n \"en\": \"Central African Republic\",\n \"es\": \"República Centroafricana\",\n \"dial\": \"+236\",\n \"code\": \"CF\"\n },\n {\n \"en\": \"Chad\",\n \"es\": \"Chad\",\n \"dial\": \"+235\",\n \"code\": \"TD\"\n },\n {\n \"en\": \"Chile\",\n \"es\": \"Chile\",\n \"dial\": \"+56\",\n \"code\": \"CL\"\n },\n {\n \"en\": \"China\",\n \"es\": \"China\",\n \"dial\": \"+86\",\n \"code\": \"CN\"\n },\n {\n \"en\": \"Christmas Island\",\n \"es\": \"Isla de Navidad\",\n \"dial\": \"+61\",\n \"code\": \"CX\"\n },\n {\n \"en\": \"Cocos (Keeling) Islands\",\n \"es\": \"Islas Cocos\",\n \"dial\": \"+61\",\n \"code\": \"CC\"\n },\n {\n \"en\": \"Colombia\",\n \"es\": \"Colombia\",\n \"dial\": \"+57\",\n \"code\": \"CO\"\n },\n {\n \"en\": \"Comoros\",\n \"es\": \"Comoras\",\n \"dial\": \"+269\",\n \"code\": \"KM\"\n },\n {\n \"en\": \"Congo\",\n \"es\": \"Congo\",\n \"dial\": \"+242\",\n \"code\": \"CG\"\n },\n {\n \"en\": \"Congo, The Democratic Republic of the\",\n \"es\": \"República Democrática del Congo\",\n \"dial\": \"+243\",\n \"code\": \"CD\"\n },\n {\n \"en\": \"Cook Islands\",\n \"es\": \"Islas Cook\",\n \"dial\": \"+682\",\n \"code\": \"CK\"\n },\n {\n \"en\": \"Costa Rica\",\n \"es\": \"Costa Rica\",\n \"dial\": \"+506\",\n \"code\": \"CR\"\n },\n {\n \"en\": \"Cote d'Ivoire\",\n \"es\": \"Costa de Marfil\",\n \"dial\": \"+225\",\n \"code\": \"CI\"\n },\n {\n \"en\": \"Croatia\",\n \"es\": \"Croacia\",\n \"dial\": \"+385\",\n \"code\": \"HR\"\n },\n {\n \"en\": \"Cuba\",\n \"es\": \"Cuba\",\n \"dial\": \"+53\",\n \"code\": \"CU\"\n },\n {\n \"en\": \"Cyprus\",\n \"es\": \"Chipre\",\n \"dial\": \"+537\",\n \"code\": \"CY\"\n },\n {\n \"en\": \"Czechia\",\n \"es\": \"Chequia\",\n \"dial\": \"+420\",\n \"code\": \"CZ\"\n },\n {\n \"en\": \"Denmark\",\n \"es\": \"Dinamarca\",\n \"dial\": \"+45\",\n \"code\": \"DK\"\n },\n {\n \"en\": \"Djibouti\",\n \"es\": \"Yibuti\",\n \"dial\": \"+253\",\n \"code\": \"DJ\"\n },\n {\n \"en\": \"Dominica\",\n \"es\": \"Dominica\",\n \"dial\": \"+1767\",\n \"code\": \"DM\"\n },\n {\n \"en\": \"Dominican Republic\",\n \"es\": \"República Dominicana\",\n \"dial\": \"+1849\",\n \"code\": \"DO\"\n },\n {\n \"en\": \"Ecuador\",\n \"es\": \"Ecuador\",\n \"dial\": \"+593\",\n \"code\": \"EC\"\n },\n {\n \"en\": \"Egypt\",\n \"es\": \"Egipto\",\n \"dial\": \"+20\",\n \"code\": \"EG\"\n },\n {\n \"en\": \"El Salvador\",\n \"es\": \"El Salvador\",\n \"dial\": \"+503\",\n \"code\": \"SV\"\n },\n {\n \"en\": \"Equatorial Guinea\",\n \"es\": \"Guinea Ecuatorial\",\n \"dial\": \"+240\",\n \"code\": \"GQ\"\n },\n {\n \"en\": \"Eritrea\",\n \"es\": \"Eritrea\",\n \"dial\": \"+291\",\n \"code\": \"ER\"\n },\n {\n \"en\": \"Estonia\",\n \"es\": \"Estonia\",\n \"dial\": \"+372\",\n \"code\": \"EE\"\n },\n {\n \"en\": \"Ethiopia\",\n \"es\": \"Etiopía\",\n \"dial\": \"+251\",\n \"code\": \"ET\"\n },\n {\n \"en\": \"Falkland Islands (Malvinas)\",\n \"es\": \"Islas Malvinas\",\n \"dial\": \"+500\",\n \"code\": \"FK\"\n },\n {\n \"en\": \"Faroe Islands\",\n \"es\": \"Islas Feroe\",\n \"dial\": \"+298\",\n \"code\": \"FO\"\n },\n {\n \"en\": \"Fiji\",\n \"es\": \"Fiyi\",\n \"dial\": \"+679\",\n \"code\": \"FJ\"\n },\n {\n \"en\": \"Finland\",\n \"es\": \"Finlandia\",\n \"dial\": \"+358\",\n \"code\": \"FI\"\n },\n {\n \"en\": \"France\",\n \"es\": \"Francia\",\n \"dial\": \"+33\",\n \"code\": \"FR\"\n },\n {\n \"en\": \"French Guiana\",\n \"es\": \"Guayana Francesa\",\n \"dial\": \"+594\",\n \"code\": \"GF\"\n },\n {\n \"en\": \"French Polynesia\",\n \"es\": \"Polinesia Francesa\",\n \"dial\": \"+689\",\n \"code\": \"PF\"\n },\n {\n \"en\": \"Gabon\",\n \"es\": \"Gabón\",\n \"dial\": \"+241\",\n \"code\": \"GA\"\n },\n {\n \"en\": \"Gambia\",\n \"es\": \"Gambia\",\n \"dial\": \"+220\",\n \"code\": \"GM\"\n },\n {\n \"en\": \"Georgia\",\n \"es\": \"Georgia\",\n \"dial\": \"+995\",\n \"code\": \"GE\"\n },\n {\n \"en\": \"Germany\",\n \"es\": \"Alemania\",\n \"dial\": \"+49\",\n \"code\": \"DE\"\n },\n {\n \"en\": \"Ghana\",\n \"es\": \"Ghana\",\n \"dial\": \"+233\",\n \"code\": \"GH\"\n },\n {\n \"en\": \"Gibraltar\",\n \"es\": \"Gibraltar\",\n \"dial\": \"+350\",\n \"code\": \"GI\"\n },\n {\n \"en\": \"Greece\",\n \"es\": \"Grecia\",\n \"dial\": \"+30\",\n \"code\": \"GR\"\n },\n {\n \"en\": \"Greenland\",\n \"es\": \"Groenlandia\",\n \"dial\": \"+299\",\n \"code\": \"GL\"\n },\n {\n \"en\": \"Grenada\",\n \"es\": \"Granada\",\n \"dial\": \"+1473\",\n \"code\": \"GD\"\n },\n {\n \"en\": \"Guadeloupe\",\n \"es\": \"Guadalupe\",\n \"dial\": \"+590\",\n \"code\": \"GP\"\n },\n {\n \"en\": \"Guam\",\n \"es\": \"Guam\",\n \"dial\": \"+1671\",\n \"code\": \"GU\"\n },\n {\n \"en\": \"Guatemala\",\n \"es\": \"Guatemala\",\n \"dial\": \"+502\",\n \"code\": \"GT\"\n },\n {\n \"en\": \"Guernsey\",\n \"es\": \"Guernsey\",\n \"dial\": \"+44\",\n \"code\": \"GG\"\n },\n {\n \"en\": \"Guinea\",\n \"es\": \"Guinea\",\n \"dial\": \"+224\",\n \"code\": \"GN\"\n },\n {\n \"en\": \"Guinea-Bissau\",\n \"es\": \"Guinea-Bisau\",\n \"dial\": \"+245\",\n \"code\": \"GW\"\n },\n {\n \"en\": \"Guyana\",\n \"es\": \"Guyana\",\n \"dial\": \"+595\",\n \"code\": \"GY\"\n },\n {\n \"en\": \"Haiti\",\n \"es\": \"Haití\",\n \"dial\": \"+509\",\n \"code\": \"HT\"\n },\n {\n \"en\": \"Holy See (Vatican City State)\",\n \"es\": \"Ciudad del Vaticano\",\n \"dial\": \"+379\",\n \"code\": \"VA\"\n },\n {\n \"en\": \"Honduras\",\n \"es\": \"Honduras\",\n \"dial\": \"+504\",\n \"code\": \"HN\"\n },\n {\n \"en\": \"Hong Kong\",\n \"es\": \"Hong Kong\",\n \"dial\": \"+852\",\n \"code\": \"HK\"\n },\n {\n \"en\": \"Hungary\",\n \"es\": \"Hungría\",\n \"dial\": \"+36\",\n \"code\": \"HU\"\n },\n {\n \"en\": \"Iceland\",\n \"es\": \"Islandia\",\n \"dial\": \"+354\",\n \"code\": \"IS\"\n },\n {\n \"en\": \"India\",\n \"es\": \"India\",\n \"dial\": \"+91\",\n \"code\": \"IN\"\n },\n {\n \"en\": \"Indonesia\",\n \"es\": \"Indonesia\",\n \"dial\": \"+62\",\n \"code\": \"ID\"\n },\n {\n \"en\": \"Iran, Islamic Republic of\",\n \"es\": \"Irán\",\n \"dial\": \"+98\",\n \"code\": \"IR\"\n },\n {\n \"en\": \"Iraq\",\n \"es\": \"Iraq\",\n \"dial\": \"+964\",\n \"code\": \"IQ\"\n },\n {\n \"en\": \"Ireland\",\n \"es\": \"Irlanda\",\n \"dial\": \"+353\",\n \"code\": \"IE\"\n },\n {\n \"en\": \"Isle of Man\",\n \"es\": \"Isla de Man\",\n \"dial\": \"+44\",\n \"code\": \"IM\"\n },\n {\n \"en\": \"Israel\",\n \"es\": \"Israel\",\n \"dial\": \"+972\",\n \"code\": \"IL\"\n },\n {\n \"en\": \"Italy\",\n \"es\": \"Italia\",\n \"dial\": \"+39\",\n \"code\": \"IT\"\n },\n {\n \"en\": \"Jamaica\",\n \"es\": \"Jamaica\",\n \"dial\": \"+1876\",\n \"code\": \"JM\"\n },\n {\n \"en\": \"Japan\",\n \"es\": \"Japón\",\n \"dial\": \"+81\",\n \"code\": \"JP\"\n },\n {\n \"en\": \"Jersey\",\n \"es\": \"Jersey\",\n \"dial\": \"+44\",\n \"code\": \"JE\"\n },\n {\n \"en\": \"Jordan\",\n \"es\": \"Jordania\",\n \"dial\": \"+962\",\n \"code\": \"JO\"\n },\n {\n \"en\": \"Kazakhstan\",\n \"es\": \"Kazajistán\",\n \"dial\": \"+7\",\n \"code\": \"KZ\"\n },\n {\n \"en\": \"Kenya\",\n \"es\": \"Kenia\",\n \"dial\": \"+254\",\n \"code\": \"KE\"\n },\n {\n \"en\": \"Kiribati\",\n \"es\": \"Kiribati\",\n \"dial\": \"+686\",\n \"code\": \"KI\"\n },\n {\n \"en\": \"Korea, Democratic People's Republic of\",\n \"es\": \"Corea del Norte\",\n \"dial\": \"+850\",\n \"code\": \"KP\"\n },\n {\n \"en\": \"Korea, Republic of\",\n \"es\": \"Corea del Sur\",\n \"dial\": \"+82\",\n \"code\": \"KR\"\n },\n {\n \"en\": \"Kosovo\",\n \"es\": \"Kosovo\",\n \"dial\": \"+383\",\n \"code\": \"XK\"\n },\n {\n \"en\": \"Kuwait\",\n \"es\": \"Kuwait\",\n \"dial\": \"+965\",\n \"code\": \"KW\"\n },\n {\n \"en\": \"Kyrgyzstan\",\n \"es\": \"Kirguistán\",\n \"dial\": \"+996\",\n \"code\": \"KG\"\n },\n {\n \"en\": \"Lao People's Democratic Republic\",\n \"es\": \"Laos\",\n \"dial\": \"+856\",\n \"code\": \"LA\"\n },\n {\n \"en\": \"Latvia\",\n \"es\": \"Letonia\",\n \"dial\": \"+371\",\n \"code\": \"LV\"\n },\n {\n \"en\": \"Lebanon\",\n \"es\": \"Líbano\",\n \"dial\": \"+961\",\n \"code\": \"LB\"\n },\n {\n \"en\": \"Lesotho\",\n \"es\": \"Lesoto\",\n \"dial\": \"+266\",\n \"code\": \"LS\"\n },\n {\n \"en\": \"Liberia\",\n \"es\": \"Liberia\",\n \"dial\": \"+231\",\n \"code\": \"LR\"\n },\n {\n \"en\": \"Libyan Arab Jamahiriya\",\n \"es\": \"Libia\",\n \"dial\": \"+218\",\n \"code\": \"LY\"\n },\n {\n \"en\": \"Liechtenstein\",\n \"es\": \"Liechtenstein\",\n \"dial\": \"+423\",\n \"code\": \"LI\"\n },\n {\n \"en\": \"Lithuania\",\n \"es\": \"Lituania\",\n \"dial\": \"+370\",\n \"code\": \"LT\"\n },\n {\n \"en\": \"Luxembourg\",\n \"es\": \"Luxemburgo\",\n \"dial\": \"+352\",\n \"code\": \"LU\"\n },\n {\n \"en\": \"Macao\",\n \"es\": \"Macao\",\n \"dial\": \"+853\",\n \"code\": \"MO\"\n },\n {\n \"en\": \"Macedonia, The Former Yugoslav Republic of\",\n \"es\": \"República de Macedonia\",\n \"dial\": \"+389\",\n \"code\": \"MK\"\n },\n {\n \"en\": \"Madagascar\",\n \"es\": \"Madagascar\",\n \"dial\": \"+261\",\n \"code\": \"MG\"\n },\n {\n \"en\": \"Malawi\",\n \"es\": \"Malaui\",\n \"dial\": \"+265\",\n \"code\": \"MW\"\n },\n {\n \"en\": \"Malaysia\",\n \"es\": \"Malasia\",\n \"dial\": \"+60\",\n \"code\": \"MY\"\n },\n {\n \"en\": \"Maldives\",\n \"es\": \"Maldivas\",\n \"dial\": \"+960\",\n \"code\": \"MV\"\n },\n {\n \"en\": \"Mali\",\n \"es\": \"Malí\",\n \"dial\": \"+223\",\n \"code\": \"ML\"\n },\n {\n \"en\": \"Malta\",\n \"es\": \"Malta\",\n \"dial\": \"+356\",\n \"code\": \"MT\"\n },\n {\n \"en\": \"Marshall Islands\",\n \"es\": \"Islas Marshall\",\n \"dial\": \"+692\",\n \"code\": \"MH\"\n },\n {\n \"en\": \"Martinique\",\n \"es\": \"Martinica\",\n \"dial\": \"+596\",\n \"code\": \"MQ\"\n },\n {\n \"en\": \"Mauritania\",\n \"es\": \"Mauritania\",\n \"dial\": \"+222\",\n \"code\": \"MR\"\n },\n {\n \"en\": \"Mauritius\",\n \"es\": \"Mauricio\",\n \"dial\": \"+230\",\n \"code\": \"MU\"\n },\n {\n \"en\": \"Mayotte\",\n \"es\": \"Mayotte\",\n \"dial\": \"+262\",\n \"code\": \"YT\"\n },\n {\n \"en\": \"Mexico\",\n \"es\": \"México\",\n \"dial\": \"+52\",\n \"code\": \"MX\"\n },\n {\n \"en\": \"Micronesia, Federated States of\",\n \"es\": \"Estados Federados de Micronesia\",\n \"dial\": \"+691\",\n \"code\": \"FM\"\n },\n {\n \"en\": \"Moldova, Republic of\",\n \"es\": \"Moldavia\",\n \"dial\": \"+373\",\n \"code\": \"MD\"\n },\n {\n \"en\": \"Monaco\",\n \"es\": \"Monaco\",\n \"dial\": \"+377\",\n \"code\": \"MC\"\n },\n {\n \"en\": \"Mongolia\",\n \"es\": \"Mongolia\",\n \"dial\": \"+976\",\n \"code\": \"MN\"\n },\n {\n \"en\": \"Montenegro\",\n \"es\": \"Montenegro\",\n \"dial\": \"+382\",\n \"code\": \"ME\"\n },\n {\n \"en\": \"Montserrat\",\n \"es\": \"Montserrat\",\n \"dial\": \"+1664\",\n \"code\": \"MS\"\n },\n {\n \"en\": \"Morocco\",\n \"es\": \"Marruecos\",\n \"dial\": \"+212\",\n \"code\": \"MA\"\n },\n {\n \"en\": \"Mozambique\",\n \"es\": \"Mozambique\",\n \"dial\": \"+258\",\n \"code\": \"MZ\"\n },\n {\n \"en\": \"Myanmar\",\n \"es\": \"Birmania\",\n \"dial\": \"+95\",\n \"code\": \"MM\"\n },\n {\n \"en\": \"Namibia\",\n \"es\": \"Namibia\",\n \"dial\": \"+264\",\n \"code\": \"NA\"\n },\n {\n \"en\": \"Nauru\",\n \"es\": \"Nauru\",\n \"dial\": \"+674\",\n \"code\": \"NR\"\n },\n {\n \"en\": \"Nepal\",\n \"es\": \"Nepal\",\n \"dial\": \"+977\",\n \"code\": \"NP\"\n },\n {\n \"en\": \"Netherlands\",\n \"es\": \"Holanda\",\n \"dial\": \"+31\",\n \"code\": \"NL\"\n },\n {\n \"en\": \"Netherlands Antilles\",\n \"es\": \"Antillas Holandesas\",\n \"dial\": \"+599\",\n \"code\": \"AN\"\n },\n {\n \"en\": \"New Caledonia\",\n \"es\": \"Nueva Caledonia\",\n \"dial\": \"+687\",\n \"code\": \"NC\"\n },\n {\n \"en\": \"New Zealand\",\n \"es\": \"Nueva Zelanda\",\n \"dial\": \"+64\",\n \"code\": \"NZ\"\n },\n {\n \"en\": \"Nicaragua\",\n \"es\": \"Nicaragua\",\n \"dial\": \"+505\",\n \"code\": \"NI\"\n },\n {\n \"en\": \"Niger\",\n \"es\": \"Niger\",\n \"dial\": \"+227\",\n \"code\": \"NE\"\n },\n {\n \"en\": \"Nigeria\",\n \"es\": \"Nigeria\",\n \"dial\": \"+234\",\n \"code\": \"NG\"\n },\n {\n \"en\": \"Niue\",\n \"es\": \"Niue\",\n \"dial\": \"+683\",\n \"code\": \"NU\"\n },\n {\n \"en\": \"NorfolkIsland\",\n \"es\": \"IslaNorfolk\",\n \"dial\": \"+672\",\n \"code\": \"NF\"\n },\n {\n \"en\": \"NorthernMarianaIslands\",\n \"es\": \"IslasMarianasdelNorte\",\n \"dial\": \"+1670\",\n \"code\": \"MP\"\n },\n {\n \"en\": \"Norway\",\n \"es\": \"Noruega\",\n \"dial\": \"+47\",\n \"code\": \"NO\"\n },\n {\n \"en\": \"Oman\",\n \"es\": \"Omán\",\n \"dial\": \"+968\",\n \"code\": \"OM\"\n },\n {\n \"en\": \"Pakistan\",\n \"es\": \"Pakistán\",\n \"dial\": \"+92\",\n \"code\": \"PK\"\n },\n {\n \"en\": \"Palau\",\n \"es\": \"Palaos\",\n \"dial\": \"+680\",\n \"code\": \"PW\"\n },\n {\n \"en\": \"Panama\",\n \"es\": \"Panamá\",\n \"dial\": \"+507\",\n \"code\": \"PA\"\n },\n {\n \"en\": \"Papua New Guinea\",\n \"es\": \"Papúa Nueva Guinea\",\n \"dial\": \"+675\",\n \"code\": \"PG\"\n },\n {\n \"en\": \"Paraguay\",\n \"es\": \"Paraguay\",\n \"dial\": \"+595\",\n \"code\": \"PY\"\n },\n {\n \"en\": \"Peru\",\n \"es\": \"Perú\",\n \"dial\": \"+51\",\n \"code\": \"PE\"\n },\n {\n \"en\": \"Philippines\",\n \"es\": \"Filipinas\",\n \"dial\": \"+63\",\n \"code\": \"PH\"\n },\n {\n \"en\": \"Pitcairn\",\n \"es\": \"Islas Pitcairn\",\n \"dial\": \"+872\",\n \"code\": \"PN\"\n },\n {\n \"en\": \"Poland\",\n \"es\": \"Polonia\",\n \"dial\": \"+48\",\n \"code\": \"PL\"\n },\n {\n \"en\": \"Portugal\",\n \"es\": \"Portugal\",\n \"dial\": \"+351\",\n \"code\": \"PT\"\n },\n {\n \"en\": \"Puerto Rico\",\n \"es\": \"Puerto Rico\",\n \"dial\": \"+1939\",\n \"code\": \"PR\"\n },\n {\n \"en\": \"Qatar\",\n \"es\": \"Qatar\",\n \"dial\": \"+974\",\n \"code\": \"QA\"\n },\n {\n \"en\": \"Romania\",\n \"es\": \"Rumania\",\n \"dial\": \"+40\",\n \"code\": \"RO\"\n },\n {\n \"en\": \"Russia\",\n \"es\": \"Rusia\",\n \"dial\": \"+7\",\n \"code\": \"RU\"\n },\n {\n \"en\": \"Rwanda\",\n \"es\": \"Ruanda\",\n \"dial\": \"+250\",\n \"code\": \"RW\"\n },\n {\n \"en\": \"Réunion\",\n \"es\": \"Reunion\",\n \"dial\": \"+262\",\n \"code\": \"RE\"\n },\n {\n \"en\": \"Saint Barthélemy\",\n \"es\": \"San Bartolome\",\n \"dial\": \"+590\",\n \"code\": \"BL\"\n },\n {\n \"en\": \"Saint Helena, Ascension and Tristan Da Cunha\",\n \"es\": \"Santa Elena, Ascensión y Tristán de Acuña\",\n \"dial\": \"+290\",\n \"code\": \"SH\"\n },\n {\n \"en\": \"Saint Kitts and Nevis\",\n \"es\": \"San Cristóbal y Nieves\",\n \"dial\": \"+1869\",\n \"code\": \"KN\"\n },\n {\n \"en\": \"Saint Lucia\",\n \"es\": \"Santa Lucía\",\n \"dial\": \"+1758\",\n \"code\": \"LC\"\n },\n {\n \"en\": \"Saint Martin\",\n \"es\": \"Isla de San Martín\",\n \"dial\": \"+590\",\n \"code\": \"MF\"\n },\n {\n \"en\": \"Saint Pierre and Miquelon\",\n \"es\": \"San Pedro y Miquelon\",\n \"dial\": \"+508\",\n \"code\": \"PM\"\n },\n {\n \"en\": \"Saint Vincent and the Grenadines\",\n \"es\": \"San Vicente y las Granadinas\",\n \"dial\": \"+1784\",\n \"code\": \"VC\"\n },\n {\n \"en\": \"Samoa\",\n \"es\": \"Samoa\",\n \"dial\": \"+685\",\n \"code\": \"WS\"\n },\n {\n \"en\": \"San Marino\",\n \"es\": \"San Marino\",\n \"dial\": \"+378\",\n \"code\": \"SM\"\n },\n {\n \"en\": \"Sao Tome and Principe\",\n \"es\": \" Santo Tomé y Príncipe\",\n \"dial\": \"+239\",\n \"code\": \"ST\"\n },\n {\n \"en\": \"Saudi Arabia\",\n \"es\": \"Arabia Saudita\",\n \"dial\": \"+966\",\n \"code\": \"SA\"\n },\n {\n \"en\": \"Senegal\",\n \"es\": \"Senegal\",\n \"dial\": \"+221\",\n \"code\": \"SN\"\n },\n {\n \"en\": \"Serbia\",\n \"es\": \"Serbia\",\n \"dial\": \"+381\",\n \"code\": \"RS\"\n },\n {\n \"en\": \"Seychelles\",\n \"es\": \"Seychelles\",\n \"dial\": \"+248\",\n \"code\": \"SC\"\n },\n {\n \"en\": \"Sierra Leone\",\n \"es\": \"Sierra Leona\",\n \"dial\": \"+232\",\n \"code\": \"SL\"\n },\n {\n \"en\": \"Singapore\",\n \"es\": \"Singapur\",\n \"dial\": \"+65\",\n \"code\": \"SG\"\n },\n {\n \"en\": \"Slovakia\",\n \"es\": \"Eslovaquia\",\n \"dial\": \"+421\",\n \"code\": \"SK\"\n },\n {\n \"en\": \"Slovenia\",\n \"es\": \"Eslovenia\",\n \"dial\": \"+386\",\n \"code\": \"SI\"\n },\n {\n \"en\": \"Solomon Islands\",\n \"es\": \"Islas Salomón\",\n \"dial\": \"+677\",\n \"code\": \"SB\"\n },\n {\n \"en\": \"Somalia\",\n \"es\": \"Somalia\",\n \"dial\": \"+252\",\n \"code\": \"SO\"\n },\n {\n \"en\": \"South Africa\",\n \"es\": \"Sudáfrica\",\n \"dial\": \"+27\",\n \"code\": \"ZA\"\n },\n {\n \"en\": \"South Sudan\",\n \"es\": \"Sudán del Sur\",\n \"dial\": \"+211\",\n \"code\": \"SS\"\n },\n {\n \"en\": \"Spain\",\n \"es\": \"España\",\n \"dial\": \"+34\",\n \"code\": \"ES\"\n },\n {\n \"en\": \"Sri Lanka\",\n \"es\": \"Sri Lanka\",\n \"dial\": \"+94\",\n \"code\": \"LK\"\n },\n {\n \"en\": \"State of Palestine\",\n \"es\": \"Estado de Palestina\",\n \"dial\": \"+970\",\n \"code\": \"PS\"\n },\n {\n \"en\": \"Sudan\",\n \"es\": \"Sudán\",\n \"dial\": \"+249\",\n \"code\": \"SD\"\n },\n {\n \"en\": \"Suriname\",\n \"es\": \"Surinam\",\n \"dial\": \"+597\",\n \"code\": \"SR\"\n },\n {\n \"en\": \"Svalbard and Jan Mayen\",\n \"es\": \"Svalbard y Jan Mayen\",\n \"dial\": \"+47\",\n \"code\": \"SJ\"\n },\n {\n \"en\": \"Swaziland\",\n \"es\": \"Suazilandia\",\n \"dial\": \"+268\",\n \"code\": \"SZ\"\n },\n {\n \"en\": \"Sweden\",\n \"es\": \"Suecia\",\n \"dial\": \"+46\",\n \"code\": \"SE\"\n },\n {\n \"en\": \"Switzerland\",\n \"es\": \"Suiza\",\n \"dial\": \"+41\",\n \"code\": \"CH\"\n },\n {\n \"en\": \"Syrian Arab Republic\",\n \"es\": \"Siria\",\n \"dial\": \"+963\",\n \"code\": \"SY\"\n },\n {\n \"en\": \"Taiwan, Province of China\",\n \"es\": \"Taiwán\",\n \"dial\": \"+886\",\n \"code\": \"TW\"\n },\n {\n \"en\": \"Tayikistan\",\n \"es\": \"Tayikistán\",\n \"dial\": \"+992\",\n \"code\": \"TJ\"\n },\n {\n \"en\": \"Tanzania, United Republic of\",\n \"es\": \"Tanzania\",\n \"dial\": \"+255\",\n \"code\": \"TZ\"\n },\n {\n \"en\": \"Thailand\",\n \"es\": \"Tailandia\",\n \"dial\": \"+66\",\n \"code\": \"TH\"\n },\n {\n \"en\": \"Timor-Leste\",\n \"es\": \"Timor Oriental\",\n \"dial\": \"+670\",\n \"code\": \"TL\"\n },\n {\n \"en\": \"Togo\",\n \"es\": \"Togo\",\n \"dial\": \"+228\",\n \"code\": \"TG\"\n },\n {\n \"en\": \"Tokelau\",\n \"es\": \"Tokelau\",\n \"dial\": \"+690\",\n \"code\": \"TK\"\n },\n {\n \"en\": \"Tonga\",\n \"es\": \"Tonga\",\n \"dial\": \"+676\",\n \"code\": \"TO\"\n },\n {\n \"en\": \"Trinidad and Tobago\",\n \"es\": \"Trinidad y Tobago\",\n \"dial\": \"+1868\",\n \"code\": \"TT\"\n },\n {\n \"en\": \"Tunisia\",\n \"es\": \"Túnez\",\n \"dial\": \"+216\",\n \"code\": \"TN\"\n },\n {\n \"en\": \"Turkey\",\n \"es\": \"Turquía\",\n \"dial\": \"+90\",\n \"code\": \"TR\"\n },\n {\n \"en\": \"Turkmenistan\",\n \"es\": \"Turkmenistán\",\n \"dial\": \"+993\",\n \"code\": \"TM\"\n },\n {\n \"en\": \"Turks and Caicos Islands\",\n \"es\": \"Islas Turcas y Caicos\",\n \"dial\": \"+1649\",\n \"code\": \"TC\"\n },\n {\n \"en\": \"Tuvalu\",\n \"es\": \"Tuvalu\",\n \"dial\": \"+688\",\n \"code\": \"TV\"\n },\n {\n \"en\": \"Uganda\",\n \"es\": \"Uganda\",\n \"dial\": \"+256\",\n \"code\": \"UG\"\n },\n {\n \"en\": \"Ukraine\",\n \"es\": \"Ucrania\",\n \"dial\": \"+380\",\n \"code\": \"UA\"\n },\n {\n \"en\": \"United Arab Emirates\",\n \"es\": \"Emiratos Árabes Unidos\",\n \"dial\": \"+971\",\n \"code\": \"AE\"\n },\n {\n \"en\": \"United Kingdom\",\n \"es\": \"Reino Unido\",\n \"dial\": \"+44\",\n \"code\": \"GB\"\n },\n {\n \"en\": \"United States\",\n \"es\": \"Estados Unidos\",\n \"dial\": \"+1\",\n \"code\": \"US\"\n },\n {\n \"en\": \"Uruguay\",\n \"es\": \"Uruguay\",\n \"dial\": \"+598\",\n \"code\": \"UY\"\n },\n {\n \"en\": \"Uzbekistan\",\n \"es\": \"Uzbekistán\",\n \"dial\": \"+998\",\n \"code\": \"UZ\"\n },\n {\n \"en\": \"Vanuatu\",\n \"es\": \"Vanuatu\",\n \"dial\": \"+678\",\n \"code\": \"VU\"\n },\n {\n \"en\": \"Venezuela, Bolivarian Republic of\",\n \"es\": \"Venezuela\",\n \"dial\": \"+58\",\n \"code\": \"VE\"\n },\n {\n \"en\": \"Vietnam\",\n \"es\": \"Vietnam\",\n \"dial\": \"+84\",\n \"code\": \"VN\"\n },\n {\n \"en\": \"Virgin Islands, British\",\n \"es\": \"Islas Vírgenes Británicas\",\n \"dial\": \"+1284\",\n \"code\": \"VG\"\n },\n {\n \"en\": \"Virgin Islands, U.S.\",\n \"es\": \"Islas Vírgenes de los Estados Unidos\",\n \"dial\": \"+1340\",\n \"code\": \"VI\"\n },\n {\n \"en\": \"Wallis and Futuna\",\n \"es\": \"Wallis y Futuna\",\n \"dial\": \"+681\",\n \"code\": \"WF\"\n },\n {\n \"en\": \"Yemen\",\n \"es\": \"Yemen\",\n \"dial\": \"+967\",\n \"code\": \"YE\"\n },\n {\n \"en\": \"Zambia\",\n \"es\": \"Zambia\",\n \"dial\": \"+260\",\n \"code\": \"ZM\"\n },\n {\n \"en\": \"Zimbabwe\",\n \"es\": \"Zimbabue\",\n \"dial\": \"+263\",\n \"code\": \"ZW\"\n },\n {\n \"en\": \"Åland Islands\",\n \"es\": \"Åland\",\n \"dial\": \"+358\",\n \"code\": \"AX\"\n }\n]\n\nexport default countries","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";","import { Injectable } from '@angular/core';\nimport { Subject, Observable, BehaviorSubject } from 'rxjs';\n\n@Injectable()\nexport class SharedService {\n\n private sharedData: Subject = new Subject();\n sharedData$: Observable = this.sharedData.asObservable();\n\n constructor() { }\n\n setData(updatedData) {\n this.sharedData.next(updatedData);\n }\n\n}"],"sourceRoot":"webpack:///"}