diff options
author | Phil Hughes <me@iamphill.com> | 2016-09-05 16:38:19 +0100 |
---|---|---|
committer | Phil Hughes <me@iamphill.com> | 2016-09-16 10:49:55 +0100 |
commit | a5035ed3108e4c335382c44b24470e4a564270e4 (patch) | |
tree | c98a35569219fe3c21ed13e8542c4fcd929d2906 | |
parent | 3531032e162ae78bbf21299d14d8b7cc452625f0 (diff) | |
download | gitlab-ce-a5035ed3108e4c335382c44b24470e4a564270e4.tar.gz |
Correctly loads gfm autocomplete source on pages where it is required
-rw-r--r-- | CHANGELOG | 2 | ||||
-rw-r--r-- | app/views/layouts/_init_auto_complete.html.haml | 4 | ||||
-rw-r--r-- | app/views/layouts/application.html.haml | 1 | ||||
-rw-r--r-- | app/views/layouts/project.html.haml | 3 | ||||
-rw-r--r-- | app/views/projects/_zen.html.haml | 1 | ||||
-rw-r--r-- | spec/features/projects/gfm_autocomplete_load_spec.rb | 23 |
6 files changed, 27 insertions, 7 deletions
diff --git a/CHANGELOG b/CHANGELOG index 7f144628d61..96509f8b2d7 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -57,6 +57,8 @@ v 8.12.0 (unreleased) - Optimistic locking for Issues and Merge Requests (title and description overriding prevention) - Add `wiki_page_events` to project hook APIs (Ben Boeckel) - Remove Gitorious import + - Loads GFM autocomplete source only when required + - Fix issue with slash commands not loading on new issue page - Fix inconsistent background color for filter input field (ClemMakesApps) - Remove prefixes from transition CSS property (ClemMakesApps) - Add Sentry logging to API calls diff --git a/app/views/layouts/_init_auto_complete.html.haml b/app/views/layouts/_init_auto_complete.html.haml index 62c93eb06ed..67ff4b272b9 100644 --- a/app/views/layouts/_init_auto_complete.html.haml +++ b/app/views/layouts/_init_auto_complete.html.haml @@ -1,10 +1,6 @@ - project = @target_project || @project - noteable_type = @noteable.class if @noteable.present? -- if noteable_type - :javascript - GitLab.GfmAutoComplete.dataLoading = false; - :javascript GitLab.GfmAutoComplete.dataSource = "#{autocomplete_sources_namespace_project_path(project.namespace, project, type: noteable_type, type_id: params[:id])}" GitLab.GfmAutoComplete.cachedData = undefined; diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index 15a94ac23c5..748c94c7825 100644 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -10,4 +10,5 @@ = render "layouts/header/default", title: header_title = render 'layouts/page', sidebar: sidebar, nav: nav + = render "layouts/init_auto_complete" if current_user && @load_gfm = yield :scripts_body diff --git a/app/views/layouts/project.html.haml b/app/views/layouts/project.html.haml index 9fe94291db7..277eb71ea73 100644 --- a/app/views/layouts/project.html.haml +++ b/app/views/layouts/project.html.haml @@ -14,9 +14,6 @@ window.project_uploads_path = "#{namespace_project_uploads_path project.namespace,project}"; window.preview_markdown_path = "#{preview_markdown_path}"; -- content_for :scripts_body do - = render "layouts/init_auto_complete" if current_user - - content_for :header_content do .js-dropdown-menu-projects .dropdown-menu.dropdown-select.dropdown-menu-projects diff --git a/app/views/projects/_zen.html.haml b/app/views/projects/_zen.html.haml index 3978fa60d66..fd92cbf9070 100644 --- a/app/views/projects/_zen.html.haml +++ b/app/views/projects/_zen.html.haml @@ -1,3 +1,4 @@ +- @load_gfm = true - supports_slash_commands = local_assigns.fetch(:supports_slash_commands, false) .zen-backdrop - classes << ' js-gfm-input js-autosize markdown-area' diff --git a/spec/features/projects/gfm_autocomplete_load_spec.rb b/spec/features/projects/gfm_autocomplete_load_spec.rb new file mode 100644 index 00000000000..18cf2f9d1fb --- /dev/null +++ b/spec/features/projects/gfm_autocomplete_load_spec.rb @@ -0,0 +1,23 @@ +require 'spec_helper' + +describe 'GFM autocomplete loading', feature: true, js: true do + let(:user) { create(:user) } + let(:project) { create(:project) } + + before do + project.team << [user, :master] + login_as user + + visit namespace_project_path(project.namespace, project) + end + + it 'does not load on project#show' do + expect(evaluate_script('GitLab.GfmAutoComplete.dataSource')).to eq('') + end + + it 'loads on new issue page' do + visit new_namespace_project_issue_path(project.namespace, project) + + expect(evaluate_script('GitLab.GfmAutoComplete.dataSource')).not_to eq('') + end +end |