@@ -0,0 +1,40 @@
|
||||
/**
|
||||
* Видимость Lab-элементов на zootech-страницах (components и др.).
|
||||
*/
|
||||
(function (global) {
|
||||
const HIDDEN_CLASS = "wesp-lab-access-hidden";
|
||||
|
||||
function ensureStyle() {
|
||||
if (document.getElementById("wespLabAccessStyle")) return;
|
||||
const style = document.createElement("style");
|
||||
style.id = "wespLabAccessStyle";
|
||||
style.textContent = `.${HIDDEN_CLASS}{display:none !important;}`;
|
||||
document.head.appendChild(style);
|
||||
}
|
||||
|
||||
function setHidden(el, hidden) {
|
||||
if (!el) return;
|
||||
el.classList.toggle(HIDDEN_CLASS, hidden);
|
||||
if (hidden) {
|
||||
el.setAttribute("aria-hidden", "true");
|
||||
} else {
|
||||
el.removeAttribute("aria-hidden");
|
||||
}
|
||||
}
|
||||
|
||||
function apply(canLab) {
|
||||
ensureStyle();
|
||||
global.WESP_CAN_LAB = Boolean(canLab);
|
||||
document.documentElement.classList.toggle("wesp-no-lab", !canLab);
|
||||
|
||||
document.querySelectorAll("[data-wesp-lab-gated]").forEach((el) => {
|
||||
setHidden(el, !canLab);
|
||||
});
|
||||
|
||||
if (canLab) {
|
||||
global.WespLabComponentsNutrients?.init?.();
|
||||
}
|
||||
}
|
||||
|
||||
global.WespLabAccess = { apply };
|
||||
})(window);
|
||||
Reference in New Issue
Block a user