Disable autocomplete on snippets comments
Fix https://gitlab.com/gitlab-org/gitlab-ce/issues/33594 Was supposedly fixed in MR for https://gitlab.com/gitlab-org/gitlab-ce/issues/32086 but seeing this pop up again
This commit is contained in:
parent
dbfafd442e
commit
e51078ecfc
|
@ -79,7 +79,18 @@ import initSettingsPanels from './settings_panels';
|
|||
path = page.split(':');
|
||||
shortcut_handler = null;
|
||||
|
||||
new GfmAutoComplete(gl.GfmAutoComplete && gl.GfmAutoComplete.dataSources).setup();
|
||||
$('.js-gfm-input').each((i, el) => {
|
||||
const gfm = new GfmAutoComplete(gl.GfmAutoComplete && gl.GfmAutoComplete.dataSources);
|
||||
const enableGFM = gl.utils.convertPermissionToBoolean(el.dataset.supportsAutocomplete);
|
||||
gfm.setup($(el), {
|
||||
emojis: true,
|
||||
members: enableGFM,
|
||||
issues: enableGFM,
|
||||
milestones: enableGFM,
|
||||
mergeRequests: enableGFM,
|
||||
labels: enableGFM,
|
||||
});
|
||||
});
|
||||
|
||||
function initBlob() {
|
||||
new LineHighlighter();
|
||||
|
|
|
@ -1,10 +1,15 @@
|
|||
- @gfm_form = true
|
||||
- current_text ||= nil
|
||||
- supports_autocomplete = local_assigns.fetch(:supports_autocomplete, true)
|
||||
- supports_quick_actions = local_assigns.fetch(:supports_quick_actions, false)
|
||||
.zen-backdrop
|
||||
- classes << ' js-gfm-input js-autosize markdown-area'
|
||||
- if defined?(f) && f
|
||||
= f.text_area attr, class: classes, placeholder: placeholder, data: { supports_quick_actions: supports_quick_actions }
|
||||
= f.text_area attr,
|
||||
class: classes,
|
||||
placeholder: placeholder,
|
||||
data: { supports_quick_actions: supports_quick_actions,
|
||||
supports_autocomplete: supports_autocomplete }
|
||||
- else
|
||||
= text_area_tag attr, current_text, class: classes, placeholder: placeholder
|
||||
%a.zen-control.zen-control-leave.js-zen-leave{ href: "#" }
|
||||
|
|
|
@ -9,4 +9,4 @@
|
|||
.row-content-block.top-block.content-component-block
|
||||
= render 'award_emoji/awards_block', awardable: @snippet, inline: true
|
||||
|
||||
#notes= render "shared/notes/notes_with_form", :autocomplete => true
|
||||
#notes= render "shared/notes/notes_with_form", :autocomplete => false
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
- supports_autocomplete = local_assigns.fetch(:supports_autocomplete, true)
|
||||
- supports_quick_actions = note_supports_quick_actions?(@note)
|
||||
- if supports_quick_actions
|
||||
- preview_url = preview_markdown_path(@project, quick_actions_target_type: @note.noteable_type, quick_actions_target_id: @note.noteable_id)
|
||||
|
@ -27,7 +28,8 @@
|
|||
attr: :note,
|
||||
classes: 'note-textarea js-note-text',
|
||||
placeholder: "Write a comment or drag your files here...",
|
||||
supports_quick_actions: supports_quick_actions
|
||||
supports_quick_actions: supports_quick_actions,
|
||||
supports_autocomplete: supports_autocomplete
|
||||
= render 'shared/notes/hints', supports_quick_actions: supports_quick_actions
|
||||
.error-alert
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
%a.author_link{ href: user_path(current_user) }
|
||||
= image_tag avatar_icon(current_user), alt: current_user.to_reference, class: 'avatar s40'
|
||||
.timeline-content.timeline-content-form
|
||||
= render "shared/notes/form", view: diff_view
|
||||
= render "shared/notes/form", view: diff_view, supports_autocomplete: autocomplete
|
||||
- elsif !current_user
|
||||
.disabled-comment.text-center.prepend-top-default
|
||||
Please
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'Project snippets', feature: true do
|
||||
describe 'Project snippets', :js, feature: true do
|
||||
context 'when the project has snippets' do
|
||||
let(:project) { create(:empty_project, :public) }
|
||||
let!(:snippets) { create_list(:project_snippet, 2, :public, author: project.owner, project: project) }
|
||||
|
@ -26,5 +26,28 @@ describe 'Project snippets', feature: true do
|
|||
expect(page).to have_content(snippets[1].title)
|
||||
end
|
||||
end
|
||||
|
||||
context 'when submitting a note' do
|
||||
before do
|
||||
login_as :admin
|
||||
visit namespace_project_snippet_path(project.namespace, project, snippets[0])
|
||||
end
|
||||
|
||||
it 'should not have autocomplete' do
|
||||
wait_for_requests
|
||||
request_count_before = page.driver.network_traffic.count
|
||||
|
||||
find('#note_note').native.send_keys('')
|
||||
fill_in 'note[note]', with: '@'
|
||||
|
||||
wait_for_requests
|
||||
request_count_after = page.driver.network_traffic.count
|
||||
|
||||
# This selector probably won't be in place even if autocomplete was enabled
|
||||
# but we want to make sure
|
||||
expect(page).not_to have_selector('.atwho-view')
|
||||
expect(request_count_before).to eq(request_count_after)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -70,6 +70,22 @@ describe 'Comments on personal snippets', :js, feature: true do
|
|||
|
||||
expect(find('div#notes')).to have_content('This is awesome!')
|
||||
end
|
||||
|
||||
it 'should not have autocomplete' do
|
||||
wait_for_requests
|
||||
request_count_before = page.driver.network_traffic.count
|
||||
|
||||
find('#note_note').native.send_keys('')
|
||||
fill_in 'note[note]', with: '@'
|
||||
|
||||
wait_for_requests
|
||||
request_count_after = page.driver.network_traffic.count
|
||||
|
||||
# This selector probably won't be in place even if autocomplete was enabled
|
||||
# but we want to make sure
|
||||
expect(page).not_to have_selector('.atwho-view')
|
||||
expect(request_count_before).to eq(request_count_after)
|
||||
end
|
||||
end
|
||||
|
||||
context 'when editing a note' do
|
||||
|
|
Loading…
Reference in New Issue