wm-menu 1.2.9 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -333,28 +333,23 @@
333
333
  this.IdsAlertasPanicoActivas = new Set(); // Almacena los IDs de las alertas ya manejadas
334
334
  this.soundTimeout = null; // Controla el temporizador del sonido
335
335
  this.isRunning = false;
336
- console.log('WmMenuAlertaPanicoService inicializado.');
337
336
  }
338
337
  WmMenuAlertaPanicoService.prototype.iniciarProceso = function (intervalMs, callback, urlObtenerParametro, token, rutaAudio) {
339
338
  var _this = this;
340
- console.log('iniciarProceso llamado con parámetros:', { intervalMs: intervalMs, urlObtenerParametro: urlObtenerParametro, token: token, rutaAudio: rutaAudio });
341
339
  this.rutaAudio = rutaAudio;
342
340
  var iniciarConInteraccion = function () {
343
- console.log('iniciarConInteraccion ejecutado.');
344
341
  _this.wmMenuServicioService
345
342
  .menuApiObtener(urlObtenerParametro, null, token, 'ReporteAlertasPanico')
346
343
  .subscribe(function (resp) {
347
- console.log('Respuesta obtenida de menuApiObtener:', resp);
344
+ // validar si el parametro ReporteAlertasPanico esta encendido
348
345
  if (resp && resp.length > 0 && resp[0].Valor == 1) {
349
346
  if (_this.isRunning) {
350
- console.log('Proceso ya está corriendo.');
351
347
  return;
352
348
  }
349
+ // Inicializar la variable desde localStorage
353
350
  var storedIds = localStorage.getItem('ALERTAS_PANICO_ACTIVAS_WM');
354
351
  _this.IdsAlertasPanicoActivas = storedIds ? new Set(JSON.parse(storedIds)) : new Set();
355
- console.log('IdsAlertasPanicoActivas inicializado:', _this.IdsAlertasPanicoActivas);
356
352
  var ejecutarProceso_1 = function () {
357
- console.log('ejecutarProceso iniciado.');
358
353
  _this.isRunning = true;
359
354
  callback();
360
355
  setTimeout(function () {
@@ -367,49 +362,42 @@
367
362
  });
368
363
  };
369
364
  ['drag', 'click'].forEach(function (evento) {
370
- console.log("Evento " + evento + " registrado para iniciar proceso.");
371
365
  document.addEventListener(evento, function () {
372
366
  iniciarConInteraccion();
373
367
  }, { once: true });
374
368
  });
375
369
  };
376
370
  WmMenuAlertaPanicoService.prototype.stopProcess = function () {
377
- console.log('stopProcess ejecutado.');
378
371
  this.isRunning = false;
379
372
  if (this.subscription) {
380
373
  this.subscription.unsubscribe();
381
374
  }
382
375
  };
383
376
  WmMenuAlertaPanicoService.prototype.ngOnDestroy = function () {
384
- console.log('ngOnDestroy ejecutado.');
385
377
  this.stopSound();
386
378
  this.stopFlashingTitle();
387
379
  };
388
380
  WmMenuAlertaPanicoService.prototype.playSound = function () {
389
381
  var _this = this;
390
- console.log('playSound llamado.');
391
382
  if (this.isPlaying)
392
383
  return; // Evita reproducir si ya está sonando
393
384
  this.isPlaying = true;
394
385
  if (!this.audio) {
395
386
  this.audio = new Audio(this.rutaAudio); // Ruta al archivo de sonido
396
387
  }
397
- console.log("Audio cargado: ", this.audio);
398
388
  this.audio.loop = true; // Reproducir en bucle
399
389
  this.audio.play()
400
390
  .then(function () {
401
- console.log('Sonido reproduciéndose.');
402
391
  // Detener el sonido después de 10 segundos
403
392
  _this.soundTimeout = setTimeout(function () {
404
393
  _this.stopSound();
405
394
  }, 10000); // Detener después de 10 segundos
406
395
  })
407
396
  .catch(function (error) {
408
- console.error('Error al reproducir el sonido:', error);
397
+ console.log('Error al reproducir el sonido:', error);
409
398
  });
410
399
  };
411
400
  WmMenuAlertaPanicoService.prototype.stopSound = function () {
412
- console.log('stopSound llamado.');
413
401
  if (this.audio) {
414
402
  this.audio.pause();
415
403
  this.audio.currentTime = 0; // Reinicia el sonido
@@ -422,7 +410,6 @@
422
410
  };
423
411
  WmMenuAlertaPanicoService.prototype.startFlashingTitle = function () {
424
412
  var _this = this;
425
- console.log('startFlashingTitle llamado.');
426
413
  var toggle = false;
427
414
  // Almacenar el título original si aún no se ha guardado
428
415
  if (!this.originalTitle) {
@@ -437,7 +424,6 @@
437
424
  }
438
425
  };
439
426
  WmMenuAlertaPanicoService.prototype.stopFlashingTitle = function () {
440
- console.log('stopFlashingTitle llamado.');
441
427
  if (this.intervalId) {
442
428
  clearInterval(this.intervalId);
443
429
  this.intervalId = null;
@@ -446,16 +432,13 @@
446
432
  };
447
433
  WmMenuAlertaPanicoService.prototype.revisarAlertasPendientes = function (urlObtenerAlertasPanico, token) {
448
434
  var _this = this;
449
- console.log('revisarAlertasPendientes llamado con parámetros:', { urlObtenerAlertasPanico: urlObtenerAlertasPanico, token: token });
450
435
  var helper = new angularJwt.JwtHelperService();
451
436
  var decodedToken = helper.decodeToken(token);
452
437
  this.wmMenuServicioService
453
438
  .menuApiObtener(urlObtenerAlertasPanico, decodedToken['id_usuario'], token)
454
439
  .subscribe(function (resp) {
455
- console.log('Respuesta obtenida de revisarAlertasPendientes:', resp);
456
440
  if (resp && resp.length > 0) {
457
441
  var alertasIds_1 = resp.map(function (alerta) { return alerta.IdAlertaPanico; });
458
- console.log('IDs de alertas obtenidas:', alertasIds_1);
459
442
  // Eliminar IDs que no están en la respuesta del servicio
460
443
  _this.IdsAlertasPanicoActivas.forEach(function (id) {
461
444
  if (!alertasIds_1.includes(id)) {
@@ -496,18 +479,18 @@
496
479
  }());
497
480
 
498
481
  var WmMenuComponent = /** @class */ (function () {
499
- function WmMenuComponent(wmMenuServicioService, wmMenuAlertaPanicoService) {
482
+ function WmMenuComponent(wmMenuServicioService, alertaPanicoService) {
500
483
  this.wmMenuServicioService = wmMenuServicioService;
501
- this.wmMenuAlertaPanicoService = wmMenuAlertaPanicoService;
502
- this.intervaloPeticionesMs = 60000;
484
+ this.alertaPanicoService = alertaPanicoService;
503
485
  this.menuSecundarioSel = new MenuSecundario();
504
486
  this.menuLateralAbierto = false;
505
487
  this.menuIdioma = [];
488
+ this.intervaloPeticionesMs = 60000;
506
489
  }
507
490
  WmMenuComponent.prototype.ngOnInit = function () {
508
491
  var _this = this;
509
- this.wmMenuAlertaPanicoService.iniciarProceso(this.intervaloPeticionesMs, function () { return _this.wmMenuAlertaPanicoService.revisarAlertasPendientes(_this.urlObtenerAlertasPanico, _this.token); }, this.urlObtenerParametro, this.token, this.rutaAudio);
510
492
  this.cargarMenuCuenta();
493
+ this.alertaPanicoService.iniciarProceso(this.intervaloPeticionesMs, function () { return _this.alertaPanicoService.revisarAlertasPendientes(_this.urlObtenerAlertasPanico, _this.token); }, this.urlObtenerParametro, this.token, this.rutaAudio);
511
494
  if (this.urlMenu && this.token) {
512
495
  var helper = new angularJwt.JwtHelperService();
513
496
  var decodedToken = helper.decodeToken(this.token);
@@ -1 +1 @@
1
- {"version":3,"file":"wm-menu.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://wm-menu/lib/wm-menu/model/wm-menu-cuenta.model.ts","ng://wm-menu/lib/wm-menu/services/wm-menu-servicio.service.ts","ng://wm-menu/lib/wm-menu/services/wm-menu-alerta-panico.service.ts","ng://wm-menu/lib/wm-menu/wm-menu.component.ts","ng://wm-menu/lib/wm-menu.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export class MenuSecundario {\r\n icono: string;\r\n titulo: string;\r\n hijos: MenuSecundarioHijo[] = [];\r\n}\r\n\r\nexport class MenuSecundarioHijo {\r\n icono: string;\r\n titulo: string;\r\n url: string;\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { map, catchError } from 'rxjs/operators';\r\nimport { throwError, Observable } from 'rxjs';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { MatIconRegistry } from '@angular/material/icon';\r\nimport { MenuPrincipal } from '../model/wm-menu-principal.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class WmMenuServicioService {\r\n\r\n constructor(private http: HttpClient, private iconRegistry: MatIconRegistry, private sanitizer: DomSanitizer) { }\r\n\r\n menuApiObtener(url:string, idUsuario: string, token:string, codLogicaParametro = \"\"): Observable<any> {\r\n const headers = new HttpHeaders({\r\n 'Authorization': `Bearer ${token}`\r\n });\r\n \r\n let myParams = new HttpParams();\r\n if (codLogicaParametro.length > 0) {\r\n myParams = myParams.append(\"codLogica\", codLogicaParametro);\r\n }\r\n myParams = myParams.append(\"ctrlActivo\", \"true\");\r\n myParams = myParams.append(\"conPadres\", \"true\");\r\n if (idUsuario != null)\r\n myParams = myParams.append(\"idUsuario\", idUsuario.toString());\r\n\r\n return this.http.get(url, { headers, params: myParams }).pipe(\r\n map(resp => {\r\n return resp;\r\n }),\r\n catchError(error => {\r\n return throwError(error.error);\r\n })\r\n );\r\n }\r\n\r\n mapearMenu(respApi: any): MenuPrincipal[] {\r\n respApi = respApi.sort((a, b) => a.Posicion > b.Posicion?\"1\":\"-1\");\r\n\r\n for (const key in respApi) {\r\n const element = respApi[key];\r\n if (element.Icono.startsWith(\"http\")) {\r\n var iconSvg = 'wm-icon-menu-' + key;\r\n this.iconRegistry.addSvgIcon(\r\n iconSvg,\r\n this.sanitizer.bypassSecurityTrustResourceUrl(element.Icono));\r\n respApi[key].Icono = iconSvg;\r\n }\r\n }\r\n\r\n return this.obtenerMenu(respApi);\r\n }\r\n\r\n\r\n private obtenerMenu(respApi: any, idMenuPadre?: Number): MenuPrincipal[] {\r\n var menu: MenuPrincipal[] = [];\r\n for (const key in respApi) {\r\n if (respApi[key].IdMenuPadre == idMenuPadre || (!idMenuPadre && respApi[key].IdMenuPadre == null)) {\r\n menu.push({\r\n titulo: respApi[key].IdiomaRecurso,\r\n url: respApi[key].Url,\r\n icono: respApi[key].Icono,\r\n descripcion: respApi[key].Descripcion,\r\n hijos: this.obtenerMenu(respApi, respApi[key].IdMenu)\r\n });\r\n }\r\n }\r\n return menu;\r\n }\r\n\r\n menuIdiomasObtener(url:string, idUsuario: string, token:string): Observable<any> {\r\n const headers = new HttpHeaders({\r\n 'Authorization': `Bearer ${token}`\r\n });\r\n\r\n return this.http.get(url).pipe(\r\n map(resp => {\r\n return resp;\r\n }),\r\n catchError(error => {\r\n return throwError(error.error);\r\n })\r\n );\r\n }\r\n \r\n almacenamientoApiObtener(url:string, idUsuario: string, token:string): Observable<any> {\r\n const headers = new HttpHeaders({\r\n 'Authorization': `Bearer ${token}`\r\n });\r\n \r\n let myParams = new HttpParams();\r\n\r\n if (idUsuario != null)\r\n myParams = myParams.append(\"idUsuario\", idUsuario.toString());\r\n \r\n return this.http.get(url, { headers, params: myParams }).pipe(\r\n map(resp => {\r\n return resp;\r\n }),\r\n catchError(error => {\r\n return throwError(error.error);\r\n })\r\n );\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { WmMenuServicioService } from './wm-menu-servicio.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class WmMenuAlertaPanicoService {\r\n\r\n private intervalId: any;\r\n private alternateTitle = 'Alerta de Pánico Recibida';\r\n private originalTitle: string;\r\n private audio: HTMLAudioElement | null = null;\r\n private isPlaying = false; // Controla si el sonido ya está reproduciéndose\r\n public formulario: any;\r\n private IdsAlertasPanicoActivas: Set<number> = new Set(); // Almacena los IDs de las alertas ya manejadas\r\n private soundTimeout: any = null; // Controla el temporizador del sonido\r\n private rutaAudio: string;\r\n constructor(private wmMenuServicioService: WmMenuServicioService) { \r\n console.log('WmMenuAlertaPanicoService inicializado.');\r\n }\r\n\r\n private subscription: any;\r\n private isRunning: boolean = false;\r\n\r\n iniciarProceso(\r\n intervalMs: number,\r\n callback: () => void,\r\n urlObtenerParametro: string,\r\n token: string,\r\n rutaAudio: string\r\n ): void {\r\n console.log('iniciarProceso llamado con parámetros:', { intervalMs, urlObtenerParametro, token, rutaAudio });\r\n this.rutaAudio = rutaAudio;\r\n\r\n const iniciarConInteraccion = () => {\r\n console.log('iniciarConInteraccion ejecutado.');\r\n this.wmMenuServicioService\r\n .menuApiObtener(urlObtenerParametro, null, token, 'ReporteAlertasPanico')\r\n .subscribe((resp) => {\r\n console.log('Respuesta obtenida de menuApiObtener:', resp);\r\n if (resp && resp.length > 0 && resp[0].Valor == 1) {\r\n if (this.isRunning) {\r\n console.log('Proceso ya está corriendo.');\r\n return;\r\n }\r\n\r\n const storedIds = localStorage.getItem('ALERTAS_PANICO_ACTIVAS_WM');\r\n this.IdsAlertasPanicoActivas = storedIds ? new Set(JSON.parse(storedIds)) : new Set();\r\n console.log('IdsAlertasPanicoActivas inicializado:', this.IdsAlertasPanicoActivas);\r\n\r\n const ejecutarProceso = () => {\r\n console.log('ejecutarProceso iniciado.');\r\n this.isRunning = true;\r\n callback();\r\n setTimeout(() => {\r\n this.isRunning = false;\r\n ejecutarProceso();\r\n }, intervalMs);\r\n };\r\n\r\n ejecutarProceso();\r\n }\r\n });\r\n };\r\n\r\n ['drag', 'click'].forEach(evento => {\r\n console.log(`Evento ${evento} registrado para iniciar proceso.`);\r\n document.addEventListener(\r\n evento,\r\n () => {\r\n iniciarConInteraccion();\r\n },\r\n { once: true }\r\n );\r\n });\r\n }\r\n\r\n stopProcess(): void {\r\n console.log('stopProcess ejecutado.');\r\n this.isRunning = false;\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n console.log('ngOnDestroy ejecutado.');\r\n this.stopSound();\r\n this.stopFlashingTitle();\r\n }\r\n\r\n playSound(): void {\r\n console.log('playSound llamado.');\r\n if (this.isPlaying) return; // Evita reproducir si ya está sonando\r\n this.isPlaying = true;\r\n if (!this.audio) {\r\n this.audio = new Audio(this.rutaAudio); // Ruta al archivo de sonido\r\n }\r\n console.log(\"Audio cargado: \", this.audio)\r\n this.audio.loop = true; // Reproducir en bucle\r\n this.audio.play()\r\n .then(() => {\r\n console.log('Sonido reproduciéndose.');\r\n // Detener el sonido después de 10 segundos\r\n this.soundTimeout = setTimeout(() => {\r\n this.stopSound();\r\n }, 10000); // Detener después de 10 segundos\r\n })\r\n .catch(error => {\r\n console.error('Error al reproducir el sonido:', error);\r\n });\r\n }\r\n\r\n stopSound(): void {\r\n console.log('stopSound llamado.');\r\n if (this.audio) {\r\n this.audio.pause();\r\n this.audio.currentTime = 0; // Reinicia el sonido\r\n }\r\n this.isPlaying = false; // Restablece la bandera\r\n if (this.soundTimeout) {\r\n clearTimeout(this.soundTimeout); // Asegura que el temporizador se borre\r\n this.soundTimeout = null;\r\n }\r\n }\r\n\r\n startFlashingTitle(): void {\r\n console.log('startFlashingTitle llamado.');\r\n let toggle = false;\r\n\r\n // Almacenar el título original si aún no se ha guardado\r\n if (!this.originalTitle) {\r\n this.originalTitle = document.title;\r\n }\r\n\r\n if (!this.intervalId) {\r\n this.intervalId = setInterval(() => {\r\n // Alternar entre el título alternativo y el título original\r\n document.title = toggle ? this.alternateTitle : this.originalTitle;\r\n toggle = !toggle;\r\n }, 1000); // Cambia el título cada segundo\r\n }\r\n }\r\n\r\n stopFlashingTitle(): void {\r\n console.log('stopFlashingTitle llamado.');\r\n if (this.intervalId) {\r\n clearInterval(this.intervalId);\r\n this.intervalId = null;\r\n document.title = this.originalTitle; // Restaura a vacío\r\n }\r\n }\r\n\r\n revisarAlertasPendientes(urlObtenerAlertasPanico: string, token: string): void {\r\n console.log('revisarAlertasPendientes llamado con parámetros:', { urlObtenerAlertasPanico, token });\r\n const helper = new JwtHelperService();\r\n const decodedToken = helper.decodeToken(token);\r\n this.wmMenuServicioService\r\n .menuApiObtener(urlObtenerAlertasPanico, decodedToken['id_usuario'], token)\r\n .subscribe((resp) => {\r\n console.log('Respuesta obtenida de revisarAlertasPendientes:', resp);\r\n if (resp && resp.length > 0) {\r\n\r\n const alertasIds = resp.map(alerta => alerta.IdAlertaPanico);\r\n console.log('IDs de alertas obtenidas:', alertasIds);\r\n\r\n // Eliminar IDs que no están en la respuesta del servicio\r\n this.IdsAlertasPanicoActivas.forEach((id) => {\r\n if (!alertasIds.includes(id)) {\r\n this.IdsAlertasPanicoActivas.delete(id);\r\n }\r\n });\r\n\r\n // Filtrar alertas nuevas\r\n const newAlerts = resp.filter(alerta => !this.IdsAlertasPanicoActivas.has(alerta.IdAlertaPanico));\r\n\r\n // Agregar las nuevas alertas a la lista activa\r\n newAlerts.forEach(alerta => this.IdsAlertasPanicoActivas.add(alerta.IdAlertaPanico));\r\n if (this.IdsAlertasPanicoActivas.size > 0) {\r\n this.startFlashingTitle();\r\n }\r\n // Si hay nuevas alertas, dispara notificacion sonora\r\n if (newAlerts.length > 0) {\r\n this.playSound();\r\n }\r\n } else {\r\n // Si no hay alertas en la respuesta, limpiar la lista\r\n this.IdsAlertasPanicoActivas.clear();\r\n this.stopFlashingTitle();\r\n }\r\n // Actualizar localStorage con los IDs activos\r\n localStorage.setItem('ALERTAS_PANICO_ACTIVAS_WM', JSON.stringify(Array.from(this.IdsAlertasPanicoActivas)));\r\n });\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { MenuPrincipal } from './model/wm-menu-principal.model';\r\nimport { MenuSecundario } from './model/wm-menu-cuenta.model';\r\nimport { WmMenuServicioService } from './services/wm-menu-servicio.service';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { WmMenuAlertaPanicoService } from './services/wm-menu-alerta-panico.service';\r\n\r\n@Component({\r\n selector: 'wm-menu',\r\n templateUrl: './wm-menu.component.html',\r\n styleUrls: ['./wm-menu.component.scss']\r\n})\r\nexport class WmMenuComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() colorFondo: string;\r\n @Input() colorTexto: string;\r\n @Input() menuPrincipal: MenuPrincipal[];\r\n @Input() menuSecundario: MenuSecundario[];\r\n\r\n @Input() urlMenu: string; \r\n @Input() token: string;\r\n @Input() urlCuentaSeguridad: string;\r\n @Input() activar2fa: string;\r\n @Input() urlguiasOnline: string;\r\n @Input() urlObtenerAlertasPanico: string;\r\n @Input() urlObtenerParametro: string;\r\n @Input() rutaAudio: string;\r\n\r\n @Input() nombreCliente: string;\r\n @Input() nombreUsuario: string;\r\n @Input() versionWeb: string;\r\n @Input() urlBaseAlmacenamiento: string;\r\n\r\n @Input() urlIdiomas: string;\r\n\r\n private intervaloPeticionesMs = 60000;\r\n \r\n menuPrincipalSel: MenuPrincipal;\r\n menuSecundarioSel: MenuSecundario = new MenuSecundario();\r\n menuLateralAbierto: Boolean = false;\r\n porcentajeUtilizado : number;\r\n menuIdioma : any = [];\r\n\r\n constructor(private wmMenuServicioService: WmMenuServicioService, private wmMenuAlertaPanicoService: WmMenuAlertaPanicoService) { }\r\n\r\n ngOnInit(): void {\r\n \r\n this.wmMenuAlertaPanicoService.iniciarProceso(this.intervaloPeticionesMs, () => this.wmMenuAlertaPanicoService.revisarAlertasPendientes(this.urlObtenerAlertasPanico, this.token), this.urlObtenerParametro, this.token, this.rutaAudio);\r\n\r\n\r\n this.cargarMenuCuenta();\r\n\r\n if (this.urlMenu && this.token) {\r\n var helper = new JwtHelperService();\r\n const decodedToken = helper.decodeToken(this.token);\r\n this.wmMenuServicioService\r\n .menuApiObtener(this.urlMenu, decodedToken[\"id_usuario\"], this.token)\r\n .subscribe((resp) => {\r\n this.menuPrincipal = this.wmMenuServicioService.mapearMenu(resp);\r\n });\r\n }\r\n\r\n if (this.urlIdiomas && this.token) {\r\n var helper = new JwtHelperService();\r\n const decodedToken = helper.decodeToken(this.token);\r\n this.wmMenuServicioService\r\n .menuIdiomasObtener(this.urlIdiomas, decodedToken[\"id_usuario\"], this.token)\r\n .subscribe((resp) => {\r\n this.menuIdioma = resp;\r\n this.cargarMenuCuenta();\r\n });\r\n }\r\n\r\n if (this.urlBaseAlmacenamiento && this.token) {\r\n var helper = new JwtHelperService();\r\n const decodedToken = helper.decodeToken(this.token);\r\n this.wmMenuServicioService\r\n .almacenamientoApiObtener(this.urlBaseAlmacenamiento, decodedToken[\"id_usuario\"], this.token)\r\n .subscribe((resp) => {\r\n let utilizado = resp[0] && resp[0].Utilizado ? resp[0].Utilizado : 0;\r\n let total = resp[0] && resp[0].Total ? resp[0].Total : 0;\r\n this.porcentajeUtilizado = Math.round((utilizado / total) * 100);\r\n });\r\n }\r\n }\r\n\r\n clickMenuPrincipal(i: number) {\r\n if (this.menuPrincipal[i].hijos && this.menuPrincipal[i].hijos.length) {\r\n if (this.menuPrincipalSel == this.menuPrincipal[i]) {\r\n this.menuPrincipalSel = null;\r\n } else {\r\n this.menuPrincipalSel = this.menuPrincipal[i];\r\n }\r\n }\r\n }\r\n\r\n clickMenuSecundario(i: number) {\r\n this.menuSecundarioSel = this.menuSecundario[i];\r\n this.menuPrincipalSel = null;\r\n }\r\n\r\n cargarMenuCuenta(){\r\n if (this.urlCuentaSeguridad && this.token) {\r\n var helper = new JwtHelperService();\r\n const decodedToken = helper.decodeToken(this.token);\r\n this.menuSecundario = [{\r\n titulo: decodedToken[\"unique_name\"],\r\n icono: \"account_circle\",\r\n hijos: [\r\n { titulo: decodedToken[\"unique_name\"], url: \"\", icono: \"person\" },\r\n { titulo: this.menuIdioma && this.menuIdioma.CambiarContrasenna ? this.menuIdioma.CambiarContrasenna : \"Cambiar contraseña\", url: this.urlCuentaSeguridad + \"CambioContrasena\", icono: \"vpn_key\" },\r\n this.activar2fa == \"1\" ? { titulo: this.menuIdioma && this.menuIdioma.Configurar2fa ? this.menuIdioma.Configurar2fa : \"Configurar 2FA\", url: this.urlCuentaSeguridad + \"Habilitacion2FA\", icono: \"verified_user\" } : null,\r\n this.urlguiasOnline != null && this.urlguiasOnline !== \"\" && this.urlguiasOnline?.length != 0 ? { titulo: this.menuIdioma && this.menuIdioma.guiasOnline ? this.menuIdioma.guiasOnline : \"Guias Online\", url: this.urlguiasOnline, icono: \"menu_book\" } : null,\r\n { titulo: this.menuIdioma && this.menuIdioma.CerrarSesion ? this.menuIdioma.CerrarSesion : \"Cerrar sesión\", url: this.urlCuentaSeguridad + \"CerrarSesion\", icono: \"exit_to_app\" }].filter(hijo => hijo != null),\r\n }];\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatSidenavModule} from '@angular/material/sidenav';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatRippleModule } from \"@angular/material/core\";\r\n\r\nimport { WmMenuComponent } from './wm-menu/wm-menu.component';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { JwtModule } from '@auth0/angular-jwt';\r\n\r\n\r\n@NgModule({\r\n declarations: [WmMenuComponent],\r\n imports: [\r\n BrowserModule,\r\n MatToolbarModule,\r\n MatSidenavModule,\r\n MatListModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatMenuModule,\r\n MatRippleModule,\r\n HttpClientModule,\r\n JwtModule\r\n ],\r\n exports: [WmMenuComponent]\r\n})\r\nexport class WmMenuModule { }\r\n"],"names":["HttpHeaders","HttpParams","map","catchError","throwError","HttpClient","MatIconRegistry","DomSanitizer","Injectable","JwtHelperService","Input","Component","NgModule","BrowserModule","MatToolbarModule","MatSidenavModule","MatListModule","MatButtonModule","MatIconModule","MatMenuModule","MatRippleModule","HttpClientModule","JwtModule"],"mappings":"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"}
1
+ {"version":3,"file":"wm-menu.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://wm-menu/lib/wm-menu/model/wm-menu-cuenta.model.ts","ng://wm-menu/lib/wm-menu/services/wm-menu-servicio.service.ts","ng://wm-menu/lib/wm-menu/services/wm-menu-alerta-panico.service.ts","ng://wm-menu/lib/wm-menu/wm-menu.component.ts","ng://wm-menu/lib/wm-menu.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export class MenuSecundario {\r\n icono: string;\r\n titulo: string;\r\n hijos: MenuSecundarioHijo[] = [];\r\n}\r\n\r\nexport class MenuSecundarioHijo {\r\n icono: string;\r\n titulo: string;\r\n url: string;\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { map, catchError } from 'rxjs/operators';\r\nimport { throwError, Observable } from 'rxjs';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { MatIconRegistry } from '@angular/material/icon';\r\nimport { MenuPrincipal } from '../model/wm-menu-principal.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class WmMenuServicioService {\r\n\r\n constructor(private http: HttpClient, private iconRegistry: MatIconRegistry, private sanitizer: DomSanitizer) { }\r\n\r\n menuApiObtener(url:string, idUsuario: string, token:string, codLogicaParametro = \"\"): Observable<any> {\r\n const headers = new HttpHeaders({\r\n 'Authorization': `Bearer ${token}`\r\n });\r\n \r\n let myParams = new HttpParams();\r\n if (codLogicaParametro.length > 0) {\r\n myParams = myParams.append(\"codLogica\", codLogicaParametro);\r\n }\r\n myParams = myParams.append(\"ctrlActivo\", \"true\");\r\n myParams = myParams.append(\"conPadres\", \"true\");\r\n if (idUsuario != null)\r\n myParams = myParams.append(\"idUsuario\", idUsuario.toString());\r\n\r\n return this.http.get(url, { headers, params: myParams }).pipe(\r\n map(resp => {\r\n return resp;\r\n }),\r\n catchError(error => {\r\n return throwError(error.error);\r\n })\r\n );\r\n }\r\n\r\n mapearMenu(respApi: any): MenuPrincipal[] {\r\n respApi = respApi.sort((a, b) => a.Posicion > b.Posicion?\"1\":\"-1\");\r\n\r\n for (const key in respApi) {\r\n const element = respApi[key];\r\n if (element.Icono.startsWith(\"http\")) {\r\n var iconSvg = 'wm-icon-menu-' + key;\r\n this.iconRegistry.addSvgIcon(\r\n iconSvg,\r\n this.sanitizer.bypassSecurityTrustResourceUrl(element.Icono));\r\n respApi[key].Icono = iconSvg;\r\n }\r\n }\r\n\r\n return this.obtenerMenu(respApi);\r\n }\r\n\r\n\r\n private obtenerMenu(respApi: any, idMenuPadre?: Number): MenuPrincipal[] {\r\n var menu: MenuPrincipal[] = [];\r\n for (const key in respApi) {\r\n if (respApi[key].IdMenuPadre == idMenuPadre || (!idMenuPadre && respApi[key].IdMenuPadre == null)) {\r\n menu.push({\r\n titulo: respApi[key].IdiomaRecurso,\r\n url: respApi[key].Url,\r\n icono: respApi[key].Icono,\r\n descripcion: respApi[key].Descripcion,\r\n hijos: this.obtenerMenu(respApi, respApi[key].IdMenu)\r\n });\r\n }\r\n }\r\n return menu;\r\n }\r\n\r\n menuIdiomasObtener(url:string, idUsuario: string, token:string): Observable<any> {\r\n const headers = new HttpHeaders({\r\n 'Authorization': `Bearer ${token}`\r\n });\r\n\r\n return this.http.get(url).pipe(\r\n map(resp => {\r\n return resp;\r\n }),\r\n catchError(error => {\r\n return throwError(error.error);\r\n })\r\n );\r\n }\r\n \r\n almacenamientoApiObtener(url:string, idUsuario: string, token:string): Observable<any> {\r\n const headers = new HttpHeaders({\r\n 'Authorization': `Bearer ${token}`\r\n });\r\n \r\n let myParams = new HttpParams();\r\n\r\n if (idUsuario != null)\r\n myParams = myParams.append(\"idUsuario\", idUsuario.toString());\r\n \r\n return this.http.get(url, { headers, params: myParams }).pipe(\r\n map(resp => {\r\n return resp;\r\n }),\r\n catchError(error => {\r\n return throwError(error.error);\r\n })\r\n );\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { WmMenuServicioService } from './wm-menu-servicio.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class WmMenuAlertaPanicoService {\r\n\r\n private intervalId: any;\r\n private alternateTitle = 'Alerta de Pánico Recibida';\r\n private originalTitle: string;\r\n private audio: HTMLAudioElement | null = null;\r\n private isPlaying = false; // Controla si el sonido ya está reproduciéndose\r\n public formulario: any;\r\n private IdsAlertasPanicoActivas: Set<number> = new Set(); // Almacena los IDs de las alertas ya manejadas\r\n private soundTimeout: any = null; // Controla el temporizador del sonido\r\n private rutaAudio: string;\r\n constructor(private wmMenuServicioService: WmMenuServicioService) { }\r\n\r\n private subscription: any;\r\n private isRunning: boolean = false;\r\n\r\n iniciarProceso(\r\n intervalMs: number,\r\n callback: () => void,\r\n urlObtenerParametro: string,\r\n token: string,\r\n rutaAudio: string\r\n ): void {\r\n this.rutaAudio = rutaAudio;\r\n \r\n const iniciarConInteraccion = () => {\r\n this.wmMenuServicioService\r\n .menuApiObtener(urlObtenerParametro, null, token, 'ReporteAlertasPanico')\r\n .subscribe((resp) => {\r\n // validar si el parametro ReporteAlertasPanico esta encendido\r\n if (resp && resp.length > 0 && resp[0].Valor == 1) {\r\n if (this.isRunning) {\r\n return;\r\n }\r\n // Inicializar la variable desde localStorage\r\n const storedIds = localStorage.getItem('ALERTAS_PANICO_ACTIVAS_WM');\r\n this.IdsAlertasPanicoActivas = storedIds ? new Set(JSON.parse(storedIds)) : new Set();\r\n \r\n const ejecutarProceso = () => {\r\n this.isRunning = true;\r\n callback();\r\n setTimeout(() => {\r\n this.isRunning = false;\r\n ejecutarProceso();\r\n }, intervalMs);\r\n };\r\n \r\n ejecutarProceso();\r\n }\r\n });\r\n };\r\n \r\n ['drag', 'click'].forEach(evento => {\r\n document.addEventListener(\r\n evento,\r\n () => {\r\n iniciarConInteraccion();\r\n },\r\n { once: true }\r\n );\r\n });\r\n\r\n }\r\n \r\n\r\n stopProcess(): void {\r\n this.isRunning = false;\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.stopSound();\r\n this.stopFlashingTitle();\r\n }\r\n\r\n playSound(): void {\r\n if (this.isPlaying) return; // Evita reproducir si ya está sonando\r\n\r\n this.isPlaying = true;\r\n if (!this.audio) {\r\n this.audio = new Audio(this.rutaAudio); // Ruta al archivo de sonido\r\n }\r\n\r\n this.audio.loop = true; // Reproducir en bucle\r\n this.audio.play()\r\n .then(() => {\r\n // Detener el sonido después de 10 segundos\r\n this.soundTimeout = setTimeout(() => {\r\n this.stopSound();\r\n }, 10000); // Detener después de 10 segundos\r\n })\r\n .catch(error => {\r\n console.log('Error al reproducir el sonido:', error);\r\n });\r\n }\r\n\r\n stopSound(): void {\r\n if (this.audio) {\r\n this.audio.pause();\r\n this.audio.currentTime = 0; // Reinicia el sonido\r\n }\r\n this.isPlaying = false; // Restablece la bandera\r\n if (this.soundTimeout) {\r\n clearTimeout(this.soundTimeout); // Asegura que el temporizador se borre\r\n this.soundTimeout = null;\r\n }\r\n }\r\n\r\n startFlashingTitle(): void {\r\n let toggle = false;\r\n \r\n // Almacenar el título original si aún no se ha guardado\r\n if (!this.originalTitle) {\r\n this.originalTitle = document.title;\r\n }\r\n \r\n if (!this.intervalId) {\r\n this.intervalId = setInterval(() => {\r\n // Alternar entre el título alternativo y el título original\r\n document.title = toggle ? this.alternateTitle : this.originalTitle;\r\n toggle = !toggle;\r\n }, 1000); // Cambia el título cada segundo\r\n }\r\n }\r\n\r\n stopFlashingTitle(): void {\r\n if (this.intervalId) {\r\n clearInterval(this.intervalId);\r\n this.intervalId = null;\r\n document.title = this.originalTitle; // Restaura a vacío\r\n }\r\n }\r\n\r\n revisarAlertasPendientes(urlObtenerAlertasPanico: string, token: string): void {\r\n const helper = new JwtHelperService();\r\n const decodedToken = helper.decodeToken(token);\r\n this.wmMenuServicioService\r\n .menuApiObtener(urlObtenerAlertasPanico, decodedToken['id_usuario'], token)\r\n .subscribe((resp) => {\r\n if (resp && resp.length > 0) {\r\n \r\n const alertasIds = resp.map(alerta => alerta.IdAlertaPanico);\r\n\r\n // Eliminar IDs que no están en la respuesta del servicio\r\n this.IdsAlertasPanicoActivas.forEach((id) => {\r\n if (!alertasIds.includes(id)) {\r\n this.IdsAlertasPanicoActivas.delete(id);\r\n }\r\n });\r\n\r\n // Filtrar alertas nuevas\r\n const newAlerts = resp.filter(alerta => !this.IdsAlertasPanicoActivas.has(alerta.IdAlertaPanico));\r\n\r\n // Agregar las nuevas alertas a la lista activa\r\n newAlerts.forEach(alerta => this.IdsAlertasPanicoActivas.add(alerta.IdAlertaPanico));\r\n if (this.IdsAlertasPanicoActivas.size > 0) {\r\n this.startFlashingTitle();\r\n }\r\n // Si hay nuevas alertas, dispara notificacion sonora\r\n if (newAlerts.length > 0) {\r\n this.playSound();\r\n }\r\n } else {\r\n // Si no hay alertas en la respuesta, limpiar la lista\r\n this.IdsAlertasPanicoActivas.clear();\r\n this.stopFlashingTitle();\r\n }\r\n // Actualizar localStorage con los IDs activos\r\n localStorage.setItem('ALERTAS_PANICO_ACTIVAS_WM', JSON.stringify(Array.from(this.IdsAlertasPanicoActivas)));\r\n });\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { MenuPrincipal } from './model/wm-menu-principal.model';\r\nimport { MenuSecundario } from './model/wm-menu-cuenta.model';\r\nimport { WmMenuServicioService } from './services/wm-menu-servicio.service';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { WmMenuAlertaPanicoService } from './services/wm-menu-alerta-panico.service';\r\n\r\n@Component({\r\n selector: 'wm-menu',\r\n templateUrl: './wm-menu.component.html',\r\n styleUrls: ['./wm-menu.component.scss']\r\n})\r\nexport class WmMenuComponent implements OnInit {\r\n @Input() logo: string;\r\n @Input() colorFondo: string;\r\n @Input() colorTexto: string;\r\n @Input() menuPrincipal: MenuPrincipal[];\r\n @Input() menuSecundario: MenuSecundario[];\r\n\r\n @Input() urlMenu: string; \r\n @Input() token: string;\r\n @Input() urlCuentaSeguridad: string;\r\n @Input() activar2fa: string;\r\n @Input() urlguiasOnline: string;\r\n @Input() urlObtenerAlertasPanico: string;\r\n @Input() urlObtenerParametro: string;\r\n @Input() rutaAudio: string;\r\n\r\n @Input() nombreCliente: string;\r\n @Input() nombreUsuario: string;\r\n @Input() versionWeb: string;\r\n @Input() urlBaseAlmacenamiento: string;\r\n\r\n @Input() urlIdiomas: string;\r\n\r\n menuPrincipalSel: MenuPrincipal;\r\n menuSecundarioSel: MenuSecundario = new MenuSecundario();\r\n menuLateralAbierto: Boolean = false;\r\n porcentajeUtilizado : number;\r\n menuIdioma : any = [];\r\n private intervaloPeticionesMs = 60000;\r\n\r\n constructor(private wmMenuServicioService: WmMenuServicioService, private alertaPanicoService: WmMenuAlertaPanicoService) { }\r\n\r\n ngOnInit(): void {\r\n this.cargarMenuCuenta();\r\n\r\n this.alertaPanicoService.iniciarProceso(this.intervaloPeticionesMs, () => this.alertaPanicoService.revisarAlertasPendientes(this.urlObtenerAlertasPanico, this.token), this.urlObtenerParametro, this.token, this.rutaAudio);\r\n\r\n if (this.urlMenu && this.token) {\r\n var helper = new JwtHelperService();\r\n const decodedToken = helper.decodeToken(this.token);\r\n this.wmMenuServicioService\r\n .menuApiObtener(this.urlMenu, decodedToken[\"id_usuario\"], this.token)\r\n .subscribe((resp) => {\r\n this.menuPrincipal = this.wmMenuServicioService.mapearMenu(resp);\r\n });\r\n }\r\n\r\n if (this.urlIdiomas && this.token) {\r\n var helper = new JwtHelperService();\r\n const decodedToken = helper.decodeToken(this.token);\r\n this.wmMenuServicioService\r\n .menuIdiomasObtener(this.urlIdiomas, decodedToken[\"id_usuario\"], this.token)\r\n .subscribe((resp) => {\r\n this.menuIdioma = resp;\r\n this.cargarMenuCuenta();\r\n });\r\n }\r\n\r\n if (this.urlBaseAlmacenamiento && this.token) {\r\n var helper = new JwtHelperService();\r\n const decodedToken = helper.decodeToken(this.token);\r\n this.wmMenuServicioService\r\n .almacenamientoApiObtener(this.urlBaseAlmacenamiento, decodedToken[\"id_usuario\"], this.token)\r\n .subscribe((resp) => {\r\n let utilizado = resp[0] && resp[0].Utilizado ? resp[0].Utilizado : 0;\r\n let total = resp[0] && resp[0].Total ? resp[0].Total : 0;\r\n this.porcentajeUtilizado = Math.round((utilizado / total) * 100);\r\n });\r\n }\r\n }\r\n\r\n clickMenuPrincipal(i: number) {\r\n if (this.menuPrincipal[i].hijos && this.menuPrincipal[i].hijos.length) {\r\n if (this.menuPrincipalSel == this.menuPrincipal[i]) {\r\n this.menuPrincipalSel = null;\r\n } else {\r\n this.menuPrincipalSel = this.menuPrincipal[i];\r\n }\r\n }\r\n }\r\n\r\n clickMenuSecundario(i: number) {\r\n this.menuSecundarioSel = this.menuSecundario[i];\r\n this.menuPrincipalSel = null;\r\n }\r\n\r\n cargarMenuCuenta(){\r\n if (this.urlCuentaSeguridad && this.token) {\r\n var helper = new JwtHelperService();\r\n const decodedToken = helper.decodeToken(this.token);\r\n this.menuSecundario = [{\r\n titulo: decodedToken[\"unique_name\"],\r\n icono: \"account_circle\",\r\n hijos: [\r\n { titulo: decodedToken[\"unique_name\"], url: \"\", icono: \"person\" },\r\n { titulo: this.menuIdioma && this.menuIdioma.CambiarContrasenna ? this.menuIdioma.CambiarContrasenna : \"Cambiar contraseña\", url: this.urlCuentaSeguridad + \"CambioContrasena\", icono: \"vpn_key\" },\r\n this.activar2fa == \"1\" ? { titulo: this.menuIdioma && this.menuIdioma.Configurar2fa ? this.menuIdioma.Configurar2fa : \"Configurar 2FA\", url: this.urlCuentaSeguridad + \"Habilitacion2FA\", icono: \"verified_user\" } : null,\r\n this.urlguiasOnline != null && this.urlguiasOnline !== \"\" && this.urlguiasOnline?.length != 0 ? { titulo: this.menuIdioma && this.menuIdioma.guiasOnline ? this.menuIdioma.guiasOnline : \"Guias Online\", url: this.urlguiasOnline, icono: \"menu_book\" } : null,\r\n { titulo: this.menuIdioma && this.menuIdioma.CerrarSesion ? this.menuIdioma.CerrarSesion : \"Cerrar sesión\", url: this.urlCuentaSeguridad + \"CerrarSesion\", icono: \"exit_to_app\" }].filter(hijo => hijo != null),\r\n }];\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatSidenavModule} from '@angular/material/sidenav';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatRippleModule } from \"@angular/material/core\";\r\n\r\nimport { WmMenuComponent } from './wm-menu/wm-menu.component';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { JwtModule } from '@auth0/angular-jwt';\r\n\r\n\r\n@NgModule({\r\n declarations: [WmMenuComponent],\r\n imports: [\r\n BrowserModule,\r\n MatToolbarModule,\r\n MatSidenavModule,\r\n MatListModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatMenuModule,\r\n MatRippleModule,\r\n HttpClientModule,\r\n JwtModule\r\n ],\r\n exports: [WmMenuComponent]\r\n})\r\nexport class WmMenuModule { }\r\n"],"names":["HttpHeaders","HttpParams","map","catchError","throwError","HttpClient","MatIconRegistry","DomSanitizer","Injectable","JwtHelperService","Input","Component","NgModule","BrowserModule","MatToolbarModule","MatSidenavModule","MatListModule","MatButtonModule","MatIconModule","MatMenuModule","MatRippleModule","HttpClientModule","JwtModule"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- !function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/common/http"),require("rxjs/operators"),require("rxjs"),require("@angular/platform-browser"),require("@angular/material/icon"),require("@auth0/angular-jwt"),require("@angular/material/toolbar"),require("@angular/material/sidenav"),require("@angular/material/list"),require("@angular/material/button"),require("@angular/material/menu"),require("@angular/material/core")):"function"==typeof define&&define.amd?define("wm-menu",["exports","@angular/core","@angular/common/http","rxjs/operators","rxjs","@angular/platform-browser","@angular/material/icon","@auth0/angular-jwt","@angular/material/toolbar","@angular/material/sidenav","@angular/material/list","@angular/material/button","@angular/material/menu","@angular/material/core"],e):e((n=n||self)["wm-menu"]={},n.ng.core,n.ng.common.http,n.rxjs.operators,n.rxjs,n.ng.platformBrowser,n.ng.material.icon,n.angularJwt,n.ng.material.toolbar,n.ng.material.sidenav,n.ng.material.list,n.ng.material.button,n.ng.material.menu,n.ng.material.core)}(this,(function(n,e,i,t,o,r,a,l,u,s,c,m,d,p){"use strict";
1
+ !function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/common/http"),require("rxjs/operators"),require("rxjs"),require("@angular/platform-browser"),require("@angular/material/icon"),require("@auth0/angular-jwt"),require("@angular/material/toolbar"),require("@angular/material/sidenav"),require("@angular/material/list"),require("@angular/material/button"),require("@angular/material/menu"),require("@angular/material/core")):"function"==typeof define&&define.amd?define("wm-menu",["exports","@angular/core","@angular/common/http","rxjs/operators","rxjs","@angular/platform-browser","@angular/material/icon","@auth0/angular-jwt","@angular/material/toolbar","@angular/material/sidenav","@angular/material/list","@angular/material/button","@angular/material/menu","@angular/material/core"],e):e((n=n||self)["wm-menu"]={},n.ng.core,n.ng.common.http,n.rxjs.operators,n.rxjs,n.ng.platformBrowser,n.ng.material.icon,n.angularJwt,n.ng.material.toolbar,n.ng.material.sidenav,n.ng.material.list,n.ng.material.button,n.ng.material.menu,n.ng.material.core)}(this,(function(n,e,i,t,o,r,a,u,l,c,s,m,d,p){"use strict";
2
2
  /*! *****************************************************************************
3
3
  Copyright (c) Microsoft Corporation.
4
4
 
@@ -12,5 +12,5 @@
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */function g(n,e,i,t){var o,r=arguments.length,a=r<3?e:null===t?t=Object.getOwnPropertyDescriptor(e,i):t;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(n,e,i,t);else for(var l=n.length-1;l>=0;l--)(o=n[l])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a}var f=function(){this.hijos=[]},h=function(){function n(n,e,i){this.http=n,this.iconRegistry=e,this.sanitizer=i}return n.prototype.menuApiObtener=function(n,e,r,a){void 0===a&&(a="");var l=new i.HttpHeaders({Authorization:"Bearer "+r}),u=new i.HttpParams;return a.length>0&&(u=u.append("codLogica",a)),u=(u=u.append("ctrlActivo","true")).append("conPadres","true"),null!=e&&(u=u.append("idUsuario",e.toString())),this.http.get(n,{headers:l,params:u}).pipe(t.map((function(n){return n})),t.catchError((function(n){return o.throwError(n.error)})))},n.prototype.mapearMenu=function(n){for(var e in n=n.sort((function(n,e){return n.Posicion>e.Posicion?"1":"-1"}))){var i=n[e];if(i.Icono.startsWith("http")){var t="wm-icon-menu-"+e;this.iconRegistry.addSvgIcon(t,this.sanitizer.bypassSecurityTrustResourceUrl(i.Icono)),n[e].Icono=t}}return this.obtenerMenu(n)},n.prototype.obtenerMenu=function(n,e){var i=[];for(var t in n)(n[t].IdMenuPadre==e||!e&&null==n[t].IdMenuPadre)&&i.push({titulo:n[t].IdiomaRecurso,url:n[t].Url,icono:n[t].Icono,descripcion:n[t].Descripcion,hijos:this.obtenerMenu(n,n[t].IdMenu)});return i},n.prototype.menuIdiomasObtener=function(n,e,r){new i.HttpHeaders({Authorization:"Bearer "+r});return this.http.get(n).pipe(t.map((function(n){return n})),t.catchError((function(n){return o.throwError(n.error)})))},n.prototype.almacenamientoApiObtener=function(n,e,r){var a=new i.HttpHeaders({Authorization:"Bearer "+r}),l=new i.HttpParams;return null!=e&&(l=l.append("idUsuario",e.toString())),this.http.get(n,{headers:a,params:l}).pipe(t.map((function(n){return n})),t.catchError((function(n){return o.throwError(n.error)})))},n.ctorParameters=function(){return[{type:i.HttpClient},{type:a.MatIconRegistry},{type:r.DomSanitizer}]},n.ɵprov=e.ɵɵdefineInjectable({factory:function(){return new n(e.ɵɵinject(i.HttpClient),e.ɵɵinject(a.MatIconRegistry),e.ɵɵinject(r.DomSanitizer))},token:n,providedIn:"root"}),n=g([e.Injectable({providedIn:"root"})],n)}(),v=function(){function n(n){this.wmMenuServicioService=n,this.alternateTitle="Alerta de Pánico Recibida",this.audio=null,this.isPlaying=!1,this.IdsAlertasPanicoActivas=new Set,this.soundTimeout=null,this.isRunning=!1,console.log("WmMenuAlertaPanicoService inicializado.")}return n.prototype.iniciarProceso=function(n,e,i,t,o){var r=this;console.log("iniciarProceso llamado con parámetros:",{intervalMs:n,urlObtenerParametro:i,token:t,rutaAudio:o}),this.rutaAudio=o;["drag","click"].forEach((function(o){console.log("Evento "+o+" registrado para iniciar proceso."),document.addEventListener(o,(function(){console.log("iniciarConInteraccion ejecutado."),r.wmMenuServicioService.menuApiObtener(i,null,t,"ReporteAlertasPanico").subscribe((function(i){if(console.log("Respuesta obtenida de menuApiObtener:",i),i&&i.length>0&&1==i[0].Valor){if(r.isRunning)return void console.log("Proceso ya está corriendo.");var t=localStorage.getItem("ALERTAS_PANICO_ACTIVAS_WM");r.IdsAlertasPanicoActivas=t?new Set(JSON.parse(t)):new Set,console.log("IdsAlertasPanicoActivas inicializado:",r.IdsAlertasPanicoActivas);var o=function(){console.log("ejecutarProceso iniciado."),r.isRunning=!0,e(),setTimeout((function(){r.isRunning=!1,o()}),n)};o()}}))}),{once:!0})}))},n.prototype.stopProcess=function(){console.log("stopProcess ejecutado."),this.isRunning=!1,this.subscription&&this.subscription.unsubscribe()},n.prototype.ngOnDestroy=function(){console.log("ngOnDestroy ejecutado."),this.stopSound(),this.stopFlashingTitle()},n.prototype.playSound=function(){var n=this;console.log("playSound llamado."),this.isPlaying||(this.isPlaying=!0,this.audio||(this.audio=new Audio(this.rutaAudio)),console.log("Audio cargado: ",this.audio),this.audio.loop=!0,this.audio.play().then((function(){console.log("Sonido reproduciéndose."),n.soundTimeout=setTimeout((function(){n.stopSound()}),1e4)})).catch((function(n){console.error("Error al reproducir el sonido:",n)})))},n.prototype.stopSound=function(){console.log("stopSound llamado."),this.audio&&(this.audio.pause(),this.audio.currentTime=0),this.isPlaying=!1,this.soundTimeout&&(clearTimeout(this.soundTimeout),this.soundTimeout=null)},n.prototype.startFlashingTitle=function(){var n=this;console.log("startFlashingTitle llamado.");var e=!1;this.originalTitle||(this.originalTitle=document.title),this.intervalId||(this.intervalId=setInterval((function(){document.title=e?n.alternateTitle:n.originalTitle,e=!e}),1e3))},n.prototype.stopFlashingTitle=function(){console.log("stopFlashingTitle llamado."),this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null,document.title=this.originalTitle)},n.prototype.revisarAlertasPendientes=function(n,e){var i=this;console.log("revisarAlertasPendientes llamado con parámetros:",{urlObtenerAlertasPanico:n,token:e});var t=(new l.JwtHelperService).decodeToken(e);this.wmMenuServicioService.menuApiObtener(n,t.id_usuario,e).subscribe((function(n){if(console.log("Respuesta obtenida de revisarAlertasPendientes:",n),n&&n.length>0){var e=n.map((function(n){return n.IdAlertaPanico}));console.log("IDs de alertas obtenidas:",e),i.IdsAlertasPanicoActivas.forEach((function(n){e.includes(n)||i.IdsAlertasPanicoActivas.delete(n)}));var t=n.filter((function(n){return!i.IdsAlertasPanicoActivas.has(n.IdAlertaPanico)}));t.forEach((function(n){return i.IdsAlertasPanicoActivas.add(n.IdAlertaPanico)})),i.IdsAlertasPanicoActivas.size>0&&i.startFlashingTitle(),t.length>0&&i.playSound()}else i.IdsAlertasPanicoActivas.clear(),i.stopFlashingTitle();localStorage.setItem("ALERTAS_PANICO_ACTIVAS_WM",JSON.stringify(Array.from(i.IdsAlertasPanicoActivas)))}))},n.ctorParameters=function(){return[{type:h}]},n.ɵprov=e.ɵɵdefineInjectable({factory:function(){return new n(e.ɵɵinject(h))},token:n,providedIn:"root"}),n=g([e.Injectable({providedIn:"root"})],n)}(),b=function(){function n(n,e){this.wmMenuServicioService=n,this.wmMenuAlertaPanicoService=e,this.intervaloPeticionesMs=6e4,this.menuSecundarioSel=new f,this.menuLateralAbierto=!1,this.menuIdioma=[]}return n.prototype.ngOnInit=function(){var n=this;if(this.wmMenuAlertaPanicoService.iniciarProceso(this.intervaloPeticionesMs,(function(){return n.wmMenuAlertaPanicoService.revisarAlertasPendientes(n.urlObtenerAlertasPanico,n.token)}),this.urlObtenerParametro,this.token,this.rutaAudio),this.cargarMenuCuenta(),this.urlMenu&&this.token){var e=(new l.JwtHelperService).decodeToken(this.token);this.wmMenuServicioService.menuApiObtener(this.urlMenu,e.id_usuario,this.token).subscribe((function(e){n.menuPrincipal=n.wmMenuServicioService.mapearMenu(e)}))}if(this.urlIdiomas&&this.token){e=(new l.JwtHelperService).decodeToken(this.token);this.wmMenuServicioService.menuIdiomasObtener(this.urlIdiomas,e.id_usuario,this.token).subscribe((function(e){n.menuIdioma=e,n.cargarMenuCuenta()}))}if(this.urlBaseAlmacenamiento&&this.token){e=(new l.JwtHelperService).decodeToken(this.token);this.wmMenuServicioService.almacenamientoApiObtener(this.urlBaseAlmacenamiento,e.id_usuario,this.token).subscribe((function(e){var i=e[0]&&e[0].Utilizado?e[0].Utilizado:0,t=e[0]&&e[0].Total?e[0].Total:0;n.porcentajeUtilizado=Math.round(i/t*100)}))}},n.prototype.clickMenuPrincipal=function(n){this.menuPrincipal[n].hijos&&this.menuPrincipal[n].hijos.length&&(this.menuPrincipalSel==this.menuPrincipal[n]?this.menuPrincipalSel=null:this.menuPrincipalSel=this.menuPrincipal[n])},n.prototype.clickMenuSecundario=function(n){this.menuSecundarioSel=this.menuSecundario[n],this.menuPrincipalSel=null},n.prototype.cargarMenuCuenta=function(){var n;if(this.urlCuentaSeguridad&&this.token){var e=(new l.JwtHelperService).decodeToken(this.token);this.menuSecundario=[{titulo:e.unique_name,icono:"account_circle",hijos:[{titulo:e.unique_name,url:"",icono:"person"},{titulo:this.menuIdioma&&this.menuIdioma.CambiarContrasenna?this.menuIdioma.CambiarContrasenna:"Cambiar contraseña",url:this.urlCuentaSeguridad+"CambioContrasena",icono:"vpn_key"},"1"==this.activar2fa?{titulo:this.menuIdioma&&this.menuIdioma.Configurar2fa?this.menuIdioma.Configurar2fa:"Configurar 2FA",url:this.urlCuentaSeguridad+"Habilitacion2FA",icono:"verified_user"}:null,null!=this.urlguiasOnline&&""!==this.urlguiasOnline&&0!=(null===(n=this.urlguiasOnline)||void 0===n?void 0:n.length)?{titulo:this.menuIdioma&&this.menuIdioma.guiasOnline?this.menuIdioma.guiasOnline:"Guias Online",url:this.urlguiasOnline,icono:"menu_book"}:null,{titulo:this.menuIdioma&&this.menuIdioma.CerrarSesion?this.menuIdioma.CerrarSesion:"Cerrar sesión",url:this.urlCuentaSeguridad+"CerrarSesion",icono:"exit_to_app"}].filter((function(n){return null!=n}))}]}},n.ctorParameters=function(){return[{type:h},{type:v}]},g([e.Input()],n.prototype,"logo",void 0),g([e.Input()],n.prototype,"colorFondo",void 0),g([e.Input()],n.prototype,"colorTexto",void 0),g([e.Input()],n.prototype,"menuPrincipal",void 0),g([e.Input()],n.prototype,"menuSecundario",void 0),g([e.Input()],n.prototype,"urlMenu",void 0),g([e.Input()],n.prototype,"token",void 0),g([e.Input()],n.prototype,"urlCuentaSeguridad",void 0),g([e.Input()],n.prototype,"activar2fa",void 0),g([e.Input()],n.prototype,"urlguiasOnline",void 0),g([e.Input()],n.prototype,"urlObtenerAlertasPanico",void 0),g([e.Input()],n.prototype,"urlObtenerParametro",void 0),g([e.Input()],n.prototype,"rutaAudio",void 0),g([e.Input()],n.prototype,"nombreCliente",void 0),g([e.Input()],n.prototype,"nombreUsuario",void 0),g([e.Input()],n.prototype,"versionWeb",void 0),g([e.Input()],n.prototype,"urlBaseAlmacenamiento",void 0),g([e.Input()],n.prototype,"urlIdiomas",void 0),n=g([e.Component({selector:"wm-menu",template:'<div class="menu" [ngStyle]="{\'background-color\': colorFondo, \'color\': colorTexto}">\r\n <div class="d-lg-none">\r\n <button mat-icon-button (click)="menuLateralAbierto=!menuLateralAbierto; menuPrincipalSel = null">\r\n <mat-icon *ngIf="!menuLateralAbierto" class="animate__animated animate__fadeInRight animate__faster">menu\r\n </mat-icon>\r\n <mat-icon *ngIf="menuLateralAbierto" class="animate__animated animate__fadeInLeft animate__faster">close\r\n </mat-icon>\r\n </button>\r\n </div>\r\n <div class="d-lg-none logo-menu-principal">\r\n <img class="logo" src="{{logo}}">\r\n </div>\r\n <div class="d-none d-lg-block">\r\n <img class="logo" src="{{logo}}">\r\n <div *ngFor="let menuItem of menuPrincipal; let i=index" class="d-inline-block">\r\n\r\n <a *ngIf="menuItem.url" mat-button [href]="menuItem.url" (click)="clickMenuPrincipal(i)">\r\n {{menuItem.titulo}}\r\n </a>\r\n <button *ngIf="!menuItem.url" mat-button (click)="clickMenuPrincipal(i)">\r\n {{menuItem.titulo}}\r\n </button>\r\n </div>\r\n </div>\r\n <div class="info-adicional">\r\n <div class="datos border-r mt-1" *ngIf="nombreCliente">{{nombreCliente}}<mat-icon>people</mat-icon></div>\r\n <div class="datos border-r mt-1" *ngIf="nombreUsuario">{{nombreUsuario}}<mat-icon>person_outline</mat-icon></div>\r\n <div class="version" *ngIf="versionWeb">{{versionWeb}}</div>\r\n <div class="content-idioma" *ngIf="urlIdiomas">\r\n <mat-menu #menuIdiomas="matMenu">\r\n <a mat-menu-item *ngFor="let menuItem of menuIdioma.Culturas" href="{{urlCuentaSeguridad}}CambiarIdioma?culture={{menuItem.Name}}&ReturnUrl=/">\r\n {{menuItem.NativeName}}\r\n </a>\r\n </mat-menu>\r\n <button mat-button [matMenuTriggerFor]="menuIdiomas"><label class="mt-1">{{menuIdioma.Lenguaje}}</label><mat-icon class="icon-idioma">language</mat-icon></button>\r\n </div>\r\n\r\n </div>\r\n <div>\r\n <mat-menu #submenu="matMenu">\r\n <a mat-menu-item *ngFor="let menuItem of menuSecundarioSel.hijos" href="{{menuItem.url}}"\r\n [disabled]="!menuItem.url">\r\n <mat-icon *ngIf="menuItem.icono">{{menuItem.icono}}</mat-icon>\r\n {{menuItem.titulo}}\r\n </a>\r\n </mat-menu>\r\n <button *ngFor="let menuItem of menuSecundario; let i = index" mat-icon-button [matMenuTriggerFor]="submenu"\r\n (click)="clickMenuSecundario(i)">\r\n <mat-icon>{{menuItem.icono}}</mat-icon>\r\n </button>\r\n </div>\r\n</div>\r\n\r\n<div class="menu-lateral d-lg-none animate__animated animate__fadeInRight animate__faster" *ngIf="menuLateralAbierto">\r\n <div class="row">\r\n <div *ngFor="let menuItem of menuPrincipal; let i=index" class="col-sm-6 col-md-4">\r\n <a *ngIf="menuItem.url" [href]="menuItem.url" (click)="clickMenuPrincipal(i)">\r\n <div>\r\n <mat-icon svgIcon="{{menuItem.icono}}">{{menuItem.icono}}</mat-icon>\r\n <p>{{menuItem.titulo}}</p>\r\n </div>\r\n </a>\r\n <span *ngIf="!menuItem.url" (click)="clickMenuPrincipal(i)">\r\n <div>\r\n <mat-icon svgIcon="{{menuItem.icono}}">{{menuItem.icono}}</mat-icon>\r\n <p>{{menuItem.titulo}}</p>\r\n </div>\r\n </span>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class="sub-menu-fondo animate__animated animate__fadeIn animate__faster" (click)="menuPrincipalSel=null"\r\n *ngIf="menuPrincipalSel"></div>\r\n\r\n<div class="sub-menu animate__animated animate__fadeIn animate__faster" *ngIf="menuPrincipalSel">\r\n <div class="container-fluid">\r\n <div class="row">\r\n <div class="col-12 col-lg-5">\r\n <div class="px-3 px-sm-5 pt-5 pb-lg-5 text-center descripcion-menu">\r\n <mat-icon [ngStyle]="{\'color\': colorFondo}" svgIcon="{{menuPrincipalSel.icono}}">\r\n {{menuPrincipalSel.icono}}</mat-icon>\r\n <p>{{menuPrincipalSel.titulo}}</p>\r\n <p class="text-secondary">{{menuPrincipalSel.descripcion}}</p>\r\n </div>\r\n </div>\r\n <div class="col-12 col-lg-7 my-4">\r\n <div class="px-3 px-md-4 py-2 py-md-2">\r\n <ul class="list-unstyled">\r\n\r\n <li class="mb-3 d-flex" *ngFor="let menuItem of menuPrincipalSel.hijos">\r\n <mat-icon>{{menuItem.icono}}</mat-icon>\r\n <div class="ml-2 flex-fill">\r\n <a href="{{menuItem.url}}" *ngIf="menuItem.url">\r\n <div class="lead mb-2">{{menuItem.titulo}}</div>\r\n </a>\r\n <div class="lead mb-2" *ngIf="!menuItem.url">{{menuItem.titulo}}</div>\r\n\r\n <a href="{{menuSubItem.url}}" class="pl-2 my-2" *ngFor="let menuSubItem of menuItem.hijos">\r\n <div class="text-secondary">{{menuSubItem.titulo}}</div>\r\n </a>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <button mat-icon-button class="close-icon d-lg-none" (click)="menuPrincipalSel=null">\r\n <mat-icon>arrow_back</mat-icon>\r\n </button>\r\n</div>\r\n<div class="alerta-almacenamiento" *ngIf="porcentajeUtilizado >= 100">Su capacidad de almacenamiento ha llegado al {{porcentajeUtilizado}}% , libere espacio o adquiera mayor capacidad</div>',styles:[".menu{height:46px;display:flex;justify-content:space-between;align-items:center;top:0;left:0;right:0;background-color:#1c98a4;color:#fff;padding:0 4px}.menu .d-lg-block .mat-button{font-weight:400;height:46px;line-height:46px}.menu .logo{display:inline-block;height:40px}.menu .logo-menu-principal{position:absolute;display:block;left:65px}.menu .logo-menu-principal>img{display:block;margin:0 -50%}.menu .info-adicional{color:#fff;display:flex;justify-content:end;font-size:13px;position:absolute;right:47px}.menu .info-adicional .border-r{border-right:1px solid #fff}.menu .info-adicional .version{margin:7px 0 0 7px}.menu .info-adicional div.datos{margin:0 2px 0 5px;height:28px}.menu .info-adicional .mat-icon{vertical-align:middle;font-size:17px;color:#fff;line-height:21px;margin-left:2px}.menu .info-adicional button{padding:0 0 0 15px}.menu .info-adicional .content-idioma{margin:-5px 2px 0 5px;display:block;cursor:pointer}.menu .info-adicional .icon-idioma{font-size:17px!important;vertical-align:text-top!important;color:#fffc}.sub-menu{width:100%;position:absolute;top:46px;z-index:1000;background-color:#fff;display:flex;overflow-y:auto;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.sub-menu .close-icon{position:absolute;left:4px;top:4px}.sub-menu .descripcion-menu .mat-icon{color:#1c98a4;width:100px;height:100px}.sub-menu .descripcion-menu p:first-of-type{font-weight:300;font-size:30px;margin:16px 0}.sub-menu .descripcion-menu p:last-of-type{color:#6c757d}.sub-menu li{float:left;width:50%}.sub-menu li>.mat-icon{color:#444}.sub-menu li:nth-child(even){float:right}.sub-menu li a{transition:.5s;display:block}.sub-menu li a:hover{margin-left:8px}.sub-menu li .lead{line-height:24px;color:#212529;font-size:17px}.sub-menu-fondo{background:#272d3357;position:absolute;top:46px;bottom:0;left:0;right:0;z-index:1000}.menu-lateral{width:100%;position:absolute;top:46px;bottom:0;left:0;right:0;z-index:1000;display:flex;flex-direction:column;overflow-y:auto;background:#f7f7f7;padding:20px}.menu-lateral>div>div>*>div{text-align:center;padding:16px;background-color:#fff;margin:0 0 16px;color:#333;cursor:pointer;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.menu-lateral>div>div>*>div>.mat-icon{width:50px;height:50px}.menu-lateral>div>div>*>div>p{padding:0;margin:8px 0 0}a.mat-menu-item{color:#444!important}.alerta-almacenamiento{background:#ffffec;border-bottom:1px solid #efff00;min-height:39px;line-height:36px;font-size:12px;padding:0 0 0 25px}@media (max-width:767.98px){.sub-menu ul{margin:auto;padding:0 10px}.sub-menu ul li{float:none;width:100%}.sub-menu ul li:nth-child(even){float:none}}@media (max-width:991.98px){.sub-menu{bottom:0}}@media (min-width:600px){.logo-menu-principal{left:50%!important}}* :focus,:active{outline:0!important}"]})],n)}(),I=function(){function n(){}return n=g([e.NgModule({declarations:[b],imports:[r.BrowserModule,u.MatToolbarModule,s.MatSidenavModule,c.MatListModule,m.MatButtonModule,a.MatIconModule,d.MatMenuModule,p.MatRippleModule,i.HttpClientModule,l.JwtModule],exports:[b]})],n)}();n.WmMenuAlertaPanicoService=v,n.WmMenuComponent=b,n.WmMenuModule=I,n.WmMenuServicioService=h,Object.defineProperty(n,"__esModule",{value:!0})}));
15
+ ***************************************************************************** */function f(n,e,i,t){var o,r=arguments.length,a=r<3?e:null===t?t=Object.getOwnPropertyDescriptor(e,i):t;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(n,e,i,t);else for(var u=n.length-1;u>=0;u--)(o=n[u])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a}var h=function(){this.hijos=[]},g=function(){function n(n,e,i){this.http=n,this.iconRegistry=e,this.sanitizer=i}return n.prototype.menuApiObtener=function(n,e,r,a){void 0===a&&(a="");var u=new i.HttpHeaders({Authorization:"Bearer "+r}),l=new i.HttpParams;return a.length>0&&(l=l.append("codLogica",a)),l=(l=l.append("ctrlActivo","true")).append("conPadres","true"),null!=e&&(l=l.append("idUsuario",e.toString())),this.http.get(n,{headers:u,params:l}).pipe(t.map((function(n){return n})),t.catchError((function(n){return o.throwError(n.error)})))},n.prototype.mapearMenu=function(n){for(var e in n=n.sort((function(n,e){return n.Posicion>e.Posicion?"1":"-1"}))){var i=n[e];if(i.Icono.startsWith("http")){var t="wm-icon-menu-"+e;this.iconRegistry.addSvgIcon(t,this.sanitizer.bypassSecurityTrustResourceUrl(i.Icono)),n[e].Icono=t}}return this.obtenerMenu(n)},n.prototype.obtenerMenu=function(n,e){var i=[];for(var t in n)(n[t].IdMenuPadre==e||!e&&null==n[t].IdMenuPadre)&&i.push({titulo:n[t].IdiomaRecurso,url:n[t].Url,icono:n[t].Icono,descripcion:n[t].Descripcion,hijos:this.obtenerMenu(n,n[t].IdMenu)});return i},n.prototype.menuIdiomasObtener=function(n,e,r){new i.HttpHeaders({Authorization:"Bearer "+r});return this.http.get(n).pipe(t.map((function(n){return n})),t.catchError((function(n){return o.throwError(n.error)})))},n.prototype.almacenamientoApiObtener=function(n,e,r){var a=new i.HttpHeaders({Authorization:"Bearer "+r}),u=new i.HttpParams;return null!=e&&(u=u.append("idUsuario",e.toString())),this.http.get(n,{headers:a,params:u}).pipe(t.map((function(n){return n})),t.catchError((function(n){return o.throwError(n.error)})))},n.ctorParameters=function(){return[{type:i.HttpClient},{type:a.MatIconRegistry},{type:r.DomSanitizer}]},n.ɵprov=e.ɵɵdefineInjectable({factory:function(){return new n(e.ɵɵinject(i.HttpClient),e.ɵɵinject(a.MatIconRegistry),e.ɵɵinject(r.DomSanitizer))},token:n,providedIn:"root"}),n=f([e.Injectable({providedIn:"root"})],n)}(),v=function(){function n(n){this.wmMenuServicioService=n,this.alternateTitle="Alerta de Pánico Recibida",this.audio=null,this.isPlaying=!1,this.IdsAlertasPanicoActivas=new Set,this.soundTimeout=null,this.isRunning=!1}return n.prototype.iniciarProceso=function(n,e,i,t,o){var r=this;this.rutaAudio=o;["drag","click"].forEach((function(o){document.addEventListener(o,(function(){r.wmMenuServicioService.menuApiObtener(i,null,t,"ReporteAlertasPanico").subscribe((function(i){if(i&&i.length>0&&1==i[0].Valor){if(r.isRunning)return;var t=localStorage.getItem("ALERTAS_PANICO_ACTIVAS_WM");r.IdsAlertasPanicoActivas=t?new Set(JSON.parse(t)):new Set;var o=function(){r.isRunning=!0,e(),setTimeout((function(){r.isRunning=!1,o()}),n)};o()}}))}),{once:!0})}))},n.prototype.stopProcess=function(){this.isRunning=!1,this.subscription&&this.subscription.unsubscribe()},n.prototype.ngOnDestroy=function(){this.stopSound(),this.stopFlashingTitle()},n.prototype.playSound=function(){var n=this;this.isPlaying||(this.isPlaying=!0,this.audio||(this.audio=new Audio(this.rutaAudio)),this.audio.loop=!0,this.audio.play().then((function(){n.soundTimeout=setTimeout((function(){n.stopSound()}),1e4)})).catch((function(n){console.log("Error al reproducir el sonido:",n)})))},n.prototype.stopSound=function(){this.audio&&(this.audio.pause(),this.audio.currentTime=0),this.isPlaying=!1,this.soundTimeout&&(clearTimeout(this.soundTimeout),this.soundTimeout=null)},n.prototype.startFlashingTitle=function(){var n=this,e=!1;this.originalTitle||(this.originalTitle=document.title),this.intervalId||(this.intervalId=setInterval((function(){document.title=e?n.alternateTitle:n.originalTitle,e=!e}),1e3))},n.prototype.stopFlashingTitle=function(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null,document.title=this.originalTitle)},n.prototype.revisarAlertasPendientes=function(n,e){var i=this,t=(new u.JwtHelperService).decodeToken(e);this.wmMenuServicioService.menuApiObtener(n,t.id_usuario,e).subscribe((function(n){if(n&&n.length>0){var e=n.map((function(n){return n.IdAlertaPanico}));i.IdsAlertasPanicoActivas.forEach((function(n){e.includes(n)||i.IdsAlertasPanicoActivas.delete(n)}));var t=n.filter((function(n){return!i.IdsAlertasPanicoActivas.has(n.IdAlertaPanico)}));t.forEach((function(n){return i.IdsAlertasPanicoActivas.add(n.IdAlertaPanico)})),i.IdsAlertasPanicoActivas.size>0&&i.startFlashingTitle(),t.length>0&&i.playSound()}else i.IdsAlertasPanicoActivas.clear(),i.stopFlashingTitle();localStorage.setItem("ALERTAS_PANICO_ACTIVAS_WM",JSON.stringify(Array.from(i.IdsAlertasPanicoActivas)))}))},n.ctorParameters=function(){return[{type:g}]},n.ɵprov=e.ɵɵdefineInjectable({factory:function(){return new n(e.ɵɵinject(g))},token:n,providedIn:"root"}),n=f([e.Injectable({providedIn:"root"})],n)}(),b=function(){function n(n,e){this.wmMenuServicioService=n,this.alertaPanicoService=e,this.menuSecundarioSel=new h,this.menuLateralAbierto=!1,this.menuIdioma=[],this.intervaloPeticionesMs=6e4}return n.prototype.ngOnInit=function(){var n=this;if(this.cargarMenuCuenta(),this.alertaPanicoService.iniciarProceso(this.intervaloPeticionesMs,(function(){return n.alertaPanicoService.revisarAlertasPendientes(n.urlObtenerAlertasPanico,n.token)}),this.urlObtenerParametro,this.token,this.rutaAudio),this.urlMenu&&this.token){var e=(new u.JwtHelperService).decodeToken(this.token);this.wmMenuServicioService.menuApiObtener(this.urlMenu,e.id_usuario,this.token).subscribe((function(e){n.menuPrincipal=n.wmMenuServicioService.mapearMenu(e)}))}if(this.urlIdiomas&&this.token){e=(new u.JwtHelperService).decodeToken(this.token);this.wmMenuServicioService.menuIdiomasObtener(this.urlIdiomas,e.id_usuario,this.token).subscribe((function(e){n.menuIdioma=e,n.cargarMenuCuenta()}))}if(this.urlBaseAlmacenamiento&&this.token){e=(new u.JwtHelperService).decodeToken(this.token);this.wmMenuServicioService.almacenamientoApiObtener(this.urlBaseAlmacenamiento,e.id_usuario,this.token).subscribe((function(e){var i=e[0]&&e[0].Utilizado?e[0].Utilizado:0,t=e[0]&&e[0].Total?e[0].Total:0;n.porcentajeUtilizado=Math.round(i/t*100)}))}},n.prototype.clickMenuPrincipal=function(n){this.menuPrincipal[n].hijos&&this.menuPrincipal[n].hijos.length&&(this.menuPrincipalSel==this.menuPrincipal[n]?this.menuPrincipalSel=null:this.menuPrincipalSel=this.menuPrincipal[n])},n.prototype.clickMenuSecundario=function(n){this.menuSecundarioSel=this.menuSecundario[n],this.menuPrincipalSel=null},n.prototype.cargarMenuCuenta=function(){var n;if(this.urlCuentaSeguridad&&this.token){var e=(new u.JwtHelperService).decodeToken(this.token);this.menuSecundario=[{titulo:e.unique_name,icono:"account_circle",hijos:[{titulo:e.unique_name,url:"",icono:"person"},{titulo:this.menuIdioma&&this.menuIdioma.CambiarContrasenna?this.menuIdioma.CambiarContrasenna:"Cambiar contraseña",url:this.urlCuentaSeguridad+"CambioContrasena",icono:"vpn_key"},"1"==this.activar2fa?{titulo:this.menuIdioma&&this.menuIdioma.Configurar2fa?this.menuIdioma.Configurar2fa:"Configurar 2FA",url:this.urlCuentaSeguridad+"Habilitacion2FA",icono:"verified_user"}:null,null!=this.urlguiasOnline&&""!==this.urlguiasOnline&&0!=(null===(n=this.urlguiasOnline)||void 0===n?void 0:n.length)?{titulo:this.menuIdioma&&this.menuIdioma.guiasOnline?this.menuIdioma.guiasOnline:"Guias Online",url:this.urlguiasOnline,icono:"menu_book"}:null,{titulo:this.menuIdioma&&this.menuIdioma.CerrarSesion?this.menuIdioma.CerrarSesion:"Cerrar sesión",url:this.urlCuentaSeguridad+"CerrarSesion",icono:"exit_to_app"}].filter((function(n){return null!=n}))}]}},n.ctorParameters=function(){return[{type:g},{type:v}]},f([e.Input()],n.prototype,"logo",void 0),f([e.Input()],n.prototype,"colorFondo",void 0),f([e.Input()],n.prototype,"colorTexto",void 0),f([e.Input()],n.prototype,"menuPrincipal",void 0),f([e.Input()],n.prototype,"menuSecundario",void 0),f([e.Input()],n.prototype,"urlMenu",void 0),f([e.Input()],n.prototype,"token",void 0),f([e.Input()],n.prototype,"urlCuentaSeguridad",void 0),f([e.Input()],n.prototype,"activar2fa",void 0),f([e.Input()],n.prototype,"urlguiasOnline",void 0),f([e.Input()],n.prototype,"urlObtenerAlertasPanico",void 0),f([e.Input()],n.prototype,"urlObtenerParametro",void 0),f([e.Input()],n.prototype,"rutaAudio",void 0),f([e.Input()],n.prototype,"nombreCliente",void 0),f([e.Input()],n.prototype,"nombreUsuario",void 0),f([e.Input()],n.prototype,"versionWeb",void 0),f([e.Input()],n.prototype,"urlBaseAlmacenamiento",void 0),f([e.Input()],n.prototype,"urlIdiomas",void 0),n=f([e.Component({selector:"wm-menu",template:'<div class="menu" [ngStyle]="{\'background-color\': colorFondo, \'color\': colorTexto}">\r\n <div class="d-lg-none">\r\n <button mat-icon-button (click)="menuLateralAbierto=!menuLateralAbierto; menuPrincipalSel = null">\r\n <mat-icon *ngIf="!menuLateralAbierto" class="animate__animated animate__fadeInRight animate__faster">menu\r\n </mat-icon>\r\n <mat-icon *ngIf="menuLateralAbierto" class="animate__animated animate__fadeInLeft animate__faster">close\r\n </mat-icon>\r\n </button>\r\n </div>\r\n <div class="d-lg-none logo-menu-principal">\r\n <img class="logo" src="{{logo}}">\r\n </div>\r\n <div class="d-none d-lg-block">\r\n <img class="logo" src="{{logo}}">\r\n <div *ngFor="let menuItem of menuPrincipal; let i=index" class="d-inline-block">\r\n\r\n <a *ngIf="menuItem.url" mat-button [href]="menuItem.url" (click)="clickMenuPrincipal(i)">\r\n {{menuItem.titulo}}\r\n </a>\r\n <button *ngIf="!menuItem.url" mat-button (click)="clickMenuPrincipal(i)">\r\n {{menuItem.titulo}}\r\n </button>\r\n </div>\r\n </div>\r\n <div class="info-adicional">\r\n <div class="datos border-r mt-1" *ngIf="nombreCliente">{{nombreCliente}}<mat-icon>people</mat-icon></div>\r\n <div class="datos border-r mt-1" *ngIf="nombreUsuario">{{nombreUsuario}}<mat-icon>person_outline</mat-icon></div>\r\n <div class="version" *ngIf="versionWeb">{{versionWeb}}</div>\r\n <div class="content-idioma" *ngIf="urlIdiomas">\r\n <mat-menu #menuIdiomas="matMenu">\r\n <a mat-menu-item *ngFor="let menuItem of menuIdioma.Culturas" href="{{urlCuentaSeguridad}}CambiarIdioma?culture={{menuItem.Name}}&ReturnUrl=/">\r\n {{menuItem.NativeName}}\r\n </a>\r\n </mat-menu>\r\n <button mat-button [matMenuTriggerFor]="menuIdiomas"><label class="mt-1">{{menuIdioma.Lenguaje}}</label><mat-icon class="icon-idioma">language</mat-icon></button>\r\n </div>\r\n\r\n </div>\r\n <div>\r\n <mat-menu #submenu="matMenu">\r\n <a mat-menu-item *ngFor="let menuItem of menuSecundarioSel.hijos" href="{{menuItem.url}}"\r\n [disabled]="!menuItem.url">\r\n <mat-icon *ngIf="menuItem.icono">{{menuItem.icono}}</mat-icon>\r\n {{menuItem.titulo}}\r\n </a>\r\n </mat-menu>\r\n <button *ngFor="let menuItem of menuSecundario; let i = index" mat-icon-button [matMenuTriggerFor]="submenu"\r\n (click)="clickMenuSecundario(i)">\r\n <mat-icon>{{menuItem.icono}}</mat-icon>\r\n </button>\r\n </div>\r\n</div>\r\n\r\n<div class="menu-lateral d-lg-none animate__animated animate__fadeInRight animate__faster" *ngIf="menuLateralAbierto">\r\n <div class="row">\r\n <div *ngFor="let menuItem of menuPrincipal; let i=index" class="col-sm-6 col-md-4">\r\n <a *ngIf="menuItem.url" [href]="menuItem.url" (click)="clickMenuPrincipal(i)">\r\n <div>\r\n <mat-icon svgIcon="{{menuItem.icono}}">{{menuItem.icono}}</mat-icon>\r\n <p>{{menuItem.titulo}}</p>\r\n </div>\r\n </a>\r\n <span *ngIf="!menuItem.url" (click)="clickMenuPrincipal(i)">\r\n <div>\r\n <mat-icon svgIcon="{{menuItem.icono}}">{{menuItem.icono}}</mat-icon>\r\n <p>{{menuItem.titulo}}</p>\r\n </div>\r\n </span>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class="sub-menu-fondo animate__animated animate__fadeIn animate__faster" (click)="menuPrincipalSel=null"\r\n *ngIf="menuPrincipalSel"></div>\r\n\r\n<div class="sub-menu animate__animated animate__fadeIn animate__faster" *ngIf="menuPrincipalSel">\r\n <div class="container-fluid">\r\n <div class="row">\r\n <div class="col-12 col-lg-5">\r\n <div class="px-3 px-sm-5 pt-5 pb-lg-5 text-center descripcion-menu">\r\n <mat-icon [ngStyle]="{\'color\': colorFondo}" svgIcon="{{menuPrincipalSel.icono}}">\r\n {{menuPrincipalSel.icono}}</mat-icon>\r\n <p>{{menuPrincipalSel.titulo}}</p>\r\n <p class="text-secondary">{{menuPrincipalSel.descripcion}}</p>\r\n </div>\r\n </div>\r\n <div class="col-12 col-lg-7 my-4">\r\n <div class="px-3 px-md-4 py-2 py-md-2">\r\n <ul class="list-unstyled">\r\n\r\n <li class="mb-3 d-flex" *ngFor="let menuItem of menuPrincipalSel.hijos">\r\n <mat-icon>{{menuItem.icono}}</mat-icon>\r\n <div class="ml-2 flex-fill">\r\n <a href="{{menuItem.url}}" *ngIf="menuItem.url">\r\n <div class="lead mb-2">{{menuItem.titulo}}</div>\r\n </a>\r\n <div class="lead mb-2" *ngIf="!menuItem.url">{{menuItem.titulo}}</div>\r\n\r\n <a href="{{menuSubItem.url}}" class="pl-2 my-2" *ngFor="let menuSubItem of menuItem.hijos">\r\n <div class="text-secondary">{{menuSubItem.titulo}}</div>\r\n </a>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <button mat-icon-button class="close-icon d-lg-none" (click)="menuPrincipalSel=null">\r\n <mat-icon>arrow_back</mat-icon>\r\n </button>\r\n</div>\r\n<div class="alerta-almacenamiento" *ngIf="porcentajeUtilizado >= 100">Su capacidad de almacenamiento ha llegado al {{porcentajeUtilizado}}% , libere espacio o adquiera mayor capacidad</div>',styles:[".menu{height:46px;display:flex;justify-content:space-between;align-items:center;top:0;left:0;right:0;background-color:#1c98a4;color:#fff;padding:0 4px}.menu .d-lg-block .mat-button{font-weight:400;height:46px;line-height:46px}.menu .logo{display:inline-block;height:40px}.menu .logo-menu-principal{position:absolute;display:block;left:65px}.menu .logo-menu-principal>img{display:block;margin:0 -50%}.menu .info-adicional{color:#fff;display:flex;justify-content:end;font-size:13px;position:absolute;right:47px}.menu .info-adicional .border-r{border-right:1px solid #fff}.menu .info-adicional .version{margin:7px 0 0 7px}.menu .info-adicional div.datos{margin:0 2px 0 5px;height:28px}.menu .info-adicional .mat-icon{vertical-align:middle;font-size:17px;color:#fff;line-height:21px;margin-left:2px}.menu .info-adicional button{padding:0 0 0 15px}.menu .info-adicional .content-idioma{margin:-5px 2px 0 5px;display:block;cursor:pointer}.menu .info-adicional .icon-idioma{font-size:17px!important;vertical-align:text-top!important;color:#fffc}.sub-menu{width:100%;position:absolute;top:46px;z-index:1000;background-color:#fff;display:flex;overflow-y:auto;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.sub-menu .close-icon{position:absolute;left:4px;top:4px}.sub-menu .descripcion-menu .mat-icon{color:#1c98a4;width:100px;height:100px}.sub-menu .descripcion-menu p:first-of-type{font-weight:300;font-size:30px;margin:16px 0}.sub-menu .descripcion-menu p:last-of-type{color:#6c757d}.sub-menu li{float:left;width:50%}.sub-menu li>.mat-icon{color:#444}.sub-menu li:nth-child(even){float:right}.sub-menu li a{transition:.5s;display:block}.sub-menu li a:hover{margin-left:8px}.sub-menu li .lead{line-height:24px;color:#212529;font-size:17px}.sub-menu-fondo{background:#272d3357;position:absolute;top:46px;bottom:0;left:0;right:0;z-index:1000}.menu-lateral{width:100%;position:absolute;top:46px;bottom:0;left:0;right:0;z-index:1000;display:flex;flex-direction:column;overflow-y:auto;background:#f7f7f7;padding:20px}.menu-lateral>div>div>*>div{text-align:center;padding:16px;background-color:#fff;margin:0 0 16px;color:#333;cursor:pointer;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.menu-lateral>div>div>*>div>.mat-icon{width:50px;height:50px}.menu-lateral>div>div>*>div>p{padding:0;margin:8px 0 0}a.mat-menu-item{color:#444!important}.alerta-almacenamiento{background:#ffffec;border-bottom:1px solid #efff00;min-height:39px;line-height:36px;font-size:12px;padding:0 0 0 25px}@media (max-width:767.98px){.sub-menu ul{margin:auto;padding:0 10px}.sub-menu ul li{float:none;width:100%}.sub-menu ul li:nth-child(even){float:none}}@media (max-width:991.98px){.sub-menu{bottom:0}}@media (min-width:600px){.logo-menu-principal{left:50%!important}}* :focus,:active{outline:0!important}"]})],n)}(),I=function(){function n(){}return n=f([e.NgModule({declarations:[b],imports:[r.BrowserModule,l.MatToolbarModule,c.MatSidenavModule,s.MatListModule,m.MatButtonModule,a.MatIconModule,d.MatMenuModule,p.MatRippleModule,i.HttpClientModule,u.JwtModule],exports:[b]})],n)}();n.WmMenuAlertaPanicoService=v,n.WmMenuComponent=b,n.WmMenuModule=I,n.WmMenuServicioService=g,Object.defineProperty(n,"__esModule",{value:!0})}));
16
16
  //# sourceMappingURL=wm-menu.umd.min.js.map