Initial commit
This commit is contained in:
96
SIG.Web/Scripts/sig-layout-cache.js
Normal file
96
SIG.Web/Scripts/sig-layout-cache.js
Normal file
@@ -0,0 +1,96 @@
|
||||
(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);
|
||||
Reference in New Issue
Block a user