{"version":3,"sources":["node_modules/@angular/common/locales/es.mjs","src/app/service/data/evento-data.service.ts","src/app/eventos/tiktok-pixel/tiktok-pixel.service.ts","src/app/eventos/meta-pixel/meta-pixel.service.ts","src/app/pipes/resumir.pipe copy.ts","src/app/pipes/horas2.pipe.ts","src/app/eventos/eventos.component.ts","src/app/eventos/eventos.component.html","src/app/service/usuario.model.ts","src/app/service/seguridad/auth.service.ts","src/app/models/codigo.model.ts","src/app/registrarse/registrarse.component.ts","src/app/registrarse/registrarse.component.html","src/app/olvido/olvido.component.ts","src/app/olvido/olvido.component.html","src/app/login/login.component.ts","src/app/login/login.component.html","src/app/eventos/evento.model.ts","node_modules/ngx-google-analytics/fesm2020/ngx-google-analytics.mjs","src/app/mensaje-link/mensaje-link.component.ts","src/app/mensaje-link/mensaje-link.component.html"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n// THIS CODE IS GENERATED - DO NOT MODIFY.\nconst u = undefined;\nfunction plural(val) {\n const n = val,\n i = Math.floor(Math.abs(val)),\n v = val.toString().replace(/^[^.]*\\.?/, '').length,\n e = parseInt(val.toString().replace(/^[^e]*(e([-+]?\\d+))?/, '$2')) || 0;\n if (n === 1) return 1;\n if (e === 0 && !(i === 0) && i % 1000000 === 0 && v === 0 || !(e >= 0 && e <= 5)) return 4;\n return 5;\n}\nexport default [\"es\", [[\"a. m.\", \"p. m.\"], u, u], u, [[\"D\", \"L\", \"M\", \"X\", \"J\", \"V\", \"S\"], [\"dom\", \"lun\", \"mar\", \"mié\", \"jue\", \"vie\", \"sáb\"], [\"domingo\", \"lunes\", \"martes\", \"miércoles\", \"jueves\", \"viernes\", \"sábado\"], [\"DO\", \"LU\", \"MA\", \"MI\", \"JU\", \"VI\", \"SA\"]], u, [[\"E\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"], [\"ene\", \"feb\", \"mar\", \"abr\", \"may\", \"jun\", \"jul\", \"ago\", \"sept\", \"oct\", \"nov\", \"dic\"], [\"enero\", \"febrero\", \"marzo\", \"abril\", \"mayo\", \"junio\", \"julio\", \"agosto\", \"septiembre\", \"octubre\", \"noviembre\", \"diciembre\"]], u, [[\"a. C.\", \"d. C.\"], u, [\"antes de Cristo\", \"después de Cristo\"]], 1, [6, 0], [\"d/M/yy\", \"d MMM y\", \"d 'de' MMMM 'de' y\", \"EEEE, d 'de' MMMM 'de' y\"], [\"H:mm\", \"H:mm:ss\", \"H:mm:ss z\", \"H:mm:ss (zzzz)\"], [\"{1}, {0}\", u, u, u], [\",\", \".\", \";\", \"%\", \"+\", \"-\", \"E\", \"×\", \"‰\", \"∞\", \"NaN\", \":\"], [\"#,##0.###\", \"#,##0 %\", \"#,##0.00 ¤\", \"#E0\"], \"EUR\", \"€\", \"euro\", {\n \"AUD\": [u, \"$\"],\n \"BRL\": [u, \"R$\"],\n \"BYN\": [u, \"р.\"],\n \"CAD\": [u, \"$\"],\n \"CNY\": [u, \"¥\"],\n \"EGP\": [],\n \"ESP\": [\"₧\"],\n \"GBP\": [u, \"£\"],\n \"HKD\": [u, \"$\"],\n \"ILS\": [u, \"₪\"],\n \"INR\": [u, \"₹\"],\n \"JPY\": [u, \"¥\"],\n \"KRW\": [u, \"₩\"],\n \"MXN\": [u, \"$\"],\n \"NZD\": [u, \"$\"],\n \"PHP\": [u, \"₱\"],\n \"RON\": [u, \"L\"],\n \"THB\": [\"฿\"],\n \"TWD\": [u, \"NT$\"],\n \"USD\": [\"US$\", \"$\"],\n \"XAF\": [],\n \"XCD\": [u, \"$\"],\n \"XOF\": []\n}, \"ltr\", plural];\n","import { API_URL_EVENTOS } from './../../app.constants';\r\nimport { Evento } from './../../eventos/evento.model';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EventoDataService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n\r\n\r\n apiEventos=`${API_URL_EVENTOS}/eventos`\r\n apiEventos2=`${API_URL_EVENTOS}`\r\n\r\n getAllEventosVisibles(){\r\n return this.http.get(`${this.apiEventos}/estado`);\r\n }\r\n getEventoIdPerfil(pIdEvento:string){\r\n return this.http.get(`${this.apiEventos}/${pIdEvento}/estado`);\r\n }\r\n\r\n getEventoIdPerfilNoSoldOut(pIdEvento:string){\r\n return this.http.get(`${this.apiEventos}/${pIdEvento}/localidad`);\r\n }\r\n\r\n getEventoPorLocalidadId(pIdLocalidad:number){\r\n return this.http.get(`${this.apiEventos2}/localidades/localidad/${pIdLocalidad}/evento`);\r\n }\r\n\r\n getEventoIdPerfilPulep(pIdEvento:string){\r\n return this.http.get(`${this.apiEventos}/pulep/${pIdEvento}`);\r\n }\r\n\r\n getAllEventosFiltro( pIdCiudad: number, pTexto: string, pTipo: string) {\r\n const url = `${this.apiEventos}/filtro/${pIdCiudad}/${pTexto}/${pTipo}`;\r\n return this.http.get(url);\r\n }\r\n\r\n getEventoId(pIdEvento){\r\n return this.http.get(`${this.apiEventos}/${pIdEvento}/perfil`);\r\n }\r\n\r\n getEtapasByEventoIdAndEstado(pIdEvento, pEstado){\r\n return this.http.get(`${API_URL_EVENTOS}/etapas/${pIdEvento}/estado/${pEstado}`);\r\n }\r\n\r\n\r\n getLocalidadesByEtapaEstaoAndEvento(pIdEvento, pEstado){\r\n return this.http.get(`${API_URL_EVENTOS}/localidades/estado/${pEstado}/evento/${pIdEvento}`);\r\n }\r\n\r\n\r\n\r\n}\r\n","import { DOCUMENT } from '@angular/common';\r\nimport { Inject, Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TiktokPixelService {\r\n\r\n private pixelInitialized = false;\r\n private readonly PIXEL_ID = 'CV3NC7JC77UD0HO3F3VG'\r\n private scriptElement: HTMLScriptElement | null = null;\r\n private noscriptElement: HTMLElement | null = null;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document\r\n ) { }\r\n\r\n /**\r\n * Inicializa el píxel de TikTok si aún no se ha inicializado\r\n * @param eventoId ID opcional del evento para inicializar solo para ciertos eventos\r\n */\r\n initPixel(eventoId?: number): void {\r\n // Si quieres que solo se inicialice para eventos específicos\r\n if (eventoId !== undefined && eventoId !== 1157) {\r\n this.removePixel()\r\n return;\r\n }\r\n \r\n // Si ya se inicializó, no lo hagas de nuevo\r\n if (this.pixelInitialized) {\r\n return;\r\n }\r\n \r\n try {\r\n const script = this.document.createElement('script');\r\n script.innerHTML = `\r\n !function (w, d, t) {\r\n w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=[\"page\",\"track\",\"identify\",\"instances\",\"debug\",\"on\",\"off\",\"once\",\"ready\",\"alias\",\"group\",\"enableCookie\",\"disableCookie\",\"holdConsent\",\"revokeConsent\",\"grantConsent\"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i {\r\n iframe.parentNode.removeChild(iframe);\r\n });\r\n \r\n // Crear una versión inofensiva de fbq para evitar errores\r\n window.fbq = function() {\r\n console.log('Meta Pixel fue desactivado. Llamada a fbq ignorada.');\r\n };\r\n \r\n // Marcar como no inicializado\r\n window['fbqInitialized'] = false;\r\n \r\n // Resetear el ID actual\r\n this.currentPixelId = null;\r\n \r\n console.log('Meta Pixel detenido y script eliminado correctamente.');\r\n } catch (error) {\r\n console.error('Error al intentar detener el Meta Pixel:', error);\r\n }\r\n } else {\r\n console.log('No hay Meta Pixel inicializado para detener.');\r\n }\r\n}\r\n}\r\n","import { PipeTransform, Pipe } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'resumir2',\r\n standalone: false\r\n})\r\nexport class ResumirPipe2 implements PipeTransform{\r\n\r\n transform(valor: string, args?:any){\r\n if(!valor){\r\n return null;\r\n }\r\n\r\n return valor.substr(0,71);\r\n\r\n }\r\n}","import { PipeTransform, Pipe } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'horas2',\r\n standalone: false\r\n})\r\nexport class HoraPipe2 implements PipeTransform{\r\n\r\n transform(valor: string, args?:any){\r\n \r\n \r\n if(valor){\r\n if(valor.slice(0,2)=='12'){\r\n return '12' +':' +valor.slice(3,5) +' PM';\r\n }\r\n if(valor.slice(0,2)=='13'){\r\n return '1' +':' +valor.slice(3,5) +' PM';\r\n }\r\n if(valor.slice(0,2)=='14'){\r\n return '2' +':' +valor.slice(3,5) +' PM';\r\n }\r\n if(valor.slice(0,2)=='15'){\r\n return '3' +':' +valor.slice(3,5) +' PM';\r\n }\r\n if(valor.slice(0,2)=='16'){\r\n return '4' +':' +valor.slice(3,5) +' PM';\r\n }\r\n if(valor.slice(0,2)=='17'){\r\n return '5' +':' +valor.slice(3,5) +' PM';\r\n }\r\n if(valor.slice(0,2)=='18'){\r\n return '6' +':' +valor.slice(3,5) +' PM';\r\n }\r\n if(valor.slice(0,2)=='19'){\r\n return '7' +':' +valor.slice(3,5) +' PM';\r\n }\r\n if(valor.slice(0,2)=='20'){\r\n return '8' +':' +valor.slice(3,5) +' PM';\r\n }\r\n if(valor.slice(0,2)=='21'){\r\n return '9' +':' +valor.slice(3,5) +' PM';\r\n }\r\n if(valor.slice(0,2)=='22'){\r\n return '10' +':' +valor.slice(3,5) +' PM';\r\n }\r\n if(valor.slice(0,2)=='23'){\r\n return '11' +':' +valor.slice(3,5) +' PM';\r\n }\r\n if(valor.slice(0,2)=='00'){\r\n return '12' +':' +valor.slice(3,5) +' AM';\r\n }\r\n \r\n if(valor.slice(0,2)=='01'){\r\n return '1' +':' +valor.slice(3,5) +' AM';\r\n }\r\n \r\n if(valor.slice(0,2)=='02'){\r\n return '2' +':' +valor.slice(3,5) +' AM';\r\n }\r\n if(valor.slice(0,2)=='03'){\r\n return '3' +':' +valor.slice(3,5) +' AM';\r\n }\r\n if(valor.slice(0,2)=='04'){\r\n return '4' +':' +valor.slice(3,5) +' AM';\r\n }\r\n if(valor.slice(0,2)=='05'){\r\n return '5' +':' +valor.slice(3,5) +' AM';\r\n }\r\n if(valor.slice(0,2)=='06'){\r\n return '6' +':' +valor.slice(3,5) +' AM';\r\n }\r\n if(valor.slice(0,2)=='07'){\r\n return '7' +':' +valor.slice(3,5) +' AM';\r\n }\r\n if(valor.slice(0,2)=='08'){\r\n return '8' +':' +valor.slice(3,5) +' AM';\r\n }\r\n if(valor.slice(0,2)=='09'){\r\n return '9' +':' +valor.slice(3,5) +' AM';\r\n }\r\n if(valor.slice(0,2)=='10'){\r\n return '10' +':' +valor.slice(3,5) +' AM';\r\n }\r\n if(valor.slice(0,2)=='11'){\r\n return '11' +':' +valor.slice(3,5) +' AM';\r\n }\r\n if(valor=='Por confirmar'){\r\n return valor\r\n }\r\n }\r\n else\r\n {\r\n return 'Por confirmar'\r\n }\r\n \r\n \r\n\r\n }\r\n}","import { EventoDataService } from './../service/data/evento-data.service';\r\n\r\nimport { Evento } from './evento.model';\r\nimport { Component, OnInit } from '@angular/core';\r\n\r\nimport { HoraPipe } from '../pipes/horas.pipe';\r\n\r\nimport { DatePipe, registerLocaleData } from '@angular/common';\r\nimport localeES from '@angular/common/locales/es';\r\n\r\nimport { ActivatedRoute, Route, Router } from '@angular/router';\r\n\r\nimport { Ciudad } from '../models/ciudad.model';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MensajeComponent } from '../mensaje/mensaje.component';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { TiktokPixelService } from './tiktok-pixel/tiktok-pixel.service';\r\nimport { MetaPixelService } from './meta-pixel/meta-pixel.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-eventos',\r\n templateUrl: './eventos.component.html',\r\n styleUrls: ['./eventos.component.css'],\r\n standalone: false,\r\n providers: [\r\n ]\r\n})\r\nexport class EventosComponent implements OnInit {\r\n \r\n eventos: Evento[] = [];\r\n busqudaNombre: string = ''\r\n cargando: boolean\r\n numeroDocumento: string\r\n idCiudad\r\n busqueda: string\r\n ciudades: Ciudad[]\r\n tipoEvento: string = '';\r\n tiposEventosDisponibles: any[];\r\n imagenesTipo4: any[] = [];\r\n resultados: any='';\r\n currentIndex: number= 0;\r\n intervalId: any;\r\n transitionActive = true;\r\n\r\n constructor(private eventoDataService: EventoDataService, private route: ActivatedRoute,private dialog: MatDialog,private router: Router, private tiktokPixelService: TiktokPixelService, private metaPixelService: MetaPixelService) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.tiktokPixelService.removePixel()\r\n this.metaPixelService.detenerYBorrarPixel()\r\n this.idCiudad = -1\r\n this.tipoEvento = \"-1\"\r\n this.cargando = true;\r\n \r\n this.route.queryParams.subscribe(params => {\r\n \r\n if (params['nombre']) {\r\n this.busqudaNombre = params['nombre'];\r\n }\r\n \r\n // Si hay parámetros en la URL, realizar búsqueda con esos filtros\r\n if (params['nombre']) {\r\n this.buscar()\r\n } else {\r\n this.cargarEventos();\r\n }\r\n }); \r\n }\r\n\r\n cargarEventos(){\r\n this.eventoDataService.getAllEventosVisibles().subscribe(\r\n {\r\n next: response => {\r\n this.cargando = false;\r\n if(response && response.length < 0){\r\n this.cargando = false;\r\n this.openMensaje(\"No hay eventos disponibles\")\r\n }else{\r\n this.handleSuccesfullGet(response);\r\n }\r\n }, error: error => {\r\n this.cargando = false;\r\n this.openMensaje(\"Hay un error, intenta mas tarde\")\r\n }\r\n }\r\n )\r\n }\r\n\r\n buscar() {\r\n this.cargando = true;\r\n this.eventos = [];\r\n \r\n if (this.busqudaNombre === '') {\r\n this.busqudaNombre = \"-1\";\r\n }\r\n\r\n // Actualizar la URL con los parámetros de búsqueda\r\n\r\n this.eventoDataService.getAllEventosFiltro(\r\n this.idCiudad || -1, \r\n this.busqudaNombre, \r\n this.tipoEvento || \"-1\"\r\n ).subscribe(\r\n response => {\r\n this.eventos = response.eventos;\r\n this.cargando = false;\r\n this.busqudaNombre = ''\r\n this.actualizarURLConParametros();\r\n },\r\n error => {\r\n this.cargando = false;\r\n this.openMensaje(\"Sucedió un error al buscar eventos\");\r\n }\r\n );\r\n }\r\n\r\n actualizarURLConParametros() {\r\n const queryParams: any = {};\r\n\r\n if (this.busqudaNombre && this.busqudaNombre !== '') {\r\n queryParams.nombre = this.busqudaNombre;\r\n }\r\n\r\n // Actualizar URL sin recargar la página\r\n this.router.navigate([], {\r\n relativeTo: this.route,\r\n queryParams: queryParams,\r\n queryParamsHandling: 'merge', // Mantener parámetros existentes que no se están modificando\r\n });\r\n }\r\n\r\n\r\n\r\n darURL(evento: Evento) {\r\n const primeraImagenTipo1 = evento.imagenes.find(imagen => imagen.tipo === 1);\r\n var urlPrimeraImagenTipo1 = \"\";\r\n if (primeraImagenTipo1) {\r\n urlPrimeraImagenTipo1 = primeraImagenTipo1.url;\r\n }\r\n return urlPrimeraImagenTipo1\r\n }\r\n\r\n\r\n\r\n darFecha(evento: Evento): string {\r\n\r\n if(evento.fecha==null){\r\n return 'Por confirmar'\r\n }\r\n\r\n registerLocaleData(localeES, 'es');\r\n let dataPipe: DatePipe = new DatePipe('es');\r\n let Word = dataPipe.transform(evento.fecha, 'EEE dd');\r\n Word = Word[0].toUpperCase() + Word.substr(1).toLowerCase();\r\n\r\n let Word2 = dataPipe.transform(evento.fecha, 'MMM');\r\n Word2 = Word2[0].toUpperCase() + Word2.substr(1).toLowerCase();\r\n\r\n\r\n let fecha = Word + \" de \" + Word2 + \" de \" + dataPipe.transform(evento.fecha, 'yyyy');\r\n\r\n return fecha\r\n }\r\n\r\n handleSuccesfullGet(response) {\r\n\r\n this.eventos = response.eventos;\r\n this.imagenesTipo4 = response.eventos.imagenes\r\n this.ciudades =response.ciudades;\r\n this.imagenesTipo4 = [];\r\n //traerme las imagenes tipo 4\r\n\r\n this.eventos.forEach(evento => {\r\n if (evento.imagenes && evento.imagenes.length > 0) {\r\n const imagenesTipo4 = evento.imagenes.filter(imagen => imagen.tipo == 4);\r\n if(imagenesTipo4.length > 0){\r\n imagenesTipo4.forEach(imagen => {\r\n this.imagenesTipo4.push({\r\n ...imagen,\r\n eventoId: evento.id\r\n })\r\n });\r\n }\r\n }\r\n });\r\n\r\n // Generar lista única de ciudades de eventos disponibles para el filtro\r\n this.ciudades = this.eventos\r\n .map(evento => evento.ciudad) // extrae la ciudad por cada evento\r\n .filter((ciudad, index,self) =>\r\n self.findIndex(c => c.id === ciudad.id)=== index) //elimina las ciudades duplicadas\r\n\r\n\r\n // Generar lista única de géneros de eventos disponibles para el filtro\r\n this.tiposEventosDisponibles = this.eventos\r\n .map(evento => evento.tipo) // Extrae el genero(tipo) por cada evento\r\n .filter((tipo, index, self) =>\r\n self.indexOf(tipo) === index // Eliminar duplicados\r\n );\r\n\r\n }\r\n\r\n //hace click en la imagen,lleva al evento de esa imagen\r\n irAlEvento(eventoId: string){\r\n this.router.navigate([`/eventos/evento/${eventoId}`])\r\n }\r\n\r\n openMensaje(mensajeT: string, openD?: string): void {\r\n let screenWidth = screen.width;\r\n let anchoDialog: string = '500px';\r\n let anchomax: string = '80vw';\r\n let altoDialog: string = '250';\r\n if (screenWidth <= 600) {\r\n anchoDialog = '100%';\r\n anchomax = '100%';\r\n altoDialog = 'auto';\r\n }\r\n const dialogRef = this.dialog.open(MensajeComponent, {\r\n width: anchoDialog,\r\n maxWidth: anchomax,\r\n height: altoDialog,\r\n data: {\r\n mensaje: mensajeT,\r\n },\r\n });\r\n }\r\n\r\n\r\n\r\n}\r\n\r\n\r\n","
\r\n
\r\n
\r\n\r\n
0\">\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n
\r\n

EVENTOS

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n

{{evento?.nombre |resumir2}}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n

{{darFecha(evento)}}

\r\n
\r\n
\r\n \"\"\r\n

{{ evento?.horaInicio | horas2}}

\r\n
\r\n
\r\n \"\"\r\n

{{evento?.ciudad?.nombre }}

\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n Ningún Evento Encontrado\r\n
\r\n\r\n
\r\n
\r\n","export class Usuario {\r\n \r\n\r\n nombre: string;\r\n numeroDocumento: string;\r\n tipoDocumento: string\r\n usuario: string\r\n correo:string;\r\n contrasena:string\r\n tipo:string\r\n permisosDeEditor: boolean\r\n roles:string[]\r\n \r\n}","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { API_URL_AUTH, API_URL_USUARIOS } from 'src/app/app.constants';\r\nimport { Md5 } from 'ts-md5';\r\nimport { Usuario } from '../usuario.model';\r\nimport { MensajeComponent } from 'src/app/mensaje/mensaje.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthService {\r\n private _usuario: Usuario;\r\n private _token: string;\r\n\r\n\r\n constructor(private http: HttpClient, private dialog: MatDialog, private router: Router) { }\r\n\r\n\r\n public get usuario(): Usuario {\r\n if (this._usuario != null) {\r\n return this._usuario;\r\n } else if (\r\n this._usuario == null &&\r\n sessionStorage.getItem('usuario') != null\r\n ) {\r\n this._usuario = JSON.parse(sessionStorage.getItem('usuario')) as Usuario;\r\n return this._usuario;\r\n }\r\n return new Usuario();\r\n }\r\n\r\n public get token(): string {\r\n if (this._token != null) {\r\n return this._token;\r\n } else if (this._token == null && sessionStorage.getItem('token') != null) {\r\n this._token = sessionStorage.getItem('token');\r\n return this._token;\r\n }\r\n return null;\r\n }\r\n\r\n\r\n login(usuario: Usuario): Observable {\r\n const urlEndPoint = API_URL_AUTH + '/oauth/token';\r\n\r\n const credenciales = btoa('alltickets.front' + ':' + 'l!Uq!Ujhfzyjd%Mk*a6H');\r\n\r\n const httpHeaders = new HttpHeaders({\r\n 'Content-Type': 'application/x-www-form-urlencoded',\r\n Authorization: 'Basic ' + credenciales,\r\n });\r\n\r\n let params = new URLSearchParams();\r\n params.set('grant_type', 'password');\r\n params.set('username', usuario.correo);\r\n var md5 = new Md5();\r\n\r\n var contra = md5.appendStr(usuario.contrasena).end().toString();\r\n\r\n params.set('password', contra);\r\n\r\n return this.http.post(urlEndPoint, params.toString(), {\r\n headers: httpHeaders,\r\n });\r\n }\r\n\r\n guardarUsuario(accessToken: string): void {\r\n let objeto = this.obtenerDatosDelTocken(accessToken);\r\n this._usuario = new Usuario();\r\n this._usuario.nombre = objeto.nombre;\r\n\r\n this._usuario.usuario = objeto.user_name;\r\n\r\n this._usuario.roles = objeto.authorities;\r\n\r\n this._usuario.numeroDocumento =objeto.cc\r\n \r\n\r\n this._usuario.roles.forEach(r=>{\r\n if(r==\"ROLE_CLIENTE\"){\r\n this._usuario.tipo='usuario'\r\n }\r\n else if(r==\"ROLE_PROMOTOR\"){\r\n this._usuario.tipo='promotor'\r\n }\r\n })\r\n\r\n if (this._usuario.tipo == 'usuario') {\r\n sessionStorage.setItem('usuario', this._usuario.usuario);\r\n sessionStorage.setItem('cc', this._usuario.numeroDocumento); \r\n sessionStorage.setItem('usuarioEntidad', JSON.stringify(this._usuario));\r\n this.dialog.closeAll();\r\n\r\n } else if (this._usuario.tipo == 'promotor') {\r\n this.openMensaje('

Nos hemos actualizado, para realizar tus ventas por favor ingresar a: https://organizadores.allticketscol.com

')\r\n }\r\n else{\r\n this.openMensaje('

Nos hemos actualizado, para realizar tus consultas por favor ingresar a: https://organizadores.allticketscol.com

')\r\n }\r\n\r\n }\r\n\r\n guardarToken(accessToken: string): void {\r\n this._token = accessToken;\r\n sessionStorage.setItem('token', accessToken);\r\n \r\n }\r\n\r\n obtenerDatosDelTocken(accessToken: string): any {\r\n if (accessToken != null) {\r\n return JSON.parse(atob(accessToken.split('.')[1]));\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n isAuthenticated(): boolean {\r\n let payload = this.obtenerDatosDelTocken(this.token);\r\n if (payload != null && payload.user_name && payload.user_name.length > 0) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n hasRole(role: string): boolean {\r\n if (\r\n this.usuario.roles != undefined &&\r\n this.usuario.roles.length > 0 &&\r\n this.usuario.roles.includes(role)\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n logout(): void {\r\n this._token = null;\r\n this._usuario = null;\r\n\r\n sessionStorage.clear();\r\n sessionStorage.removeItem('usuarioEntidad');\r\n sessionStorage.removeItem('token');\r\n \r\n sessionStorage.removeItem('usuario');\r\n sessionStorage.removeItem('promotor');\r\n\r\n }\r\n\r\n guardarSesionEnLocalStorage(): void {\r\n const sessionData = {\r\n token: sessionStorage.getItem('token'),\r\n usuario: sessionStorage.getItem('usuario'),\r\n usuarioEntidad: sessionStorage.getItem('usuarioEntidad')\r\n };\r\n localStorage.setItem('tempSession', JSON.stringify(sessionData));\r\n }\r\n\r\n //Carga la session desde el localstoreage y luego lo elimina, es asíncrono\r\n async cargarSesionDesdeLocalStorage(): Promise {\r\n const tempSession = localStorage.getItem('tempSession');\r\n if (tempSession) {\r\n const sessionData = JSON.parse(tempSession);\r\n \r\n sessionStorage.setItem('token', sessionData.token);\r\n sessionStorage.setItem('usuario', sessionData.usuario);\r\n sessionStorage.setItem('usuarioEntidad', sessionData.usuarioEntidad);\r\n \r\n this._token = sessionData.token;\r\n this._usuario = JSON.parse(sessionData.usuarioEntidad);\r\n \r\n localStorage.removeItem('tempSession');\r\n }\r\n }\r\n\r\n openMensaje(mensajeT:string,openD?:string):void{\r\n let screenWidth = screen.width;\r\n let anchoDialog:string = '500px';\r\n let anchomax:string = '80vw';\r\n let altoDialog:string = '250';\r\n if(screenWidth<=600){\r\n anchoDialog = '100%';\r\n anchomax = '100%';\r\n altoDialog = 'auto';\r\n }\r\n const dialogRef = this.dialog.open(MensajeComponent, {\r\n width: anchoDialog,\r\n maxWidth: anchomax,\r\n height: altoDialog,\r\n data:{\r\n mensaje:mensajeT\r\n }\r\n });\r\n }\r\n}","\r\nexport class Codigo {\r\n \r\n id:number;\r\n numeroDocumento: string;\r\n nombre: string;\r\n correo:string;\r\n tipo_documento: string;\r\n contrasena:string;\r\n\r\n celular:string;\r\n\t\r\n activo: boolean;\r\n\r\n publicidad: boolean;\r\n \r\n tipo:string;\r\n \r\n\r\n\r\n \r\n}","import { UsuariosDataService } from './../service/data/usuarios-data.service';\r\nimport { Cliente } from './../usuario/cliente.model';\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Md5 } from 'ts-md5';\r\nimport { MensajeComponent } from '../mensaje/mensaje.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Codigo } from '../models/codigo.model';\r\n\r\n@Component({\r\n selector: 'app-registrarse',\r\n templateUrl: './registrarse.component.html',\r\n styleUrls: ['./registrarse.component.css'],\r\n standalone: false\r\n})\r\nexport class RegistrarseComponent implements OnInit {\r\n usuario: Codigo;\r\n confimarcionCorreo: String\r\n confimarcionDocumento: null\r\n aceptoTerminos: boolean\r\n aceptoTratamiento: boolean\r\n\r\n\r\n constructor(private service: UsuariosDataService, private router: Router, public dialog: MatDialog) { }\r\n\r\n\r\n ngOnInit(): void {\r\n this.confimarcionCorreo = \"\"\r\n this.confimarcionDocumento = null\r\n this.aceptoTerminos = false\r\n this.aceptoTratamiento = false\r\n this.usuario = new Codigo()\r\n this.function()\r\n }\r\n\r\n //validar el correo y si esta bien, se vuelve verde, si no, sigue rojo\r\nvalidateEmail(){\r\n const emailField = document.getElementById('email') as HTMLInputElement;\r\n const emailPattern = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\r\n if (emailPattern.test(this.usuario.correo)) {\r\n emailField.style.borderLeft = '5px solid green';\r\n } else {\r\n emailField.style.borderLeft = '5px solid red';\r\n }\r\n}\r\n\r\n saveUsuario() {\r\n\r\n\r\n if (!this.usuario.correo.includes(\" \")) {\r\n\r\n\r\n if (this.aceptoTerminos) {\r\n if(this.aceptoTratamiento){\r\n if (this.confimarcionCorreo == this.usuario.correo) {\r\n\r\n if (this.confimarcionDocumento == this.usuario.numeroDocumento) {\r\n\r\n\r\n if (!this.usuario.numeroDocumento.includes(\" \") && !this.usuario.numeroDocumento.includes(\".\")) {\r\n var md5 = new Md5()\r\n\r\n var contra = this.usuario.contrasena;\r\n this.usuario.contrasena = md5.appendStr(contra).end().toString();\r\n \r\n\r\n this.service.createCliente(this.usuario).subscribe(response => {\r\n\r\n response\r\n if(response.mensaje==\"Los datos provisionados ya se encuentran registrados\"){\r\n this.openMensaje(response.mensaje)\r\n this.usuario.contrasena = \"\"\r\n }\r\n else{\r\n this.openMensaje(response.mensaje, 'closeAll');\r\n }\r\n\r\n },\r\n error => {\r\n error\r\n this.usuario.contrasena = \"\"\r\n }\r\n\r\n )\r\n\r\n\r\n }\r\n else {\r\n //alert(\"El número de documento no puede contener espacios ni puntos\")\r\n this.openMensaje('El número de documento no puede contener espacios ni puntos');\r\n }\r\n\r\n\r\n }\r\n else {\r\n //alert(\"Verifica el numero de documento\")\r\n this.openMensaje('Verifica el número de documento');\r\n }\r\n }\r\n else {\r\n //alert(\"Verifica el correo\")\r\n this.openMensaje('Verifica el correo');\r\n }\r\n }\r\n else{\r\n this.openMensaje('Debes aceptar tratamiento de datos');\r\n }\r\n }\r\n else{\r\n this.openMensaje('Debes aceptar términos y condiciones');\r\n }\r\n\r\n\r\n }\r\n else {\r\n //alert(\"El correo no permite espacios en blanco\")\r\n this.openMensaje('El correo no permite espacios en blanco');\r\n }\r\n\r\n\r\n\r\n\r\n\r\n }\r\n function() {\r\n var myInput = document.getElementById('bloquear');\r\n myInput.onpaste = function (e) {\r\n e.preventDefault();\r\n alert(\"esta acción está prohibida\");\r\n }\r\n\r\n myInput.oncopy = function (e) {\r\n e.preventDefault();\r\n alert(\"esta acción está prohibida\");\r\n }\r\n\r\n var myInput = document.getElementById('bloquear2');\r\n myInput.onpaste = function (e) {\r\n e.preventDefault();\r\n alert(\"esta acción está prohibida\");\r\n }\r\n\r\n myInput.oncopy = function (e) {\r\n e.preventDefault();\r\n alert(\"esta acción está prohibida\");\r\n }\r\n }\r\n\r\n publicidad() {\r\n if (this.usuario.publicidad == true) {\r\n this.usuario.publicidad = false\r\n }\r\n else {\r\n this.usuario.publicidad = true\r\n }\r\n }\r\n\r\n aceptarTerminos(){\r\n if (this.aceptoTerminos == true) {\r\n this.aceptoTerminos = false\r\n }\r\n else {\r\n this.aceptoTerminos = true\r\n }\r\n }\r\n\r\n aceptarTratamiento(){\r\n if (this.aceptoTratamiento == true) {\r\n this.aceptoTratamiento = false\r\n }\r\n else {\r\n this.aceptoTratamiento = true\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n openMensaje(mensajeT: string, openD?: string): void {\r\n let screenWidth = screen.width;\r\n let anchoDialog: string = '500px';\r\n let anchomax: string = '80vw';\r\n let altoDialog: string = '250';\r\n if (screenWidth <= 600) {\r\n anchoDialog = '100%';\r\n anchomax = '100%';\r\n altoDialog = 'auto';\r\n }\r\n const dialogRef = this.dialog.open(MensajeComponent, {\r\n width: anchoDialog,\r\n maxWidth: anchomax,\r\n height: altoDialog,\r\n data: {\r\n mensaje: mensajeT\r\n }\r\n });\r\n if (openD == 'closeAll') {\r\n dialogRef.afterClosed().subscribe((result) => {\r\n this.dialog.closeAll();\r\n });\r\n }\r\n }\r\n\r\n\r\n}\r\n","
\r\n\r\n
\r\n
\r\n \r\n cancel_presentation\r\n
\r\n

REGÍSTRATE

\r\n
Compra tus Tickets Premium
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n \r\n \r\n \r\n El nombre debe tener al menos 6 caracteres.\r\n \r\n
\r\n \r\n El nombre no puede contener números.\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n Verifica el\r\n número de documento\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n
\r\n\r\n \r\n Verifica que hayas escrito bien tu correo, ahí llegarán tus\r\n Tickets\r\n
\r\n\r\n
\r\n\r\n \r\n Verifica el\r\n correo\r\n
\r\n\r\n\r\n
\r\n\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n Acepto que me envíen\r\n publicidad\r\n
\r\n\r\n
\r\n \r\n He leído y acepto Términos y Condiciones\r\n
\r\n\r\n
\r\n \r\n He leído y acepto Tratamiento de datos \r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { UsuariosDataService } from '../service/data/usuarios-data.service';\r\n\r\n@Component({\r\n selector: 'app-olvido',\r\n templateUrl: './olvido.component.html',\r\n styleUrls: ['./olvido.component.css'],\r\n standalone: false\r\n})\r\nexport class OlvidoComponent implements OnInit {\r\n errorMessage: string;\r\n correo: string;\r\n constructor(private servicio: UsuariosDataService) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n enviar() {\r\n this.servicio.olvidoContrasenia(this.correo).subscribe((response) => {\r\n if(response){\r\n this.errorMessage = \"Correo exitosamente enviado en caso de estar registrado\"\r\n }\r\n else{\r\n this.errorMessage = \"Correo exitosamente enviado en caso de estar registrado\"\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n cancel_presentation\r\n
\r\n
\r\n

Recuperar mi contraseña

\r\n
Escribe el correo electrónico con el que te registraste!
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n {{errorMessage}}\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { RegistrarseComponent } from './../registrarse/registrarse.component';\r\n\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\n\r\n\r\nimport { OlvidoComponent } from '../olvido/olvido.component';\r\nimport { AuthService } from '../service/seguridad/auth.service';\r\nimport { Usuario } from '../service/usuario.model';\r\nimport { MensajeComponent } from '../mensaje/mensaje.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css'],\r\n standalone: false\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n\r\n \r\n usuario:Usuario\r\n errorMessage=\"Invalid credentials\";\r\n invalidLogin =false;\r\n constructor( \r\n //public autenticacion: HardcodedAutheticationService,\r\n public dialog: MatDialog,\r\n private auth:AuthService) { \r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.usuario = new Usuario();\r\n \r\n }\r\n\r\n\r\n \r\n handleLogin(){\r\n \r\n \r\n if(this.usuario.correo==null || this.usuario.contrasena==null){\r\n //alert('Username o Password vacios');\r\n this.openMensaje('Username o Password vacios');\r\n return;\r\n }\r\n\r\n this.auth.logout();\r\n\r\n this.usuario.correo=this.usuario.correo.trim();\r\n \r\n this.auth.login(this.usuario).subscribe({next:response => {\r\n\r\n this.auth.guardarUsuario(response.access_token);\r\n this.auth.guardarToken(response.access_token);\r\n \r\n let usuario = this.auth.usuario;\r\n\r\n \r\n \r\n },\r\n error:error => {\r\n if(error.status == 400){\r\n //alert('Usuario o clave incorrectos');\r\n this.openMensaje('Usuario o clave incorrectos');\r\n }\r\n this.usuario = new Usuario();\r\n this.invalidLogin =true;\r\n }}\r\n );\r\n\r\n\r\n }\r\n olvidoContrasenia(){\r\n const dialogRef = this.dialog.open(OlvidoComponent, {\r\n width: '600px' \r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n \r\n \r\n });\r\n }\r\n\r\n openDialog(): void {\r\n const dialogRef = this.dialog.open(RegistrarseComponent, {\r\n width: '600px',\r\n height:'750px'\r\n \r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n \r\n \r\n });\r\n }\r\n\r\n openMensaje(mensajeT:string,openD?:string):void{\r\n let screenWidth = screen.width;\r\n let anchoDialog:string = '500px';\r\n let anchomax:string = '80vw';\r\n let altoDialog:string = '250';\r\n if(screenWidth<=600){\r\n anchoDialog = '100%';\r\n anchomax = '100%';\r\n altoDialog = 'auto';\r\n }\r\n const dialogRef = this.dialog.open(MensajeComponent, {\r\n width: anchoDialog,\r\n maxWidth: anchomax,\r\n height: altoDialog,\r\n data:{\r\n mensaje:mensajeT\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n cancel_presentation\r\n
\r\n
\r\n

Iniciar Sesión

\r\n
Tu Perfil All Tickets - All Products
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n Ingresa con tu correo\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {{errorMessage}}\r\n
\r\n \r\n
\r\n
\r\n
\r\n ¿Olvidaste tu contraseña?\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
","import { Etapa } from './eventos-perfil/etapa.model';\r\nimport { Localidad } from '../models/localidad.model';\r\nimport { Foto } from '../models/foto.model';\r\nimport { Adicionales } from '../models/adicionales.model';\r\nimport { Ciudad } from '../models/ciudad.model';\r\n\r\nexport class Evento {\r\n id: number;\r\n pulep:string\r\n nombre:string;\r\n fecha:Date;\r\n descripcion:string;\r\n lugar:string;\r\n video:string;\r\n terminosYCondiciones:string;\r\n recomendaciones:string;\r\n \r\n \r\n imagenes:Foto[]=[];\r\n artistas;\r\n fechaFin:Date;\r\n mapa: string;\r\n localidades:Localidad[]; \r\n horaInicio:string;\r\n horaApertura:string;\r\n horaFin:string;\r\n etapas:Etapa[];\r\n \r\n visible:boolean;\r\n soldOut:boolean;\r\n mensaje:string;\r\n \r\n fechaApertura:Date;\r\n urlMapa:string;\r\n oculto:boolean;\r\n \r\n visibleAP:boolean;\r\n visibleAC:boolean;\r\n visibleAS:boolean;\r\n terminado:boolean;\r\n imprimir:boolean;\r\n visibleMin:boolean;\r\n tipo:string;\r\n adicionales:Adicionales[]\r\n fechaCambioEtapa:Date;\r\n metaPixel:string;\r\n googleAnalytic: string;\r\n mapa_id: number;\r\n\r\n ciudad:Ciudad\r\n}","import * as i0 from '@angular/core';\nimport { Directive, Input, InjectionToken, inject, isDevMode, Injectable, Inject, Optional, Host, APP_INITIALIZER, APP_BOOTSTRAP_LISTENER, NgModule } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { DOCUMENT, CommonModule } from '@angular/common';\nimport { Router, NavigationEnd } from '@angular/router';\nimport { filter, skip } from 'rxjs/operators';\nclass GaEventCategoryDirective {\n constructor() {}\n}\nGaEventCategoryDirective.ɵfac = function GaEventCategoryDirective_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || GaEventCategoryDirective)();\n};\nGaEventCategoryDirective.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: GaEventCategoryDirective,\n selectors: [[\"\", \"gaEvent\", \"\", \"gaCategory\", \"\"], [\"\", \"gaCategory\", \"\"]],\n inputs: {\n gaCategory: \"gaCategory\"\n },\n exportAs: [\"gaCategory\"],\n standalone: false\n});\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(GaEventCategoryDirective, [{\n type: Directive,\n args: [{\n selector: `[gaEvent][gaCategory],\n [gaCategory]`,\n exportAs: 'gaCategory'\n }]\n }], function () {\n return [];\n }, {\n gaCategory: [{\n type: Input\n }]\n });\n})();\n\n/**\n * Provide a Injection Token to global settings.\n */\nconst NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN = new InjectionToken('ngx-google-analytics-settings', {\n factory: () => ({\n trackingCode: '',\n enableTracing: false\n })\n});\n\n/**\n * Provide DOM Window reference.\n */\nconst NGX_WINDOW = new InjectionToken('ngx-window', {\n providedIn: 'root',\n factory: () => {\n const {\n defaultView\n } = inject(DOCUMENT);\n if (!defaultView) {\n throw new Error('Window is not available');\n }\n return defaultView;\n }\n});\n\n/**\n * Check if there is some global function called gtag on Window object, or create an empty function to doesn't brake codes...\n */\nfunction getDataLayerFn(window) {\n return window ? window['dataLayer'] = window['dataLayer'] || [] : null;\n}\n/**\n * Provides an injection token to access Google Analytics DataLayer Collection\n */\nconst NGX_DATA_LAYER = new InjectionToken('ngx-data-layer', {\n providedIn: 'root',\n factory: () => getDataLayerFn(inject(NGX_WINDOW))\n});\n\n/**\n * Check if there is some global function called gtag on Window object, or create an empty function to doesn't brake codes...\n */\nfunction getGtagFn(window, dataLayer) {\n return window ? window['gtag'] = window['gtag'] || function () {\n dataLayer.push(arguments);\n } : null;\n}\n/**\n * Provides an injection token to access Google Analytics Gtag Function\n */\nconst NGX_GTAG_FN = new InjectionToken('ngx-gtag-fn', {\n providedIn: 'root',\n factory: () => getGtagFn(inject(NGX_WINDOW), inject(NGX_DATA_LAYER))\n});\nclass GoogleAnalyticsService {\n constructor(settings, _document, _gtag) {\n this.settings = settings;\n this._document = _document;\n this._gtag = _gtag;\n }\n get document() {\n return this._document;\n }\n throw(err) {\n if ((this.settings.enableTracing || isDevMode()) && console && console.error) {\n console.error(err);\n }\n }\n /** @todo Change this to `Object.fromEntity()` in the future... */\n toKeyValue(map) {\n return map.size > 0 ? Array.from(map).reduce((obj, [key, value]) => Object.defineProperty(obj, key, {\n value,\n enumerable: true\n }), {}) : undefined;\n }\n /**\n * Call native GA Tag\n */\n gtag(...args) {\n try {\n this._gtag(...args.filter(x => x !== undefined));\n } catch (err) {\n this.throw(err);\n }\n }\n /**\n * Send an event trigger to GA. It is the same as call:\n * ```js\n * gtag('event', 'video_auto_play_start', {\n * 'event_label': 'My promotional video',\n * 'event_category': 'video_auto_play'\n * });\n * ```\n *\n * @param action 'video_auto_play_start'\n * @param category 'video_auto_play'\n * @param label 'My promotional video'\n * @param value An value to measure something\n * @param interaction If user interaction is performed\n */\n event(action, category, label, value, interaction, options) {\n try {\n const opt = new Map();\n if (category) {\n opt.set('event_category', category);\n }\n if (label) {\n opt.set('event_label', label);\n }\n if (value) {\n opt.set('value', value);\n }\n if (interaction !== undefined) {\n opt.set('interaction', interaction);\n }\n if (options) {\n Object.entries(options).map(([key, value]) => opt.set(key, value));\n }\n const params = this.toKeyValue(opt);\n if (params) {\n this.gtag('event', action, params);\n } else {\n this.gtag('event', action);\n }\n } catch (error) {\n this.throw(error);\n }\n }\n /**\n * Send an page view event. This is the same as\n *\n * ```js\n * gtag('config', 'GA_TRACKING_ID', {\n * 'page_title' : 'Homepage',\n * 'page_path': '/home'\n * });\n * ```\n *\n * The tracking ID is injected automatically by Inject Token NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN\n *\n * @param path /home\n * @param title Homepage\n * @param location '{ page_location }'\n * @param options '{ ... custom dimentions }'\n */\n pageView(path, title, location, options) {\n try {\n const opt = new Map([['page_path', path]]);\n if (title) {\n opt.set('page_title', title);\n }\n if (location || this.document) {\n opt.set('page_location', location || this.document.location.href);\n }\n if (options) {\n Object.entries(options).map(([key, value]) => opt.set(key, value));\n }\n this.gtag('config', this.settings.trackingCode, this.toKeyValue(opt));\n } catch (error) {\n this.throw(error);\n }\n }\n /**\n * Send an event to report a App Page View. It is the same as\n *\n * ```js\n * gtag('event', 'screen_view', {\n * 'app_name': 'myAppName',\n * 'screen_name' : 'Home'\n * });\n *\n * ```\n *\n * @param screen 'screen_name'\n * @param appName 'app_name'\n * @param appId 'app_id'\n * @param appVersion 'app_version'\n * @param installerId 'app_installer_id'\n */\n appView(screen, appName, appId, appVersion, installerId) {\n try {\n const opt = new Map([['screen_name', screen], ['app_name', appName]]);\n if (appId) {\n opt.set('app_id', appId);\n }\n if (appVersion) {\n opt.set('app_version', appVersion);\n }\n if (installerId) {\n opt.set('app_installer_id', installerId);\n }\n this.gtag('event', 'screen_view', this.toKeyValue(opt));\n } catch (error) {\n this.throw(error);\n }\n }\n /**\n * Defines persistent values on GoogleAnalytics\n *\n * @see https://developers.google.com/analytics/devguides/collection/gtagjs/setting-values\n *\n * ```js\n * gtag('set', {\n * 'currency': 'USD',\n * 'country': 'US'\n * });\n * ```\n */\n set(...options) {\n try {\n this._gtag('set', ...options);\n } catch (err) {\n this.throw(err);\n }\n }\n /**\n * Send an event to GA to report an application error. It is the same as\n *\n * ```js\n * gtag('event', 'exception', {\n * 'description': 'error_description',\n * 'fatal': false // set to true if the error is fatal\n * });\n * ```\n *\n * @param description 'error_description'\n * @param fatal set to true if the error is fatal\n */\n exception(description, fatal) {\n try {\n const opt = new Map();\n if (description) {\n opt.set('description', description);\n }\n if (fatal) {\n opt.set('fatal', fatal);\n }\n const params = this.toKeyValue(opt);\n if (params) {\n this.gtag('event', 'exception', this.toKeyValue(opt));\n } else {\n this.gtag('event', 'exception');\n }\n } catch (error) {\n this.throw(error);\n }\n }\n}\nGoogleAnalyticsService.ɵfac = function GoogleAnalyticsService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || GoogleAnalyticsService)(i0.ɵɵinject(NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN), i0.ɵɵinject(DOCUMENT), i0.ɵɵinject(NGX_GTAG_FN));\n};\nGoogleAnalyticsService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: GoogleAnalyticsService,\n factory: GoogleAnalyticsService.ɵfac,\n providedIn: 'root'\n});\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(GoogleAnalyticsService, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], function () {\n return [{\n type: undefined,\n decorators: [{\n type: Inject,\n args: [NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN]\n }]\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [NGX_GTAG_FN]\n }]\n }];\n }, null);\n})();\nclass GaEventDirective {\n constructor(gaCategoryDirective, gaService, settings, el) {\n this.gaCategoryDirective = gaCategoryDirective;\n this.gaService = gaService;\n this.settings = settings;\n this.el = el;\n this.gaBind = 'click';\n }\n set gaBind(gaBind) {\n if (this.bindSubscription) {\n this.bindSubscription.unsubscribe();\n }\n this._gaBind = gaBind;\n this.bindSubscription = fromEvent(this.el.nativeElement, gaBind).subscribe(() => this.trigger());\n }\n get gaBind() {\n return this._gaBind;\n }\n ngOnDestroy() {\n if (this.bindSubscription) {\n this.bindSubscription.unsubscribe();\n }\n }\n trigger() {\n try {\n // Observação: não é obrigatório especificar uma categoria, uma etiqueta ou um valor. Consulte Eventos padrão do Google Analytics abaixo.\n // if (!this.$gaCategoryDirective) {\n // throw new Error('You must provide a gaCategory attribute w/ gaEvent Directive.');\n // }\n if (!this.gaAction && !this.gaEvent) {\n throw new Error('You must provide a gaAction attribute to identify this event.');\n }\n this.gaService.event(this.gaAction || this.gaEvent, this.gaCategoryDirective ? this.gaCategoryDirective.gaCategory : undefined, this.gaLabel || this.label, this.gaValue, this.gaInteraction);\n } catch (err) {\n this.throw(err);\n }\n }\n throw(err) {\n if ((isDevMode() || this.settings.enableTracing) && console && console.warn) {\n console.warn(err);\n }\n }\n}\nGaEventDirective.ɵfac = function GaEventDirective_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || GaEventDirective)(i0.ɵɵdirectiveInject(GaEventCategoryDirective, 8), i0.ɵɵdirectiveInject(GoogleAnalyticsService), i0.ɵɵdirectiveInject(NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN), i0.ɵɵdirectiveInject(i0.ElementRef));\n};\nGaEventDirective.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: GaEventDirective,\n selectors: [[\"\", \"gaEvent\", \"\"]],\n inputs: {\n gaAction: \"gaAction\",\n gaLabel: \"gaLabel\",\n label: \"label\",\n gaValue: \"gaValue\",\n gaInteraction: \"gaInteraction\",\n gaEvent: \"gaEvent\",\n gaBind: \"gaBind\"\n },\n exportAs: [\"gaEvent\"],\n standalone: false\n});\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(GaEventDirective, [{\n type: Directive,\n args: [{\n selector: `[gaEvent]`,\n exportAs: 'gaEvent'\n }]\n }], function () {\n return [{\n type: GaEventCategoryDirective,\n decorators: [{\n type: Optional\n }]\n }, {\n type: GoogleAnalyticsService\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN]\n }]\n }, {\n type: i0.ElementRef\n }];\n }, {\n gaAction: [{\n type: Input\n }],\n gaLabel: [{\n type: Input\n }],\n label: [{\n type: Input\n }],\n gaValue: [{\n type: Input\n }],\n gaInteraction: [{\n type: Input\n }],\n gaEvent: [{\n type: Input\n }],\n gaBind: [{\n type: Input\n }]\n });\n})();\nclass GaEventFormInputDirective {\n constructor(gaEvent) {\n this.gaEvent = gaEvent;\n this.gaBind = 'focus';\n }\n set gaBind(bind) {\n if (this.gaEvent) {\n this.gaEvent.gaBind = bind;\n }\n }\n}\nGaEventFormInputDirective.ɵfac = function GaEventFormInputDirective_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || GaEventFormInputDirective)(i0.ɵɵdirectiveInject(GaEventDirective, 9));\n};\nGaEventFormInputDirective.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: GaEventFormInputDirective,\n selectors: [[\"input\", \"gaEvent\", \"\"], [\"select\", \"gaEvent\", \"\"], [\"textarea\", \"gaEvent\", \"\"]],\n inputs: {\n gaBind: \"gaBind\"\n },\n standalone: false\n});\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(GaEventFormInputDirective, [{\n type: Directive,\n args: [{\n selector: `input[gaEvent],\n select[gaEvent],\n textarea[gaEvent]`\n }]\n }], function () {\n return [{\n type: GaEventDirective,\n decorators: [{\n type: Host\n }, {\n type: Optional\n }]\n }];\n }, {\n gaBind: [{\n type: Input\n }]\n });\n})();\nvar GaActionEnum;\n(function (GaActionEnum) {\n GaActionEnum[\"ADD_PAYMENT_INFO\"] = \"add_payment_info\";\n GaActionEnum[\"ADD_TO_CART\"] = \"add_to_cart\";\n GaActionEnum[\"ADD_TO_WISHLIST\"] = \"add_to_wishlist\";\n GaActionEnum[\"BEGIN_CHECKOUT\"] = \"begin_checkout\";\n GaActionEnum[\"CHECKOUT_PROGRESS\"] = \"checkout_progress\";\n GaActionEnum[\"GENERATE_LEAD\"] = \"generate_lead\";\n GaActionEnum[\"LOGIN\"] = \"login\";\n GaActionEnum[\"PURCHASE\"] = \"purchase\";\n GaActionEnum[\"REFUND\"] = \"refund\";\n GaActionEnum[\"REMOVE_FROM_CART\"] = \"remove_from_cart\";\n GaActionEnum[\"SEARCH\"] = \"search\";\n GaActionEnum[\"SELECT_CONTENT\"] = \"select_content\";\n GaActionEnum[\"SET_CHECKOUT_OPTION\"] = \"set_checkout_option\";\n GaActionEnum[\"SHARE\"] = \"share\";\n GaActionEnum[\"SIGN_UP\"] = \"sign_up\";\n GaActionEnum[\"VIEW_ITEM\"] = \"view_item\";\n GaActionEnum[\"VIEW_ITEM_LIST\"] = \"view_item_list\";\n GaActionEnum[\"VIEW_PROMOTION\"] = \"view_promotion\";\n GaActionEnum[\"VIEW_SEARCH_RESULT\"] = \"view_search_results\";\n GaActionEnum[\"VIEW_SEARCH_RESULTS\"] = \"view_search_results\";\n})(GaActionEnum || (GaActionEnum = {}));\n\n/**\n * Provide a DI Configuration to attach GA Initialization at Angular Startup Cycle.\n */\nconst NGX_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER = {\n provide: APP_INITIALIZER,\n multi: true,\n useFactory: GoogleAnalyticsInitializer,\n deps: [NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN, NGX_GTAG_FN, DOCUMENT]\n};\n/**\n * Create a script element on DOM and link it to Google Analytics tracking code URI.\n * After that, execute exactly same init process as tracking snippet code.\n */\nfunction GoogleAnalyticsInitializer(settings, gtag, document) {\n return async () => {\n if (!settings.trackingCode) {\n if (!isDevMode()) {\n console.error('Empty tracking code for Google Analytics. Make sure to provide one when initializing NgxGoogleAnalyticsModule.');\n }\n return;\n }\n if (!gtag) {\n if (!isDevMode()) {\n console.error('Was not possible create or read gtag() fn. Make sure this module is running on a Browser w/ access to Window interface.');\n }\n return;\n }\n if (!document) {\n if (!isDevMode()) {\n console.error('Was not possible to access Document interface. Make sure this module is running on a Browser w/ access do Document interface.');\n }\n }\n // Set default ga.js uri\n settings.uri = settings.uri || `https://www.googletagmanager.com/gtag/js?id=${settings.trackingCode}`;\n // these commands should run first!\n settings.initCommands = settings?.initCommands ?? [];\n // assert config command\n if (!settings.initCommands.find(x => x.command === 'config')) {\n settings.initCommands.unshift({\n command: 'config',\n values: [settings.trackingCode]\n });\n }\n // assert js command\n if (!settings.initCommands.find(x => x.command === 'js')) {\n settings.initCommands.unshift({\n command: 'js',\n values: [new Date()]\n });\n }\n for (const command of settings.initCommands) {\n gtag(command.command, ...command.values);\n }\n const s = document.createElement('script');\n s.async = true;\n s.src = settings.uri;\n if (settings.nonce) {\n s.setAttribute('nonce', settings.nonce);\n }\n const head = document.getElementsByTagName('head')[0];\n head.appendChild(s);\n };\n}\n\n/**\n * Provide a Injection Token to global settings.\n */\nconst NGX_GOOGLE_ANALYTICS_ROUTING_SETTINGS_TOKEN = new InjectionToken('ngx-google-analytics-routing-settings', {\n factory: () => ({})\n});\n\n/**\n * Provide a DI Configuration to attach GA Trigger to Router Events at Angular Startup Cycle.\n */\nconst NGX_GOOGLE_ANALYTICS_ROUTER_INITIALIZER_PROVIDER = {\n provide: APP_BOOTSTRAP_LISTENER,\n multi: true,\n useFactory: GoogleAnalyticsRouterInitializer,\n deps: [NGX_GOOGLE_ANALYTICS_ROUTING_SETTINGS_TOKEN, GoogleAnalyticsService]\n};\n/**\n * Attach a listener to `NavigationEnd` Router event. So, every time Router finish the page resolution it should call `NavigationEnd` event.\n * We assume that NavigationEnd is the final page resolution and call GA `page_view` command.\n *\n * To avoid double binds, we also destroy the subscription when de Bootstrap Component is destroied. But, we don't know for sure\n * that this strategy does not cause double bind on multiple bootstrap components.\n *\n * We are using de component's injector reference to resolve Router, sou I hope there is no problem w/ double bing.\n *\n * If you have this problem, I encourage not Use NgxGoogleAnalyticsRouterModule and atach the listener on AppComponent initialization.\n */\nfunction GoogleAnalyticsRouterInitializer(settings, gaService) {\n return async c => {\n const router = c.injector.get(Router);\n const {\n include = [],\n exclude = []\n } = settings ?? {};\n const includeRules = normalizePathRules(include);\n const excludeRules = normalizePathRules(exclude);\n const subs = router.events.pipe(filter(event => event instanceof NavigationEnd), skip(1),\n // Prevend double views on the first tigger (because GA Already send one ping on setup)\n filter(event => includeRules.length > 0 ? includeRules.some(rule => rule.test(event.urlAfterRedirects)) : true), filter(event => excludeRules.length > 0 ? !excludeRules.some(rule => rule.test(event.urlAfterRedirects)) : true)).subscribe(event => gaService.pageView(event.urlAfterRedirects, undefined));\n // Cleanup\n c.onDestroy(() => subs.unsubscribe());\n };\n}\n/** Converts all path rules from string to Regex instances */\nfunction normalizePathRules(rules) {\n return rules.map(rule => rule instanceof RegExp ? rule : new RegExp(`^${rule.replace('*', '.*')}$`, 'i'));\n}\n\n/**\n * Install Google Analytics Tracking code on your environment and configure tracking ID.\n *\n * This module should be a dependency on the highest level module of the application, i.e. AppModule in most use cases.\n */\nclass NgxGoogleAnalyticsModule {\n /**\n * You should provide a valid Google TrackingCode. This code will be provided to the entire application by\n * `NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN` token. You can inject this code in you components if you like by\n * use the following injection code `@Inject(NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN) gaConfig: IGoogleAnalyticsSettings`\n *\n * @param trackingCode The Google Tracking Code\n * @param initCommands When placed, it will run any GA Commands in sequence after setup GA environment.\n * @param uri When placed, it will change the default js URI to the provided one.\n * @param enableTracing When true, trace GA tracking errors on production mode.\n * @param nonce When placed, nonce will be added to script tag.\n */\n static forRoot(trackingCode, initCommands = [], uri, enableTracing, nonce) {\n return {\n ngModule: NgxGoogleAnalyticsModule,\n providers: [{\n provide: NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN,\n useValue: {\n trackingCode,\n initCommands,\n uri,\n enableTracing,\n nonce\n }\n }, NGX_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER]\n };\n }\n}\nNgxGoogleAnalyticsModule.ɵfac = function NgxGoogleAnalyticsModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || NgxGoogleAnalyticsModule)();\n};\nNgxGoogleAnalyticsModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NgxGoogleAnalyticsModule\n});\nNgxGoogleAnalyticsModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NgxGoogleAnalyticsModule, [{\n type: NgModule,\n args: [{\n imports: [],\n declarations: [GaEventDirective, GaEventCategoryDirective, GaEventFormInputDirective],\n exports: [GaEventDirective, GaEventCategoryDirective, GaEventFormInputDirective]\n }]\n }], null, null);\n})();\n\n/**\n * Attach a listener to `NavigationEnd` Router event. So, every time Router finish the page resolution it should call `NavigationEnd` event.\n * We assume that NavigationEnd is the final page resolution and call GA `page_view` command.\n *\n * To avoid double binds, we also destroy the subscription when de Bootstrap Component is destroied. But, we don't know for sure\n * that this strategy does not cause double bind on multiple bootstrap components.\n *\n * We are using de component's injector reference to resolve Router, sou I hope there is no problem w/ double bing.\n *\n * If you have this problem, I encourage not Use NgxGoogleAnalyticsRouterModule and atach the listener on AppComponent initialization.\n *\n * This Module is just a sugar for:\n *\n```typescript\nconstructor(private router: Router) {}\n...\nngOnInit() {\n ...\n this.router\n .events\n .pipe(takeUntil(this.onDestroy$))\n .subscribe(event => {\n if (event instanceof NavigationEnd) {\n gaService.pageView(event.urlAfterRedirects, undefined);\n }\n });\n```\n */\nclass NgxGoogleAnalyticsRouterModule {\n static forRoot(settings) {\n return {\n ngModule: NgxGoogleAnalyticsRouterModule,\n providers: [{\n provide: NGX_GOOGLE_ANALYTICS_ROUTING_SETTINGS_TOKEN,\n useValue: settings ?? {}\n }]\n };\n }\n}\nNgxGoogleAnalyticsRouterModule.ɵfac = function NgxGoogleAnalyticsRouterModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || NgxGoogleAnalyticsRouterModule)();\n};\nNgxGoogleAnalyticsRouterModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NgxGoogleAnalyticsRouterModule\n});\nNgxGoogleAnalyticsRouterModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n providers: [NGX_GOOGLE_ANALYTICS_ROUTER_INITIALIZER_PROVIDER],\n imports: [CommonModule, NgxGoogleAnalyticsModule]\n});\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NgxGoogleAnalyticsRouterModule, [{\n type: NgModule,\n args: [{\n imports: [CommonModule, NgxGoogleAnalyticsModule],\n providers: [NGX_GOOGLE_ANALYTICS_ROUTER_INITIALIZER_PROVIDER],\n declarations: []\n }]\n }], null, null);\n})();\n\n/*\n * Public API Surface of ngx-google-analytics\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { GaActionEnum, GaEventCategoryDirective, GaEventDirective, GaEventFormInputDirective, GoogleAnalyticsInitializer, GoogleAnalyticsRouterInitializer, GoogleAnalyticsService, NGX_DATA_LAYER, NGX_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER, NGX_GOOGLE_ANALYTICS_ROUTER_INITIALIZER_PROVIDER, NGX_GOOGLE_ANALYTICS_ROUTING_SETTINGS_TOKEN, NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN, NGX_GTAG_FN, NGX_WINDOW, NgxGoogleAnalyticsModule, NgxGoogleAnalyticsRouterModule, getDataLayerFn, getGtagFn };\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\n\r\n\r\n@Component({\r\n selector: 'app-mensaje-link',\r\n templateUrl: './mensaje-link.component.html',\r\n styleUrls: ['./mensaje-link.component.css'],\r\n standalone: false\r\n})\r\nexport class MensajeLinkComponent implements OnInit {\r\n\r\n mensaje\r\n id\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any, private dialog:MatDialog ) { }\r\n\r\n ngOnInit(): void {\r\n this.mensaje = this.data.mensaje\r\n this.id = this.data.id\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n

{{mensaje}} https://allproductscol.com/eventos/evento/{{id}}

\r\n \r\n
\r\n
\r\n
"],"mappings":"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","names":["document","window","value","screen","GaActionEnum","document"],"x_google_ignoreList":[0,18]}