wm-menu 1.2.7 → 1.2.9

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.
@@ -324,146 +324,6 @@
324
324
  return WmMenuServicioService;
325
325
  }());
326
326
 
327
- var WmMenuComponent = /** @class */ (function () {
328
- function WmMenuComponent(wmMenuServicioService) {
329
- this.wmMenuServicioService = wmMenuServicioService;
330
- this.menuSecundarioSel = new MenuSecundario();
331
- this.menuLateralAbierto = false;
332
- this.menuIdioma = [];
333
- }
334
- WmMenuComponent.prototype.ngOnInit = function () {
335
- var _this = this;
336
- this.cargarMenuCuenta();
337
- if (this.urlMenu && this.token) {
338
- var helper = new angularJwt.JwtHelperService();
339
- var decodedToken = helper.decodeToken(this.token);
340
- this.wmMenuServicioService
341
- .menuApiObtener(this.urlMenu, decodedToken["id_usuario"], this.token)
342
- .subscribe(function (resp) {
343
- _this.menuPrincipal = _this.wmMenuServicioService.mapearMenu(resp);
344
- });
345
- }
346
- if (this.urlIdiomas && this.token) {
347
- var helper = new angularJwt.JwtHelperService();
348
- var decodedToken = helper.decodeToken(this.token);
349
- this.wmMenuServicioService
350
- .menuIdiomasObtener(this.urlIdiomas, decodedToken["id_usuario"], this.token)
351
- .subscribe(function (resp) {
352
- _this.menuIdioma = resp;
353
- _this.cargarMenuCuenta();
354
- });
355
- }
356
- if (this.urlBaseAlmacenamiento && this.token) {
357
- var helper = new angularJwt.JwtHelperService();
358
- var decodedToken = helper.decodeToken(this.token);
359
- this.wmMenuServicioService
360
- .almacenamientoApiObtener(this.urlBaseAlmacenamiento, decodedToken["id_usuario"], this.token)
361
- .subscribe(function (resp) {
362
- var utilizado = resp[0] && resp[0].Utilizado ? resp[0].Utilizado : 0;
363
- var total = resp[0] && resp[0].Total ? resp[0].Total : 0;
364
- _this.porcentajeUtilizado = Math.round((utilizado / total) * 100);
365
- });
366
- }
367
- };
368
- WmMenuComponent.prototype.clickMenuPrincipal = function (i) {
369
- if (this.menuPrincipal[i].hijos && this.menuPrincipal[i].hijos.length) {
370
- if (this.menuPrincipalSel == this.menuPrincipal[i]) {
371
- this.menuPrincipalSel = null;
372
- }
373
- else {
374
- this.menuPrincipalSel = this.menuPrincipal[i];
375
- }
376
- }
377
- };
378
- WmMenuComponent.prototype.clickMenuSecundario = function (i) {
379
- this.menuSecundarioSel = this.menuSecundario[i];
380
- this.menuPrincipalSel = null;
381
- };
382
- WmMenuComponent.prototype.cargarMenuCuenta = function () {
383
- var _a;
384
- if (this.urlCuentaSeguridad && this.token) {
385
- var helper = new angularJwt.JwtHelperService();
386
- var decodedToken = helper.decodeToken(this.token);
387
- this.menuSecundario = [{
388
- titulo: decodedToken["unique_name"],
389
- icono: "account_circle",
390
- hijos: [
391
- { titulo: decodedToken["unique_name"], url: "", icono: "person" },
392
- { titulo: this.menuIdioma && this.menuIdioma.CambiarContrasenna ? this.menuIdioma.CambiarContrasenna : "Cambiar contraseña", url: this.urlCuentaSeguridad + "CambioContrasena", icono: "vpn_key" },
393
- this.activar2fa == "1" ? { titulo: this.menuIdioma && this.menuIdioma.Configurar2fa ? this.menuIdioma.Configurar2fa : "Configurar 2FA", url: this.urlCuentaSeguridad + "Habilitacion2FA", icono: "verified_user" } : null,
394
- this.urlguiasOnline != null && this.urlguiasOnline !== "" && ((_a = this.urlguiasOnline) === null || _a === void 0 ? void 0 : _a.length) != 0 ? { titulo: this.menuIdioma && this.menuIdioma.guiasOnline ? this.menuIdioma.guiasOnline : "Guias Online", url: this.urlguiasOnline, icono: "menu_book" } : null,
395
- { titulo: this.menuIdioma && this.menuIdioma.CerrarSesion ? this.menuIdioma.CerrarSesion : "Cerrar sesión", url: this.urlCuentaSeguridad + "CerrarSesion", icono: "exit_to_app" }
396
- ].filter(function (hijo) { return hijo != null; }),
397
- }];
398
- }
399
- };
400
- WmMenuComponent.ctorParameters = function () { return [
401
- { type: WmMenuServicioService }
402
- ]; };
403
- __decorate([
404
- core.Input()
405
- ], WmMenuComponent.prototype, "logo", void 0);
406
- __decorate([
407
- core.Input()
408
- ], WmMenuComponent.prototype, "colorFondo", void 0);
409
- __decorate([
410
- core.Input()
411
- ], WmMenuComponent.prototype, "colorTexto", void 0);
412
- __decorate([
413
- core.Input()
414
- ], WmMenuComponent.prototype, "menuPrincipal", void 0);
415
- __decorate([
416
- core.Input()
417
- ], WmMenuComponent.prototype, "menuSecundario", void 0);
418
- __decorate([
419
- core.Input()
420
- ], WmMenuComponent.prototype, "urlMenu", void 0);
421
- __decorate([
422
- core.Input()
423
- ], WmMenuComponent.prototype, "token", void 0);
424
- __decorate([
425
- core.Input()
426
- ], WmMenuComponent.prototype, "urlCuentaSeguridad", void 0);
427
- __decorate([
428
- core.Input()
429
- ], WmMenuComponent.prototype, "activar2fa", void 0);
430
- __decorate([
431
- core.Input()
432
- ], WmMenuComponent.prototype, "urlguiasOnline", void 0);
433
- __decorate([
434
- core.Input()
435
- ], WmMenuComponent.prototype, "urlObtenerAlertasPanico", void 0);
436
- __decorate([
437
- core.Input()
438
- ], WmMenuComponent.prototype, "urlObtenerParametro", void 0);
439
- __decorate([
440
- core.Input()
441
- ], WmMenuComponent.prototype, "rutaAudio", void 0);
442
- __decorate([
443
- core.Input()
444
- ], WmMenuComponent.prototype, "nombreCliente", void 0);
445
- __decorate([
446
- core.Input()
447
- ], WmMenuComponent.prototype, "nombreUsuario", void 0);
448
- __decorate([
449
- core.Input()
450
- ], WmMenuComponent.prototype, "versionWeb", void 0);
451
- __decorate([
452
- core.Input()
453
- ], WmMenuComponent.prototype, "urlBaseAlmacenamiento", void 0);
454
- __decorate([
455
- core.Input()
456
- ], WmMenuComponent.prototype, "urlIdiomas", void 0);
457
- WmMenuComponent = __decorate([
458
- core.Component({
459
- selector: 'wm-menu',
460
- 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>",
461
- 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}"]
462
- })
463
- ], WmMenuComponent);
464
- return WmMenuComponent;
465
- }());
466
-
467
327
  var WmMenuAlertaPanicoService = /** @class */ (function () {
468
328
  function WmMenuAlertaPanicoService(wmMenuServicioService) {
469
329
  this.wmMenuServicioService = wmMenuServicioService;
@@ -473,23 +333,28 @@
473
333
  this.IdsAlertasPanicoActivas = new Set(); // Almacena los IDs de las alertas ya manejadas
474
334
  this.soundTimeout = null; // Controla el temporizador del sonido
475
335
  this.isRunning = false;
336
+ console.log('WmMenuAlertaPanicoService inicializado.');
476
337
  }
477
338
  WmMenuAlertaPanicoService.prototype.iniciarProceso = function (intervalMs, callback, urlObtenerParametro, token, rutaAudio) {
478
339
  var _this = this;
340
+ console.log('iniciarProceso llamado con parámetros:', { intervalMs: intervalMs, urlObtenerParametro: urlObtenerParametro, token: token, rutaAudio: rutaAudio });
479
341
  this.rutaAudio = rutaAudio;
480
342
  var iniciarConInteraccion = function () {
343
+ console.log('iniciarConInteraccion ejecutado.');
481
344
  _this.wmMenuServicioService
482
345
  .menuApiObtener(urlObtenerParametro, null, token, 'ReporteAlertasPanico')
483
346
  .subscribe(function (resp) {
484
- // validar si el parametro ReporteAlertasPanico esta encendido
347
+ console.log('Respuesta obtenida de menuApiObtener:', resp);
485
348
  if (resp && resp.length > 0 && resp[0].Valor == 1) {
486
349
  if (_this.isRunning) {
350
+ console.log('Proceso ya está corriendo.');
487
351
  return;
488
352
  }
489
- // Inicializar la variable desde localStorage
490
353
  var storedIds = localStorage.getItem('ALERTAS_PANICO_ACTIVAS_WM');
491
354
  _this.IdsAlertasPanicoActivas = storedIds ? new Set(JSON.parse(storedIds)) : new Set();
355
+ console.log('IdsAlertasPanicoActivas inicializado:', _this.IdsAlertasPanicoActivas);
492
356
  var ejecutarProceso_1 = function () {
357
+ console.log('ejecutarProceso iniciado.');
493
358
  _this.isRunning = true;
494
359
  callback();
495
360
  setTimeout(function () {
@@ -502,42 +367,49 @@
502
367
  });
503
368
  };
504
369
  ['drag', 'click'].forEach(function (evento) {
370
+ console.log("Evento " + evento + " registrado para iniciar proceso.");
505
371
  document.addEventListener(evento, function () {
506
372
  iniciarConInteraccion();
507
373
  }, { once: true });
508
374
  });
509
375
  };
510
376
  WmMenuAlertaPanicoService.prototype.stopProcess = function () {
377
+ console.log('stopProcess ejecutado.');
511
378
  this.isRunning = false;
512
379
  if (this.subscription) {
513
380
  this.subscription.unsubscribe();
514
381
  }
515
382
  };
516
383
  WmMenuAlertaPanicoService.prototype.ngOnDestroy = function () {
384
+ console.log('ngOnDestroy ejecutado.');
517
385
  this.stopSound();
518
386
  this.stopFlashingTitle();
519
387
  };
520
388
  WmMenuAlertaPanicoService.prototype.playSound = function () {
521
389
  var _this = this;
390
+ console.log('playSound llamado.');
522
391
  if (this.isPlaying)
523
392
  return; // Evita reproducir si ya está sonando
524
393
  this.isPlaying = true;
525
394
  if (!this.audio) {
526
395
  this.audio = new Audio(this.rutaAudio); // Ruta al archivo de sonido
527
396
  }
397
+ console.log("Audio cargado: ", this.audio);
528
398
  this.audio.loop = true; // Reproducir en bucle
529
399
  this.audio.play()
530
400
  .then(function () {
401
+ console.log('Sonido reproduciéndose.');
531
402
  // Detener el sonido después de 10 segundos
532
403
  _this.soundTimeout = setTimeout(function () {
533
404
  _this.stopSound();
534
405
  }, 10000); // Detener después de 10 segundos
535
406
  })
536
407
  .catch(function (error) {
537
- console.log('Error al reproducir el sonido:', error);
408
+ console.error('Error al reproducir el sonido:', error);
538
409
  });
539
410
  };
540
411
  WmMenuAlertaPanicoService.prototype.stopSound = function () {
412
+ console.log('stopSound llamado.');
541
413
  if (this.audio) {
542
414
  this.audio.pause();
543
415
  this.audio.currentTime = 0; // Reinicia el sonido
@@ -550,6 +422,7 @@
550
422
  };
551
423
  WmMenuAlertaPanicoService.prototype.startFlashingTitle = function () {
552
424
  var _this = this;
425
+ console.log('startFlashingTitle llamado.');
553
426
  var toggle = false;
554
427
  // Almacenar el título original si aún no se ha guardado
555
428
  if (!this.originalTitle) {
@@ -564,6 +437,7 @@
564
437
  }
565
438
  };
566
439
  WmMenuAlertaPanicoService.prototype.stopFlashingTitle = function () {
440
+ console.log('stopFlashingTitle llamado.');
567
441
  if (this.intervalId) {
568
442
  clearInterval(this.intervalId);
569
443
  this.intervalId = null;
@@ -572,13 +446,16 @@
572
446
  };
573
447
  WmMenuAlertaPanicoService.prototype.revisarAlertasPendientes = function (urlObtenerAlertasPanico, token) {
574
448
  var _this = this;
449
+ console.log('revisarAlertasPendientes llamado con parámetros:', { urlObtenerAlertasPanico: urlObtenerAlertasPanico, token: token });
575
450
  var helper = new angularJwt.JwtHelperService();
576
451
  var decodedToken = helper.decodeToken(token);
577
452
  this.wmMenuServicioService
578
453
  .menuApiObtener(urlObtenerAlertasPanico, decodedToken['id_usuario'], token)
579
454
  .subscribe(function (resp) {
455
+ console.log('Respuesta obtenida de revisarAlertasPendientes:', resp);
580
456
  if (resp && resp.length > 0) {
581
457
  var alertasIds_1 = resp.map(function (alerta) { return alerta.IdAlertaPanico; });
458
+ console.log('IDs de alertas obtenidas:', alertasIds_1);
582
459
  // Eliminar IDs que no están en la respuesta del servicio
583
460
  _this.IdsAlertasPanicoActivas.forEach(function (id) {
584
461
  if (!alertasIds_1.includes(id)) {
@@ -618,6 +495,150 @@
618
495
  return WmMenuAlertaPanicoService;
619
496
  }());
620
497
 
498
+ var WmMenuComponent = /** @class */ (function () {
499
+ function WmMenuComponent(wmMenuServicioService, wmMenuAlertaPanicoService) {
500
+ this.wmMenuServicioService = wmMenuServicioService;
501
+ this.wmMenuAlertaPanicoService = wmMenuAlertaPanicoService;
502
+ this.intervaloPeticionesMs = 60000;
503
+ this.menuSecundarioSel = new MenuSecundario();
504
+ this.menuLateralAbierto = false;
505
+ this.menuIdioma = [];
506
+ }
507
+ WmMenuComponent.prototype.ngOnInit = function () {
508
+ 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
+ this.cargarMenuCuenta();
511
+ if (this.urlMenu && this.token) {
512
+ var helper = new angularJwt.JwtHelperService();
513
+ var decodedToken = helper.decodeToken(this.token);
514
+ this.wmMenuServicioService
515
+ .menuApiObtener(this.urlMenu, decodedToken["id_usuario"], this.token)
516
+ .subscribe(function (resp) {
517
+ _this.menuPrincipal = _this.wmMenuServicioService.mapearMenu(resp);
518
+ });
519
+ }
520
+ if (this.urlIdiomas && this.token) {
521
+ var helper = new angularJwt.JwtHelperService();
522
+ var decodedToken = helper.decodeToken(this.token);
523
+ this.wmMenuServicioService
524
+ .menuIdiomasObtener(this.urlIdiomas, decodedToken["id_usuario"], this.token)
525
+ .subscribe(function (resp) {
526
+ _this.menuIdioma = resp;
527
+ _this.cargarMenuCuenta();
528
+ });
529
+ }
530
+ if (this.urlBaseAlmacenamiento && this.token) {
531
+ var helper = new angularJwt.JwtHelperService();
532
+ var decodedToken = helper.decodeToken(this.token);
533
+ this.wmMenuServicioService
534
+ .almacenamientoApiObtener(this.urlBaseAlmacenamiento, decodedToken["id_usuario"], this.token)
535
+ .subscribe(function (resp) {
536
+ var utilizado = resp[0] && resp[0].Utilizado ? resp[0].Utilizado : 0;
537
+ var total = resp[0] && resp[0].Total ? resp[0].Total : 0;
538
+ _this.porcentajeUtilizado = Math.round((utilizado / total) * 100);
539
+ });
540
+ }
541
+ };
542
+ WmMenuComponent.prototype.clickMenuPrincipal = function (i) {
543
+ if (this.menuPrincipal[i].hijos && this.menuPrincipal[i].hijos.length) {
544
+ if (this.menuPrincipalSel == this.menuPrincipal[i]) {
545
+ this.menuPrincipalSel = null;
546
+ }
547
+ else {
548
+ this.menuPrincipalSel = this.menuPrincipal[i];
549
+ }
550
+ }
551
+ };
552
+ WmMenuComponent.prototype.clickMenuSecundario = function (i) {
553
+ this.menuSecundarioSel = this.menuSecundario[i];
554
+ this.menuPrincipalSel = null;
555
+ };
556
+ WmMenuComponent.prototype.cargarMenuCuenta = function () {
557
+ var _a;
558
+ if (this.urlCuentaSeguridad && this.token) {
559
+ var helper = new angularJwt.JwtHelperService();
560
+ var decodedToken = helper.decodeToken(this.token);
561
+ this.menuSecundario = [{
562
+ titulo: decodedToken["unique_name"],
563
+ icono: "account_circle",
564
+ hijos: [
565
+ { titulo: decodedToken["unique_name"], url: "", icono: "person" },
566
+ { titulo: this.menuIdioma && this.menuIdioma.CambiarContrasenna ? this.menuIdioma.CambiarContrasenna : "Cambiar contraseña", url: this.urlCuentaSeguridad + "CambioContrasena", icono: "vpn_key" },
567
+ this.activar2fa == "1" ? { titulo: this.menuIdioma && this.menuIdioma.Configurar2fa ? this.menuIdioma.Configurar2fa : "Configurar 2FA", url: this.urlCuentaSeguridad + "Habilitacion2FA", icono: "verified_user" } : null,
568
+ this.urlguiasOnline != null && this.urlguiasOnline !== "" && ((_a = this.urlguiasOnline) === null || _a === void 0 ? void 0 : _a.length) != 0 ? { titulo: this.menuIdioma && this.menuIdioma.guiasOnline ? this.menuIdioma.guiasOnline : "Guias Online", url: this.urlguiasOnline, icono: "menu_book" } : null,
569
+ { titulo: this.menuIdioma && this.menuIdioma.CerrarSesion ? this.menuIdioma.CerrarSesion : "Cerrar sesión", url: this.urlCuentaSeguridad + "CerrarSesion", icono: "exit_to_app" }
570
+ ].filter(function (hijo) { return hijo != null; }),
571
+ }];
572
+ }
573
+ };
574
+ WmMenuComponent.ctorParameters = function () { return [
575
+ { type: WmMenuServicioService },
576
+ { type: WmMenuAlertaPanicoService }
577
+ ]; };
578
+ __decorate([
579
+ core.Input()
580
+ ], WmMenuComponent.prototype, "logo", void 0);
581
+ __decorate([
582
+ core.Input()
583
+ ], WmMenuComponent.prototype, "colorFondo", void 0);
584
+ __decorate([
585
+ core.Input()
586
+ ], WmMenuComponent.prototype, "colorTexto", void 0);
587
+ __decorate([
588
+ core.Input()
589
+ ], WmMenuComponent.prototype, "menuPrincipal", void 0);
590
+ __decorate([
591
+ core.Input()
592
+ ], WmMenuComponent.prototype, "menuSecundario", void 0);
593
+ __decorate([
594
+ core.Input()
595
+ ], WmMenuComponent.prototype, "urlMenu", void 0);
596
+ __decorate([
597
+ core.Input()
598
+ ], WmMenuComponent.prototype, "token", void 0);
599
+ __decorate([
600
+ core.Input()
601
+ ], WmMenuComponent.prototype, "urlCuentaSeguridad", void 0);
602
+ __decorate([
603
+ core.Input()
604
+ ], WmMenuComponent.prototype, "activar2fa", void 0);
605
+ __decorate([
606
+ core.Input()
607
+ ], WmMenuComponent.prototype, "urlguiasOnline", void 0);
608
+ __decorate([
609
+ core.Input()
610
+ ], WmMenuComponent.prototype, "urlObtenerAlertasPanico", void 0);
611
+ __decorate([
612
+ core.Input()
613
+ ], WmMenuComponent.prototype, "urlObtenerParametro", void 0);
614
+ __decorate([
615
+ core.Input()
616
+ ], WmMenuComponent.prototype, "rutaAudio", void 0);
617
+ __decorate([
618
+ core.Input()
619
+ ], WmMenuComponent.prototype, "nombreCliente", void 0);
620
+ __decorate([
621
+ core.Input()
622
+ ], WmMenuComponent.prototype, "nombreUsuario", void 0);
623
+ __decorate([
624
+ core.Input()
625
+ ], WmMenuComponent.prototype, "versionWeb", void 0);
626
+ __decorate([
627
+ core.Input()
628
+ ], WmMenuComponent.prototype, "urlBaseAlmacenamiento", void 0);
629
+ __decorate([
630
+ core.Input()
631
+ ], WmMenuComponent.prototype, "urlIdiomas", void 0);
632
+ WmMenuComponent = __decorate([
633
+ core.Component({
634
+ selector: 'wm-menu',
635
+ 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>",
636
+ 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}"]
637
+ })
638
+ ], WmMenuComponent);
639
+ return WmMenuComponent;
640
+ }());
641
+
621
642
  var WmMenuModule = /** @class */ (function () {
622
643
  function WmMenuModule() {
623
644
  }