From 7cb01394b274b1876fe69a91784eea32a4e88693 Mon Sep 17 00:00:00 2001 From: Marius BALTEANU Date: Sat, 29 Jun 2019 11:38:08 +0000 Subject: [PATCH] Add clear link icon for selected query in sidebar --- app/helpers/queries_helper.rb | 12 ++++++++++-- public/stylesheets/application.css | 4 ++-- test/functional/issues_controller_test.rb | 11 +++++++++++ 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/app/helpers/queries_helper.rb b/app/helpers/queries_helper.rb index e08dd30..6cfa339 100644 --- a/app/helpers/queries_helper.rb +++ b/app/helpers/queries_helper.rb @@ -392,13 +392,21 @@ module QueriesHelper content_tag('ul', queries.collect {|query| css = +'query' - css << ' selected' if query == @query - content_tag('li', link_to(query.name, url_params.merge(:query_id => query), :class => css)) + clear_link = +'' + if query == @query + css << ' selected' + clear_link += link_to_clear_query + end + content_tag('li', link_to(query.name, url_params.merge(:query_id => query), :class => css) + clear_link.html_safe) }.join("\n").html_safe, :class => 'queries' ) + "\n" end + def link_to_clear_query + link_to l(:button_clear), { :set_filter => 1, :sort => '', :project_id => @project }, :class => 'icon-only icon-reload', :title => l(:button_clear) + end + # Renders the list of queries for the sidebar def render_sidebar_queries(klass, project) queries = sidebar_queries(klass, project) diff --git a/public/stylesheets/application.css b/public/stylesheets/application.css index 1dc44f3..0af670f 100644 --- a/public/stylesheets/application.css +++ b/public/stylesheets/application.css @@ -91,6 +91,8 @@ pre, code {font-family: Consolas, Menlo, "Liberation Mono", Courier, monospace;} #sidebar ul li, ul.flat li {list-style-type:none;margin: 0px 2px 0px 0px; padding: 0px 0px 0px 0px;} #sidebar div.wiki ul {margin:inherit; padding-left:40px;} #sidebar div.wiki ul li {list-style-type:inherit;} +#sidebar a.icon-only {opacity: 0.4; margin-left: 5px;} +#sidebar a.icon-only:hover {opacity: 1;} #content { flex-grow: 1; background-color: #fff; margin: 0px; padding: 6px 10px 10px 10px; overflow-x: auto;} html>body #content { min-height: 600px; } @@ -403,8 +405,6 @@ body.controller-issues .query-totals {margin-top:-2.3em;} td.center {text-align:center;} #watchers select {width: 95%; display: block;} -#watchers a.delete {opacity: 0.4; margin-left: 5px;} -#watchers a.delete:hover {opacity: 1;} #watchers img.gravatar {margin: 0 4px 2px 0;} span#watchers_inputs {overflow:auto; display:block;} diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb index 2945e8a..579a70d 100644 --- a/test/functional/issues_controller_test.rb +++ b/test/functional/issues_controller_test.rb @@ -292,6 +292,17 @@ class IssuesControllerTest < Redmine::ControllerTest :query_id => 5 } assert_response :success + + assert_select '#sidebar .queries' do + # assert only query is selected in sidebar + assert_select 'a.query.selected', 1 + # assert link properties + assert_select 'a.query.selected[href=?]', '/projects/ecookbook/issues?query_id=5', :text => "Open issues by priority and tracker" + # assert only one clear link exists + assert_select 'a.icon-reload', 1 + # assert clear link properties + assert_select 'a.icon-reload[title=?][href=?]', 'Clear', '/projects/ecookbook/issues?set_filter=1&sort=', 1 + end end def test_index_with_query_grouped_by_tracker -- 2.1.4