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 {
}
/**
*
* @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");
function toggleElementVisibility(element, ensureHidden = false) {
element.classList.toggle("compel-mech-hidden");
let isNowHidden = false;
if (el.hasAttribute("hidden")) {
el.removeAttribute("hidden");
el.style["display"] = "flex";
if (element.hasAttribute("hidden")) {
element.removeAttribute("hidden");
element.style["display"] = "flex";
isNowHidden = false;
} else {
el.setAttribute("hidden", "hidden");
el.style.removeProperty("display");
element.setAttribute("hidden", "hidden");
element.style.removeProperty("display");
isNowHidden = true;
}
if (ensureHidden && !isNowHidden) {
return toggleElementVisibility(autocompelSelector)
return toggleSelectorElementVisibility(selector)
} else {
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