Commit 523e29c9 authored by Dylan Griffith's avatar Dylan Griffith

Merge branch '353069-remove-web-ide-primary-edit' into 'master'

Remove web ide primary edit legacy code

See merge request gitlab-org/gitlab!80956
parents cfde5875 b56c4067
......@@ -377,10 +377,6 @@ span.idiff {
color: $gl-text-color;
}
.file-actions .ide-edit-button {
z-index: 2;
}
@include media-breakpoint-down(md) {
.file-actions {
margin-top: $gl-padding-8;
......
......@@ -65,40 +65,13 @@ module BlobHelper
return unless blob = readable_blob(options, path, project, ref)
common_classes = "btn gl-button btn-confirm js-edit-blob gl-ml-3 #{options[:extra_class]}"
data = { track_action: 'click_edit', track_label: 'edit' }
if Feature.enabled?(:web_ide_primary_edit, project.group)
common_classes += " btn-inverted"
data[:track_property] = 'secondary'
end
edit_button_tag(blob,
common_classes,
_('Edit'),
edit_blob_path(project, ref, path, options),
project,
ref,
data)
end
def ide_edit_button(project = @project, ref = @ref, path = @path, blob:)
return unless blob
common_classes = 'btn gl-button btn-confirm ide-edit-button gl-ml-3'
data = { track_action: 'click_edit_ide', track_label: 'web_ide' }
unless Feature.enabled?(:web_ide_primary_edit, project.group)
common_classes += " btn-inverted"
data[:track_property] = 'secondary'
end
edit_button_tag(blob,
common_classes,
_('Web IDE'),
ide_edit_path(project, ref, path),
project,
ref,
data)
ref)
end
def modify_file_button(project = @project, ref = @ref, path = @path, blob:, label:, action:, btn_class:, modal_type:)
......@@ -363,16 +336,16 @@ module BlobHelper
content_tag(:span, button, class: 'has-tooltip', title: _('You can only edit files when you are on a branch'), data: { container: 'body' })
end
def edit_link_tag(link_text, edit_path, common_classes, data)
link_to link_text, edit_path, class: "#{common_classes}", data: data
def edit_link_tag(link_text, edit_path, common_classes)
link_to link_text, edit_path, class: "#{common_classes}"
end
def edit_button_tag(blob, common_classes, text, edit_path, project, ref, data)
def edit_button_tag(blob, common_classes, text, edit_path, project, ref)
if !on_top_of_branch?(project, ref)
edit_disabled_button_tag(text, common_classes)
# This condition only applies to users who are logged in
elsif !current_user || (current_user && can_modify_blob?(blob, project, ref))
edit_link_tag(text, edit_path, common_classes, data)
edit_link_tag(text, edit_path, common_classes)
elsif can?(current_user, :fork_project, project) && can?(current_user, :create_merge_request_in, project)
edit_fork_button_tag(common_classes, project, text, edit_blob_fork_params(edit_path))
end
......
---
name: web_ide_primary_edit
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35957
rollout_issue_url:
milestone: '13.3'
type: development
group: group::editor
default_enabled: false
......@@ -54,42 +54,6 @@ RSpec.describe BlobHelper do
expect(Capybara.string(link_with_mr).find_link('Edit')[:href]).to eq("/#{project.full_path}/-/edit/master/README.md?mr_id=10")
end
context 'when edit is the primary button' do
before do
stub_feature_flags(web_ide_primary_edit: false)
end
it 'is rendered as primary' do
expect(link).not_to match(/btn-inverted/)
end
it 'passes on primary tracking attributes' do
parsed_link = Capybara.string(link).find_link('Edit')
expect(parsed_link[:'data-track-action']).to eq("click_edit")
expect(parsed_link[:'data-track-label']).to eq("edit")
expect(parsed_link[:'data-track-property']).to eq(nil)
end
end
context 'when Web IDE is the primary button' do
before do
stub_feature_flags(web_ide_primary_edit: true)
end
it 'is rendered as inverted' do
expect(link).to match(/btn-inverted/)
end
it 'passes on secondary tracking attributes' do
parsed_link = Capybara.string(link).find_link('Edit')
expect(parsed_link[:'data-track-action']).to eq("click_edit")
expect(parsed_link[:'data-track-label']).to eq("edit")
expect(parsed_link[:'data-track-property']).to eq("secondary")
end
end
end
describe "#relative_raw_path" do
......@@ -324,63 +288,6 @@ RSpec.describe BlobHelper do
end
end
describe `#ide_edit_button` do
let_it_be(:namespace) { create(:namespace, name: 'gitlab') }
let_it_be(:project) { create(:project, :repository, namespace: namespace) }
let_it_be(:current_user) { create(:user) }
let(:can_push_code) { true }
let(:blob) { project.repository.blob_at('refs/heads/master', 'README.md') }
subject(:link) { helper.ide_edit_button(project, 'master', 'README.md', blob: blob) }
before do
allow(helper).to receive(:current_user).and_return(current_user)
allow(helper).to receive(:can?).with(current_user, :push_code, project).and_return(can_push_code)
allow(helper).to receive(:can_collaborate_with_project?).and_return(true)
end
it 'returns a link with a Web IDE route' do
expect(Capybara.string(link).find_link('Web IDE')[:href]).to eq("/-/ide/project/#{project.full_path}/edit/master/-/README.md")
end
context 'when edit is the primary button' do
before do
stub_feature_flags(web_ide_primary_edit: false)
end
it 'is rendered as inverted' do
expect(link).to match(/btn-inverted/)
end
it 'passes on secondary tracking attributes' do
parsed_link = Capybara.string(link).find_link('Web IDE')
expect(parsed_link[:'data-track-action']).to eq("click_edit_ide")
expect(parsed_link[:'data-track-label']).to eq("web_ide")
expect(parsed_link[:'data-track-property']).to eq("secondary")
end
end
context 'when Web IDE is the primary button' do
before do
stub_feature_flags(web_ide_primary_edit: true)
end
it 'is rendered as primary' do
expect(link).not_to match(/btn-inverted/)
end
it 'passes on primary tracking attributes' do
parsed_link = Capybara.string(link).find_link('Web IDE')
expect(parsed_link[:'data-track-action']).to eq("click_edit_ide")
expect(parsed_link[:'data-track-label']).to eq("web_ide")
expect(parsed_link[:'data-track-property']).to eq(nil)
end
end
end
describe '#ide_edit_path' do
let(:project) { create(:project) }
let(:current_user) { create(:user) }
......
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