Browse Source

REFA: provided an HTMLElement ToggleVisibility

master
chris 2 months ago
parent
commit
f41e7f1384
  1. 49
      src/context/generalHelpers.js

49
src/context/generalHelpers.js

@ -79,40 +79,41 @@ class ObjectAccessObject {
} }
function toggleElementVisibility(element, ensureHidden = false) {
/** element.classList.toggle("compel-mech-hidden");
*
* @param {string} autocompelSelector
* @returns {boolean} for true element is now hidden and false it is not hidden.
*/
function toggleElementVisibility(autocompelSelector, ensureHidden = false) {
/**
* @type {HTMLElement}
*/
let el = document.querySelector(autocompelSelector);
let name = el.getAttribute("data-autocompel");
console.log("De-/hiding", name, autocompelSelector);
console.log(el);
el.classList.toggle("compel-mech-hidden");
let isNowHidden = false; let isNowHidden = false;
if (el.hasAttribute("hidden")) { if (element.hasAttribute("hidden")) {
el.removeAttribute("hidden"); element.removeAttribute("hidden");
el.style["display"] = "flex"; element.style["display"] = "flex";
isNowHidden = false; isNowHidden = false;
} else { } else {
el.setAttribute("hidden", "hidden"); element.setAttribute("hidden", "hidden");
el.style.removeProperty("display"); element.style.removeProperty("display");
isNowHidden = true; isNowHidden = true;
} }
if (ensureHidden && !isNowHidden) { if (ensureHidden && !isNowHidden) {
return toggleElementVisibility(autocompelSelector) return toggleSelectorElementVisibility(selector)
} else { } else {
return isNowHidden; return isNowHidden;
} }
} }
/**
*
* @param {string} selector
* @returns {boolean} for true element is now hidden and false it is not hidden.
*/
function toggleSelectorElementVisibility(selector, ensureHidden = false) {
/**
* @type {HTMLElement}
*/
let el = document.querySelector(selector);
let name = el.getAttribute("data-autocompel");
console.log("De-/hiding", name, selector);
return toggleElementVisibility(el, ensureHidden);
}

Loading…
Cancel
Save