Files
Jorge Luis caudillo esparza 6685ef63fb Initial commit
2026-07-14 11:15:57 -07:00

109 lines
3.2 KiB
JavaScript

(function (window, document) {
"use strict";
function byId(id) {
return document.getElementById(id);
}
function open(drawerId) {
var drawer = byId(drawerId);
var backdrop = byId(drawerId + "_backdrop");
if (!drawer) { return; }
drawer.classList.add("is-open");
drawer.setAttribute("aria-hidden", "false");
if (backdrop) { backdrop.classList.add("is-open"); }
document.body.classList.add("sig-pdf-drawer-open");
}
function close(drawerId) {
var drawer = byId(drawerId);
var backdrop = byId(drawerId + "_backdrop");
if (!drawer) { return; }
drawer.classList.remove("is-open");
drawer.setAttribute("aria-hidden", "true");
if (backdrop) { backdrop.classList.remove("is-open"); }
document.body.classList.remove("sig-pdf-drawer-open");
}
document.addEventListener("click", function (event) {
var target = event.target;
while (target && target !== document) {
if (target.getAttribute && target.getAttribute("data-sig-pdf-drawer-close")) {
close(target.getAttribute("data-sig-pdf-drawer-close"));
return;
}
target = target.parentNode;
}
});
document.addEventListener("keydown", function (event) {
if (event.keyCode !== 27) { return; }
var drawer = document.querySelector(".sig-pdf-drawer.is-open");
if (drawer) { close(drawer.id); }
});
var drawersOpenBeforeRequest = [];
function captureOpenDrawers() {
drawersOpenBeforeRequest = [];
var drawers = document.querySelectorAll(
".sig-pdf-drawer.is-open"
);
for (var index = 0; index < drawers.length; index += 1) {
if (drawers[index].id) {
drawersOpenBeforeRequest.push(drawers[index].id);
}
}
}
function restoreOpenDrawers() {
for (var index = 0; index < drawersOpenBeforeRequest.length; index += 1) {
open(drawersOpenBeforeRequest[index]);
}
drawersOpenBeforeRequest = [];
}
function bindPartialPostbackPersistence() {
if (!window.Sys ||
!window.Sys.WebForms ||
!window.Sys.WebForms.PageRequestManager) {
return;
}
var manager =
window.Sys.WebForms.PageRequestManager.getInstance();
if (!manager || manager.__sigPdfDrawerBound) {
return;
}
manager.__sigPdfDrawerBound = true;
manager.add_beginRequest(captureOpenDrawers);
manager.add_endRequest(restoreOpenDrawers);
}
window.SIGPdfDrawer = {
open: open,
close: close
};
if (window.Sys &&
window.Sys.Application &&
typeof window.Sys.Application.add_load === "function") {
window.Sys.Application.add_load(
bindPartialPostbackPersistence
);
} else if (document.readyState === "loading") {
document.addEventListener(
"DOMContentLoaded",
bindPartialPostbackPersistence
);
} else {
bindPartialPostbackPersistence();
}
}(window, document));