diff options
author | Clement Ho <clemmakesapps@gmail.com> | 2017-08-28 17:24:20 +0000 |
---|---|---|
committer | Clement Ho <clemmakesapps@gmail.com> | 2017-08-28 17:24:20 +0000 |
commit | 1a09c20700a6ec227e5e4fcc6ec47252eb4f1f5e (patch) | |
tree | c0a0d81f564136b74f052d1d7cc466085fdcc360 | |
parent | df677647b80e558aec01ed2ed2130d9bd78930be (diff) | |
parent | 5e0b1442f00817d9f940638e30c08c3f6add0a60 (diff) | |
download | gitlab-ce-1a09c20700a6ec227e5e4fcc6ec47252eb4f1f5e.tar.gz |
Merge branch 'group-mr-search-bar' into 'master'
Add filtered search to group merge requests dashboard
Closes #36703
See merge request !13688
-rw-r--r-- | app/assets/javascripts/dispatcher.js | 4 | ||||
-rw-r--r-- | app/views/groups/merge_requests.html.haml | 6 | ||||
-rw-r--r-- | changelogs/unreleased/group-mr-search-bar.yml | 5 | ||||
-rw-r--r-- | spec/features/groups/merge_requests_spec.rb | 15 |
4 files changed, 27 insertions, 3 deletions
diff --git a/app/assets/javascripts/dispatcher.js b/app/assets/javascripts/dispatcher.js index 2bba7f55de1..b71c449090e 100644 --- a/app/assets/javascripts/dispatcher.js +++ b/app/assets/javascripts/dispatcher.js @@ -184,13 +184,13 @@ import initChangesDropdown from './init_changes_dropdown'; break; case 'dashboard:issues': case 'dashboard:merge_requests': - case 'groups:merge_requests': new ProjectSelect(); initLegacyFilters(); break; case 'groups:issues': + case 'groups:merge_requests': if (filteredSearchEnabled) { - const filteredSearchManager = new gl.FilteredSearchManager('issues'); + const filteredSearchManager = new gl.FilteredSearchManager(page === 'groups:issues' ? 'issues' : 'merge_requests'); filteredSearchManager.setup(); } new ProjectSelect(); diff --git a/app/views/groups/merge_requests.html.haml b/app/views/groups/merge_requests.html.haml index 569eef46e6e..184df6f5406 100644 --- a/app/views/groups/merge_requests.html.haml +++ b/app/views/groups/merge_requests.html.haml @@ -1,5 +1,9 @@ - page_title "Merge Requests" +- content_for :page_specific_javascripts do + = webpack_bundle_tag 'common_vue' + = webpack_bundle_tag 'filtered_search' + - if show_new_nav? && current_user - content_for :breadcrumbs_extra do = render 'shared/new_project_item_select', path: 'merge_requests/new', label: "New merge request", type: :merge_requests @@ -13,7 +17,7 @@ .nav-controls{ class: ("visible-xs" if show_new_nav?) } = render 'shared/new_project_item_select', path: 'merge_requests/new', label: "New merge request", type: :merge_requests - = render 'shared/issuable/filter', type: :merge_requests + = render 'shared/issuable/search_bar', type: :merge_requests .row-content-block.second-block Only merge requests from diff --git a/changelogs/unreleased/group-mr-search-bar.yml b/changelogs/unreleased/group-mr-search-bar.yml new file mode 100644 index 00000000000..0b554a5d7c9 --- /dev/null +++ b/changelogs/unreleased/group-mr-search-bar.yml @@ -0,0 +1,5 @@ +--- +title: Add filtered search to group merge requests dashboard +merge_request: 13688 +author: Hiroyuki Sato +type: changed diff --git a/spec/features/groups/merge_requests_spec.rb b/spec/features/groups/merge_requests_spec.rb index c2241feb9f7..9ba9f5686f7 100644 --- a/spec/features/groups/merge_requests_spec.rb +++ b/spec/features/groups/merge_requests_spec.rb @@ -1,6 +1,8 @@ require 'spec_helper' feature 'Group merge requests page' do + include FilteredSearchHelpers + let(:path) { merge_requests_group_path(group) } let(:issuable) { create(:merge_request, source_project: project, target_project: project, title: 'this is my created issuable') } @@ -33,4 +35,17 @@ feature 'Group merge requests page' do expect(page.find('#state-all span.badge').text).to eq("1") end end + + context 'group filtered search', :js do + let(:access_level) { ProjectFeature::ENABLED } + let(:user) { user_in_group } + let(:user2) { user_outside_group } + + it 'filters by assignee only group users' do + filtered_search.set('assignee:') + + expect(find('#js-dropdown-assignee .filter-dropdown')).to have_content(user.name) + expect(find('#js-dropdown-assignee .filter-dropdown')).not_to have_content(user2.name) + end + end end |