96 lines
2.2 KiB
JavaScript
96 lines
2.2 KiB
JavaScript
(function (window, document) {
|
|
'use strict';
|
|
|
|
var STORAGE_KEY = 'sig.currentMenu.v1';
|
|
|
|
function obtenerValor(id) {
|
|
var elemento = document.getElementById(id);
|
|
|
|
return elemento
|
|
? String(elemento.value || '')
|
|
: '';
|
|
}
|
|
|
|
function guardarMenuActual() {
|
|
/*
|
|
* La página HTML de error no debe reemplazar
|
|
* el último menú válido.
|
|
*/
|
|
if (window.SIGEsPaginaError === true) {
|
|
return;
|
|
}
|
|
|
|
var menu = document.getElementById(
|
|
'ulmenulateralmasterB'
|
|
);
|
|
|
|
var cveUsuario = obtenerValor('HdnCveU');
|
|
var cveEmpresa = obtenerValor('HdnCveE');
|
|
|
|
if (!menu || !cveUsuario) {
|
|
return;
|
|
}
|
|
|
|
var datos = {
|
|
version: 1,
|
|
cveUsuario: cveUsuario,
|
|
cveEmpresa: cveEmpresa,
|
|
menuHtml: menu.innerHTML,
|
|
fecha: new Date().getTime()
|
|
};
|
|
|
|
try {
|
|
localStorage.setItem(
|
|
STORAGE_KEY,
|
|
JSON.stringify(datos)
|
|
);
|
|
} catch (ex) {
|
|
if (window.console && console.warn) {
|
|
console.warn(
|
|
'No fue posible guardar el menú de SIG.',
|
|
ex
|
|
);
|
|
}
|
|
}
|
|
}
|
|
|
|
function limpiarMenuActual() {
|
|
try {
|
|
localStorage.removeItem(STORAGE_KEY);
|
|
} catch (ex) {
|
|
// No interrumpir el cierre de sesión.
|
|
}
|
|
}
|
|
|
|
window.SIGMenuCache = {
|
|
guardar: guardarMenuActual,
|
|
limpiar: limpiarMenuActual
|
|
};
|
|
|
|
window.addEventListener(
|
|
'load',
|
|
guardarMenuActual,
|
|
false
|
|
);
|
|
|
|
document.addEventListener(
|
|
'click',
|
|
function (evento) {
|
|
var elemento = evento.target;
|
|
|
|
while (
|
|
elemento &&
|
|
elemento !== document
|
|
) {
|
|
if (elemento.id === 'BtnCerrarSesion') {
|
|
limpiarMenuActual();
|
|
return;
|
|
}
|
|
|
|
elemento = elemento.parentNode;
|
|
}
|
|
},
|
|
false
|
|
);
|
|
|
|
})(window, document); |