From 7b2f1881e028fdfe491c84382698d469dce83679 Mon Sep 17 00:00:00 2001 From: Arinde Eniola Date: Thu, 21 Apr 2016 22:05:47 +0100 Subject: [PATCH 01/18] enable category search query in header search --- .../category_search_dropdown.js.coffee | 28 +++++++++++++++++++ app/views/layouts/_search.html.haml | 15 ++++++++++ 2 files changed, 43 insertions(+) create mode 100644 app/assets/javascripts/category_search_dropdown.js.coffee diff --git a/app/assets/javascripts/category_search_dropdown.js.coffee b/app/assets/javascripts/category_search_dropdown.js.coffee new file mode 100644 index 000000000000..56052f6f8844 --- /dev/null +++ b/app/assets/javascripts/category_search_dropdown.js.coffee @@ -0,0 +1,28 @@ +@categorySearchDropdown = + init: -> + $categorySearchDropdown = $('.category-search-dropdown') + $searchInput = $('#search') + $dropDown = $categorySearchDropdown.closest('.dropdown') + $categorySearchParent = $categorySearchDropdown.parent() + + $categorySearchDropdown.on 'click', 'li', (e) -> e.stopPropagation() + + $searchInput.on 'focusin click', (e) -> + e.stopPropagation() + if $(event.currentTarget).has('#search') and not $dropDown.hasClass('has-value') + $categorySearchParent.removeClass('hidden') + $categorySearchParent.siblings('.dropdown-select').addClass('hidden') + $dropDown.addClass('open') + + $searchInput.on 'keypress', (e) -> + e.stopPropagation() + if $(event.currentTarget).has('#search') + $categorySearchParent.addClass('hidden') + $categorySearchParent.siblings('.dropdown-select').removeClass('hidden') + + $searchInput.on 'focusout', (e) -> + e.stopPropagation() + $categorySearchParent.addClass('hidden') + +$ -> + categorySearchDropdown.init() diff --git a/app/views/layouts/_search.html.haml b/app/views/layouts/_search.html.haml index 6b208c3d0bb4..2f4092d1d507 100644 --- a/app/views/layouts/_search.html.haml +++ b/app/views/layouts/_search.html.haml @@ -21,6 +21,21 @@ %a.is-focused.dropdown-menu-empty-link Loading... = dropdown_loading + - if current_user.id + .dropdown-menu.hidden + .category-search-dropdown.dropdown-page-two + %ul + %li.dropdown-header + %span Go to + %li + = link_to 'Issues Assigned to me', issues_dashboard_url(assignee_id: current_user.id) + %li + = link_to "Issues I've created", issues_dashboard_url(author_id: current_user.id) + %li.divider + %li + = link_to 'Merge Requests Assigned to me', merge_requests_dashboard_url(assignee_id: current_user.id) + %li + = link_to "Merge Requests I've created", merge_requests_dashboard_url(author_id: current_user.id) %i.search-icon %i.clear-icon.js-clear-input -- GitLab From d9b25f7c9843c082118ff48a8d111623b78231c7 Mon Sep 17 00:00:00 2001 From: Arinde Eniola Date: Thu, 21 Apr 2016 23:42:12 +0100 Subject: [PATCH 02/18] move the category search dropdown into another folder --- .../category_search_dropdown.js.coffee | 8 ------- app/views/layouts/_search.html.haml | 13 +----------- .../search/_header_category_search.html.haml | 21 +++++++++++++++++++ 3 files changed, 22 insertions(+), 20 deletions(-) create mode 100644 app/views/search/_header_category_search.html.haml diff --git a/app/assets/javascripts/category_search_dropdown.js.coffee b/app/assets/javascripts/category_search_dropdown.js.coffee index 56052f6f8844..d44fa7f9c447 100644 --- a/app/assets/javascripts/category_search_dropdown.js.coffee +++ b/app/assets/javascripts/category_search_dropdown.js.coffee @@ -5,24 +5,16 @@ $dropDown = $categorySearchDropdown.closest('.dropdown') $categorySearchParent = $categorySearchDropdown.parent() - $categorySearchDropdown.on 'click', 'li', (e) -> e.stopPropagation() - $searchInput.on 'focusin click', (e) -> - e.stopPropagation() if $(event.currentTarget).has('#search') and not $dropDown.hasClass('has-value') $categorySearchParent.removeClass('hidden') $categorySearchParent.siblings('.dropdown-select').addClass('hidden') $dropDown.addClass('open') $searchInput.on 'keypress', (e) -> - e.stopPropagation() if $(event.currentTarget).has('#search') $categorySearchParent.addClass('hidden') $categorySearchParent.siblings('.dropdown-select').removeClass('hidden') - $searchInput.on 'focusout', (e) -> - e.stopPropagation() - $categorySearchParent.addClass('hidden') - $ -> categorySearchDropdown.init() diff --git a/app/views/layouts/_search.html.haml b/app/views/layouts/_search.html.haml index 2f4092d1d507..4c6a567ed710 100644 --- a/app/views/layouts/_search.html.haml +++ b/app/views/layouts/_search.html.haml @@ -24,18 +24,7 @@ - if current_user.id .dropdown-menu.hidden .category-search-dropdown.dropdown-page-two - %ul - %li.dropdown-header - %span Go to - %li - = link_to 'Issues Assigned to me', issues_dashboard_url(assignee_id: current_user.id) - %li - = link_to "Issues I've created", issues_dashboard_url(author_id: current_user.id) - %li.divider - %li - = link_to 'Merge Requests Assigned to me', merge_requests_dashboard_url(assignee_id: current_user.id) - %li - = link_to "Merge Requests I've created", merge_requests_dashboard_url(author_id: current_user.id) + = render "search/header_category_search", label: label, project: @project %i.search-icon %i.clear-icon.js-clear-input diff --git a/app/views/search/_header_category_search.html.haml b/app/views/search/_header_category_search.html.haml new file mode 100644 index 000000000000..75f2fd274d28 --- /dev/null +++ b/app/views/search/_header_category_search.html.haml @@ -0,0 +1,21 @@ +- if @project + %ul.project-category-search + %li.dropdown-header + %span Go to + %li + = link_to 'Issues Assigned to me', namespace_project_issues_path(@project.namespace, @project,assignee_id: current_user.id) + %li + = link_to "Issues I've created", namespace_project_issues_path(@project.namespace, @project,author_id: current_user.id) + +%ul.general-category-search{ class: ("hidden" if label.present? && @project) } + %li.dropdown-header + %span Go to + %li + = link_to 'Issues Assigned to me', issues_dashboard_url(assignee_id: current_user.id) + %li + = link_to "Issues I've created", issues_dashboard_url(author_id: current_user.id) + %li.divider + %li + = link_to 'Merge Requests Assigned to me', merge_requests_dashboard_url(assignee_id: current_user.id) + %li + = link_to "Merge Requests I've created", merge_requests_dashboard_url(author_id: current_user.id) \ No newline at end of file -- GitLab From 68bb6247bfe7c54c518df423142cf9ba5d4e4cf5 Mon Sep 17 00:00:00 2001 From: Arinde Eniola Date: Fri, 22 Apr 2016 00:32:59 +0100 Subject: [PATCH 03/18] refactor the code and also add some UI changes --- .../javascripts/category_search_dropdown.js.coffee | 8 ++++++++ app/assets/javascripts/search_autocomplete.js.coffee | 3 ++- app/views/search/_header_category_search.html.haml | 11 +++++++++-- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/app/assets/javascripts/category_search_dropdown.js.coffee b/app/assets/javascripts/category_search_dropdown.js.coffee index d44fa7f9c447..f0319dd03cd6 100644 --- a/app/assets/javascripts/category_search_dropdown.js.coffee +++ b/app/assets/javascripts/category_search_dropdown.js.coffee @@ -16,5 +16,13 @@ $categorySearchParent.addClass('hidden') $categorySearchParent.siblings('.dropdown-select').removeClass('hidden') + $searchInput.on 'locationBadgeRemoved locationBadgeAdded', (e) -> + if e.type is 'locationBadgeAdded' + $categorySearchDropdown.find('.project-category-search').removeClass('hidden') + $categorySearchDropdown.find('.general-category-search').addClass('hidden') + else if e.type is 'locationBadgeRemoved' + $categorySearchDropdown.find('.project-category-search').addClass('hidden') + $categorySearchDropdown.find('.general-category-search').removeClass('hidden') + $ -> categorySearchDropdown.init() diff --git a/app/assets/javascripts/search_autocomplete.js.coffee b/app/assets/javascripts/search_autocomplete.js.coffee index 6a7b4ad1db7f..af4e8f30dc81 100644 --- a/app/assets/javascripts/search_autocomplete.js.coffee +++ b/app/assets/javascripts/search_autocomplete.js.coffee @@ -225,6 +225,7 @@ class @SearchAutocomplete #{category}#{value} " @locationBadgeEl.html(html) + @searchInput.trigger('locationBadgeAdded') @wrap.addClass('has-location-badge') restoreOriginalState: -> @@ -261,7 +262,7 @@ class @SearchAutocomplete # Reset state @resetSearchState() - + @searchInput.trigger('locationBadgeRemoved') @wrap.removeClass('has-location-badge') disableAutocomplete: -> diff --git a/app/views/search/_header_category_search.html.haml b/app/views/search/_header_category_search.html.haml index 75f2fd274d28..ebb7f5f19bd8 100644 --- a/app/views/search/_header_category_search.html.haml +++ b/app/views/search/_header_category_search.html.haml @@ -1,15 +1,22 @@ - if @project %ul.project-category-search %li.dropdown-header - %span Go to + %span + Go to in + = @project.name %li = link_to 'Issues Assigned to me', namespace_project_issues_path(@project.namespace, @project,assignee_id: current_user.id) %li = link_to "Issues I've created", namespace_project_issues_path(@project.namespace, @project,author_id: current_user.id) + %li.divider + %li + = link_to 'Merge Requests Assigned to me', namespace_project_merge_requests_path(@project.namespace, @project,assignee_id: current_user.id) + %li + = link_to "Merge Requests I've created", namespace_project_merge_requests_path(@project.namespace, @project,author_id: current_user.id) %ul.general-category-search{ class: ("hidden" if label.present? && @project) } %li.dropdown-header - %span Go to + %span Go to in general %li = link_to 'Issues Assigned to me', issues_dashboard_url(assignee_id: current_user.id) %li -- GitLab From 90a3a3d8a80b5c2c1d8dfb3c44b0e0e10ae63384 Mon Sep 17 00:00:00 2001 From: Arinde Eniola Date: Fri, 22 Apr 2016 14:25:40 +0100 Subject: [PATCH 04/18] add tests for the category header dropdown --- app/views/layouts/_search.html.haml | 4 +- .../search/_header_category_search.html.haml | 56 +++---- spec/features/search_spec.rb | 146 ++++++++++++++---- 3 files changed, 150 insertions(+), 56 deletions(-) diff --git a/app/views/layouts/_search.html.haml b/app/views/layouts/_search.html.haml index 4c6a567ed710..9f7aab12b4d9 100644 --- a/app/views/layouts/_search.html.haml +++ b/app/views/layouts/_search.html.haml @@ -22,9 +22,7 @@ Loading... = dropdown_loading - if current_user.id - .dropdown-menu.hidden - .category-search-dropdown.dropdown-page-two - = render "search/header_category_search", label: label, project: @project + = render "search/header_category_search", label: label, project: @project %i.search-icon %i.clear-icon.js-clear-input diff --git a/app/views/search/_header_category_search.html.haml b/app/views/search/_header_category_search.html.haml index ebb7f5f19bd8..b8682de06346 100644 --- a/app/views/search/_header_category_search.html.haml +++ b/app/views/search/_header_category_search.html.haml @@ -1,28 +1,30 @@ -- if @project - %ul.project-category-search - %li.dropdown-header - %span - Go to in - = @project.name - %li - = link_to 'Issues Assigned to me', namespace_project_issues_path(@project.namespace, @project,assignee_id: current_user.id) - %li - = link_to "Issues I've created", namespace_project_issues_path(@project.namespace, @project,author_id: current_user.id) - %li.divider - %li - = link_to 'Merge Requests Assigned to me', namespace_project_merge_requests_path(@project.namespace, @project,assignee_id: current_user.id) - %li - = link_to "Merge Requests I've created", namespace_project_merge_requests_path(@project.namespace, @project,author_id: current_user.id) +.dropdown-menu.hidden.category-search + .category-search-dropdown + - if @project + %ul.project-category-search + %li.dropdown-header + %span + Go to in + = @project.name + %li + = link_to 'Issues Assigned to me', namespace_project_issues_path(@project.namespace, @project,assignee_id: current_user.id) + %li + = link_to "Issues I've created", namespace_project_issues_path(@project.namespace, @project,author_id: current_user.id) + %li.divider + %li + = link_to 'Merge Requests Assigned to me', namespace_project_merge_requests_path(@project.namespace, @project,assignee_id: current_user.id) + %li + = link_to "Merge Requests I've created", namespace_project_merge_requests_path(@project.namespace, @project,author_id: current_user.id) -%ul.general-category-search{ class: ("hidden" if label.present? && @project) } - %li.dropdown-header - %span Go to in general - %li - = link_to 'Issues Assigned to me', issues_dashboard_url(assignee_id: current_user.id) - %li - = link_to "Issues I've created", issues_dashboard_url(author_id: current_user.id) - %li.divider - %li - = link_to 'Merge Requests Assigned to me', merge_requests_dashboard_url(assignee_id: current_user.id) - %li - = link_to "Merge Requests I've created", merge_requests_dashboard_url(author_id: current_user.id) \ No newline at end of file + %ul.general-category-search{ class: ("hidden" if label.present? && @project) } + %li.dropdown-header + %span Go to in general + %li + = link_to 'Issues Assigned to me', issues_dashboard_url(assignee_id: current_user.id) + %li + = link_to "Issues I've created", issues_dashboard_url(author_id: current_user.id) + %li.divider + %li + = link_to 'Merge Requests Assigned to me', merge_requests_dashboard_url(assignee_id: current_user.id) + %li + = link_to "Merge Requests I've created", merge_requests_dashboard_url(author_id: current_user.id) diff --git a/spec/features/search_spec.rb b/spec/features/search_spec.rb index 029a11ea43ce..4075c2a200ba 100644 --- a/spec/features/search_spec.rb +++ b/spec/features/search_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -describe "Search", feature: true do +describe 'Search', feature: true do let(:user) { create(:user) } let(:project) { create(:project, namespace: user.namespace) } @@ -10,41 +10,135 @@ visit search_path end - it 'top right search form is not present' do - expect(page).not_to have_selector('.search') - end + describe 'Search Page', feature: true do + + before do + visit search_path + end + + it 'top right search form is not present' do + expect(page).not_to have_selector('.search') + end - describe 'searching for Projects' do - it 'finds a project' do - page.within '.search-holder' do - fill_in "search", with: project.name[0..3] - click_button "Search" + describe 'searching for Projects' do + it 'finds a project' do + page.within '.search-holder' do + fill_in "search", with: project.name[0..3] + click_button "Search" + end + + expect(page).to have_content project.name end + end + + context 'search for comments' do + it 'finds a snippet' do + snippet = create(:project_snippet, :private, project: project, author: user, title: 'Some title') + note = create(:note, + noteable: snippet, + author: user, + note: 'Supercalifragilisticexpialidocious', + project: project) + # Must visit project dashboard since global search won't search + # everything (e.g. comments, snippets, etc.) + visit namespace_project_path(project.namespace, project) + + page.within '.search' do + fill_in 'search', with: note.note + click_button 'Go' + end - expect(page).to have_content project.name + click_link 'Comments' + + expect(page).to have_link(snippet.title) + end end end - context 'search for comments' do - it 'finds a snippet' do - snippet = create(:project_snippet, :private, project: project, author: user, title: 'Some title') - note = create(:note, - noteable: snippet, - author: user, - note: 'Supercalifragilisticexpialidocious', - project: project) - # Must visit project dashboard since global search won't search - # everything (e.g. comments, snippets, etc.) - visit namespace_project_path(project.namespace, project) + describe 'Right header search field', feature: true do + + describe 'Search in project page' do + before do + visit namespace_project_path(project.namespace, project) + end + + it 'top right search form is present' do + expect(page).to have_selector('#search') + end - page.within '.search' do - fill_in 'search', with: note.note - click_button 'Go' + it 'top right search form contains location badge' do + expect(page).to have_selector('.search-location-badge') end - click_link 'Comments' + context 'cliking the search field', js: true do + it 'should show category search dropdown' do + page.find('#search').click + + expect(page).to have_selector('.category-search-dropdown') + expect(page).not_to have_selector('.general-category-search') + end + + it 'should hide the location search dropdown' do + page.find('#search').click - expect(page).to have_link(snippet.title) + expect(page).not_to have_selector('.dropdown-select') + end + end + + context 'click the links in the catgeory search dropdown' do + + before do + page.find('#search').click + end + + it 'should take user to her issues page when issues assigned is clicked' do + find('.project-category-search').click_link 'Issues Assigned to me' + sleep 2 + + expect(page).to have_selector('.issues-holder') + expect(find('.js-assignee-search .dropdown-toggle-text')).to have_content(user.name) + end + + it 'should take user to her issues page when issues authored is clicked' do + find('.project-category-search').click_link "Issues I've created" + sleep 2 + + expect(page).to have_selector('.issues-holder') + expect(find('.js-author-search .dropdown-toggle-text')).to have_content(user.name) + end + + it 'should take user to her MR page when MR assigned is clicked' do + find('.project-category-search').click_link "Merge Requests Assigned to me" + sleep 2 + + expect(page).to have_selector('.merge-requests-holder') + expect(find('.js-assignee-search .dropdown-toggle-text')).to have_content(user.name) + end + + it 'should take user to her MR page when MR authored is clicked' do + find('.project-category-search').click_link "Merge Requests I've created" + sleep 2 + + expect(page).to have_selector('.merge-requests-holder') + expect(find('.js-author-search .dropdown-toggle-text')).to have_content(user.name) + end + end + + context 'inputing text into the search field', js: true do + before do + page.within '.search-input-wrap' do + fill_in "search", with: project.name[0..3] + end + end + + it 'should hide the category search dropdown' do + expect(page).not_to have_selector('.category-search-dropdown') + end + + it 'should show the location search dropdown' do + expect(page).to have_selector('.dropdown-select') + end + end end end end -- GitLab From f8debb190e943894e899c29f4a4e4aea33e97510 Mon Sep 17 00:00:00 2001 From: Arinde Eniola Date: Wed, 27 Apr 2016 12:11:58 +0100 Subject: [PATCH 05/18] change the category search dropdown implementation to work with the documented dropdown --- .../category_search_dropdown.js.coffee | 82 +++++++++++++------ .../javascripts/search_autocomplete.js.coffee | 1 + app/views/layouts/_search.html.haml | 6 +- .../search/_header_category_search.html.haml | 30 ------- 4 files changed, 61 insertions(+), 58 deletions(-) delete mode 100644 app/views/search/_header_category_search.html.haml diff --git a/app/assets/javascripts/category_search_dropdown.js.coffee b/app/assets/javascripts/category_search_dropdown.js.coffee index f0319dd03cd6..0165aeeb07cb 100644 --- a/app/assets/javascripts/category_search_dropdown.js.coffee +++ b/app/assets/javascripts/category_search_dropdown.js.coffee @@ -1,28 +1,58 @@ -@categorySearchDropdown = - init: -> - $categorySearchDropdown = $('.category-search-dropdown') - $searchInput = $('#search') - $dropDown = $categorySearchDropdown.closest('.dropdown') - $categorySearchParent = $categorySearchDropdown.parent() - - $searchInput.on 'focusin click', (e) -> - if $(event.currentTarget).has('#search') and not $dropDown.hasClass('has-value') - $categorySearchParent.removeClass('hidden') - $categorySearchParent.siblings('.dropdown-select').addClass('hidden') - $dropDown.addClass('open') - - $searchInput.on 'keypress', (e) -> - if $(event.currentTarget).has('#search') - $categorySearchParent.addClass('hidden') - $categorySearchParent.siblings('.dropdown-select').removeClass('hidden') - - $searchInput.on 'locationBadgeRemoved locationBadgeAdded', (e) -> - if e.type is 'locationBadgeAdded' - $categorySearchDropdown.find('.project-category-search').removeClass('hidden') - $categorySearchDropdown.find('.general-category-search').addClass('hidden') - else if e.type is 'locationBadgeRemoved' - $categorySearchDropdown.find('.project-category-search').addClass('hidden') - $categorySearchDropdown.find('.general-category-search').removeClass('hidden') +class CategorySearchDropdown + + constructor: -> + @search = $('.search') + @searchInput = @search.find('#search') + @dropDown = @search.find('.dropdown') + @dropdownContent = @dropDown.find('.dropdown-content') + + @searchInput.on 'focusin click', (e) => + if gon.current_user_id + @showCategoryDropDown() + + @searchInput.on 'keypress', (e) => + if $(e.currentTarget).has('#search') and not $(e.currentTarget).val() + @restoreMenu() + + @searchInput.on 'locationBadgeRemoved locationBadgeAdded', (e) => + if e.type is 'locationBadgeRemoved' + @search.removeClass('has-location-badge') + @showCategoryDropDown() + + showCategoryDropDown: -> + $currentProjectOpts = @search.find('.current-project-opts') + $generalOpts = @search.find('.dashboard-opts') + userId = gon.current_user_id + issueUrl = mrUrl = projectName = undefined + + if $currentProjectOpts.length and @search.hasClass('has-location-badge') + issueUrl = $currentProjectOpts.data('user-issues-path') + mrUrl = $currentProjectOpts.data('user-mr-path') + projectName = $currentProjectOpts.data('project-name') + else if $generalOpts.length + issueUrl = $generalOpts.data('user-issues-path') + mrUrl = $generalOpts.data('user-mr-path') + projectName = 'Dashboard' + + html = @categorySearchDropdownTemplate(issueUrl, mrUrl, projectName, userId) + @dropdownContent.html(html) + @dropDown.addClass('open') + + restoreMenu: -> + html = "" + @dropdownContent.html(html) + + categorySearchDropdownTemplate: (issueUrl, mrUrl, name, userId) -> + "" $ -> - categorySearchDropdown.init() + new CategorySearchDropdown() diff --git a/app/assets/javascripts/search_autocomplete.js.coffee b/app/assets/javascripts/search_autocomplete.js.coffee index af4e8f30dc81..b2173cc2beeb 100644 --- a/app/assets/javascripts/search_autocomplete.js.coffee +++ b/app/assets/javascripts/search_autocomplete.js.coffee @@ -263,6 +263,7 @@ class @SearchAutocomplete # Reset state @resetSearchState() @searchInput.trigger('locationBadgeRemoved') + @wrap.removeClass('has-location-badge') disableAutocomplete: -> diff --git a/app/views/layouts/_search.html.haml b/app/views/layouts/_search.html.haml index 9f7aab12b4d9..d26220e3b23b 100644 --- a/app/views/layouts/_search.html.haml +++ b/app/views/layouts/_search.html.haml @@ -21,8 +21,6 @@ %a.is-focused.dropdown-menu-empty-link Loading... = dropdown_loading - - if current_user.id - = render "search/header_category_search", label: label, project: @project %i.search-icon %i.clear-icon.js-clear-input @@ -41,6 +39,10 @@ - else = hidden_field_tag :search_code, true + .current-project-opts.hide{:'data-user-issues-path' => namespace_project_issues_path(@project.namespace, @project), :'data-user-mr-path' => namespace_project_merge_requests_path(@project.namespace, @project), :'data-project-name' => @project.name} + + .dashboard-opts.hide{:'data-user-issues-path' => issues_dashboard_url, :'data-user-mr-path' => merge_requests_dashboard_url} + - if @snippet || @snippets = hidden_field_tag :snippets, true = hidden_field_tag :repository_ref, @ref diff --git a/app/views/search/_header_category_search.html.haml b/app/views/search/_header_category_search.html.haml deleted file mode 100644 index b8682de06346..000000000000 --- a/app/views/search/_header_category_search.html.haml +++ /dev/null @@ -1,30 +0,0 @@ -.dropdown-menu.hidden.category-search - .category-search-dropdown - - if @project - %ul.project-category-search - %li.dropdown-header - %span - Go to in - = @project.name - %li - = link_to 'Issues Assigned to me', namespace_project_issues_path(@project.namespace, @project,assignee_id: current_user.id) - %li - = link_to "Issues I've created", namespace_project_issues_path(@project.namespace, @project,author_id: current_user.id) - %li.divider - %li - = link_to 'Merge Requests Assigned to me', namespace_project_merge_requests_path(@project.namespace, @project,assignee_id: current_user.id) - %li - = link_to "Merge Requests I've created", namespace_project_merge_requests_path(@project.namespace, @project,author_id: current_user.id) - - %ul.general-category-search{ class: ("hidden" if label.present? && @project) } - %li.dropdown-header - %span Go to in general - %li - = link_to 'Issues Assigned to me', issues_dashboard_url(assignee_id: current_user.id) - %li - = link_to "Issues I've created", issues_dashboard_url(author_id: current_user.id) - %li.divider - %li - = link_to 'Merge Requests Assigned to me', merge_requests_dashboard_url(assignee_id: current_user.id) - %li - = link_to "Merge Requests I've created", merge_requests_dashboard_url(author_id: current_user.id) -- GitLab From 23f1f896909c66e9d3b41a5966ff6bc62172e323 Mon Sep 17 00:00:00 2001 From: Arinde Eniola Date: Wed, 27 Apr 2016 14:05:46 +0100 Subject: [PATCH 06/18] fix failing tests --- .../category_search_dropdown.js.coffee | 2 +- app/assets/javascripts/gl_dropdown.js.coffee | 5 +++- .../javascripts/search_autocomplete.js.coffee | 4 +-- spec/features/search_spec.rb | 27 ++++++------------- 4 files changed, 15 insertions(+), 23 deletions(-) diff --git a/app/assets/javascripts/category_search_dropdown.js.coffee b/app/assets/javascripts/category_search_dropdown.js.coffee index 0165aeeb07cb..00fbcf244528 100644 --- a/app/assets/javascripts/category_search_dropdown.js.coffee +++ b/app/assets/javascripts/category_search_dropdown.js.coffee @@ -45,7 +45,7 @@ class CategorySearchDropdown @dropdownContent.html(html) categorySearchDropdownTemplate: (issueUrl, mrUrl, name, userId) -> - "
    + "