Commit 98749831 authored by Kushal Pandya's avatar Kushal Pandya

Merge branch '9-3-stable-rc5-autocomplete' into '9-3-stable-rc5'

Resolve '33594-disable-autocomplete-on-snippet-comments' conflicts

See merge request !12284
parents 024c0f77 59069c45
...@@ -80,7 +80,18 @@ import initSettingsPanels from './settings_panels'; ...@@ -80,7 +80,18 @@ import initSettingsPanels from './settings_panels';
path = page.split(':'); path = page.split(':');
shortcut_handler = null; 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() { function initBlob() {
new LineHighlighter(); new LineHighlighter();
......
- @gfm_form = true - @gfm_form = true
- current_text ||= nil - current_text ||= nil
- supports_autocomplete = local_assigns.fetch(:supports_autocomplete, true)
- supports_slash_commands = local_assigns.fetch(:supports_slash_commands, false) - supports_slash_commands = local_assigns.fetch(:supports_slash_commands, false)
.zen-backdrop .zen-backdrop
- classes << ' js-gfm-input js-autosize markdown-area' - classes << ' js-gfm-input js-autosize markdown-area'
- if defined?(f) && f - if defined?(f) && f
= f.text_area attr, class: classes, placeholder: placeholder, data: { supports_slash_commands: supports_slash_commands } = f.text_area attr,
class: classes,
placeholder: placeholder,
data: { supports_slash_commands: supports_slash_commands,
supports_autocomplete: supports_autocomplete }
- else - else
= text_area_tag attr, current_text, class: classes, placeholder: placeholder = text_area_tag attr, current_text, class: classes, placeholder: placeholder
%a.zen-control.zen-control-leave.js-zen-leave{ href: "#" } %a.zen-control.zen-control-leave.js-zen-leave{ href: "#" }
......
- supports_autocomplete = local_assigns.fetch(:supports_autocomplete, true)
- supports_slash_commands = note_supports_slash_commands?(@note) - supports_slash_commands = note_supports_slash_commands?(@note)
- if supports_slash_commands - if supports_slash_commands
- preview_url = preview_markdown_path(@project, slash_commands_target_type: @note.noteable_type, slash_commands_target_id: @note.noteable_id) - preview_url = preview_markdown_path(@project, slash_commands_target_type: @note.noteable_type, slash_commands_target_id: @note.noteable_id)
...@@ -27,7 +28,8 @@ ...@@ -27,7 +28,8 @@
attr: :note, attr: :note,
classes: 'note-textarea js-note-text', classes: 'note-textarea js-note-text',
placeholder: "Write a comment or drag your files here...", placeholder: "Write a comment or drag your files here...",
supports_slash_commands: supports_slash_commands supports_slash_commands: supports_slash_commands,
supports_autocomplete: supports_autocomplete
= render 'shared/notes/hints', supports_slash_commands: supports_slash_commands = render 'shared/notes/hints', supports_slash_commands: supports_slash_commands
.error-alert .error-alert
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
%a.author_link{ href: user_path(current_user) } %a.author_link{ href: user_path(current_user) }
= image_tag avatar_icon(current_user), alt: current_user.to_reference, class: 'avatar s40' = image_tag avatar_icon(current_user), alt: current_user.to_reference, class: 'avatar s40'
.timeline-content.timeline-content-form .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 - elsif !current_user
.disabled-comment.text-center.prepend-top-default .disabled-comment.text-center.prepend-top-default
Please Please
......
require 'spec_helper' require 'spec_helper'
describe 'Project snippets', feature: true do describe 'Project snippets', :js, feature: true do
context 'when the project has snippets' do context 'when the project has snippets' do
let(:project) { create(:empty_project, :public) } let(:project) { create(:empty_project, :public) }
let!(:snippets) { create_list(:project_snippet, 2, :public, author: project.owner, project: project) } let!(:snippets) { create_list(:project_snippet, 2, :public, author: project.owner, project: project) }
......
...@@ -70,6 +70,22 @@ describe 'Comments on personal snippets', :js, feature: true do ...@@ -70,6 +70,22 @@ describe 'Comments on personal snippets', :js, feature: true do
expect(find('div#notes')).to have_content('This is awesome!') expect(find('div#notes')).to have_content('This is awesome!')
end 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
context 'when editing a note' do context 'when editing a note' do
......
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