Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-11-02 00:06:43 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2019-11-02 00:06:43 +0300
commit9c4066878fe309781bbadd20f87c223c12dc60f6 (patch)
treeb5a5adefc861696c4ebb75d937fe70b9241d5bdc /app/assets/javascripts/create_cluster
parent77a73903aa803869d0ab7fe544cc2d8b1a6aa1e0 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/create_cluster')
-rw-r--r--app/assets/javascripts/create_cluster/gke_cluster_namespace/index.js37
-rw-r--r--app/assets/javascripts/create_cluster/init_create_cluster.js37
2 files changed, 74 insertions, 0 deletions
diff --git a/app/assets/javascripts/create_cluster/gke_cluster_namespace/index.js b/app/assets/javascripts/create_cluster/gke_cluster_namespace/index.js
new file mode 100644
index 00000000000..0ec4d8807b0
--- /dev/null
+++ b/app/assets/javascripts/create_cluster/gke_cluster_namespace/index.js
@@ -0,0 +1,37 @@
+/**
+ * Disables & hides the namespace inputs when the gitlab-managed checkbox is checked/unchecked.
+ */
+
+const setDisabled = (el, isDisabled) => {
+ if (isDisabled) {
+ el.classList.add('hidden');
+ el.querySelector('input').setAttribute('disabled', true);
+ } else {
+ el.classList.remove('hidden');
+ el.querySelector('input').removeAttribute('disabled');
+ }
+};
+
+const setState = glManagedCheckbox => {
+ const glManaged = document.querySelector('.js-namespace-prefixed');
+ const selfManaged = document.querySelector('.js-namespace');
+
+ if (glManagedCheckbox.checked) {
+ setDisabled(glManaged, false);
+ setDisabled(selfManaged, true);
+ } else {
+ setDisabled(glManaged, true);
+ setDisabled(selfManaged, false);
+ }
+};
+
+const initGkeNamespace = () => {
+ const glManagedCheckbox = document.querySelector('.js-gl-managed');
+
+ if (glManagedCheckbox) {
+ setState(glManagedCheckbox); // this is needed in order to set the initial state
+ glManagedCheckbox.addEventListener('change', () => setState(glManagedCheckbox));
+ }
+};
+
+export default initGkeNamespace;
diff --git a/app/assets/javascripts/create_cluster/init_create_cluster.js b/app/assets/javascripts/create_cluster/init_create_cluster.js
new file mode 100644
index 00000000000..7c984582fd8
--- /dev/null
+++ b/app/assets/javascripts/create_cluster/init_create_cluster.js
@@ -0,0 +1,37 @@
+import initGkeDropdowns from './gke_cluster';
+import initGkeNamespace from './gke_cluster_namespace';
+import PersistentUserCallout from '~/persistent_user_callout';
+
+const newClusterViews = [':clusters:new', ':clusters:create_gcp', ':clusters:create_user'];
+
+const isProjectLevelCluster = page => page.startsWith('project:clusters');
+
+export default (document, gon) => {
+ const { page } = document.body.dataset;
+ const isNewClusterView = newClusterViews.some(view => page.endsWith(view));
+
+ if (!isNewClusterView) {
+ return;
+ }
+
+ const callout = document.querySelector('.gcp-signup-offer');
+ PersistentUserCallout.factory(callout);
+
+ initGkeDropdowns();
+
+ if (gon.features.createEksClusters) {
+ import(/* webpackChunkName: 'eks_cluster' */ '~/create_cluster/eks_cluster')
+ .then(({ default: initCreateEKSCluster }) => {
+ const el = document.querySelector('.js-create-eks-cluster-form-container');
+
+ if (el) {
+ initCreateEKSCluster(el);
+ }
+ })
+ .catch(() => {});
+ }
+
+ if (isProjectLevelCluster(page)) {
+ initGkeNamespace();
+ }
+};