summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/pages/projects/shared/permissions/external.js
blob: 460af4a211132aeabecdfb3894f88fb782fb07f7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const selectorCache = [];

// workaround since we don't have a polyfill for classList.toggle 2nd parameter
export function toggleHiddenClass(element, hidden) {
  if (hidden) {
    element.classList.add('hidden');
  } else {
    element.classList.remove('hidden');
  }
}

// hide external feature-specific settings when a given feature is disabled
export function toggleHiddenClassBySelector(selector, hidden) {
  if (!selectorCache[selector]) {
    selectorCache[selector] = document.querySelectorAll(selector);
  }
  selectorCache[selector].forEach(elm => toggleHiddenClass(elm, hidden));
}