diff options
author | Ezekiel Kigbo <ekigbo@gitlab.com> | 2019-04-05 15:41:28 +0300 |
---|---|---|
committer | Ezekiel Kigbo <ekigbo@gitlab.com> | 2019-05-06 18:41:46 +0300 |
commit | 6daec21a161821816b1eda03b52369d61685fe48 (patch) | |
tree | d2a967ffaf26efac40c95e4482109f632f6b9fa7 /app/helpers/sorting_helper.rb | |
parent | 6bab1f8dde3365007c83f3719758a96589673225 (diff) |
Updated layout for various breakpoints
Updated translations
Adds sort direction dropdown
Allows the project list sorting direction to be changed,
available options can be sorted ascending or descending.
Implements the changes from the UX review.
Diffstat (limited to 'app/helpers/sorting_helper.rb')
-rw-r--r-- | app/helpers/sorting_helper.rb | 58 |
1 files changed, 54 insertions, 4 deletions
diff --git a/app/helpers/sorting_helper.rb b/app/helpers/sorting_helper.rb index 6524ba55a16..bfba12972db 100644 --- a/app/helpers/sorting_helper.rb +++ b/app/helpers/sorting_helper.rb @@ -29,14 +29,13 @@ module SortingHelper } end + # TODO: stars_asc doesnt seem to work def projects_sort_options_hash options = { sort_value_latest_activity => sort_title_latest_activity, - sort_value_name => sort_title_name, - sort_value_oldest_activity => sort_title_oldest_activity, - sort_value_oldest_created => sort_title_oldest_created, sort_value_recently_created => sort_title_recently_created, - sort_value_most_stars => sort_title_most_stars + sort_value_name => sort_title_name, + sort_value_most_stars => sort_title_stars } if current_controller?('admin/projects') @@ -46,6 +45,32 @@ module SortingHelper options end + def projects_sort_option_titles + { + sort_value_latest_activity => sort_title_latest_activity, + sort_value_recently_created => sort_title_recently_created, + sort_value_name => sort_title_name, + sort_value_most_stars => sort_title_stars, + sort_value_oldest_activity => sort_title_latest_activity, + sort_value_oldest_created => sort_title_recently_created, + sort_value_name_desc => sort_title_name, + sort_value_most_stars_asc => sort_title_stars + } + end + + def projects_reverse_sort_options_hash + { + sort_value_latest_activity => sort_value_oldest_activity, + sort_value_recently_created => sort_value_oldest_created, + sort_value_name => sort_value_name_desc, + sort_value_most_stars => sort_value_most_stars_asc, + sort_value_oldest_activity => sort_value_latest_activity, + sort_value_oldest_created => sort_value_recently_created, + sort_value_name_desc => sort_value_name, + sort_value_most_stars_asc => sort_value_most_stars + } + end + def groups_sort_options_hash { sort_value_name => sort_title_name, @@ -192,6 +217,22 @@ module SortingHelper end end + def project_sort_direction_button(sort_value) + link_class = 'btn btn-default has-tooltip reverse-sort-btn qa-reverse-sort' + reverse_sort = projects_reverse_sort_options_hash[sort_value] + + if reverse_sort + reverse_url = filter_projects_path(sort: reverse_sort) + else + reverse_url = '#' + link_class += ' disabled' + end + + link_to(reverse_url, type: 'button', class: link_class, title: 'Sort direction') do + sprite_icon("sort-#{issuable_sort_icon_suffix(sort_value)}", size: 16) + end + end + # Titles. def sort_title_access_level_asc s_('SortOptions|Access level, ascending') @@ -325,6 +366,10 @@ module SortingHelper s_('SortOptions|Most stars') end + def sort_title_stars + s_('SortOptions|Stars') + end + def sort_title_oldest_last_activity s_('SortOptions|Oldest last activity') end @@ -470,6 +515,11 @@ module SortingHelper 'stars_desc' end + # TODO: currently not implemented AFAIK + def sort_value_most_stars_asc + 'stars_asc' + end + def sort_value_oldest_last_activity 'last_activity_on_asc' end |