diff options
author | Robert Speicher <robert@gitlab.com> | 2016-10-19 17:39:31 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2016-10-21 17:37:52 +0200 |
commit | 0831657efa2f843cc14c38f8402d4dee1dc8a2a4 (patch) | |
tree | dba6e8750297bdeffb04e753753241bbc8ae5297 | |
parent | 4265ba8441b364a78f3362f2929b35ea94a8642f (diff) | |
download | gitlab-ce-0831657efa2f843cc14c38f8402d4dee1dc8a2a4.tar.gz |
Merge branch '22457-reset-filters-button-should-be-invisible-when-no-filters-are-active' into 'master'
`Reset filters` link should only be visible when filters are active
## Why was this MR needed?
`Reset filters` link is always visible.
Closes #22457
See merge request !6497
-rw-r--r-- | app/helpers/issuables_helper.rb | 4 | ||||
-rw-r--r-- | app/views/shared/issuable/_filter.html.haml | 5 | ||||
-rw-r--r-- | spec/features/issues/reset_filters_spec.rb | 8 |
3 files changed, 15 insertions, 2 deletions
diff --git a/app/helpers/issuables_helper.rb b/app/helpers/issuables_helper.rb index 692fadd505f..03b2db1bc91 100644 --- a/app/helpers/issuables_helper.rb +++ b/app/helpers/issuables_helper.rb @@ -124,6 +124,10 @@ module IssuablesHelper end end + def issuable_filters_present + params[:search] || params[:author_id] || params[:assignee_id] || params[:milestone_title] || params[:label_name] + end + def issuables_count_for_state(issuable_type, state) issuables_finder = public_send("#{issuable_type}_finder") issuables_finder.params[:state] = state diff --git a/app/views/shared/issuable/_filter.html.haml b/app/views/shared/issuable/_filter.html.haml index 8c2036a1cde..ed93857e6d4 100644 --- a/app/views/shared/issuable/_filter.html.haml +++ b/app/views/shared/issuable/_filter.html.haml @@ -29,8 +29,9 @@ .filter-item.inline.labels-filter = render "shared/issuable/label_dropdown", selected: finder.labels.select(:title).uniq, use_id: false, selected_toggle: params[:label_name], data_options: { field_name: "label_name[]" } - .filter-item.inline.reset-filters - %a{href: page_filter_path(without: [:assignee_id, :author_id, :milestone_title, :label_name, :search])} Reset filters + - if issuable_filters_present + .filter-item.inline.reset-filters + %a{href: page_filter_path(without: [:assignee_id, :author_id, :milestone_title, :label_name, :search])} Reset filters .pull-right - if boards_page diff --git a/spec/features/issues/reset_filters_spec.rb b/spec/features/issues/reset_filters_spec.rb index f4d0f13c3d5..c9a3ecf16ea 100644 --- a/spec/features/issues/reset_filters_spec.rb +++ b/spec/features/issues/reset_filters_spec.rb @@ -75,6 +75,14 @@ feature 'Issues filter reset button', feature: true, js: true do end end + context 'when no filters have been applied' do + it 'the reset link should not be visible' do + visit_issues(project) + expect(page).to have_css('.issue', count: 2) + expect(page).not_to have_css '.reset_filters' + end + end + def reset_filters find('.reset-filters').click end |