mirror of
https://github.com/meineerde/redmine.git
synced 2025-12-27 10:51:15 +00:00
Adds css classes to get sort order on the issue list (#17993).
git-svn-id: http://svn.redmine.org/redmine/trunk@13425 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
2e9b28906d
commit
8b998ec05b
@ -239,5 +239,17 @@ module SortHelper
|
||||
options[:title] = l(:label_sort_by, "\"#{caption}\"") unless options[:title]
|
||||
content_tag('th', sort_link(column, caption, default_order), options)
|
||||
end
|
||||
|
||||
# Returns the css classes for the current sort order
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# sort_css_classes
|
||||
# # => "sort-by-created-on sort-desc"
|
||||
def sort_css_classes
|
||||
if @sort_criteria.first_key
|
||||
"sort-by-#{@sort_criteria.first_key.to_s.dasherize} sort-#{@sort_criteria.first_asc? ? 'asc' : 'desc'}"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<%= form_tag({}) do -%>
|
||||
<%= hidden_field_tag 'back_url', url_for(params), :id => nil %>
|
||||
<div class="autoscroll">
|
||||
<table class="list issues">
|
||||
<table class="list issues <%= sort_css_classes %>">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="checkbox hide-when-print">
|
||||
|
||||
@ -624,6 +624,7 @@ class IssuesControllerTest < ActionController::TestCase
|
||||
assert_not_nil issues
|
||||
assert !issues.empty?
|
||||
assert_equal issues.sort {|a,b| a.tracker == b.tracker ? b.id <=> a.id : a.tracker <=> b.tracker }.collect(&:id), issues.collect(&:id)
|
||||
assert_select 'table.issues.sort-by-tracker.sort-asc'
|
||||
end
|
||||
|
||||
def test_index_sort_by_field_not_included_in_columns
|
||||
@ -636,6 +637,7 @@ class IssuesControllerTest < ActionController::TestCase
|
||||
assert_response :success
|
||||
assignees = assigns(:issues).collect(&:assigned_to).compact
|
||||
assert_equal assignees.sort, assignees
|
||||
assert_select 'table.issues.sort-by-assigned-to.sort-asc'
|
||||
end
|
||||
|
||||
def test_index_sort_by_assigned_to_desc
|
||||
@ -643,6 +645,7 @@ class IssuesControllerTest < ActionController::TestCase
|
||||
assert_response :success
|
||||
assignees = assigns(:issues).collect(&:assigned_to).compact
|
||||
assert_equal assignees.sort.reverse, assignees
|
||||
assert_select 'table.issues.sort-by-assigned-to.sort-desc'
|
||||
end
|
||||
|
||||
def test_index_group_by_assigned_to
|
||||
|
||||
@ -78,6 +78,28 @@ class SortHelperTest < ActionView::TestCase
|
||||
assert_equal 'attr1,attr2', @session['foo_bar_sort']
|
||||
end
|
||||
|
||||
def test_sort_css_without_params_should_use_default_sort
|
||||
sort_init 'attr1', 'desc'
|
||||
sort_update(['attr1', 'attr2'])
|
||||
|
||||
assert_equal 'sort-by-attr1 sort-desc', sort_css_classes
|
||||
end
|
||||
|
||||
def test_sort_css_should_use_params
|
||||
@sort_param = 'attr2,attr1'
|
||||
sort_init 'attr1', 'desc'
|
||||
sort_update(['attr1', 'attr2'])
|
||||
|
||||
assert_equal 'sort-by-attr2 sort-asc', sort_css_classes
|
||||
end
|
||||
|
||||
def test_sort_css_should_dasherize_sort_name
|
||||
sort_init 'foo_bar'
|
||||
sort_update(['foo_bar'])
|
||||
|
||||
assert_equal 'sort-by-foo-bar sort-asc', sort_css_classes
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def controller_name; 'foo'; end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user