summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/pages/projects/shared/permissions/external.js
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2018-01-11 12:38:30 +0000
committerPhil Hughes <me@iamphill.com>2018-01-16 16:45:33 +0000
commitb69d7ac3c9de7b0ba3e60ede70f1de630a53dfe6 (patch)
treed6169abee8bc535276d3118665b9d15ab649dc43 /app/assets/javascripts/pages/projects/shared/permissions/external.js
parentf084525fe4cceee1c6c3d86d5bd3150fa6334e42 (diff)
downloadgitlab-ce-b69d7ac3c9de7b0ba3e60ede70f1de630a53dfe6.tar.gz
Added dispatcher imports for some project routes
Diffstat (limited to 'app/assets/javascripts/pages/projects/shared/permissions/external.js')
-rw-r--r--app/assets/javascripts/pages/projects/shared/permissions/external.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/app/assets/javascripts/pages/projects/shared/permissions/external.js b/app/assets/javascripts/pages/projects/shared/permissions/external.js
new file mode 100644
index 00000000000..460af4a2111
--- /dev/null
+++ b/app/assets/javascripts/pages/projects/shared/permissions/external.js
@@ -0,0 +1,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));
+}