Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEzekiel Kigbo <ekigbo@gitlab.com>2019-04-05 15:41:28 +0300
committerEzekiel Kigbo <ekigbo@gitlab.com>2019-05-06 18:41:46 +0300
commit6daec21a161821816b1eda03b52369d61685fe48 (patch)
treed2a967ffaf26efac40c95e4482109f632f6b9fa7 /app/helpers/sorting_helper.rb
parent6bab1f8dde3365007c83f3719758a96589673225 (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.rb58
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