Commit 033a3c98 authored by Dennis Tang's avatar Dennis Tang

Finalize new create project UI experiment

The new/B variant of the experiment will be used
parent a4bbb806
...@@ -2,46 +2,28 @@ import initProjectVisibilitySelector from '../../../project_visibility'; ...@@ -2,46 +2,28 @@ import initProjectVisibilitySelector from '../../../project_visibility';
import initProjectNew from '../../../projects/project_new'; import initProjectNew from '../../../projects/project_new';
import { __ } from '~/locale'; import { __ } from '~/locale';
import { deprecatedCreateFlash as createFlash } from '~/flash'; import { deprecatedCreateFlash as createFlash } from '~/flash';
import Tracking from '~/tracking';
import { isExperimentEnabled } from '~/lib/utils/experimentation';
document.addEventListener('DOMContentLoaded', () => { document.addEventListener('DOMContentLoaded', () => {
initProjectVisibilitySelector(); initProjectVisibilitySelector();
initProjectNew.bindEvents(); initProjectNew.bindEvents();
const { category, property } = gon.tracking_data ?? { category: 'projects:new' }; import(
const hasNewCreateProjectUi = isExperimentEnabled('newCreateProjectUi'); /* webpackChunkName: 'experiment_new_project_creation' */ '../../../projects/experiment_new_project_creation'
)
.then(m => {
const el = document.querySelector('.js-experiment-new-project-creation');
if (!hasNewCreateProjectUi) { if (!el) {
// Setting additional tracking for HAML template return;
}
Array.from( const config = {
document.querySelectorAll('.project-edit-container [data-experiment-track-label]'), hasErrors: 'hasErrors' in el.dataset,
).forEach(node => isCiCdAvailable: 'isCiCdAvailable' in el.dataset,
node.addEventListener('click', event => { };
const { experimentTrackLabel: label } = event.currentTarget.dataset; m.default(el, config);
Tracking.event(category, 'click_tab', { property, label }); })
}), .catch(() => {
); createFlash(__('An error occurred while loading project creation UI'));
} 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'));
});
}
}); });
...@@ -34,12 +34,6 @@ class ProjectsController < Projects::ApplicationController ...@@ -34,12 +34,6 @@ class ProjectsController < Projects::ApplicationController
# Project Export Rate Limit # Project Export Rate Limit
before_action :export_rate_limit, only: [:export, :download_export, :generate_new_export] before_action :export_rate_limit, only: [:export, :download_export, :generate_new_export]
# Experiments
before_action only: [:new, :create] do
frontend_experimentation_tracking_data(:new_create_project_ui, 'click_tab')
push_frontend_experiment(:new_create_project_ui)
end
before_action only: [:edit] do before_action only: [:edit] do
push_frontend_feature_flag(:service_desk_custom_address, @project) push_frontend_feature_flag(:service_desk_custom_address, @project)
push_frontend_feature_flag(:approval_suggestions, @project, default_enabled: true) push_frontend_feature_flag(:approval_suggestions, @project, default_enabled: true)
......
...@@ -8,10 +8,9 @@ ...@@ -8,10 +8,9 @@
.project-edit-errors .project-edit-errors
= render 'projects/errors' = render 'projects/errors'
- if experiment_enabled?(:new_create_project_ui) .js-experiment-new-project-creation{ data: { is_ci_cd_available: ci_cd_projects_available?, has_errors: @project.errors.any? } }
.js-experiment-new-project-creation{ data: { is_ci_cd_available: ci_cd_projects_available?, has_errors: @project.errors.any? } }
.row{ 'v-cloak': experiment_enabled?(:new_create_project_ui) } .row{ 'v-cloak': true }
.col-lg-3.profile-settings-sidebar .col-lg-3.profile-settings-sidebar
%h4.gl-mt-0 %h4.gl-mt-0
= _('New project') = _('New project')
......
---
title: Finalize new create project UI experiment
merge_request: 47804
author:
type: changed
...@@ -55,10 +55,6 @@ module Gitlab ...@@ -55,10 +55,6 @@ module Gitlab
tracking_category: 'Growth::Expansion::Experiment::InviteMembersEmptyGroupVersionA', tracking_category: 'Growth::Expansion::Experiment::InviteMembersEmptyGroupVersionA',
use_backwards_compatible_subject_index: true use_backwards_compatible_subject_index: true
}, },
new_create_project_ui: {
tracking_category: 'Manage::Import::Experiment::NewCreateProjectUi',
use_backwards_compatible_subject_index: true
},
contact_sales_btn_in_app: { contact_sales_btn_in_app: {
tracking_category: 'Growth::Conversion::Experiment::ContactSalesInApp', tracking_category: 'Growth::Conversion::Experiment::ContactSalesInApp',
use_backwards_compatible_subject_index: true use_backwards_compatible_subject_index: true
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment