From ccbbf6b615c2743a60761ed81fdf1a748e389f12 Mon Sep 17 00:00:00 2001 From: Marius BALTEANU Date: Wed, 29 May 2019 21:13:29 +0000 Subject: [PATCH 2/3] Use "icon icon-*" classes for expandable elements --- app/views/issues/_list.html.erb | 2 +- app/views/repositories/_dir_list_content.html.erb | 2 +- app/views/timelog/_list.html.erb | 2 +- app/views/trackers/fields.html.erb | 4 ++-- app/views/workflows/permissions.html.erb | 4 ++-- lib/redmine/helpers/gantt.rb | 2 +- public/javascripts/application.js | 6 ++++++ public/javascripts/gantt.js | 2 ++ public/stylesheets/application.css | 3 +-- 9 files changed, 17 insertions(+), 10 deletions(-) diff --git a/app/views/issues/_list.html.erb b/app/views/issues/_list.html.erb index 0c30626..4a7163f 100644 --- a/app/views/issues/_list.html.erb +++ b/app/views/issues/_list.html.erb @@ -24,7 +24,7 @@ <% reset_cycle %> -   +   <%= group_name %> <%= group_count %> <%= group_totals %> <%= link_to_function("#{l(:button_collapse_all)}/#{l(:button_expand_all)}", "toggleAllRowGroups(this)", :class => 'toggle-all') %> diff --git a/app/views/repositories/_dir_list_content.html.erb b/app/views/repositories/_dir_list_content.html.erb index f78073b..ee68c1b 100644 --- a/app/views/repositories/_dir_list_content.html.erb +++ b/app/views/repositories/_dir_list_content.html.erb @@ -7,7 +7,7 @@ "> <% if entry.is_dir? %> - -   +   <%= group_name %> <% if group_count %> <%= group_count %> diff --git a/app/views/trackers/fields.html.erb b/app/views/trackers/fields.html.erb index 8ba1c3a..a370505 100644 --- a/app/views/trackers/fields.html.erb +++ b/app/views/trackers/fields.html.erb @@ -20,7 +20,7 @@ -   +   <%= l(:field_core_fields) %> @@ -44,7 +44,7 @@ <% if @custom_fields.any? %> -   +   <%= l(:label_custom_field_plural) %> diff --git a/app/views/workflows/permissions.html.erb b/app/views/workflows/permissions.html.erb index 3a47560..0983bb7 100644 --- a/app/views/workflows/permissions.html.erb +++ b/app/views/workflows/permissions.html.erb @@ -55,7 +55,7 @@ -   +   <%= l(:field_core_fields) %> @@ -75,7 +75,7 @@ <% if @custom_fields.any? %> -   +   <%= l(:label_custom_field_plural) %> diff --git a/lib/redmine/helpers/gantt.rb b/lib/redmine/helpers/gantt.rb index bb69a8d..25cedc1 100644 --- a/lib/redmine/helpers/gantt.rb +++ b/lib/redmine/helpers/gantt.rb @@ -742,7 +742,7 @@ module Redmine } end if has_children - content = view.content_tag(:span, nil, :class => :expander) + content + content = view.content_tag(:span, nil, :class => 'icon icon-expended expander') + content tag_options[:class] += ' open' else if params[:indent] diff --git a/public/javascripts/application.js b/public/javascripts/application.js index 7829964..5dfd260 100644 --- a/public/javascripts/application.js +++ b/public/javascripts/application.js @@ -32,6 +32,7 @@ function toggleRowGroup(el) { var tr = $(el).parents('tr').first(); var n = tr.next(); tr.toggleClass('open'); + $(el).toggleClass('icon-expended icon-collapsed'); while (n.length && !n.hasClass('group')) { n.toggle(); n = n.next('tr'); @@ -43,6 +44,7 @@ function collapseAllRowGroups(el) { tbody.children('tr').each(function(index) { if ($(this).hasClass('group')) { $(this).removeClass('open'); + $(this).find('.expander').switchClass('icon-expended', 'icon-collapsed'); } else { $(this).hide(); } @@ -54,6 +56,7 @@ function expandAllRowGroups(el) { tbody.children('tr').each(function(index) { if ($(this).hasClass('group')) { $(this).addClass('open'); + $(this).find('.expander').switchClass('icon-collapsed', 'icon-expended'); } else { $(this).show(); } @@ -477,10 +480,12 @@ function scmEntryClick(id, url) { var el = $('#'+id); if (el.hasClass('open')) { collapseScmEntry(id); + el.find('.expander').switchClass('icon-expended', 'icon-collapsed'); el.addClass('collapsed'); return false; } else if (el.hasClass('loaded')) { expandScmEntry(id); + el.find('.expander').switchClass('icon-collapsed', 'icon-expended'); el.removeClass('collapsed'); return false; } @@ -493,6 +498,7 @@ function scmEntryClick(id, url) { success: function(data) { el.after(data); el.addClass('open').addClass('loaded').removeClass('loading'); + el.find('.expander').switchClass('icon-collapsed', 'icon-expended'); } }); return true; diff --git a/public/javascripts/gantt.js b/public/javascripts/gantt.js index 02a1666..ebaaa2b 100644 --- a/public/javascripts/gantt.js +++ b/public/javascripts/gantt.js @@ -240,10 +240,12 @@ ganttEntryClick = function(e){ var iconChange = null; if(subject.hasClass('open')) iconChange = function(element){ + $(element).find('.expander').switchClass('icon-expended', 'icon-collapsed'); $(element).removeClass('open'); }; else iconChange = function(element){ + $(element).find('.expander').switchClass('icon-collapsed', 'icon-expended'); $(element).addClass('open'); }; iconChange(subject); diff --git a/public/stylesheets/application.css b/public/stylesheets/application.css index 96e783d..1ebab7f 100644 --- a/public/stylesheets/application.css +++ b/public/stylesheets/application.css @@ -288,8 +288,7 @@ tr.entry td.age { text-align: right; } tr.entry.file td.filename a { margin-left: 16px; } tr.entry.file td.filename_no_report a { margin-left: 16px; } -tr span.expander, .gantt_subjects div > span.expander {background: url(../images/arrow_right.png) no-repeat 2px 50%; padding-left: 8px; margin-left: 0; cursor: pointer;} -tr.open span.expander, .gantt_subjects div.open > span.expander {background-image: url(../images/arrow_down.png);} +tr span.expander, .gantt_subjects div > span.expander {background-position: 2px 50%; padding-left: 8px; margin-left: 0; cursor: pointer;} .gantt_subjects div > span.expander {padding-left: 12px;} .gantt_subjects div > span .icon-gravatar {float: none;} -- 2.1.4