summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/pages/projects/new/index.js
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-06-18 11:18:50 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-06-18 11:18:50 +0000
commit8c7f4e9d5f36cff46365a7f8c4b9c21578c1e781 (patch)
treea77e7fe7a93de11213032ed4ab1f33a3db51b738 /app/assets/javascripts/pages/projects/new/index.js
parent00b35af3db1abfe813a778f643dad221aad51fca (diff)
downloadgitlab-ce-8c7f4e9d5f36cff46365a7f8c4b9c21578c1e781.tar.gz
Add latest changes from gitlab-org/gitlab@13-1-stable-ee
Diffstat (limited to 'app/assets/javascripts/pages/projects/new/index.js')
-rw-r--r--app/assets/javascripts/pages/projects/new/index.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/app/assets/javascripts/pages/projects/new/index.js b/app/assets/javascripts/pages/projects/new/index.js
index 097403ba9e2..e17059dd55a 100644
--- a/app/assets/javascripts/pages/projects/new/index.js
+++ b/app/assets/javascripts/pages/projects/new/index.js
@@ -1,7 +1,46 @@
import initProjectVisibilitySelector from '../../../project_visibility';
import initProjectNew from '../../../projects/project_new';
+import { __ } from '~/locale';
+import createFlash from '~/flash';
+import Tracking from '~/tracking';
document.addEventListener('DOMContentLoaded', () => {
initProjectVisibilitySelector();
initProjectNew.bindEvents();
+
+ const { category, property } = gon.tracking_data ?? { category: 'projects:new' };
+ const hasNewCreateProjectUi = 'newCreateProjectUi' in gon?.features;
+
+ if (!hasNewCreateProjectUi) {
+ // Setting additional tracking for HAML template
+
+ Array.from(
+ document.querySelectorAll('.project-edit-container [data-experiment-track-label]'),
+ ).forEach(node =>
+ node.addEventListener('click', event => {
+ const { experimentTrackLabel: label } = event.currentTarget.dataset;
+ Tracking.event(category, 'click_tab', { property, label });
+ }),
+ );
+ } else {
+ import(
+ /* webpackChunkName: 'experiment_new_project_creation' */ '../../../projects/experiment_new_project_creation'
+ )
+ .then(m => {
+ const el = document.querySelector('.js-experiment-new-project-creation');
+
+ if (!el) {
+ return;
+ }
+
+ const config = {
+ hasErrors: 'hasErrors' in el.dataset,
+ isCiCdAvailable: 'isCiCdAvailable' in el.dataset,
+ };
+ m.default(el, config);
+ })
+ .catch(() => {
+ createFlash(__('An error occurred while loading project creation UI'));
+ });
+ }
});