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.
- package/bundles/wm-menu.umd.js +7 -24
- package/bundles/wm-menu.umd.js.map +1 -1
- package/bundles/wm-menu.umd.min.js +2 -2
- package/bundles/wm-menu.umd.min.js.map +1 -1
- package/esm2015/lib/wm-menu/services/wm-menu-alerta-panico.service.js +4 -21
- package/esm2015/lib/wm-menu/wm-menu.component.js +5 -5
- package/esm5/lib/wm-menu/services/wm-menu-alerta-panico.service.js +4 -21
- package/esm5/lib/wm-menu/wm-menu.component.js +5 -5
- package/fesm2015/wm-menu.js +7 -24
- package/fesm2015/wm-menu.js.map +1 -1
- package/fesm5/wm-menu.js +7 -24
- package/fesm5/wm-menu.js.map +1 -1
- package/lib/wm-menu/wm-menu.component.d.ts +3 -3
- package/package.json +1 -1
|
@@ -13,28 +13,23 @@ var WmMenuAlertaPanicoService = /** @class */ (function () {
|
|
|
13
13
|
this.IdsAlertasPanicoActivas = new Set(); // Almacena los IDs de las alertas ya manejadas
|
|
14
14
|
this.soundTimeout = null; // Controla el temporizador del sonido
|
|
15
15
|
this.isRunning = false;
|
|
16
|
-
console.log('WmMenuAlertaPanicoService inicializado.');
|
|
17
16
|
}
|
|
18
17
|
WmMenuAlertaPanicoService.prototype.iniciarProceso = function (intervalMs, callback, urlObtenerParametro, token, rutaAudio) {
|
|
19
18
|
var _this = this;
|
|
20
|
-
console.log('iniciarProceso llamado con parámetros:', { intervalMs: intervalMs, urlObtenerParametro: urlObtenerParametro, token: token, rutaAudio: rutaAudio });
|
|
21
19
|
this.rutaAudio = rutaAudio;
|
|
22
20
|
var iniciarConInteraccion = function () {
|
|
23
|
-
console.log('iniciarConInteraccion ejecutado.');
|
|
24
21
|
_this.wmMenuServicioService
|
|
25
22
|
.menuApiObtener(urlObtenerParametro, null, token, 'ReporteAlertasPanico')
|
|
26
23
|
.subscribe(function (resp) {
|
|
27
|
-
|
|
24
|
+
// validar si el parametro ReporteAlertasPanico esta encendido
|
|
28
25
|
if (resp && resp.length > 0 && resp[0].Valor == 1) {
|
|
29
26
|
if (_this.isRunning) {
|
|
30
|
-
console.log('Proceso ya está corriendo.');
|
|
31
27
|
return;
|
|
32
28
|
}
|
|
29
|
+
// Inicializar la variable desde localStorage
|
|
33
30
|
var storedIds = localStorage.getItem('ALERTAS_PANICO_ACTIVAS_WM');
|
|
34
31
|
_this.IdsAlertasPanicoActivas = storedIds ? new Set(JSON.parse(storedIds)) : new Set();
|
|
35
|
-
console.log('IdsAlertasPanicoActivas inicializado:', _this.IdsAlertasPanicoActivas);
|
|
36
32
|
var ejecutarProceso_1 = function () {
|
|
37
|
-
console.log('ejecutarProceso iniciado.');
|
|
38
33
|
_this.isRunning = true;
|
|
39
34
|
callback();
|
|
40
35
|
setTimeout(function () {
|
|
@@ -47,49 +42,42 @@ var WmMenuAlertaPanicoService = /** @class */ (function () {
|
|
|
47
42
|
});
|
|
48
43
|
};
|
|
49
44
|
['drag', 'click'].forEach(function (evento) {
|
|
50
|
-
console.log("Evento " + evento + " registrado para iniciar proceso.");
|
|
51
45
|
document.addEventListener(evento, function () {
|
|
52
46
|
iniciarConInteraccion();
|
|
53
47
|
}, { once: true });
|
|
54
48
|
});
|
|
55
49
|
};
|
|
56
50
|
WmMenuAlertaPanicoService.prototype.stopProcess = function () {
|
|
57
|
-
console.log('stopProcess ejecutado.');
|
|
58
51
|
this.isRunning = false;
|
|
59
52
|
if (this.subscription) {
|
|
60
53
|
this.subscription.unsubscribe();
|
|
61
54
|
}
|
|
62
55
|
};
|
|
63
56
|
WmMenuAlertaPanicoService.prototype.ngOnDestroy = function () {
|
|
64
|
-
console.log('ngOnDestroy ejecutado.');
|
|
65
57
|
this.stopSound();
|
|
66
58
|
this.stopFlashingTitle();
|
|
67
59
|
};
|
|
68
60
|
WmMenuAlertaPanicoService.prototype.playSound = function () {
|
|
69
61
|
var _this = this;
|
|
70
|
-
console.log('playSound llamado.');
|
|
71
62
|
if (this.isPlaying)
|
|
72
63
|
return; // Evita reproducir si ya está sonando
|
|
73
64
|
this.isPlaying = true;
|
|
74
65
|
if (!this.audio) {
|
|
75
66
|
this.audio = new Audio(this.rutaAudio); // Ruta al archivo de sonido
|
|
76
67
|
}
|
|
77
|
-
console.log("Audio cargado: ", this.audio);
|
|
78
68
|
this.audio.loop = true; // Reproducir en bucle
|
|
79
69
|
this.audio.play()
|
|
80
70
|
.then(function () {
|
|
81
|
-
console.log('Sonido reproduciéndose.');
|
|
82
71
|
// Detener el sonido después de 10 segundos
|
|
83
72
|
_this.soundTimeout = setTimeout(function () {
|
|
84
73
|
_this.stopSound();
|
|
85
74
|
}, 10000); // Detener después de 10 segundos
|
|
86
75
|
})
|
|
87
76
|
.catch(function (error) {
|
|
88
|
-
console.
|
|
77
|
+
console.log('Error al reproducir el sonido:', error);
|
|
89
78
|
});
|
|
90
79
|
};
|
|
91
80
|
WmMenuAlertaPanicoService.prototype.stopSound = function () {
|
|
92
|
-
console.log('stopSound llamado.');
|
|
93
81
|
if (this.audio) {
|
|
94
82
|
this.audio.pause();
|
|
95
83
|
this.audio.currentTime = 0; // Reinicia el sonido
|
|
@@ -102,7 +90,6 @@ var WmMenuAlertaPanicoService = /** @class */ (function () {
|
|
|
102
90
|
};
|
|
103
91
|
WmMenuAlertaPanicoService.prototype.startFlashingTitle = function () {
|
|
104
92
|
var _this = this;
|
|
105
|
-
console.log('startFlashingTitle llamado.');
|
|
106
93
|
var toggle = false;
|
|
107
94
|
// Almacenar el título original si aún no se ha guardado
|
|
108
95
|
if (!this.originalTitle) {
|
|
@@ -117,7 +104,6 @@ var WmMenuAlertaPanicoService = /** @class */ (function () {
|
|
|
117
104
|
}
|
|
118
105
|
};
|
|
119
106
|
WmMenuAlertaPanicoService.prototype.stopFlashingTitle = function () {
|
|
120
|
-
console.log('stopFlashingTitle llamado.');
|
|
121
107
|
if (this.intervalId) {
|
|
122
108
|
clearInterval(this.intervalId);
|
|
123
109
|
this.intervalId = null;
|
|
@@ -126,16 +112,13 @@ var WmMenuAlertaPanicoService = /** @class */ (function () {
|
|
|
126
112
|
};
|
|
127
113
|
WmMenuAlertaPanicoService.prototype.revisarAlertasPendientes = function (urlObtenerAlertasPanico, token) {
|
|
128
114
|
var _this = this;
|
|
129
|
-
console.log('revisarAlertasPendientes llamado con parámetros:', { urlObtenerAlertasPanico: urlObtenerAlertasPanico, token: token });
|
|
130
115
|
var helper = new JwtHelperService();
|
|
131
116
|
var decodedToken = helper.decodeToken(token);
|
|
132
117
|
this.wmMenuServicioService
|
|
133
118
|
.menuApiObtener(urlObtenerAlertasPanico, decodedToken['id_usuario'], token)
|
|
134
119
|
.subscribe(function (resp) {
|
|
135
|
-
console.log('Respuesta obtenida de revisarAlertasPendientes:', resp);
|
|
136
120
|
if (resp && resp.length > 0) {
|
|
137
121
|
var alertasIds_1 = resp.map(function (alerta) { return alerta.IdAlertaPanico; });
|
|
138
|
-
console.log('IDs de alertas obtenidas:', alertasIds_1);
|
|
139
122
|
// Eliminar IDs que no están en la respuesta del servicio
|
|
140
123
|
_this.IdsAlertasPanicoActivas.forEach(function (id) {
|
|
141
124
|
if (!alertasIds_1.includes(id)) {
|
|
@@ -175,4 +158,4 @@ var WmMenuAlertaPanicoService = /** @class */ (function () {
|
|
|
175
158
|
return WmMenuAlertaPanicoService;
|
|
176
159
|
}());
|
|
177
160
|
export { WmMenuAlertaPanicoService };
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid20tbWVudS1hbGVydGEtcGFuaWNvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly93bS1tZW51LyIsInNvdXJjZXMiOlsibGliL3dtLW1lbnUvc2VydmljZXMvd20tbWVudS1hbGVydGEtcGFuaWNvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQUtuRTtJQVdFLG1DQUFvQixxQkFBNEM7UUFBNUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQVJ4RCxtQkFBYyxHQUFHLDJCQUEyQixDQUFDO1FBRTdDLFVBQUssR0FBNEIsSUFBSSxDQUFDO1FBQ3RDLGNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxnREFBZ0Q7UUFFbkUsNEJBQXVCLEdBQWdCLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQywrQ0FBK0M7UUFDakcsaUJBQVksR0FBUSxJQUFJLENBQUMsQ0FBQyxzQ0FBc0M7UUFPaEUsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUpqQyxPQUFPLENBQUMsR0FBRyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUtELGtEQUFjLEdBQWQsVUFDRSxVQUFrQixFQUNsQixRQUFvQixFQUNwQixtQkFBMkIsRUFDM0IsS0FBYSxFQUNiLFNBQWlCO1FBTG5CLGlCQW1EQztRQTVDQyxPQUFPLENBQUMsR0FBRyxDQUFDLHdDQUF3QyxFQUFFLEVBQUUsVUFBVSxZQUFBLEVBQUUsbUJBQW1CLHFCQUFBLEVBQUUsS0FBSyxPQUFBLEVBQUUsU0FBUyxXQUFBLEVBQUUsQ0FBQyxDQUFDO1FBQzdHLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBRTNCLElBQU0scUJBQXFCLEdBQUc7WUFDNUIsT0FB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QUFFO29CQUN6QyxLQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztpQkFDM0I7Z0JBQ0QscURBQXFEO2dCQUNyRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUN4QixLQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7aUJBQ2xCO2FBQ0Y7aUJBQU07Z0JBQ0wsc0RBQXNEO2dCQUN0RCxLQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3JDLEtBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2FBQzFCO1lBQ0QsOENBQThDO1lBQzlDLFlBQVksQ0FBQyxPQUFPLENBQUMsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O2dCQWhMMEMscUJBQXFCOzs7SUFYckQseUJBQXlCO1FBSHJDLFVBQVUsQ0FBQztZQUNWLFVBQVUsRUFBRSxNQUFNO1NBQ25CLENBQUM7T0FDVyx5QkFBeUIsQ0E2THJDO29DQXBNRDtDQW9NQyxBQTdMRCxJQTZMQztTQTdMWSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEp3dEhlbHBlclNlcnZpY2UgfSBmcm9tICdAYXV0aDAvYW5ndWxhci1qd3QnO1xyXG5pbXBvcnQgeyBXbU1lbnVTZXJ2aWNpb1NlcnZpY2UgfSBmcm9tICcuL3dtLW1lbnUtc2VydmljaW8uc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXbU1lbnVBbGVydGFQYW5pY29TZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBpbnRlcnZhbElkOiBhbnk7XHJcbiAgcHJpdmF0ZSBhbHRlcm5hdGVUaXRsZSA9ICdBbGVydGEgZGUgUMOhbmljbyBSZWNpYmlkYSc7XHJcbiAgcHJpdmF0ZSBvcmlnaW5hbFRpdGxlOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBhdWRpbzogSFRNTEF1ZGlvRWxlbWVudCB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgaXNQbGF5aW5nID0gZmFsc2U7IC8vIENvbnRyb2xhIHNpIGVsIHNvbmlkbyB5YSBlc3TDoSByZXByb2R1Y2nDqW5kb3NlXHJcbiAgcHVibGljIGZvcm11bGFyaW86IGFueTtcclxuICBwcml2YXRlIElkc0FsZXJ0YXNQYW5pY29BY3RpdmFzOiBTZXQ8bnVtYmVyPiA9IG5ldyBTZXQoKTsgLy8gQWxtYWNlbmEgbG9zIElEcyBkZSBsYXMgYWxlcnRhcyB5YSBtYW5lamFkYXNcclxuICBwcml2YXRlIHNvdW5kVGltZW91dDogYW55ID0gbnVsbDsgLy8gQ29udHJvbGEgZWwgdGVtcG9yaXphZG9yIGRlbCBzb25pZG9cclxuICBwcml2YXRlIHJ1dGFBdWRpbzogc3RyaW5nO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgd21NZW51U2VydmljaW9TZXJ2aWNlOiBXbU1lbnVTZXJ2aWNpb1NlcnZpY2UpIHsgXHJcbiAgICBjb25zb2xlLmxvZygnV21NZW51QWxlcnRhUGFuaWNvU2VydmljZSBpbmljaWFsaXphZG8uJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbjogYW55O1xyXG4gIHByaXZhdGUgaXNSdW5uaW5nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGluaWNpYXJQcm9jZXNvKFxyXG4gICAgaW50ZXJ2YWxNczogbnVtYmVyLFxyXG4gICAgY2FsbGJhY2s6ICgpID0+IHZvaWQsXHJcbiAgICB1cmxPYnRlbmVyUGFyYW1ldHJvOiBzdHJpbmcsXHJcbiAgICB0b2tlbjogc3RyaW5nLFxyXG4gICAgcnV0YUF1ZGlvOiBzdHJpbmdcclxuICApOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKCdpbmljaWFyUHJvY2VzbyBsbGFtYWRvIGNvbiBwYXLDoW1ldHJvczonLCB7IGludGVydmFsTXMsIHVybE9idGVuZXJQYXJhbWV0cm8sIHRva2VuLCBydXRhQXVkaW8gfSk7XHJcbiAgICB0aGlzLnJ1dGFBdWRpbyA9IHJ1dGFBdWRpbztcclxuXHJcbiAgICBjb25zdCBpbmljaWFyQ29uSW50ZXJhY2Npb24gPSAoKSA9PiB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdpbmljaWFyQ29uSW50ZXJhY2Npb24gZWplY3V0YWRvLicpO1xyXG4gICAgICB0aGlzLndtTWVudVNlcnZpY2lvU2VydmljZVxyXG4gICAgICAgIC5tZW51QXBpT2J0ZW5lcih1cmxPYnRlbmVyUGFyYW1ldHJvLCBudWxsLCB0b2tlbiwgJ1JlcG9ydGVBbGVydGFzUGFuaWNvJylcclxuICAgICAgICAuc3Vic2NyaWJlKChyZXNwKSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnUmVzcHVlc3RhIG9idGVuaWRhIGRlIG1lbnVBcGlPYnRlbmVyOicsIHJlc3ApO1xyXG4gICAgICAgICAgaWYgKHJlc3AgJiYgcmVzcC5sZW5ndGggPiAwICYmIHJlc3BbMF0uVmFsb3IgPT0gMSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5pc1J1bm5pbmcpIHtcclxuICAgICAgICAgICAgICBjb25zb2xlLmxvZygnUHJvY2VzbyB5YSBlc3TDoSBjb3JyaWVuZG8uJyk7XHJcbiAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBjb25zdCBzdG9yZWRJZHMgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnQUxFUlRBU19QQU5JQ09fQUNUSVZBU19XTScpO1xyXG4gICAgICAgICAgICB0aGlzLklkc0FsZXJ0YXNQYW5pY29BY3RpdmFzID0gc3RvcmVkSWRzID8gbmV3IFNldChKU09OLnBhcnNlKHN0b3JlZElkcykpIDogbmV3IFNldCgpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnSWRzQWxlcnRhc1Bhbmljb0FjdGl2YXMgaW5pY2lhbGl6YWRvOicsIHRoaXMuSWRzQWxlcnRhc1Bhbmljb0FjdGl2YXMpO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgZWplY3V0YXJQcm9jZXNvID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdlamVjdXRhclByb2Nlc28gaW5pY2lhZG8uJyk7XHJcbiAgICAgICAgICAgICAgdGhpcy5pc1J1bm5pbmcgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIGNhbGxiYWNrKCk7XHJcbiAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzUnVubmluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgZWplY3V0YXJQcm9jZXNvKCk7XHJcbiAgICAgICAgICAgICAgfSwgaW50ZXJ2YWxNcyk7XHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICBlamVjdXRhclByb2Nlc28oKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH07XHJcblxyXG4gICAgWydkcmFnJywgJ2NsaWNrJ10uZm9yRWFjaChldmVudG8gPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZyhgRXZlbnRvICR7ZXZlbnRvfSByZWdpc3RyYWRvIHBhcmEgaW5pY2lhciBwcm9jZXNvLmApO1xyXG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFxyXG4gICAgICAgIGV2ZW50byxcclxuICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICBpbmljaWFyQ29uSW50ZXJhY2Npb24oKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHsgb25jZTogdHJ1ZSB9XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHN0b3BQcm9jZXNzKCk6IHZvaWQge1xyXG4gICAgY29uc29sZS5sb2coJ3N0b3BQcm9jZXNzIGVqZWN1dGFkby4nKTtcclxuICAgIHRoaXMuaXNSdW5uaW5nID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgY29uc29sZS5sb2coJ25nT25EZXN0cm95IGVqZWN1dGFkby4nKTtcclxuICAgIHRoaXMuc3RvcFNvdW5kKCk7XHJcbiAgICB0aGlzLnN0b3BGbGFzaGluZ1RpdGxlKCk7XHJcbiAgfVxyXG5cclxuICBwbGF5U291bmQoKTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmxvZygncGxheVNvdW5kIGxsYW1hZG8uJyk7XHJcbiAgICBpZiAodGhpcy5pc1BsYXlpbmcpIHJldHVybjsgLy8gRXZpdGEgcmVwcm9kdWNpciBzaSB5YSBlc3TDoSBzb25hbmRvXHJcbiAgICB0aGlzLmlzUGxheWluZyA9IHRydWU7XHJcbiAgICBpZiAoIXRoaXMuYXVkaW8pIHtcclxuICAgICAgdGhpcy5hdWRpbyA9IG5ldyBBdWRpbyh0aGlzLnJ1dGFBdWRpbyk7IC8vIFJ1dGEgYWwgYXJjaGl2byBkZSBzb25pZG9cclxuICAgIH1cclxuICAgIGNvbnNvbGUubG9nKFwiQXVkaW8gY2FyZ2FkbzogXCIsIHRoaXMuYXVkaW8pXHJcbiAgICB0aGlzLmF1ZGlvLmxvb3AgPSB0cnVlOyAvLyBSZXByb2R1Y2lyIGVuIGJ1Y2xlXHJcbiAgICB0aGlzLmF1ZGlvLnBsYXkoKVxyXG4gICAgICAudGhlbigoKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ1NvbmlkbyByZXByb2R1Y2nDqW5kb3NlLicpO1xyXG4gICAgICAgIC8vIERldGVuZXIgZWwgc29uaWRvIGRlc3B1w6lzIGRlIDEwIHNlZ3VuZG9zXHJcbiAgICAgICAgdGhpcy5zb3VuZFRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuc3RvcFNvdW5kKCk7XHJcbiAgICAgICAgfSwgMTAwMDApOyAvLyBEZXRlbmVyIGRlc3B1w6lzIGRlIDEwIHNlZ3VuZG9zXHJcbiAgICAgIH0pXHJcbiAgICAgIC5jYXRjaChlcnJvciA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgYWwgcmVwcm9kdWNpciBlbCBzb25pZG86JywgZXJyb3IpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHN0b3BTb3VuZCgpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKCdzdG9wU291bmQgbGxhbWFkby4nKTtcclxuICAgIGlmICh0aGlzLmF1ZGlvKSB7XHJcbiAgICAgIHRoaXMuYXVkaW8ucGF1c2UoKTtcclxuICAgICAgdGhpcy5hdWRpby5jdXJyZW50VGltZSA9IDA7IC8vIFJlaW5pY2lhIGVsIHNvbmlkb1xyXG4gICAgfVxyXG4gICAgdGhpcy5pc1BsYXlpbmcgPSBmYWxzZTsgLy8gUmVzdGFibGVjZSBsYSBiYW5kZXJhXHJcbiAgICBpZiAodGhpcy5zb3VuZFRpbWVvdXQpIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc291bmRUaW1lb3V0KTsgLy8gQXNlZ3VyYSBxdWUgZWwgdGVtcG9yaXphZG9yIHNlIGJvcnJlXHJcbiAgICAgIHRoaXMuc291bmRUaW1lb3V0ID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXJ0Rmxhc2hpbmdUaXRsZSgpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKCdzdGFydEZsYXNoaW5nVGl0bGUgbGxhbWFkby4nKTtcclxuICAgIGxldCB0b2dnbGUgPSBmYWxzZTtcclxuXHJcbiAgICAvLyBBbG1hY2VuYXIgZWwgdMOtdHVsbyBvcmlnaW5hbCBzaSBhw7puIG5vIHNlIGhhIGd1YXJkYWRvXHJcbiAgICBpZiAoIXRoaXMub3JpZ2luYWxUaXRsZSkge1xyXG4gICAgICB0aGlzLm9yaWdpbmFsVGl0bGUgPSBkb2N1bWVudC50aXRsZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMuaW50ZXJ2YWxJZCkge1xyXG4gICAgICB0aGlzLmludGVydmFsSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgICAgLy8gQWx0ZXJuYXIgZW50cmUgZWwgdMOtdHVsbyBhbHRlcm5hdGl2byB5IGVsIHTDrXR1bG8gb3JpZ2luYWxcclxuICAgICAgICBkb2N1bWVudC50aXRsZSA9IHRvZ2dsZSA/IHRoaXMuYWx0ZXJuYXRlVGl0bGUgOiB0aGlzLm9yaWdpbmFsVGl0bGU7XHJcbiAgICAgICAgdG9nZ2xlID0gIXRvZ2dsZTtcclxuICAgICAgfSwgMTAwMCk7IC8vIENhbWJpYSBlbCB0w610dWxvIGNhZGEgc2VndW5kb1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RvcEZsYXNoaW5nVGl0bGUoKTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmxvZygnc3RvcEZsYXNoaW5nVGl0bGUgbGxhbWFkby4nKTtcclxuICAgIGlmICh0aGlzLmludGVydmFsSWQpIHtcclxuICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsSWQpO1xyXG4gICAgICB0aGlzLmludGVydmFsSWQgPSBudWxsO1xyXG4gICAgICBkb2N1bWVudC50aXRsZSA9IHRoaXMub3JpZ2luYWxUaXRsZTsgLy8gUmVzdGF1cmEgYSB2YWPDrW9cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJldmlzYXJBbGVydGFzUGVuZGllbnRlcyh1cmxPYnRlbmVyQWxlcnRhc1Bhbmljbzogc3RyaW5nLCB0b2tlbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmxvZygncmV2aXNhckFsZXJ0YXNQZW5kaWVudGVzIGxsYW1hZG8gY29uIHBhcsOhbWV0cm9zOicsIHsgdXJsT2J0ZW5lckFsZXJ0YXNQYW5pY28sIHRva2VuIH0pO1xyXG4gICAgY29uc3QgaGVscGVyID0gbmV3IEp3dEhlbHBlclNlcnZpY2UoKTtcclxuICAgIGNvbnN0IGRlY29kZWRUb2tlbiA9IGhlbHBlci5kZWNvZGVUb2tlbih0b2tlbik7XHJcbiAgICB0aGlzLndtTWVudVNlcnZpY2lvU2VydmljZVxyXG4gICAgICAubWVudUFwaU9idGVuZXIodXJsT2J0ZW5lckFsZXJ0YXNQYW5pY28sIGRlY29kZWRUb2tlblsnaWRfdXN1YXJpbyddLCB0b2tlbilcclxuICAgICAgLnN1YnNjcmliZSgocmVzcCkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdSZXNwdWVzdGEgb2J0ZW5pZGEgZGUgcmV2aXNhckFsZXJ0YXNQZW5kaWVudGVzOicsIHJlc3ApO1xyXG4gICAgICAgIGlmIChyZXNwICYmIHJlc3AubGVuZ3RoID4gMCkge1xyXG5cclxuICAgICAgICAgIGNvbnN0IGFsZXJ0YXNJZHMgPSByZXNwLm1hcChhbGVydGEgPT4gYWxlcnRhLklkQWxlcnRhUGFuaWNvKTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdJRHMgZGUgYWxlcnRhcyBvYnRlbmlkYXM6JywgYWxlcnRhc0lkcyk7XHJcblxyXG4gICAgICAgICAgLy8gRWxpbWluYXIgSURzIHF1ZSBubyBlc3TDoW4gZW4gbGEgcmVzcHVlc3RhIGRlbCBzZXJ2aWNpb1xyXG4gICAgICAgICAgdGhpcy5JZHNBbGVydGFzUGFuaWNvQWN0aXZhcy5mb3JFYWNoKChpZCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIWFsZXJ0YXNJZHMuaW5jbHVkZXMoaWQpKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5JZHNBbGVydGFzUGFuaWNvQWN0aXZhcy5kZWxldGUoaWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAvLyBGaWx0cmFyIGFsZXJ0YXMgbnVldmFzXHJcbiAgICAgICAgICBjb25zdCBuZXdBbGVydHMgPSByZXNwLmZpbHRlcihhbGVydGEgPT4gIXRoaXMuSWRzQWxlcnRhc1Bhbmljb0FjdGl2YXMuaGFzKGFsZXJ0YS5JZEFsZXJ0YVBhbmljbykpO1xyXG5cclxuICAgICAgICAgIC8vIEFncmVnYXIgbGFzIG51ZXZhcyBhbGVydGFzIGEgbGEgbGlzdGEgYWN0aXZhXHJcbiAgICAgICAgICBuZXdBbGVydHMuZm9yRWFjaChhbGVydGEgPT4gdGhpcy5JZHNBbGVydGFzUGFuaWNvQWN0aXZhcy5hZGQoYWxlcnRhLklkQWxlcnRhUGFuaWNvKSk7XHJcbiAgICAgICAgICBpZiAodGhpcy5JZHNBbGVydGFzUGFuaWNvQWN0aXZhcy5zaXplID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLnN0YXJ0Rmxhc2hpbmdUaXRsZSgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLy8gU2kgaGF5IG51ZXZhcyBhbGVydGFzLCBkaXNwYXJhIG5vdGlmaWNhY2lvbiBzb25vcmFcclxuICAgICAgICAgIGlmIChuZXdBbGVydHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLnBsYXlTb3VuZCgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAvLyBTaSBubyBoYXkgYWxlcnRhcyBlbiBsYSByZXNwdWVzdGEsIGxpbXBpYXIgbGEgbGlzdGFcclxuICAgICAgICAgIHRoaXMuSWRzQWxlcnRhc1Bhbmljb0FjdGl2YXMuY2xlYXIoKTtcclxuICAgICAgICAgIHRoaXMuc3RvcEZsYXNoaW5nVGl0bGUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQWN0dWFsaXphciBsb2NhbFN0b3JhZ2UgY29uIGxvcyBJRHMgYWN0aXZvc1xyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdBTEVSVEFTX1BBTklDT19BQ1RJVkFTX1dNJywgSlNPTi5zdHJpbmdpZnkoQXJyYXkuZnJvbSh0aGlzLklkc0FsZXJ0YXNQYW5pY29BY3RpdmFzKSkpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid20tbWVudS1hbGVydGEtcGFuaWNvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly93bS1tZW51LyIsInNvdXJjZXMiOlsibGliL3dtLW1lbnUvc2VydmljZXMvd20tbWVudS1hbGVydGEtcGFuaWNvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQUtuRTtJQVdFLG1DQUFvQixxQkFBNEM7UUFBNUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQVJ4RCxtQkFBYyxHQUFHLDJCQUEyQixDQUFDO1FBRTdDLFVBQUssR0FBNEIsSUFBSSxDQUFDO1FBQ3RDLGNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxnREFBZ0Q7UUFFbkUsNEJBQXVCLEdBQWdCLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQywrQ0FBK0M7UUFDakcsaUJBQVksR0FBUSxJQUFJLENBQUMsQ0FBQyxzQ0FBc0M7UUFLaEUsY0FBUyxHQUFZLEtBQUssQ0FBQztJQUhpQyxDQUFDO0lBS3JFLGtEQUFjLEdBQWQsVUFDRSxVQUFrQixFQUNsQixRQUFvQixFQUNwQixtQkFBMkIsRUFDM0IsS0FBYSxFQUNiLFNBQWlCO1FBTG5CLGlCQThDQztRQXZDQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUUzQixJQUFNLHFCQUFxQixHQUFHO1lBQzVCLEtBQUksQ0FBQyxxQkFBcUI7aUJBQ3ZCLGNBQWMsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixDQUFDO2lCQUN4RSxTQUFTLENBQUMsVUFBQyxJQUFJO2dCQUNkLDhEQUE4RDtnQkFDOUQsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxD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QUMsRUFBRTtvQkFDeEIsS0FBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2lCQUNsQjthQUNGO2lCQUFNO2dCQUNMLHNEQUFzRDtnQkFDdEQsS0FBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNyQyxLQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQzthQUMxQjtZQUNELDhDQUE4QztZQUM5QyxZQUFZLENBQUMsT0FBTyxDQUFDLDJCQUEyQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUcsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztnQkFqSzBDLHFCQUFxQjs7O0lBWHJELHlCQUF5QjtRQUhyQyxVQUFVLENBQUM7WUFDVixVQUFVLEVBQUUsTUFBTTtTQUNuQixDQUFDO09BQ1cseUJBQXlCLENBOEtyQztvQ0FyTEQ7Q0FxTEMsQUE5S0QsSUE4S0M7U0E5S1kseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBKd3RIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQGF1dGgwL2FuZ3VsYXItand0JztcclxuaW1wb3J0IHsgV21NZW51U2VydmljaW9TZXJ2aWNlIH0gZnJvbSAnLi93bS1tZW51LXNlcnZpY2lvLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgV21NZW51QWxlcnRhUGFuaWNvU2VydmljZSB7XHJcblxyXG4gIHByaXZhdGUgaW50ZXJ2YWxJZDogYW55O1xyXG4gIHByaXZhdGUgYWx0ZXJuYXRlVGl0bGUgPSAnQWxlcnRhIGRlIFDDoW5pY28gUmVjaWJpZGEnO1xyXG4gIHByaXZhdGUgb3JpZ2luYWxUaXRsZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgYXVkaW86IEhUTUxBdWRpb0VsZW1lbnQgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIGlzUGxheWluZyA9IGZhbHNlOyAvLyBDb250cm9sYSBzaSBlbCBzb25pZG8geWEgZXN0w6EgcmVwcm9kdWNpw6luZG9zZVxyXG4gIHB1YmxpYyBmb3JtdWxhcmlvOiBhbnk7XHJcbiAgcHJpdmF0ZSBJZHNBbGVydGFzUGFuaWNvQWN0aXZhczogU2V0PG51bWJlcj4gPSBuZXcgU2V0KCk7IC8vIEFsbWFjZW5hIGxvcyBJRHMgZGUgbGFzIGFsZXJ0YXMgeWEgbWFuZWphZGFzXHJcbiAgcHJpdmF0ZSBzb3VuZFRpbWVvdXQ6IGFueSA9IG51bGw7IC8vIENvbnRyb2xhIGVsIHRlbXBvcml6YWRvciBkZWwgc29uaWRvXHJcbiAgcHJpdmF0ZSBydXRhQXVkaW86IHN0cmluZztcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHdtTWVudVNlcnZpY2lvU2VydmljZTogV21NZW51U2VydmljaW9TZXJ2aWNlKSB7IH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IGFueTtcclxuICBwcml2YXRlIGlzUnVubmluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBpbmljaWFyUHJvY2VzbyhcclxuICAgIGludGVydmFsTXM6IG51bWJlcixcclxuICAgIGNhbGxiYWNrOiAoKSA9PiB2b2lkLFxyXG4gICAgdXJsT2J0ZW5lclBhcmFtZXRybzogc3RyaW5nLFxyXG4gICAgdG9rZW46IHN0cmluZyxcclxuICAgIHJ1dGFBdWRpbzogc3RyaW5nXHJcbiAgKTogdm9pZCB7XHJcbiAgICB0aGlzLnJ1dGFBdWRpbyA9IHJ1dGFBdWRpbztcclxuICBcclxuICAgIGNvbnN0IGluaWNpYXJDb25JbnRlcmFjY2lvbiA9ICgpID0+IHtcclxuICAgICAgdGhpcy53bU1lbnVTZXJ2aWNpb1NlcnZpY2VcclxuICAgICAgICAubWVudUFwaU9idGVuZXIodXJsT2J0ZW5lclBhcmFtZXRybywgbnVsbCwgdG9rZW4sICdSZXBvcnRlQWxlcnRhc1BhbmljbycpXHJcbiAgICAgICAgLnN1YnNjcmliZSgocmVzcCkgPT4ge1xyXG4gICAgICAgICAgLy8gdmFsaWRhciBzaSBlbCBwYXJhbWV0cm8gUmVwb3J0ZUFsZXJ0YXNQYW5pY28gZXN0YSBlbmNlbmRpZG9cclxuICAgICAgICAgIGlmIChyZXNwICYmIHJlc3AubGVuZ3RoID4gMCAmJiByZXNwWzBdLlZhbG9yID09IDEpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNSdW5uaW5nKSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIEluaWNpYWxpemFyIGxhIHZhcmlhYmxlIGRlc2RlIGxvY2FsU3RvcmFnZVxyXG4gICAgICAgICAgICBjb25zdCBzdG9yZWRJZHMgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnQUxFUlRBU19QQU5JQ09fQUNUSVZBU19XTScpO1xyXG4gICAgICAgICAgICB0aGlzLklkc0FsZXJ0YXNQYW5pY29BY3RpdmFzID0gc3RvcmVkSWRzID8gbmV3IFNldChKU09OLnBhcnNlKHN0b3JlZElkcykpIDogbmV3IFNldCgpO1xyXG4gIFxyXG4gICAgICAgICAgICBjb25zdCBlamVjdXRhclByb2Nlc28gPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5pc1J1bm5pbmcgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIGNhbGxiYWNrKCk7XHJcbiAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzUnVubmluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgZWplY3V0YXJQcm9jZXNvKCk7XHJcbiAgICAgICAgICAgICAgfSwgaW50ZXJ2YWxNcyk7XHJcbiAgICAgICAgICAgIH07XHJcbiAgXHJcbiAgICAgICAgICAgIGVqZWN1dGFyUHJvY2VzbygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuICBcclxuICAgIFsnZHJhZycsICdjbGljayddLmZvckVhY2goZXZlbnRvID0+IHtcclxuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcclxuICAgICAgICBldmVudG8sXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgaW5pY2lhckNvbkludGVyYWNjaW9uKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICB7IG9uY2U6IHRydWUgfVxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuICBcclxuXHJcbiAgc3RvcFByb2Nlc3MoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzUnVubmluZyA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RvcFNvdW5kKCk7XHJcbiAgICB0aGlzLnN0b3BGbGFzaGluZ1RpdGxlKCk7XHJcbiAgfVxyXG5cclxuICBwbGF5U291bmQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pc1BsYXlpbmcpIHJldHVybjsgLy8gRXZpdGEgcmVwcm9kdWNpciBzaSB5YSBlc3TDoSBzb25hbmRvXHJcblxyXG4gICAgdGhpcy5pc1BsYXlpbmcgPSB0cnVlO1xyXG4gICAgaWYgKCF0aGlzLmF1ZGlvKSB7XHJcbiAgICAgIHRoaXMuYXVkaW8gPSBuZXcgQXVkaW8odGhpcy5ydXRhQXVkaW8pOyAvLyBSdXRhIGFsIGFyY2hpdm8gZGUgc29uaWRvXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hdWRpby5sb29wID0gdHJ1ZTsgLy8gUmVwcm9kdWNpciBlbiBidWNsZVxyXG4gICAgdGhpcy5hdWRpby5wbGF5KClcclxuICAgICAgLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIC8vIERldGVuZXIgZWwgc29uaWRvIGRlc3B1w6lzIGRlIDEwIHNlZ3VuZG9zXHJcbiAgICAgICAgdGhpcy5zb3VuZFRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuc3RvcFNvdW5kKCk7XHJcbiAgICAgICAgfSwgMTAwMDApOyAvLyBEZXRlbmVyIGRlc3B1w6lzIGRlIDEwIHNlZ3VuZG9zXHJcbiAgICAgIH0pXHJcbiAgICAgIC5jYXRjaChlcnJvciA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ0Vycm9yIGFsIHJlcHJvZHVjaXIgZWwgc29uaWRvOicsIGVycm9yKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBzdG9wU291bmQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5hdWRpbykge1xyXG4gICAgICB0aGlzLmF1ZGlvLnBhdXNlKCk7XHJcbiAgICAgIHRoaXMuYXVkaW8uY3VycmVudFRpbWUgPSAwOyAvLyBSZWluaWNpYSBlbCBzb25pZG9cclxuICAgIH1cclxuICAgIHRoaXMuaXNQbGF5aW5nID0gZmFsc2U7IC8vIFJlc3RhYmxlY2UgbGEgYmFuZGVyYVxyXG4gICAgaWYgKHRoaXMuc291bmRUaW1lb3V0KSB7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnNvdW5kVGltZW91dCk7IC8vIEFzZWd1cmEgcXVlIGVsIHRlbXBvcml6YWRvciBzZSBib3JyZVxyXG4gICAgICB0aGlzLnNvdW5kVGltZW91dCA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGFydEZsYXNoaW5nVGl0bGUoKTogdm9pZCB7XHJcbiAgICBsZXQgdG9nZ2xlID0gZmFsc2U7XHJcbiAgXHJcbiAgICAvLyBBbG1hY2VuYXIgZWwgdMOtdHVsbyBvcmlnaW5hbCBzaSBhw7puIG5vIHNlIGhhIGd1YXJkYWRvXHJcbiAgICBpZiAoIXRoaXMub3JpZ2luYWxUaXRsZSkge1xyXG4gICAgICB0aGlzLm9yaWdpbmFsVGl0bGUgPSBkb2N1bWVudC50aXRsZTtcclxuICAgIH1cclxuICBcclxuICAgIGlmICghdGhpcy5pbnRlcnZhbElkKSB7XHJcbiAgICAgIHRoaXMuaW50ZXJ2YWxJZCA9IHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgICAvLyBBbHRlcm5hciBlbnRyZSBlbCB0w610dWxvIGFsdGVybmF0aXZvIHkgZWwgdMOtdHVsbyBvcmlnaW5hbFxyXG4gICAgICAgIGRvY3VtZW50LnRpdGxlID0gdG9nZ2xlID8gdGhpcy5hbHRlcm5hdGVUaXRsZSA6IHRoaXMub3JpZ2luYWxUaXRsZTtcclxuICAgICAgICB0b2dnbGUgPSAhdG9nZ2xlO1xyXG4gICAgICB9LCAxMDAwKTsgLy8gQ2FtYmlhIGVsIHTDrXR1bG8gY2FkYSBzZWd1bmRvXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdG9wRmxhc2hpbmdUaXRsZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmludGVydmFsSWQpIHtcclxuICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsSWQpO1xyXG4gICAgICB0aGlzLmludGVydmFsSWQgPSBudWxsO1xyXG4gICAgICBkb2N1bWVudC50aXRsZSA9IHRoaXMub3JpZ2luYWxUaXRsZTsgLy8gUmVzdGF1cmEgYSB2YWPDrW9cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJldmlzYXJBbGVydGFzUGVuZGllbnRlcyh1cmxPYnRlbmVyQWxlcnRhc1Bhbmljbzogc3RyaW5nLCB0b2tlbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBoZWxwZXIgPSBuZXcgSnd0SGVscGVyU2VydmljZSgpO1xyXG4gICAgY29uc3QgZGVjb2RlZFRva2VuID0gaGVscGVyLmRlY29kZVRva2VuKHRva2VuKTtcclxuICAgIHRoaXMud21NZW51U2VydmljaW9TZXJ2aWNlXHJcbiAgICAgIC5tZW51QXBpT2J0ZW5lcih1cmxPYnRlbmVyQWxlcnRhc1BhbmljbywgZGVjb2RlZFRva2VuWydpZF91c3VhcmlvJ10sIHRva2VuKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXNwKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3AgJiYgcmVzcC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIGNvbnN0IGFsZXJ0YXNJZHMgPSByZXNwLm1hcChhbGVydGEgPT4gYWxlcnRhLklkQWxlcnRhUGFuaWNvKTtcclxuXHJcbiAgICAgICAgICAvLyBFbGltaW5hciBJRHMgcXVlIG5vIGVzdMOhbiBlbiBsYSByZXNwdWVzdGEgZGVsIHNlcnZpY2lvXHJcbiAgICAgICAgICB0aGlzLklkc0FsZXJ0YXNQYW5pY29BY3RpdmFzLmZvckVhY2goKGlkKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghYWxlcnRhc0lkcy5pbmNsdWRlcyhpZCkpIHtcclxuICAgICAgICAgICAgICB0aGlzLklkc0FsZXJ0YXNQYW5pY29BY3RpdmFzLmRlbGV0ZShpZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIC8vIEZpbHRyYXIgYWxlcnRhcyBudWV2YXNcclxuICAgICAgICAgIGNvbnN0IG5ld0FsZXJ0cyA9IHJlc3AuZmlsdGVyKGFsZXJ0YSA9PiAhdGhpcy5JZHNBbGVydGFzUGFuaWNvQWN0aXZhcy5oYXMoYWxlcnRhLklkQWxlcnRhUGFuaWNvKSk7XHJcblxyXG4gICAgICAgICAgLy8gQWdyZWdhciBsYXMgbnVldmFzIGFsZXJ0YXMgYSBsYSBsaXN0YSBhY3RpdmFcclxuICAgICAgICAgIG5ld0FsZXJ0cy5mb3JFYWNoKGFsZXJ0YSA9PiB0aGlzLklkc0FsZXJ0YXNQYW5pY29BY3RpdmFzLmFkZChhbGVydGEuSWRBbGVydGFQYW5pY28pKTtcclxuICAgICAgICAgIGlmICh0aGlzLklkc0FsZXJ0YXNQYW5pY29BY3RpdmFzLnNpemUgPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhcnRGbGFzaGluZ1RpdGxlKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAvLyBTaSBoYXkgbnVldmFzIGFsZXJ0YXMsIGRpc3BhcmEgbm90aWZpY2FjaW9uIHNvbm9yYVxyXG4gICAgICAgICAgaWYgKG5ld0FsZXJ0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMucGxheVNvdW5kKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIC8vIFNpIG5vIGhheSBhbGVydGFzIGVuIGxhIHJlc3B1ZXN0YSwgbGltcGlhciBsYSBsaXN0YVxyXG4gICAgICAgICAgdGhpcy5JZHNBbGVydGFzUGFuaWNvQWN0aXZhcy5jbGVhcigpO1xyXG4gICAgICAgICAgdGhpcy5zdG9wRmxhc2hpbmdUaXRsZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBBY3R1YWxpemFyIGxvY2FsU3RvcmFnZSBjb24gbG9zIElEcyBhY3Rpdm9zXHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ0FMRVJUQVNfUEFOSUNPX0FDVElWQVNfV00nLCBKU09OLnN0cmluZ2lmeShBcnJheS5mcm9tKHRoaXMuSWRzQWxlcnRhc1Bhbmljb0FjdGl2YXMpKSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -5,18 +5,18 @@ import { WmMenuServicioService } from './services/wm-menu-servicio.service';
|
|
|
5
5
|
import { JwtHelperService } from '@auth0/angular-jwt';
|
|
6
6
|
import { WmMenuAlertaPanicoService } from './services/wm-menu-alerta-panico.service';
|
|
7
7
|
var WmMenuComponent = /** @class */ (function () {
|
|
8
|
-
function WmMenuComponent(wmMenuServicioService,
|
|
8
|
+
function WmMenuComponent(wmMenuServicioService, alertaPanicoService) {
|
|
9
9
|
this.wmMenuServicioService = wmMenuServicioService;
|
|
10
|
-
this.
|
|
11
|
-
this.intervaloPeticionesMs = 60000;
|
|
10
|
+
this.alertaPanicoService = alertaPanicoService;
|
|
12
11
|
this.menuSecundarioSel = new MenuSecundario();
|
|
13
12
|
this.menuLateralAbierto = false;
|
|
14
13
|
this.menuIdioma = [];
|
|
14
|
+
this.intervaloPeticionesMs = 60000;
|
|
15
15
|
}
|
|
16
16
|
WmMenuComponent.prototype.ngOnInit = function () {
|
|
17
17
|
var _this = this;
|
|
18
|
-
this.wmMenuAlertaPanicoService.iniciarProceso(this.intervaloPeticionesMs, function () { return _this.wmMenuAlertaPanicoService.revisarAlertasPendientes(_this.urlObtenerAlertasPanico, _this.token); }, this.urlObtenerParametro, this.token, this.rutaAudio);
|
|
19
18
|
this.cargarMenuCuenta();
|
|
19
|
+
this.alertaPanicoService.iniciarProceso(this.intervaloPeticionesMs, function () { return _this.alertaPanicoService.revisarAlertasPendientes(_this.urlObtenerAlertasPanico, _this.token); }, this.urlObtenerParametro, this.token, this.rutaAudio);
|
|
20
20
|
if (this.urlMenu && this.token) {
|
|
21
21
|
var helper = new JwtHelperService();
|
|
22
22
|
var decodedToken = helper.decodeToken(this.token);
|
|
@@ -148,4 +148,4 @@ var WmMenuComponent = /** @class */ (function () {
|
|
|
148
148
|
return WmMenuComponent;
|
|
149
149
|
}());
|
|
150
150
|
export { WmMenuComponent };
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid20tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly93bS1tZW51LyIsInNvdXJjZXMiOlsibGliL3dtLW1lbnUvd20tbWVudS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQU9yRjtJQStCSSx5QkFBb0IscUJBQTRDLEVBQVUseUJBQW9EO1FBQTFHLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFBVSw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJCO1FBUnRILDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUd0QyxzQkFBaUIsR0FBbUIsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUN6RCx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFFcEMsZUFBVSxHQUFTLEVBQUUsQ0FBQztJQUU0RyxDQUFDO0lBRW5JLGtDQUFRLEdBQVI7UUFBQSxpQkF1Q0M7UUFyQ0csSUFBSSxDQUFDLHlCQUF5QixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsY0FBTSxPQUFBLEtBQUksQ0FBQyx5QkFBeUIsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFJLENBQUMsdUJBQXVCLEVBQUUsS0FBSSxDQUFDLEtBQUssQ0FBQyxFQUFqRyxDQUFpRyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUd6TyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUV4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SUFFakM7UUFBUixLQUFLLEVBQUU7b0RBQWlCO0lBQ2hCO1FBQVIsS0FBSyxFQUFFO2tEQUFlO0lBQ2Q7UUFBUixLQUFLLEVBQUU7K0RBQTRCO0lBQzNCO1FBQVIsS0FBSyxFQUFFO3VEQUFvQjtJQUNuQjtRQUFSLEtBQUssRUFBRTsyREFBd0I7SUFDdkI7UUFBUixLQUFLLEVBQUU7b0VBQWlDO0lBQ2hDO1FBQVIsS0FBSyxFQUFFO2dFQUE2QjtJQUM1QjtRQUFSLEtBQUssRUFBRTtzREFBbUI7SUFFbEI7UUFBUixLQUFLLEVBQUU7MERBQXVCO0lBQ3RCO1FBQVIsS0FBSyxFQUFFOzBEQUF1QjtJQUN0QjtRQUFSLEtBQUssRUFBRTt1REFBb0I7SUFDbkI7UUFBUixLQUFLLEVBQUU7a0VBQStCO0lBRTlCO1FBQVIsS0FBSyxFQUFFO3VEQUFvQjtJQXJCbkIsZUFBZTtRQUwzQixTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsU0FBUztZQUNuQixnaU1BQXVDOztTQUUxQyxDQUFDO09BQ1csZUFBZSxDQXlHM0I7SUFBRCxzQkFBQztDQUFBLEFBekdELElBeUdDO1NBekdZLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWVudVByaW5jaXBhbCB9IGZyb20gJy4vbW9kZWwvd20tbWVudS1wcmluY2lwYWwubW9kZWwnO1xyXG5pbXBvcnQgeyBNZW51U2VjdW5kYXJpbyB9IGZyb20gJy4vbW9kZWwvd20tbWVudS1jdWVudGEubW9kZWwnO1xyXG5pbXBvcnQgeyBXbU1lbnVTZXJ2aWNpb1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3dtLW1lbnUtc2VydmljaW8uc2VydmljZSc7XHJcbmltcG9ydCB7IEp3dEhlbHBlclNlcnZpY2UgfSBmcm9tICdAYXV0aDAvYW5ndWxhci1qd3QnO1xyXG5pbXBvcnQgeyBXbU1lbnVBbGVydGFQYW5pY29TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy93bS1tZW51LWFsZXJ0YS1wYW5pY28uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnd20tbWVudScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vd20tbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi93bS1tZW51LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFdtTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSBsb2dvOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBjb2xvckZvbmRvOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBjb2xvclRleHRvOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBtZW51UHJpbmNpcGFsOiBNZW51UHJpbmNpcGFsW107XHJcbiAgICBASW5wdXQoKSBtZW51U2VjdW5kYXJpbzogTWVudVNlY3VuZGFyaW9bXTtcclxuXHJcbiAgICBASW5wdXQoKSB1cmxNZW51OiBzdHJpbmc7IFxyXG4gICAgQElucHV0KCkgdG9rZW46IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHVybEN1ZW50YVNlZ3VyaWRhZDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgYWN0aXZhcjJmYTogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgdXJsZ3VpYXNPbmxpbmU6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHVybE9idGVuZXJBbGVydGFzUGFuaWNvOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSB1cmxPYnRlbmVyUGFyYW1ldHJvOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBydXRhQXVkaW86IHN0cmluZztcclxuXHJcbiAgICBASW5wdXQoKSBub21icmVDbGllbnRlOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBub21icmVVc3VhcmlvOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSB2ZXJzaW9uV2ViOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSB1cmxCYXNlQWxtYWNlbmFtaWVudG86IHN0cmluZztcclxuXHJcbiAgICBASW5wdXQoKSB1cmxJZGlvbWFzOiBzdHJpbmc7XHJcblxyXG4gICAgcHJpdmF0ZSBpbnRlcnZhbG9QZXRpY2lvbmVzTXMgPSA2MDAwMDtcclxuICAgIFxyXG4gICAgbWVudVByaW5jaXBhbFNlbDogTWVudVByaW5jaXBhbDtcclxuICAgIG1lbnVTZWN1bmRhcmlvU2VsOiBNZW51U2VjdW5kYXJpbyA9IG5ldyBNZW51U2VjdW5kYXJpbygpO1xyXG4gICAgbWVudUxhdGVyYWxBYmllcnRvOiBCb29sZWFuID0gZmFsc2U7XHJcbiAgICBwb3JjZW50YWplVXRpbGl6YWRvIDogbnVtYmVyO1xyXG4gICAgbWVudUlkaW9tYSA6IGFueSA9IFtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgd21NZW51U2VydmljaW9TZXJ2aWNlOiBXbU1lbnVTZXJ2aWNpb1NlcnZpY2UsIHByaXZhdGUgd21NZW51QWxlcnRhUGFuaWNvU2VydmljZTogV21NZW51QWxlcnRhUGFuaWNvU2VydmljZSkgeyB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgdGhpcy53bU1lbnVBbGVydGFQYW5pY29TZXJ2aWNlLmluaWNpYXJQcm9jZXNvKHRoaXMuaW50ZXJ2YWxvUGV0aWNpb25lc01zLCAoKSA9PiB0aGlzLndtTWVudUFsZXJ0YVBhbmljb1NlcnZpY2UucmV2aXNhckFsZXJ0YXNQZW5kaWVudGVzKHRoaXMudXJsT2J0ZW5lckFsZXJ0YXNQYW5pY28sIHRoaXMudG9rZW4pLCB0aGlzLnVybE9idGVuZXJQYXJhbWV0cm8sIHRoaXMudG9rZW4sIHRoaXMucnV0YUF1ZGlvKTtcclxuXHJcblxyXG4gICAgICAgIHRoaXMuY2FyZ2FyTWVudUN1ZW50YSgpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy51cmxNZW51ICYmIHRoaXMudG9rZW4pIHtcclxuICAgICAgICAgICAgdmFyIGhlbHBlciA9IG5ldyBKd3RIZWxwZXJTZXJ2aWNlKCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGRlY29kZWRUb2tlbiA9IGhlbHBlci5kZWNvZGVUb2tlbih0aGlzLnRva2VuKTtcclxuICAgICAgICAgICAgdGhpcy53bU1lbnVTZXJ2aWNpb1NlcnZpY2VcclxuICAgICAgICAgICAgICAgIC5tZW51QXBpT2J0ZW5lcih0aGlzLnVybE1lbnUsIGRlY29kZWRUb2tlbltcImlkX3VzdWFyaW9cIl0sIHRoaXMudG9rZW4pXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChyZXNwKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZW51UHJpbmNpcGFsID0gdGhpcy53bU1lbnVTZXJ2aWNpb1NlcnZpY2UubWFwZWFyTWVudShyZXNwKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMudXJsSWRpb21hcyAmJiB0aGlzLnRva2VuKSB7XHJcbiAgICAgICAgICAgIHZhciBoZWxwZXIgPSBuZXcgSnd0SGVscGVyU2VydmljZSgpO1xyXG4gICAgICAgICAgICBjb25zdCBkZWNvZGVkVG9rZW4gPSBoZWxwZXIuZGVjb2RlVG9rZW4odGhpcy50b2tlbik7XHJcbiAgICAgICAgICAgIHRoaXMud21NZW51U2VydmljaW9TZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICAubWVudUlkaW9tYXNPYnRlbmVyKHRoaXMudXJsSWRpb21hcywgZGVjb2RlZFRva2VuW1wiaWRfdXN1YXJpb1wiXSwgdGhpcy50b2tlbilcclxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3ApID0+IHtcclxuICAgICAgICAgICAgICAgICAgIHRoaXMubWVudUlkaW9tYSA9IHJlc3A7XHJcbiAgICAgICAgICAgICAgICAgICB0aGlzLmNhcmdhck1lbnVDdWVudGEoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMudXJsQmFzZUFsbWFjZW5hbWllbnRvICYmIHRoaXMudG9rZW4pIHtcclxuICAgICAgICAgICAgdmFyIGhlbHBlciA9IG5ldyBKd3RIZWxwZXJTZXJ2aWNlKCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGRlY29kZWRUb2tlbiA9IGhlbHBlci5kZWNvZGVUb2tlbih0aGlzLnRva2VuKTtcclxuICAgICAgICAgICAgdGhpcy53bU1lbnVTZXJ2aWNpb1NlcnZpY2VcclxuICAgICAgICAgICAgICAgIC5hbG1hY2VuYW1pZW50b0FwaU9idGVuZXIodGhpcy51cmxCYXNlQWxtYWNlbmFtaWVudG8sIGRlY29kZWRUb2tlbltcImlkX3VzdWFyaW9cIl0sIHRoaXMudG9rZW4pXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChyZXNwKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHV0aWxpemFkbyA9IHJlc3BbMF0gJiYgcmVzcFswXS5VdGlsaXphZG8gPyByZXNwWzBdLlV0aWxpemFkbyA6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHRvdGFsID0gcmVzcFswXSAmJiByZXNwWzBdLlRvdGFsID8gcmVzcFswXS5Ub3RhbCA6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3JjZW50YWplVXRpbGl6YWRvID0gTWF0aC5yb3VuZCgodXRpbGl6YWRvIC8gdG90YWwpICogMTAwKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjbGlja01lbnVQcmluY2lwYWwoaTogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKHRoaXMubWVudVByaW5jaXBhbFtpXS5oaWpvcyAmJiB0aGlzLm1lbnVQcmluY2lwYWxbaV0uaGlqb3MubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1lbnVQcmluY2lwYWxTZWwgPT0gdGhpcy5tZW51UHJpbmNpcGFsW2ldKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVQcmluY2lwYWxTZWwgPSBudWxsO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tZW51UHJpbmNpcGFsU2VsID0gdGhpcy5tZW51UHJpbmNpcGFsW2ldO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNsaWNrTWVudVNlY3VuZGFyaW8oaTogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5tZW51U2VjdW5kYXJpb1NlbCA9IHRoaXMubWVudVNlY3VuZGFyaW9baV07XHJcbiAgICAgICAgdGhpcy5tZW51UHJpbmNpcGFsU2VsID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBjYXJnYXJNZW51Q3VlbnRhKCl7XHJcbiAgICAgICAgaWYgKHRoaXMudXJsQ3VlbnRhU2VndXJpZGFkICYmIHRoaXMudG9rZW4pIHtcclxuICAgICAgICAgICAgdmFyIGhlbHBlciA9IG5ldyBKd3RIZWxwZXJTZXJ2aWNlKCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGRlY29kZWRUb2tlbiA9IGhlbHBlci5kZWNvZGVUb2tlbih0aGlzLnRva2VuKTtcclxuICAgICAgICAgICAgdGhpcy5tZW51U2VjdW5kYXJpbyA9IFt7XHJcbiAgICAgICAgICAgICAgICB0aXR1bG86IGRlY29kZWRUb2tlbltcInVuaXF1ZV9uYW1lXCJdLFxyXG4gICAgICAgICAgICAgICAgaWNvbm86IFwiYWNjb3VudF9jaXJjbGVcIixcclxuICAgICAgICAgICAgICAgIGhpam9zOiBbXHJcbiAgICAgICAgICAgICAgICAgICAgeyB0aXR1bG86IGRlY29kZWRUb2tlbltcInVuaXF1ZV9uYW1lXCJdLCB1cmw6IFwiXCIsIGljb25vOiBcInBlcnNvblwiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgeyB0aXR1bG86IHRoaXMubWVudUlkaW9tYSAmJiB0aGlzLm1lbnVJZGlvbWEuQ2FtYmlhckNvbnRyYXNlbm5hID8gdGhpcy5tZW51SWRpb21hLkNhbWJpYXJDb250cmFzZW5uYSA6IFwiQ2FtYmlhciBjb250cmFzZcOxYVwiLCB1cmw6IHRoaXMudXJsQ3VlbnRhU2VndXJpZGFkICsgXCJDYW1iaW9Db250cmFzZW5hXCIsIGljb25vOiBcInZwbl9rZXlcIiB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZhcjJmYSA9PSBcIjFcIiA/IHsgdGl0dWxvOiB0aGlzLm1lbnVJZGlvbWEgJiYgdGhpcy5tZW51SWRpb21hLkNvbmZpZ3VyYXIyZmEgPyB0aGlzLm1lbnVJZGlvbWEuQ29uZmlndXJhcjJmYSA6IFwiQ29uZmlndXJhciAyRkFcIiwgdXJsOiB0aGlzLnVybEN1ZW50YVNlZ3VyaWRhZCArIFwiSGFiaWxpdGFjaW9uMkZBXCIsIGljb25vOiBcInZlcmlmaWVkX3VzZXJcIiB9IDogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVybGd1aWFzT25saW5lICE9IG51bGwgJiYgdGhpcy51cmxndWlhc09ubGluZSAhPT0gXCJcIiAmJiB0aGlzLnVybGd1aWFzT25saW5lPy5sZW5ndGggIT0gMCA/IHsgdGl0dWxvOiB0aGlzLm1lbnVJZGlvbWEgJiYgdGhpcy5tZW51SWRpb21hLmd1aWFzT25saW5lID8gdGhpcy5tZW51SWRpb21hLmd1aWFzT25saW5lIDogXCJHdWlhcyBPbmxpbmVcIiwgdXJsOiB0aGlzLnVybGd1aWFzT25saW5lLCBpY29ubzogXCJtZW51X2Jvb2tcIiB9IDogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICB7IHRpdHVsbzogdGhpcy5tZW51SWRpb21hICYmIHRoaXMubWVudUlkaW9tYS5DZXJyYXJTZXNpb24gPyB0aGlzLm1lbnVJZGlvbWEuQ2VycmFyU2VzaW9uIDogXCJDZXJyYXIgc2VzacOzblwiLCB1cmw6IHRoaXMudXJsQ3VlbnRhU2VndXJpZGFkICsgXCJDZXJyYXJTZXNpb25cIiwgaWNvbm86IFwiZXhpdF90b19hcHBcIiB9XS5maWx0ZXIoaGlqbyA9PiBoaWpvICE9IG51bGwpLFxyXG4gICAgICAgICAgICB9XTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid20tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly93bS1tZW51LyIsInNvdXJjZXMiOlsibGliL3dtLW1lbnUvd20tbWVudS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQU9yRjtJQThCSSx5QkFBb0IscUJBQTRDLEVBQVUsbUJBQThDO1FBQXBHLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFBVSx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQTJCO1FBTnhILHNCQUFpQixHQUFtQixJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQ3pELHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUVwQyxlQUFVLEdBQVMsRUFBRSxDQUFDO1FBQ2QsMEJBQXFCLEdBQUcsS0FBSyxDQUFDO0lBRXNGLENBQUM7SUFFN0gsa0NBQVEsR0FBUjtRQUFBLGlCQXFDQztRQXBDRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUV4QixJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxjQUFNLE9BQUEsS0FBSSxDQUFDLG1CQUFtQixDQUFDLHdCQUF3QixDQUFDLEtBQUksQ0FBQyx1QkFBdUIsRUFBRSxLQUFJLENBQUMsS0FBSyxDQUFDLEVBQTNGLENBQTJGLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTdO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QUVqQztRQUFSLEtBQUssRUFBRTtvREFBaUI7SUFDaEI7UUFBUixLQUFLLEVBQUU7a0RBQWU7SUFDZDtRQUFSLEtBQUssRUFBRTsrREFBNEI7SUFDM0I7UUFBUixLQUFLLEVBQUU7dURBQW9CO0lBQ25CO1FBQVIsS0FBSyxFQUFFOzJEQUF3QjtJQUN2QjtRQUFSLEtBQUssRUFBRTtvRUFBaUM7SUFDaEM7UUFBUixLQUFLLEVBQUU7Z0VBQTZCO0lBQzVCO1FBQVIsS0FBSyxFQUFFO3NEQUFtQjtJQUVsQjtRQUFSLEtBQUssRUFBRTswREFBdUI7SUFDdEI7UUFBUixLQUFLLEVBQUU7MERBQXVCO0lBQ3RCO1FBQVIsS0FBSyxFQUFFO3VEQUFvQjtJQUNuQjtRQUFSLEtBQUssRUFBRTtrRUFBK0I7SUFFOUI7UUFBUixLQUFLLEVBQUU7dURBQW9CO0lBckJuQixlQUFlO1FBTDNCLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxTQUFTO1lBQ25CLGdpTUFBdUM7O1NBRTFDLENBQUM7T0FDVyxlQUFlLENBc0czQjtJQUFELHNCQUFDO0NBQUEsQUF0R0QsSUFzR0M7U0F0R1ksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZW51UHJpbmNpcGFsIH0gZnJvbSAnLi9tb2RlbC93bS1tZW51LXByaW5jaXBhbC5tb2RlbCc7XHJcbmltcG9ydCB7IE1lbnVTZWN1bmRhcmlvIH0gZnJvbSAnLi9tb2RlbC93bS1tZW51LWN1ZW50YS5tb2RlbCc7XHJcbmltcG9ydCB7IFdtTWVudVNlcnZpY2lvU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvd20tbWVudS1zZXJ2aWNpby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSnd0SGVscGVyU2VydmljZSB9IGZyb20gJ0BhdXRoMC9hbmd1bGFyLWp3dCc7XHJcbmltcG9ydCB7IFdtTWVudUFsZXJ0YVBhbmljb1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3dtLW1lbnUtYWxlcnRhLXBhbmljby5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd3bS1tZW51JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi93bS1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3dtLW1lbnUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgV21NZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIGxvZ286IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGNvbG9yRm9uZG86IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGNvbG9yVGV4dG86IHN0cmluZztcclxuICAgIEBJbnB1dCgpIG1lbnVQcmluY2lwYWw6IE1lbnVQcmluY2lwYWxbXTtcclxuICAgIEBJbnB1dCgpIG1lbnVTZWN1bmRhcmlvOiBNZW51U2VjdW5kYXJpb1tdO1xyXG5cclxuICAgIEBJbnB1dCgpIHVybE1lbnU6IHN0cmluZzsgXHJcbiAgICBASW5wdXQoKSB0b2tlbjogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgdXJsQ3VlbnRhU2VndXJpZGFkOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBhY3RpdmFyMmZhOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSB1cmxndWlhc09ubGluZTogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgdXJsT2J0ZW5lckFsZXJ0YXNQYW5pY286IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHVybE9idGVuZXJQYXJhbWV0cm86IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHJ1dGFBdWRpbzogc3RyaW5nO1xyXG5cclxuICAgIEBJbnB1dCgpIG5vbWJyZUNsaWVudGU6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIG5vbWJyZVVzdWFyaW86IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHZlcnNpb25XZWI6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHVybEJhc2VBbG1hY2VuYW1pZW50bzogc3RyaW5nO1xyXG5cclxuICAgIEBJbnB1dCgpIHVybElkaW9tYXM6IHN0cmluZztcclxuXHJcbiAgICBtZW51UHJpbmNpcGFsU2VsOiBNZW51UHJpbmNpcGFsO1xyXG4gICAgbWVudVNlY3VuZGFyaW9TZWw6IE1lbnVTZWN1bmRhcmlvID0gbmV3IE1lbnVTZWN1bmRhcmlvKCk7XHJcbiAgICBtZW51TGF0ZXJhbEFiaWVydG86IEJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHBvcmNlbnRhamVVdGlsaXphZG8gOiBudW1iZXI7XHJcbiAgICBtZW51SWRpb21hIDogYW55ID0gW107XHJcbiAgICBwcml2YXRlIGludGVydmFsb1BldGljaW9uZXNNcyA9IDYwMDAwO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgd21NZW51U2VydmljaW9TZXJ2aWNlOiBXbU1lbnVTZXJ2aWNpb1NlcnZpY2UsIHByaXZhdGUgYWxlcnRhUGFuaWNvU2VydmljZTogV21NZW51QWxlcnRhUGFuaWNvU2VydmljZSkgeyB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jYXJnYXJNZW51Q3VlbnRhKCk7XHJcblxyXG4gICAgICAgIHRoaXMuYWxlcnRhUGFuaWNvU2VydmljZS5pbmljaWFyUHJvY2Vzbyh0aGlzLmludGVydmFsb1BldGljaW9uZXNNcywgKCkgPT4gdGhpcy5hbGVydGFQYW5pY29TZXJ2aWNlLnJldmlzYXJBbGVydGFzUGVuZGllbnRlcyh0aGlzLnVybE9idGVuZXJBbGVydGFzUGFuaWNvLCB0aGlzLnRva2VuKSwgdGhpcy51cmxPYnRlbmVyUGFyYW1ldHJvLCB0aGlzLnRva2VuLCB0aGlzLnJ1dGFBdWRpbyk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnVybE1lbnUgJiYgdGhpcy50b2tlbikge1xyXG4gICAgICAgICAgICB2YXIgaGVscGVyID0gbmV3IEp3dEhlbHBlclNlcnZpY2UoKTtcclxuICAgICAgICAgICAgY29uc3QgZGVjb2RlZFRva2VuID0gaGVscGVyLmRlY29kZVRva2VuKHRoaXMudG9rZW4pO1xyXG4gICAgICAgICAgICB0aGlzLndtTWVudVNlcnZpY2lvU2VydmljZVxyXG4gICAgICAgICAgICAgICAgLm1lbnVBcGlPYnRlbmVyKHRoaXMudXJsTWVudSwgZGVjb2RlZFRva2VuW1wiaWRfdXN1YXJpb1wiXSwgdGhpcy50b2tlbilcclxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3ApID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1lbnVQcmluY2lwYWwgPSB0aGlzLndtTWVudVNlcnZpY2lvU2VydmljZS5tYXBlYXJNZW51KHJlc3ApO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy51cmxJZGlvbWFzICYmIHRoaXMudG9rZW4pIHtcclxuICAgICAgICAgICAgdmFyIGhlbHBlciA9IG5ldyBKd3RIZWxwZXJTZXJ2aWNlKCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGRlY29kZWRUb2tlbiA9IGhlbHBlci5kZWNvZGVUb2tlbih0aGlzLnRva2VuKTtcclxuICAgICAgICAgICAgdGhpcy53bU1lbnVTZXJ2aWNpb1NlcnZpY2VcclxuICAgICAgICAgICAgICAgIC5tZW51SWRpb21hc09idGVuZXIodGhpcy51cmxJZGlvbWFzLCBkZWNvZGVkVG9rZW5bXCJpZF91c3VhcmlvXCJdLCB0aGlzLnRva2VuKVxyXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzcCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgdGhpcy5tZW51SWRpb21hID0gcmVzcDtcclxuICAgICAgICAgICAgICAgICAgIHRoaXMuY2FyZ2FyTWVudUN1ZW50YSgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy51cmxCYXNlQWxtYWNlbmFtaWVudG8gJiYgdGhpcy50b2tlbikge1xyXG4gICAgICAgICAgICB2YXIgaGVscGVyID0gbmV3IEp3dEhlbHBlclNlcnZpY2UoKTtcclxuICAgICAgICAgICAgY29uc3QgZGVjb2RlZFRva2VuID0gaGVscGVyLmRlY29kZVRva2VuKHRoaXMudG9rZW4pO1xyXG4gICAgICAgICAgICB0aGlzLndtTWVudVNlcnZpY2lvU2VydmljZVxyXG4gICAgICAgICAgICAgICAgLmFsbWFjZW5hbWllbnRvQXBpT2J0ZW5lcih0aGlzLnVybEJhc2VBbG1hY2VuYW1pZW50bywgZGVjb2RlZFRva2VuW1wiaWRfdXN1YXJpb1wiXSwgdGhpcy50b2tlbilcclxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3ApID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgdXRpbGl6YWRvID0gcmVzcFswXSAmJiByZXNwWzBdLlV0aWxpemFkbyA/IHJlc3BbMF0uVXRpbGl6YWRvIDogMDtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgdG90YWwgPSByZXNwWzBdICYmIHJlc3BbMF0uVG90YWwgPyByZXNwWzBdLlRvdGFsIDogMDtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcmNlbnRhamVVdGlsaXphZG8gPSBNYXRoLnJvdW5kKCh1dGlsaXphZG8gLyB0b3RhbCkgKiAxMDApO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNsaWNrTWVudVByaW5jaXBhbChpOiBudW1iZXIpIHtcclxuICAgICAgICBpZiAodGhpcy5tZW51UHJpbmNpcGFsW2ldLmhpam9zICYmIHRoaXMubWVudVByaW5jaXBhbFtpXS5oaWpvcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMubWVudVByaW5jaXBhbFNlbCA9PSB0aGlzLm1lbnVQcmluY2lwYWxbaV0pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubWVudVByaW5jaXBhbFNlbCA9IG51bGw7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVQcmluY2lwYWxTZWwgPSB0aGlzLm1lbnVQcmluY2lwYWxbaV07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2xpY2tNZW51U2VjdW5kYXJpbyhpOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLm1lbnVTZWN1bmRhcmlvU2VsID0gdGhpcy5tZW51U2VjdW5kYXJpb1tpXTtcclxuICAgICAgICB0aGlzLm1lbnVQcmluY2lwYWxTZWwgPSBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGNhcmdhck1lbnVDdWVudGEoKXtcclxuICAgICAgICBpZiAodGhpcy51cmxDdWVudGFTZWd1cmlkYWQgJiYgdGhpcy50b2tlbikge1xyXG4gICAgICAgICAgICB2YXIgaGVscGVyID0gbmV3IEp3dEhlbHBlclNlcnZpY2UoKTtcclxuICAgICAgICAgICAgY29uc3QgZGVjb2RlZFRva2VuID0gaGVscGVyLmRlY29kZVRva2VuKHRoaXMudG9rZW4pO1xyXG4gICAgICAgICAgICB0aGlzLm1lbnVTZWN1bmRhcmlvID0gW3tcclxuICAgICAgICAgICAgICAgIHRpdHVsbzogZGVjb2RlZFRva2VuW1widW5pcXVlX25hbWVcIl0sXHJcbiAgICAgICAgICAgICAgICBpY29ubzogXCJhY2NvdW50X2NpcmNsZVwiLFxyXG4gICAgICAgICAgICAgICAgaGlqb3M6IFtcclxuICAgICAgICAgICAgICAgICAgICB7IHRpdHVsbzogZGVjb2RlZFRva2VuW1widW5pcXVlX25hbWVcIl0sIHVybDogXCJcIiwgaWNvbm86IFwicGVyc29uXCIgfSxcclxuICAgICAgICAgICAgICAgICAgICB7IHRpdHVsbzogdGhpcy5tZW51SWRpb21hICYmIHRoaXMubWVudUlkaW9tYS5DYW1iaWFyQ29udHJhc2VubmEgPyB0aGlzLm1lbnVJZGlvbWEuQ2FtYmlhckNvbnRyYXNlbm5hIDogXCJDYW1iaWFyIGNvbnRyYXNlw7FhXCIsIHVybDogdGhpcy51cmxDdWVudGFTZWd1cmlkYWQgKyBcIkNhbWJpb0NvbnRyYXNlbmFcIiwgaWNvbm86IFwidnBuX2tleVwiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmFyMmZhID09IFwiMVwiID8geyB0aXR1bG86IHRoaXMubWVudUlkaW9tYSAmJiB0aGlzLm1lbnVJZGlvbWEuQ29uZmlndXJhcjJmYSA/IHRoaXMubWVudUlkaW9tYS5Db25maWd1cmFyMmZhIDogXCJDb25maWd1cmFyIDJGQVwiLCB1cmw6IHRoaXMudXJsQ3VlbnRhU2VndXJpZGFkICsgXCJIYWJpbGl0YWNpb24yRkFcIiwgaWNvbm86IFwidmVyaWZpZWRfdXNlclwiIH0gOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXJsZ3VpYXNPbmxpbmUgIT0gbnVsbCAmJiB0aGlzLnVybGd1aWFzT25saW5lICE9PSBcIlwiICYmIHRoaXMudXJsZ3VpYXNPbmxpbmU/Lmxlbmd0aCAhPSAwID8geyB0aXR1bG86IHRoaXMubWVudUlkaW9tYSAmJiB0aGlzLm1lbnVJZGlvbWEuZ3VpYXNPbmxpbmUgPyB0aGlzLm1lbnVJZGlvbWEuZ3VpYXNPbmxpbmUgOiBcIkd1aWFzIE9ubGluZVwiLCB1cmw6IHRoaXMudXJsZ3VpYXNPbmxpbmUsIGljb25vOiBcIm1lbnVfYm9va1wiIH0gOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgIHsgdGl0dWxvOiB0aGlzLm1lbnVJZGlvbWEgJiYgdGhpcy5tZW51SWRpb21hLkNlcnJhclNlc2lvbiA/IHRoaXMubWVudUlkaW9tYS5DZXJyYXJTZXNpb24gOiBcIkNlcnJhciBzZXNpw7NuXCIsIHVybDogdGhpcy51cmxDdWVudGFTZWd1cmlkYWQgKyBcIkNlcnJhclNlc2lvblwiLCBpY29ubzogXCJleGl0X3RvX2FwcFwiIH1dLmZpbHRlcihoaWpvID0+IGhpam8gIT0gbnVsbCksXHJcbiAgICAgICAgICAgIH1dO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
|
package/fesm2015/wm-menu.js
CHANGED
|
@@ -117,27 +117,22 @@ let WmMenuAlertaPanicoService = class WmMenuAlertaPanicoService {
|
|
|
117
117
|
this.IdsAlertasPanicoActivas = new Set(); // Almacena los IDs de las alertas ya manejadas
|
|
118
118
|
this.soundTimeout = null; // Controla el temporizador del sonido
|
|
119
119
|
this.isRunning = false;
|
|
120
|
-
console.log('WmMenuAlertaPanicoService inicializado.');
|
|
121
120
|
}
|
|
122
121
|
iniciarProceso(intervalMs, callback, urlObtenerParametro, token, rutaAudio) {
|
|
123
|
-
console.log('iniciarProceso llamado con parámetros:', { intervalMs, urlObtenerParametro, token, rutaAudio });
|
|
124
122
|
this.rutaAudio = rutaAudio;
|
|
125
123
|
const iniciarConInteraccion = () => {
|
|
126
|
-
console.log('iniciarConInteraccion ejecutado.');
|
|
127
124
|
this.wmMenuServicioService
|
|
128
125
|
.menuApiObtener(urlObtenerParametro, null, token, 'ReporteAlertasPanico')
|
|
129
126
|
.subscribe((resp) => {
|
|
130
|
-
|
|
127
|
+
// validar si el parametro ReporteAlertasPanico esta encendido
|
|
131
128
|
if (resp && resp.length > 0 && resp[0].Valor == 1) {
|
|
132
129
|
if (this.isRunning) {
|
|
133
|
-
console.log('Proceso ya está corriendo.');
|
|
134
130
|
return;
|
|
135
131
|
}
|
|
132
|
+
// Inicializar la variable desde localStorage
|
|
136
133
|
const storedIds = localStorage.getItem('ALERTAS_PANICO_ACTIVAS_WM');
|
|
137
134
|
this.IdsAlertasPanicoActivas = storedIds ? new Set(JSON.parse(storedIds)) : new Set();
|
|
138
|
-
console.log('IdsAlertasPanicoActivas inicializado:', this.IdsAlertasPanicoActivas);
|
|
139
135
|
const ejecutarProceso = () => {
|
|
140
|
-
console.log('ejecutarProceso iniciado.');
|
|
141
136
|
this.isRunning = true;
|
|
142
137
|
callback();
|
|
143
138
|
setTimeout(() => {
|
|
@@ -150,48 +145,41 @@ let WmMenuAlertaPanicoService = class WmMenuAlertaPanicoService {
|
|
|
150
145
|
});
|
|
151
146
|
};
|
|
152
147
|
['drag', 'click'].forEach(evento => {
|
|
153
|
-
console.log(`Evento ${evento} registrado para iniciar proceso.`);
|
|
154
148
|
document.addEventListener(evento, () => {
|
|
155
149
|
iniciarConInteraccion();
|
|
156
150
|
}, { once: true });
|
|
157
151
|
});
|
|
158
152
|
}
|
|
159
153
|
stopProcess() {
|
|
160
|
-
console.log('stopProcess ejecutado.');
|
|
161
154
|
this.isRunning = false;
|
|
162
155
|
if (this.subscription) {
|
|
163
156
|
this.subscription.unsubscribe();
|
|
164
157
|
}
|
|
165
158
|
}
|
|
166
159
|
ngOnDestroy() {
|
|
167
|
-
console.log('ngOnDestroy ejecutado.');
|
|
168
160
|
this.stopSound();
|
|
169
161
|
this.stopFlashingTitle();
|
|
170
162
|
}
|
|
171
163
|
playSound() {
|
|
172
|
-
console.log('playSound llamado.');
|
|
173
164
|
if (this.isPlaying)
|
|
174
165
|
return; // Evita reproducir si ya está sonando
|
|
175
166
|
this.isPlaying = true;
|
|
176
167
|
if (!this.audio) {
|
|
177
168
|
this.audio = new Audio(this.rutaAudio); // Ruta al archivo de sonido
|
|
178
169
|
}
|
|
179
|
-
console.log("Audio cargado: ", this.audio);
|
|
180
170
|
this.audio.loop = true; // Reproducir en bucle
|
|
181
171
|
this.audio.play()
|
|
182
172
|
.then(() => {
|
|
183
|
-
console.log('Sonido reproduciéndose.');
|
|
184
173
|
// Detener el sonido después de 10 segundos
|
|
185
174
|
this.soundTimeout = setTimeout(() => {
|
|
186
175
|
this.stopSound();
|
|
187
176
|
}, 10000); // Detener después de 10 segundos
|
|
188
177
|
})
|
|
189
178
|
.catch(error => {
|
|
190
|
-
console.
|
|
179
|
+
console.log('Error al reproducir el sonido:', error);
|
|
191
180
|
});
|
|
192
181
|
}
|
|
193
182
|
stopSound() {
|
|
194
|
-
console.log('stopSound llamado.');
|
|
195
183
|
if (this.audio) {
|
|
196
184
|
this.audio.pause();
|
|
197
185
|
this.audio.currentTime = 0; // Reinicia el sonido
|
|
@@ -203,7 +191,6 @@ let WmMenuAlertaPanicoService = class WmMenuAlertaPanicoService {
|
|
|
203
191
|
}
|
|
204
192
|
}
|
|
205
193
|
startFlashingTitle() {
|
|
206
|
-
console.log('startFlashingTitle llamado.');
|
|
207
194
|
let toggle = false;
|
|
208
195
|
// Almacenar el título original si aún no se ha guardado
|
|
209
196
|
if (!this.originalTitle) {
|
|
@@ -218,7 +205,6 @@ let WmMenuAlertaPanicoService = class WmMenuAlertaPanicoService {
|
|
|
218
205
|
}
|
|
219
206
|
}
|
|
220
207
|
stopFlashingTitle() {
|
|
221
|
-
console.log('stopFlashingTitle llamado.');
|
|
222
208
|
if (this.intervalId) {
|
|
223
209
|
clearInterval(this.intervalId);
|
|
224
210
|
this.intervalId = null;
|
|
@@ -226,16 +212,13 @@ let WmMenuAlertaPanicoService = class WmMenuAlertaPanicoService {
|
|
|
226
212
|
}
|
|
227
213
|
}
|
|
228
214
|
revisarAlertasPendientes(urlObtenerAlertasPanico, token) {
|
|
229
|
-
console.log('revisarAlertasPendientes llamado con parámetros:', { urlObtenerAlertasPanico, token });
|
|
230
215
|
const helper = new JwtHelperService();
|
|
231
216
|
const decodedToken = helper.decodeToken(token);
|
|
232
217
|
this.wmMenuServicioService
|
|
233
218
|
.menuApiObtener(urlObtenerAlertasPanico, decodedToken['id_usuario'], token)
|
|
234
219
|
.subscribe((resp) => {
|
|
235
|
-
console.log('Respuesta obtenida de revisarAlertasPendientes:', resp);
|
|
236
220
|
if (resp && resp.length > 0) {
|
|
237
221
|
const alertasIds = resp.map(alerta => alerta.IdAlertaPanico);
|
|
238
|
-
console.log('IDs de alertas obtenidas:', alertasIds);
|
|
239
222
|
// Eliminar IDs que no están en la respuesta del servicio
|
|
240
223
|
this.IdsAlertasPanicoActivas.forEach((id) => {
|
|
241
224
|
if (!alertasIds.includes(id)) {
|
|
@@ -275,17 +258,17 @@ WmMenuAlertaPanicoService = __decorate([
|
|
|
275
258
|
], WmMenuAlertaPanicoService);
|
|
276
259
|
|
|
277
260
|
let WmMenuComponent = class WmMenuComponent {
|
|
278
|
-
constructor(wmMenuServicioService,
|
|
261
|
+
constructor(wmMenuServicioService, alertaPanicoService) {
|
|
279
262
|
this.wmMenuServicioService = wmMenuServicioService;
|
|
280
|
-
this.
|
|
281
|
-
this.intervaloPeticionesMs = 60000;
|
|
263
|
+
this.alertaPanicoService = alertaPanicoService;
|
|
282
264
|
this.menuSecundarioSel = new MenuSecundario();
|
|
283
265
|
this.menuLateralAbierto = false;
|
|
284
266
|
this.menuIdioma = [];
|
|
267
|
+
this.intervaloPeticionesMs = 60000;
|
|
285
268
|
}
|
|
286
269
|
ngOnInit() {
|
|
287
|
-
this.wmMenuAlertaPanicoService.iniciarProceso(this.intervaloPeticionesMs, () => this.wmMenuAlertaPanicoService.revisarAlertasPendientes(this.urlObtenerAlertasPanico, this.token), this.urlObtenerParametro, this.token, this.rutaAudio);
|
|
288
270
|
this.cargarMenuCuenta();
|
|
271
|
+
this.alertaPanicoService.iniciarProceso(this.intervaloPeticionesMs, () => this.alertaPanicoService.revisarAlertasPendientes(this.urlObtenerAlertasPanico, this.token), this.urlObtenerParametro, this.token, this.rutaAudio);
|
|
289
272
|
if (this.urlMenu && this.token) {
|
|
290
273
|
var helper = new JwtHelperService();
|
|
291
274
|
const decodedToken = helper.decodeToken(this.token);
|
package/fesm2015/wm-menu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wm-menu.js","sources":["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","ng://wm-menu/public-api.ts","ng://wm-menu/wm-menu.ts"],"sourcesContent":["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","/*\r\n * Public API Surface of wm-menu\r\n */\r\n\r\nexport * from './lib/wm-menu/wm-menu.component';\r\nexport * from './lib/wm-menu/services/wm-menu-servicio.service';\r\nexport * from './lib/wm-menu/services/wm-menu-alerta-panico.service';\r\nexport * from './lib/wm-menu.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wm-menu.js","sources":["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","ng://wm-menu/public-api.ts","ng://wm-menu/wm-menu.ts"],"sourcesContent":["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","/*\r\n * Public API Surface of wm-menu\r\n */\r\n\r\nexport * from './lib/wm-menu/wm-menu.component';\r\nexport * from './lib/wm-menu/services/wm-menu-servicio.service';\r\nexport * from './lib/wm-menu/services/wm-menu-alerta-panico.service';\r\nexport * from './lib/wm-menu.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|